Browse Source

Assign patrol points added as static method to NPC manager

combat-2
FatBoy-DOTC 1 year ago
parent
commit
e78aea5735
  1. 21
      src/engine/gameManager/NPCManager.java
  2. 20
      src/engine/objects/Mob.java

21
src/engine/gameManager/NPCManager.java

@ -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;
}
}
}
} }

20
src/engine/objects/Mob.java

@ -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;

Loading…
Cancel
Save