|
|
@ -20,6 +20,7 @@ import engine.jobs.DeferredPowerJob; |
|
|
|
import engine.jobs.UpgradeNPCJob; |
|
|
|
import engine.jobs.UpgradeNPCJob; |
|
|
|
import engine.math.Bounds; |
|
|
|
import engine.math.Bounds; |
|
|
|
import engine.math.Vector3fImmutable; |
|
|
|
import engine.math.Vector3fImmutable; |
|
|
|
|
|
|
|
import engine.mobileAI.utilities.MovementUtilities; |
|
|
|
import engine.net.ByteBufferWriter; |
|
|
|
import engine.net.ByteBufferWriter; |
|
|
|
import engine.net.Dispatch; |
|
|
|
import engine.net.Dispatch; |
|
|
|
import engine.net.DispatchMessage; |
|
|
|
import engine.net.DispatchMessage; |
|
|
@ -427,6 +428,7 @@ public class Mob extends AbstractIntelligenceAgent { |
|
|
|
else |
|
|
|
else |
|
|
|
mobile.contractUUID = contract.getContractID(); |
|
|
|
mobile.contractUUID = contract.getContractID(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return mobile; |
|
|
|
return mobile; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1678,6 +1680,16 @@ public class Mob extends AbstractIntelligenceAgent { |
|
|
|
if (this.agentType.equals(AIAgentType.MOBILE)) |
|
|
|
if (this.agentType.equals(AIAgentType.MOBILE)) |
|
|
|
NPCManager.AssignPatrolPoints(this); |
|
|
|
NPCManager.AssignPatrolPoints(this); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.agentType.equals(Enum.AIAgentType.GUARDCAPTAIN)) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Building barracks = this.building; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (barracks != null && barracks.patrolPoints != null && !barracks.getPatrolPoints().isEmpty()) { |
|
|
|
|
|
|
|
this.patrolPoints = barracks.patrolPoints; |
|
|
|
|
|
|
|
MovementUtilities.aiMove(this, this.patrolPoints.get(0), true); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.deathTime = 0; |
|
|
|
this.deathTime = 0; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|