Core/Misc: Move WorldState enum to SharedDefines
Port From (https://github.com/TrinityCore/TrinityCore/commit/ca62d93481f60807679c8632e09fa6f48f29de68)
This commit is contained in:
@@ -874,20 +874,6 @@ namespace Framework.Constants
|
||||
Garrison = 0x4000000
|
||||
}
|
||||
|
||||
public enum WorldStates
|
||||
{
|
||||
CurrencyResetTime = 20001, // Next currency reset time
|
||||
WeeklyQuestResetTime = 20002, // Next weekly quest reset time
|
||||
BGDailyResetTime = 20003, // Next daily BG reset time
|
||||
CleaningFlags = 20004, // Cleaning Flags
|
||||
GuildDailyResetTime = 20006, // Next guild cap reset time
|
||||
MonthlyQuestResetTime = 20007, // Next monthly quest reset time
|
||||
DailyQuestResetTime = 20008, // Next daily quest reset time
|
||||
DailyCalendarDeletionOldEventsTime = 20009, // Next daily calendar deletions of old events time
|
||||
// Cata specific custom worldstates
|
||||
GuildWeeklyResetTime = 20050, // Next guild week reset time
|
||||
}
|
||||
|
||||
// values based at Holidays.dbc
|
||||
public enum HolidayIds
|
||||
{
|
||||
@@ -2950,4 +2936,38 @@ namespace Framework.Constants
|
||||
WestparkWorkshop = 4611,
|
||||
EastparkWorkshop = 4612,
|
||||
}
|
||||
|
||||
public enum WorldStates
|
||||
{
|
||||
BattlefieldWgVehicleH = 3490,
|
||||
BattlefieldWgMaxVehicleH = 3491,
|
||||
BattlefieldWgVehicleA = 3680,
|
||||
BattlefieldWgMaxVehicleA = 3681,
|
||||
BattlefieldWgWorkshopKW = 3698,
|
||||
BattlefieldWgWorkshopKE = 3699,
|
||||
BattlefieldWgWorkshopNw = 3700,
|
||||
BattlefieldWgWorkshopNe = 3701,
|
||||
BattlefieldWgWorkshopSw = 3702,
|
||||
BattlefieldWgWorkshopSe = 3703,
|
||||
BattlefieldWgShowWorldstate = 3710,
|
||||
BattlefieldWgTimeBattleEnd = 3781,
|
||||
BattlefieldWgActive = 3801,
|
||||
BattlefieldWgDefender = 3802,
|
||||
BattlefieldWgAttacker = 3803,
|
||||
BattlefieldWgAttackedH = 4022,
|
||||
BattlefieldWgAttackedA = 4023,
|
||||
BattlefieldWgDefendedH = 4024,
|
||||
BattlefieldWgDefendedA = 4025,
|
||||
BattlefieldWgTimeNextBattle = 4354,
|
||||
|
||||
CurrencyResetTime = 20001, // Next Arena Distribution Time
|
||||
WeeklyQuestResetTime = 20002, // Next Weekly Quest Reset Time
|
||||
BgDailyResetTime = 20003, // Next Daily Bg Reset Time
|
||||
CleaningFlags = 20004, // Cleaning Flags
|
||||
GuildDailyResetTime = 20006, // Next Guild Cap Reset Time
|
||||
MonthlyQuestResetTime = 20007, // Next Monthly Quest Reset Time
|
||||
DailyQuestResetTime = 20008, // Next Daily Quest Reset Time
|
||||
DailyCalendarDeletionOldEventsTime = 20009, // Next Daily Calendar Deletions Of Old Events Time
|
||||
GuildWeeklyResetTime = 20050, // Next Guild Week Reset Time
|
||||
}
|
||||
}
|
||||
|
||||
@@ -468,6 +468,11 @@ namespace Game.BattleFields
|
||||
Global.CreatureTextMgr.SendChat(stalker, (byte)id, target);
|
||||
}
|
||||
|
||||
public void SendUpdateWorldState(WorldStates variable, uint value, bool hidden = false)
|
||||
{
|
||||
SendUpdateWorldState((uint)variable, value, hidden);
|
||||
}
|
||||
|
||||
public void SendUpdateWorldState(uint variable, uint value, bool hidden = false)
|
||||
{
|
||||
UpdateWorldState worldstate = new();
|
||||
|
||||
@@ -61,15 +61,15 @@ namespace Game.BattleFields
|
||||
m_saveTimer = 60000;
|
||||
|
||||
// Load from db
|
||||
if ((Global.WorldMgr.GetWorldState(WGWorldStates.Active) == 0) && (Global.WorldMgr.GetWorldState(WGWorldStates.Defender) == 0) && (Global.WorldMgr.GetWorldState(WGConst.ClockWorldState[0]) == 0))
|
||||
if ((Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgActive) == 0) && (Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgDefender) == 0) && (Global.WorldMgr.GetWorldState(WGConst.ClockWorldState[0]) == 0))
|
||||
{
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.Active, 0);
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.Defender, RandomHelper.URand(0, 1));
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgActive, 0);
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgDefender, RandomHelper.URand(0, 1));
|
||||
Global.WorldMgr.SetWorldState(WGConst.ClockWorldState[0], m_NoWarBattleTime);
|
||||
}
|
||||
|
||||
m_isActive = Global.WorldMgr.GetWorldState(WGWorldStates.Active) != 0;
|
||||
m_DefenderTeam = Global.WorldMgr.GetWorldState(WGWorldStates.Defender);
|
||||
m_isActive = Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgActive) != 0;
|
||||
m_DefenderTeam = Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgDefender);
|
||||
|
||||
m_Timer = Global.WorldMgr.GetWorldState(WGConst.ClockWorldState[0]);
|
||||
if (m_isActive)
|
||||
@@ -78,10 +78,10 @@ namespace Game.BattleFields
|
||||
m_Timer = m_RestartAfterCrash;
|
||||
}
|
||||
|
||||
SetData(WGData.WonA, Global.WorldMgr.GetWorldState(WGWorldStates.AttackedA));
|
||||
SetData(WGData.DefA, Global.WorldMgr.GetWorldState(WGWorldStates.DefendedA));
|
||||
SetData(WGData.WonH, Global.WorldMgr.GetWorldState(WGWorldStates.AttackedH));
|
||||
SetData(WGData.DefH, Global.WorldMgr.GetWorldState(WGWorldStates.DefendedH));
|
||||
SetData(WGData.WonA, Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgAttackedA));
|
||||
SetData(WGData.DefA, Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgDefendedA));
|
||||
SetData(WGData.WonH, Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgAttackedH));
|
||||
SetData(WGData.DefH, Global.WorldMgr.GetWorldState(WorldStates.BattlefieldWgDefendedH));
|
||||
|
||||
foreach (var gy in WGConst.WGGraveYard)
|
||||
{
|
||||
@@ -163,13 +163,13 @@ namespace Game.BattleFields
|
||||
bool m_return = base.Update(diff);
|
||||
if (m_saveTimer <= diff)
|
||||
{
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.Active, m_isActive);
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.Defender, m_DefenderTeam);
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgActive, m_isActive);
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgDefender, m_DefenderTeam);
|
||||
Global.WorldMgr.SetWorldState(WGConst.ClockWorldState[0], m_Timer);
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.AttackedA, GetData(WGData.WonA));
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.DefendedA, GetData(WGData.DefA));
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.AttackedH, GetData(WGData.WonH));
|
||||
Global.WorldMgr.SetWorldState(WGWorldStates.DefendedH, GetData(WGData.DefH));
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgAttackedA, GetData(WGData.WonA));
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgDefendedA, GetData(WGData.DefA));
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgAttackedH, GetData(WGData.WonH));
|
||||
Global.WorldMgr.SetWorldState(WorldStates.BattlefieldWgDefendedH, GetData(WGData.DefH));
|
||||
m_saveTimer = 60 * Time.InMilliseconds;
|
||||
}
|
||||
else
|
||||
@@ -763,19 +763,19 @@ namespace Game.BattleFields
|
||||
|
||||
public override void FillInitialWorldStates(InitWorldStates packet)
|
||||
{
|
||||
packet.AddState(WGWorldStates.Attacker, (int)GetAttackerTeam());
|
||||
packet.AddState(WGWorldStates.Defender, (int)GetDefenderTeam());
|
||||
packet.AddState(WorldStates.BattlefieldWgAttacker, (int)GetAttackerTeam());
|
||||
packet.AddState(WorldStates.BattlefieldWgDefender, (int)GetDefenderTeam());
|
||||
// Note: cleanup these two, their names look awkward
|
||||
packet.AddState(WGWorldStates.Active, IsWarTime());
|
||||
packet.AddState(WGWorldStates.ShowWorldstate, IsWarTime());
|
||||
packet.AddState(WorldStates.BattlefieldWgActive, IsWarTime());
|
||||
packet.AddState(WorldStates.BattlefieldWgShowWorldstate, IsWarTime());
|
||||
|
||||
for (uint i = 0; i < 2; ++i)
|
||||
packet.AddState(WGConst.ClockWorldState[i], (int)(GameTime.GetGameTime() + (m_Timer / 1000)));
|
||||
|
||||
packet.AddState(WGWorldStates.VehicleH, (int)GetData(WGData.VehicleH));
|
||||
packet.AddState(WGWorldStates.MaxVehicleH, (int)GetData(WGData.MaxVehicleH));
|
||||
packet.AddState(WGWorldStates.VehicleA, (int)GetData(WGData.VehicleA));
|
||||
packet.AddState(WGWorldStates.MaxVehicleA, (int)GetData(WGData.MaxVehicleA));
|
||||
packet.AddState(WorldStates.BattlefieldWgVehicleH, (int)GetData(WGData.VehicleH));
|
||||
packet.AddState(WorldStates.BattlefieldWgMaxVehicleH, (int)GetData(WGData.MaxVehicleH));
|
||||
packet.AddState(WorldStates.BattlefieldWgVehicleA, (int)GetData(WGData.VehicleA));
|
||||
packet.AddState(WorldStates.BattlefieldWgMaxVehicleA, (int)GetData(WGData.MaxVehicleA));
|
||||
|
||||
foreach (BfWGGameObjectBuilding building in BuildingsInZone)
|
||||
building.FillInitialWorldStates(packet);
|
||||
@@ -922,10 +922,10 @@ namespace Game.BattleFields
|
||||
// Update vehicle count WorldState to player
|
||||
void UpdateVehicleCountWG()
|
||||
{
|
||||
SendUpdateWorldState(WGWorldStates.VehicleH, GetData(WGData.VehicleH));
|
||||
SendUpdateWorldState(WGWorldStates.MaxVehicleH, GetData(WGData.MaxVehicleH));
|
||||
SendUpdateWorldState(WGWorldStates.VehicleA, GetData(WGData.VehicleA));
|
||||
SendUpdateWorldState(WGWorldStates.MaxVehicleA, GetData(WGData.MaxVehicleA));
|
||||
SendUpdateWorldState(WorldStates.BattlefieldWgVehicleH, GetData(WGData.VehicleH));
|
||||
SendUpdateWorldState(WorldStates.BattlefieldWgMaxVehicleH, GetData(WGData.MaxVehicleH));
|
||||
SendUpdateWorldState(WorldStates.BattlefieldWgVehicleA, GetData(WGData.VehicleA));
|
||||
SendUpdateWorldState(WorldStates.BattlefieldWgMaxVehicleA, GetData(WGData.MaxVehicleA));
|
||||
}
|
||||
|
||||
void UpdateTenacity()
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Game.BattleFields
|
||||
new BfWGCoordGY(5140.790f, 2179.120f, 390.950f, 1.972220f, 1332, WGGossipText.GYAlliance, TeamId.Alliance),
|
||||
};
|
||||
|
||||
public static uint[] ClockWorldState = { 3781, 4354 };
|
||||
public static WorldStates[] ClockWorldState = { WorldStates.BattlefieldWgTimeBattleEnd, WorldStates.BattlefieldWgTimeNextBattle };
|
||||
public static uint[] WintergraspFaction = { 1732, 1735, 35 };
|
||||
|
||||
public static Position WintergraspStalkerPos = new(4948.985f, 2937.789f, 550.5172f, 1.815142f);
|
||||
@@ -308,7 +308,7 @@ namespace Game.BattleFields
|
||||
new StaticWintergraspWorkshopInfo()
|
||||
{
|
||||
WorkshopId = WGWorkshopIds.Ne,
|
||||
WorldStateId = WGWorldStates.NE,
|
||||
WorldStateId = WorldStates.BattlefieldWgWorkshopNe,
|
||||
AllianceCaptureTextId = WintergraspText.SunkenRingCaptureAlliance,
|
||||
AllianceAttackTextId = WintergraspText.SunkenRingAttackAlliance,
|
||||
HordeCaptureTextId = WintergraspText.SunkenRingCaptureHorde,
|
||||
@@ -317,7 +317,7 @@ namespace Game.BattleFields
|
||||
new StaticWintergraspWorkshopInfo()
|
||||
{
|
||||
WorkshopId = WGWorkshopIds.Nw,
|
||||
WorldStateId = WGWorldStates.NW,
|
||||
WorldStateId = WorldStates.BattlefieldWgWorkshopNw,
|
||||
AllianceCaptureTextId = WintergraspText.BrokenTempleCaptureAlliance,
|
||||
AllianceAttackTextId = WintergraspText.BrokenTempleAttackAlliance,
|
||||
HordeCaptureTextId = WintergraspText.BrokenTempleCaptureHorde,
|
||||
@@ -326,7 +326,7 @@ namespace Game.BattleFields
|
||||
new StaticWintergraspWorkshopInfo()
|
||||
{
|
||||
WorkshopId = WGWorkshopIds.Se,
|
||||
WorldStateId = WGWorldStates.SE,
|
||||
WorldStateId = WorldStates.BattlefieldWgWorkshopSe,
|
||||
AllianceCaptureTextId = WintergraspText.EastsparkCaptureAlliance,
|
||||
AllianceAttackTextId = WintergraspText.EastsparkAttackAlliance,
|
||||
HordeCaptureTextId = WintergraspText.EastsparkCaptureHorde,
|
||||
@@ -336,7 +336,7 @@ namespace Game.BattleFields
|
||||
new StaticWintergraspWorkshopInfo()
|
||||
{
|
||||
WorkshopId = WGWorkshopIds.Sw,
|
||||
WorldStateId = WGWorldStates.SW,
|
||||
WorldStateId = WorldStates.BattlefieldWgWorkshopSw,
|
||||
AllianceCaptureTextId = WintergraspText.WestsparkCaptureAlliance,
|
||||
AllianceAttackTextId = WintergraspText.WestsparkAttackAlliance,
|
||||
HordeCaptureTextId = WintergraspText.WestsparkCaptureHorde,
|
||||
@@ -347,13 +347,13 @@ namespace Game.BattleFields
|
||||
new StaticWintergraspWorkshopInfo()
|
||||
{
|
||||
WorkshopId = WGWorkshopIds.KeepWest,
|
||||
WorldStateId = WGWorldStates.KeepW
|
||||
WorldStateId = WorldStates.BattlefieldWgWorkshopKW
|
||||
},
|
||||
|
||||
new StaticWintergraspWorkshopInfo()
|
||||
{
|
||||
WorkshopId = WGWorkshopIds.KeepEast,
|
||||
WorldStateId = WGWorldStates.KeepE
|
||||
WorldStateId = WorldStates.BattlefieldWgWorkshopKE
|
||||
}
|
||||
};
|
||||
#endregion
|
||||
@@ -501,29 +501,6 @@ namespace Game.BattleFields
|
||||
public const byte KeepEast = 5;
|
||||
}
|
||||
|
||||
struct WGWorldStates
|
||||
{
|
||||
public const uint NE = 3701;
|
||||
public const uint NW = 3700;
|
||||
public const uint SE = 3703;
|
||||
public const uint SW = 3702;
|
||||
public const uint KeepW = 3698;
|
||||
public const uint KeepE = 3699;
|
||||
|
||||
public const uint VehicleH = 3490;
|
||||
public const uint MaxVehicleH = 3491;
|
||||
public const uint VehicleA = 3680;
|
||||
public const uint MaxVehicleA = 3681;
|
||||
public const uint Active = 3801;
|
||||
public const uint Defender = 3802;
|
||||
public const uint Attacker = 3803;
|
||||
public const uint ShowWorldstate = 3710;
|
||||
public const uint AttackedH = 4022;
|
||||
public const uint AttackedA = 4023;
|
||||
public const uint DefendedH = 4024;
|
||||
public const uint DefendedA = 4025;
|
||||
}
|
||||
|
||||
struct WGGossipText
|
||||
{
|
||||
public const int GYNE = 20071;
|
||||
@@ -715,7 +692,7 @@ namespace Game.BattleFields
|
||||
class StaticWintergraspWorkshopInfo
|
||||
{
|
||||
public byte WorkshopId;
|
||||
public uint WorldStateId;
|
||||
public WorldStates WorldStateId;
|
||||
public byte AllianceCaptureTextId;
|
||||
public byte AllianceAttackTextId;
|
||||
public byte HordeCaptureTextId;
|
||||
|
||||
@@ -729,9 +729,9 @@ namespace Game.Entities
|
||||
BattleField wg = Global.BattleFieldMgr.GetBattlefieldByBattleId(1);//Wintergrasp battle
|
||||
if (wg != null)
|
||||
{
|
||||
SendUpdateWorldState(3801, (uint)(wg.IsWarTime() ? 0 : 1));
|
||||
SendUpdateWorldState(WorldStates.BattlefieldWgActive, (uint)(wg.IsWarTime() ? 0 : 1));
|
||||
uint timer = wg.IsWarTime() ? 0 : (wg.GetTimer() / 1000); // 0 - Time to next battle
|
||||
SendUpdateWorldState(4354, (uint)(GameTime.GetGameTime() + timer));
|
||||
SendUpdateWorldState(WorldStates.BattlefieldWgTimeNextBattle, (uint)(GameTime.GetGameTime() + timer));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2837,6 +2837,11 @@ namespace Game.Entities
|
||||
|
||||
public CinematicManager GetCinematicMgr() { return _cinematicMgr; }
|
||||
|
||||
public void SendUpdateWorldState(WorldStates variable, uint value, bool hidden = false)
|
||||
{
|
||||
SendUpdateWorldState((uint)variable, value, hidden);
|
||||
}
|
||||
|
||||
public void SendUpdateWorldState(uint variable, uint value, bool hidden = false)
|
||||
{
|
||||
UpdateWorldState worldstate = new();
|
||||
|
||||
@@ -38,11 +38,21 @@ namespace Game.Networking.Packets
|
||||
}
|
||||
}
|
||||
|
||||
public void AddState(WorldStates variableID, int value)
|
||||
{
|
||||
AddState((uint)variableID, value);
|
||||
}
|
||||
|
||||
public void AddState(uint variableID, int value)
|
||||
{
|
||||
Worldstates.Add(new WorldStateInfo(variableID, value));
|
||||
}
|
||||
|
||||
public void AddState(WorldStates variableID, bool value)
|
||||
{
|
||||
AddState((uint)variableID, value);
|
||||
}
|
||||
|
||||
public void AddState(uint variableID, bool value)
|
||||
{
|
||||
Worldstates.Add(new WorldStateInfo(variableID, value ? 1 : 0));
|
||||
|
||||
@@ -2116,7 +2116,7 @@ namespace Game
|
||||
|
||||
void InitRandomBGResetTime()
|
||||
{
|
||||
long bgtime = GetWorldState(WorldStates.BGDailyResetTime);
|
||||
long bgtime = GetWorldState(WorldStates.BgDailyResetTime);
|
||||
if (bgtime == 0)
|
||||
m_NextRandomBGReset = GameTime.GetGameTime(); // game time not yet init
|
||||
|
||||
@@ -2134,7 +2134,7 @@ namespace Game
|
||||
m_NextRandomBGReset = bgtime < curTime ? nextDayResetTime - Time.Day : nextDayResetTime;
|
||||
|
||||
if (bgtime == 0)
|
||||
SetWorldState(WorldStates.BGDailyResetTime, (ulong)m_NextRandomBGReset);
|
||||
SetWorldState(WorldStates.BgDailyResetTime, (ulong)m_NextRandomBGReset);
|
||||
}
|
||||
|
||||
void InitCalendarOldEventsDeletionTime()
|
||||
@@ -2230,7 +2230,7 @@ namespace Game
|
||||
session.GetPlayer().SetRandomWinner(false);
|
||||
|
||||
m_NextRandomBGReset += Time.Day;
|
||||
SetWorldState(WorldStates.BGDailyResetTime, (ulong)m_NextRandomBGReset);
|
||||
SetWorldState(WorldStates.BgDailyResetTime, (ulong)m_NextRandomBGReset);
|
||||
}
|
||||
|
||||
void CalendarDeleteOldEvents()
|
||||
@@ -2319,7 +2319,7 @@ namespace Game
|
||||
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} world states in {1} ms", count, Time.GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
|
||||
public void SetWorldState(WorldStates index, ulong value)
|
||||
public void SetWorldState(WorldStates index, object value)
|
||||
{
|
||||
SetWorldState((uint)index, value);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user