diff options
| author | megamage <none@none> | 2009-08-10 23:38:51 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-08-10 23:38:51 -0500 |
| commit | c8ed3cf1e963250cd7a64ceff493b8a370632867 (patch) | |
| tree | 2653cd15347be0f53d6dc0de7f7009e36668ad84 /src/game/OutdoorPvPTF.cpp | |
| parent | 31374835f6d4ef983d75af1209125d9db08442af (diff) | |
*Some update of opvp (no real change)
--HG--
branch : trunk
Diffstat (limited to 'src/game/OutdoorPvPTF.cpp')
| -rw-r--r-- | src/game/OutdoorPvPTF.cpp | 125 |
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); } |
