forked from MagicBane/Server
New method implemented.
This commit is contained in:
@@ -37,7 +37,7 @@ public class OrderNPCMsgHandler extends AbstractClientMsgHandler {
|
|||||||
super(OrderNPCMsg.class);
|
super(OrderNPCMsg.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void processRedeedMob(Mob mob, Building building, ClientConnection origin) {
|
public static void processRedeedHireling(Mob hireling, Building building, ClientConnection origin) {
|
||||||
|
|
||||||
PlayerCharacter player;
|
PlayerCharacter player;
|
||||||
Contract contract;
|
Contract contract;
|
||||||
@@ -48,33 +48,28 @@ public class OrderNPCMsgHandler extends AbstractClientMsgHandler {
|
|||||||
player = SessionManager.getPlayerCharacter(origin);
|
player = SessionManager.getPlayerCharacter(origin);
|
||||||
itemMan = player.getCharItemManager();
|
itemMan = player.getCharItemManager();
|
||||||
|
|
||||||
contract = mob.getContract();
|
contract = hireling.getContract();
|
||||||
|
|
||||||
if (!player.getCharItemManager().hasRoomInventory((short) 1)) {
|
if (!player.getCharItemManager().hasRoomInventory((short) 1)) {
|
||||||
ErrorPopupMsg.sendErrorPopup(player, 21);
|
ErrorPopupMsg.sendErrorPopup(player, 21);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!building.getHirelings().containsKey(mob))
|
if (!building.getHirelings().containsKey(hireling))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!NPCManager.removeMobileFromBuilding(mob, building)) {
|
BuildingManager.removeHireling(building, hireling);
|
||||||
PlaceAssetMsg.sendPlaceAssetError(player.getClientConnection(), 1, "A Serious error has occurred. Please post details for to ensure transaction integrity");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
building.getHirelings().remove(mob);
|
|
||||||
|
|
||||||
itemBase = ItemBase.getItemBase(contract.getContractID());
|
itemBase = ItemBase.getItemBase(contract.getContractID());
|
||||||
|
|
||||||
if (itemBase == null) {
|
if (itemBase == null) {
|
||||||
Logger.error("Could not find Contract for npc: " + mob.getObjectUUID());
|
Logger.error("Could not find Contract for npc: " + hireling.getObjectUUID());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean itemWorked = false;
|
boolean itemWorked = false;
|
||||||
|
|
||||||
item = new Item(itemBase, player.getObjectUUID(), Enum.OwnerType.PlayerCharacter, (byte) ((byte) mob.getRank() - 1), (byte) ((byte) mob.getRank() - 1), (short) 1, (short) 1, true, false, Enum.ItemContainerType.INVENTORY, (byte) 0, new ArrayList<>(), "");
|
item = new Item(itemBase, player.getObjectUUID(), Enum.OwnerType.PlayerCharacter, (byte) ((byte) hireling.getRank() - 1), (byte) ((byte) hireling.getRank() - 1), (short) 1, (short) 1, true, false, Enum.ItemContainerType.INVENTORY, (byte) 0, new ArrayList<>(), "");
|
||||||
item.setNumOfItems(1);
|
item.setNumOfItems(1);
|
||||||
item.containerType = Enum.ItemContainerType.INVENTORY;
|
item.containerType = Enum.ItemContainerType.INVENTORY;
|
||||||
|
|
||||||
@@ -299,7 +294,7 @@ public class OrderNPCMsgHandler extends AbstractClientMsgHandler {
|
|||||||
break;
|
break;
|
||||||
case Mob:
|
case Mob:
|
||||||
Mob mob = (Mob) abstractCharacter;
|
Mob mob = (Mob) abstractCharacter;
|
||||||
processRedeedMob(mob, mob.building, origin);
|
processRedeedHireling(mob, mob.building, origin);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user