diff --git a/src/game/Object/Player.cpp b/src/game/Object/Player.cpp index 3f85f579..fa28fe32 100644 --- a/src/game/Object/Player.cpp +++ b/src/game/Object/Player.cpp @@ -7562,6 +7562,12 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type) { creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } permission = OWNER_PERMISSION; + + // Inform Instance Data, may be scripts related to OnSkinning like The Beast in UBRS + if (InstanceData* mapInstance = creature->GetInstanceData()) + { + mapInstance->OnCreatureLooted(creature, LOOT_SKINNING); + } } } // set group rights only for loot_type != LOOT_SKINNING diff --git a/src/game/WorldHandlers/InstanceData.h b/src/game/WorldHandlers/InstanceData.h index 385ca993..7ab8280d 100644 --- a/src/game/WorldHandlers/InstanceData.h +++ b/src/game/WorldHandlers/InstanceData.h @@ -102,6 +102,9 @@ class InstanceData // called on creature despawn virtual void OnCreatureDespawn(Creature* /*creature*/) {} + // called on creature looted + virtual void OnCreatureLooted(Creature* /*creature*/, LootType) {} + // All-purpose data storage 64 bit virtual uint64 GetData64(uint32 /*Data*/) const { return 0; } virtual void SetData64(uint32 /*Data*/, uint64 /*Value*/) { } diff --git a/src/modules/SD3 b/src/modules/SD3 index 6d033197..7cc878bd 160000 --- a/src/modules/SD3 +++ b/src/modules/SD3 @@ -1 +1 @@ -Subproject commit 6d033197a9cc94fa4a34c65b057033b6eb8320b0 +Subproject commit 7cc878bd6307b099715f4fa6ae6054280f299dc2