From 5510ace39a3e3693d40d5d8a8cb9cef196de828b Mon Sep 17 00:00:00 2001 From: Light2 Date: Sun, 13 Apr 2014 00:19:47 +0200 Subject: [PATCH] fixed #411 --- src/resources/objects/tangible/TangibleObject.java | 3 ++- src/services/command/CommandService.java | 11 +++++++++-- src/services/housing/HousingService.java | 6 ------ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/resources/objects/tangible/TangibleObject.java b/src/resources/objects/tangible/TangibleObject.java index f7d120cc..f13faa89 100644 --- a/src/resources/objects/tangible/TangibleObject.java +++ b/src/resources/objects/tangible/TangibleObject.java @@ -375,7 +375,8 @@ public class TangibleObject extends SWGObject { return getPvPBitmask() == 1 || getPvPBitmask() == 2; - } + } else if(attacker.getSlottedObject("ghost") == null) + return true; return getPvPBitmask() == 1 || getPvPBitmask() == 2; } diff --git a/src/services/command/CommandService.java b/src/services/command/CommandService.java index e18b9535..1d55ab34 100644 --- a/src/services/command/CommandService.java +++ b/src/services/command/CommandService.java @@ -76,7 +76,7 @@ public class CommandService implements INetworkDispatch { return false; } - if (command.getCharacterAbility().length() > 0 && !actor.hasAbility(command.getCharacterAbility()) && !command.getCharacterAbility().equals("admin")) { + if (command.getCharacterAbility().length() > 0 && !actor.hasAbility(command.getCharacterAbility()) && !command.getCharacterAbility().equals("admin") && actor.getClient() != null) { return false; } @@ -134,6 +134,10 @@ public class CommandService implements INetworkDispatch { break; case 2: // Self Only + + if(actor.getClient() == null) + break; + if (target == null) { target = actor; } @@ -173,7 +177,10 @@ public class CommandService implements INetworkDispatch { TangibleObject object = (TangibleObject) target; - if (object.isAttackableBy(actor) || actor.getFactionStatus() < ((CreatureObject) object).getFactionStatus() || (!object.getFaction().equals("") && !object.getFaction().equals(actor.getFaction()))) { + if(object instanceof CreatureObject && actor.getFactionStatus() < ((CreatureObject) object).getFactionStatus()) + return false; + + if (object.isAttackableBy(actor) || (!object.getFaction().equals("") && !object.getFaction().equals(actor.getFaction()))) { return false; } diff --git a/src/services/housing/HousingService.java b/src/services/housing/HousingService.java index e375abe0..59d7cf48 100644 --- a/src/services/housing/HousingService.java +++ b/src/services/housing/HousingService.java @@ -739,12 +739,6 @@ public class HousingService implements INetworkDispatch { } - public void addItemToHouseItemList(TangibleObject item, SWGObject container){ - BuildingObject building = (BuildingObject) container.getContainer(); - building.getItemsList().add(item); - } - - public String fetchPrivacyString(TangibleObject object){ final BuildingObject building = (BuildingObject) object.getAttachment("housing_parentstruct"); return building.getPrivacyString();