mob respawn fix actual

This commit is contained in:
2023-04-21 15:17:37 -05:00
parent e5b7bd1fa6
commit 5299da784a
2 changed files with 20 additions and 20 deletions
+19 -19
View File
@@ -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) {
+1 -1
View File
@@ -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