diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp | 357 | ||||
-rwxr-xr-x | src/server/scripts/OutdoorPvP/OutdoorPvPEP.h | 8 |
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 |