mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 19:37:03 +00:00
[12153] Remove unneeded InBattleGround() as it is already checked by GetBattleGround()
Also call OutdoorPvP handlers before instance script ones
This commit is contained in:
parent
a53ac2aca7
commit
c8814791e1
5 changed files with 15 additions and 19 deletions
|
|
@ -752,16 +752,16 @@ bool Creature::Create(uint32 guidlow, CreatureCreatePos& cPos, CreatureInfo cons
|
|||
if (!cPos.Relocate(this))
|
||||
return false;
|
||||
|
||||
// Notify the outdoor pvp script
|
||||
if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(GetZoneId()))
|
||||
outdoorPvP->HandleCreatureCreate(this);
|
||||
|
||||
// Notify the map's instance data.
|
||||
// Only works if you create the object in it, not if it is moves to that map.
|
||||
// Normally non-players do not teleport to other maps.
|
||||
if (InstanceData* iData = GetMap()->GetInstanceData())
|
||||
iData->OnCreatureCreate(this);
|
||||
|
||||
// Notify the outdoor pvp script
|
||||
if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(GetZoneId()))
|
||||
outdoorPvP->HandleCreatureCreate(this);
|
||||
|
||||
switch (GetCreatureInfo()->rank)
|
||||
{
|
||||
case CREATURE_ELITE_RARE:
|
||||
|
|
|
|||
|
|
@ -166,16 +166,16 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
|
|||
if (goinfo->type == GAMEOBJECT_TYPE_CAPTURE_POINT && goinfo->capturePoint.radius)
|
||||
SetCapturePointSlider(sOutdoorPvPMgr.GetCapturePointSliderValue(goinfo->id));
|
||||
|
||||
// Notify the outdoor pvp script
|
||||
if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(GetZoneId()))
|
||||
outdoorPvP->HandleGameObjectCreate(this);
|
||||
|
||||
// Notify the map's instance data.
|
||||
// Only works if you create the object in it, not if it is moves to that map.
|
||||
// Normally non-players do not teleport to other maps.
|
||||
if (InstanceData* iData = map->GetInstanceData())
|
||||
iData->OnObjectCreate(this);
|
||||
|
||||
// Notify the outdoor pvp script
|
||||
if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(GetZoneId()))
|
||||
outdoorPvP->HandleGameObjectCreate(this);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -344,9 +344,8 @@ void GameObject::Update(uint32 update_diff, uint32 p_time)
|
|||
if (IsBattleGroundTrap && ok->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
// BattleGround gameobjects case
|
||||
if (((Player*)ok)->InBattleGround())
|
||||
if (BattleGround* bg = ((Player*)ok)->GetBattleGround())
|
||||
bg->HandleTriggerBuff(GetObjectGuid());
|
||||
if (BattleGround* bg = ((Player*)ok)->GetBattleGround())
|
||||
bg->HandleTriggerBuff(GetObjectGuid());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -735,14 +735,12 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket& recv_data)
|
|||
return;
|
||||
}
|
||||
|
||||
if (pl->InBattleGround())
|
||||
if (BattleGround* bg = pl->GetBattleGround())
|
||||
{
|
||||
if (BattleGround* bg = pl->GetBattleGround())
|
||||
bg->HandleAreaTrigger(pl, Trigger_ID);
|
||||
bg->HandleAreaTrigger(pl, Trigger_ID);
|
||||
return;
|
||||
}
|
||||
|
||||
if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(pl->GetCachedZoneId()))
|
||||
else if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(pl->GetCachedZoneId()))
|
||||
{
|
||||
if (outdoorPvP->HandleAreaTrigger(pl, Trigger_ID))
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -566,8 +566,7 @@ void WorldSession::HandleMoverRelocation(MovementInfo& movementInfo)
|
|||
|
||||
if (movementInfo.GetPos()->z < -500.0f)
|
||||
{
|
||||
if (plMover->InBattleGround()
|
||||
&& plMover->GetBattleGround()
|
||||
if (plMover->GetBattleGround()
|
||||
&& plMover->GetBattleGround()->HandlePlayerUnderMap(_player))
|
||||
{
|
||||
// do nothing, the handle already did if returned true
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "12152"
|
||||
#define REVISION_NR "12153"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue