27 for (
uint8 i = 0; i < 2; ++i)
122 if (!catapult->IsAlive())
123 catapult->Respawn(
true);
132 if (!glaiveThrower->IsAlive())
133 glaiveThrower->Respawn(
true);
154 if (siege->IsAlive())
160 siege->SetHealth(siege->GetMaxHealth());
163 siege->Respawn(
true);
171 if (!demolisher->IsAlive())
172 demolisher->Respawn(
true);
189 nodePoint[i].gameobject_entry = nextBanner;
200 AddObject(
nodePoint[i].gameobject_type,
nodePoint[i].gameobject_entry, cords[0], cords[1], cords[2], cords[3], 0, 0, 0, 0,
RESPAWN_ONE_DAY);
260 SF_LOG_ERROR(
"bg.battleground",
"Isle of Conquest | Starting Event Open Doors: There was an error spawning gameobject %u",
BG_IC_Teleporters[i].entry);
378 SF_LOG_ERROR(
"bg.battleground",
"Isle of Conquest: Failed to spawn initial spirit guide!");
387 SF_LOG_ERROR(
"bg.battleground",
"Isle of Conquest: There was an error creating gunships!");
392 for (BattlegroundPlayerMap::const_iterator itr =
GetPlayers().begin(); itr !=
GetPlayers().end(); ++itr)
474 nodePoint[i].gameobject_entry = nextBanner;
516 if (!
AddObject(
nodePoint[i].gameobject_type,
nodePoint[i].gameobject_entry, cords[0], cords[1], cords[2], cords[3], 0, 0, 0, 0,
RESPAWN_ONE_DAY))
518 SF_LOG_ERROR(
"bg.battleground",
"Isle of Conquest: There was an error spawning a banner (type: %u, entry: %u). Isle of Conquest BG cancelled.",
nodePoint[i].gameobject_type,
nodePoint[i].gameobject_entry);
553 for (
uint8 i = 0; i < 4; ++i)
580 SF_LOG_ERROR(
"bg.battleground",
"Isle Of Conquest: Unexpected return in GetNextBanner function");
604 SF_LOG_ERROR(
"bg.battleground",
"Isle of Conquest: Failed to spawn spirit guide! point: %u, team: %u, ",
nodePoint->nodeType,
nodePoint->faction);
653 if (
Vehicle* vehicleGlaive = glaiveThrower->GetVehicleKit())
655 if (!vehicleGlaive->GetPassenger(0))
665 if (
Vehicle* vehicleGlaive = catapult->GetVehicleKit())
667 if (!vehicleGlaive->GetPassenger(0))
715 if (
Vehicle* vehicleDemolisher = demolisher->GetVehicleKit())
718 if (!vehicleDemolisher->IsVehicleInUse())
743 if (
Vehicle* vehicleSiege = siegeEngine->GetVehicleKit())
746 if (!vehicleSiege->IsVehicleInUse())
776 seaforiumBombs->SetRespawnTime(10);
842 std::vector<uint8> nodes;
854 float mindist = 999999.0f;
855 for (
uint8 i = 0; i < nodes.size(); ++i)
860 float dist = (entry->
x - player_x) * (entry->
x - player_x) + (entry->
y - player_y) * (entry->
y - player_y);
882 if (
nodePoint[i].nodeState == controlledState)
@ BG_STARTING_EVENT_THIRD
@ BG_STARTING_EVENT_SECOND
@ BG_STARTING_EVENT_FIRST
@ BG_STARTING_EVENT_FOURTH
const uint32 BG_IC_GraveyardIds[MAX_NODE_TYPES+2]
@ ACTION_TELEPORT_PLAYER_TO_TRANSPORT
@ NPC_HIGH_COMMANDER_HALFORD_WYRMBANE
@ BANNER_STATE_CHANGE_TIME
@ BG_IC_GO_DOODAD_ND_WINTERORC_WALL_GATEFX_DOOR01
@ BG_IC_GO_ALLIANCE_GATE_3
@ BG_IC_GO_DOODAD_PORTCULLISACTIVE02
@ BG_IC_GO_HANGAR_TELEPORTER_3
@ BG_IC_GO_WORKSHOP_BANNER
@ BG_IC_GO_DOODAD_ND_HUMAN_GATE_CLOSEDFX_DOOR01
@ BG_IC_GO_HANGAR_TELEPORTER_1
@ BG_IC_GO_ALLIANCE_GATE_1
@ BG_IC_GO_REFINERY_BANNER
@ BG_IC_GO_SEAFORIUM_BOMBS_1
@ BG_IC_GO_DOODAD_VR_PORTCULLIS01_2
@ BG_IC_GO_SEAFORIUM_BOMBS_2
@ BG_IC_GO_DOODAD_HU_PORTCULLIS01_1
@ BG_IC_GO_HORDE_KEEP_PORTCULLIS
@ BG_IC_GO_DOODAD_VR_PORTCULLIS01_1
@ BG_IC_GO_HUGE_SEAFORIUM_BOMBS_A_1
@ BG_IC_GO_ALLIANCE_GATE_2
@ BG_IC_GO_DOODAD_HU_PORTCULLIS01_2
@ BG_IC_GO_HUGE_SEAFORIUM_BOMBS_H_4
const Position BG_IC_WorkshopVehicles[5]
const Position TeleportToTransportPosition
@ SPELL_BACK_DOOR_JOB_ACHIEVEMENT
@ SPELL_DESTROYED_VEHICLE_ACHIEVEMENT
@ MAX_SPIRIT_GUIDES_SPAWNS
@ MAX_GLAIVE_THROWERS_SPAWNS_PER_FACTION
@ MAX_NORMAL_GAMEOBJECTS_SPAWNS
@ MAX_WORKSHOP_BOMBS_SPAWNS_PER_FACTION
@ MAX_CATAPULTS_SPAWNS_PER_FACTION
@ MAX_DEMOLISHERS_SPAWNS_PER_FACTION
@ MAX_FORTRESS_TELEPORTERS_SPAWNS
@ MAX_FORTRESS_GATES_SPAWNS
@ MAX_HANGAR_TELEPORTERS_SPAWNS
const uint32 BG_IC_Factions[2]
@ BG_IC_HORDE_RENFORT_SET
@ BG_IC_ALLIANCE_RENFORT_SET
#define MAX_REINFORCEMENTS
const float BG_IC_SpiritGuidePos[MAX_NODE_TYPES+2][4]
const Position TransportMovementInfo
const ICGo BG_IC_ObjSpawnlocs[MAX_NORMAL_GAMEOBJECTS_SPAWNS]
const Position BG_IC_HangarTeleporters[3]
const ICNodePoint nodePointInitial[7]
const ICNpc BG_IC_NpcSpawnlocs[MAX_NORMAL_NPCS_SPAWNS]
const Position workshopBombs[2]
@ NODE_STATE_CONTROLLED_A
@ NODE_STATE_CONTROLLED_H
const Position BG_IC_DocksVehiclesGlaives[2]
const Position BG_IC_DocksVehiclesCatapults[4]
@ GO_ALLIANCE_GUNSHIP_PORTAL
@ GO_HORDE_GUNSHIP_PORTAL
@ BG_IC_NPC_GLAIVE_THROWER_1_H
@ BG_IC_NPC_KEEP_CANNON_13
@ BG_IC_NPC_SIEGE_ENGINE_H
@ BG_IC_NPC_DEMOLISHER_1_H
@ BG_IC_NPC_DEMOLISHER_1_A
@ BG_IC_NPC_KEEP_CANNON_25
@ BG_IC_NPC_OVERLORD_AGMAR
@ BG_IC_NPC_SIEGE_ENGINE_A
@ BG_IC_NPC_DEMOLISHER_4_A
@ BG_IC_NPC_KEEP_CANNON_12
@ BG_IC_NPC_KEEP_CANNON_1
@ BG_IC_NPC_GLAIVE_THROWER_1_A
@ BG_IC_NPC_SPIRIT_GUIDE_1
@ BG_IC_NPC_GLAIVE_THROWER_2_A
@ BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE
@ BG_IC_NPC_GLAIVE_THROWER_2_H
@ BG_IC_NPC_DEMOLISHER_4_H
const ICGo BG_IC_Teleporters[MAX_FORTRESS_TELEPORTERS_SPAWNS]
DBCStorage< WorldSafeLocsEntry > sWorldSafeLocsStore(WorldSafeLocsEntryfmt)
@ LANG_BG_IC_TEAM_HAS_TAKEN_NODE
@ LANG_BG_IC_WEST_GATE_DESTROYED
@ LANG_BG_IC_EAST_GATE_DESTROYED
@ LANG_BG_IC_TEAM_DEFENDED_NODE
@ LANG_BG_IC_START_HALF_MINUTE
@ LANG_BG_IC_ALLIANCE_KEEP
@ LANG_BG_IC_TEAM_ASSAULTED_NODE_2
@ LANG_BG_IC_SOUTH_GATE_DESTROYED
@ LANG_BG_IC_START_TWO_MINUTES
@ LANG_BG_IC_START_ONE_MINUTE
@ LANG_BG_IC_TEAM_ASSAULTED_NODE_1
@ LANG_BG_IC_NORTH_GATE_DESTROYED
#define SF_LOG_ERROR(filterType__,...)
@ TELE_TO_NOT_LEAVE_TRANSPORT
@ CHAT_MSG_BG_SYSTEM_NEUTRAL
@ UNIT_FLAG_NOT_SELECTABLE
@ GAMEOBJECT_FIELD_FACTION_TEMPLATE
virtual void AddPlayer(Player *player)
void EndBattleground(uint32 winner)
void CastSpellOnTeam(uint32 SpellID, uint32 TeamID)
virtual void HandleKillPlayer(Player *player, Player *killer)
static TeamId GetTeamIndexByTeamId(uint32 Team)
void DoorOpen(uint32 type)
bool DelCreature(uint32 type)
BattlegroundMap * GetBgMap() const
void RemoveAuraOnTeam(uint32 SpellID, uint32 TeamID)
void RelocateDeadPlayers(uint64 queueIndex)
Relocate all players in ReviveQueue to the closest graveyard.
void UpdateWorldState(uint32 Field, uint32 Value)
bool DelObject(uint32 type)
BattlegroundPlayerMap const & GetPlayers() const
BattlegroundScoreMap PlayerScores
void RewardHonorToTeam(uint32 Honor, uint32 TeamID)
bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, uint32 team)
BattlegroundStatus GetStatus() const
GameObject * GetBGObject(uint32 type)
void SendMessage2ToAll(int32 entry, ChatMsg type, Player const *source, int32 strId1=0, int32 strId2=0)
virtual void UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true)
Creature * AddCreature(uint32 entry, uint32 type, uint32 teamval, float x, float y, float z, float o, uint32 respawntime=0)
Creature * GetBGCreature(uint32 type)
bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime=0)
uint32 StartMessageIds[BG_STARTING_EVENT_COUNT]
void EventPlayerClickedOnFlag(Player *source, GameObject *) OVERRIDE
void UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true) OVERRIDE
void HandleKillPlayer(Player *player, Player *killer) OVERRIDE
void StartingEventOpenDoors() OVERRIDE
uint32 GetNextBanner(ICNodePoint *nodePoint, uint32 team, bool returnDefinitve)
void RemovePlayer(Player *player, uint64 guid, uint32 team) OVERRIDE
bool IsAllNodesControlledByTeam(uint32 team) const OVERRIDE
void EventPlayerDamagedGO(Player *, GameObject *go, uint32 eventType) OVERRIDE
uint32 GetNodeState(uint8 nodeType) const
BG_IC_GateState GateStatus[6]
void EndBattleground(uint32 winner)
void AddPlayer(Player *player) OVERRIDE
uint32 GetGateIDFromEntry(uint32 id)
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
Transport * gunshipAlliance
void DoAction(uint32 action, uint64 var) OVERRIDE
void DestroyGate(Player *player, GameObject *go) OVERRIDE
bool IsSpellAllowed(uint32 spellId, Player const *player) const OVERRIDE
void HandleAreaTrigger(Player *player, uint32 trigger) OVERRIDE
uint16 factionReinforcements[2]
void HandleContestedNodes(ICNodePoint *nodePoint)
void PostUpdateImpl(uint32 diff) OVERRIDE
Post-update hook.
void HandleCapturedNodes(ICNodePoint *nodePoint, bool recapture)
uint32 closeFortressDoorsTimer
uint32 siegeEngineWorkshopTimer
void HandlePlayerResurrect(Player *player) OVERRIDE
uint32 GetWorldStateFromGateEntry(uint32 id, bool open)
WorldSafeLocsEntry const * GetClosestGraveYard(Player *player) OVERRIDE
void StartingEventCloseDoors() OVERRIDE
bool SetupBattleground() OVERRIDE
void UpdateNodeWorldState(ICNodePoint *nodePoint)
void HandleKillUnit(Creature *unit, Player *killer) OVERRIDE
void RemoveFromWorld() OVERRIDE
void SetRespawnTime(int32 respawn)
void SendInitTransports(Player *player)
static Player * FindPlayer(uint64)
void SetFlag(uint16 index, uint32 newFlag)
void SetUInt32Value(uint16 index, uint32 value)
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options=0)
void setFaction(uint32 faction)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void SetTransport(Transport *t)
MovementInfo m_movementInfo
void AppendState(uint32 worldstate, uint32 value)
struct MovementInfo::TransportInfo transport
float GetPositionZ() const
float GetOrientation() const
float GetPositionX() const
float GetPositionY() const