aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Object.cpp11
-rw-r--r--src/server/game/Entities/Object/Object.h1
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
3 files changed, 14 insertions, 2 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 3e078ebbbb5..44fdec8c563 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -1089,6 +1089,17 @@ void WorldObject::RemoveFromWorld()
Object::RemoveFromWorld();
}
+bool WorldObject::IsInWorldPvpZone() const
+{
+ switch (GetZoneId())
+ {
+ case AREA_WINTERGRASP: // Wintergrasp
+ return true;
+ default:
+ return false;
+ }
+}
+
InstanceScript* WorldObject::GetInstanceScript() const
{
Map* map = GetMap();
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index d800c4283f9..7b735e5b2c7 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -317,6 +317,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation
uint32 GetZoneId() const { return m_zoneId; }
uint32 GetAreaId() const { return m_areaId; }
void GetZoneAndAreaId(uint32& zoneid, uint32& areaid) const { zoneid = m_zoneId, areaid = m_areaId; }
+ bool IsInWorldPvpZone() const;
bool IsOutdoors() const { return m_outdoors; }
ZLiquidStatus GetLiquidStatus() const { return m_liquidStatus; }
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index d862339c13b..9bb1bf8976b 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -8327,8 +8327,8 @@ bool Player::CheckAmmoCompatibility(ItemTemplate const* ammo_proto) const
Called by remove insignia spell effect */
void Player::RemovedInsignia(Player* looterPlr)
{
- // If player is not in battleground and not in wintergrasp
- if (!GetBattlegroundId() && GetZoneId() != AREA_WINTERGRASP)
+ // If player is not in battleground and not in worldpvpzone
+ if (!GetBattlegroundId() && !IsInWorldPvpZone())
return;
// If not released spirit, do it !