From 2e6952a7e79bb03ac978aee8f6e3cbf80bcd1799 Mon Sep 17 00:00:00 2001 From: Eric Frechette Date: Sat, 9 Dec 2017 18:23:52 -0800 Subject: [PATCH] Loot symbol is now removed when corpse is fully looted --- src/services/combat/LootService.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/services/combat/LootService.java b/src/services/combat/LootService.java index b7cac8dd9..b118ecafe 100644 --- a/src/services/combat/LootService.java +++ b/src/services/combat/LootService.java @@ -49,6 +49,7 @@ import com.projectswg.common.debug.Log; import com.projectswg.common.network.packets.swg.zone.ClientOpenContainerMessage; import com.projectswg.common.network.packets.swg.zone.PlayClientEffectObjectTransformMessage; import com.projectswg.common.network.packets.swg.zone.PlayMusicMessage; +import com.projectswg.common.network.packets.swg.zone.StopClientEffectObjectByLabelMessage; import intents.chat.ChatCommandIntent; import intents.chat.SystemMessageIntent; @@ -286,8 +287,11 @@ public final class LootService extends Service { object.moveToContainer(null); - if (owner instanceof CreatureObject && container.getContainedObjects().isEmpty()) - new CorpseLootedIntent((CreatureObject) owner).broadcast(); + if (owner instanceof CreatureObject && container.getContainedObjects().isEmpty()) { + CreatureObject corpse = (CreatureObject) owner; + new CorpseLootedIntent(corpse).broadcast(); + player.sendPacket(new StopClientEffectObjectByLabelMessage(corpse.getObjectId(), "lootMe", false)); + } break; } @@ -350,8 +354,11 @@ public final class LootService extends Service { new SystemMessageIntent(player, new ProsePackage("StringId", new StringId("loot_n", "solo_looted"), "TO", itemName)).broadcast(); } - if (container.getContainedObjects().isEmpty()) - new CorpseLootedIntent((CreatureObject) container.getParent()).broadcast(); + if (container.getContainedObjects().isEmpty()) { + CreatureObject corpse = (CreatureObject) container.getParent(); + new CorpseLootedIntent(corpse).broadcast(); + player.sendPacket(new StopClientEffectObjectByLabelMessage(corpse.getObjectId(), "lootMe", false)); + } break; } case CONTAINER_FULL: