SotA Fixes:
*When 10 min are over in the first round, the ship does appear in the second round *Defender's Portals *Seaforium Charges spawned *Graveyards not recappable by the defenders Thanks to beberlescaraber for some pieces of the code and the exact locations. Fixes issue #2665 Fixes issue #2585 Fixes issue #2638 Fixes issue #2781 --HG-- branch : trunk
This commit is contained in:
@@ -146,9 +146,27 @@ bool BattleGroundSA::ResetObjs()
|
||||
}
|
||||
|
||||
//GY capture points
|
||||
for (uint8 i = BG_SA_CENTRAL_FLAG; i < BG_SA_MAXOBJ; i++)
|
||||
for (uint8 i = BG_SA_CENTRAL_FLAG; i < BG_SA_PORTAL_DEFFENDER_BLUE; i++)
|
||||
{
|
||||
AddObject(i, BG_SA_ObjEntries[(i + (attackers == TEAM_ALLIANCE ? 3:0))],
|
||||
AddObject(i, (BG_SA_ObjEntries[i] - (attackers == TEAM_ALLIANCE ? 1:0)),
|
||||
BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1],
|
||||
BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3],
|
||||
0,0,0,0,RESPAWN_ONE_DAY);
|
||||
GetBGObject(i)->SetUInt32Value(GAMEOBJECT_FACTION, atF);
|
||||
}
|
||||
|
||||
for (uint8 i = BG_SA_PORTAL_DEFFENDER_BLUE; i < BG_SA_BOMB; i++)
|
||||
{
|
||||
AddObject(i, BG_SA_ObjEntries[i],
|
||||
BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1],
|
||||
BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3],
|
||||
0,0,0,0,RESPAWN_ONE_DAY);
|
||||
GetBGObject(i)->SetUInt32Value(GAMEOBJECT_FACTION, defF);
|
||||
}
|
||||
|
||||
for (uint8 i = BG_SA_BOMB; i < BG_SA_MAXOBJ; i++)
|
||||
{
|
||||
AddObject(i, BG_SA_ObjEntries[BG_SA_BOMB],
|
||||
BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1],
|
||||
BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3],
|
||||
0,0,0,0,RESPAWN_ONE_DAY);
|
||||
@@ -302,7 +320,10 @@ void BattleGroundSA::Update(uint32 diff)
|
||||
TotalTime = 0;
|
||||
status = BG_SA_SECOND_WARMUP;
|
||||
attackers = (attackers == TEAM_ALLIANCE) ? TEAM_HORDE : TEAM_ALLIANCE;
|
||||
status = BG_SA_SECOND_WARMUP;
|
||||
UpdateWaitTimer = 5000;
|
||||
SignaledRoundTwo = false;
|
||||
SignaledRoundTwoHalfMin = false;
|
||||
InitSecondRound = true;
|
||||
ToggleTimer();
|
||||
ResetObjs();
|
||||
return;
|
||||
@@ -665,6 +686,9 @@ void BattleGroundSA::EventPlayerClickedOnFlag(Player *Source, GameObject* target
|
||||
|
||||
void BattleGroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player *Source)
|
||||
{
|
||||
if (GraveyardStatus[i] == attackers)
|
||||
return;
|
||||
|
||||
DelCreature(BG_SA_MAXNPC + i);
|
||||
GraveyardStatus[i] = Source->GetTeamId();
|
||||
WorldSafeLocsEntry const *sg = NULL;
|
||||
@@ -678,7 +702,7 @@ void BattleGroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player *Source)
|
||||
case BG_SA_LEFT_CAPTURABLE_GY:
|
||||
flag = BG_SA_LEFT_FLAG;
|
||||
DelObject(flag);
|
||||
AddObject(flag,BG_SA_ObjEntries[(flag + (Source->GetTeamId() == TEAM_ALLIANCE ? 0:3))],
|
||||
AddObject(flag,(BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0:1)),
|
||||
BG_SA_ObjSpawnlocs[flag][0],BG_SA_ObjSpawnlocs[flag][1],
|
||||
BG_SA_ObjSpawnlocs[flag][2],BG_SA_ObjSpawnlocs[flag][3],0,0,0,0,RESPAWN_ONE_DAY);
|
||||
|
||||
@@ -697,7 +721,7 @@ void BattleGroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player *Source)
|
||||
case BG_SA_RIGHT_CAPTURABLE_GY:
|
||||
flag = BG_SA_RIGHT_FLAG;
|
||||
DelObject(flag);
|
||||
AddObject(flag,BG_SA_ObjEntries[(flag + (Source->GetTeamId() == TEAM_ALLIANCE ? 0:3))],
|
||||
AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0:1)),
|
||||
BG_SA_ObjSpawnlocs[flag][0],BG_SA_ObjSpawnlocs[flag][1],
|
||||
BG_SA_ObjSpawnlocs[flag][2],BG_SA_ObjSpawnlocs[flag][3],0,0,0,0,RESPAWN_ONE_DAY);
|
||||
|
||||
@@ -716,7 +740,7 @@ void BattleGroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player *Source)
|
||||
case BG_SA_CENTRAL_CAPTURABLE_GY:
|
||||
flag = BG_SA_CENTRAL_FLAG;
|
||||
DelObject(flag);
|
||||
AddObject(flag,BG_SA_ObjEntries[(flag + (Source->GetTeamId() == TEAM_ALLIANCE ? 0:3))],
|
||||
AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0:1)),
|
||||
BG_SA_ObjSpawnlocs[flag][0],BG_SA_ObjSpawnlocs[flag][1],
|
||||
BG_SA_ObjSpawnlocs[flag][2],BG_SA_ObjSpawnlocs[flag][3],0,0,0,0,RESPAWN_ONE_DAY);
|
||||
|
||||
@@ -806,11 +830,8 @@ void BattleGroundSA::UpdateDemolisherSpawns()
|
||||
{
|
||||
uint8 gy = (i >= BG_SA_DEMOLISHER_3 ? 3 : 2);
|
||||
if (GraveyardStatus[gy] == attackers)
|
||||
Demolisher->Relocate(BG_SA_NpcSpawnlocs[i + 6][0], BG_SA_NpcSpawnlocs[i + 6][1],
|
||||
BG_SA_NpcSpawnlocs[i + 6][2], BG_SA_NpcSpawnlocs[i + 6][3]);
|
||||
else
|
||||
Demolisher->Relocate(BG_SA_NpcSpawnlocs[i][0], BG_SA_NpcSpawnlocs[i][1],
|
||||
BG_SA_NpcSpawnlocs[i][2], BG_SA_NpcSpawnlocs[i][3]);
|
||||
Demolisher->Relocate(BG_SA_NpcSpawnlocs[i + 11][0], BG_SA_NpcSpawnlocs[i + 10][1],
|
||||
BG_SA_NpcSpawnlocs[i + 10][2], BG_SA_NpcSpawnlocs[i + 10][3]);
|
||||
|
||||
Demolisher->Respawn();
|
||||
}
|
||||
|
||||
@@ -110,6 +110,11 @@ enum BG_SA_NPCs
|
||||
BG_SA_DEMOLISHER_2,
|
||||
BG_SA_DEMOLISHER_3,
|
||||
BG_SA_DEMOLISHER_4,
|
||||
BG_SA_NPC_TRIGGER_1,
|
||||
BG_SA_NPC_TRIGGER_2,
|
||||
BG_SA_NPC_TRIGGER_3,
|
||||
BG_SA_NPC_TRIGGER_4,
|
||||
BG_SA_NPC_TRIGGER_5,
|
||||
BG_SA_NPC_SPARKLIGHT,
|
||||
BG_SA_NPC_RIGSPARK,
|
||||
BG_SA_MAXNPC
|
||||
@@ -132,9 +137,15 @@ const uint32 BG_SA_NpcEntries[BG_SA_MAXNPC] =
|
||||
28781,
|
||||
28781,
|
||||
28781,
|
||||
//Triggers
|
||||
23472,
|
||||
23472,
|
||||
23472,
|
||||
23472,
|
||||
23472,
|
||||
//Fizzle Sparklight, or whatever his name was
|
||||
29260,
|
||||
29262,
|
||||
29262
|
||||
};
|
||||
|
||||
const float BG_SA_NpcSpawnlocs[BG_SA_MAXNPC + BG_SA_DEMOLISHER_AMOUNT][4] =
|
||||
@@ -155,6 +166,12 @@ const float BG_SA_NpcSpawnlocs[BG_SA_MAXNPC + BG_SA_DEMOLISHER_AMOUNT][4] =
|
||||
{ 1575.562500,-158.421875,5.024450,2.129302},
|
||||
{ 1618.047729,61.424641,7.248210,3.979351},
|
||||
{ 1575.103149,98.873344,2.830360,3.752458},
|
||||
//trigger
|
||||
{ 1453.49, -250.453, 30.896, 4.2883},
|
||||
{ 1377.05, 97.036, 30.8605, 2.46539},
|
||||
{ 1186.05, 58.8048, 56.5491, 2.75992},
|
||||
{ 1042.83, -72.839, 84.8145, 3.58615},
|
||||
{ 1233.62, -250.49, 55.4036, 3.7016},
|
||||
//Npcs
|
||||
{ 1348.644165, -298.786469, 31.080130, 1.710423},
|
||||
{ 1358.191040, 195.527786, 31.018187, 4.171337},
|
||||
@@ -162,7 +179,7 @@ const float BG_SA_NpcSpawnlocs[BG_SA_MAXNPC + BG_SA_DEMOLISHER_AMOUNT][4] =
|
||||
{ 1371.055786, -317.071136, 35.007359, 1.947460},
|
||||
{ 1424.034912, -260.195190, 31.084425, 2.820013},
|
||||
{ 1353.139893, 223.745438, 35.265411, 4.343684},
|
||||
{ 1404.809570, 197.027237, 32.046032, 3.605401},
|
||||
{ 1404.809570, 197.027237, 32.046032, 3.605401}
|
||||
};
|
||||
|
||||
enum BG_SA_Objects
|
||||
@@ -187,7 +204,13 @@ enum BG_SA_Objects
|
||||
BG_SA_CENTRAL_FLAG,
|
||||
BG_SA_RIGHT_FLAG,
|
||||
BG_SA_LEFT_FLAG,
|
||||
BG_SA_MAXOBJ
|
||||
BG_SA_PORTAL_DEFFENDER_BLUE,
|
||||
BG_SA_PORTAL_DEFFENDER_GREEN,
|
||||
BG_SA_PORTAL_DEFFENDER_YELLOW,
|
||||
BG_SA_PORTAL_DEFFENDER_PURPLE,
|
||||
BG_SA_PORTAL_DEFFENDER_RED,
|
||||
BG_SA_BOMB,
|
||||
BG_SA_MAXOBJ = BG_SA_BOMB+68
|
||||
};
|
||||
|
||||
const float BG_SA_ObjSpawnlocs[BG_SA_MAXOBJ][4] =
|
||||
@@ -216,6 +239,81 @@ const float BG_SA_ObjSpawnlocs[BG_SA_MAXOBJ][4] =
|
||||
{ 1215.108032,-65.715767,70.084267,-3.124123},
|
||||
{ 1338.859253,-153.327316,30.895077,-2.530723},
|
||||
{ 1309.192017,9.416233,30.893402,1.518436},
|
||||
//Portal
|
||||
{1468.380005, -225.798996, 30.896200, 0.0}, //blue
|
||||
{1394.270020, 72.551399, 31.054300, 0.0},//green
|
||||
{1065.260010, -89.79501, 81.073402, 0.0},//yellow
|
||||
{1216.069946, 47.904301, 54.278198,0.0}, //purple
|
||||
{1255.569946, -233.548996, 56.43699, 0.0},//red
|
||||
//Bombs
|
||||
{1333.45, 211.354, 31.0538, 5.03666},
|
||||
{1334.29, 209.582, 31.0532, 1.28088},
|
||||
{1332.72, 210.049, 31.0532, 1.28088},
|
||||
{1334.28, 210.78, 31.0538, 3.85856},
|
||||
{1332.64, 211.39, 31.0532, 1.29266},
|
||||
{1371.41, 194.028, 31.5107, 0.753095},
|
||||
{1372.39, 194.951, 31.4679, 0.753095},
|
||||
{1371.58, 196.942, 30.9349, 1.01777},
|
||||
{1370.43, 196.614, 30.9349, 0.957299},
|
||||
{1369.46, 196.877, 30.9351, 2.45348},
|
||||
{1370.35, 197.361, 30.9349, 1.08689},
|
||||
{1369.47, 197.941, 30.9349, 0.984787},
|
||||
{1592.49, 47.5969, 7.52271, 4.63218},
|
||||
{1593.91, 47.8036, 7.65856, 4.63218},
|
||||
{1593.13, 46.8106, 7.54073, 4.63218},
|
||||
{1589.22, 36.3616, 7.45975, 4.64396},
|
||||
{1588.24, 35.5842, 7.55613, 4.79564},
|
||||
{1588.14, 36.7611, 7.49675, 4.79564},
|
||||
{1595.74, 35.5278, 7.46602, 4.90246},
|
||||
{1596, 36.6475, 7.47991, 4.90246},
|
||||
{1597.03, 36.2356, 7.48631, 4.90246},
|
||||
{1597.93, 37.1214, 7.51725, 4.90246},
|
||||
{1598.16, 35.888, 7.50018, 4.90246},
|
||||
{1579.6, -98.0917, 8.48478, 1.37996},
|
||||
{1581.2, -98.401, 8.47483, 1.37996},
|
||||
{1580.38, -98.9556, 8.4772, 1.38781},
|
||||
{1585.68, -104.966, 8.88551, 0.493246},
|
||||
{1586.15, -106.033, 9.10616, 0.493246},
|
||||
{1584.88, -105.394, 8.82985, 0.493246},
|
||||
{1581.87, -100.899, 8.46164, 0.929142},
|
||||
{1581.48, -99.4657, 8.46926, 0.929142},
|
||||
{1583.2, -91.2291, 8.49227, 1.40038},
|
||||
{1581.94, -91.0119, 8.49977, 1.40038},
|
||||
{1582.33, -91.951, 8.49353, 1.1844},
|
||||
{1342.06, -304.049, 30.9532, 5.59507},
|
||||
{1340.96, -304.536, 30.9458, 1.28323},
|
||||
{1341.22, -303.316, 30.9413, 0.486051},
|
||||
{1342.22, -302.939, 30.986, 4.87643},
|
||||
{1382.16, -287.466, 32.3063, 4.80968},
|
||||
{1381, -287.58, 32.2805, 4.80968},
|
||||
{1381.55, -286.536, 32.3929, 2.84225},
|
||||
{1382.75, -286.354, 32.4099, 1.00442},
|
||||
{1379.92, -287.34, 32.2872, 3.81615},
|
||||
{1100.52, -2.41391, 70.2984, 0.131054},
|
||||
{1099.35, -2.13851, 70.3375, 4.4586},
|
||||
{1099.59, -1.00329, 70.238, 2.49903},
|
||||
{1097.79, 0.571316, 70.159, 4.00307},
|
||||
{1098.74, -7.23252, 70.7972, 4.1523},
|
||||
{1098.46, -5.91443, 70.6715, 4.1523},
|
||||
{1097.53, -7.39704, 70.7959, 4.1523},
|
||||
{1097.32, -6.64233, 70.7424, 4.1523},
|
||||
{1096.45, -5.96664, 70.7242, 4.1523},
|
||||
{971.725, 0.496763, 86.8467, 2.09233},
|
||||
{973.589, 0.119518, 86.7985, 3.17225},
|
||||
{972.524, 1.25333, 86.8351, 5.28497},
|
||||
{971.993, 2.05668, 86.8584, 5.28497},
|
||||
{973.635, 2.11805, 86.8197, 2.36722},
|
||||
{974.791, 1.74679, 86.7942, 1.5936},
|
||||
{974.771, 3.0445, 86.8125, 0.647199},
|
||||
{979.554, 3.6037, 86.7923, 1.69178},
|
||||
{979.758, 2.57519, 86.7748, 1.76639},
|
||||
{980.769, 3.48904, 86.7939, 1.76639},
|
||||
{979.122, 2.87109, 86.7794, 1.76639},
|
||||
{986.167, 4.85363, 86.8439, 1.5779},
|
||||
{986.176, 3.50367, 86.8217, 1.5779},
|
||||
{987.33, 4.67389, 86.8486, 1.5779},
|
||||
{985.23, 4.65898, 86.8368, 1.5779},
|
||||
{984.556, 3.54097, 86.8137, 1.5779},
|
||||
};
|
||||
|
||||
/* Ships:
|
||||
@@ -253,9 +351,12 @@ const uint32 BG_SA_ObjEntries[BG_SA_MAXOBJ + BG_SA_FLAG_AMOUNT] =
|
||||
191310,
|
||||
191306,
|
||||
191308,
|
||||
191309,
|
||||
191305,
|
||||
191307,
|
||||
192819,
|
||||
192819,
|
||||
192819,
|
||||
192819,
|
||||
192819,
|
||||
190753
|
||||
};
|
||||
|
||||
const uint32 BG_SA_Factions[2] =
|
||||
|
||||
Reference in New Issue
Block a user