Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: cmake/world/CMakeLists.txt
- ===================================================================
- --- cmake/world/CMakeLists.txt (revision 4644)
- +++ cmake/world/CMakeLists.txt (working copy)
- @@ -23,6 +23,7 @@
- BattlegroundHandler.cpp
- BattlegroundMgr.cpp
- StrandOfTheAncient.cpp
- + IsleOfConquest.cpp
- Channel.cpp
- ChannelHandler.cpp
- CharacterHandler.cpp
- @@ -258,6 +259,7 @@
- Stats.h
- StdAfx.h
- StrandOfTheAncient.h
- + IsleOfConquest.h
- Entities/Summons/Summon.h
- SummonHandler.h
- TaxiMgr.h
- Index: src/arcemu-world/BattlegroundMgr.cpp
- ===================================================================
- --- src/arcemu-world/BattlegroundMgr.cpp (revision 4644)
- +++ src/arcemu-world/BattlegroundMgr.cpp (working copy)
- @@ -36,7 +36,28 @@
- 0,
- 607, // SOTA
- 0,
- + 0,//11
- 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 0,
- + 628,
- + 0,
- + 0
- };
- const static CreateBattlegroundFunc BGCFuncs[BATTLEGROUND_NUM_TYPES] =
- @@ -53,6 +74,27 @@
- &StrandOfTheAncient::Create, // SOTA
- NULL,
- NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + NULL,
- + &IsleOfConquest::Create, //IOC
- + NULL,
- + NULL
- };
- CBattlegroundManager::CBattlegroundManager()
- Index: src/arcemu-world/BattlegroundMgr.h
- ===================================================================
- --- src/arcemu-world/BattlegroundMgr.h (revision 4644)
- +++ src/arcemu-world/BattlegroundMgr.h (working copy)
- @@ -58,6 +58,8 @@
- BATTLEGROUND_ARENA_5V5 = 6,
- BATTLEGROUND_EYE_OF_THE_STORM = 7,
- BATTLEGROUND_STRAND_OF_THE_ANCIENT = 9,
- + BATTLEGROUND_ISLE_OF_CONQUEST = 30,
- + BATTLEGROUND_RANDOM = 32,
- BATTLEGROUND_NUM_TYPES = 33, //Based on BattlemasterList.dbc, make the storage arrays big enough! On 3.1.3 the last one was 11 The Ring of Valor, so 12 was enough here, but on 3.2.0 there is 32 All Battlegrounds!
- };
- Index: src/arcemu-world/EventMgr.h
- ===================================================================
- --- src/arcemu-world/EventMgr.h (revision 4644)
- +++ src/arcemu-world/EventMgr.h (working copy)
- @@ -226,6 +226,15 @@
- EVENT_FRIEND_AREA_AURA_UPDATE,
- EVENT_ENEMY_AREA_AURA_UPDATE,
- EVENT_OWNER_AREA_AURA_UPDATE,
- + EVENT_IOC_CAPTURE_CP_1,
- + EVENT_IOC_CAPTURE_CP_2,
- + EVENT_IOC_CAPTURE_CP_3,
- + EVENT_IOC_CAPTURE_CP_4,
- + EVENT_IOC_CAPTURE_CP_5,
- + EVENT_IOC_CAPTURE_CP_6,
- + EVENT_IOC_CAPTURE_CP_7,
- + EVENT_IOC_RESOURCES_UPDATE_TEAM_0,
- + EVENT_IOC_RESOURCES_UPDATE_TEAM_1,
- NUM_EVENT_TYPES
- };
- Index: src/arcemu-world/IsleOfConquest.cpp
- ===================================================================
- --- src/arcemu-world/IsleOfConquest.cpp (revision 0)
- +++ src/arcemu-world/IsleOfConquest.cpp (revision 0)
- @@ -0,0 +1,637 @@
- +/*
- + * Arcemu
- + * Copyright (C) 2008 - 2011 Arcemu <http://www.arcemu.org/>
- + *
- + * This program is free software: you can redistribute it and/or modify
- + * it under the terms of the GNU Affero General Public License as published by
- + * the Free Software Foundation, either version 3 of the License, or
- + * 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 Affero General Public License for more details.
- + *
- + * You should have received a copy of the GNU Affero General Public License
- + * along with this program. If not, see <http://www.gnu.org/licenses/>.
- + *
- + */
- +
- + #include "StdAfx.h"
- +
- +#define IOC_NUM_REINFORCEMENTS 600
- +#define IOC_POINTS_ON_KILL 1
- +
- +enum IOCGOs{
- + IOC_TRANSPORTER = 195315,
- + TELEPORTER_EFFECT_A = 195701,
- + TELEPORTER_EFFECT_H = 195702,
- + IOC_DYNAMIC_DOOR_A = 195699,
- + IOC_DYNAMIC_DOOR_H = 195494,
- + IOC_FLAGPOLE = 195131,
- +};
- +
- +enum ControlPoints{
- + IOC_CONTROL_POINT_OILDERRICK = 0,
- + IOC_CONTROL_POINT_COBALTMINE = 1,
- + IOC_CONTROL_POINT_DOCKS = 2,
- + IOC_CONTROL_POINT_AIRSHIPHANGAR = 3,
- + IOC_CONTROL_POINT_SIEGEWORKSHOP = 4,
- + IOC_CONTROL_POINT_ALLIANCE_KEEP = 5,
- + IOC_CONTROL_POINT_HORDE_KEEP = 6
- +};
- +
- +enum ControlPointTypes{
- + IOC_SPAWN_TYPE_NEUTRAL = 0,
- + IOC_SPAWN_TYPE_ALLIANCE_ASSAULT = 1,
- + IOC_SPAWN_TYPE_HORDE_ASSAULT = 2,
- + IOC_SPAWN_TYPE_ALLIANCE_CONTROLLED = 3,
- + IOC_SPAWN_TYPE_HORDE_CONTROLLED = 4
- +};
- +
- +
- + // gameobject faction
- +static uint32 g_gameObjectFactions[IOC_NUM_CONTROL_POINTS] = {
- + 35, // neutral
- + 2, // alliance assault
- + 2, // alliance controlled
- + 1, // horde assault
- + 1 // horde controlled
- +};
- +
- +// Graveyard locations
- +static float GraveyardLocations[IOC_NUM_CONTROL_POINTS][4] = {
- + { 0.0f, 0.0f, 0.0f }, // The Oil Derrick
- + { 0.0f, 0.0f, 0.0f }, // The Cobalt Mine
- + { 0.0f, 0.0f, 0.0f }, // The Docks
- + { 0.0f, 0.0f, 0.0f }, // The Airship Hangar
- + { 0.0f, 0.0f, 0.0f } // The Siege Workshop
- +};
- +
- +static float NoBaseGYLocations[2][4] = {
- + { 278.28f, -883.65f, 49.92f, 1.57f }, // ALLIANCE
- + { 1301.30f, -839.38f, 48.91f, 1.48f } // HORDE
- +};
- +
- +static const char * ControlPointNames[IOC_NUM_CONTROL_POINTS] = {
- + "Oil Derrick",
- + "Cobalt Mine",
- + "Docks",
- + "Airship Hangar",
- + "Siege Workshop",
- + "Allaince Keep",
- + "Horde Keep"
- +};
- +
- +static uint32 ControlPointGoIds[IOC_NUM_CONTROL_POINTS][5] = {
- + // NEUTRAL ALLIANCE-ATTACK HORDE-ATTACK ALLIANCE-CONTROLLED HORDE_CONTROLLED
- + { 195343, 180085, 180086, 180076, 180078 }, // The Oil Derrick
- + { 195338, 180085, 180086, 180076, 180078 }, // The Cobalt Mine
- + { 195157, 180085, 180086, 180076, 180078 }, // The Docks
- + { 195158, 180085, 180086, 180076, 180078 }, // The Airship Hangar
- + { 195133, 180085, 180086, 180076, 180078 }, // The Siege Workshop
- + { 195132, 180085, 180086, 180076, 180078 }, // Alliance Keep
- + { 195130, 180085, 180086, 180076, 180078 } // Horde Keep
- +};
- +
- +
- +static float ControlPointCoordinates[IOC_NUM_CONTROL_POINTS][4] = {
- + { 1266.01f, -400.78f, 37.62f, 0.16f }, // The Oil Derrick
- + { 225.29f, -1189.01f, 8.05f, 0.86f }, // The Cobalt Mine
- + { 782.88f, -371.84f, 12.37f, 5.45f }, // The Docks
- + { 691.70f, -1121.04f, 133.70f, 2.147f }, // The Airship Hangar
- + { 751.29f, -818.18f, 7.40f, 0.75f }, // The Siege Workshop
- + { 301.04f, -780.49f, 48.91f, 6.03f}, // Alliance Keep
- + { 1278.59f, -704.18f, 48.91f, 3.19f} // Horde Keep
- +};
- +
- +
- +static float demolisherSalesmen[2][5] = {
- + {35345, 763.660f, -880.25f , 18.55f, 3.14f}, // Gnomish Mechanic (A)
- + {35346, 763.660f, -880.25f , 18.55f, 3.14f} // Goblin Mechanic (H)
- +};
- +
- +static float iocTransporterDestination[12][4] = {
- + {429.79f, -800.825f, 49.03f, 3.23f}, // Alliance front gate out
- + {399.66f, -798.63f, 49.06f, 4.01f}, // Alliance front gate in
- + {313.64f, -775.43f, 49.04f, 4.93f}, // Alliance west gate in
- + {324.68f, -748.73f, 49.38f, 1.76f}, // Alliance west gate out
- + {323.01f, -888.61f, 48.91f, 4.66f}, // Alliance east gate in
- + {316.22f, -914.65f, 48.87f, 1.69f}, // Alliance east gate out
- + {1234.51f, -684.55f, 49.32f, 5.01f}, // Horde west gate in
- + {1196.72f, -664.84f, 48.57f, 1.71f}, // Horde west gate out
- + {1161.82f, -748.87f, 48.62f, 0.34f}, // Horde front gate in
- + {1140.19f, -780.74f, 48.69f, 2.93f}, // Horde front gate out
- + {1196.47f, -861.29f, 49.17f, 4.04f}, // Horde east gate out
- + {1196.06f, -842.70f, 49.13f, 0.30f} // Horde east gate in
- +};
- +
- +static float iocTransporterLocation[12][4] = {
- + {429.79f, -800.825f, 49.03f, 3.23f}, // Alliance front gate out
- + {399.66f, -798.63f, 49.06f, 4.01f}, // Alliance front gate in
- + {313.64f, -775.43f, 49.04f, 4.93f}, // Alliance west gate in
- + {324.68f, -748.73f, 49.38f, 1.76f}, // Alliance west gate out
- + {323.01f, -888.61f, 48.91f, 4.66f}, // Alliance east gate in
- + {316.22f, -914.65f, 48.87f, 1.69f}, // Alliance east gate out
- + {1234.51f, -684.55f, 49.32f, 5.01f}, // Horde west gate in
- + {1196.72f, -664.84f, 48.57f, 1.71f}, // Horde west gate out
- + {1161.82f, -748.87f, 48.62f, 0.34f}, // Horde front gate in
- + {1140.19f, -780.74f, 48.69f, 2.93f}, // Horde front gate out
- + {1196.47f, -861.29f, 49.17f, 4.04f}, // Horde east gate out
- + {1196.06f, -842.70f, 49.13f, 0.30f} // Horde east gate in
- +};
- +
- +static float iocGatesLocation[6][4] = {
- + {352.70269f, -762.66369f, 48.91628f, 4.6866f}, // Alliance West gate
- + {412.41436f, - 833.83011f, 48.5479f, 3.11868f}, // Alliance Front gate
- + {352.54592f, -904.92181f, 48.92093f, 1.57336f}, // Alliance East gate
- + {1151.51562f, -763.4730f, 48.62429f, 3.17145f}, // Horde Front gate
- + {1218.54126f, -676.44390f, 48.68709f, 1.53727f}, // Horde West gate
- + {1218.35607f, -850.55456f, 48.91478f, 4.77781f} // Horde East gate
- +};
- +
- +static uint32 gatesIds[6] = {
- + 195698,
- + 195699,
- + 195700,
- + 195494,
- + 195495,
- + 195496
- +};
- +
- +static uint32 AssaultFields[IOC_NUM_CONTROL_POINTS][2] = {
- + { WORLDSTATE_IOC_REFINERY_ALLIANCE_ASSAULTED, WORLDSTATE_IOC_REFINERY_HORDE_ASSAULTED },
- + { WORLDSTATE_IOC_QUARRY_ALLIANCE_ASSAULTED, WORLDSTATE_IOC_QUARRY_HORDE_ASSAULTED },
- + { WORLDSTATE_IOC_DOCKS_ALLIANCE_ASSAULTED, WORLDSTATE_IOC_DOCKS_HORDE_ASSAULTED }, // The Docks
- + { WORLDSTATE_IOC_HANGAR_ALLIANCE_ASSAULTED, WORLDSTATE_IOC_HANGAR_HORDE_ASSAULTED },
- + { WORLDSTATE_IOC_WORKSHOP_ALLIANCE_ASSAULTED, WORLDSTATE_IOC_WORKSHOP_HORDE_ASSAULTED }, // The Siege Workshop
- + { WORLDSTATE_IOC_ALLIANCE_KEEP_ALLIANCE_ASSAULTED, WORLDSTATE_IOC_ALLIANCE_KEEP_HORDE_ASSAULTED }, // Alliance Keep
- + { WORLDSTATE_IOC_HORDE_KEEP_ALLIANCE_ASSAULTED, WORLDSTATE_IOC_HORDE_KEEP_HORDE_ASSAULTED } // Horde Keep
- +};
- +
- +static uint32 OwnedFields[IOC_NUM_CONTROL_POINTS][2] = {
- + { WORLDSTATE_IOC_REFINERY_ALLIANCE_CONTROLLED, WORLDSTATE_IOC_REFINERY_HORDE_CONTROLLED },
- + { WORLDSTATE_IOC_QUARRY_ALLIANCE_CONTROLLED, WORLDSTATE_IOC_QUARRY_HORDE_CONTROLLED },
- + { WORLDSTATE_IOC_DOCKS_ALLIANCE_CONTROLLED, WORLDSTATE_IOC_DOCKS_HORDE_CONTROLLED }, // The Docks
- + { WORLDSTATE_IOC_HANGAR_ALLIANCE_CONTROLLED, WORLDSTATE_IOC_HANGAR_HORDE_CONTROLLED },
- + { WORLDSTATE_IOC_WORKSHOP_ALLIANCE_CONTROLLED, WORLDSTATE_IOC_WORKSHOP_HORDE_CONTROLLED }, // The Siege Workshop
- + { WORLDSTATE_IOC_ALLIANCE_KEEP_ALLIANCE_CONTROLLED, WORLDSTATE_IOC_ALLIANCE_KEEP_HORDE_CONTROLLED }, // Alliance Keep
- + { WORLDSTATE_IOC_HORDE_KEEP_ALLIANCE_CONTROLLED, WORLDSTATE_IOC_HORDE_KEEP_HORDE_CONTROLLED } // Horde Keep
- +};
- +
- +static uint32 NeutralFields[IOC_NUM_CONTROL_POINTS] = {
- + WORLDSTATE_IOC_REFINERY_NETURAL,
- + WORLDSTATE_IOC_QUARRY_NETURAL,
- + WORLDSTATE_IOC_DOCKS_NETURAL,
- + WORLDSTATE_IOC_HANGAR_NETURAL,
- + WORLDSTATE_IOC_WORKSHOP_NETURAL,
- + WORLDSTATE_IOC_ALLIANCE_KEEP_NETURAL,
- + WORLDSTATE_IOC_HORDE_KEEP_NETURAL
- +};
- +
- +static uint32 ResourceUpdateIntervals[6] = {
- + 0,
- + 12000,
- + 9000,
- + 6000,
- + 3000,
- + 1000
- +};
- +
- +IsleOfConquest::IsleOfConquest(MapMgr* mgr, uint32 id, uint32 lgroup, uint32 t) : CBattleground(mgr,id,lgroup,t)
- +{
- + for(uint32 i = 0; i < IOC_NUM_CONTROL_POINTS; ++i)
- + {
- + m_ioccontrolPointAuras[i] = NULL;
- + m_ioccontrolPoints[i] = NULL;
- + m_spiritGuides[i] = NULL;
- + m_basesAssaultedBy[i] = -1;
- + m_basesOwnedBy[i] = -1;
- + m_basesLastOwnedBy[i] = -1;
- + m_flagIsVirgin[i] = true;
- + }
- +
- + for(uint32 i = 0; i < 2; ++i)
- + {
- + m_capturedBases[i] = 0;
- + }
- +
- + m_playerCountPerTeam = 40;
- + m_reinforcements[0] = IOC_NUM_REINFORCEMENTS;
- + m_reinforcements[1] = IOC_NUM_REINFORCEMENTS;
- + m_LiveCaptain[0] = true;
- + m_LiveCaptain[1] = true;
- +// m_bonusHonor = HonorHandler::CalculateHonorPointsFormula(lgroup*10,lgroup*10);
- +
- + /*memset(m_nodes, 0, sizeof(m_nodes));*/
- +
- +}
- +
- +IsleOfConquest::~IsleOfConquest()
- +{
- + for(uint32 i = 0; i < IOC_NUM_CONTROL_POINTS; ++i)
- + {
- + if(m_ioccontrolPoints[i] != NULL)
- + {
- +// m_ioccontrolPoints[i]->m_battleground = NULL;
- + if( !m_ioccontrolPoints[i]->IsInWorld() )
- + {
- + delete m_ioccontrolPoints[i];
- + }
- + }
- +
- + if(m_ioccontrolPointAuras[i])
- + {
- +// m_ioccontrolPointAuras[i]->m_battleground = NULL;
- + if( !m_ioccontrolPointAuras[i]->IsInWorld() )
- + {
- + delete m_ioccontrolPointAuras[i];
- + }
- + }
- + }
- +}
- +
- +void IsleOfConquest::Init()
- +{
- +}
- +
- +void IsleOfConquest::OnCreate()
- +{
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_SCORE, 1);
- + SetWorldState(WORLDSTATE_IOC_HORDE_SCORE, 1);
- +
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_EAST_GATE, 1);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_GATE_DESTROYED_1, 0);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_GATE_DESTROYED_2, 0);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_GATE_DESTROYED_3, 0);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_WEST_GATE, 1);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_FRONT_GATE, 1);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_KEEP_ALLIANCE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_KEEP_HORDE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_KEEP_ALLIANCE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_KEEP_HORDE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_ALLIANCE_KEEP_NETURAL, 1);
- + SetWorldState(WORLDSTATE_IOC_HORDE_KEEP_ALLIANCE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_HORDE_KEEP_HORDE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_HORDE_KEEP_ALLIANCE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_HORDE_KEEP_HORDE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_HORDE_KEEP_NETURAL, 1);
- + SetWorldState(WORLDSTATE_IOC_DOCKS_ALLIANCE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_DOCKS_HORDE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_DOCKS_ALLIANCE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_DOCKS_HORDE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_DOCKS_NETURAL, 1);
- + SetWorldState(WORLDSTATE_IOC_HANGAR_ALLIANCE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_HANGAR_HORDE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_HANGAR_ALLIANCE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_HANGAR_HORDE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_HANGAR_NETURAL, 1);
- + SetWorldState(WORLDSTATE_IOC_QUARRY_ALLIANCE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_QUARRY_HORDE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_QUARRY_ALLIANCE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_QUARRY_HORDE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_QUARRY_NETURAL, 1);
- + SetWorldState(WORLDSTATE_IOC_REFINERY_ALLIANCE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_REFINERY_HORDE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_REFINERY_ALLIANCE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_REFINERY_HORDE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_REFINERY_NETURAL, 1);
- + SetWorldState(WORLDSTATE_IOC_WORKSHOP_ALLIANCE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_WORKSHOP_HORDE_CONTROLLED, 0);
- + SetWorldState(WORLDSTATE_IOC_WORKSHOP_ALLIANCE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_WORKSHOP_HORDE_ASSAULTED, 0);
- + SetWorldState(WORLDSTATE_IOC_WORKSHOP_NETURAL, 1);
- + SetWorldState(WORLDSTATE_IOC_HORDE_EAST_GATE, 1);
- + SetWorldState(WORLDSTATE_IOC_HORDE_GATE_DESTROYED_1, 0);
- + SetWorldState(WORLDSTATE_IOC_HORDE_GATE_DESTROYED_2, 0);
- + SetWorldState(WORLDSTATE_IOC_HORDE_GATE_DESTROYED_3, 0);
- + SetWorldState(WORLDSTATE_IOC_HORDE_WEST_GATE, 1);
- + SetWorldState(WORLDSTATE_IOC_HORDE_FRONT_GATE, 1);
- +
- + // generals/leaders!
- + SpawnCreature(34924, 214.77f, -830.73f, 60.81f, 0.07f); // High Commander Halford Wyrmbane (ALLIANCE)
- + SpawnCreature(34922, 1296.57f, -765.78f, 69.98f, 6.22f); // Overlord Agmar (not sure this is the good general) (HORDE)
- +
- + // Spawn const spiritguides
- + AddSpiritGuide(SpawnSpiritGuide(NoBaseGYLocations[0][0], NoBaseGYLocations[0][1], NoBaseGYLocations[0][2], NoBaseGYLocations[0][3], 0));
- + AddSpiritGuide(SpawnSpiritGuide(NoBaseGYLocations[1][0], NoBaseGYLocations[1][1], NoBaseGYLocations[1][2], NoBaseGYLocations[1][3], 1));
- +
- +
- + // Spawn Teleporters
- + for(uint32 i = 0; i < 6; i++) // Alliance
- + {
- + m_teleporters[i] = SpawnGameObject(IOC_TRANSPORTER, 628, iocTransporterLocation[i][0], iocTransporterLocation[i][1], iocTransporterLocation[i][2], iocTransporterLocation[i][3], 0, 1, 1.0f);
- + m_teleporters[i]->PushToWorld(m_mapMgr);
- + m_teleeffect[i] = SpawnGameObject(TELEPORTER_EFFECT_A, 628, iocTransporterLocation[i][0], iocTransporterLocation[i][1], iocTransporterLocation[i][2], iocTransporterLocation[i][3], 0, 1, 1.0f);
- + m_teleeffect[i]->PushToWorld(m_mapMgr);
- + }
- + for(uint32 i = 6; i < 12; i++) // Horde
- + {
- + m_teleporters[i] = SpawnGameObject(IOC_TRANSPORTER, 628, iocTransporterLocation[i][0], iocTransporterLocation[i][1], iocTransporterLocation[i][2], iocTransporterLocation[i][3], 0, 2, 1.0f);
- + m_teleporters[i]->PushToWorld(m_mapMgr);
- + m_teleeffect[i] = SpawnGameObject(TELEPORTER_EFFECT_H, 628, iocTransporterLocation[i][0], iocTransporterLocation[i][1], iocTransporterLocation[i][2], iocTransporterLocation[i][3], 0, 1, 1.0f);
- + m_teleeffect[i]->PushToWorld(m_mapMgr);
- + }
- +
- + // Spawn Gates
- + for(uint32 x = 0; x < 3; x++)
- + {
- + m_desgates[x] = SpawnGameObject(gatesIds[x], 628, iocGatesLocation[x][0], iocGatesLocation[x][1], iocGatesLocation[x][2], iocGatesLocation[x][3], 0, 1, 1.0f);
- + m_desgates[x]->PushToWorld(m_mapMgr);
- + m_ogates[x] = SpawnGameObject(IOC_DYNAMIC_DOOR_A, 628, iocGatesLocation[x][0], iocGatesLocation[x][1], iocGatesLocation[x][2], iocGatesLocation[x][3], 0, 1, 1.0f);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_FLAGS, 32);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_DYNAMIC, 4294901760);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_FACTION, 1375);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_BYTES_1, 4278190081);
- + m_ogates[x]->PushToWorld(m_mapMgr);
- + }
- +
- + for(uint32 x = 3; x < 6; x++)
- + {
- + m_desgates[x] = SpawnGameObject(gatesIds[x], 628, iocGatesLocation[x][0], iocGatesLocation[x][1], iocGatesLocation[x][2], iocGatesLocation[x][3], 0, 2, 1.0f);
- + m_desgates[x]->PushToWorld(m_mapMgr);
- + m_ogates[x] = SpawnGameObject(IOC_DYNAMIC_DOOR_H, 628, iocGatesLocation[x][0], iocGatesLocation[x][1], iocGatesLocation[x][2], iocGatesLocation[x][3], 0, 2, 1.0f);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_FLAGS, 32);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_DYNAMIC, 4294901760);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_FACTION, 1375);
- + m_ogates[x]->SetUInt32Value(GAMEOBJECT_BYTES_1, 4278190081);
- + m_ogates[x]->PushToWorld(m_mapMgr);
- + }
- +
- + // Flagpole
- + for(uint32 i = 0; i < IOC_NUM_CONTROL_POINTS; ++i)
- + {
- + m_flagpole[i] = SpawnGameObject(IOC_FLAGPOLE, 628, ControlPointCoordinates[i][0], ControlPointCoordinates[i][1], ControlPointCoordinates[i][2], ControlPointCoordinates[i][3], 0, 35, 1.0f);
- + m_flagpole[i]->PushToWorld(m_mapMgr);
- + }
- +
- + SpawnControlPoint(IOC_CONTROL_POINT_OILDERRICK, IOC_SPAWN_TYPE_NEUTRAL);
- + SpawnControlPoint(IOC_CONTROL_POINT_COBALTMINE, IOC_SPAWN_TYPE_NEUTRAL);
- + SpawnControlPoint(IOC_CONTROL_POINT_DOCKS, IOC_SPAWN_TYPE_NEUTRAL);
- + SpawnControlPoint(IOC_CONTROL_POINT_AIRSHIPHANGAR, IOC_SPAWN_TYPE_NEUTRAL);
- + SpawnControlPoint(IOC_CONTROL_POINT_SIEGEWORKSHOP, IOC_SPAWN_TYPE_NEUTRAL);
- + SpawnControlPoint(IOC_CONTROL_POINT_ALLIANCE_KEEP, IOC_SPAWN_TYPE_NEUTRAL);
- + SpawnControlPoint(IOC_CONTROL_POINT_HORDE_KEEP, IOC_SPAWN_TYPE_NEUTRAL);
- +}
- +
- +void IsleOfConquest::OnStart()
- +{
- + for(uint32 i = 0; i < 2; ++i) {
- + for(set<Player* >::iterator itr = m_players[i].begin(); itr != m_players[i].end(); ++itr) {
- + (*itr)->RemoveAura(BG_PREPARATION);
- + }
- + }
- +
- + PlaySoundToAll(SOUND_BATTLEGROUND_BEGIN);
- +
- + m_started = true;
- +
- +}
- +
- +
- +void IsleOfConquest::SpawnControlPoint(uint32 Id, uint32 Type)
- +{
- + GameObjectInfo * gi, * gi_aura;
- + gi = GameObjectNameStorage.LookupEntry(ControlPointGoIds[Id][Type]);
- + if(gi == NULL)
- + return;
- +
- + gi_aura = gi->sound3 ? GameObjectNameStorage.LookupEntry(gi->sound3) : NULL;
- +
- + if(m_ioccontrolPoints[Id] == NULL)
- + {
- + m_ioccontrolPoints[Id] = SpawnGameObject(gi->ID, m_mapMgr->GetMapId(), ControlPointCoordinates[Id][0], ControlPointCoordinates[Id][1],
- + ControlPointCoordinates[Id][2], ControlPointCoordinates[Id][3], 0, 35, 1.0f);
- +
- + m_ioccontrolPoints[Id]->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_STATE, 1);
- + m_ioccontrolPoints[Id]->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_TYPE_ID, gi->Type);
- + m_ioccontrolPoints[Id]->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_ANIMPROGRESS, 100);
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_DYNAMIC, 1);
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_DISPLAYID, gi->DisplayID);
- +
- + switch(Type)
- + {
- + case IOC_SPAWN_TYPE_ALLIANCE_ASSAULT:
- + case IOC_SPAWN_TYPE_ALLIANCE_CONTROLLED:
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_FACTION, 2);
- + break;
- +
- + case IOC_SPAWN_TYPE_HORDE_ASSAULT:
- + case IOC_SPAWN_TYPE_HORDE_CONTROLLED:
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_FACTION, 1);
- + break;
- +
- + default:
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_FACTION, 35); // neutral
- + break;
- + }
- +
- + m_ioccontrolPoints[Id]->bannerslot = static_cast<uint8>( Id );
- + m_ioccontrolPoints[Id]->PushToWorld(m_mapMgr);
- + }
- + else
- + {
- + if(m_ioccontrolPoints[Id]->IsInWorld())
- + m_ioccontrolPoints[Id]->RemoveFromWorld(false);
- +
- + // assign it a new guid (client needs this to see the entry change?)
- + m_ioccontrolPoints[Id]->SetNewGuid(m_mapMgr->GenerateGameobjectGuid());
- + m_ioccontrolPoints[Id]->SetUInt32Value(OBJECT_FIELD_ENTRY, gi->ID);
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_DISPLAYID, gi->DisplayID);
- + m_ioccontrolPoints[Id]->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_TYPE_ID, gi->Type);
- +
- + switch(Type)
- + {
- + case IOC_SPAWN_TYPE_ALLIANCE_ASSAULT:
- + case IOC_SPAWN_TYPE_ALLIANCE_CONTROLLED:
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_FACTION, 2);
- + break;
- +
- + case IOC_SPAWN_TYPE_HORDE_ASSAULT:
- + case IOC_SPAWN_TYPE_HORDE_CONTROLLED:
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_FACTION, 1);
- + break;
- +
- + default:
- + m_ioccontrolPoints[Id]->SetUInt32Value(GAMEOBJECT_FACTION, 35); // neutral
- + break;
- + }
- +
- + m_ioccontrolPoints[Id]->SetInfo(gi);
- + m_ioccontrolPoints[Id]->PushToWorld(m_mapMgr);
- + }
- +
- + if(gi_aura==NULL)
- + {
- + // remove it if it exists
- + if(m_ioccontrolPointAuras[Id]!=NULL && m_ioccontrolPointAuras[Id]->IsInWorld())
- + m_ioccontrolPointAuras[Id]->RemoveFromWorld(false);
- +
- + return;
- + }
- +
- + if(m_ioccontrolPointAuras[Id] == NULL)
- + {
- + m_ioccontrolPointAuras[Id] = SpawnGameObject(gi_aura->ID, 628, ControlPointCoordinates[Id][0], ControlPointCoordinates[Id][1],
- + ControlPointCoordinates[Id][2], ControlPointCoordinates[Id][3], 0, 35, 5.0f);
- +
- + m_ioccontrolPointAuras[Id]->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_STATE, 1);
- + m_ioccontrolPointAuras[Id]->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_TYPE_ID, 6);
- + m_ioccontrolPointAuras[Id]->SetByte(GAMEOBJECT_BYTES_1,GAMEOBJECT_BYTES_ANIMPROGRESS, 100);
- + m_ioccontrolPointAuras[Id]->bannerauraslot = Id;
- + m_ioccontrolPointAuras[Id]->PushToWorld(m_mapMgr);
- + }
- + else
- + {
- + if(m_ioccontrolPointAuras[Id]->IsInWorld())
- + m_ioccontrolPointAuras[Id]->RemoveFromWorld(false);
- +
- + // re-spawn the aura
- + m_ioccontrolPointAuras[Id]->SetNewGuid(m_mapMgr->GenerateGameobjectGuid());
- + m_ioccontrolPointAuras[Id]->SetUInt32Value(OBJECT_FIELD_ENTRY, gi_aura->ID);
- + m_ioccontrolPointAuras[Id]->SetUInt32Value(GAMEOBJECT_DISPLAYID, gi_aura->DisplayID);
- + m_ioccontrolPointAuras[Id]->SetInfo(gi_aura);
- + m_ioccontrolPointAuras[Id]->PushToWorld(m_mapMgr);
- + }
- +}
- +
- +
- +void IsleOfConquest::Finish(uint32 losingTeam)
- +{
- + if(m_ended) return;
- +
- + m_ended = true;
- + sEventMgr.RemoveEvents(this);
- + sEventMgr.AddEvent(TO< CBattleground* >(this), &CBattleground::Close, EVENT_BATTLEGROUND_CLOSE, 120000, 1,0);
- +
- + /* add the marks of honor to all players */
- + SpellEntry * winner_spell = dbcSpell.LookupEntry(24955);
- + SpellEntry * loser_spell = dbcSpell.LookupEntry(24954);
- + for(uint32 i = 0; i < 2; ++i)
- + {
- + for(set<Player* >::iterator itr = m_players[i].begin(); itr != m_players[i].end(); ++itr)
- + {
- + (*itr)->Root();
- +
- + if( (*itr)->HasFlag(PLAYER_FLAGS, PLAYER_FLAG_AFK) )
- + continue;
- +
- + if(i == losingTeam)
- + (*itr)->CastSpell((*itr), loser_spell, true);
- + else
- + {
- + (*itr)->CastSpell((*itr), winner_spell, true);
- + uint32 diff = abs((int32)(m_reinforcements[i] - m_reinforcements[i ? 0 : 1]));
- + //(*itr)->GetAchievementInterface()->HandleAchievementCriteriaWinBattleground( m_mapMgr->GetMapId(), diff, ((uint32)UNIXTIME - m_startTime) / 1000, TO_CBATTLEGROUND(this));
- + }
- + }
- + if (m_LiveCaptain[i])
- + {
- + //GiveHonorToTeam(i, m_bonusHonor * 2);
- + }
- + }
- +
- + UpdatePvPData();
- +}
- +
- +void IsleOfConquest::HookOnAreaTrigger(Player* plr, uint32 id)
- +{
- +}
- +
- +void IsleOfConquest::HookOnPlayerDeath(Player* plr)
- +{
- + plr->m_bgScore.Deaths++;
- + UpdatePvPData();
- + RemoveReinforcements(plr->GetTeam(), IOC_POINTS_ON_KILL);
- +}
- +
- +// we don't have flag in ioc
- +void IsleOfConquest::HookFlagDrop(Player* plr, GameObject* obj)
- +{
- +}
- +
- +void IsleOfConquest::HookFlagStand(Player* plr, GameObject* obj)
- +{
- +}
- +
- +bool IsleOfConquest::HookSlowLockOpen(GameObject* pGo, Player* pPlayer, Spell* pSpell)
- +{
- + //if( pPlayer->m_bgFlagIneligible )
- + return false;
- +
- + // burlex todo: find a cleaner way to do this that doesnt waste memory.
- + if(pGo->bannerslot >= 0 && pGo->bannerslot < IOC_NUM_CONTROL_POINTS)
- + {
- + // TODO: anticheat here
- + AssaultControlPoint(pPlayer,pGo->bannerslot);
- + return true;
- + }
- +
- + return false;
- +}
- +
- +void IsleOfConquest::HookOnMount(Player* plr)
- +{
- +}
- +
- +void IsleOfConquest::OnAddPlayer(Player* plr)
- +{
- + if(!m_started)
- + plr->CastSpell(plr, BG_PREPARATION, true);
- +}
- +
- +void IsleOfConquest::OnRemovePlayer(Player* plr)
- +{
- + plr->RemoveAura(BG_PREPARATION);
- +}
- +
- +void IsleOfConquest::HookOnShadowSight()
- +{
- +}
- +
- +void IsleOfConquest::SetIsWeekend(bool isweekend)
- +{
- +}
- +
- +void IsleOfConquest::HookOnUnitKill(Player* plr, Unit* pVictim)
- +{
- +}
- +
- +LocationVector IsleOfConquest::GetStartingCoords(uint32 Team)
- +{
- + if(Team) // Horde
- + return LocationVector(1264.06f, -736.73f, 48.91f, 3.07f);
- + else // Alliance
- + return LocationVector(303.22f, -857.02f, 48.91f, 5.99f);
- +}
- +
- +void IsleOfConquest::RemoveReinforcements(uint32 teamId, uint32 amt)
- +{
- +}
- +
- +
- +void IsleOfConquest::HookOnHK(Player* plr)
- +{
- + plr->m_bgScore.HonorableKills++;
- + UpdatePvPData();
- +}
- +
- +void IsleOfConquest::AssaultControlPoint(Player* pPlayer, uint32 Id)
- +{
- +}
- +
- +
- +
- +bool IsleOfConquest::HookHandleRepop(Player* plr)
- +{
- + float dist = 999999.0f;
- + LocationVector dest_pos;
- + if( plr->GetTeam() == 1 )
- + dest_pos.ChangeCoords(NoBaseGYLocations[1][0], NoBaseGYLocations[1][1], NoBaseGYLocations[1][2], NoBaseGYLocations[1][3]);
- + else
- + dest_pos.ChangeCoords(NoBaseGYLocations[0][0], NoBaseGYLocations[0][1], NoBaseGYLocations[0][2], NoBaseGYLocations[0][3]);
- +
- + // port to it
- + plr->SafeTeleport(plr->GetMapId(), plr->GetInstanceID(), dest_pos);
- + return false;
- +}
- Index: src/arcemu-world/IsleOfConquest.h
- ===================================================================
- --- src/arcemu-world/IsleOfConquest.h (revision 0)
- +++ src/arcemu-world/IsleOfConquest.h (revision 0)
- @@ -0,0 +1,76 @@
- +/*
- + * Arcemu
- + * Copyright (C) 2008 - 2011 Arcemu <http://www.arcemu.org/>
- + *
- + * This program is free software: you can redistribute it and/or modify
- + * it under the terms of the GNU Affero General Public License as published by
- + * the Free Software Foundation, either version 3 of the License, or
- + * 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 Affero General Public License for more details.
- + *
- + * You should have received a copy of the GNU Affero General Public License
- + * along with this program. If not, see <http://www.gnu.org/licenses/>.
- + *
- + */
- +
- +#ifndef IOC_BG_H
- +#define IOC_BG_H
- +
- +#define IOC_NUM_CONTROL_POINTS 7
- +
- +class IsleOfConquest : public CBattleground{
- + public:
- + IsleOfConquest( MapMgr *mgr, uint32 id, uint32 lgroup, uint32 t );
- + ~IsleOfConquest();
- + static CBattleground* Create(MapMgr* m, uint32 i, uint32 l, uint32 t) { return new IsleOfConquest(m, i, l, t); }
- +
- + void Init();
- + void OnCreate();
- + void OnStart();
- + void SpawnControlPoint( uint32 Id, uint32 Type );
- + void Finish( uint32 losingTeam );
- + void HookOnAreaTrigger( Player *plr, uint32 id );
- + void HookOnPlayerDeath( Player *plr );
- + void HookOnPlayerKill(Player* plr, Player* pVictim){}
- + void HookFlagDrop( Player *plr, GameObject *obj );
- + void HookOnFlagDrop( Player* plr ){}
- + void HookFlagStand( Player* plr, GameObject* obj );
- + bool HookSlowLockOpen( GameObject *pGo, Player* pPlayer, Spell *pSpell );
- + void HookOnMount( Player *plr );
- + void HookGenerateLoot(Player* plr, Object* pCorpse){}
- + void OnAddPlayer( Player *plr );
- + void OnRemovePlayer( Player *plr );
- + void HookOnShadowSight();
- + void SetIsWeekend( bool isweekend );
- + void HookOnUnitKill( Player *plr, Unit* pVictim );
- + LocationVector GetStartingCoords( uint32 Team );
- + void RemoveReinforcements( uint32 teamId, uint32 amt );
- + void HookOnHK( Player *plr );
- + void AssaultControlPoint( Player *pPlayer, uint32 Id );
- + bool HookHandleRepop( Player *plr );
- +
- + private:
- + GameObject *m_ioccontrolPointAuras[ IOC_NUM_CONTROL_POINTS ];
- + GameObject *m_ioccontrolPoints[ IOC_NUM_CONTROL_POINTS ];
- + Unit *m_spiritGuides[ IOC_NUM_CONTROL_POINTS ];
- + int32 m_basesAssaultedBy[ IOC_NUM_CONTROL_POINTS ];
- + int32 m_basesOwnedBy[ IOC_NUM_CONTROL_POINTS ];
- + int32 m_basesLastOwnedBy[ IOC_NUM_CONTROL_POINTS ];
- + bool m_flagIsVirgin[ IOC_NUM_CONTROL_POINTS ];
- +
- + uint32 m_capturedBases[2];
- + uint32 m_playerCountPerTeam;
- + uint32 m_reinforcements[2];
- + bool m_LiveCaptain[2];
- + GameObject *m_teleporters[ 6 ];
- + GameObject *m_teleeffect[ 6 ];
- + GameObject *m_desgates[ 3 ];
- + GameObject *m_ogates[ 3 ];
- + GameObject *m_flagpole[ IOC_NUM_CONTROL_POINTS ];
- +};
- +
- +#endif
- Index: src/arcemu-world/StdAfx.h
- ===================================================================
- --- src/arcemu-world/StdAfx.h (revision 4644)
- +++ src/arcemu-world/StdAfx.h (working copy)
- @@ -195,6 +195,7 @@
- #include "TaxiMgr.h"
- #include "TransporterHandler.h"
- #include "StrandOfTheAncient.h"
- +#include "IsleOfConquest.h"
- #include "WarsongGulch.h"
- #include "WeatherMgr.h"
- #include "World.h"
- Index: src/arcemu-world/WorldStates.h
- ===================================================================
- --- src/arcemu-world/WorldStates.h (revision 4644)
- +++ src/arcemu-world/WorldStates.h (working copy)
- @@ -240,9 +240,59 @@
- WORLDSTATE_WG_HORDE_CONTROL = 3802, // horde control
- WORLDSTATE_WG_ALLY_CONTROL = 3803, // alliance control
- WORLDSTATE_SOTA_CHAMBER_GATE = 3849, // Chamber of the ancient relics gate
- + WORLDSTATE_IOC_ALLIANCE_SCORE = 4221,
- + WORLDSTATE_IOC_HORDE_SCORE = 4222,
- + WORLDSTATE_IOC_WORKSHOP_ALLIANCE_ASSAULTED = 4228,
- + WORLDSTATE_IOC_WORKSHOP_ALLIANCE_CONTROLLED = 4229,
- + WORLDSTATE_IOC_WORKSHOP_HORDE_CONTROLLED = 4230,
- + WORLDSTATE_IOC_WORKSHOP_HORDE_ASSAULTED = 4293,
- + WORLDSTATE_IOC_WORKSHOP_NETURAL = 4294,
- + WORLDSTATE_IOC_HANGAR_NETURAL = 4296,
- + WORLDSTATE_IOC_HANGAR_HORDE_ASSAULTED = 4297,
- + WORLDSTATE_IOC_HANGAR_HORDE_CONTROLLED = 4298,
- + WORLDSTATE_IOC_HANGAR_ALLIANCE_CONTROLLED = 4299,
- + WORLDSTATE_IOC_HANGAR_ALLIANCE_ASSAULTED = 4300,
- + WORLDSTATE_IOC_DOCKS_NETURAL = 4301,
- + WORLDSTATE_IOC_DOCKS_HORDE_ASSAULTED = 4302,
- + WORLDSTATE_IOC_DOCKS_HORDE_CONTROLLED = 4303,
- + WORLDSTATE_IOC_DOCKS_ALLIANCE_CONTROLLED = 4304,
- + WORLDSTATE_IOC_DOCKS_ALLIANCE_ASSAULTED = 4305,
- + WORLDSTATE_IOC_QUARRY_NETURAL = 4306,
- + WORLDSTATE_IOC_QUARRY_HORDE_ASSAULTED = 4307,
- + WORLDSTATE_IOC_QUARRY_HORDE_CONTROLLED = 4308,
- + WORLDSTATE_IOC_QUARRY_ALLIANCE_CONTROLLED = 4309,
- + WORLDSTATE_IOC_QUARRY_ALLIANCE_ASSAULTED = 4310,
- + WORLDSTATE_IOC_REFINERY_NETURAL = 4311,
- + WORLDSTATE_IOC_REFINERY_HORDE_ASSAULTED = 4312,
- + WORLDSTATE_IOC_REFINERY_HORDE_CONTROLLED = 4313,
- + WORLDSTATE_IOC_REFINERY_ALLIANCE_CONTROLLED = 4314,
- + WORLDSTATE_IOC_REFINERY_ALLIANCE_ASSAULTED = 4315,
- + WORLDSTATE_IOC_HORDE_FRONT_GATE = 4317,
- + WORLDSTATE_IOC_HORDE_WEST_GATE = 4318,
- + WORLDSTATE_IOC_HORDE_EAST_GATE = 4319,
- + WORLDSTATE_IOC_HORDE_GATE_DESTROYED_2 = 4320,
- + WORLDSTATE_IOC_HORDE_GATE_DESTROYED_3 = 4321,
- + WORLDSTATE_IOC_HORDE_GATE_DESTROYED_1 = 4322,
- + WORLDSTATE_IOC_ALLIANCE_GATE_DESTROYED_1 = 4323,
- + WORLDSTATE_IOC_ALLIANCE_GATE_DESTROYED_3 = 4324,
- + WORLDSTATE_IOC_ALLIANCE_GATE_DESTROYED_2 = 4325,
- + WORLDSTATE_IOC_ALLIANCE_EAST_GATE = 4326,
- + WORLDSTATE_IOC_ALLIANCE_WEST_GATE = 4327,
- + WORLDSTATE_IOC_ALLIANCE_FRONT_GATE = 4328,
- + WORLDSTATE_IOC_ALLIANCE_KEEP_ALLIANCE_CONTROLLED = 4339,
- + WORLDSTATE_IOC_ALLIANCE_KEEP_HORDE_CONTROLLED = 4340,
- + WORLDSTATE_IOC_ALLIANCE_KEEP_NETURAL = 4341,
- + WORLDSTATE_IOC_ALLIANCE_KEEP_ALLIANCE_ASSAULTED = 4342,
- + WORLDSTATE_IOC_ALLIANCE_KEEP_HORDE_ASSAULTED = 4343,
- + WORLDSTATE_IOC_HORDE_KEEP_ALLIANCE_CONTROLLED = 4344,
- + WORLDSTATE_IOC_HORDE_KEEP_HORDE_CONTROLLED = 4345,
- + WORLDSTATE_IOC_HORDE_KEEP_NETURAL = 4346,
- + WORLDSTATE_IOC_HORDE_KEEP_ALLIANCE_ASSAULTED = 4347,
- + WORLDSTATE_IOC_HORDE_KEEP_HORDE_ASSAULTED = 4348,
- WORLDSTATE_SOTA_SHOW_ALLY_ROUND = 4352, // Alliance attacks, Horde defends
- WORLDSTATE_SOTA_SHOW_HORDE_ROUND = 4353, // Horder attacks, Alliance defends
- WORLDSTATE_WG_SHOW_NEXT_BATTLE = 4354, // unixtime of next battle ( shows it as time left in the UI )
- };
- +
- #endif // __WORLDSTATES_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement