zone override
This commit is contained in:
@@ -57,6 +57,21 @@ public class ActivateNPCMsgHandler extends AbstractClientMsgHandler {
|
|||||||
|
|
||||||
if (contract.canSlotinBuilding(building))
|
if (contract.canSlotinBuilding(building))
|
||||||
ItemLists.add(hirelings);
|
ItemLists.add(hirelings);
|
||||||
|
|
||||||
|
if(building.getBlueprint().getBuildingGroup().equals(Enum.BuildingGroup.TOL)){
|
||||||
|
if(contract.getContractID() == 899)//alchemist
|
||||||
|
ItemLists.add(hirelings);
|
||||||
|
|
||||||
|
if(contract.getContractID() == 866)//banker
|
||||||
|
ItemLists.add(hirelings);
|
||||||
|
|
||||||
|
if(contract.getContractID() == 865)//siege engineer
|
||||||
|
ItemLists.add(hirelings);
|
||||||
|
}
|
||||||
|
if(building.getBlueprint().getBuildingGroup().equals(Enum.BuildingGroup.SIEGETENT)){
|
||||||
|
if(contract.getContractID() == 865)//siege engineer
|
||||||
|
ItemLists.add(hirelings);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,13 +93,20 @@ public class ActivateNPCMsgHandler extends AbstractClientMsgHandler {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (building.getBlueprint().getMaxSlots() == building.getHirelings().size())
|
if (building.getBlueprint().getSlotsForRank(building.getRank()) == building.getHirelings().size())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Item contractItem = Item.getFromCache(msg.getContractItem());
|
Item contractItem = Item.getFromCache(msg.getContractItem());
|
||||||
|
|
||||||
if (contractItem == null)
|
if (contractItem == null)
|
||||||
return false;
|
return false;
|
||||||
|
if (msg.getContractItem() == 850) {//runemaster
|
||||||
|
for (AbstractCharacter abs : building.getHirelings().keySet()) {
|
||||||
|
NPC npc = (NPC) abs;
|
||||||
|
if (npc.contract.getContractID() == 850)
|
||||||
|
return false; //can only have 1 runemaster
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!player.getCharItemManager().doesCharOwnThisItem(contractItem.getObjectUUID())) {
|
if (!player.getCharItemManager().doesCharOwnThisItem(contractItem.getObjectUUID())) {
|
||||||
Logger.error(player.getName() + "has attempted to place Hireling : " + contractItem.getName() + "without a valid contract!");
|
Logger.error(player.getName() + "has attempted to place Hireling : " + contractItem.getName() + "without a valid contract!");
|
||||||
@@ -104,10 +126,33 @@ public class ActivateNPCMsgHandler extends AbstractClientMsgHandler {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Check if contract can be slotted in this building
|
// Check if contract can be slotted in this building
|
||||||
|
//Logger.error("inserting contract: " + contract.getContractID());
|
||||||
|
if (contract.canSlotinBuilding(building) == false) {
|
||||||
|
boolean override = false;
|
||||||
|
if (building.getBlueprint().getBuildingGroup().equals(Enum.BuildingGroup.TOL)) {
|
||||||
|
if (contract.getContractID() == 899)//alchemist
|
||||||
|
override = true;
|
||||||
|
|
||||||
if (contract.canSlotinBuilding(building) == false)
|
if (contract.getContractID() == 866)//banker
|
||||||
|
override = true;
|
||||||
|
|
||||||
|
if (contract.getContractID() == 865)//siege engineer
|
||||||
|
override = true;
|
||||||
|
}
|
||||||
|
if (building.getBlueprint().getBuildingGroup().equals(Enum.BuildingGroup.SIEGETENT)) {
|
||||||
|
if (contract.getContractID() == 865)//siege engineer
|
||||||
|
override = true;
|
||||||
|
}
|
||||||
|
if(building.getBlueprint().getBuildingGroup().equals(Enum.BuildingGroup.SIEGETENT)){
|
||||||
|
if(contract.getContractID() == 865)//siege engineer
|
||||||
|
override = true;
|
||||||
|
}
|
||||||
|
if(override == false) {
|
||||||
|
Logger.error("failed at override with contract: " + contract.getContractID());
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Logger.error("override successful: " + contract.getContractID());
|
||||||
if (!BuildingManager.addHireling(building, player, zone, contract, contractItem))
|
if (!BuildingManager.addHireling(building, player, zone, contract, contractItem))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user