aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp357
-rwxr-xr-xsrc/server/scripts/OutdoorPvP/OutdoorPvPEP.h8
2 files changed, 177 insertions, 188 deletions
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
index 0ddc186801a..556b06abc6e 100755
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
@@ -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);
- }
+ 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();
+ UpdateTowerState();
- // complete quest objective
- if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
- SendObjectiveComplete(EP_EWT_CM, 0);
- }
+ // 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:
+ 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:
+ m_TowerState = EP_TS_N_H;
+ break;
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);
- }
+ 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();
+ UpdateTowerState();
+
+ // complete quest objective
+ if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
+ SendObjectiveComplete(EP_NPT_CM, 0);
- // 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);
- }
+ 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();
+ UpdateTowerState();
- // complete quest objective
- if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
- SendObjectiveComplete(EP_CGT_CM, 0);
- }
+ // 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:
+ 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:
+ m_TowerState = EP_TS_N_H;
+ break;
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);
- }
+ 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();
+ UpdateTowerState();
- // complete quest objective
- if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
- SendObjectiveComplete(EP_PWT_CM, 0);
- }
+ // 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);
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
index b254f2a3622..134c2efdfba 100755
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
@@ -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