respawn work
This commit is contained in:
@@ -299,31 +299,18 @@ public class MobileFSM {
|
|||||||
public static void DetermineAction(Mob mob) {
|
public static void DetermineAction(Mob mob) {
|
||||||
if (mob == null)
|
if (mob == null)
|
||||||
return;
|
return;
|
||||||
if (mob.despawned && mob.getMobBase().getLoadID() == 13171) {
|
if(mob.despawned || !mob.isAlive()) {
|
||||||
//trebuchet spawn handler
|
if (mob.BehaviourType.ordinal() == Enum.MobBehaviourType.GuardMinion.ordinal()) {
|
||||||
CheckForRespawn(mob);
|
if (mob.npcOwner.isAlive() == false || ((Mob) mob.npcOwner).despawned == true) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (mob.despawned && mob.isPlayerGuard) {
|
|
||||||
//override for guards
|
|
||||||
if(mob.BehaviourType.ordinal() == Enum.MobBehaviourType.GuardMinion.ordinal()){
|
|
||||||
if(mob.npcOwner.isAlive() == false || ((Mob)mob.npcOwner).despawned == true){
|
|
||||||
//minions don't respawn while guard captain is dead
|
//minions don't respawn while guard captain is dead
|
||||||
if(mob.isAlive() == false) {
|
if (mob.isAlive() == false) {
|
||||||
mob.deathTime = System.currentTimeMillis();
|
mob.deathTime = System.currentTimeMillis();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CheckForRespawn(mob);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
CheckForRespawn(mob);
|
|
||||||
//check to send mob home for player guards to prevent exploit of dragging guards away and then teleporting
|
|
||||||
CheckToSendMobHome(mob);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!mob.isAlive()) {
|
|
||||||
//no need to continue if mob is dead, check for respawn and move on
|
|
||||||
CheckForRespawn(mob);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
if (mob.playerAgroMap.isEmpty() && mob.isPlayerGuard == false)
|
if (mob.playerAgroMap.isEmpty() && mob.isPlayerGuard == false)
|
||||||
//no players loaded, no need to proceed
|
//no players loaded, no need to proceed
|
||||||
|
|||||||
Reference in New Issue
Block a user