18#ifndef __BATTLEGROUNDIC_H
19#define __BATTLEGROUNDIC_H
54#define MAX_REINFORCEMENTS 400
203 {0.0f, 0.0f, 0.0f, 0.0f},
204 {0.0f, 0.0f, 0.0f, 0.0f},
205 {629.57f, -279.83f, 11.33f, 0.0f},
206 {780.729f, -1103.08f, 135.51f, 2.27f},
207 {775.74f, -652.77f, 9.31f, 4.27f},
208 {278.42f, -883.20f, 49.89f, 1.53f},
209 {1300.91f, -834.04f, 48.91f, 1.69f},
210 {438.86f, -310.04f, 51.81f, 5.87f},
211 {1148.65f, -1250.98f, 16.60f, 1.74f},
307 {
NODE_TYPE_REFINERY, { 35377, 35378, 35379, 35380 }, {
BG_IC_REFINERY_UNCONTROLLED,
BG_IC_REFINERY_CONFLICT_A,
BG_IC_REFINERY_CONFLICT_H,
BG_IC_REFINERY_CONTROLLED_A,
BG_IC_REFINERY_CONTROLLED_H } },
308 {
NODE_TYPE_QUARRY, { 35373, 35374, 35375, 35376 }, {
BG_IC_QUARRY_UNCONTROLLED,
BG_IC_QUARRY_CONFLICT_A,
BG_IC_QUARRY_CONFLICT_H,
BG_IC_QUARRY_CONTROLLED_A,
BG_IC_QUARRY_CONTROLLED_H } },
309 {
NODE_TYPE_DOCKS, { 35365, 35366, 35367, 35368 }, {
BG_IC_DOCKS_UNCONTROLLED,
BG_IC_DOCKS_CONFLICT_A,
BG_IC_DOCKS_CONFLICT_H,
BG_IC_DOCKS_CONTROLLED_A,
BG_IC_DOCKS_CONTROLLED_H } },
310 {
NODE_TYPE_HANGAR, { 35369, 35370, 35371, 35372 }, {
BG_IC_HANGAR_UNCONTROLLED,
BG_IC_HANGAR_CONFLICT_A,
BG_IC_HANGAR_CONFLICT_H,
BG_IC_HANGAR_CONTROLLED_A,
BG_IC_HANGAR_CONTROLLED_H } },
311 {
NODE_TYPE_WORKSHOP, { 35278, 35286, 35279, 35280 }, {
BG_IC_WORKSHOP_UNCONTROLLED,
BG_IC_WORKSHOP_CONFLICT_A,
BG_IC_WORKSHOP_CONFLICT_H,
BG_IC_WORKSHOP_CONTROLLED_A,
BG_IC_WORKSHOP_CONTROLLED_H } },
312 {
NODE_TYPE_GRAVEYARD_A, { 35461, 35459, 35463, 35466 }, {
BG_IC_ALLIANCE_KEEP_UNCONTROLLED,
BG_IC_ALLIANCE_KEEP_CONFLICT_A,
BG_IC_ALLIANCE_KEEP_CONFLICT_H,
BG_IC_ALLIANCE_KEEP_CONTROLLED_A,
BG_IC_ALLIANCE_KEEP_CONTROLLED_H } },
BG_IC_ExploitTeleportLocations
@ IC_EXPLOIT_TELEPORT_LOCATION_ALLIANCE
@ IC_EXPLOIT_TELEPORT_LOCATION_HORDE
@ BG_IC_TEXT_WEST_GATE_HORDE_DESTROYED
@ BG_IC_TEXT_FRONT_GATE_ALLIANCE_DESTROYED
@ BG_IC_TEXT_WEST_GATE_ALLIANCE_DESTROYED
@ BG_IC_TEXT_FRONT_GATE_HORDE_DESTROYED
@ BG_IC_TEXT_EAST_GATE_HORDE_DESTROYED
@ BG_IC_TEXT_EAST_GATE_ALLIANCE_DESTROYED
@ ACTION_IOC_INTERACT_CAPTURABLE_OBJECT
@ ACTION_IOC_CAPTURE_CAPTURABLE_OBJECT
@ NPC_WORLD_TRIGGER_ALLIANCE_FRIENDLY
@ NPC_WORLD_TRIGGER_HORDE_FRIENDLY
@ NPC_HORDE_GUNSHIP_CAPTAIN
@ NPC_HIGH_COMMANDER_HALFORD_WYRMBANE
@ NPC_WORLD_TRIGGER_NOT_FLOATING
@ NPC_ALLIANCE_GUNSHIP_CANNON
@ NPC_HORDE_GUNSHIP_CANNON
@ NPC_ALLIANCE_GUNSHIP_CAPTAIN
@ NPC_SEVEN_TH_LEGION_INFANTRY
Position const BG_IC_SpiritGuidePos[MAX_NODE_TYPES+2]
@ SPELL_LAUNCH_NO_FALLING_DAMAGE
@ SPELL_DRIVING_CREDIT_GLAIVE
@ SPELL_DRIVING_CREDIT_SIEGE
@ SPELL_DRIVING_CREDIT_DEMOLISHER
@ SPELL_BACK_DOOR_JOB_ACHIEVEMENT
@ SPELL_DESTROYED_VEHICLE_ACHIEVEMENT
@ SPELL_DRIVING_CREDIT_CATAPULT
@ SPELL_TELEPORT_VISUAL_ONLY
const uint32 BG_IC_Factions[2]
@ BG_IC_HANGAR_CONTROLLED_H
@ BG_IC_ALLIANCE_REINFORCEMENTS_SET
@ BG_IC_GATE_WEST_A_WS_OPEN
@ BG_IC_QUARRY_CONTROLLED_H
@ BG_IC_HANGAR_CONTROLLED_A
@ BG_IC_QUARRY_CONTROLLED_A
@ BG_IC_WORKSHOP_CONFLICT_A
@ BG_IC_WORKSHOP_CONTROLLED_H
@ BG_IC_MAX_REINFORCEMENTS
@ BG_IC_GATE_FRONT_A_WS_OPEN
@ BG_IC_GATE_FRONT_H_WS_OPEN
@ BG_IC_QUARRY_CONFLICT_A
@ BG_IC_HORDE_KEEP_CONTROLLED_A
@ BG_IC_HORDE_KEEP_UNCONTROLLED
@ BG_IC_HORDE_KEEP_CONFLICT_H
@ BG_IC_GATE_FRONT_A_WS_CLOSED
@ BG_IC_WORKSHOP_UNCONTROLLED
@ BG_IC_HORDE_KEEP_CONFLICT_A
@ BG_IC_GATE_EAST_H_WS_OPEN
@ BG_IC_GATE_WEST_H_WS_OPEN
@ BG_IC_WORKSHOP_CONTROLLED_A
@ BG_IC_GATE_FRONT_H_WS_CLOSED
@ BG_IC_DOCKS_UNCONTROLLED
@ BG_IC_ALLIANCE_REINFORCEMENTS
@ BG_IC_REFINERY_CONTROLLED_A
@ BG_IC_GATE_EAST_H_WS_CLOSED
@ BG_IC_QUARRY_CONFLICT_H
@ BG_IC_WORKSHOP_CONFLICT_H
@ BG_IC_GATE_WEST_H_WS_CLOSED
@ BG_IC_HANGAR_CONFLICT_A
@ BG_IC_ALLIANCE_KEEP_UNCONTROLLED
@ BG_IC_REFINERY_CONTROLLED_H
@ BG_IC_HANGAR_CONFLICT_H
@ BG_IC_ALLIANCE_KEEP_CONTROLLED_H
@ BG_IC_HORDE_KEEP_CONTROLLED_H
@ BG_IC_GATE_WEST_A_WS_CLOSED
@ BG_IC_HANGAR_UNCONTROLLED
@ BG_IC_ALLIANCE_KEEP_CONFLICT_A
@ BG_IC_DOCKS_CONTROLLED_H
@ BG_IC_ALLIANCE_KEEP_CONTROLLED_A
@ BG_IC_GATE_EAST_A_WS_OPEN
@ BG_IC_HORDE_REINFORCEMENTS
@ BG_IC_QUARRY_UNCONTROLLED
@ BG_IC_REFINERY_CONFLICT_H
@ BG_IC_ALLIANCE_KEEP_CONFLICT_H
@ BG_IC_HORDE_REINFORCEMENTS_SET
@ BG_IC_GATE_EAST_A_WS_CLOSED
@ BG_IC_DOCKS_CONTROLLED_A
@ BG_IC_REFINERY_UNCONTROLLED
@ BG_IC_REFINERY_CONFLICT_A
const IoCStaticNodeInfo nodePointInitial[MAX_NODE_TYPES]
std::vector< ObjectGuid > GuidVector
GuidVector _teleporterEffectGUIDs
void HandleCaptureNodeAction(GameObject *banner)
static ICNodePointType BannerToNodeType(uint32 bannerId)
void OnPlayerDefendNode(Player *player, ICNodePoint &node)
std::array< uint16, PVP_TEAMS_COUNT > _factionReinforcements
std::array< ObjectGuid, PVP_TEAMS_COUNT > _keepBannerGUIDs
void OnGateDestroyed(GameObject *gate, WorldObject *destroyer)
WorldSafeLocsEntry const * GetExploitTeleportLocation(Team team) override
static int32 GetWorldStateFromGateEntry(uint32 id, bool open)
void HandleCapturedNodes(ICNodePoint &node)
std::array< GuidVector, PVP_TEAMS_COUNT > _cannonGUIDs
void HandleKillUnit(Creature *unit, Unit *killer) override
void OnGameObjectCreate(GameObject *gameobject) override
void UpdateNodeWorldState(ICNodePoint const &node)
GuidVector _portcullisGUIDs
void HandleKillPlayer(Player *player, Player *killer) override
BattlegroundIC(BattlegroundTemplate const *battlegroundTemplate)
void OnPlayerAssaultNode(Player *player, ICNodePoint &node)
TimeTracker _resourceTimer
static uint32 GetGateIDFromEntry(uint32 id)
~BattlegroundIC() override
ObjectGuid _gunshipTeleportTarget
std::array< BG_IC_GateState, 6 > _gateStatus
GuidVector _mainGateDoorGUIDs
void OnPlayerInteractWithBanner(Player *player, GameObject *banner)
void DoAction(uint32 actionId, WorldObject *source, WorldObject *target) override
std::array< std::unique_ptr< ICNodePoint >, 7 > _nodePoints
void ProcessEvent(WorldObject *target, uint32 eventId, WorldObject *invoker) override
void StartingEventOpenDoors() override
void PostUpdateImpl(uint32 diff) override
Post-update hook.
std::array< ObjectGuid, PVP_TEAMS_COUNT > _gunshipGUIDs
void OnMapSet(BattlegroundMap *map) override
void OnCreatureCreate(Creature *creature) override
std::array< GuidVector, PVP_TEAMS_COUNT > _keepGateGUIDs
GuidVector _teleporterGUIDs
void UpdateState(IsleOfConquestNodeState state)
IsleOfConquestNodeState _state
IsleOfConquestNodeState GetState() const
IoCStaticNodeInfo const & GetNodeInfo() const
ICNodePoint(IsleOfConquestNodeState state, IoCStaticNodeInfo const &nodeInfo)
TeamId GetLastControlledTeam() const
IoCStaticNodeInfo _nodeInfo
struct IoCStaticNodeInfo::@196 WorldStateIds
struct IoCStaticNodeInfo::@195 TextIds