forked from MagicBane/Server
top of the hour disc spawns
This commit is contained in:
@@ -95,7 +95,7 @@ public enum LootManager {
|
|||||||
ItemBase ib = it.getItemBase();
|
ItemBase ib = it.getItemBase();
|
||||||
if(ib == null)
|
if(ib == null)
|
||||||
break;
|
break;
|
||||||
if (ib.isDiscRune() || ib.getName().toLowerCase().contains("of the gods")) {
|
if (ib.getName().toLowerCase().contains("of the gods")) {
|
||||||
ChatSystemMsg chatMsg = new ChatSystemMsg(null, mob.getName() + " in " + mob.getParentZone().getName() + " has found the " + ib.getName() + ". Are you tough enough to take it?");
|
ChatSystemMsg chatMsg = new ChatSystemMsg(null, mob.getName() + " in " + mob.getParentZone().getName() + " has found the " + ib.getName() + ". Are you tough enough to take it?");
|
||||||
chatMsg.setMessageType(10);
|
chatMsg.setMessageType(10);
|
||||||
chatMsg.setChannel(Enum.ChatChannelType.SYSTEM.getChannelID());
|
chatMsg.setChannel(Enum.ChatChannelType.SYSTEM.getChannelID());
|
||||||
@@ -113,6 +113,10 @@ public enum LootManager {
|
|||||||
mob.firstSpawn = false;
|
mob.firstSpawn = false;
|
||||||
mob.despawn();
|
mob.despawn();
|
||||||
}
|
}
|
||||||
|
ChatSystemMsg chatMsg = new ChatSystemMsg(null, mob.getName() + " in " + mob.getParentZone().getName() + " may have found the " + ib.getName() + ". Are you tough enough to take it?");
|
||||||
|
chatMsg.setMessageType(10);
|
||||||
|
chatMsg.setChannel(Enum.ChatChannelType.SYSTEM.getChannelID());
|
||||||
|
DispatchMessage.dispatchMsgToAll(chatMsg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -459,19 +463,26 @@ public enum LootManager {
|
|||||||
if(bse.itemBase == 3049)//disable clanwarden
|
if(bse.itemBase == 3049)//disable clanwarden
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if((bse.itemBase == 3040 || bse.itemBase == 3021) && mob.level < 80){
|
int chance = 25;
|
||||||
mob.discDelay = 1;
|
|
||||||
}
|
if(ItemBase.getItemBase(bse.itemBase).isDiscRune() == false)
|
||||||
|
chance = (int)bse.dropChance;
|
||||||
|
else
|
||||||
|
chance = 25;
|
||||||
|
|
||||||
|
//if((bse.itemBase == 3040 || bse.itemBase == 3021) && mob.level < 80){
|
||||||
|
// chance = 100;
|
||||||
|
//}
|
||||||
|
|
||||||
if(mob.parentZone.getSafeZone() == 1) {
|
if(mob.parentZone.getSafeZone() == 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int chanceRoll = ThreadLocalRandom.current().nextInt(1, 100 + 1);
|
int chanceRoll = ThreadLocalRandom.current().nextInt(1, 99);
|
||||||
|
|
||||||
//early exit, failed to hit minimum chance roll
|
//early exit, failed to hit minimum chance roll
|
||||||
|
|
||||||
if (chanceRoll > bse.dropChance)
|
if (chanceRoll > chance)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MobLoot lootItem = new MobLoot(mob, ItemBase.getItemBase(bse.itemBase), true);
|
MobLoot lootItem = new MobLoot(mob, ItemBase.getItemBase(bse.itemBase), true);
|
||||||
|
|||||||
@@ -257,23 +257,8 @@ public class WorldServer {
|
|||||||
|
|
||||||
if (LocalDateTime.now().isAfter(nextDiscSpawn)) {
|
if (LocalDateTime.now().isAfter(nextDiscSpawn)) {
|
||||||
for(Mob dropper : Mob.disciplineDroppers) {
|
for(Mob dropper : Mob.disciplineDroppers) {
|
||||||
if(dropper.isAlive() == false){
|
if(dropper.isAlive() == false) {
|
||||||
if(dropper.discDelay == 1) {
|
Zone.respawnQue.add(dropper);
|
||||||
if (Zone.respawnQue.contains(dropper) == false) {
|
|
||||||
Zone.respawnQue.add(dropper);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if(dropper.discDelay == 6){
|
|
||||||
switch(LocalDateTime.now().getHour()){
|
|
||||||
case 3:
|
|
||||||
case 9:
|
|
||||||
case 15:
|
|
||||||
case 21:
|
|
||||||
Zone.respawnQue.add(dropper);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else{
|
|
||||||
Logger.error(dropper.getName() + " Disc Delay Not Set As 1 or 6");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nextDiscSpawn = LocalDateTime.now().plusHours(1).withMinute(0).withSecond(0);
|
nextDiscSpawn = LocalDateTime.now().plusHours(1).withMinute(0).withSecond(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user