aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2013-08-07 11:59:51 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2013-08-07 11:59:51 +0200
commitc0fc0f237f7e85ab3c5cc422fea7a1000fa72b23 (patch)
tree8f9ba881f1e2eb5e58a712afbeb9bb0cb5753e35 /src/server/game/Entities
parent0c96062687475191685d07b014e888ffcfbf5534 (diff)
parent33f8c3ead4da07ff024a94b5e8cf0d05c2ebc23a (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/Battlegrounds/Battleground.cpp src/server/game/Handlers/QuestHandler.cpp src/server/shared/DataStores/DBCFileLoader.h
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp26
-rw-r--r--src/server/game/Entities/Player/Player.cpp19
2 files changed, 16 insertions, 29 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 9aaf45737ce..df0a4055beb 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -17,7 +17,7 @@
*/
#include "GameObjectAI.h"
-#include "BattlegroundAV.h"
+#include "Battleground.h"
#include "CellImpl.h"
#include "CreatureAISelector.h"
#include "DynamicTree.h"
@@ -325,7 +325,7 @@ void GameObject::Update(uint32 diff)
WorldPacket packet;
BuildValuesUpdateBlockForPlayer(&udata, caster->ToPlayer());
udata.BuildPacket(&packet);
- caster->ToPlayer()->GetSession()->SendPacket(&packet);
+ caster->ToPlayer()->SendDirectMessage(&packet);
SendCustomAnim(GetGoAnimProgress());
}
@@ -374,7 +374,7 @@ void GameObject::Update(uint32 diff)
caster->ToPlayer()->RemoveGameObject(this, false);
WorldPacket data(SMSG_FISH_ESCAPED, 0);
- caster->ToPlayer()->GetSession()->SendPacket(&data);
+ caster->ToPlayer()->SendDirectMessage(&data);
}
// can be delete
m_lootState = GO_JUST_DEACTIVATED;
@@ -873,7 +873,9 @@ bool GameObject::IsDynTransport() const
bool GameObject::IsDestructibleBuilding() const
{
GameObjectTemplate const* gInfo = GetGOInfo();
- if (!gInfo) return false;
+ if (!gInfo)
+ return false;
+
return gInfo->type == GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING;
}
@@ -949,12 +951,8 @@ bool GameObject::ActivateToQuest(Player* target) const
{
if (LootTemplates_Gameobject.HaveQuestLootForPlayer(GetGOInfo()->GetLootId(), target))
{
- /// @todo fix this hack
- //look for battlegroundAV for some objects which are only activated after mine gots captured by own team
- if (GetEntry() == BG_AV_OBJECTID_MINE_N || GetEntry() == BG_AV_OBJECTID_MINE_S)
- if (Battleground* bg = target->GetBattleground())
- if (bg->GetTypeID(true) == BATTLEGROUND_AV && !bg->ToBattlegroundAV()->PlayerCanDoMineQuest(GetEntry(), target->GetTeam()))
- return false;
+ if (Battleground const* bg = target->GetBattleground())
+ return bg->CanActivateGO(GetEntry(), target->GetTeam());
return true;
}
break;
@@ -1243,7 +1241,7 @@ void GameObject::Use(Unit* user)
{
WorldPacket data(SMSG_GAMEOBJECT_PAGETEXT, 8);
data << GetGUID();
- player->GetSession()->SendPacket(&data);
+ player->SendDirectMessage(&data);
}
else if (info->goober.gossipID)
{
@@ -1385,7 +1383,7 @@ void GameObject::Use(Unit* user)
SetLootState(GO_JUST_DEACTIVATED);
WorldPacket data(SMSG_FISH_NOT_HOOKED, 0);
- player->GetSession()->SendPacket(&data);
+ player->SendDirectMessage(&data);
break;
}
}
@@ -1648,7 +1646,7 @@ void GameObject::Use(Unit* user)
player->TeleportTo(GetMapId(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation(), TELE_TO_NOT_LEAVE_TRANSPORT | TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET);
WorldPacket data(SMSG_ENABLE_BARBER_SHOP, 0);
- player->GetSession()->SendPacket(&data);
+ player->SendDirectMessage(&data);
player->SetStandState(UNIT_STAND_STATE_SIT_LOW_CHAIR+info->barberChair.chairheight);
return;
@@ -1844,7 +1842,7 @@ void GameObject::ModifyHealth(int32 change, Unit* attackerOrHealer /*= NULL*/, u
data << uint32(-change); // change < 0 triggers SPELL_BUILDING_HEAL combat log event
// change >= 0 triggers SPELL_BUILDING_DAMAGE event
data << uint32(spellId);
- player->GetSession()->SendPacket(&data);
+ player->SendDirectMessage(&data);
}
GameObjectDestructibleState newState = GetDestructibleState();
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index f8390cecbe9..c0b7b889753 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -25,7 +25,6 @@
#include "BattlefieldMgr.h"
#include "BattlefieldWG.h"
#include "Battleground.h"
-#include "BattlegroundAV.h"
#include "BattlegroundMgr.h"
#include "CellImpl.h"
#include "Channel.h"
@@ -9003,22 +9002,12 @@ void Player::SendLoot(uint64 guid, LootType loot_type)
if (go->getLootState() == GO_READY)
{
uint32 lootid = go->GetGOInfo()->GetLootId();
-
- /// @todo fix this big hack
- if ((go->GetEntry() == BG_AV_OBJECTID_MINE_N || go->GetEntry() == BG_AV_OBJECTID_MINE_S))
- {
- if (Battleground* bg = GetBattleground())
+ if (Battleground* bg = GetBattleground())
+ if (!bg->CanActivateGO(go->GetEntry(), GetTeam()))
{
- if (bg->GetTypeID(true) == BATTLEGROUND_AV)
- {
- if (!bg->ToBattlegroundAV()->PlayerCanDoMineQuest(go->GetEntry(), GetTeam()))
- {
- SendLootRelease(guid);
- return;
- }
- }
+ SendLootRelease(guid);
+ return;
}
- }
if (lootid)
{