diff --git a/src/services/PlayerService.java b/src/services/PlayerService.java index 8698695f..ec8d7348 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -529,26 +529,32 @@ public class PlayerService implements INetworkDispatch { public void resetLevel(CreatureObject creature) { PlayerObject player = (PlayerObject) creature.getSlottedObject("ghost"); - for (SWGObject equipment : creature.getEquipmentList()) { - if (equipment == null) { - continue; - } - - switch (equipment.getTemplate()) { - case "object/tangible/inventory/shared_character_inventory.iff": - case "object/tangible/inventory/shared_appearance_inventory.iff": - case "object/tangible/datapad/shared_character_datapad.iff": - case "object/tangible/bank/shared_character_bank.iff": - case "object/tangible/mission_bag/shared_mission_bag.iff": - case "object/weapon/creature/shared_creature_default_weapon.iff": { - continue; - } - default: { - // - } - } - - core.equipmentService.unequip(creature, equipment); + try + { + for (SWGObject equipment : creature.getEquipmentList()) { + if (equipment == null) { + continue; + } + + switch (equipment.getTemplate()) { + case "object/tangible/inventory/shared_character_inventory.iff": + case "object/tangible/inventory/shared_appearance_inventory.iff": + case "object/tangible/datapad/shared_character_datapad.iff": + case "object/tangible/bank/shared_character_bank.iff": + case "object/tangible/mission_bag/shared_mission_bag.iff": + case "object/weapon/creature/shared_creature_default_weapon.iff": { + continue; + } + default: { + // + } + } + + core.equipmentService.unequip(creature, equipment); + } + } + catch (Exception e) { + e.printStackTrace(); } //for (SWGObject equipment : creature.getAppearanceEquipmentList()) { @@ -579,7 +585,7 @@ public class PlayerService implements INetworkDispatch { creature.setAction(300); creature.setGrantedHealth(0); - creature.setLevel(((short) 0); + creature.setLevel((short) 0); } /* @@ -599,7 +605,7 @@ public class PlayerService implements INetworkDispatch { experienceTable = ClientFileManager.loadFile("datatables/player/player_level.iff", DatatableVisitor.class); // 1. Grant the experience. - experience = (Integer) experienceTable.getObject(level, 1); + experience = (Integer) experienceTable.getObject((level - 1), 1); String xpType = ((player.getProfession().contains("entertainer")) ? "entertainer" : ((player.getProfession().contains("trader")) ? "crafting" : "combat_general")); @@ -617,7 +623,7 @@ public class PlayerService implements INetworkDispatch { int healthGranted = 0; - for (int i = 1; i <= level; i++) { + for (int i = 0; i < level; i++) { healthGranted += ((Integer) experienceTable.getObject(i, 4)); // 3. Add skills and roadmap items.