aboutsummaryrefslogtreecommitdiff
path: root/src/game/OutdoorPvPTF.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-08-10 23:38:51 -0500
committermegamage <none@none>2009-08-10 23:38:51 -0500
commitc8ed3cf1e963250cd7a64ceff493b8a370632867 (patch)
tree2653cd15347be0f53d6dc0de7f7009e36668ad84 /src/game/OutdoorPvPTF.cpp
parent31374835f6d4ef983d75af1209125d9db08442af (diff)
*Some update of opvp (no real change)
--HG-- branch : trunk
Diffstat (limited to 'src/game/OutdoorPvPTF.cpp')
-rw-r--r--src/game/OutdoorPvPTF.cpp125
1 files changed, 61 insertions, 64 deletions
diff --git a/src/game/OutdoorPvPTF.cpp b/src/game/OutdoorPvPTF.cpp
index 1b2a16f0c1d..01fc9a10386 100644
--- a/src/game/OutdoorPvPTF.cpp
+++ b/src/game/OutdoorPvPTF.cpp
@@ -239,74 +239,71 @@ bool OPvPCapturePointTF::Update(uint32 diff)
((((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled > 0) && m_activePlayers[0].size() < m_activePlayers[1].size());
// if gathers the other faction, then only update if the pvp is unlocked
canupdate = canupdate || !((OutdoorPvPTF*)m_PvP)->m_IsLocked;
- if(canupdate && OPvPCapturePoint::Update(diff))
- {
- if(m_OldState != m_State)
- {
- // if changing from controlling alliance to horde
- if( m_OldState == OBJECTIVESTATE_ALLIANCE )
- {
- if(((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled)
- ((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled--;
- sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOOSE_A));
- }
- // if changing from controlling horde to alliance
- else if ( m_OldState == OBJECTIVESTATE_HORDE )
- {
- if(((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled)
- ((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled--;
- sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOOSE_H));
- }
+ return canupdate && OPvPCapturePoint::Update(diff);
+}
- uint32 artkit = 21;
+void OPvPCapturePointTF::ChangeState()
+{
+ // if changing from controlling alliance to horde
+ if( m_OldState == OBJECTIVESTATE_ALLIANCE )
+ {
+ if(((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled)
+ ((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled--;
+ sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOOSE_A));
+ }
+ // if changing from controlling horde to alliance
+ else if ( m_OldState == OBJECTIVESTATE_HORDE )
+ {
+ if(((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled)
+ ((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled--;
+ sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOOSE_H));
+ }
- switch(m_State)
- {
- case OBJECTIVESTATE_ALLIANCE:
- m_TowerState = TF_TOWERSTATE_A;
- artkit = 2;
- if(((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled<TF_TOWER_NUM)
- ((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled++;
- sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_CAPTURE_A));
- break;
- case OBJECTIVESTATE_HORDE:
- m_TowerState = TF_TOWERSTATE_H;
- artkit = 1;
- if(((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled<TF_TOWER_NUM)
- ((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled++;
- sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_CAPTURE_H));
- break;
- case OBJECTIVESTATE_NEUTRAL:
- case OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE:
- case OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE:
- case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
- case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
- m_TowerState = TF_TOWERSTATE_N;
- break;
- }
-
- GameObject* flag = HashMapHolder<GameObject>::Find(m_CapturePointGUID);
- if(flag)
- {
- flag->SetGoArtKit(artkit);
- flag->SendUpdateObjectToAllExcept(NULL);
- }
+ uint32 artkit = 21;
- UpdateTowerState();
- }
+ switch(m_State)
+ {
+ case OBJECTIVESTATE_ALLIANCE:
+ m_TowerState = TF_TOWERSTATE_A;
+ artkit = 2;
+ if(((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled<TF_TOWER_NUM)
+ ((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled++;
+ sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_CAPTURE_A));
+ break;
+ case OBJECTIVESTATE_HORDE:
+ m_TowerState = TF_TOWERSTATE_H;
+ artkit = 1;
+ if(((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled<TF_TOWER_NUM)
+ ((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled++;
+ sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],objmgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_CAPTURE_H));
+ break;
+ case OBJECTIVESTATE_NEUTRAL:
+ case OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE:
+ case OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE:
+ case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
+ case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
+ m_TowerState = TF_TOWERSTATE_N;
+ break;
+ }
- if(m_ShiftPhase != m_OldPhase)
- {
- // send this too, sometimes the slider disappears, dunno why :(
- SendUpdateWorldState(TF_UI_TOWER_SLIDER_DISPLAY, 1);
- // send these updates to only the ones in this objective
- uint32 phase = (uint32)ceil(( m_ShiftPhase + m_ShiftMaxPhase) / ( 2 * m_ShiftMaxPhase ) * 100.0f);
- SendUpdateWorldState(TF_UI_TOWER_SLIDER_POS, phase);
- // send this too, sometimes it resets :S
- SendUpdateWorldState(TF_UI_TOWER_SLIDER_N, m_NeutralValue);
- }
- return m_OldState != m_State;
+ GameObject* flag = HashMapHolder<GameObject>::Find(m_CapturePointGUID);
+ if(flag)
+ {
+ flag->SetGoArtKit(artkit);
+ flag->SendUpdateObjectToAllExcept(NULL);
}
- return false;
+
+ UpdateTowerState();
+}
+
+void OPvPCapturePointTF::SendChangePhase()
+{
+ // send this too, sometimes the slider disappears, dunno why :(
+ SendUpdateWorldState(TF_UI_TOWER_SLIDER_DISPLAY, 1);
+ // send these updates to only the ones in this objective
+ uint32 phase = (uint32)ceil(( m_ShiftPhase + m_ShiftMaxPhase) / ( 2 * m_ShiftMaxPhase ) * 100.0f);
+ SendUpdateWorldState(TF_UI_TOWER_SLIDER_POS, phase);
+ // send this too, sometimes it resets :S
+ SendUpdateWorldState(TF_UI_TOWER_SLIDER_N, m_NeutralValue);
}