From 9be40b4be60358e602d5efbbee60bf0a6f97f0aa Mon Sep 17 00:00:00 2001 From: Jeremy Date: Mon, 21 Oct 2024 00:31:27 +0200 Subject: Core/GameObject: Cast Pickup spell of GAMEOBJECT_TYPE_FLAGSTAND * and do interact condition checks (cherry picked from commit bef005e34617462fc166260f5002cf79b161db59) --- src/server/game/Entities/GameObject/GameObject.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 622542f991b..55536686232 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -3158,9 +3158,16 @@ void GameObject::Use(Unit* user) if (player->GetVehicle()) return; + if (HasFlag(GO_FLAG_IN_USE)) + return; + + if (!MeetsInteractCondition(player)) + return; + player->RemoveAurasByType(SPELL_AURA_MOD_STEALTH); player->RemoveAurasByType(SPELL_AURA_MOD_INVISIBILITY); - return; //we don;t need to delete flag ... it is despawned! + spellId = GetGOInfo()->flagStand.pickupSpell; + spellCaster = nullptr; } break; } -- cgit v1.2.3