Core/WorldStates: Migrate pvp season worldstates to new system
Port From (https://github.com/TrinityCore/TrinityCore/commit/5f601f53b8374ead5a6a8b734054ea623f74c24e)
This commit is contained in:
@@ -2990,6 +2990,9 @@ namespace Framework.Constants
|
||||
|
||||
public enum WorldStates
|
||||
{
|
||||
CurrentPvpSeasonId = 3191,
|
||||
PreviousPvpSeasonId = 3901,
|
||||
|
||||
BattlefieldWgVehicleH = 3490,
|
||||
BattlefieldWgMaxVehicleH = 3491,
|
||||
BattlefieldWgVehicleA = 3680,
|
||||
|
||||
@@ -2920,17 +2920,6 @@ namespace Game.Entities
|
||||
packet.AddState(2260, 0); // SCOURGE_EVENT_WORLDSTATE_AZSHARA
|
||||
packet.AddState(2259, 0); // SCOURGE_EVENT_WORLDSTATE_WINTERSPRING
|
||||
|
||||
// ARENA_SEASON_IN_PROGRESS
|
||||
// 7 - arena season in progress
|
||||
// 0 - end of season
|
||||
packet.AddState(3191, WorldConfig.GetBoolValue(WorldCfg.ArenaSeasonInProgress) ? WorldConfig.GetUIntValue(WorldCfg.ArenaSeasonId) : 0); // 7 Current Season - Arena season in progress
|
||||
|
||||
// Previous arena season id
|
||||
uint previousArenaSeason = 0;
|
||||
if (WorldConfig.GetBoolValue(WorldCfg.ArenaSeasonInProgress) && WorldConfig.GetIntValue(WorldCfg.ArenaSeasonId) > 0)
|
||||
previousArenaSeason = WorldConfig.GetUIntValue(WorldCfg.ArenaSeasonId) - 1;// 0 - End of season
|
||||
packet.AddState(3901, previousArenaSeason);
|
||||
|
||||
SendPacket(packet);
|
||||
}
|
||||
|
||||
|
||||
@@ -752,7 +752,7 @@ namespace Game
|
||||
Values[WorldCfg.ArenaRatingDiscardTimer] = GetDefaultValue("Arena.RatingDiscardTimer", 10 * Time.Minute * Time.InMilliseconds);
|
||||
Values[WorldCfg.ArenaRatedUpdateTimer] = GetDefaultValue("Arena.RatedUpdateTimer", 5 * Time.InMilliseconds);
|
||||
Values[WorldCfg.ArenaQueueAnnouncerEnable] = GetDefaultValue("Arena.QueueAnnouncer.Enable", false);
|
||||
Values[WorldCfg.ArenaSeasonId] = GetDefaultValue("Arena.ArenaSeason.ID", 15);
|
||||
Values[WorldCfg.ArenaSeasonId] = GetDefaultValue("Arena.ArenaSeason.ID", 32);
|
||||
Values[WorldCfg.ArenaStartRating] = GetDefaultValue("Arena.ArenaStartRating", 0);
|
||||
Values[WorldCfg.ArenaStartPersonalRating] = GetDefaultValue("Arena.ArenaStartPersonalRating", 1000);
|
||||
Values[WorldCfg.ArenaStartMatchmakerRating] = GetDefaultValue("Arena.ArenaStartMatchmakerRating", 1500);
|
||||
@@ -763,6 +763,12 @@ namespace Game
|
||||
Values[WorldCfg.ArenaLoseRatingModifier] = GetDefaultValue("Arena.ArenaLoseRatingModifier", 24.0f);
|
||||
Values[WorldCfg.ArenaMatchmakerRatingModifier] = GetDefaultValue("Arena.ArenaMatchmakerRatingModifier", 24.0f);
|
||||
|
||||
if (reload)
|
||||
{
|
||||
Global.WorldStateMgr.SetValue(WorldStates.CurrentPvpSeasonId, GetBoolValue(WorldCfg.ArenaSeasonInProgress) ? GetIntValue(WorldCfg.ArenaSeasonId) : 0, false, null);
|
||||
Global.WorldStateMgr.SetValue(WorldStates.PreviousPvpSeasonId, GetIntValue(WorldCfg.ArenaSeasonId) - (GetBoolValue(WorldCfg.ArenaSeasonInProgress) ? 1 : 0), false, null);
|
||||
}
|
||||
|
||||
Values[WorldCfg.OffhandCheckAtSpellUnlearn] = GetDefaultValue("OffhandCheckAtSpellUnlearn", true);
|
||||
|
||||
Values[WorldCfg.CreaturePickpocketRefill] = GetDefaultValue("Creature.PickPocketRefillDelay", 10 * Time.Minute);
|
||||
|
||||
@@ -895,6 +895,8 @@ namespace Game
|
||||
Log.outInfo(LogFilter.ServerLoading, "Loading World States..."); // must be loaded before Battleground, outdoor PvP and conditions
|
||||
LoadWorldStates();
|
||||
|
||||
Global.WorldStateMgr.SetValue(WorldStates.CurrentPvpSeasonId, WorldConfig.GetBoolValue(WorldCfg.ArenaSeasonInProgress) ? WorldConfig.GetIntValue(WorldCfg.ArenaSeasonId) : 0, false, null);
|
||||
Global.WorldStateMgr.SetValue(WorldStates.PreviousPvpSeasonId, WorldConfig.GetIntValue(WorldCfg.ArenaSeasonId) - (WorldConfig.GetBoolValue(WorldCfg.ArenaSeasonInProgress) ? 1 : 0), false, null);
|
||||
// TODO: this is temporary until custom world states are purged from old world state saved values
|
||||
Global.WorldStateMgr.SetValue(WorldStates.WarModeHordeBuffValue, (int)GetWorldState(WorldStates.WarModeHordeBuffValue), false, null);
|
||||
Global.WorldStateMgr.SetValue(WorldStates.WarModeAllianceBuffValue, (int)GetWorldState(WorldStates.WarModeAllianceBuffValue), false, null);
|
||||
|
||||
@@ -2848,9 +2848,9 @@ Arena.QueueAnnouncer.Enable = 0
|
||||
#
|
||||
# Arena.ArenaSeason.ID
|
||||
# Description: Current arena season id shown in clients.
|
||||
# Default: 15
|
||||
# Default: 32
|
||||
|
||||
Arena.ArenaSeason.ID = 15
|
||||
Arena.ArenaSeason.ID = 32
|
||||
|
||||
#
|
||||
# Arena.ArenaSeason.InProgress
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
UPDATE `world_state` SET `Comment`='Battlegrounds - Horde bases' WHERE `ID`=1778;
|
||||
UPDATE `world_state` SET `Comment`='Battlegrounds - Alliance bases' WHERE `ID`=1779;
|
||||
|
||||
DELETE FROM `world_state` WHERE `ID` IN (3191,3901);
|
||||
INSERT INTO `world_state` (`ID`,`DefaultValue`,`MapIDs`,`AreaIDs`,`ScriptName`,`Comment`) VALUES
|
||||
(3191,0,NULL,NULL,'','PvpSeason - Current season ID'),
|
||||
(3901,0,NULL,NULL,'','PvpSeason - Previous season ID');
|
||||
Reference in New Issue
Block a user