Core/Players: Implement warband scene collection

Port From (https://github.com/TrinityCore/TrinityCore/commit/29e032707686b18bbcce7029e8dd2eaa6606f6d4)
This commit is contained in:
Hondacrx
2025-06-16 16:42:29 -04:00
parent af80dc75f2
commit 9287b9b3a7
15 changed files with 349 additions and 23 deletions
+2
View File
@@ -392,6 +392,7 @@ namespace Game.DataStorage
VehicleStorage = ReadDB2<VehicleRecord>("Vehicle.db2", HotfixStatements.SEL_VEHICLE);
VehicleSeatStorage = ReadDB2<VehicleSeatRecord>("VehicleSeat.db2", HotfixStatements.SEL_VEHICLE_SEAT);
VignetteStorage = ReadDB2<VignetteRecord>("Vignette.db2", HotfixStatements.SEL_VIGNETTE, HotfixStatements.SEL_VIGNETTE_LOCALE);
WarbandSceneStorage = ReadDB2<WarbandSceneRecord>("WarbandScene.db2", HotfixStatements.SEL_WARBAND_SCENE, HotfixStatements.SEL_WARBAND_SCENE_LOCALE);
WMOAreaTableStorage = ReadDB2<WMOAreaTableRecord>("WMOAreaTable.db2", HotfixStatements.SEL_WMO_AREA_TABLE, HotfixStatements.SEL_WMO_AREA_TABLE_LOCALE);
WorldEffectStorage = ReadDB2<WorldEffectRecord>("WorldEffect.db2", HotfixStatements.SEL_WORLD_EFFECT);
WorldMapOverlayStorage = ReadDB2<WorldMapOverlayRecord>("WorldMapOverlay.db2", HotfixStatements.SEL_WORLD_MAP_OVERLAY);
@@ -790,6 +791,7 @@ namespace Game.DataStorage
public static DB6Storage<VehicleRecord> VehicleStorage;
public static DB6Storage<VehicleSeatRecord> VehicleSeatStorage;
public static DB6Storage<VignetteRecord> VignetteStorage;
public static DB6Storage<WarbandSceneRecord> WarbandSceneStorage;
public static DB6Storage<WMOAreaTableRecord> WMOAreaTableStorage;
public static DB6Storage<WorldEffectRecord> WorldEffectStorage;
public static DB6Storage<WorldMapOverlayRecord> WorldMapOverlayStorage;
@@ -2,9 +2,31 @@
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
using Framework.Constants;
using System.Numerics;
namespace Game.DataStorage
{
public sealed class WarbandSceneRecord
{
public LocalizedString Name;
public LocalizedString Description;
public LocalizedString Source;
public Vector3 Position;
public Vector3 LookAt;
public uint Id;
public uint MapID;
public float Fov;
public int TimeOfDay;
public int Flags;
public int SoundAmbienceID;
public sbyte Quality;
public int TextureKit;
public int DefaultScenePriority;
public sbyte SourceType;
public WarbandSceneFlags GetFlags() { return (WarbandSceneFlags)Flags; }
}
public sealed class WMOAreaTableRecord
{
public string AreaName;