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
|
public enum WorldStates
|
||||||
{
|
{
|
||||||
|
CurrentPvpSeasonId = 3191,
|
||||||
|
PreviousPvpSeasonId = 3901,
|
||||||
|
|
||||||
BattlefieldWgVehicleH = 3490,
|
BattlefieldWgVehicleH = 3490,
|
||||||
BattlefieldWgMaxVehicleH = 3491,
|
BattlefieldWgMaxVehicleH = 3491,
|
||||||
BattlefieldWgVehicleA = 3680,
|
BattlefieldWgVehicleA = 3680,
|
||||||
|
|||||||
@@ -2920,17 +2920,6 @@ namespace Game.Entities
|
|||||||
packet.AddState(2260, 0); // SCOURGE_EVENT_WORLDSTATE_AZSHARA
|
packet.AddState(2260, 0); // SCOURGE_EVENT_WORLDSTATE_AZSHARA
|
||||||
packet.AddState(2259, 0); // SCOURGE_EVENT_WORLDSTATE_WINTERSPRING
|
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);
|
SendPacket(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -752,7 +752,7 @@ namespace Game
|
|||||||
Values[WorldCfg.ArenaRatingDiscardTimer] = GetDefaultValue("Arena.RatingDiscardTimer", 10 * Time.Minute * Time.InMilliseconds);
|
Values[WorldCfg.ArenaRatingDiscardTimer] = GetDefaultValue("Arena.RatingDiscardTimer", 10 * Time.Minute * Time.InMilliseconds);
|
||||||
Values[WorldCfg.ArenaRatedUpdateTimer] = GetDefaultValue("Arena.RatedUpdateTimer", 5 * Time.InMilliseconds);
|
Values[WorldCfg.ArenaRatedUpdateTimer] = GetDefaultValue("Arena.RatedUpdateTimer", 5 * Time.InMilliseconds);
|
||||||
Values[WorldCfg.ArenaQueueAnnouncerEnable] = GetDefaultValue("Arena.QueueAnnouncer.Enable", false);
|
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.ArenaStartRating] = GetDefaultValue("Arena.ArenaStartRating", 0);
|
||||||
Values[WorldCfg.ArenaStartPersonalRating] = GetDefaultValue("Arena.ArenaStartPersonalRating", 1000);
|
Values[WorldCfg.ArenaStartPersonalRating] = GetDefaultValue("Arena.ArenaStartPersonalRating", 1000);
|
||||||
Values[WorldCfg.ArenaStartMatchmakerRating] = GetDefaultValue("Arena.ArenaStartMatchmakerRating", 1500);
|
Values[WorldCfg.ArenaStartMatchmakerRating] = GetDefaultValue("Arena.ArenaStartMatchmakerRating", 1500);
|
||||||
@@ -763,6 +763,12 @@ namespace Game
|
|||||||
Values[WorldCfg.ArenaLoseRatingModifier] = GetDefaultValue("Arena.ArenaLoseRatingModifier", 24.0f);
|
Values[WorldCfg.ArenaLoseRatingModifier] = GetDefaultValue("Arena.ArenaLoseRatingModifier", 24.0f);
|
||||||
Values[WorldCfg.ArenaMatchmakerRatingModifier] = GetDefaultValue("Arena.ArenaMatchmakerRatingModifier", 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.OffhandCheckAtSpellUnlearn] = GetDefaultValue("OffhandCheckAtSpellUnlearn", true);
|
||||||
|
|
||||||
Values[WorldCfg.CreaturePickpocketRefill] = GetDefaultValue("Creature.PickPocketRefillDelay", 10 * Time.Minute);
|
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
|
Log.outInfo(LogFilter.ServerLoading, "Loading World States..."); // must be loaded before Battleground, outdoor PvP and conditions
|
||||||
LoadWorldStates();
|
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
|
// 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.WarModeHordeBuffValue, (int)GetWorldState(WorldStates.WarModeHordeBuffValue), false, null);
|
||||||
Global.WorldStateMgr.SetValue(WorldStates.WarModeAllianceBuffValue, (int)GetWorldState(WorldStates.WarModeAllianceBuffValue), false, null);
|
Global.WorldStateMgr.SetValue(WorldStates.WarModeAllianceBuffValue, (int)GetWorldState(WorldStates.WarModeAllianceBuffValue), false, null);
|
||||||
|
|||||||
@@ -2848,9 +2848,9 @@ Arena.QueueAnnouncer.Enable = 0
|
|||||||
#
|
#
|
||||||
# Arena.ArenaSeason.ID
|
# Arena.ArenaSeason.ID
|
||||||
# Description: Current arena season id shown in clients.
|
# Description: Current arena season id shown in clients.
|
||||||
# Default: 15
|
# Default: 32
|
||||||
|
|
||||||
Arena.ArenaSeason.ID = 15
|
Arena.ArenaSeason.ID = 32
|
||||||
|
|
||||||
#
|
#
|
||||||
# Arena.ArenaSeason.InProgress
|
# 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