Assign patrol points added as static method to NPC manager

This commit is contained in:
2023-08-27 23:52:40 -05:00
parent 60ca3f9c34
commit e78aea5735
2 changed files with 22 additions and 19 deletions
+21
View File
@@ -403,4 +403,25 @@ public enum NPCManager {
return maxSlots; return maxSlots;
} }
public static void AssignPatrolPoints(Mob mob) {
mob.patrolPoints = new ArrayList<>();
for (int i = 0; i < 5; ++i) {
float patrolRadius = mob.getSpawnRadius();
if (patrolRadius > 256)
patrolRadius = 256;
if (patrolRadius < 60)
patrolRadius = 60;
Vector3fImmutable newPatrolPoint = Vector3fImmutable.getRandomPointInCircle(mob.getBindLoc(), patrolRadius);
mob.patrolPoints.add(newPatrolPoint);
if (i == 1) {
mob.loc = newPatrolPoint;
mob.endLoc = newPatrolPoint;
}
}
}
} }
+1 -19
View File
@@ -1737,25 +1737,7 @@ public class Mob extends AbstractIntelligenceAgent {
if (this.guardCaptain == null && this.isPlayerGuard == false && !isPet() == false && isNecroPet() == false) { if (this.guardCaptain == null && this.isPlayerGuard == false && !isPet() == false && isNecroPet() == false) {
this.patrolPoints = new ArrayList<>(); NPCManager.AssignPatrolPoints(this);
for (int i = 0; i < 5; ++i) {
float patrolRadius = this.getSpawnRadius();
if (patrolRadius > 256)
patrolRadius = 256;
if (patrolRadius < 60)
patrolRadius = 60;
Vector3fImmutable newPatrolPoint = Vector3fImmutable.getRandomPointInCircle(this.getBindLoc(), patrolRadius);
this.patrolPoints.add(newPatrolPoint);
if (i == 1) {
this.loc = newPatrolPoint;
this.endLoc = newPatrolPoint;
}
}
} }
this.deathTime = 0; this.deathTime = 0;