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
committerfunjoker <funjoker109@gmail.com>2024-03-28 20:38:55 +0100
commitd0d5d309bb5877dc2fcb27f6cb123707a31ec1e8 (patch)
treef487ecb6ff8fd052357ea582ffa630027dc8bd07 /src/server/game/Entities/GameObject
parentaefa15ece72bccdeb47cbdbdc75df87837c9da00 (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 (cherry picked from commit be11f42a16d1fa0482e9572bf54e99e4dedd3c78)
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 ec3b687283e..a716b233621 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -2264,8 +2264,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;
@@ -2576,10 +2574,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())
{
@@ -3119,24 +3113,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;
@@ -3167,11 +3148,6 @@ void GameObject::Use(Unit* user)
if (player->CanUseBattlegroundObject(this))
{
- // in battleground check
- Battleground* bg = player->GetBattleground();
- if (!bg)
- return;
-
if (player->GetVehicle())
return;
@@ -3184,24 +3160,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();
@@ -3705,10 +3665,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);