diff options
Diffstat (limited to 'src/game/Vehicle.cpp')
-rw-r--r-- | src/game/Vehicle.cpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/game/Vehicle.cpp b/src/game/Vehicle.cpp deleted file mode 100644 index 4e1153a166b..00000000000 --- a/src/game/Vehicle.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2005-2008 MaNGOS <http://getmangos.com/> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "Common.h" -#include "Log.h" -#include "WorldSession.h" -#include "WorldPacket.h" -#include "ObjectMgr.h" -#include "SpellMgr.h" -#include "Vehicle.h" -#include "MapManager.h" -#include "SpellAuras.h" -#include "Unit.h" -#include "Util.h" - -Vehicle::Vehicle() : Creature(), m_vehicleId(0) -{ - m_isVehicle = true; - m_updateFlag = (UPDATEFLAG_LOWGUID | UPDATEFLAG_HIGHGUID | UPDATEFLAG_LIVING | UPDATEFLAG_HAS_POSITION | UPDATEFLAG_VEHICLE); -} - -Vehicle::~Vehicle() -{ - if(m_uint32Values) // only for fully created Object - ObjectAccessor::Instance().RemoveObject(this); -} - -void Vehicle::AddToWorld() -{ - ///- Register the vehicle for guid lookup - if(!IsInWorld()) ObjectAccessor::Instance().AddObject(this); - Unit::AddToWorld(); -} - -void Vehicle::RemoveFromWorld() -{ - ///- Remove the vehicle from the accessor - if(IsInWorld()) ObjectAccessor::Instance().RemoveObject(this); - ///- Don't call the function for Creature, normal mobs + totems go in a different storage - Unit::RemoveFromWorld(); -} - -void Vehicle::setDeathState(DeathState s) // overwrite virtual Creature::setDeathState and Unit::setDeathState -{ - Creature::setDeathState(s); -} - -void Vehicle::Update(uint32 diff) -{ - Creature::Update(diff); -} - -bool Vehicle::Create(uint32 guidlow, Map *map, uint32 Entry, uint32 vehicleId, uint32 team) -{ - SetMapId(map->GetId()); - SetInstanceId(map->GetInstanceId()); - - Object::_Create(guidlow, Entry, HIGHGUID_VEHICLE); - - if(!InitEntry(Entry, team)) - return false; - - m_defaultMovementType = IDLE_MOTION_TYPE; - - AIM_Initialize(); - - SetVehicleId(vehicleId); - - SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); - SetFloatValue(UNIT_FIELD_HOVERHEIGHT, 1.0f); - - CreatureInfo const *ci = GetCreatureInfo(); - setFaction(team == ALLIANCE ? ci->faction_A : ci->faction_H); - SetMaxHealth(ci->maxhealth); - SelectLevel(ci); - SetHealth(GetMaxHealth()); - - return true; -} - -void Vehicle::Dismiss() -{ - SendObjectDeSpawnAnim(GetGUID()); - CombatStop(); - CleanupsBeforeDelete(); - AddObjectToRemoveList(); -} |