aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorJeremy <Golrag@users.noreply.github.com>2024-03-28 19:29:22 +0100
committerGitHub <noreply@github.com>2024-03-28 19:29:22 +0100
commitbe11f42a16d1fa0482e9572bf54e99e4dedd3c78 (patch)
tree3d33413d7ed5cada34d7ced7f430380731160d5b /src/server/game/Entities/GameObject
parent78635f640ee3b632a487a50dcf492ae62c2a0933 (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.cpp48
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);