Core/OpenPVP: Fix Outdoor PVP objectives in Eastern Plaguelands - patch by retriman, converted by D_Skywalker

--HG--
branch : trunk
This commit is contained in:
click
2010-10-25 01:51:48 +02:00
parent 989f696d1e
commit 910264070c
2 changed files with 189 additions and 200 deletions
+189 -192
View File
@@ -37,39 +37,31 @@ OPvPCapturePointEP_EWT::OPvPCapturePointEP_EWT(OutdoorPvP *pvp)
void OPvPCapturePointEP_EWT::ChangeState()
{
if (fabs(m_value) == m_maxValue) // state won't change, only phase when maxed out!
// if changing from controlling alliance to horde or vice versa
if ( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
{
// if changing from controlling alliance to horde or vice versa
if (m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_EWT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = 0;
}
else if (m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_EWT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = 0;
}
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_EWT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = 0;
}
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_EWT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = 0;
}
uint32 artkit = 21;
uint32 artkit = 21;
switch(m_State)
{
switch (m_State)
{
case OBJECTIVESTATE_ALLIANCE:
if (m_value == m_maxValue)
m_TowerState = EP_TS_A;
else
m_TowerState = EP_TS_A_P;
m_TowerState = EP_TS_A;
artkit = 2;
SummonSupportUnitAtNorthpassTower(ALLIANCE);
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = ALLIANCE;
if (m_OldState != m_State) sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_CAPTURE_EWT_A));
break;
case OBJECTIVESTATE_HORDE:
if (m_value == -m_maxValue)
m_TowerState = EP_TS_H;
else
m_TowerState = EP_TS_H_P;
m_TowerState = EP_TS_H;
artkit = 1;
SummonSupportUnitAtNorthpassTower(HORDE);
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = HORDE;
@@ -86,25 +78,24 @@ void OPvPCapturePointEP_EWT::ChangeState()
case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
m_TowerState = EP_TS_N_H;
break;
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_EWT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_EWT_CM, 0);
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_EWT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_EWT_CM, 0);
}
void OPvPCapturePointEP_EWT::SendChangePhase()
@@ -122,8 +113,6 @@ void OPvPCapturePointEP_EWT::FillInitialWorldStates(WorldPacket &data)
{
data << EP_EWT_A << uint32(bool(m_TowerState & EP_TS_A));
data << EP_EWT_H << uint32(bool(m_TowerState & EP_TS_H));
data << EP_EWT_A_P << uint32(bool(m_TowerState & EP_TS_A_P));
data << EP_EWT_H_P << uint32(bool(m_TowerState & EP_TS_H_P));
data << EP_EWT_N_A << uint32(bool(m_TowerState & EP_TS_N_A));
data << EP_EWT_N_H << uint32(bool(m_TowerState & EP_TS_N_H));
data << EP_EWT_N << uint32(bool(m_TowerState & EP_TS_N));
@@ -133,8 +122,6 @@ void OPvPCapturePointEP_EWT::UpdateTowerState()
{
m_PvP->SendUpdateWorldState(EP_EWT_A , bool(m_TowerState & EP_TS_A));
m_PvP->SendUpdateWorldState(EP_EWT_H , bool(m_TowerState & EP_TS_H));
m_PvP->SendUpdateWorldState(EP_EWT_A_P , bool(m_TowerState & EP_TS_A_P));
m_PvP->SendUpdateWorldState(EP_EWT_H_P , bool(m_TowerState & EP_TS_H_P));
m_PvP->SendUpdateWorldState(EP_EWT_N_A , bool(m_TowerState & EP_TS_N_A));
m_PvP->SendUpdateWorldState(EP_EWT_N_H , bool(m_TowerState & EP_TS_N_H));
m_PvP->SendUpdateWorldState(EP_EWT_N , bool(m_TowerState & EP_TS_N));
@@ -188,39 +175,31 @@ OPvPCapturePointEP_NPT::OPvPCapturePointEP_NPT(OutdoorPvP *pvp)
void OPvPCapturePointEP_NPT::ChangeState()
{
if (fabs(m_value) == m_maxValue) // state won't change, only phase when maxed out!
// if changing from controlling alliance to horde or vice versa
if ( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
{
// if changing from controlling alliance to horde or vice versa
if (m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_NPT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = 0;
}
else if (m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_NPT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = 0;
}
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_NPT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = 0;
}
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_NPT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = 0;
}
uint32 artkit = 21;
uint32 artkit = 21;
switch(m_State)
{
switch (m_State)
{
case OBJECTIVESTATE_ALLIANCE:
if (m_value == m_maxValue)
m_TowerState = EP_TS_A;
else
m_TowerState = EP_TS_A_P;
m_TowerState = EP_TS_A;
artkit = 2;
SummonGO(ALLIANCE);
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = ALLIANCE;
if (m_OldState != m_State) sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_CAPTURE_NPT_A));
break;
case OBJECTIVESTATE_HORDE:
if (m_value == -m_maxValue)
m_TowerState = EP_TS_H;
else
m_TowerState = EP_TS_H_P;
m_TowerState = EP_TS_H;
artkit = 1;
SummonGO(HORDE);
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = HORDE;
@@ -232,32 +211,40 @@ void OPvPCapturePointEP_NPT::ChangeState()
DelObject(EP_NPT_BUFF);
break;
case OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE:
case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
m_TowerState = EP_TS_N_A;
break;
case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
m_TowerState = EP_TS_N_A;
m_SummonedGOSide = 0;
DelObject(EP_NPT_BUFF);
break;
case OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE:
case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
m_TowerState = EP_TS_N_H;
break;
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_NPT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_NPT_CM, 0);
case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
m_TowerState = EP_TS_N_H;
m_SummonedGOSide = 0;
DelObject(EP_NPT_BUFF);
break;
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_NPT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_NPT_CM, 0);
}
void OPvPCapturePointEP_NPT::SendChangePhase()
@@ -275,8 +262,6 @@ void OPvPCapturePointEP_NPT::FillInitialWorldStates(WorldPacket &data)
{
data << EP_NPT_A << uint32(bool(m_TowerState & EP_TS_A));
data << EP_NPT_H << uint32(bool(m_TowerState & EP_TS_H));
data << EP_NPT_A_P << uint32(bool(m_TowerState & EP_TS_A_P));
data << EP_NPT_H_P << uint32(bool(m_TowerState & EP_TS_H_P));
data << EP_NPT_N_A << uint32(bool(m_TowerState & EP_TS_N_A));
data << EP_NPT_N_H << uint32(bool(m_TowerState & EP_TS_N_H));
data << EP_NPT_N << uint32(bool(m_TowerState & EP_TS_N));
@@ -286,8 +271,6 @@ void OPvPCapturePointEP_NPT::UpdateTowerState()
{
m_PvP->SendUpdateWorldState(EP_NPT_A , bool(m_TowerState & EP_TS_A));
m_PvP->SendUpdateWorldState(EP_NPT_H , bool(m_TowerState & EP_TS_H));
m_PvP->SendUpdateWorldState(EP_NPT_A_P , bool(m_TowerState & EP_TS_A_P));
m_PvP->SendUpdateWorldState(EP_NPT_H_P , bool(m_TowerState & EP_TS_H_P));
m_PvP->SendUpdateWorldState(EP_NPT_N_A , bool(m_TowerState & EP_TS_N_A));
m_PvP->SendUpdateWorldState(EP_NPT_N_H , bool(m_TowerState & EP_TS_N_H));
m_PvP->SendUpdateWorldState(EP_NPT_N , bool(m_TowerState & EP_TS_N));
@@ -335,39 +318,31 @@ OPvPCapturePointEP_CGT::OPvPCapturePointEP_CGT(OutdoorPvP *pvp)
void OPvPCapturePointEP_CGT::ChangeState()
{
if (fabs(m_value) == m_maxValue) // state won't change, only phase when maxed out!
// if changing from controlling alliance to horde or vice versa
if( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
{
// if changing from controlling alliance to horde or vice versa
if (m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_CGT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = 0;
}
else if (m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_CGT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = 0;
}
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_CGT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = 0;
}
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_CGT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = 0;
}
uint32 artkit = 21;
uint32 artkit = 21;
switch(m_State)
{
switch (m_State)
{
case OBJECTIVESTATE_ALLIANCE:
if (m_value == m_maxValue)
m_TowerState = EP_TS_A;
else
m_TowerState = EP_TS_A_P;
m_TowerState = EP_TS_A;
artkit = 2;
LinkGraveYard(ALLIANCE);
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = ALLIANCE;
if (m_OldState != m_State) sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_CAPTURE_CGT_A));
break;
case OBJECTIVESTATE_HORDE:
if (m_value == -m_maxValue)
m_TowerState = EP_TS_H;
else
m_TowerState = EP_TS_H_P;
m_TowerState = EP_TS_H;
artkit = 1;
LinkGraveYard(HORDE);
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = HORDE;
@@ -384,25 +359,24 @@ void OPvPCapturePointEP_CGT::ChangeState()
case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
m_TowerState = EP_TS_N_H;
break;
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_CGT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_CGT_CM, 0);
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_CGT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_CGT_CM, 0);
}
void OPvPCapturePointEP_CGT::SendChangePhase()
@@ -420,8 +394,6 @@ void OPvPCapturePointEP_CGT::FillInitialWorldStates(WorldPacket &data)
{
data << EP_CGT_A << uint32(bool(m_TowerState & EP_TS_A));
data << EP_CGT_H << uint32(bool(m_TowerState & EP_TS_H));
data << EP_CGT_A_P << uint32(bool(m_TowerState & EP_TS_A_P));
data << EP_CGT_H_P << uint32(bool(m_TowerState & EP_TS_H_P));
data << EP_CGT_N_A << uint32(bool(m_TowerState & EP_TS_N_A));
data << EP_CGT_N_H << uint32(bool(m_TowerState & EP_TS_N_H));
data << EP_CGT_N << uint32(bool(m_TowerState & EP_TS_N));
@@ -431,8 +403,6 @@ void OPvPCapturePointEP_CGT::UpdateTowerState()
{
m_PvP->SendUpdateWorldState(EP_CGT_A , bool(m_TowerState & EP_TS_A));
m_PvP->SendUpdateWorldState(EP_CGT_H , bool(m_TowerState & EP_TS_H));
m_PvP->SendUpdateWorldState(EP_CGT_A_P , bool(m_TowerState & EP_TS_A_P));
m_PvP->SendUpdateWorldState(EP_CGT_H_P , bool(m_TowerState & EP_TS_H_P));
m_PvP->SendUpdateWorldState(EP_CGT_N_A , bool(m_TowerState & EP_TS_N_A));
m_PvP->SendUpdateWorldState(EP_CGT_N_H , bool(m_TowerState & EP_TS_N_H));
m_PvP->SendUpdateWorldState(EP_CGT_N , bool(m_TowerState & EP_TS_N));
@@ -477,39 +447,31 @@ OPvPCapturePointEP_PWT::OPvPCapturePointEP_PWT(OutdoorPvP *pvp)
void OPvPCapturePointEP_PWT::ChangeState()
{
if (fabs(m_value) == m_maxValue) // state won't change, only phase when maxed out!
// if changing from controlling alliance to horde or vice versa
if ( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
{
// if changing from controlling alliance to horde or vice versa
if (m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_PWT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = 0;
}
else if (m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State)
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_PWT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = 0;
}
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_PWT_A));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = 0;
}
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
{
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_PWT_H));
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = 0;
}
uint32 artkit = 21;
uint32 artkit = 21;
switch(m_State)
{
switch (m_State)
{
case OBJECTIVESTATE_ALLIANCE:
if (m_value == m_maxValue)
m_TowerState = EP_TS_A;
else
m_TowerState = EP_TS_A_P;
m_TowerState = EP_TS_A;
SummonFlightMaster(ALLIANCE);
artkit = 2;
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = ALLIANCE;
if (m_OldState != m_State) sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_CAPTURE_PWT_A));
break;
case OBJECTIVESTATE_HORDE:
if (m_value == -m_maxValue)
m_TowerState = EP_TS_H;
else
m_TowerState = EP_TS_H_P;
m_TowerState = EP_TS_H;
SummonFlightMaster(HORDE);
artkit = 1;
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = HORDE;
@@ -521,32 +483,39 @@ void OPvPCapturePointEP_PWT::ChangeState()
m_FlightMasterSpawned = 0;
break;
case OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE:
case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
m_TowerState = EP_TS_N_A;
break;
case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
m_TowerState = EP_TS_N_A;
DelCreature(EP_PWT_FLIGHTMASTER);
m_FlightMasterSpawned = 0;
break;
case OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE:
case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
m_TowerState = EP_TS_N_H;
break;
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_PWT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_PWT_CM, 0);
case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
m_TowerState = EP_TS_N_H;
DelCreature(EP_PWT_FLIGHTMASTER);
m_FlightMasterSpawned = 0;
break;
}
GameObject* flag = HashMapHolder<GameObject>::Find(m_capturePointGUID);
GameObject* flag2 = HashMapHolder<GameObject>::Find(m_Objects[EP_PWT_FLAGS]);
if (flag)
{
flag->SetGoArtKit(artkit);
}
if (flag2)
{
flag2->SetGoArtKit(artkit);
}
UpdateTowerState();
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
SendObjectiveComplete(EP_PWT_CM, 0);
}
void OPvPCapturePointEP_PWT::SendChangePhase()
@@ -564,8 +533,6 @@ void OPvPCapturePointEP_PWT::FillInitialWorldStates(WorldPacket &data)
{
data << EP_PWT_A << uint32(bool(m_TowerState & EP_TS_A));
data << EP_PWT_H << uint32(bool(m_TowerState & EP_TS_H));
data << EP_PWT_A_P << uint32(bool(m_TowerState & EP_TS_A_P));
data << EP_PWT_H_P << uint32(bool(m_TowerState & EP_TS_H_P));
data << EP_PWT_N_A << uint32(bool(m_TowerState & EP_TS_N_A));
data << EP_PWT_N_H << uint32(bool(m_TowerState & EP_TS_N_H));
data << EP_PWT_N << uint32(bool(m_TowerState & EP_TS_N));
@@ -575,8 +542,6 @@ void OPvPCapturePointEP_PWT::UpdateTowerState()
{
m_PvP->SendUpdateWorldState(EP_PWT_A , bool(m_TowerState & EP_TS_A));
m_PvP->SendUpdateWorldState(EP_PWT_H , bool(m_TowerState & EP_TS_H));
m_PvP->SendUpdateWorldState(EP_PWT_A_P , bool(m_TowerState & EP_TS_A_P));
m_PvP->SendUpdateWorldState(EP_PWT_H_P , bool(m_TowerState & EP_TS_H_P));
m_PvP->SendUpdateWorldState(EP_PWT_N_A , bool(m_TowerState & EP_TS_N_A));
m_PvP->SendUpdateWorldState(EP_PWT_N_H , bool(m_TowerState & EP_TS_N_H));
m_PvP->SendUpdateWorldState(EP_PWT_N , bool(m_TowerState & EP_TS_N));
@@ -608,6 +573,46 @@ void OPvPCapturePointEP_PWT::SummonFlightMaster(uint32 team)
m_FlightMasterSpawned = team;
DelCreature(EP_PWT_FLIGHTMASTER);
AddCreature(EP_PWT_FLIGHTMASTER,EP_PWT_FlightMaster.entry,team,EP_PWT_FlightMaster.map,EP_PWT_FlightMaster.x,EP_PWT_FlightMaster.y,EP_PWT_FlightMaster.z,EP_PWT_FlightMaster.o);
/*
// sky - we need update gso code
Creature * c = HashMapHolder<Creature>::Find(m_Creatures[EP_PWT_FLIGHTMASTER]);
//Spawn flight master as friendly to capturing team
c->SetUInt32Value(GAMEOBJECT_FACTION,(team == ALLIANCE ? 55 : 68));
if(c)
{
GossipOption gso;
gso.Action = GOSSIP_OPTION_OUTDOORPVP;
gso.GossipId = 0;
gso.OptionText.assign(sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_FLIGHT_NPT));
gso.Id = 50;
gso.Icon = 0;
gso.NpcFlag = 0;
gso.BoxMoney = 0;
gso.Coded = false;
c->addGossipOption(gso);
gso.Action = GOSSIP_OPTION_OUTDOORPVP;
gso.GossipId = 0;
gso.OptionText.assign(sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_FLIGHT_EWT));
gso.Id = 50;
gso.Icon = 0;
gso.NpcFlag = 0;
gso.BoxMoney = 0;
gso.Coded = false;
c->addGossipOption(gso);
gso.Action = GOSSIP_OPTION_OUTDOORPVP;
gso.GossipId = 0;
gso.OptionText.assign(sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_FLIGHT_CGT));
gso.Id = 50;
gso.Icon = 0;
gso.NpcFlag = 0;
gso.BoxMoney = 0;
gso.Coded = false;
c->addGossipOption(gso);
}
*/
}
}
@@ -733,32 +738,24 @@ void OutdoorPvPEP::SendRemoveWorldStates(Player *plr)
plr->SendUpdateWorldState(EP_EWT_A,0);
plr->SendUpdateWorldState(EP_EWT_H,0);
plr->SendUpdateWorldState(EP_EWT_N,0);
plr->SendUpdateWorldState(EP_EWT_A_P,0);
plr->SendUpdateWorldState(EP_EWT_H_P,0);
plr->SendUpdateWorldState(EP_EWT_N_A,0);
plr->SendUpdateWorldState(EP_EWT_N_H,0);
plr->SendUpdateWorldState(EP_PWT_A,0);
plr->SendUpdateWorldState(EP_PWT_H,0);
plr->SendUpdateWorldState(EP_PWT_N,0);
plr->SendUpdateWorldState(EP_PWT_A_P,0);
plr->SendUpdateWorldState(EP_PWT_H_P,0);
plr->SendUpdateWorldState(EP_PWT_N_A,0);
plr->SendUpdateWorldState(EP_PWT_N_H,0);
plr->SendUpdateWorldState(EP_NPT_A,0);
plr->SendUpdateWorldState(EP_NPT_H,0);
plr->SendUpdateWorldState(EP_NPT_N,0);
plr->SendUpdateWorldState(EP_NPT_A_P,0);
plr->SendUpdateWorldState(EP_NPT_H_P,0);
plr->SendUpdateWorldState(EP_NPT_N_A,0);
plr->SendUpdateWorldState(EP_NPT_N_H,0);
plr->SendUpdateWorldState(EP_CGT_A,0);
plr->SendUpdateWorldState(EP_CGT_H,0);
plr->SendUpdateWorldState(EP_CGT_N,0);
plr->SendUpdateWorldState(EP_CGT_A_P,0);
plr->SendUpdateWorldState(EP_CGT_H_P,0);
plr->SendUpdateWorldState(EP_CGT_N_A,0);
plr->SendUpdateWorldState(EP_CGT_N_H,0);
}
@@ -50,8 +50,6 @@ enum EP_EastwallTowerWorldStates
{
EP_EWT_A = 2354,
EP_EWT_H = 2356,
EP_EWT_A_P = 2357, // ally progressing
EP_EWT_H_P = 2358,
EP_EWT_N_A = 2359, // ally conquested
EP_EWT_N_H = 2360,
EP_EWT_N = 2361
@@ -62,8 +60,6 @@ enum EP_NorthpassTowerWorldStates
EP_NPT_N = 2352,
EP_NPT_N_A = 2362,
EP_NPT_N_H = 2363,
EP_NPT_A_P = 2364,
EP_NPT_H_P = 2365,
EP_NPT_A = 2372,
EP_NPT_H = 2373
};
@@ -72,8 +68,6 @@ enum EP_PlagewoodTowerWorldStates
{
EP_PWT_N_A = 2366,
EP_PWT_N_H = 2353, //2367 not present! use neutral!
EP_PWT_A_P = 2368,
EP_PWT_H_P = 2369,
EP_PWT_A = 2370,
EP_PWT_H = 2371,
EP_PWT_N = 2353
@@ -83,8 +77,6 @@ enum EP_CrownGuardTowerWorldStates
{
EP_CGT_N_A = 2374,
EP_CGT_N_H = 2375,
EP_CGT_A_P = 2376,
EP_CGT_H_P = 2377,
EP_CGT_A = 2378,
EP_CGT_H = 2379,
EP_CGT_N = 2355