Browse Source

Refactored isWallArcher().

master
MagicBot 2 years ago
parent
commit
3419c1ceea
  1. 14
      src/engine/gameManager/BuildingManager.java
  2. 2
      src/engine/objects/Mob.java
  3. 24
      src/engine/objects/NPC.java

14
src/engine/gameManager/BuildingManager.java

@ -450,7 +450,7 @@ public enum BuildingManager { @@ -450,7 +450,7 @@ public enum BuildingManager {
}
public static synchronized boolean addHireling(Building building, PlayerCharacter contractOwner, Vector3fImmutable NpcLoc, Zone zone, Contract contractID, Item item) {
public static synchronized boolean addHireling(Building building, PlayerCharacter contractOwner, Vector3fImmutable NpcLoc, Zone zone, Contract contract, Item item) {
int rank = 1;
@ -460,7 +460,7 @@ public enum BuildingManager { @@ -460,7 +460,7 @@ public enum BuildingManager {
if (building.getBlueprint().getMaxSlots() == building.getHirelings().size())
return false;
String pirateName = NPC.getPirateName(contractID.getMobbaseID());
String pirateName = NPC.getPirateName(contract.getMobbaseID());
if (item.getChargesRemaining() > 0)
rank = item.getChargesRemaining() * 10;
@ -469,9 +469,9 @@ public enum BuildingManager { @@ -469,9 +469,9 @@ public enum BuildingManager {
Mob mob;
NPC npc;
if (NPC.ISWallArcher(contractID.getContractID())) {
if (NPC.ISWallArcher(contract)) {
mob = Mob.createMob( contractID.getMobbaseID(), NpcLoc, contractOwner.getGuild(), true, zone, building, contractID.getContractID(), pirateName, rank * 10);
mob = Mob.createMob( contract.getMobbaseID(), NpcLoc, contractOwner.getGuild(), true, zone, building, contract.getContractID(), pirateName, rank * 10);
if (mob == null)
return false;
@ -482,9 +482,9 @@ public enum BuildingManager { @@ -482,9 +482,9 @@ public enum BuildingManager {
MovementManager.translocate(mob,mob.getBindLoc(),mob.getRegion());
return true;
}
if (NPC.ISGuardCaptain(contractID.getContractID())) {
if (NPC.ISGuardCaptain(contract.getContractID())) {
mob = Mob.createMob( contractID.getMobbaseID(), NpcLoc, contractOwner.getGuild(), true, zone, building, contractID.getContractID(), pirateName, rank);
mob = Mob.createMob( contract.getMobbaseID(), NpcLoc, contractOwner.getGuild(), true, zone, building, contract.getContractID(), pirateName, rank);
if (mob == null)
return false;
@ -494,7 +494,7 @@ public enum BuildingManager { @@ -494,7 +494,7 @@ public enum BuildingManager {
mob.setParentZone(zone);
return true;
}
npc = NPC.createNPC( pirateName, contractID.getObjectUUID(), NpcLoc, contractOwner.getGuild(), false, zone, (short) rank, false, building);
npc = NPC.createNPC( pirateName, contract.getObjectUUID(), NpcLoc, contractOwner.getGuild(), false, zone, (short) rank, false, building);
if (npc == null)
return false;

2
src/engine/objects/Mob.java

@ -1903,7 +1903,7 @@ public class Mob extends AbstractIntelligenceAgent { @@ -1903,7 +1903,7 @@ public class Mob extends AbstractIntelligenceAgent {
if (this.BehaviourType == null)
this.BehaviourType = this.getMobBase().fsm;
if (this.isPlayerGuard() && this.contract != null) if (NPC.ISWallArcher(this.getContract().getContractID()))
if (this.isPlayerGuard() && this.contract != null) if (NPC.ISWallArcher(this.getContract()))
this.BehaviourType = MobBehaviourType.GuardWallArcher;
else this.BehaviourType = MobBehaviourType.GuardCaptain;

24
src/engine/objects/NPC.java

@ -289,23 +289,15 @@ public class NPC extends AbstractCharacter { @@ -289,23 +289,15 @@ public class NPC extends AbstractCharacter {
}
public static boolean ISWallArcher(int contractID) {
public static boolean ISWallArcher(Contract contract) {
if (contract == null)
return false;
//838, 950, 1051, 1181, 1251, 1351, 1451, 1501, 1526, 1551, 980101,
switch(contractID) {
case 838:
case 950:
case 1051:
case 1181:
case 1251:
case 1351:
case 1451:
case 150:
case 1526:
case 1551:
case 980101:
return true;
}
return false;
return contract.getAllowedBuildings().contains(BuildingGroup.WALLCORNER) ||
contract.getAllowedBuildings().contains(BuildingGroup.WALLSTRAIGHTTOWER);
}
//This method restarts an upgrade timer when a building is loaded from the database.

Loading…
Cancel
Save