diff options
| author | Jeremy <Golrag@users.noreply.github.com> | 2024-03-28 19:29:22 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-28 19:29:22 +0100 |
| commit | be11f42a16d1fa0482e9572bf54e99e4dedd3c78 (patch) | |
| tree | 3d33413d7ed5cada34d7ced7f430380731160d5b /src/server/game/Entities/GameObject | |
| parent | 78635f640ee3b632a487a50dcf492ae62c2a0933 (diff) | |
Core/Battlegrounds: Move to scripts (#29799)
* Introduce new BattlegroundScript class for map/bg specific scripts
* Remove all sub, zone specific, battleground classes except Arena
* Move all bg zone scripts to new BattlegroundScripts class in script folder
* Remove ZoneScript from Battleground class
* Remove some unused hooks from Battleground
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 48 |
1 files changed, 2 insertions, 46 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index eea97e2c367..cddafd166c0 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -2266,8 +2266,6 @@ bool GameObject::ActivateToQuest(Player const* target) const || LootTemplates_Gameobject.HaveQuestLootForPlayer(GetGOInfo()->chest.chestPersonalLoot, target) || LootTemplates_Gameobject.HaveQuestLootForPlayer(GetGOInfo()->chest.chestPushLoot, target)) { - if (Battleground const* bg = target->GetBattleground()) - return bg->CanActivateGO(GetEntry(), bg->GetPlayerTeam(target->GetGUID())); return true; } break; @@ -2578,10 +2576,6 @@ void GameObject::Use(Unit* user) if (!player) return; - if (Battleground* bg = player->GetBattleground()) - if (!bg->CanActivateGO(GetEntry(), bg->GetPlayerTeam(user->GetGUID()))) - return; - GameObjectTemplate const* info = GetGOInfo(); if (!m_loot && info->GetLootId()) { @@ -3121,24 +3115,11 @@ void GameObject::Use(Unit* user) if (player->CanUseBattlegroundObject(this)) { - // in battleground check - Battleground* bg = player->GetBattleground(); - if (!bg) - return; - if (player->GetVehicle()) return; player->RemoveAurasByType(SPELL_AURA_MOD_STEALTH); player->RemoveAurasByType(SPELL_AURA_MOD_INVISIBILITY); - // BG flag click - // AB: - // 15001 - // 15002 - // 15003 - // 15004 - // 15005 - bg->EventPlayerClickedOnFlag(player, this); return; //we don;t need to delete flag ... it is despawned! } break; @@ -3169,11 +3150,6 @@ void GameObject::Use(Unit* user) if (player->CanUseBattlegroundObject(this)) { - // in battleground check - Battleground* bg = player->GetBattleground(); - if (!bg) - return; - if (player->GetVehicle()) return; @@ -3186,24 +3162,8 @@ void GameObject::Use(Unit* user) // EotS: // 184142 - Netherstorm Flag GameObjectTemplate const* info = GetGOInfo(); - if (info) - { - switch (info->entry) - { - case 179785: // Silverwing Flag - case 179786: // Warsong Flag - if (bg->GetTypeID() == BATTLEGROUND_WS) - bg->EventPlayerClickedOnFlag(player, this); - break; - case 184142: // Netherstorm Flag - if (bg->GetTypeID() == BATTLEGROUND_EY) - bg->EventPlayerClickedOnFlag(player, this); - break; - } - - if (info->flagDrop.eventID) - GameEvents::Trigger(info->flagDrop.eventID, player, this); - } + if (info->flagDrop.eventID) + GameEvents::Trigger(info->flagDrop.eventID, player, this); //this cause to call return, all flags must be deleted here!! spellId = 0; Delete(); @@ -3719,10 +3679,6 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb GameEvents::Trigger(GetGOInfo()->destructibleBuilding.DestroyedEvent, attackerOrHealer, this); AI()->Destroyed(attackerOrHealer, m_goInfo->destructibleBuilding.DestroyedEvent); - if (Player* player = attackerOrHealer ? attackerOrHealer->GetCharmerOrOwnerPlayerOrPlayerItself() : nullptr) - if (Battleground* bg = player->GetBattleground()) - bg->DestroyGate(player, this); - RemoveFlag(GO_FLAG_DAMAGED); SetFlag(GO_FLAG_DESTROYED); |
