From f6c03c19aa548f900e938773d4293be03a43b5a3 Mon Sep 17 00:00:00 2001 From: Seefo Date: Thu, 3 Apr 2014 13:42:53 -0400 Subject: [PATCH] Fixed remove skill mod error, some equipment stuff aswell --- .../objects/creature/CreatureObject.java | 2 +- src/services/EquipmentService.java | 24 +++++++++---------- src/services/PlayerService.java | 6 ++--- 3 files changed, 15 insertions(+), 17 deletions(-) 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);