Browse Source

mob respawn fix actual

master
FatBoy-DOTC 2 years ago
parent
commit
5299da784a
  1. 38
      src/engine/ai/MobileFSM.java
  2. 2
      src/engine/server/MBServerStatics.java

38
src/engine/ai/MobileFSM.java

@ -453,30 +453,30 @@ public class MobileFSM {
} }
//handles checking for respawn of dead mobs even when no players have mob loaded //handles checking for respawn of dead mobs even when no players have mob loaded
//Despawn Timer with Loot currently in inventory. //Despawn Timer with Loot currently in inventory.
if (aiAgent.getCharItemManager().getInventoryCount() > 0) { if(aiAgent.despawned == false) {
if (System.currentTimeMillis() > aiAgent.deathTime + MBServerStatics.DESPAWN_TIMER_WITH_LOOT) { if (aiAgent.getCharItemManager().getInventoryCount() > 0) {
aiAgent.despawn(); if (System.currentTimeMillis() > aiAgent.deathTime + MBServerStatics.DESPAWN_TIMER_WITH_LOOT) {
return;
}
//No items in inventory.
} else {
//Mob's Loot has been looted.
if (aiAgent.isHasLoot()) {
if (System.currentTimeMillis() > aiAgent.deathTime + MBServerStatics.DESPAWN_TIMER_ONCE_LOOTED) {
aiAgent.despawn(); aiAgent.despawn();
return; aiAgent.deathTime = System.currentTimeMillis();
} }
//Mob never had Loot. //No items in inventory.
} else { } else {
if (System.currentTimeMillis() > aiAgent.deathTime + MBServerStatics.DESPAWN_TIMER) { //Mob's Loot has been looted.
aiAgent.despawn(); if (aiAgent.isHasLoot()) {
return; if (System.currentTimeMillis() > aiAgent.deathTime + MBServerStatics.DESPAWN_TIMER_ONCE_LOOTED) {
aiAgent.despawn();
aiAgent.deathTime = System.currentTimeMillis();
}
//Mob never had Loot.
} else {
if (System.currentTimeMillis() > aiAgent.deathTime + MBServerStatics.DESPAWN_TIMER) {
aiAgent.despawn();
aiAgent.deathTime = System.currentTimeMillis();
}
} }
} }
} }else if (System.currentTimeMillis() > aiAgent.deathTime + (aiAgent.spawnTime * 1000)) {
if (System.currentTimeMillis() > aiAgent.deathTime + (aiAgent.spawnTime * 1000)) { aiAgent.respawn();
aiAgent.despawn();
aiAgent.respawn();
} }
} }
public static void CheckForAttack(Mob mob) { public static void CheckForAttack(Mob mob) {

2
src/engine/server/MBServerStatics.java

@ -679,7 +679,7 @@ public class MBServerStatics {
public static final int LEVEL_CON_WHITE = 7; public static final int LEVEL_CON_WHITE = 7;
public static final int RESPAWN_TIMER = 90 * 1000; public static final int RESPAWN_TIMER = 90 * 1000;
public static final int DESPAWN_TIMER = 12 * 1000; public static final int DESPAWN_TIMER = 12 * 1000;
public static final int DESPAWN_TIMER_WITH_LOOT = 90 * 1000; public static final int DESPAWN_TIMER_WITH_LOOT = 60 * 1000;
public static final int DESPAWN_TIMER_ONCE_LOOTED = 5 * 1000; public static final int DESPAWN_TIMER_ONCE_LOOTED = 5 * 1000;
public static final int MAX_COMBAT_HITBOX_RADIUS = 80; public static final int MAX_COMBAT_HITBOX_RADIUS = 80;
public static final int PROC_CHANCE = 5; // %chance to proc public static final int PROC_CHANCE = 5; // %chance to proc

Loading…
Cancel
Save