diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 78ac322c..40f7d8f0 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -605,7 +605,7 @@ public class CreatureObject extends TangibleObject implements IPersistent { public void removeSkillMod(SkillMod mod) { if (mod != null) { - skillMods.remove(mod.getName()); + skillMods.remove(mod); } } diff --git a/src/services/EquipmentService.java b/src/services/EquipmentService.java index 3edd96f7..1f5c9348 100644 --- a/src/services/EquipmentService.java +++ b/src/services/EquipmentService.java @@ -332,21 +332,21 @@ public class EquipmentService implements INetworkDispatch { // Need to refactor below private void addForceProtection(CreatureObject actor, SWGObject item) { - actor.addSkillMod("kinetic", getForceProtection(item)); - actor.addSkillMod("energy", getForceProtection(item)); - actor.addSkillMod("heat", getForceProtection(item)); - actor.addSkillMod("cold", getForceProtection(item)); - actor.addSkillMod("acid", getForceProtection(item)); - actor.addSkillMod("electricity", getForceProtection(item)); + core.skillModService.addSkillMod(actor, "kinetic", getForceProtection(item)); + core.skillModService.addSkillMod(actor, "energy", getForceProtection(item)); + core.skillModService.addSkillMod(actor, "heat", getForceProtection(item)); + core.skillModService.addSkillMod(actor, "cold", getForceProtection(item)); + core.skillModService.addSkillMod(actor, "acid", getForceProtection(item)); + core.skillModService.addSkillMod(actor, "electricity", getForceProtection(item)); } private void deductForceProtection(CreatureObject actor, SWGObject item) { - actor.deductSkillMod("kinetic", getForceProtection(item)); - actor.deductSkillMod("energy", getForceProtection(item)); - actor.deductSkillMod("heat", getForceProtection(item)); - actor.deductSkillMod("cold", getForceProtection(item)); - actor.deductSkillMod("acid", getForceProtection(item)); - actor.deductSkillMod("electricity", getForceProtection(item)); + core.skillModService.deductSkillMod(actor, "kinetic", getForceProtection(item)); + core.skillModService.deductSkillMod(actor, "energy", getForceProtection(item)); + core.skillModService.deductSkillMod(actor, "heat", getForceProtection(item)); + core.skillModService.deductSkillMod(actor, "cold", getForceProtection(item)); + core.skillModService.deductSkillMod(actor, "acid", getForceProtection(item)); + core.skillModService.deductSkillMod(actor, "electricity", getForceProtection(item)); } private int getForceProtection(SWGObject item) { diff --git a/src/services/PlayerService.java b/src/services/PlayerService.java index 074eedf5..9df745c2 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -652,11 +652,9 @@ public class PlayerService implements INetworkDispatch { return; } - resetLevel(creature); + if(level == 0) return; - if (level == 0) { - return; - } + resetLevel(creature); try { experienceTable = ClientFileManager.loadFile("datatables/player/player_level.iff", DatatableVisitor.class);