This reverts commit f580cddc09.

This commit is contained in:
kaelima
2011-06-28 13:05:15 +02:00
parent a5493c14a9
commit 142943d4c1
49 changed files with 83 additions and 6744 deletions
@@ -831,13 +831,6 @@ bool GameObject::IsDynTransport() const
return gInfo->type == GAMEOBJECT_TYPE_MO_TRANSPORT || (gInfo->type == GAMEOBJECT_TYPE_TRANSPORT && !gInfo->transport.pause);
}
bool GameObject::IsDestructibleBuilding() const
{
GameObjectTemplate const* gInfo = GetGOInfo();
if (!gInfo) return false;
return gInfo->type == GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING;
}
Unit* GameObject::GetOwner() const
{
return ObjectAccessor::GetUnit(*this, GetOwnerGUID());
@@ -854,7 +847,7 @@ bool GameObject::isAlwaysVisibleFor(WorldObject const* seer) const
if (WorldObject::isAlwaysVisibleFor(seer))
return true;
if (IsTransport() || IsDestructibleBuilding())
if (IsTransport())
return true;
return false;
@@ -631,7 +631,6 @@ class GameObject : public WorldObject, public GridObject<GameObject>
bool IsTransport() const;
bool IsDynTransport() const;
bool IsDestructibleBuilding() const;
uint32 GetDBTableGUIDLow() const { return m_DBTableGuid; }
+2 -7
View File
@@ -41,7 +41,7 @@
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "SpellAuraEffects.h"
#include "BattlefieldMgr.h"
#include "TemporarySummon.h"
#include "Totem.h"
#include "OutdoorPvPMgr.h"
@@ -2210,12 +2210,7 @@ void WorldObject::SetZoneScript()
if (map->IsDungeon())
m_zoneScript = (ZoneScript*)((InstanceMap*)map)->GetInstanceScript();
else if (!map->IsBattlegroundOrArena())
{
if (Battlefield* bf = sBattlefieldMgr.GetBattlefieldToZoneId(GetZoneId()))
m_zoneScript = bf;
else
m_zoneScript = sOutdoorPvPMgr->GetZoneScript(GetZoneId());
}
m_zoneScript = sOutdoorPvPMgr->GetZoneScript(GetZoneId());
}
}
+4 -13
View File
@@ -70,7 +70,6 @@
#include "DisableMgr.h"
#include "WeatherMgr.h"
#include "LFGMgr.h"
#include "BattlefieldMgr.h"
#include "CharacterDatabaseCleaner.h"
#include "InstanceScript.h"
#include <cmath>
@@ -2406,7 +2405,6 @@ void Player::RemoveFromWorld()
StopCastingBindSight();
UnsummonPetTemporaryIfAny();
sOutdoorPvPMgr->HandlePlayerLeaveZone(this, m_zoneUpdateId);
sBattlefieldMgr.HandlePlayerLeaveZone(this, m_zoneUpdateId);
}
///- Do not add/remove the player from the object storage
@@ -5485,12 +5483,7 @@ void Player::RepopAtGraveyard()
if (Battleground *bg = GetBattleground())
ClosestGrave = bg->GetClosestGraveYard(this);
else
{
if (sBattlefieldMgr.GetBattlefieldToZoneId(GetZoneId()))
ClosestGrave = sBattlefieldMgr.GetBattlefieldToZoneId(GetZoneId())->GetClosestGraveYard(this);
else
ClosestGrave = sObjectMgr->GetClosestGraveYard(GetPositionX(), GetPositionY(), GetPositionZ(), GetMapId(), GetTeam());
}
ClosestGrave = sObjectMgr->GetClosestGraveYard(GetPositionX(), GetPositionY(), GetPositionZ(), GetMapId(), GetTeam());
// stop countdown until repop
m_deathTimer = 0;
@@ -7386,8 +7379,6 @@ void Player::UpdateZone(uint32 newZone, uint32 newArea)
{
sOutdoorPvPMgr->HandlePlayerLeaveZone(this, m_zoneUpdateId);
sOutdoorPvPMgr->HandlePlayerEnterZone(this, newZone);
sBattlefieldMgr.HandlePlayerLeaveZone(this, m_zoneUpdateId);
sBattlefieldMgr.HandlePlayerEnterZone(this, newZone);
SendInitWorldStates(newZone, newArea); // only if really enters to new zone, not just area change, works strange...
}
@@ -7522,7 +7513,7 @@ void Player::CheckDuelDistance(time_t currTime)
bool Player::IsOutdoorPvPActive()
{
return isAlive() && !HasInvisibilityAura() && !HasStealthAura() && IsPvP() && !HasUnitMovementFlag(MOVEMENTFLAG_FLYING) && !isInFlight();
return isAlive() && !HasInvisibilityAura() && !HasStealthAura() && (IsPvP() || sWorld->IsPvPRealm()) && !HasUnitMovementFlag(MOVEMENTFLAG_FLYING) && !isInFlight();
}
void Player::DuelComplete(DuelCompleteType type)
@@ -22556,7 +22547,7 @@ bool Player::isUsingLfg()
return sLFGMgr->GetState(guid) != LFG_STATE_NONE;
}
void Player::SetBattlegroundOrBattlefieldRaid(Group *group, int8 subgroup)
void Player::SetBattlegroundRaid(Group* group, int8 subgroup)
{
//we must move references from m_group to m_originalGroup
SetOriginalGroup(GetGroup(), GetSubGroup());
@@ -22566,7 +22557,7 @@ void Player::SetBattlegroundOrBattlefieldRaid(Group *group, int8 subgroup)
m_group.setSubGroup((uint8)subgroup);
}
void Player::RemoveFromBattlegroundOrBattlefieldRaid()
void Player::RemoveFromBattlegroundRaid()
{
//remove existing reference
m_group.unlink();
+2 -2
View File
@@ -2378,8 +2378,8 @@ class Player : public Unit, public GridObject<Player>
Player* GetNextRandomRaidMember(float radius);
PartyResult CanUninviteFromGroup() const;
// Battleground Group System
void SetBattlegroundOrBattlefieldRaid(Group *group, int8 subgroup = -1);
void RemoveFromBattlegroundOrBattlefieldRaid();
void SetBattlegroundRaid(Group* group, int8 subgroup = -1);
void RemoveFromBattlegroundRaid();
Group * GetOriginalGroup() { return m_originalGroup.getTarget(); }
GroupReference& GetOriginalGroupRef() { return m_originalGroup; }
uint8 GetOriginalSubGroup() const { return m_originalGroup.getSubGroup(); }
+1 -6
View File
@@ -54,7 +54,7 @@
#include "Vehicle.h"
#include "Transport.h"
#include "InstanceScript.h"
#include "BattlefieldMgr.h"
#include <math.h>
float baseMoveSpeed[MAX_MOVE_TYPE] =
@@ -15487,14 +15487,9 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
// outdoor pvp things, do these after setting the death state, else the player activity notify won't work... doh...
// handle player kill only if not suicide (spirit of redemption for example)
if (player && this != victim)
{
if (OutdoorPvP* pvp = player->GetOutdoorPvP())
pvp->HandleKill(player, victim);
if (Battlefield* bf = sBattlefieldMgr.GetBattlefieldToZoneId(player->GetZoneId()))
bf->HandleKill(player, victim);
}
//if (pVictim->GetTypeId() == TYPEID_PLAYER)
// if (OutdoorPvP* pvp = pVictim->ToPlayer()->GetOutdoorPvP())
// pvp->HandlePlayerActivityChangedpVictim->ToPlayer();
+1 -20
View File
@@ -178,13 +178,8 @@ void Vehicle::ApplyAllImmunities()
// Different immunities for vehicles goes below
switch (GetVehicleInfo()->m_ID)
{
case 160: //Isle of conquest turret
case 244: //Wintergrasp turret
case 160:
_me->SetControlled(true, UNIT_STAT_ROOT);
//me->AddUnitMovementFlag(MOVEMENTFLAG_ROOT);
//me->SetSpeed(MOVE_TURN_RATE, 0.7f);
//me->SetSpeed(MOVE_PITCH_RATE, 0.7f);
//me->m_movementInfo.flags2=59;
_me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_DECREASE_SPEED, true);
break;
default:
@@ -469,20 +464,6 @@ void Vehicle::Dismiss()
_me->AddObjectToRemoveList();
}
void Vehicle::TeleportVehicle(float x, float y, float z, float ang)
{
vehiclePlayers.clear();
for(int8 i = 0; i < 8; i++)
if (Unit* player = GetPassenger(i))
vehiclePlayers.insert(player->GetGUID());
RemoveAllPassengers(); // this can unlink Guns from Siege Engines
_me->NearTeleportTo(x, y, z, ang);
for (GuidSet::const_iterator itr = vehiclePlayers.begin(); itr != vehiclePlayers.end(); ++itr)
if(Unit* plr = sObjectAccessor->FindUnit(*itr))
plr->NearTeleportTo(x, y, z, ang);
}
void Vehicle::InitMovementInfoForBase()
{
uint32 vehicleFlags = GetVehicleInfo()->m_flags;
@@ -98,7 +98,6 @@ struct VehicleAccessory
typedef std::vector<VehicleAccessory> VehicleAccessoryList;
typedef std::map<uint32, VehicleAccessoryList> VehicleAccessoryMap;
typedef std::map<int8, VehicleSeat> SeatMap;
typedef std::set<uint64> GuidSet;
class Vehicle
{
@@ -130,7 +129,6 @@ class Vehicle
void RelocatePassengers(float x, float y, float z, float ang);
void RemoveAllPassengers();
void Dismiss();
void TeleportVehicle(float x, float y, float z, float ang);
bool IsVehicleInUse() { return Seats.begin() != Seats.end(); }
SeatMap Seats;
@@ -146,7 +144,6 @@ class Vehicle
Unit* _me;
VehicleEntry const* _vehicleInfo;
GuidSet vehiclePlayers;
uint32 _usableSeatNum; // Number of seats that match VehicleSeatEntry::UsableByPlayer, used for proper display flags
uint32 _creatureEntry; // Can be different than me->GetBase()->GetEntry() in case of players
};