Changed respec, frogs to remove equipment better

This commit is contained in:
Treeku
2014-09-08 22:43:39 +01:00
parent 95d0ce89e9
commit 34994eeab5
+14 -21
View File
@@ -787,27 +787,24 @@ public class PlayerService implements INetworkDispatch {
public void resetLevel(CreatureObject creature, boolean unequipItems) {
PlayerObject player = (PlayerObject) creature.getSlottedObject("ghost");
SWGObject inventory = creature.getSlottedObject("inventory");
SWGObject appearance = creature.getSlottedObject("appearance_inventory");
if (unequipItems) {
try {
for (Equipment equipmentObject : new ArrayList<Equipment>(creature.getEquipmentList())) {
SWGObject equipment = core.objectService.getObject(equipmentObject.getObjectId());
if (equipment == null || equipment.getTemplate().startsWith("object/tangible/hair/")) {
continue;
String[] slots = { "hat", "earring_r", "earring_l", "eyes", "mouth", "neck", "cloak", "back", "chest1", "chest2", "chest3_r", "chest3_l", "bicep_r", "bicep_l", "bracer_lower_r", "bracer_upper_r", "bracer_lower_l", "bracer_upper_l", "wrist_r", "wrist_l", "gloves", "hold_r", "hold_l", "ring_r", "ring_l", "utility_belt", "pants1", "pants2", "shoes" };
for (String slot : slots) {
if (creature.getSlottedObject(slot) != null) {
core.equipmentService.unequip(creature, creature.getSlottedObject(slot));
}
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:
creature.transferTo(creature, inventory, equipment);
}
slots = { "hat", "earring_r", "earring_l", "eyes", "mouth", "neck", "cloak", "back", "chest1", "chest2", "chest3_r", "chest3_l", "bicep_r", "bicep_l", "bracer_lower_r", "bracer_upper_r", "bracer_lower_l", "bracer_upper_l", "wrist_r", "wrist_l", "gloves", "utility_belt", "pants1", "pants2", "shoes" };
for (String slot : slots) {
if (appearance.getSlottedObject(slot) != null) {
core.equipmentService.unequip(creature, creature.getSlottedObject(slot));
}
}
} catch (Exception e) {
@@ -815,10 +812,6 @@ public class PlayerService implements INetworkDispatch {
}
}
//for (SWGObject equipment : creature.getAppearanceEquipmentList()) {
//core.equipmentService.unequip(creature, equipment);
//}
for (Buff buff : creature.getBuffList().values().toArray(new Buff[] { })) {
if (buff.isRemoveOnRespec()) {
core.buffService.removeBuffFromCreature(creature, buff);