|
|
|
@ -381,8 +381,9 @@ public class MobileFSM {
@@ -381,8 +381,9 @@ public class MobileFSM {
|
|
|
|
|
mob.stopPatrolTime = System.currentTimeMillis(); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
//wait 10 seconds after reaching patrol point before moving again
|
|
|
|
|
if(mob.stopPatrolTime + 10000 > System.currentTimeMillis()){ |
|
|
|
|
//wait between 10 and 15 seconds after reaching patrol point before moving
|
|
|
|
|
int patrolDelay = ThreadLocalRandom.current().nextInt(10000) + 5000; |
|
|
|
|
if(mob.stopPatrolTime + patrolDelay > System.currentTimeMillis()){ |
|
|
|
|
//early exit while waiting to patrol again
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
@ -402,7 +403,7 @@ public class MobileFSM {
@@ -402,7 +403,7 @@ public class MobileFSM {
|
|
|
|
|
} |
|
|
|
|
if (MovementUtilities.canMove(mob)) { |
|
|
|
|
//get the next index of the patrol point from the patrolPoints list
|
|
|
|
|
if (mob.lastPatrolPointIndex > mob.patrolPoints.size()) { |
|
|
|
|
if (mob.lastPatrolPointIndex > mob.patrolPoints.size() - 1) { |
|
|
|
|
mob.lastPatrolPointIndex = 0; |
|
|
|
|
} |
|
|
|
|
MovementUtilities.aiMove(mob, mob.patrolPoints.get(mob.lastPatrolPointIndex), true); |
|
|
|
@ -607,12 +608,14 @@ public class MobileFSM {
@@ -607,12 +608,14 @@ public class MobileFSM {
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (mob.isPet() == false && mob.isSummonedPet() == false && mob.isNecroPet() == false) { |
|
|
|
|
if (mob.BehaviourType != null && mob.BehaviourType == MobBehaviourType.None) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
//if (mob.BehaviourType != null && mob.BehaviourType == MobBehaviourType.None) {
|
|
|
|
|
// return;
|
|
|
|
|
//}
|
|
|
|
|
//TEST CODE FOR BEHAVIOUR CHANGING START
|
|
|
|
|
if(mob.BehaviourType == null || mob.BehaviourType.ordinal() == MobBehaviourType.None.ordinal()){ |
|
|
|
|
mob.BehaviourType = MobBehaviourType.Simple; |
|
|
|
|
} |
|
|
|
|
//TEST CODE FOR BEHAVIOUR CHANGING END
|
|
|
|
|
if (mob.isAlive() == false) { |
|
|
|
|
//no need to continue if mob is dead, check for respawn and move on
|
|
|
|
|
CheckForRespawn(mob); |
|
|
|
|