diff --git a/src/resources/objects/SkillMod.java b/src/resources/objects/SkillMod.java index 4b85560d..1a2fef63 100644 --- a/src/resources/objects/SkillMod.java +++ b/src/resources/objects/SkillMod.java @@ -21,8 +21,6 @@ ******************************************************************************/ package resources.objects; -import java.util.Map; - import org.apache.mina.core.buffer.IoBuffer; import com.sleepycat.persist.model.Persistent; diff --git a/src/services/SkillModService.java b/src/services/SkillModService.java index 4e173d0d..b72dc14e 100644 --- a/src/services/SkillModService.java +++ b/src/services/SkillModService.java @@ -109,6 +109,10 @@ public class SkillModService implements INetworkDispatch { return creature.getSkillModValue(name, divisor); } + public void deductSkillMod(CreatureObject creature, String name, SkillMod skillMod) { + deductSkillMod(creature, name, skillMod.getBase(), skillMod.getModifier()); + } + public void deductSkillMod(CreatureObject creature, String name, int base) { deductSkillMod(creature, name, base, 0); } diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index 3de95fd7..dde507fb 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -452,34 +452,25 @@ public class ObjectService implements INetworkDispatch { // Any such settings can be completely reset with setOptionsBitmask // in scripts and modified with setOptions(Options.X, true/false) if (Template.startsWith("object/creature/") || Template.startsWith("object/mobile/")) { - if (Template.startsWith("object/mobile/")) { - ((CreatureObject) object).setOptionsBitmask(Options.ATTACKABLE); - } if (Template.startsWith("object/mobile/beast_master/")) { ((CreatureObject) object).setOptionsBitmask(Options.NONE); - } - if (Template.startsWith("object/mobile/vendor/")) { + } else if (Template.startsWith("object/mobile/vendor/")) { ((CreatureObject) object).setOptionsBitmask(Options.INVULNERABLE | Options.USABLE); - } - if (Template.startsWith("object/mobile/vehicle/")) { + } else if (Template.startsWith("object/mobile/vehicle/")) { ((CreatureObject) object).setOptionsBitmask(Options.ATTACKABLE | Options.MOUNT); - } - if (Template.startsWith("object/mobile/hologram/")) { + } else if (Template.startsWith("object/mobile/hologram/")) { ((CreatureObject) object).setOptionsBitmask(Options.INVULNERABLE); - } - if (Template.startsWith("object/creature/npc/theme_park/")) { + } else if (Template.startsWith("object/mobile/")) { + ((CreatureObject) object).setOptionsBitmask(Options.ATTACKABLE); + } else if (Template.startsWith("object/creature/npc/theme_park/")) { ((CreatureObject) object).setOptionsBitmask(Options.INVULNERABLE); - } - if (Template.startsWith("object/creature/npc/general/")) { + } else if (Template.startsWith("object/creature/npc/general/")) { ((CreatureObject) object).setOptionsBitmask(Options.INVULNERABLE | Options.CONVERSABLE); - } - if (Template.startsWith("object/creature/droid/crafted/")) { + } else if (Template.startsWith("object/creature/droid/crafted/")) { ((CreatureObject) object).setOptionsBitmask(Options.NONE); - } - if (Template.startsWith("object/creature/droid/")) { + } else if (Template.startsWith("object/creature/droid/")) { ((CreatureObject) object).setOptionsBitmask(Options.ATTACKABLE | Options.INVULNERABLE); - } - if (Template.startsWith("object/creature/player/")) { + } else if (Template.startsWith("object/creature/player/")) { ((CreatureObject) object).setOptionsBitmask(Options.ATTACKABLE); } } else if (object instanceof TangibleObject) {