BFA Update (still lots of testing to do tho)
This commit is contained in:
@@ -23,21 +23,30 @@ namespace Game.DataStorage
|
||||
{
|
||||
public class AchievementRecord
|
||||
{
|
||||
public string Title;
|
||||
public string Description;
|
||||
public string Title;
|
||||
public string Reward;
|
||||
public AchievementFlags Flags;
|
||||
public uint Id;
|
||||
public short InstanceID;
|
||||
public AchievementFaction Faction;
|
||||
public ushort Supercedes;
|
||||
public ushort Category;
|
||||
public ushort UiOrder;
|
||||
public ushort SharesCriteria;
|
||||
public AchievementFaction Faction;
|
||||
public byte Points;
|
||||
public byte MinimumCriteria;
|
||||
public uint Id;
|
||||
public byte Points;
|
||||
public AchievementFlags Flags;
|
||||
public ushort UiOrder;
|
||||
public uint IconFileID;
|
||||
public ushort CriteriaTree;
|
||||
public uint CriteriaTree;
|
||||
public ushort SharesCriteria;
|
||||
}
|
||||
|
||||
public sealed class AnimationDataRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort Fallback;
|
||||
public byte BehaviorTier;
|
||||
public int BehaviorID;
|
||||
public int[] Flags = new int[2];
|
||||
}
|
||||
|
||||
public sealed class AnimKitRecord
|
||||
@@ -60,27 +69,27 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public string ZoneName;
|
||||
public LocalizedString AreaName;
|
||||
public AreaFlags[] Flags = new AreaFlags[2];
|
||||
public float AmbientMultiplier;
|
||||
public ushort ContinentID;
|
||||
public ushort ParentAreaID;
|
||||
public short AreaBit;
|
||||
public ushort AmbienceID;
|
||||
public ushort ZoneMusic;
|
||||
public ushort IntroSound;
|
||||
public ushort[] LiquidTypeID = new ushort[4];
|
||||
public ushort UwZoneMusic;
|
||||
public ushort UwAmbience;
|
||||
public ushort PvpCombastWorldStateID;
|
||||
public byte SoundProviderPref;
|
||||
public byte SoundProviderPrefUnderwater;
|
||||
public ushort AmbienceID;
|
||||
public ushort UwAmbience;
|
||||
public ushort ZoneMusic;
|
||||
public ushort UwZoneMusic;
|
||||
public byte ExplorationLevel;
|
||||
public ushort IntroSound;
|
||||
public byte UwIntroSound;
|
||||
public byte FactionGroupMask;
|
||||
public float AmbientMultiplier;
|
||||
public byte MountFlags;
|
||||
public ushort PvpCombastWorldStateID;
|
||||
public byte WildBattlePetLevelMin;
|
||||
public byte WildBattlePetLevelMax;
|
||||
public byte WindSettingsID;
|
||||
public byte UwIntroSound;
|
||||
public AreaFlags[] Flags = new AreaFlags[2];
|
||||
public ushort[] LiquidTypeID = new ushort[4];
|
||||
|
||||
public bool IsSanctuary()
|
||||
{
|
||||
@@ -94,20 +103,20 @@ namespace Game.DataStorage
|
||||
public sealed class AreaTriggerRecord
|
||||
{
|
||||
public Vector3 Pos;
|
||||
public uint Id;
|
||||
public ushort ContinentID;
|
||||
public sbyte PhaseUseFlags;
|
||||
public ushort PhaseID;
|
||||
public ushort PhaseGroupID;
|
||||
public float Radius;
|
||||
public float BoxLength;
|
||||
public float BoxWidth;
|
||||
public float BoxHeight;
|
||||
public float BoxYaw;
|
||||
public ushort ContinentID;
|
||||
public ushort PhaseID;
|
||||
public ushort PhaseGroupID;
|
||||
public ushort ShapeID;
|
||||
public ushort AreaTriggerActionSetID;
|
||||
public byte PhaseUseFlags;
|
||||
public byte ShapeType;
|
||||
public byte Flags;
|
||||
public uint Id;
|
||||
public sbyte ShapeType;
|
||||
public short ShapeID;
|
||||
public short AreaTriggerActionSetID;
|
||||
public sbyte Flags;
|
||||
}
|
||||
|
||||
public sealed class ArmorLocationRecord
|
||||
@@ -122,67 +131,67 @@ namespace Game.DataStorage
|
||||
|
||||
public sealed class ArtifactRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public uint UiBarOverlayColor;
|
||||
public uint UiBarBackgroundColor;
|
||||
public uint UiNameColor;
|
||||
public uint Id;
|
||||
public ushort UiTextureKitID;
|
||||
public int UiNameColor;
|
||||
public int UiBarOverlayColor;
|
||||
public int UiBarBackgroundColor;
|
||||
public ushort ChrSpecializationID;
|
||||
public byte ArtifactCategoryID;
|
||||
public byte Flags;
|
||||
public byte UiModelSceneID;
|
||||
public byte ArtifactCategoryID;
|
||||
public uint UiModelSceneID;
|
||||
public uint SpellVisualKitID;
|
||||
}
|
||||
|
||||
public sealed class ArtifactAppearanceRecord
|
||||
{
|
||||
public string Name;
|
||||
public uint UiSwatchColor;
|
||||
public uint Id;
|
||||
public ushort ArtifactAppearanceSetID;
|
||||
public byte DisplayIndex;
|
||||
public uint UnlockPlayerConditionID;
|
||||
public byte ItemAppearanceModifierID;
|
||||
public int UiSwatchColor;
|
||||
public float UiModelSaturation;
|
||||
public float UiModelOpacity;
|
||||
public uint OverrideShapeshiftDisplayID;
|
||||
public ushort ArtifactAppearanceSetID;
|
||||
public ushort UiCameraID;
|
||||
public byte DisplayIndex;
|
||||
public byte ItemAppearanceModifierID;
|
||||
public byte Flags;
|
||||
public byte OverrideShapeshiftFormID;
|
||||
public uint Id;
|
||||
public ushort UnlockPlayerConditionID;
|
||||
public byte UiItemAppearanceID;
|
||||
public byte UiAltItemAppearanceID;
|
||||
public uint OverrideShapeshiftDisplayID;
|
||||
public uint UiItemAppearanceID;
|
||||
public uint UiAltItemAppearanceID;
|
||||
public byte Flags;
|
||||
public ushort UiCameraID;
|
||||
}
|
||||
|
||||
public sealed class ArtifactAppearanceSetRecord
|
||||
{
|
||||
public string Name;
|
||||
public string Description;
|
||||
public uint Id;
|
||||
public byte DisplayIndex;
|
||||
public ushort UiCameraID;
|
||||
public ushort AltHandUICameraID;
|
||||
public byte DisplayIndex;
|
||||
public byte ForgeAttachmentOverride;
|
||||
public sbyte ForgeAttachmentOverride;
|
||||
public byte Flags;
|
||||
public uint Id;
|
||||
public uint ArtifactID;
|
||||
public byte ArtifactID;
|
||||
}
|
||||
|
||||
public sealed class ArtifactCategoryRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort XpMultCurrencyID;
|
||||
public ushort XpMultCurveID;
|
||||
public short XpMultCurrencyID;
|
||||
public short XpMultCurveID;
|
||||
}
|
||||
|
||||
public sealed class ArtifactPowerRecord
|
||||
{
|
||||
public Vector2 Pos;
|
||||
public byte ArtifactID;
|
||||
public ArtifactPowerFlag Flags;
|
||||
public byte MaxPurchasableRank;
|
||||
public byte Tier;
|
||||
public Vector2 DisplayPos;
|
||||
public uint Id;
|
||||
public byte Label;
|
||||
public byte ArtifactID;
|
||||
public byte MaxPurchasableRank;
|
||||
public int Label;
|
||||
public ArtifactPowerFlag Flags;
|
||||
public byte Tier;
|
||||
}
|
||||
|
||||
public sealed class ArtifactPowerLinkRecord
|
||||
@@ -195,17 +204,17 @@ namespace Game.DataStorage
|
||||
public sealed class ArtifactPowerPickerRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort PlayerConditionID;
|
||||
public uint PlayerConditionID;
|
||||
}
|
||||
|
||||
public sealed class ArtifactPowerRankRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public float AuraPointsOverride;
|
||||
public ushort ItemBonusListID;
|
||||
public byte RankIndex;
|
||||
public uint ArtifactPowerID;
|
||||
public uint SpellID;
|
||||
public ushort ItemBonusListID;
|
||||
public float AuraPointsOverride;
|
||||
public ushort ArtifactPowerID;
|
||||
}
|
||||
|
||||
public sealed class ArtifactQuestXPRecord
|
||||
@@ -214,31 +223,31 @@ namespace Game.DataStorage
|
||||
public uint[] Difficulty = new uint[10];
|
||||
}
|
||||
|
||||
public class ArtifactTierRecord
|
||||
public sealed class ArtifactTierRecord
|
||||
{
|
||||
public uint ID;
|
||||
public byte ArtifactTier;
|
||||
public byte MaxNumTraits;
|
||||
public byte MaxArtifactKnowledge;
|
||||
public byte KnowledgePlayerCondition;
|
||||
public byte MinimumEmpowerKnowledge;
|
||||
public uint Id;
|
||||
public uint ArtifactTier;
|
||||
public uint MaxNumTraits;
|
||||
public uint MaxArtifactKnowledge;
|
||||
public uint KnowledgePlayerCondition;
|
||||
public uint MinimumEmpowerKnowledge;
|
||||
}
|
||||
|
||||
public class ArtifactUnlockRecord
|
||||
public sealed class ArtifactUnlockRecord
|
||||
{
|
||||
public uint ID;
|
||||
public ushort ItemBonusListID;
|
||||
public byte PowerRank;
|
||||
public uint Id;
|
||||
public uint PowerID;
|
||||
public ushort PlayerConditionID;
|
||||
public uint ArtifactID;
|
||||
public byte PowerRank;
|
||||
public ushort ItemBonusListID;
|
||||
public uint PlayerConditionID;
|
||||
public byte ArtifactID;
|
||||
}
|
||||
|
||||
public sealed class AuctionHouseRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public ushort FactionID;
|
||||
public ushort FactionID; // id of faction.dbc for player factions associated with city
|
||||
public byte DepositRate;
|
||||
public byte ConsignmentRate;
|
||||
}
|
||||
|
||||
@@ -23,24 +23,24 @@ namespace Game.DataStorage
|
||||
public uint Cost;
|
||||
}
|
||||
|
||||
public sealed class BannedAddOnsRecord
|
||||
public sealed class BannedAddonsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public string Version;
|
||||
public byte[] Flags = new byte[4];
|
||||
public byte Flags;
|
||||
}
|
||||
|
||||
public sealed class BarberShopStyleRecord
|
||||
{
|
||||
public string DisplayName;
|
||||
public string Description;
|
||||
public uint Id;
|
||||
public byte Type; // value 0 -> hair, value 2 -> facialhair
|
||||
public float CostModifier;
|
||||
public byte Type;
|
||||
public byte Race;
|
||||
public byte Sex;
|
||||
public byte Data;
|
||||
public uint Id;
|
||||
public byte Data; // real ID to hair/facial hair
|
||||
}
|
||||
|
||||
public sealed class BattlePetBreedQualityRecord
|
||||
@@ -53,32 +53,32 @@ namespace Game.DataStorage
|
||||
public sealed class BattlePetBreedStateRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort Value;
|
||||
public byte BattlePetStateID;
|
||||
public uint BattlePetBreedID;
|
||||
public ushort Value;
|
||||
public byte BattlePetBreedID;
|
||||
}
|
||||
|
||||
public sealed class BattlePetSpeciesRecord
|
||||
{
|
||||
public string SourceText;
|
||||
public string Description;
|
||||
public uint CreatureID;
|
||||
public uint IconFileDataID;
|
||||
public uint SummonSpellID;
|
||||
public ushort Flags;
|
||||
public byte PetTypeEnum;
|
||||
public sbyte SourceTypeEnum;
|
||||
public string SourceText;
|
||||
public uint Id;
|
||||
public byte CardUIModelSceneID;
|
||||
public byte LoadoutUIModelSceneID;
|
||||
public uint CreatureID;
|
||||
public uint SummonSpellID;
|
||||
public int IconFileDataID;
|
||||
public byte PetTypeEnum;
|
||||
public ushort Flags;
|
||||
public sbyte SourceTypeEnum;
|
||||
public int CardUIModelSceneID;
|
||||
public int LoadoutUIModelSceneID;
|
||||
}
|
||||
|
||||
public sealed class BattlePetSpeciesStateRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int Value;
|
||||
public byte BattlePetStateID;
|
||||
public uint BattlePetSpeciesID;
|
||||
public int Value;
|
||||
public ushort BattlePetSpeciesID;
|
||||
}
|
||||
|
||||
public sealed class BattlemasterListRecord
|
||||
@@ -88,32 +88,33 @@ namespace Game.DataStorage
|
||||
public string GameType;
|
||||
public string ShortDescription;
|
||||
public string LongDescription;
|
||||
public int IconFileDataID;
|
||||
public short[] MapId = new short[16];
|
||||
public sbyte InstanceType;
|
||||
public sbyte MinLevel;
|
||||
public sbyte MaxLevel;
|
||||
public sbyte RatedPlayers;
|
||||
public sbyte MinPlayers;
|
||||
public sbyte MaxPlayers;
|
||||
public sbyte GroupsAllowed;
|
||||
public sbyte MaxGroupSize;
|
||||
public ushort HolidayWorldState;
|
||||
public ushort RequiredPlayerConditionID;
|
||||
public byte InstanceType;
|
||||
public byte GroupsAllowed;
|
||||
public byte MaxGroupSize;
|
||||
public byte MinLevel;
|
||||
public byte MaxLevel;
|
||||
public byte RatedPlayers;
|
||||
public byte MinPlayers;
|
||||
public byte MaxPlayers;
|
||||
public byte Flags;
|
||||
public sbyte Flags;
|
||||
public int IconFileDataID;
|
||||
public short RequiredPlayerConditionID;
|
||||
public short[] MapId = new short[16];
|
||||
}
|
||||
|
||||
public sealed class BroadcastTextRecord
|
||||
{
|
||||
public uint Id;
|
||||
public LocalizedString Text;
|
||||
public LocalizedString Text1;
|
||||
public uint Id;
|
||||
public byte LanguageID;
|
||||
public int ConditionID;
|
||||
public ushort EmotesID;
|
||||
public byte Flags;
|
||||
public uint ChatBubbleDurationMs;
|
||||
public uint[] SoundEntriesID = new uint[2];
|
||||
public ushort[] EmoteID = new ushort[3];
|
||||
public ushort[] EmoteDelay = new ushort[3];
|
||||
public ushort EmotesID;
|
||||
public byte LanguageID;
|
||||
public byte Flags;
|
||||
public uint ConditionID;
|
||||
public uint[] SoundEntriesID = new uint[2];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,9 +20,19 @@ using Framework.GameMath;
|
||||
|
||||
namespace Game.DataStorage
|
||||
{
|
||||
public sealed class Cfg_RegionsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Tag;
|
||||
public ushort RegionID;
|
||||
public uint Raidorigin; // Date of first raid reset, all other resets are calculated as this date plus interval
|
||||
public byte RegionGroupMask;
|
||||
public uint ChallengeOrigin;
|
||||
}
|
||||
|
||||
public sealed class CharacterFacialHairStylesRecord
|
||||
{
|
||||
public uint ID;
|
||||
public uint Id;
|
||||
public int[] Geoset = new int[5];
|
||||
public byte RaceID;
|
||||
public byte SexID;
|
||||
@@ -31,34 +41,34 @@ namespace Game.DataStorage
|
||||
|
||||
public sealed class CharBaseSectionRecord
|
||||
{
|
||||
public uint ID;
|
||||
public uint Id;
|
||||
public byte LayoutResType;
|
||||
public CharBaseSectionVariation VariationEnum;
|
||||
public byte ResolutionVariationEnum;
|
||||
public byte LayoutResType;
|
||||
}
|
||||
|
||||
public sealed class CharSectionsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint[] MaterialResourcesID = new uint[3];
|
||||
public short Flags;
|
||||
public byte RaceID;
|
||||
public byte SexID;
|
||||
public byte BaseSection;
|
||||
public sbyte BaseSection;
|
||||
public byte VariationIndex;
|
||||
public byte ColorIndex;
|
||||
public short Flags;
|
||||
public int[] MaterialResourcesID = new int[3];
|
||||
}
|
||||
|
||||
public sealed class CharStartOutfitRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int[] ItemID = new int[24];
|
||||
public uint PetDisplayID;
|
||||
public byte ClassID;
|
||||
public byte SexID;
|
||||
public byte OutfitID;
|
||||
public byte PetFamilyID;
|
||||
public uint RaceID;
|
||||
public uint PetDisplayID; // Pet Model ID for starting pet
|
||||
public byte PetFamilyID; // Pet Family Entry for starting pet
|
||||
public int[] ItemID = new int[24];
|
||||
public byte RaceID;
|
||||
}
|
||||
|
||||
public sealed class CharTitlesRecord
|
||||
@@ -81,75 +91,83 @@ namespace Game.DataStorage
|
||||
|
||||
public sealed class ChrClassesRecord
|
||||
{
|
||||
public string PetNameToken;
|
||||
public LocalizedString Name;
|
||||
public string NameFemale;
|
||||
public string Filename;
|
||||
public string NameMale;
|
||||
public uint FileName;
|
||||
public string NameFemale;
|
||||
public string PetNameToken;
|
||||
public uint Id;
|
||||
public uint CreateScreenFileDataID;
|
||||
public uint SelectScreenFileDataID;
|
||||
public uint LowResScreenFileDataID;
|
||||
public uint IconFileDataID;
|
||||
public uint LowResScreenFileDataID;
|
||||
public int StartingLevel;
|
||||
public ushort Flags;
|
||||
public ushort CinematicSequenceID;
|
||||
public ushort DefaultSpec;
|
||||
public PowerType DisplayPower;
|
||||
public byte SpellClassSet;
|
||||
public byte AttackPowerPerStrength;
|
||||
public byte AttackPowerPerAgility;
|
||||
public byte RangedAttackPowerPerAgility;
|
||||
public byte PrimaryStatPriority;
|
||||
public uint Id;
|
||||
public PowerType DisplayPower;
|
||||
public byte RangedAttackPowerPerAgility;
|
||||
public byte AttackPowerPerAgility;
|
||||
public byte AttackPowerPerStrength;
|
||||
public byte SpellClassSet;
|
||||
}
|
||||
|
||||
public sealed class ChrClassesXPowerTypesRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte PowerType;
|
||||
public uint ClassID;
|
||||
public sbyte PowerType;
|
||||
public byte ClassID;
|
||||
}
|
||||
|
||||
public sealed class ChrRacesRecord
|
||||
{
|
||||
public uint ClientPrefix;
|
||||
public uint ClientFileString;
|
||||
public string ClientPrefix;
|
||||
public string ClientFileString;
|
||||
public LocalizedString Name;
|
||||
public string NameFemale;
|
||||
public string NameLowercase;
|
||||
public string NameFemaleLowercase;
|
||||
public uint Id;
|
||||
public int Flags;
|
||||
public uint MaleDisplayId;
|
||||
public uint FemaleDisplayId;
|
||||
public uint HighResMaleDisplayId;
|
||||
public uint HighResFemaleDisplayId;
|
||||
public int CreateScreenFileDataID;
|
||||
public int SelectScreenFileDataID;
|
||||
public float[] MaleCustomizeOffset = new float[3];
|
||||
public float[] FemaleCustomizeOffset = new float[3];
|
||||
public int LowResScreenFileDataID;
|
||||
public uint[] AlteredFormStartVisualKitID = new uint[3];
|
||||
public uint[] AlteredFormFinishVisualKitID = new uint[3];
|
||||
public int HeritageArmorAchievementID;
|
||||
public int StartingLevel;
|
||||
public int UiDisplayOrder;
|
||||
public int FemaleSkeletonFileDataID;
|
||||
public int MaleSkeletonFileDataID;
|
||||
public int HelmVisFallbackRaceID;
|
||||
public ushort FactionID;
|
||||
public ushort CinematicSequenceID;
|
||||
public short ResSicknessSpellID;
|
||||
public short SplashSoundID;
|
||||
public ushort CinematicSequenceID;
|
||||
public sbyte BaseLanguage;
|
||||
public sbyte CreatureType;
|
||||
public sbyte Alliance;
|
||||
public sbyte RaceRelated;
|
||||
public sbyte UnalteredVisualRaceID;
|
||||
public sbyte CharComponentTextureLayoutID;
|
||||
public sbyte CharComponentTexLayoutHiResID;
|
||||
public sbyte DefaultClassID;
|
||||
public sbyte NeutralRaceID;
|
||||
public sbyte DisplayRaceID;
|
||||
public sbyte CharComponentTexLayoutHiResID;
|
||||
public uint Id;
|
||||
public uint HighResMaleDisplayId;
|
||||
public uint HighResFemaleDisplayId;
|
||||
public int HeritageArmorAchievementID;
|
||||
public int MaleSkeletonFileDataID;
|
||||
public int FemaleSkeletonFileDataID;
|
||||
public uint[] AlteredFormStartVisualKitID = new uint[3];
|
||||
public uint[] AlteredFormFinishVisualKitID = new uint[3];
|
||||
public sbyte MaleModelFallbackRaceID;
|
||||
public sbyte MaleModelFallbackSex;
|
||||
public sbyte FemaleModelFallbackRaceID;
|
||||
public sbyte FemaleModelFallbackSex;
|
||||
public sbyte MaleTextureFallbackRaceID;
|
||||
public sbyte MaleTextureFallbackSex;
|
||||
public sbyte FemaleTextureFallbackRaceID;
|
||||
public sbyte FemaleTextureFallbackSex;
|
||||
}
|
||||
|
||||
public sealed class ChrSpecializationRecord
|
||||
@@ -157,16 +175,16 @@ namespace Game.DataStorage
|
||||
public string Name;
|
||||
public string FemaleName;
|
||||
public string Description;
|
||||
public uint[] MasterySpellID = new uint[PlayerConst.MaxMasterySpells];
|
||||
public uint Id;
|
||||
public byte ClassID;
|
||||
public byte OrderIndex;
|
||||
public byte PetTalentType;
|
||||
public byte Role;
|
||||
public byte PrimaryStatPriority;
|
||||
public uint Id;
|
||||
public int SpellIconFileID;
|
||||
public sbyte PetTalentType;
|
||||
public sbyte Role;
|
||||
public ChrSpecializationFlag Flags;
|
||||
public int SpellIconFileID;
|
||||
public sbyte PrimaryStatPriority;
|
||||
public int AnimReplacements;
|
||||
public uint[] MasterySpellID = new uint[PlayerConst.MaxMasterySpells];
|
||||
|
||||
public bool IsPetSpecialization()
|
||||
{
|
||||
@@ -176,11 +194,11 @@ namespace Game.DataStorage
|
||||
|
||||
public sealed class CinematicCameraRecord
|
||||
{
|
||||
public uint ID;
|
||||
public uint SoundID;
|
||||
public Vector3 Origin;
|
||||
public float OriginFacing;
|
||||
public uint FileDataID;
|
||||
public uint Id;
|
||||
public Vector3 Origin; // Position in map used for basis for M2 co-ordinates
|
||||
public uint SoundID; // Sound ID (voiceover for cinematic)
|
||||
public float OriginFacing; // Orientation in map used for basis for M2 co
|
||||
public uint FileDataID; // Model
|
||||
}
|
||||
|
||||
public sealed class CinematicSequencesRecord
|
||||
@@ -190,6 +208,16 @@ namespace Game.DataStorage
|
||||
public ushort[] Camera = new ushort[8];
|
||||
}
|
||||
|
||||
public sealed class ContentTuningRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int MinLevel;
|
||||
public int MaxLevel;
|
||||
public int Flags;
|
||||
public int ExpectedStatModID;
|
||||
public int DifficultyESMID;
|
||||
}
|
||||
|
||||
public sealed class ConversationLineRecord
|
||||
{
|
||||
public uint Id;
|
||||
@@ -206,45 +234,47 @@ namespace Game.DataStorage
|
||||
public sealed class CreatureDisplayInfoRecord
|
||||
{
|
||||
public uint Id;
|
||||
public float CreatureModelScale;
|
||||
public ushort ModelID;
|
||||
public ushort NPCSoundID;
|
||||
public byte SizeClass;
|
||||
public byte Flags;
|
||||
public sbyte Gender;
|
||||
public uint ExtendedDisplayInfoID;
|
||||
public uint PortraitTextureFileDataID;
|
||||
public byte CreatureModelAlpha;
|
||||
public ushort SoundID;
|
||||
public float PlayerOverrideScale;
|
||||
public uint PortraitCreatureDisplayInfoID;
|
||||
public sbyte SizeClass;
|
||||
public float CreatureModelScale;
|
||||
public byte CreatureModelAlpha;
|
||||
public byte BloodID;
|
||||
public int ExtendedDisplayInfoID;
|
||||
public ushort NPCSoundID;
|
||||
public ushort ParticleColorID;
|
||||
public uint CreatureGeosetData;
|
||||
public int PortraitCreatureDisplayInfoID;
|
||||
public int PortraitTextureFileDataID;
|
||||
public ushort ObjectEffectPackageID;
|
||||
public ushort AnimReplacementSetID;
|
||||
public byte Flags;
|
||||
public int StateSpellVisualKitID;
|
||||
public float PlayerOverrideScale;
|
||||
public float PetInstanceScale; // scale of not own player pets inside dungeons/raids/scenarios
|
||||
public sbyte UnarmedWeaponType;
|
||||
public uint StateSpellVisualKitID;
|
||||
public float PetInstanceScale; // scale of not own player pets inside dungeons/raids/scenarios
|
||||
public uint MountPoofSpellVisualKitID;
|
||||
public uint[] TextureVariationFileDataID = new uint[3];
|
||||
public int MountPoofSpellVisualKitID;
|
||||
public int DissolveEffectID;
|
||||
public sbyte Gender;
|
||||
public int DissolveOutEffectID;
|
||||
public sbyte CreatureModelMinLod;
|
||||
public int[] TextureVariationFileDataID = new int[3];
|
||||
}
|
||||
|
||||
public sealed class CreatureDisplayInfoExtraRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint BakeMaterialResourcesID;
|
||||
public uint HDBakeMaterialResourcesID;
|
||||
public byte DisplayRaceID;
|
||||
public byte DisplaySexID;
|
||||
public byte DisplayClassID;
|
||||
public byte SkinID;
|
||||
public byte FaceID;
|
||||
public byte HairStyleID;
|
||||
public byte HairColorID;
|
||||
public byte FacialHairID;
|
||||
public sbyte DisplayRaceID;
|
||||
public sbyte DisplaySexID;
|
||||
public sbyte DisplayClassID;
|
||||
public sbyte SkinID;
|
||||
public sbyte FaceID;
|
||||
public sbyte HairStyleID;
|
||||
public sbyte HairColorID;
|
||||
public sbyte FacialHairID;
|
||||
public sbyte Flags;
|
||||
public int BakeMaterialResourcesID;
|
||||
public int HDBakeMaterialResourcesID;
|
||||
public byte[] CustomDisplayOption = new byte[3];
|
||||
public byte Flags;
|
||||
}
|
||||
|
||||
public sealed class CreatureFamilyRecord
|
||||
@@ -252,46 +282,46 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public LocalizedString Name;
|
||||
public float MinScale;
|
||||
public sbyte MinScaleLevel;
|
||||
public float MaxScale;
|
||||
public uint IconFileID;
|
||||
public ushort[] SkillLine = new ushort[2];
|
||||
public sbyte MaxScaleLevel;
|
||||
public ushort PetFoodMask;
|
||||
public byte MinScaleLevel;
|
||||
public byte MaxScaleLevel;
|
||||
public byte PetTalentType;
|
||||
public sbyte PetTalentType;
|
||||
public int IconFileID;
|
||||
public short[] SkillLine = new short[2];
|
||||
}
|
||||
|
||||
public sealed class CreatureModelDataRecord
|
||||
{
|
||||
public uint Id;
|
||||
public float ModelScale;
|
||||
public float[] GeoBox = new float[6];
|
||||
public uint Flags;
|
||||
public uint FileDataID;
|
||||
public uint BloodID;
|
||||
public uint FootprintTextureID;
|
||||
public float FootprintTextureLength;
|
||||
public float FootprintTextureWidth;
|
||||
public float FootprintParticleScale;
|
||||
public uint FoleyMaterialID;
|
||||
public uint FootstepCameraEffectID;
|
||||
public uint DeathThudCameraEffectID;
|
||||
public uint SoundID;
|
||||
public uint SizeClass;
|
||||
public float CollisionWidth;
|
||||
public float CollisionHeight;
|
||||
public float MountHeight;
|
||||
public float[] GeoBox = new float[6];
|
||||
public float CollisionHeight;
|
||||
public float WorldEffectScale;
|
||||
public uint CreatureGeosetDataID;
|
||||
public float HoverHeight;
|
||||
public float AttachedEffectScale;
|
||||
public float ModelScale;
|
||||
public float MissileCollisionRadius;
|
||||
public float MissileCollisionPush;
|
||||
public float MissileCollisionRaise;
|
||||
public float MountHeight;
|
||||
public float OverrideLootEffectScale;
|
||||
public float OverrideNameScale;
|
||||
public float OverrideSelectionRadius;
|
||||
public float TamedPetBaseScale;
|
||||
public float HoverHeight;
|
||||
public uint Flags;
|
||||
public uint FileDataID;
|
||||
public byte SizeClass;
|
||||
public uint BloodID;
|
||||
public byte FootprintTextureID;
|
||||
public byte FoleyMaterialID;
|
||||
public byte FootstepCameraEffectID;
|
||||
public byte DeathThudCameraEffectID;
|
||||
public uint SoundID;
|
||||
public uint CreatureGeosetDataID;
|
||||
}
|
||||
|
||||
public sealed class CreatureTypeRecord
|
||||
@@ -304,16 +334,16 @@ namespace Game.DataStorage
|
||||
public sealed class CriteriaRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint Asset;
|
||||
public uint StartAsset;
|
||||
public uint FailAsset;
|
||||
public uint ModifierTreeId;
|
||||
public ushort StartTimer;
|
||||
public ushort EligibilityWorldStateID;
|
||||
public CriteriaTypes Type;
|
||||
public uint Asset;
|
||||
public uint ModifierTreeId;
|
||||
public CriteriaTimedTypes StartEvent;
|
||||
public uint StartAsset;
|
||||
public ushort StartTimer;
|
||||
public byte FailEvent;
|
||||
public uint FailAsset;
|
||||
public byte Flags;
|
||||
public ushort EligibilityWorldStateID;
|
||||
public byte EligibilityWorldStateValue;
|
||||
}
|
||||
|
||||
@@ -321,12 +351,12 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public string Description;
|
||||
public uint Parent;
|
||||
public uint Amount;
|
||||
public CriteriaTreeFlags Flags;
|
||||
public byte Operator;
|
||||
public ushort CriteriaID;
|
||||
public ushort Parent;
|
||||
public sbyte Operator;
|
||||
public uint CriteriaID;
|
||||
public int OrderIndex;
|
||||
public CriteriaTreeFlags Flags;
|
||||
}
|
||||
|
||||
public sealed class CurrencyTypesRecord
|
||||
@@ -334,19 +364,20 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public string Description;
|
||||
public byte CategoryID;
|
||||
public int InventoryIconFileID;
|
||||
public uint SpellWeight;
|
||||
public byte SpellCategory;
|
||||
public uint MaxQty;
|
||||
public uint MaxEarnablePerWeek;
|
||||
public CurrencyFlags Flags;
|
||||
public byte CategoryID;
|
||||
public byte SpellCategory;
|
||||
public byte Quality;
|
||||
public uint InventoryIconFileID;
|
||||
public uint SpellWeight;
|
||||
public uint Flags;
|
||||
public sbyte Quality;
|
||||
public int FactionID;
|
||||
}
|
||||
|
||||
public sealed class CurveRecord
|
||||
{
|
||||
public uint ID;
|
||||
public uint Id;
|
||||
public byte Type;
|
||||
public byte Flags;
|
||||
}
|
||||
|
||||
@@ -22,59 +22,59 @@ namespace Game.DataStorage
|
||||
public sealed class DestructibleModelDataRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort State0Wmo;
|
||||
public ushort State1Wmo;
|
||||
public ushort State2Wmo;
|
||||
public ushort State3Wmo;
|
||||
public ushort HealEffectSpeed;
|
||||
public byte State0ImpactEffectDoodadSet;
|
||||
public sbyte State0ImpactEffectDoodadSet;
|
||||
public byte State0AmbientDoodadSet;
|
||||
public byte State0NameSet;
|
||||
public byte State1DestructionDoodadSet;
|
||||
public byte State1ImpactEffectDoodadSet;
|
||||
public ushort State1Wmo;
|
||||
public sbyte State1DestructionDoodadSet;
|
||||
public sbyte State1ImpactEffectDoodadSet;
|
||||
public byte State1AmbientDoodadSet;
|
||||
public byte State1NameSet;
|
||||
public byte State2DestructionDoodadSet;
|
||||
public byte State2ImpactEffectDoodadSet;
|
||||
public ushort State2Wmo;
|
||||
public sbyte State2DestructionDoodadSet;
|
||||
public sbyte State2ImpactEffectDoodadSet;
|
||||
public byte State2AmbientDoodadSet;
|
||||
public byte State2NameSet;
|
||||
public ushort State3Wmo;
|
||||
public byte State3InitDoodadSet;
|
||||
public byte State3AmbientDoodadSet;
|
||||
public byte State3NameSet;
|
||||
public byte EjectDirection;
|
||||
public byte DoNotHighlight;
|
||||
public ushort State0Wmo;
|
||||
public byte HealEffect;
|
||||
public ushort HealEffectSpeed;
|
||||
public byte State0NameSet;
|
||||
public byte State1NameSet;
|
||||
public byte State2NameSet;
|
||||
public byte State3NameSet;
|
||||
}
|
||||
|
||||
public sealed class DifficultyRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public MapTypes InstanceType;
|
||||
public byte OrderIndex;
|
||||
public sbyte OldEnumValue;
|
||||
public byte FallbackDifficultyID;
|
||||
public byte MinPlayers;
|
||||
public byte MaxPlayers;
|
||||
public DifficultyFlags Flags;
|
||||
public byte ItemContext;
|
||||
public byte ToggleDifficultyID;
|
||||
public ushort GroupSizeHealthCurveID;
|
||||
public ushort GroupSizeDmgCurveID;
|
||||
public ushort GroupSizeSpellPointsCurveID;
|
||||
public byte FallbackDifficultyID;
|
||||
public MapTypes InstanceType;
|
||||
public byte MinPlayers;
|
||||
public byte MaxPlayers;
|
||||
public sbyte OldEnumValue;
|
||||
public DifficultyFlags Flags;
|
||||
public byte ToggleDifficultyID;
|
||||
public byte ItemContext;
|
||||
public byte OrderIndex;
|
||||
}
|
||||
|
||||
public sealed class DungeonEncounterRecord
|
||||
{
|
||||
public LocalizedString Name;
|
||||
public uint CreatureDisplayID;
|
||||
public ushort MapID;
|
||||
public byte DifficultyID;
|
||||
public byte Bit;
|
||||
public byte Flags;
|
||||
public uint Id;
|
||||
public uint OrderIndex;
|
||||
public uint SpellIconFileID;
|
||||
public short MapID;
|
||||
public sbyte DifficultyID;
|
||||
public int OrderIndex;
|
||||
public sbyte Bit;
|
||||
public int CreatureDisplayID;
|
||||
public byte Flags;
|
||||
public int SpellIconFileID;
|
||||
}
|
||||
|
||||
public sealed class DurabilityCostsRecord
|
||||
|
||||
@@ -21,30 +21,60 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public long RaceMask;
|
||||
public uint EmoteSlashCommand;
|
||||
public string EmoteSlashCommand;
|
||||
public int AnimId;
|
||||
public uint EmoteFlags;
|
||||
public uint SpellVisualKitID;
|
||||
public ushort AnimID;
|
||||
public byte EmoteSpecProc;
|
||||
public uint EmoteSpecProcParam;
|
||||
public uint EventSoundID;
|
||||
public uint SpellVisualKitId;
|
||||
public int ClassMask;
|
||||
public byte EmoteSpecProcParam;
|
||||
public ushort EmoteSoundID;
|
||||
}
|
||||
|
||||
public sealed class EmotesTextRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public ushort EmoteID;
|
||||
public ushort EmoteId;
|
||||
}
|
||||
|
||||
public sealed class EmotesTextSoundRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte RaceId;
|
||||
public byte SexId;
|
||||
public byte ClassId;
|
||||
public byte SexId;
|
||||
public uint SoundId;
|
||||
public uint EmotesTextId;
|
||||
public ushort EmotesTextId;
|
||||
}
|
||||
|
||||
public sealed class ExpectedStatRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int ExpansionID;
|
||||
public float CreatureHealth;
|
||||
public float PlayerHealth;
|
||||
public float CreatureAutoAttackDps;
|
||||
public float CreatureArmor;
|
||||
public float PlayerMana;
|
||||
public float PlayerPrimaryStat;
|
||||
public float PlayerSecondaryStat;
|
||||
public float ArmorConstant;
|
||||
public float CreatureSpellDamage;
|
||||
public uint Lvl;
|
||||
}
|
||||
|
||||
public sealed class ExpectedStatModRecord
|
||||
{
|
||||
public uint Id;
|
||||
public float CreatureHealthMod;
|
||||
public float PlayerHealthMod;
|
||||
public float CreatureAutoAttackDPSMod;
|
||||
public float CreatureArmorMod;
|
||||
public float PlayerManaMod;
|
||||
public float PlayerPrimaryStatMod;
|
||||
public float PlayerSecondaryStatMod;
|
||||
public float ArmorConstantMod;
|
||||
public float CreatureSpellDamageMod;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,23 +22,24 @@ namespace Game.DataStorage
|
||||
{
|
||||
public sealed class FactionRecord
|
||||
{
|
||||
public long[] ReputationRaceMask = new long[4];
|
||||
public ulong[] ReputationRaceMask = new ulong[4];
|
||||
public LocalizedString Name;
|
||||
public string Description;
|
||||
public uint Id;
|
||||
public int[] ReputationBase = new int[4];
|
||||
public float[] ParentFactionMod = new float[2]; // Faction outputs rep * ParentFactionModOut as spillover reputation
|
||||
public uint[] ReputationMax = new uint[4];
|
||||
public short ReputationIndex;
|
||||
public ushort[] ReputationClassMask = new ushort[4];
|
||||
public ushort[] ReputationFlags = new ushort[4];
|
||||
public ushort ParentFactionID;
|
||||
public ushort ParagonFactionID;
|
||||
public byte[] ParentFactionCap = new byte[2]; // The highest rank the faction will profit from incoming spillover
|
||||
public byte Expansion;
|
||||
public byte Flags;
|
||||
public byte FriendshipRepID;
|
||||
public byte Flags;
|
||||
public ushort ParagonFactionID;
|
||||
public short[] ReputationClassMask = new short[4];
|
||||
public ushort[] ReputationFlags = new ushort[4];
|
||||
public int[] ReputationBase = new int[4];
|
||||
public int[] ReputationMax = new int[4];
|
||||
public float[] ParentFactionMod = new float[2]; // Faction outputs rep * ParentFactionModOut as spillover reputation
|
||||
public byte[] ParentFactionCap = new byte[2]; // The highest rank the faction will profit from incoming spillover
|
||||
|
||||
// helpers
|
||||
public bool CanHaveReputation()
|
||||
{
|
||||
return ReputationIndex >= 0;
|
||||
@@ -50,16 +51,18 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public ushort Faction;
|
||||
public ushort Flags;
|
||||
public ushort[] Enemies = new ushort[4];
|
||||
public ushort[] Friend = new ushort[4];
|
||||
public byte FactionGroup;
|
||||
public byte FriendGroup;
|
||||
public byte EnemyGroup;
|
||||
public ushort[] Enemies = new ushort[4];
|
||||
public ushort[] Friend = new ushort[4];
|
||||
|
||||
// helpers
|
||||
public bool IsFriendlyTo(FactionTemplateRecord entry)
|
||||
{
|
||||
if (Id == entry.Id)
|
||||
if (this == entry)
|
||||
return true;
|
||||
|
||||
if (entry.Faction != 0)
|
||||
{
|
||||
for (int i = 0; i < 4; ++i)
|
||||
@@ -69,12 +72,13 @@ namespace Game.DataStorage
|
||||
if (Friend[i] == entry.Faction)
|
||||
return true;
|
||||
}
|
||||
return Convert.ToBoolean(FriendGroup & entry.FactionGroup) || Convert.ToBoolean(FactionGroup & entry.FriendGroup);
|
||||
return (FriendGroup & entry.FactionGroup) != 0 || (FactionGroup & entry.FriendGroup) != 0;
|
||||
}
|
||||
public bool IsHostileTo(FactionTemplateRecord entry)
|
||||
{
|
||||
if (Id == entry.Id)
|
||||
if (this == entry)
|
||||
return false;
|
||||
|
||||
if (entry.Faction != 0)
|
||||
{
|
||||
for (int i = 0; i < 4; ++i)
|
||||
@@ -86,16 +90,15 @@ namespace Game.DataStorage
|
||||
}
|
||||
return (EnemyGroup & entry.FactionGroup) != 0;
|
||||
}
|
||||
public bool IsHostileToPlayers() { return (EnemyGroup & (uint)FactionMasks.Player) != 0; }
|
||||
public bool IsHostileToPlayers() { return (EnemyGroup & (byte)FactionMasks.Player) != 0; }
|
||||
public bool IsNeutralToAll()
|
||||
{
|
||||
for (int i = 0; i < 4; ++i)
|
||||
if (Enemies[i] != 0)
|
||||
return false;
|
||||
|
||||
return EnemyGroup == 0 && FriendGroup == 0;
|
||||
}
|
||||
public bool IsContestedGuardFaction() { return Flags.HasAnyFlag((ushort)FactionTemplateFlags.ContestedGuard); }
|
||||
public bool ShouldSparAttack() { return Flags.HasAnyFlag((ushort)FactionTemplateFlags.EnemySpar); }
|
||||
public bool IsContestedGuardFaction() { return (Flags & (ushort)FactionTemplateFlags.ContestedGuard) != 0; }
|
||||
public bool ShouldSparAttack() { return (Flags & (ushort)FactionTemplateFlags.EnemySpar) != 0; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,12 +23,12 @@ namespace Game.DataStorage
|
||||
public sealed class GameObjectDisplayInfoRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint FileDataID;
|
||||
public Vector3 GeoBoxMin;
|
||||
public Vector3 GeoBoxMax;
|
||||
public int FileDataID;
|
||||
public short ObjectEffectPackageID;
|
||||
public float OverrideLootEffectScale;
|
||||
public float OverrideNameScale;
|
||||
public ushort ObjectEffectPackageID;
|
||||
}
|
||||
|
||||
public sealed class GameObjectsRecord
|
||||
@@ -36,65 +36,65 @@ namespace Game.DataStorage
|
||||
public LocalizedString Name;
|
||||
public Vector3 Pos;
|
||||
public float[] Rot = new float[4];
|
||||
public float Scale;
|
||||
public int[] PropValue = new int[8];
|
||||
public uint Id;
|
||||
public ushort OwnerID;
|
||||
public ushort DisplayID;
|
||||
public float Scale;
|
||||
public GameObjectTypes TypeID;
|
||||
public byte PhaseUseFlags;
|
||||
public ushort PhaseID;
|
||||
public ushort PhaseGroupID;
|
||||
public byte PhaseUseFlags;
|
||||
public GameObjectTypes TypeID;
|
||||
public uint Id;
|
||||
public int[] PropValue = new int[8];
|
||||
}
|
||||
|
||||
public sealed class GarrAbilityRecord
|
||||
{
|
||||
public string Name;
|
||||
public string Description;
|
||||
public uint IconFileDataID;
|
||||
public GarrisonAbilityFlags Flags;
|
||||
public ushort FactionChangeGarrAbilityID;
|
||||
public uint Id;
|
||||
public byte GarrAbilityCategoryID;
|
||||
public byte GarrFollowerTypeID;
|
||||
public uint Id;
|
||||
public int IconFileDataID;
|
||||
public ushort FactionChangeGarrAbilityID;
|
||||
public GarrisonAbilityFlags Flags;
|
||||
}
|
||||
|
||||
public sealed class GarrBuildingRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string AllianceName;
|
||||
public string HordeName;
|
||||
public string AllianceName;
|
||||
public string Description;
|
||||
public string Tooltip;
|
||||
public byte GarrTypeID;
|
||||
public byte BuildingType;
|
||||
public uint HordeGameObjectID;
|
||||
public uint AllianceGameObjectID;
|
||||
public uint IconFileDataID;
|
||||
public byte GarrSiteID;
|
||||
public byte UpgradeLevel;
|
||||
public int BuildSeconds;
|
||||
public ushort CurrencyTypeID;
|
||||
public int CurrencyQty;
|
||||
public ushort HordeUiTextureKitID;
|
||||
public ushort AllianceUiTextureKitID;
|
||||
public int IconFileDataID;
|
||||
public ushort AllianceSceneScriptPackageID;
|
||||
public ushort HordeSceneScriptPackageID;
|
||||
public int MaxAssignments;
|
||||
public byte ShipmentCapacity;
|
||||
public ushort GarrAbilityID;
|
||||
public ushort BonusGarrAbilityID;
|
||||
public short GoldCost;
|
||||
public byte GarrSiteID;
|
||||
public byte BuildingType;
|
||||
public byte UpgradeLevel;
|
||||
public ushort GoldCost;
|
||||
public GarrisonBuildingFlags Flags;
|
||||
public byte ShipmentCapacity;
|
||||
public byte GarrTypeID;
|
||||
public ushort BuildSeconds;
|
||||
public int CurrencyQty;
|
||||
public byte MaxAssignments;
|
||||
}
|
||||
|
||||
public sealed class GarrBuildingPlotInstRecord
|
||||
{
|
||||
public Vector2 MapOffset;
|
||||
public ushort UiTextureAtlasMemberID;
|
||||
public ushort GarrSiteLevelPlotInstID;
|
||||
public byte GarrBuildingID;
|
||||
public uint Id;
|
||||
public byte GarrBuildingID;
|
||||
public ushort GarrSiteLevelPlotInstID;
|
||||
public ushort UiTextureAtlasMemberID;
|
||||
}
|
||||
|
||||
public sealed class GarrClassSpecRecord
|
||||
@@ -102,11 +102,11 @@ namespace Game.DataStorage
|
||||
public string ClassSpec;
|
||||
public string ClassSpecMale;
|
||||
public string ClassSpecFemale;
|
||||
public ushort UiTextureAtlasMemberID; // UiTextureAtlasMember.db2 ref
|
||||
public uint Id;
|
||||
public ushort UiTextureAtlasMemberID;
|
||||
public ushort GarrFollItemSetID;
|
||||
public byte FollowerClassLimit;
|
||||
public byte Flags;
|
||||
public uint Id;
|
||||
}
|
||||
|
||||
public sealed class GarrFollowerRecord
|
||||
@@ -114,54 +114,55 @@ namespace Game.DataStorage
|
||||
public string HordeSourceText;
|
||||
public string AllianceSourceText;
|
||||
public string TitleName;
|
||||
public uint HordeCreatureID;
|
||||
public uint AllianceCreatureID;
|
||||
public uint HordeIconFileDataID;
|
||||
public uint AllianceIconFileDataID;
|
||||
public uint HordeSlottingBroadcastTextID;
|
||||
public uint AllySlottingBroadcastTextID;
|
||||
public ushort HordeGarrFollItemSetID;
|
||||
public ushort AllianceGarrFollItemSetID;
|
||||
public ushort ItemLevelWeapon;
|
||||
public ushort ItemLevelArmor;
|
||||
public ushort HordeUITextureKitID;
|
||||
public ushort AllianceUITextureKitID;
|
||||
public uint Id;
|
||||
public byte GarrTypeID;
|
||||
public byte GarrFollowerTypeID;
|
||||
public int HordeCreatureID;
|
||||
public int AllianceCreatureID;
|
||||
public byte HordeGarrFollRaceID;
|
||||
public byte AllianceGarrFollRaceID;
|
||||
public byte Quality;
|
||||
public byte HordeGarrClassSpecID;
|
||||
public byte AllianceGarrClassSpecID;
|
||||
public byte Quality;
|
||||
public byte FollowerLevel;
|
||||
public byte Gender;
|
||||
public byte Flags;
|
||||
public ushort ItemLevelWeapon;
|
||||
public ushort ItemLevelArmor;
|
||||
public sbyte HordeSourceTypeEnum;
|
||||
public sbyte AllianceSourceTypeEnum;
|
||||
public byte GarrTypeID;
|
||||
public int HordeIconFileDataID;
|
||||
public int AllianceIconFileDataID;
|
||||
public ushort HordeGarrFollItemSetID;
|
||||
public ushort AllianceGarrFollItemSetID;
|
||||
public ushort HordeUITextureKitID;
|
||||
public ushort AllianceUITextureKitID;
|
||||
public byte Vitality;
|
||||
public byte ChrClassID;
|
||||
public byte HordeFlavorGarrStringID;
|
||||
public byte AllianceFlavorGarrStringID;
|
||||
public uint Id;
|
||||
public uint HordeSlottingBroadcastTextID;
|
||||
public uint AllySlottingBroadcastTextID;
|
||||
public byte ChrClassID;
|
||||
public byte Flags;
|
||||
public byte Gender;
|
||||
}
|
||||
|
||||
public sealed class GarrFollowerXAbilityRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort GarrAbilityID;
|
||||
public byte OrderIndex;
|
||||
public byte FactionIndex;
|
||||
public uint GarrFollowerID;
|
||||
public ushort GarrAbilityID;
|
||||
public ushort GarrFollowerID;
|
||||
}
|
||||
|
||||
public sealed class GarrPlotRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public uint AllianceConstructObjID;
|
||||
public uint HordeConstructObjID;
|
||||
public byte UiCategoryID;
|
||||
public byte PlotType;
|
||||
public uint HordeConstructObjID;
|
||||
public uint AllianceConstructObjID;
|
||||
public byte Flags;
|
||||
public byte UiCategoryID;
|
||||
public uint[] UpgradeRequirement = new uint[2];
|
||||
}
|
||||
|
||||
@@ -183,14 +184,14 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public Vector2 TownHallUiPos;
|
||||
public uint GarrSiteID;
|
||||
public byte GarrLevel;
|
||||
public ushort MapID;
|
||||
public ushort UiTextureKitID;
|
||||
public ushort UpgradeMovieID;
|
||||
public ushort UiTextureKitID;
|
||||
public byte MaxBuildingLevel;
|
||||
public ushort UpgradeCost;
|
||||
public ushort UpgradeGoldCost;
|
||||
public byte GarrLevel;
|
||||
public byte GarrSiteID;
|
||||
public byte MaxBuildingLevel;
|
||||
}
|
||||
|
||||
public sealed class GarrSiteLevelPlotInstRecord
|
||||
@@ -205,16 +206,16 @@ namespace Game.DataStorage
|
||||
public sealed class GemPropertiesRecord
|
||||
{
|
||||
public uint Id;
|
||||
public SocketColor Type;
|
||||
public ushort EnchantId;
|
||||
public SocketColor Type;
|
||||
public ushort MinItemLevel;
|
||||
}
|
||||
|
||||
public sealed class GlyphBindableSpellRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public uint GlyphPropertiesID;
|
||||
public int SpellID;
|
||||
public short GlyphPropertiesID;
|
||||
}
|
||||
|
||||
public sealed class GlyphPropertiesRecord
|
||||
@@ -230,31 +231,31 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public ushort ChrSpecializationID;
|
||||
public uint GlyphPropertiesID;
|
||||
public ushort GlyphPropertiesID;
|
||||
}
|
||||
|
||||
public sealed class GuildColorBackgroundRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte Red;
|
||||
public byte Green;
|
||||
public byte Blue;
|
||||
public byte Green;
|
||||
}
|
||||
|
||||
public sealed class GuildColorBorderRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte Red;
|
||||
public byte Green;
|
||||
public byte Blue;
|
||||
public byte Green;
|
||||
}
|
||||
|
||||
public sealed class GuildColorEmblemRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte Red;
|
||||
public byte Green;
|
||||
public byte Blue;
|
||||
public byte Green;
|
||||
}
|
||||
|
||||
public sealed class GuildPerkSpellsRecord
|
||||
|
||||
@@ -98,11 +98,6 @@ namespace Game.DataStorage
|
||||
public float JewelryMultiplier;
|
||||
}
|
||||
|
||||
public sealed class GtHonorLevelRecord
|
||||
{
|
||||
public float[] Prestige = new float[33];
|
||||
}
|
||||
|
||||
public sealed class GtHpPerStaRecord
|
||||
{
|
||||
public float Health;
|
||||
@@ -170,6 +165,7 @@ namespace Game.DataStorage
|
||||
public float Gem2;
|
||||
public float Gem3;
|
||||
public float Health;
|
||||
public float DamageReplaceStat;
|
||||
}
|
||||
|
||||
public sealed class GtXpRecord
|
||||
|
||||
@@ -22,30 +22,30 @@ namespace Game.DataStorage
|
||||
public sealed class HeirloomRecord
|
||||
{
|
||||
public string SourceText;
|
||||
public uint ItemID;
|
||||
public uint LegacyItemID;
|
||||
public uint LegacyUpgradedItemID;
|
||||
public uint StaticUpgradedItemID;
|
||||
public uint[] UpgradeItemID = new uint[3];
|
||||
public ushort[] UpgradeItemBonusListID = new ushort[3];
|
||||
public byte Flags;
|
||||
public byte SourceTypeEnum;
|
||||
public uint Id;
|
||||
public uint ItemID;
|
||||
public int LegacyUpgradedItemID;
|
||||
public uint StaticUpgradedItemID;
|
||||
public sbyte SourceTypeEnum;
|
||||
public byte Flags;
|
||||
public int LegacyItemID;
|
||||
public int[] UpgradeItemID = new int[3];
|
||||
public ushort[] UpgradeItemBonusListID = new ushort[3];
|
||||
}
|
||||
|
||||
public sealed class HolidaysRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint[] Date = new uint[SharedConst.MaxHolidayDates]; // dates in unix time starting at January, 1, 2000
|
||||
public ushort[] Duration = new ushort[SharedConst.MaxHolidayDurations];
|
||||
public ushort Region;
|
||||
public byte Looping;
|
||||
public byte[] CalendarFlags = new byte[SharedConst.MaxHolidayFlags];
|
||||
public uint HolidayNameID;
|
||||
public uint HolidayDescriptionID;
|
||||
public byte Priority;
|
||||
public sbyte CalendarFilterType;
|
||||
public byte Flags;
|
||||
public ushort HolidayNameID;
|
||||
public ushort HolidayDescriptionID;
|
||||
public ushort[] Duration = new ushort[SharedConst.MaxHolidayDurations];
|
||||
public uint[] Date = new uint[SharedConst.MaxHolidayDates]; // dates in unix time starting at January, 1, 2000
|
||||
public byte[] CalendarFlags = new byte[SharedConst.MaxHolidayFlags];
|
||||
public int[] TextureFileDataID = new int[3];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,30 +49,29 @@ namespace Game.DataStorage
|
||||
public sealed class ItemRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint IconFileDataID;
|
||||
public ItemClass ClassID;
|
||||
public byte SubclassID;
|
||||
public sbyte SoundOverrideSubclassID;
|
||||
public byte Material;
|
||||
public InventoryType inventoryType;
|
||||
public byte SheatheType;
|
||||
public sbyte SoundOverrideSubclassID;
|
||||
public int IconFileDataID;
|
||||
public byte ItemGroupSoundsID;
|
||||
}
|
||||
|
||||
public sealed class ItemAppearanceRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint ItemDisplayInfoID;
|
||||
public uint DefaultIconFileDataID;
|
||||
public uint UIOrder;
|
||||
public byte DisplayType;
|
||||
public uint ItemDisplayInfoID;
|
||||
public int DefaultIconFileDataID;
|
||||
public int UiOrder;
|
||||
}
|
||||
|
||||
public sealed class ItemArmorQualityRecord
|
||||
{
|
||||
public uint Id;
|
||||
public float[] QualityMod = new float[7];
|
||||
public ushort ItemLevel;
|
||||
}
|
||||
|
||||
public sealed class ItemArmorShieldRecord
|
||||
@@ -85,17 +84,17 @@ namespace Game.DataStorage
|
||||
public sealed class ItemArmorTotalRecord
|
||||
{
|
||||
public uint Id;
|
||||
public short ItemLevel;
|
||||
public float Cloth;
|
||||
public float Leather;
|
||||
public float Mail;
|
||||
public float Plate;
|
||||
public ushort ItemLevel;
|
||||
}
|
||||
|
||||
public sealed class ItemBagFamilyRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint Name;
|
||||
public string Name;
|
||||
}
|
||||
|
||||
public sealed class ItemBonusRecord
|
||||
@@ -116,11 +115,11 @@ namespace Game.DataStorage
|
||||
public sealed class ItemBonusTreeNodeRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte ItemContext;
|
||||
public ushort ChildItemBonusTreeID;
|
||||
public ushort ChildItemBonusListID;
|
||||
public ushort ChildItemLevelSelectorID;
|
||||
public byte ItemContext;
|
||||
public uint ParentItemBonusTreeID;
|
||||
public ushort ParentItemBonusTreeID;
|
||||
}
|
||||
|
||||
public sealed class ItemChildEquipmentRecord
|
||||
@@ -135,8 +134,8 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public string ClassName;
|
||||
public sbyte ClassID;
|
||||
public float PriceModifier;
|
||||
public byte ClassID;
|
||||
public byte Flags;
|
||||
}
|
||||
|
||||
@@ -145,7 +144,6 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public uint ItemID;
|
||||
}
|
||||
|
||||
// common struct for:
|
||||
// ItemDamageAmmo.dbc
|
||||
// ItemDamageOneHand.dbc
|
||||
@@ -158,71 +156,71 @@ namespace Game.DataStorage
|
||||
public sealed class ItemDamageRecord
|
||||
{
|
||||
public uint Id;
|
||||
public float[] Quality = new float[7];
|
||||
public ushort ItemLevel;
|
||||
public float[] Quality = new float[7];
|
||||
}
|
||||
|
||||
public sealed class ItemDisenchantLootRecord
|
||||
{
|
||||
public uint Id;
|
||||
public sbyte Subclass;
|
||||
public byte Quality;
|
||||
public ushort MinLevel;
|
||||
public ushort MaxLevel;
|
||||
public ushort SkillRequired;
|
||||
public sbyte Subclass;
|
||||
public byte Quality;
|
||||
public sbyte ExpansionID;
|
||||
public uint ClassID;
|
||||
public byte Class;
|
||||
}
|
||||
|
||||
public sealed class ItemEffectRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int SpellID;
|
||||
public int CoolDownMSec;
|
||||
public int CategoryCoolDownMSec;
|
||||
public short Charges;
|
||||
public ushort SpellCategoryID;
|
||||
public ushort ChrSpecializationID;
|
||||
public byte LegacySlotIndex;
|
||||
public ItemSpelltriggerType TriggerType;
|
||||
public uint ParentItemID;
|
||||
public short Charges;
|
||||
public int CoolDownMSec;
|
||||
public int CategoryCoolDownMSec;
|
||||
public ushort SpellCategoryID;
|
||||
public int SpellID;
|
||||
public ushort ChrSpecializationID;
|
||||
public int ParentItemID;
|
||||
}
|
||||
|
||||
public sealed class ItemExtendedCostRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint[] ItemID = new uint[ItemConst.MaxItemExtCostItems]; // required item id
|
||||
public uint[] CurrencyCount = new uint[ItemConst.MaxItemExtCostCurrencies]; // required curency count
|
||||
public ushort[] ItemCount = new ushort[ItemConst.MaxItemExtCostItems]; // required count of 1st item
|
||||
public ushort RequiredArenaRating; // required personal arena rating
|
||||
public ushort[] CurrencyID = new ushort[ItemConst.MaxItemExtCostCurrencies]; // required curency id
|
||||
public byte ArenaBracket; // arena slot restrictions (min slot value)
|
||||
public ushort RequiredArenaRating;
|
||||
public byte ArenaBracket; // arena slot restrictions (min slot value)
|
||||
public byte Flags;
|
||||
public byte MinFactionID;
|
||||
public byte MinReputation;
|
||||
public byte Flags;
|
||||
public byte RequiredAchievement;
|
||||
public byte RequiredAchievement; // required personal arena rating
|
||||
public uint[] ItemID = new uint[ItemConst.MaxItemExtCostItems]; // required item id
|
||||
public ushort[] ItemCount = new ushort[ItemConst.MaxItemExtCostItems]; // required count of 1st item
|
||||
public ushort[] CurrencyID = new ushort[ItemConst.MaxItemExtCostCurrencies]; // required curency id
|
||||
public uint[] CurrencyCount = new uint[ItemConst.MaxItemExtCostCurrencies]; // required curency count
|
||||
}
|
||||
|
||||
public sealed class ItemLevelSelectorRecord
|
||||
{
|
||||
public uint ID;
|
||||
public uint Id;
|
||||
public ushort MinItemLevel;
|
||||
public ushort ItemLevelSelectorQualitySetID;
|
||||
}
|
||||
|
||||
public sealed class ItemLevelSelectorQualityRecord
|
||||
{
|
||||
public uint ID;
|
||||
public uint Id;
|
||||
public uint QualityItemBonusListID;
|
||||
public byte Quality;
|
||||
public uint ParentILSQualitySetID;
|
||||
public sbyte Quality;
|
||||
public short ParentILSQualitySetID;
|
||||
}
|
||||
|
||||
public sealed class ItemLevelSelectorQualitySetRecord
|
||||
{
|
||||
public uint ID;
|
||||
public ushort IlvlRare;
|
||||
public ushort IlvlEpic;
|
||||
public uint Id;
|
||||
public short IlvlRare;
|
||||
public short IlvlEpic;
|
||||
}
|
||||
|
||||
public sealed class ItemLimitCategoryRecord
|
||||
@@ -237,26 +235,26 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public sbyte AddQuantity;
|
||||
public ushort PlayerConditionID;
|
||||
public uint PlayerConditionID;
|
||||
public uint ParentItemLimitCategoryID;
|
||||
}
|
||||
|
||||
public sealed class ItemModifiedAppearanceRecord
|
||||
{
|
||||
public uint ItemID;
|
||||
public uint Id;
|
||||
public uint ItemID;
|
||||
public byte ItemAppearanceModifierID;
|
||||
public ushort ItemAppearanceID;
|
||||
public byte OrderIndex;
|
||||
public byte TransmogSourceTypeEnum;
|
||||
public sbyte TransmogSourceTypeEnum;
|
||||
}
|
||||
|
||||
public sealed class ItemPriceBaseRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort ItemLevel;
|
||||
public float Armor;
|
||||
public float Weapon;
|
||||
public ushort ItemLevel;
|
||||
}
|
||||
|
||||
public sealed class ItemRandomPropertiesRecord
|
||||
@@ -276,119 +274,119 @@ namespace Game.DataStorage
|
||||
|
||||
public sealed class ItemSearchNameRecord
|
||||
{
|
||||
public ulong AllowableRace;
|
||||
public long AllowableRace;
|
||||
public string Display;
|
||||
public uint Id;
|
||||
public uint[] Flags = new uint[3];
|
||||
public ushort ItemLevel;
|
||||
public byte OverallQualityID;
|
||||
public byte ExpansionID;
|
||||
public byte RequiredLevel;
|
||||
public ushort MinFactionID;
|
||||
public byte MinReputation;
|
||||
public short AllowableClass;
|
||||
public int AllowableClass;
|
||||
public sbyte RequiredLevel;
|
||||
public ushort RequiredSkill;
|
||||
public ushort RequiredSkillRank;
|
||||
public uint RequiredAbility;
|
||||
public ushort ItemLevel;
|
||||
public int[] Flags = new int[4];
|
||||
}
|
||||
|
||||
public sealed class ItemSetRecord
|
||||
{
|
||||
public uint Id;
|
||||
public LocalizedString Name;
|
||||
public uint[] ItemID = new uint[17];
|
||||
public ushort RequiredSkillRank;
|
||||
public byte RequiredSkill;
|
||||
public ItemSetFlags SetFlags;
|
||||
public uint RequiredSkill;
|
||||
public ushort RequiredSkillRank;
|
||||
public uint[] ItemID = new uint[ItemConst.MaxItemSetItems];
|
||||
}
|
||||
|
||||
public sealed class ItemSetSpellRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public ushort ChrSpecID;
|
||||
public uint SpellID;
|
||||
public byte Threshold;
|
||||
public uint ItemSetID;
|
||||
public ushort ItemSetID;
|
||||
}
|
||||
|
||||
public sealed class ItemSparseRecord
|
||||
{
|
||||
public uint Id;
|
||||
public long AllowableRace;
|
||||
public LocalizedString Display;
|
||||
public string Display2;
|
||||
public string Display3;
|
||||
public string Display4;
|
||||
public string Description;
|
||||
public uint[] Flags = new uint[4];
|
||||
public float PriceRandomValue;
|
||||
public float PriceVariance;
|
||||
public uint VendorStackCount;
|
||||
public uint BuyPrice;
|
||||
public uint SellPrice;
|
||||
public uint RequiredAbility;
|
||||
public uint MaxCount;
|
||||
public uint Stackable;
|
||||
public int[] StatPercentEditor = new int[ItemConst.MaxStats];
|
||||
public float[] StatPercentageOfSocket = new float[ItemConst.MaxStats];
|
||||
public float ItemRange;
|
||||
public uint BagFamily;
|
||||
public float QualityModifier;
|
||||
public uint DurationInInventory;
|
||||
public string Display3;
|
||||
public string Display2;
|
||||
public string Display1;
|
||||
public LocalizedString Display;
|
||||
public float DmgVariance;
|
||||
public short AllowableClass;
|
||||
public ushort ItemLevel;
|
||||
public ushort RequiredSkill;
|
||||
public ushort RequiredSkillRank;
|
||||
public ushort MinFactionID;
|
||||
public short[] ItemStatValue = new short[ItemConst.MaxStats];
|
||||
public ushort ScalingStatDistributionID;
|
||||
public ushort ItemDelay;
|
||||
public ushort PageID;
|
||||
public ushort StartQuestID;
|
||||
public ushort LockID;
|
||||
public ushort RandomSelect;
|
||||
public ushort ItemRandomSuffixGroupID;
|
||||
public ushort ItemSet;
|
||||
public ushort ZoneBound;
|
||||
public ushort InstanceBound;
|
||||
public ushort TotemCategoryID;
|
||||
public ushort SocketMatchEnchantmentId;
|
||||
public ushort GemProperties;
|
||||
public ushort LimitCategory;
|
||||
public ushort RequiredHoliday;
|
||||
public ushort RequiredTransmogHoliday;
|
||||
public uint DurationInInventory;
|
||||
public float QualityModifier;
|
||||
public uint BagFamily;
|
||||
public float ItemRange;
|
||||
public float[] StatPercentageOfSocket = new float[ItemConst.MaxStats];
|
||||
public int[] StatPercentEditor = new int[ItemConst.MaxStats];
|
||||
public uint Stackable;
|
||||
public uint MaxCount;
|
||||
public uint RequiredAbility;
|
||||
public uint SellPrice;
|
||||
public uint BuyPrice;
|
||||
public uint VendorStackCount;
|
||||
public float PriceVariance;
|
||||
public float PriceRandomValue;
|
||||
public uint[] Flags = new uint[4];
|
||||
public int FactionRelated;
|
||||
public ushort ItemNameDescriptionID;
|
||||
public byte OverallQualityID;
|
||||
public InventoryType inventoryType;
|
||||
public sbyte RequiredLevel;
|
||||
public byte RequiredPVPRank;
|
||||
public byte RequiredPVPMedal;
|
||||
public byte MinReputation;
|
||||
public byte ContainerSlots;
|
||||
public sbyte[] StatModifierBonusStat = new sbyte[ItemConst.MaxStats];
|
||||
public byte DamageType;
|
||||
public byte Bonding;
|
||||
public byte LanguageID;
|
||||
public byte PageMaterialID;
|
||||
public sbyte Material;
|
||||
public byte SheatheType;
|
||||
public byte[] SocketType = new byte[ItemConst.MaxGemSockets];
|
||||
public byte SpellWeightCategory;
|
||||
public byte SpellWeight;
|
||||
public byte ArtifactID;
|
||||
public ushort RequiredTransmogHoliday;
|
||||
public ushort RequiredHoliday;
|
||||
public ushort LimitCategory;
|
||||
public ushort GemProperties;
|
||||
public ushort SocketMatchEnchantmentId;
|
||||
public ushort TotemCategoryID;
|
||||
public ushort InstanceBound;
|
||||
public ushort ZoneBound;
|
||||
public ushort ItemSet;
|
||||
public ushort ItemRandomSuffixGroupID;
|
||||
public ushort RandomSelect;
|
||||
public ushort LockID;
|
||||
public ushort StartQuestID;
|
||||
public ushort PageID;
|
||||
public ushort ItemDelay;
|
||||
public ushort ScalingStatDistributionID;
|
||||
public ushort MinFactionID;
|
||||
public ushort RequiredSkillRank;
|
||||
public ushort RequiredSkill;
|
||||
public ushort ItemLevel;
|
||||
public short AllowableClass;
|
||||
public byte ExpansionID;
|
||||
public byte ArtifactID;
|
||||
public byte SpellWeight;
|
||||
public byte SpellWeightCategory;
|
||||
public byte[] SocketType = new byte[ItemConst.MaxGemSockets];
|
||||
public byte SheatheType;
|
||||
public byte Material;
|
||||
public byte PageMaterialID;
|
||||
public byte LanguageID;
|
||||
public byte Bonding;
|
||||
public byte DamageType;
|
||||
public sbyte[] StatModifierBonusStat = new sbyte[ItemConst.MaxStats];
|
||||
public byte ContainerSlots;
|
||||
public byte MinReputation;
|
||||
public byte RequiredPVPMedal;
|
||||
public byte RequiredPVPRank;
|
||||
public sbyte RequiredLevel;
|
||||
public InventoryType inventoryType;
|
||||
public byte OverallQualityID;
|
||||
}
|
||||
|
||||
public sealed class ItemSpecRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort SpecializationID;
|
||||
public byte MinLevel;
|
||||
public byte MaxLevel;
|
||||
public byte ItemType;
|
||||
public ItemSpecStat PrimaryStat;
|
||||
public ItemSpecStat SecondaryStat;
|
||||
public ushort SpecializationID;
|
||||
}
|
||||
|
||||
public sealed class ItemSpecOverrideRecord
|
||||
@@ -401,11 +399,11 @@ namespace Game.DataStorage
|
||||
public sealed class ItemUpgradeRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint CurrencyAmount;
|
||||
public ushort PrerequisiteID;
|
||||
public ushort CurrencyType;
|
||||
public byte ItemUpgradePathID;
|
||||
public byte ItemLevelIncrement;
|
||||
public ushort PrerequisiteID;
|
||||
public ushort CurrencyType;
|
||||
public uint CurrencyAmount;
|
||||
}
|
||||
|
||||
public sealed class ItemXBonusTreeRecord
|
||||
|
||||
@@ -25,37 +25,37 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public LocalizedString Name;
|
||||
public string Description;
|
||||
public LfgFlags Flags;
|
||||
public float MinGear;
|
||||
public byte MinLevel;
|
||||
public ushort MaxLevel;
|
||||
public ushort TargetLevelMax;
|
||||
public LfgType TypeID;
|
||||
public byte Subtype;
|
||||
public sbyte Faction;
|
||||
public int IconTextureFileID;
|
||||
public int RewardsBgTextureFileID;
|
||||
public int PopupBgTextureFileID;
|
||||
public byte ExpansionLevel;
|
||||
public short MapID;
|
||||
public Difficulty DifficultyID;
|
||||
public float MinGear;
|
||||
public byte GroupID;
|
||||
public byte OrderIndex;
|
||||
public uint RequiredPlayerConditionId;
|
||||
public byte TargetLevel;
|
||||
public byte TargetLevelMin;
|
||||
public ushort TargetLevelMax;
|
||||
public ushort RandomID;
|
||||
public ushort ScenarioID;
|
||||
public ushort FinalEncounterID;
|
||||
public ushort BonusReputationAmount;
|
||||
public ushort MentorItemLevel;
|
||||
public ushort RequiredPlayerConditionId;
|
||||
public byte MinLevel;
|
||||
public byte TargetLevel;
|
||||
public byte TargetLevelMin;
|
||||
public Difficulty DifficultyID;
|
||||
public LfgType TypeID;
|
||||
public byte Faction;
|
||||
public byte ExpansionLevel;
|
||||
public byte OrderIndex;
|
||||
public byte GroupID;
|
||||
public byte CountTank;
|
||||
public byte CountHealer;
|
||||
public byte CountDamage;
|
||||
public byte MinCountTank;
|
||||
public byte MinCountHealer;
|
||||
public byte MinCountDamage;
|
||||
public byte Subtype;
|
||||
public ushort BonusReputationAmount;
|
||||
public ushort MentorItemLevel;
|
||||
public byte MentorCharLevel;
|
||||
public int IconTextureFileID;
|
||||
public int RewardsBgTextureFileID;
|
||||
public int PopupBgTextureFileID;
|
||||
public LfgFlags[] Flags = new LfgFlags[2];
|
||||
|
||||
// Helpers
|
||||
public uint Entry() { return (uint)(Id + ((int)TypeID << 24)); }
|
||||
@@ -67,7 +67,7 @@ namespace Game.DataStorage
|
||||
public Vector3 GameCoords;
|
||||
public float GameFalloffStart;
|
||||
public float GameFalloffEnd;
|
||||
public ushort ContinentID;
|
||||
public short ContinentID;
|
||||
public ushort[] LightParamsID = new ushort[8];
|
||||
}
|
||||
|
||||
@@ -76,29 +76,31 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public string[] Texture = new string[6];
|
||||
public ushort Flags;
|
||||
public byte SoundBank; // used to be "type", maybe needs fixing (works well for now)
|
||||
public uint SoundID;
|
||||
public uint SpellID;
|
||||
public float MaxDarkenDepth;
|
||||
public float FogDarkenIntensity;
|
||||
public float AmbDarkenIntensity;
|
||||
public float DirDarkenIntensity;
|
||||
public float ParticleScale;
|
||||
public uint[] Color = new uint[2];
|
||||
public float[] Float = new float[18];
|
||||
public uint[] Int = new uint[4];
|
||||
public ushort Flags;
|
||||
public ushort LightID;
|
||||
public byte SoundBank;
|
||||
public float ParticleScale;
|
||||
public byte ParticleMovement;
|
||||
public byte ParticleTexSlots;
|
||||
public byte MaterialID;
|
||||
public int MinimapStaticCol;
|
||||
public byte[] FrameCountTexture = new byte[6];
|
||||
public ushort SoundID;
|
||||
public int[] Color = new int[2];
|
||||
public float[] Float = new float[18];
|
||||
public uint[] Int = new uint[4];
|
||||
public float[] Coefficient = new float[4];
|
||||
}
|
||||
|
||||
public sealed class LockRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint[] Index = new uint[SharedConst.MaxLockCase];
|
||||
public int[] Index = new int[SharedConst.MaxLockCase];
|
||||
public ushort[] Skill = new ushort[SharedConst.MaxLockCase];
|
||||
public byte[] LockType = new byte[SharedConst.MaxLockCase];
|
||||
public byte[] Action = new byte[SharedConst.MaxLockCase];
|
||||
|
||||
@@ -35,32 +35,32 @@ namespace Game.DataStorage
|
||||
public string MapDescription1; // Alliance
|
||||
public string PvpShortDescription;
|
||||
public string PvpLongDescription;
|
||||
public MapFlags[] Flags = new MapFlags[2];
|
||||
public float MinimapIconScale;
|
||||
public Vector2 Corpse; // entrance coordinates in ghost mode (in most cases = normal entrance)
|
||||
public Vector2 Corpse; // entrance coordinates in ghost mode (in most cases = normal entrance)
|
||||
public byte MapType;
|
||||
public MapTypes InstanceType;
|
||||
public byte ExpansionID;
|
||||
public ushort AreaTableID;
|
||||
public ushort LoadingScreenID;
|
||||
public short CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance)
|
||||
public ushort TimeOfDayOverride;
|
||||
public short LoadingScreenID;
|
||||
public short TimeOfDayOverride;
|
||||
public short ParentMapID;
|
||||
public short CosmeticParentMapID;
|
||||
public ushort WindSettingsID;
|
||||
public MapTypes InstanceType;
|
||||
public byte MapType;
|
||||
public byte ExpansionID;
|
||||
public byte MaxPlayers;
|
||||
public byte TimeOffset;
|
||||
public float MinimapIconScale;
|
||||
public short CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance)
|
||||
public byte MaxPlayers;
|
||||
public short WindSettingsID;
|
||||
public int ZmpFileDataID;
|
||||
public MapFlags[] Flags = new MapFlags[2];
|
||||
|
||||
//Helpers
|
||||
// Helpers
|
||||
public Expansion Expansion() { return (Expansion)ExpansionID; }
|
||||
|
||||
public bool IsDungeon() { return (InstanceType == MapTypes.Instance || InstanceType == MapTypes.Raid || InstanceType == MapTypes.Scenario) && !IsGarrison(); }
|
||||
public bool IsNonRaidDungeon() { return InstanceType == MapTypes.Instance; }
|
||||
public bool Instanceable()
|
||||
public bool IsDungeon()
|
||||
{
|
||||
return InstanceType == MapTypes.Instance || InstanceType == MapTypes.Raid
|
||||
|| InstanceType == MapTypes.Battleground || InstanceType == MapTypes.Arena || InstanceType == MapTypes.Scenario;
|
||||
return (InstanceType == MapTypes.Instance || InstanceType == MapTypes.Raid || InstanceType == MapTypes.Scenario) && !IsGarrison();
|
||||
}
|
||||
public bool IsNonRaidDungeon() { return InstanceType == MapTypes.Instance; }
|
||||
public bool Instanceable() { return InstanceType == MapTypes.Instance || InstanceType == MapTypes.Raid || InstanceType == MapTypes.Battleground || InstanceType == MapTypes.Arena || InstanceType == MapTypes.Scenario; }
|
||||
public bool IsRaid() { return InstanceType == MapTypes.Raid; }
|
||||
public bool IsBattleground() { return InstanceType == MapTypes.Battleground; }
|
||||
public bool IsBattleArena() { return InstanceType == MapTypes.Arena; }
|
||||
@@ -75,6 +75,7 @@ namespace Game.DataStorage
|
||||
|
||||
if (CorpseMapID < 0)
|
||||
return false;
|
||||
|
||||
mapid = (uint)CorpseMapID;
|
||||
x = Corpse.X;
|
||||
y = Corpse.Y;
|
||||
@@ -86,22 +87,23 @@ namespace Game.DataStorage
|
||||
return Id == 0 || Id == 1 || Id == 530 || Id == 571 || Id == 870 || Id == 1116 || Id == 1220;
|
||||
}
|
||||
|
||||
public bool IsDynamicDifficultyMap() { return Flags[0].HasAnyFlag(MapFlags.CanToggleDifficulty); }
|
||||
public bool IsGarrison() { return Flags[0].HasAnyFlag(MapFlags.Garrison); }
|
||||
public bool IsDynamicDifficultyMap() { return (Flags[0] & MapFlags.CanToggleDifficulty) != 0; }
|
||||
public bool IsGarrison() { return (Flags[0] & MapFlags.Garrison) != 0; }
|
||||
}
|
||||
|
||||
public sealed class MapDifficultyRecord
|
||||
{
|
||||
public uint Id;
|
||||
public LocalizedString Message; // m_message_lang (text showed when transfer to map failed)
|
||||
public byte DifficultyID;
|
||||
public byte ResetInterval; // 1 means daily reset, 2 means weekly
|
||||
public byte MaxPlayers; // m_maxPlayers some heroic versions have 0 when expected same amount as in normal version
|
||||
public byte LockID;
|
||||
public byte Flags;
|
||||
public byte ItemContext;
|
||||
public LocalizedString Message; // m_message_lang (text showed when transfer to map failed)
|
||||
public uint ItemContextPickerID;
|
||||
public uint MapID;
|
||||
public int ContentTuningID;
|
||||
public byte DifficultyID;
|
||||
public byte LockID;
|
||||
public byte ResetInterval;
|
||||
public byte MaxPlayers;
|
||||
public byte ItemContext;
|
||||
public byte Flags;
|
||||
public ushort MapID;
|
||||
|
||||
public uint GetRaidDuration()
|
||||
{
|
||||
@@ -116,42 +118,42 @@ namespace Game.DataStorage
|
||||
public sealed class ModifierTreeRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint Asset;
|
||||
public uint SecondaryAsset;
|
||||
public uint Parent;
|
||||
public sbyte Operator;
|
||||
public sbyte Amount;
|
||||
public byte Type;
|
||||
public byte TertiaryAsset;
|
||||
public byte Operator;
|
||||
public byte Amount;
|
||||
public uint Asset;
|
||||
public int SecondaryAsset;
|
||||
public sbyte TertiaryAsset;
|
||||
}
|
||||
|
||||
public sealed class MountRecord
|
||||
{
|
||||
public string Name;
|
||||
public string Description;
|
||||
public string SourceText;
|
||||
public uint SourceSpellID;
|
||||
public float MountFlyRideHeight;
|
||||
public ushort MountTypeID;
|
||||
public ushort Flags;
|
||||
public byte SourceTypeEnum;
|
||||
public string Description;
|
||||
public uint Id;
|
||||
public ushort MountTypeID;
|
||||
public MountFlags Flags;
|
||||
public sbyte SourceTypeEnum;
|
||||
public uint SourceSpellID;
|
||||
public uint PlayerConditionID;
|
||||
public byte UiModelSceneID;
|
||||
public float MountFlyRideHeight;
|
||||
public int UiModelSceneID;
|
||||
|
||||
public bool IsSelfMount() { return (Flags & (ushort)MountFlags.SelfMount) != 0; }
|
||||
}
|
||||
public bool IsSelfMount() { return (Flags & MountFlags.SelfMount) != 0; }
|
||||
}
|
||||
|
||||
public sealed class MountCapabilityRecord
|
||||
{
|
||||
public uint ReqSpellKnownID;
|
||||
public uint ModSpellAuraID;
|
||||
public uint Id;
|
||||
public MountCapabilityFlags Flags;
|
||||
public ushort ReqRidingSkill;
|
||||
public ushort ReqAreaID;
|
||||
public uint ReqSpellAuraID;
|
||||
public uint ReqSpellKnownID;
|
||||
public uint ModSpellAuraID;
|
||||
public short ReqMapID;
|
||||
public MountCapabilityFlags Flags;
|
||||
public uint Id;
|
||||
public byte ReqSpellAuraID;
|
||||
}
|
||||
|
||||
public sealed class MountTypeXCapabilityRecord
|
||||
@@ -173,9 +175,9 @@ namespace Game.DataStorage
|
||||
public sealed class MovieRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint AudioFileDataID;
|
||||
public uint SubtitleFileDataID;
|
||||
public byte Volume;
|
||||
public byte KeyID;
|
||||
public uint AudioFileDataID;
|
||||
public uint SubtitleFileDataID;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,4 +44,12 @@ namespace Game.DataStorage
|
||||
public string Name;
|
||||
public byte LocaleMask;
|
||||
}
|
||||
|
||||
public sealed class NumTalentsAtLevelRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint NumTalents;
|
||||
public uint NumTalentsDeathKnight;
|
||||
public uint NumTalentsDemonHunter;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,20 +30,17 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public ushort PhaseId;
|
||||
public uint PhaseGroupID;
|
||||
public ushort PhaseGroupID;
|
||||
}
|
||||
|
||||
public sealed class PlayerConditionRecord
|
||||
{
|
||||
public long RaceMask;
|
||||
public ulong RaceMask;
|
||||
public string FailureDescription;
|
||||
public uint Id;
|
||||
public byte Flags;
|
||||
public ushort MinLevel;
|
||||
public ushort MaxLevel;
|
||||
public int ClassMask;
|
||||
public sbyte Gender;
|
||||
public sbyte NativeGender;
|
||||
public uint SkillLogic;
|
||||
public byte LanguageID;
|
||||
public byte MinLanguage;
|
||||
@@ -51,9 +48,7 @@ namespace Game.DataStorage
|
||||
public ushort MaxFactionID;
|
||||
public byte MaxReputation;
|
||||
public uint ReputationLogic;
|
||||
public byte CurrentPvpFaction;
|
||||
public byte MinPVPRank;
|
||||
public byte MaxPVPRank;
|
||||
public sbyte CurrentPvpFaction;
|
||||
public byte PvpMedal;
|
||||
public uint PrevQuestLogic;
|
||||
public uint CurrQuestLogic;
|
||||
@@ -67,34 +62,39 @@ namespace Game.DataStorage
|
||||
public byte PartyStatus;
|
||||
public byte LifetimeMaxPVPRank;
|
||||
public uint AchievementLogic;
|
||||
public uint LfgLogic;
|
||||
public sbyte Gender;
|
||||
public sbyte NativeGender;
|
||||
public uint AreaLogic;
|
||||
public uint LfgLogic;
|
||||
public uint CurrencyLogic;
|
||||
public ushort QuestKillID;
|
||||
public uint QuestKillLogic;
|
||||
public sbyte MinExpansionLevel;
|
||||
public sbyte MaxExpansionLevel;
|
||||
public sbyte MinExpansionTier;
|
||||
public sbyte MaxExpansionTier;
|
||||
public byte MinGuildLevel;
|
||||
public byte MaxGuildLevel;
|
||||
public byte PhaseUseFlags;
|
||||
public ushort PhaseID;
|
||||
public uint PhaseGroupID;
|
||||
public int MinAvgItemLevel;
|
||||
public int MaxAvgItemLevel;
|
||||
public ushort MinAvgEquippedItemLevel;
|
||||
public ushort MaxAvgEquippedItemLevel;
|
||||
public byte PhaseUseFlags;
|
||||
public ushort PhaseID;
|
||||
public uint PhaseGroupID;
|
||||
public byte Flags;
|
||||
public sbyte ChrSpecializationIndex;
|
||||
public sbyte ChrSpecializationRole;
|
||||
public uint ModifierTreeID;
|
||||
public sbyte PowerType;
|
||||
public byte PowerTypeComp;
|
||||
public byte PowerTypeValue;
|
||||
public uint ModifierTreeID;
|
||||
public int WeaponSubclassMask;
|
||||
public byte MaxGuildLevel;
|
||||
public byte MinGuildLevel;
|
||||
public sbyte MaxExpansionTier;
|
||||
public sbyte MinExpansionTier;
|
||||
public byte MinPVPRank;
|
||||
public byte MaxPVPRank;
|
||||
public ushort[] SkillID = new ushort[4];
|
||||
public short[] MinSkill = new short[4];
|
||||
public short[] MaxSkill = new short[4];
|
||||
public ushort[] MinSkill = new ushort[4];
|
||||
public ushort[] MaxSkill = new ushort[4];
|
||||
public uint[] MinFactionID = new uint[3];
|
||||
public byte[] MinReputation = new byte[3];
|
||||
public ushort[] PrevQuestID = new ushort[4];
|
||||
@@ -108,12 +108,12 @@ namespace Game.DataStorage
|
||||
public uint[] AuraSpellID = new uint[4];
|
||||
public byte[] AuraStacks = new byte[4];
|
||||
public ushort[] Achievement = new ushort[4];
|
||||
public ushort[] AreaID = new ushort[4];
|
||||
public byte[] LfgStatus = new byte[4];
|
||||
public byte[] LfgCompare = new byte[4];
|
||||
public uint[] LfgValue = new uint[4];
|
||||
public ushort[] AreaID = new ushort[4];
|
||||
public uint[] CurrencyID = new uint[4];
|
||||
public byte[] CurrencyCount = new byte[4];
|
||||
public uint[] CurrencyCount = new uint[4];
|
||||
public uint[] QuestKillMonster = new uint[6];
|
||||
public int[] MovementFlags = new int[2];
|
||||
}
|
||||
@@ -121,7 +121,7 @@ namespace Game.DataStorage
|
||||
public sealed class PowerDisplayRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint GlobalStringBaseTag;
|
||||
public string GlobalStringBaseTag;
|
||||
public byte ActualType;
|
||||
public byte Red;
|
||||
public byte Green;
|
||||
@@ -133,27 +133,28 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public string NameGlobalStringTag;
|
||||
public string CostGlobalStringTag;
|
||||
public float RegenPeace;
|
||||
public float RegenCombat;
|
||||
public short MaxBasePower;
|
||||
public ushort RegenInterruptTimeMS;
|
||||
public ushort Flags;
|
||||
public PowerType PowerTypeEnum;
|
||||
public sbyte MinPower;
|
||||
public short MaxBasePower;
|
||||
public sbyte CenterPower;
|
||||
public sbyte DefaultPower;
|
||||
public sbyte DisplayModifier;
|
||||
public short RegenInterruptTimeMS;
|
||||
public float RegenPeace;
|
||||
public float RegenCombat;
|
||||
public short Flags;
|
||||
}
|
||||
|
||||
public sealed class PrestigeLevelInfoRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public uint BadgeTextureFileDataID;
|
||||
public byte PrestigeLevel;
|
||||
public int PrestigeLevel;
|
||||
public int BadgeTextureFileDataID;
|
||||
public PrestigeLevelInfoFlags Flags;
|
||||
public int AwardedAchievementID;
|
||||
|
||||
public bool IsDisabled() { return Flags.HasAnyFlag(PrestigeLevelInfoFlags.Disabled); }
|
||||
public bool IsDisabled() { return (Flags & PrestigeLevelInfoFlags.Disabled) != 0; }
|
||||
}
|
||||
|
||||
public sealed class PvpDifficultyRecord
|
||||
@@ -162,10 +163,13 @@ namespace Game.DataStorage
|
||||
public byte RangeIndex;
|
||||
public byte MinLevel;
|
||||
public byte MaxLevel;
|
||||
public uint MapID;
|
||||
public ushort MapID;
|
||||
|
||||
// helpers
|
||||
public BattlegroundBracketId GetBracketId() { return (BattlegroundBracketId)RangeIndex; }
|
||||
public BattlegroundBracketId GetBracketId()
|
||||
{
|
||||
return (BattlegroundBracketId)RangeIndex;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class PvpItemRecord
|
||||
@@ -175,34 +179,31 @@ namespace Game.DataStorage
|
||||
public byte ItemLevelDelta;
|
||||
}
|
||||
|
||||
public sealed class PvpRewardRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte HonorLevel;
|
||||
public byte PrestigeLevel;
|
||||
public ushort RewardPackID;
|
||||
}
|
||||
|
||||
public sealed class PvpTalentRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Description;
|
||||
public uint Id;
|
||||
public int SpecID;
|
||||
public uint SpellID;
|
||||
public uint OverridesSpellID;
|
||||
public int Flags;
|
||||
public int ActionBarSpellID;
|
||||
public int TierID;
|
||||
public byte ColumnIndex;
|
||||
public byte Flags;
|
||||
public byte ClassID;
|
||||
public ushort SpecID;
|
||||
public byte Role;
|
||||
public int PvpTalentCategoryID;
|
||||
public int LevelRequired;
|
||||
}
|
||||
|
||||
public sealed class PvpTalentUnlockRecord
|
||||
public sealed class PvpTalentCategoryRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte TierID;
|
||||
public byte ColumnIndex;
|
||||
public byte HonorLevel;
|
||||
public byte TalentSlotMask;
|
||||
}
|
||||
|
||||
public sealed class PvpTalentSlotUnlockRecord
|
||||
{
|
||||
public uint Id;
|
||||
public sbyte Slot;
|
||||
public uint LevelRequired;
|
||||
public uint DeathKnightLevelRequired;
|
||||
public uint DemonHunterLevelRequired;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,10 +34,10 @@ namespace Game.DataStorage
|
||||
public sealed class QuestPackageItemRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint ItemID;
|
||||
public ushort PackageID;
|
||||
public QuestPackageFilter DisplayType;
|
||||
public uint ItemID;
|
||||
public byte ItemQuantity;
|
||||
public QuestPackageFilter DisplayType;
|
||||
}
|
||||
|
||||
public sealed class QuestSortRecord
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace Game.DataStorage
|
||||
public sealed class RandPropPointsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int DamageReplaceStat;
|
||||
public uint[] Epic = new uint[5];
|
||||
public uint[] Superior = new uint[5];
|
||||
public uint[] Good = new uint[5];
|
||||
@@ -28,19 +29,19 @@ namespace Game.DataStorage
|
||||
public sealed class RewardPackRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint Money;
|
||||
public float ArtifactXPMultiplier;
|
||||
public byte ArtifactXPDifficulty;
|
||||
public byte ArtifactXPCategoryID;
|
||||
public ushort CharTitleID;
|
||||
public ushort TreasurePickerID;
|
||||
public uint Money;
|
||||
public byte ArtifactXPDifficulty;
|
||||
public float ArtifactXPMultiplier;
|
||||
public byte ArtifactXPCategoryID;
|
||||
public uint TreasurePickerID;
|
||||
}
|
||||
|
||||
public sealed class RewardPackXCurrencyTypeRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort CurrencyTypeID;
|
||||
public short Quantity;
|
||||
public uint CurrencyTypeID;
|
||||
public int Quantity;
|
||||
public uint RewardPackID;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,20 +21,12 @@ using System;
|
||||
|
||||
namespace Game.DataStorage
|
||||
{
|
||||
public sealed class SandboxScalingRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint MinLevel;
|
||||
public uint MaxLevel;
|
||||
public uint Flags;
|
||||
}
|
||||
|
||||
public sealed class ScalingStatDistributionRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort PlayerLevelToItemLevelCurveID;
|
||||
public byte MinLevel;
|
||||
public uint MaxLevel;
|
||||
public int MinLevel;
|
||||
public int MaxLevel;
|
||||
}
|
||||
|
||||
public sealed class ScenarioRecord
|
||||
@@ -42,8 +34,9 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public ushort AreaTableID;
|
||||
public byte Flags;
|
||||
public byte Type;
|
||||
public byte Flags;
|
||||
public uint UiTextureKitID;
|
||||
}
|
||||
|
||||
public sealed class ScenarioStepRecord
|
||||
@@ -52,12 +45,14 @@ namespace Game.DataStorage
|
||||
public string Description;
|
||||
public string Title;
|
||||
public ushort ScenarioID;
|
||||
public ushort Supersedes; // Used in conjunction with Proving Grounds scenarios, when sequencing steps (Not using step order?)
|
||||
public uint CriteriaTreeId;
|
||||
public ushort RewardQuestID;
|
||||
public int RelatedStep; // Bonus step can only be completed if scenario is in the step specified in this field
|
||||
public ushort Supersedes; // Used in conjunction with Proving Grounds scenarios, when sequencing steps (Not using step order?)
|
||||
public byte OrderIndex;
|
||||
public ScenarioStepFlags Flags;
|
||||
public ushort CriteriaTreeId;
|
||||
public byte RelatedStep; // Bonus step can only be completed if scenario is in the step specified in this field
|
||||
public uint VisibilityPlayerConditionID;
|
||||
public ushort WidgetSetID;
|
||||
|
||||
// helpers
|
||||
public bool IsBonusObjective()
|
||||
@@ -95,33 +90,38 @@ namespace Game.DataStorage
|
||||
|
||||
public sealed class SkillLineRecord
|
||||
{
|
||||
public uint Id;
|
||||
public LocalizedString DisplayName;
|
||||
public string Description;
|
||||
public string AlternateVerb;
|
||||
public ushort Flags;
|
||||
public string Description;
|
||||
public string HordeDisplayName;
|
||||
public string OverrideSourceInfoDisplayName;
|
||||
public uint Id;
|
||||
public SkillCategory CategoryID;
|
||||
public byte CanLink;
|
||||
public uint SpellIconFileID;
|
||||
public byte ParentSkillLineID;
|
||||
public int SpellIconFileID;
|
||||
public sbyte CanLink;
|
||||
public uint ParentSkillLineID;
|
||||
public int ParentTierIndex;
|
||||
public ushort Flags;
|
||||
public int SpellBookSpellID;
|
||||
}
|
||||
|
||||
public sealed class SkillLineAbilityRecord
|
||||
{
|
||||
public long RaceMask;
|
||||
public ulong RaceMask;
|
||||
public uint Id;
|
||||
public uint Spell;
|
||||
public uint SupercedesSpell;
|
||||
public ushort SkillLine;
|
||||
public uint Spell;
|
||||
public short MinSkillLineRank;
|
||||
public int ClassMask;
|
||||
public uint SupercedesSpell;
|
||||
public AbilityLearnType AcquireMethod;
|
||||
public ushort TrivialSkillLineRankHigh;
|
||||
public ushort TrivialSkillLineRankLow;
|
||||
public ushort UniqueBit;
|
||||
public ushort TradeSkillCategoryID;
|
||||
public sbyte Flags;
|
||||
public byte NumSkillUps;
|
||||
public int ClassMask;
|
||||
public ushort MinSkillLineRank;
|
||||
public AbilytyLearnType AcquireMethod;
|
||||
public byte Flags;
|
||||
public short UniqueBit;
|
||||
public short TradeSkillCategoryID;
|
||||
public ushort SkillupSkillLineID;
|
||||
}
|
||||
|
||||
public sealed class SkillRaceClassInfoRecord
|
||||
@@ -129,28 +129,28 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public long RaceMask;
|
||||
public ushort SkillID;
|
||||
public SkillRaceClassInfoFlags Flags;
|
||||
public ushort SkillTierID;
|
||||
public byte Availability;
|
||||
public byte MinLevel;
|
||||
public int ClassMask;
|
||||
public SkillRaceClassInfoFlags Flags;
|
||||
public sbyte Availability;
|
||||
public sbyte MinLevel;
|
||||
public ushort SkillTierID;
|
||||
}
|
||||
|
||||
public sealed class SoundKitRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte SoundType;
|
||||
public float VolumeFloat;
|
||||
public ushort Flags;
|
||||
public float MinDistance;
|
||||
public float DistanceCutoff;
|
||||
public ushort Flags;
|
||||
public ushort SoundEntriesAdvancedID;
|
||||
public byte SoundType;
|
||||
public byte DialogType;
|
||||
public byte EAXDef;
|
||||
public uint SoundKitAdvancedID;
|
||||
public float VolumeVariationPlus;
|
||||
public float VolumeVariationMinus;
|
||||
public float PitchVariationPlus;
|
||||
public float PitchVariationMinus;
|
||||
public sbyte DialogType;
|
||||
public float PitchAdjust;
|
||||
public ushort BusOverwriteID;
|
||||
public byte MaxInstances;
|
||||
@@ -159,47 +159,38 @@ namespace Game.DataStorage
|
||||
public sealed class SpecializationSpellsRecord
|
||||
{
|
||||
public string Description;
|
||||
public uint Id;
|
||||
public ushort SpecID;
|
||||
public uint SpellID;
|
||||
public uint OverridesSpellID;
|
||||
public ushort SpecID;
|
||||
public byte DisplayOrder;
|
||||
public uint Id;
|
||||
}
|
||||
|
||||
public sealed class SpellRecord
|
||||
{
|
||||
public uint Id;
|
||||
public LocalizedString Name;
|
||||
public string NameSubtext;
|
||||
public string Description;
|
||||
public string AuraDescription;
|
||||
}
|
||||
|
||||
public sealed class SpellAuraOptionsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint ProcCharges;
|
||||
public uint ProcTypeMask;
|
||||
public uint ProcCategoryRecovery;
|
||||
public ushort CumulativeAura;
|
||||
public ushort SpellProcsPerMinuteID;
|
||||
public byte DifficultyID;
|
||||
public ushort CumulativeAura;
|
||||
public uint ProcCategoryRecovery;
|
||||
public byte ProcChance;
|
||||
public uint ProcCharges;
|
||||
public ushort SpellProcsPerMinuteID;
|
||||
public int[] ProcTypeMask = new int[2];
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
public sealed class SpellAuraRestrictionsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint CasterAuraSpell;
|
||||
public uint TargetAuraSpell;
|
||||
public uint ExcludeCasterAuraSpell;
|
||||
public uint ExcludeTargetAuraSpell;
|
||||
public byte DifficultyID;
|
||||
public byte CasterAuraState;
|
||||
public byte TargetAuraState;
|
||||
public byte ExcludeCasterAuraState;
|
||||
public byte ExcludeTargetAuraState;
|
||||
public uint CasterAuraSpell;
|
||||
public uint TargetAuraSpell;
|
||||
public uint ExcludeCasterAuraSpell;
|
||||
public uint ExcludeTargetAuraSpell;
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
@@ -207,33 +198,33 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public int Base;
|
||||
public int Minimum;
|
||||
public short PerLevel;
|
||||
public int Minimum;
|
||||
}
|
||||
|
||||
public sealed class SpellCastingRequirementsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public ushort MinFactionID;
|
||||
public ushort RequiredAreasID;
|
||||
public ushort RequiresSpellFocus;
|
||||
public byte FacingCasterFlags;
|
||||
public byte MinReputation;
|
||||
public ushort MinFactionID;
|
||||
public sbyte MinReputation;
|
||||
public ushort RequiredAreasID;
|
||||
public byte RequiredAuraVision;
|
||||
public ushort RequiresSpellFocus;
|
||||
}
|
||||
|
||||
public sealed class SpellCategoriesRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte DifficultyID;
|
||||
public ushort Category;
|
||||
public sbyte DefenseType;
|
||||
public sbyte DispelType;
|
||||
public sbyte Mechanic;
|
||||
public sbyte PreventionType;
|
||||
public ushort StartRecoveryCategory;
|
||||
public ushort ChargeCategory;
|
||||
public byte DifficultyID;
|
||||
public byte DefenseType;
|
||||
public byte DispelType;
|
||||
public byte Mechanic;
|
||||
public byte PreventionType;
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
@@ -241,29 +232,29 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public int ChargeRecoveryTime;
|
||||
public SpellCategoryFlags Flags;
|
||||
public byte UsesPerWeek;
|
||||
public byte MaxCharges;
|
||||
public byte TypeMask;
|
||||
public int ChargeRecoveryTime;
|
||||
public int TypeMask;
|
||||
}
|
||||
|
||||
public sealed class SpellClassOptionsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public FlagArray128 SpellClassMask;
|
||||
public uint ModalNextSpell;
|
||||
public byte SpellClassSet;
|
||||
public ushort ModalNextSpell;
|
||||
public FlagArray128 SpellClassMask;
|
||||
}
|
||||
|
||||
public sealed class SpellCooldownsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte DifficultyID;
|
||||
public uint CategoryRecoveryTime;
|
||||
public uint RecoveryTime;
|
||||
public uint StartRecoveryTime;
|
||||
public byte DifficultyID;
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
@@ -271,41 +262,40 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public int Duration;
|
||||
public uint DurationPerLevel;
|
||||
public int MaxDuration;
|
||||
public int DurationPerLevel;
|
||||
}
|
||||
|
||||
public sealed class SpellEffectRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint Effect;
|
||||
public int EffectBasePoints;
|
||||
public byte EffectIndex;
|
||||
public uint EffectAura;
|
||||
public uint DifficultyID;
|
||||
public uint EffectIndex;
|
||||
public uint Effect;
|
||||
public float EffectAmplitude;
|
||||
public int EffectAttributes;
|
||||
public short EffectAura;
|
||||
public uint EffectAuraPeriod;
|
||||
public float EffectBonusCoefficient;
|
||||
public float EffectChainAmplitude;
|
||||
public int EffectChainTargets;
|
||||
public int EffectDieSides;
|
||||
public uint EffectItemType;
|
||||
public uint EffectMechanic;
|
||||
public int EffectMechanic;
|
||||
public float EffectPointsPerResource;
|
||||
public float EffectPosFacing;
|
||||
public float EffectRealPointsPerLevel;
|
||||
public uint EffectTriggerSpell;
|
||||
public float EffectPosFacing;
|
||||
public uint EffectAttributes;
|
||||
public float BonusCoefficientFromAP;
|
||||
public float PvpMultiplier;
|
||||
public float Coefficient;
|
||||
public float Variance;
|
||||
public float ResourceCoefficient;
|
||||
public float GroupSizeBasePointsCoefficient;
|
||||
public FlagArray128 EffectSpellClassMask;
|
||||
public float EffectBasePoints;
|
||||
public int[] EffectMiscValue = new int[2];
|
||||
public uint[] EffectRadiusIndex = new uint[2];
|
||||
public uint[] ImplicitTarget = new uint[2];
|
||||
public FlagArray128 EffectSpellClassMask;
|
||||
public short[] ImplicitTarget = new short[2];
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
@@ -313,9 +303,9 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public sbyte EquippedItemClass;
|
||||
public int EquippedItemInvTypes;
|
||||
public int EquippedItemSubclass;
|
||||
public sbyte EquippedItemClass;
|
||||
}
|
||||
|
||||
public sealed class SpellFocusObjectRecord
|
||||
@@ -328,7 +318,7 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public byte DifficultyID;
|
||||
public ushort InterruptFlags;
|
||||
public short InterruptFlags;
|
||||
public uint[] AuraInterruptFlags = new uint[2];
|
||||
public uint[] ChannelInterruptFlags = new uint[2];
|
||||
public uint SpellID;
|
||||
@@ -338,10 +328,12 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public string HordeName;
|
||||
public uint[] EffectArg = new uint[ItemConst.MaxItemEnchantmentEffects];
|
||||
public float[] EffectScalingPoints = new float[ItemConst.MaxItemEnchantmentEffects];
|
||||
public uint TransmogCost;
|
||||
public uint IconFileDataID;
|
||||
public uint TransmogPlayerConditionID;
|
||||
public ushort[] EffectPointsMin = new ushort[ItemConst.MaxItemEnchantmentEffects];
|
||||
public ushort ItemVisual;
|
||||
public EnchantmentSlotMask Flags;
|
||||
@@ -350,19 +342,18 @@ namespace Game.DataStorage
|
||||
public ushort ItemLevel;
|
||||
public byte Charges;
|
||||
public ItemEnchantmentType[] Effect = new ItemEnchantmentType[ItemConst.MaxItemEnchantmentEffects];
|
||||
public sbyte ScalingClass;
|
||||
public sbyte ScalingClassRestricted;
|
||||
public byte ConditionID;
|
||||
public byte MinLevel;
|
||||
public byte MaxLevel;
|
||||
public sbyte ScalingClass;
|
||||
public sbyte ScalingClassRestricted;
|
||||
public ushort TransmogPlayerConditionID;
|
||||
}
|
||||
|
||||
public sealed class SpellItemEnchantmentConditionRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint[] LtOperand = new uint[5];
|
||||
public byte[] LtOperandType = new byte[5];
|
||||
public uint[] LtOperand = new uint[5];
|
||||
public byte[] Operator = new byte[5];
|
||||
public byte[] RtOperandType = new byte[5];
|
||||
public byte[] RtOperand = new byte[5];
|
||||
@@ -380,10 +371,10 @@ namespace Game.DataStorage
|
||||
public sealed class SpellLevelsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte DifficultyID;
|
||||
public ushort BaseLevel;
|
||||
public ushort MaxLevel;
|
||||
public ushort SpellLevel;
|
||||
public byte DifficultyID;
|
||||
public byte MaxPassiveAuraLevel;
|
||||
public uint SpellID;
|
||||
}
|
||||
@@ -391,43 +382,50 @@ namespace Game.DataStorage
|
||||
public sealed class SpellMiscRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte DifficultyID;
|
||||
public ushort CastingTimeIndex;
|
||||
public ushort DurationIndex;
|
||||
public ushort RangeIndex;
|
||||
public byte SchoolMask;
|
||||
public uint SpellIconFileDataID;
|
||||
public float Speed;
|
||||
public uint ActiveIconFileDataID;
|
||||
public float LaunchDelay;
|
||||
public byte DifficultyID;
|
||||
public uint[] Attributes = new uint[14];
|
||||
public float MinDuration;
|
||||
public uint SpellIconFileDataID;
|
||||
public uint ActiveIconFileDataID;
|
||||
public int[] Attributes = new int[14];
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
public sealed class SpellNameRecord
|
||||
{
|
||||
public uint Id; // SpellID
|
||||
public LocalizedString Name;
|
||||
}
|
||||
|
||||
public sealed class SpellPowerRecord
|
||||
{
|
||||
public int ManaCost;
|
||||
public float PowerCostPct;
|
||||
public float PowerPctPerSecond;
|
||||
public uint RequiredAuraSpellID;
|
||||
public float PowerCostMaxPct;
|
||||
public byte OrderIndex;
|
||||
public PowerType PowerType;
|
||||
public uint Id;
|
||||
public byte ManaCostPerLevel;
|
||||
public ushort ManaPerSecond;
|
||||
public int OptionalCost; // Spell uses [ManaCost, ManaCost+ManaCostAdditional] power - affects tooltip parsing as multiplier on SpellEffectEntry::EffectPointsPerResource
|
||||
// only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG
|
||||
public byte OrderIndex;
|
||||
public int ManaCost;
|
||||
public int ManaCostPerLevel;
|
||||
public int ManaPerSecond;
|
||||
public uint PowerDisplayID;
|
||||
public uint AltPowerBarID;
|
||||
public int AltPowerBarID;
|
||||
public float PowerCostPct;
|
||||
public float PowerCostMaxPct;
|
||||
public float PowerPctPerSecond;
|
||||
public PowerType PowerType;
|
||||
public uint RequiredAuraSpellID;
|
||||
public uint OptionalCost; // Spell uses [ManaCost, ManaCost+ManaCostAdditional] power - affects tooltip parsing as multiplier on SpellEffectEntry::EffectPointsPerResource
|
||||
// only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
public sealed class SpellPowerDifficultyRecord
|
||||
{
|
||||
public uint Id;
|
||||
public byte DifficultyID;
|
||||
public byte OrderIndex;
|
||||
public uint Id;
|
||||
}
|
||||
|
||||
public sealed class SpellProcsPerMinuteRecord
|
||||
@@ -440,10 +438,10 @@ namespace Game.DataStorage
|
||||
public sealed class SpellProcsPerMinuteModRecord
|
||||
{
|
||||
public uint Id;
|
||||
public float Coeff;
|
||||
public ushort Param;
|
||||
public SpellProcsPerMinuteModType Type;
|
||||
public uint SpellProcsPerMinuteID;
|
||||
public ushort Param;
|
||||
public float Coeff;
|
||||
public ushort SpellProcsPerMinuteID;
|
||||
}
|
||||
|
||||
public sealed class SpellRadiusRecord
|
||||
@@ -460,9 +458,9 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public string DisplayName;
|
||||
public string DisplayNameShort;
|
||||
public SpellRangeFlag Flags;
|
||||
public float[] RangeMin = new float[2];
|
||||
public float[] RangeMax = new float[2];
|
||||
public SpellRangeFlag Flags;
|
||||
}
|
||||
|
||||
public sealed class SpellReagentsRecord
|
||||
@@ -477,46 +475,46 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public ushort ScalesFromItemLevel;
|
||||
public sbyte Class;
|
||||
public byte MinScalingLevel;
|
||||
public int Class;
|
||||
public uint MinScalingLevel;
|
||||
public uint MaxScalingLevel;
|
||||
public ushort ScalesFromItemLevel;
|
||||
}
|
||||
|
||||
public sealed class SpellShapeshiftRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public sbyte StanceBarOrder;
|
||||
public uint[] ShapeshiftExclude = new uint[2];
|
||||
public uint[] ShapeshiftMask = new uint[2];
|
||||
public byte StanceBarOrder;
|
||||
}
|
||||
|
||||
public sealed class SpellShapeshiftFormRecord
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public float DamageVariance;
|
||||
public SpellShapeshiftFormFlags Flags;
|
||||
public ushort CombatRoundTime;
|
||||
public ushort MountTypeID;
|
||||
public sbyte CreatureType;
|
||||
public byte BonusActionBar;
|
||||
public uint AttackIconFileID;
|
||||
public ushort[] CreatureDisplayID = new ushort[4];
|
||||
public ushort[] PresetSpellID = new ushort[SpellConst.MaxShapeshift];
|
||||
public SpellShapeshiftFormFlags Flags;
|
||||
public int AttackIconFileID;
|
||||
public sbyte BonusActionBar;
|
||||
public ushort CombatRoundTime;
|
||||
public float DamageVariance;
|
||||
public ushort MountTypeID;
|
||||
public uint[] CreatureDisplayID = new uint[4];
|
||||
public uint[] PresetSpellID = new uint[SpellConst.MaxShapeshift];
|
||||
}
|
||||
|
||||
public sealed class SpellTargetRestrictionsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public float ConeDegrees;
|
||||
public float Width;
|
||||
public uint Targets;
|
||||
public ushort TargetCreatureType;
|
||||
public byte DifficultyID;
|
||||
public float ConeDegrees;
|
||||
public byte MaxTargets;
|
||||
public uint MaxTargetLevel;
|
||||
public ushort TargetCreatureType;
|
||||
public int Targets;
|
||||
public float Width;
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
@@ -524,34 +522,34 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public uint SpellID;
|
||||
public uint[] Totem = new uint[SpellConst.MaxTotems];
|
||||
public ushort[] RequiredTotemCategoryID = new ushort[SpellConst.MaxTotems];
|
||||
public uint[] Totem = new uint[SpellConst.MaxTotems];
|
||||
}
|
||||
|
||||
public sealed class SpellXSpellVisualRecord
|
||||
{
|
||||
public uint SpellVisualID;
|
||||
public uint Id;
|
||||
public float Probability;
|
||||
public ushort CasterPlayerConditionID;
|
||||
public ushort CasterUnitConditionID;
|
||||
public ushort ViewerPlayerConditionID;
|
||||
public ushort ViewerUnitConditionID;
|
||||
public uint SpellIconFileID;
|
||||
public uint ActiveIconFileID;
|
||||
public byte Flags;
|
||||
public byte DifficultyID;
|
||||
public uint SpellVisualID;
|
||||
public float Probability;
|
||||
public byte Flags;
|
||||
public byte Priority;
|
||||
public int SpellIconFileID;
|
||||
public int ActiveIconFileID;
|
||||
public ushort ViewerUnitConditionID;
|
||||
public uint ViewerPlayerConditionID;
|
||||
public ushort CasterUnitConditionID;
|
||||
public uint CasterPlayerConditionID;
|
||||
public uint SpellID;
|
||||
}
|
||||
|
||||
public sealed class SummonPropertiesRecord
|
||||
{
|
||||
public uint Id;
|
||||
public SummonPropFlags Flags;
|
||||
public SummonCategory Control;
|
||||
public ushort Faction;
|
||||
public uint Faction;
|
||||
public SummonType Title;
|
||||
public sbyte Slot;
|
||||
public int Slot;
|
||||
public SummonPropFlags Flags;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,48 +30,49 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public string Description;
|
||||
public byte TierID;
|
||||
public byte Flags;
|
||||
public byte ColumnIndex;
|
||||
public byte ClassID;
|
||||
public ushort SpecID;
|
||||
public uint SpellID;
|
||||
public uint OverridesSpellID;
|
||||
public ushort SpecID;
|
||||
public byte TierID;
|
||||
public byte ColumnIndex;
|
||||
public byte Flags;
|
||||
public byte[] CategoryMask = new byte[2];
|
||||
public byte ClassID;
|
||||
}
|
||||
|
||||
public sealed class TaxiNodesRecord
|
||||
{
|
||||
public uint Id;
|
||||
public LocalizedString Name;
|
||||
public Vector3 Pos;
|
||||
public uint[] MountCreatureID = new uint[2];
|
||||
public Vector2 MapOffset;
|
||||
public float Facing;
|
||||
public Vector2 FlightMapOffset;
|
||||
public uint Id;
|
||||
public ushort ContinentID;
|
||||
public ushort ConditionID;
|
||||
public ushort CharacterBitNumber;
|
||||
public TaxiNodeFlags Flags;
|
||||
public int UiTextureKitID;
|
||||
public float Facing;
|
||||
public uint SpecialIconConditionID;
|
||||
public uint VisibilityConditionID;
|
||||
public uint[] MountCreatureID = new uint[2];
|
||||
}
|
||||
|
||||
public sealed class TaxiPathRecord
|
||||
{
|
||||
public uint Id;
|
||||
public ushort FromTaxiNode;
|
||||
public ushort ToTaxiNode;
|
||||
public uint Id;
|
||||
public uint Cost;
|
||||
}
|
||||
|
||||
public sealed class TaxiPathNodeRecord
|
||||
{
|
||||
public Vector3 Loc;
|
||||
public ushort PathID;
|
||||
public ushort ContinentID;
|
||||
public byte NodeIndex;
|
||||
public uint Id;
|
||||
public ushort PathID;
|
||||
public uint NodeIndex;
|
||||
public ushort ContinentID;
|
||||
public TaxiPathNodeFlags Flags;
|
||||
public uint Delay;
|
||||
public ushort ArrivalEventID;
|
||||
@@ -82,17 +83,17 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public string Name;
|
||||
public uint TotemCategoryMask;
|
||||
public byte TotemCategoryType;
|
||||
public int TotemCategoryMask;
|
||||
}
|
||||
|
||||
public sealed class ToyRecord
|
||||
{
|
||||
public string SourceText;
|
||||
public uint Id;
|
||||
public uint ItemID;
|
||||
public byte Flags;
|
||||
public byte SourceTypeEnum;
|
||||
public uint Id;
|
||||
public sbyte SourceTypeEnum;
|
||||
}
|
||||
|
||||
public sealed class TransmogHolidayRecord
|
||||
@@ -104,15 +105,15 @@ namespace Game.DataStorage
|
||||
public sealed class TransmogSetRecord
|
||||
{
|
||||
public string Name;
|
||||
public ushort ParentTransmogSetID;
|
||||
public ushort UIOrder;
|
||||
public byte ExpansionID;
|
||||
public uint Id;
|
||||
public byte Flags;
|
||||
public int TrackingQuestID;
|
||||
public int ClassMask;
|
||||
public uint TrackingQuestID;
|
||||
public int Flags;
|
||||
public uint TransmogSetGroupID;
|
||||
public int ItemNameDescriptionID;
|
||||
public byte TransmogSetGroupID;
|
||||
public ushort ParentTransmogSetID;
|
||||
public byte ExpansionID;
|
||||
public short UiOrder;
|
||||
}
|
||||
|
||||
public sealed class TransmogSetGroupRecord
|
||||
@@ -132,17 +133,18 @@ namespace Game.DataStorage
|
||||
public sealed class TransportAnimationRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint TimeIndex;
|
||||
public Vector3 Pos;
|
||||
public byte SequenceID;
|
||||
public uint TimeIndex;
|
||||
public uint TransportID;
|
||||
}
|
||||
|
||||
public sealed class TransportRotationRecord
|
||||
{
|
||||
public uint Id;
|
||||
public uint TimeIndex;
|
||||
public float[] Rot = new float[4];
|
||||
public uint TimeIndex;
|
||||
public uint GameObjectsID;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,9 +14,60 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
using Framework.GameMath;
|
||||
using Framework.Constants;
|
||||
|
||||
namespace Game.DataStorage
|
||||
{
|
||||
public sealed class UiMapRecord
|
||||
{
|
||||
public LocalizedString Name;
|
||||
public uint Id;
|
||||
public int ParentUiMapID;
|
||||
public int Flags;
|
||||
public int System;
|
||||
public UiMapType Type;
|
||||
public uint LevelRangeMin;
|
||||
public uint LevelRangeMax;
|
||||
public int BountySetID;
|
||||
public uint BountyDisplayLocation;
|
||||
public int VisibilityPlayerConditionID;
|
||||
public sbyte HelpTextPosition;
|
||||
public int BkgAtlasID;
|
||||
}
|
||||
|
||||
public sealed class UiMapAssignmentRecord
|
||||
{
|
||||
public Vector2 UiMin;
|
||||
public Vector2 UiMax;
|
||||
public Vector3[] Region = new Vector3[2];
|
||||
public uint Id;
|
||||
public int UiMapID;
|
||||
public int OrderIndex;
|
||||
public int MapID;
|
||||
public int AreaID;
|
||||
public int WmoDoodadPlacementID;
|
||||
public int WmoGroupID;
|
||||
}
|
||||
|
||||
public sealed class UiMapLinkRecord
|
||||
{
|
||||
public Vector2 UiMin;
|
||||
public Vector2 UiMax;
|
||||
public uint Id;
|
||||
public int ParentUiMapID;
|
||||
public int OrderIndex;
|
||||
public int ChildUiMapID;
|
||||
}
|
||||
|
||||
public sealed class UiMapXMapArtRecord
|
||||
{
|
||||
public uint Id;
|
||||
public int PhaseID;
|
||||
public int UiMapArtID;
|
||||
public int UiMapID;
|
||||
}
|
||||
|
||||
public sealed class UnitPowerBarRecord
|
||||
{
|
||||
public uint Id;
|
||||
@@ -24,17 +75,17 @@ namespace Game.DataStorage
|
||||
public string Cost;
|
||||
public string OutOfError;
|
||||
public string ToolTip;
|
||||
public uint MinPower;
|
||||
public uint MaxPower;
|
||||
public ushort StartPower;
|
||||
public byte CenterPower;
|
||||
public float RegenerationPeace;
|
||||
public float RegenerationCombat;
|
||||
public uint[] FileDataID = new uint[6];
|
||||
public uint[] Color = new uint[6];
|
||||
public byte BarType;
|
||||
public ushort Flags;
|
||||
public float StartInset;
|
||||
public float EndInset;
|
||||
public ushort StartPower;
|
||||
public ushort Flags;
|
||||
public byte CenterPower;
|
||||
public byte BarType;
|
||||
public byte MinPower;
|
||||
public uint MaxPower;
|
||||
public uint[] FileDataID = new uint[6];
|
||||
public uint[] Color = new uint[6];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ namespace Game.DataStorage
|
||||
{
|
||||
public uint Id;
|
||||
public VehicleFlags Flags;
|
||||
public byte FlagsB;
|
||||
public float TurnSpeed;
|
||||
public float PitchSpeed;
|
||||
public float PitchMin;
|
||||
@@ -36,21 +37,22 @@ namespace Game.DataStorage
|
||||
public float FacingLimitRight;
|
||||
public float FacingLimitLeft;
|
||||
public float CameraYawOffset;
|
||||
public ushort[] SeatID = new ushort[SharedConst.MaxVehicleSeats];
|
||||
public ushort VehicleUIIndicatorID;
|
||||
public ushort[] PowerDisplayID = new ushort[3];
|
||||
public byte FlagsB;
|
||||
public byte UiLocomotionType;
|
||||
public ushort MissileTargetingID;
|
||||
public ushort VehicleUIIndicatorID;
|
||||
public int MissileTargetingID;
|
||||
public ushort[] SeatID = new ushort[8];
|
||||
public ushort[] PowerDisplayID = new ushort[3];
|
||||
}
|
||||
|
||||
public sealed class VehicleSeatRecord
|
||||
{
|
||||
public uint Id;
|
||||
public Vector3 AttachmentOffset;
|
||||
public Vector3 CameraOffset;
|
||||
public VehicleSeatFlags Flags;
|
||||
public VehicleSeatFlagsB FlagsB;
|
||||
public uint FlagsC;
|
||||
public Vector3 AttachmentOffset;
|
||||
public int FlagsC;
|
||||
public sbyte AttachmentID;
|
||||
public float EnterPreDelay;
|
||||
public float EnterSpeed;
|
||||
public float EnterGravity;
|
||||
@@ -58,6 +60,12 @@ namespace Game.DataStorage
|
||||
public float EnterMaxDuration;
|
||||
public float EnterMinArcHeight;
|
||||
public float EnterMaxArcHeight;
|
||||
public int EnterAnimStart;
|
||||
public int EnterAnimLoop;
|
||||
public int RideAnimStart;
|
||||
public int RideAnimLoop;
|
||||
public int RideUpperAnimStart;
|
||||
public int RideUpperAnimLoop;
|
||||
public float ExitPreDelay;
|
||||
public float ExitSpeed;
|
||||
public float ExitGravity;
|
||||
@@ -65,49 +73,41 @@ namespace Game.DataStorage
|
||||
public float ExitMaxDuration;
|
||||
public float ExitMinArcHeight;
|
||||
public float ExitMaxArcHeight;
|
||||
public int ExitAnimStart;
|
||||
public int ExitAnimLoop;
|
||||
public int ExitAnimEnd;
|
||||
public short VehicleEnterAnim;
|
||||
public sbyte VehicleEnterAnimBone;
|
||||
public short VehicleExitAnim;
|
||||
public sbyte VehicleExitAnimBone;
|
||||
public short VehicleRideAnimLoop;
|
||||
public sbyte VehicleRideAnimLoopBone;
|
||||
public sbyte PassengerAttachmentID;
|
||||
public float PassengerYaw;
|
||||
public float PassengerPitch;
|
||||
public float PassengerRoll;
|
||||
public float VehicleEnterAnimDelay;
|
||||
public float VehicleExitAnimDelay;
|
||||
public sbyte VehicleAbilityDisplay;
|
||||
public uint EnterUISoundID;
|
||||
public uint ExitUISoundID;
|
||||
public int UiSkinFileDataID;
|
||||
public float CameraEnteringDelay;
|
||||
public float CameraEnteringDuration;
|
||||
public float CameraExitingDelay;
|
||||
public float CameraExitingDuration;
|
||||
public Vector3 CameraOffset;
|
||||
public float CameraPosChaseRate;
|
||||
public float CameraFacingChaseRate;
|
||||
public float CameraEnteringZoom;
|
||||
public float CameraSeatZoomMin;
|
||||
public float CameraSeatZoomMax;
|
||||
public uint UiSkinFileDataID;
|
||||
public short EnterAnimStart;
|
||||
public short EnterAnimLoop;
|
||||
public short RideAnimStart;
|
||||
public short RideAnimLoop;
|
||||
public short RideUpperAnimStart;
|
||||
public short RideUpperAnimLoop;
|
||||
public short ExitAnimStart;
|
||||
public short ExitAnimLoop;
|
||||
public short ExitAnimEnd;
|
||||
public short VehicleEnterAnim;
|
||||
public short VehicleExitAnim;
|
||||
public short VehicleRideAnimLoop;
|
||||
public ushort EnterAnimKitID;
|
||||
public ushort RideAnimKitID;
|
||||
public ushort ExitAnimKitID;
|
||||
public ushort VehicleEnterAnimKitID;
|
||||
public ushort VehicleRideAnimKitID;
|
||||
public ushort VehicleExitAnimKitID;
|
||||
public ushort CameraModeID;
|
||||
public sbyte AttachmentID;
|
||||
public sbyte PassengerAttachmentID;
|
||||
public sbyte VehicleEnterAnimBone;
|
||||
public sbyte VehicleExitAnimBone;
|
||||
public sbyte VehicleRideAnimLoopBone;
|
||||
public byte VehicleAbilityDisplay;
|
||||
public uint EnterUISoundID;
|
||||
public ushort ExitUISoundID;
|
||||
public short EnterAnimKitID;
|
||||
public short RideAnimKitID;
|
||||
public short ExitAnimKitID;
|
||||
public short VehicleEnterAnimKitID;
|
||||
public short VehicleRideAnimKitID;
|
||||
public short VehicleExitAnimKitID;
|
||||
public short CameraModeID;
|
||||
|
||||
public bool CanEnterOrExit()
|
||||
{
|
||||
@@ -115,7 +115,7 @@ namespace Game.DataStorage
|
||||
//If it has anmation for enter/ride, means it can be entered/exited by logic
|
||||
Flags.HasAnyFlag(VehicleSeatFlags.HasLowerAnimForEnter | VehicleSeatFlags.HasLowerAnimForRide));
|
||||
}
|
||||
public bool CanSwitchFromSeat() { return Flags.HasAnyFlag(VehicleSeatFlags.CanSwitch); }
|
||||
public bool CanSwitchFromSeat() { return (Flags & VehicleSeatFlags.CanSwitch) != 0; }
|
||||
public bool IsUsableByOverride()
|
||||
{
|
||||
return Flags.HasAnyFlag(VehicleSeatFlags.Uncontrolled | VehicleSeatFlags.Unk18)
|
||||
|
||||
@@ -23,87 +23,48 @@ namespace Game.DataStorage
|
||||
public sealed class WMOAreaTableRecord
|
||||
{
|
||||
public string AreaName;
|
||||
public uint Id;
|
||||
public ushort WmoID; // used in root WMO
|
||||
public byte NameSetID; // used in adt file
|
||||
public int WmoGroupID; // used in group WMO
|
||||
public ushort AmbienceID;
|
||||
public ushort ZoneMusic;
|
||||
public ushort IntroSound;
|
||||
public ushort AreaTableID;
|
||||
public ushort UwIntroSound;
|
||||
public ushort UwAmbience;
|
||||
public sbyte NameSetID; // used in adt file
|
||||
public byte SoundProviderPref;
|
||||
public byte SoundProviderPrefUnderwater;
|
||||
public ushort AmbienceID;
|
||||
public ushort UwAmbience;
|
||||
public ushort ZoneMusic;
|
||||
public uint UwZoneMusic;
|
||||
public ushort IntroSound;
|
||||
public ushort UwIntroSound;
|
||||
public ushort AreaTableID;
|
||||
public byte Flags;
|
||||
public uint Id;
|
||||
public byte UwZoneMusic;
|
||||
public uint WmoID; // used in root WMO
|
||||
}
|
||||
|
||||
public sealed class WorldEffectRecord
|
||||
{
|
||||
public uint ID;
|
||||
public uint TargetAsset;
|
||||
public ushort CombatConditionID;
|
||||
public byte TargetType;
|
||||
public byte WhenToDisplay;
|
||||
public uint QuestFeedbackEffectID;
|
||||
public ushort PlayerConditionID;
|
||||
}
|
||||
|
||||
public sealed class WorldMapAreaRecord
|
||||
{
|
||||
public string AreaName;
|
||||
public float LocLeft;
|
||||
public float LocRight;
|
||||
public float LocTop;
|
||||
public float LocBottom;
|
||||
public uint Flags;
|
||||
public ushort MapID;
|
||||
public ushort AreaID;
|
||||
public short DisplayMapID;
|
||||
public short DefaultDungeonFloor;
|
||||
public ushort ParentWorldMapID;
|
||||
public byte LevelRangeMin;
|
||||
public byte LevelRangeMax;
|
||||
public byte BountySetID;
|
||||
public byte BountyDisplayLocation;
|
||||
public uint Id;
|
||||
public uint VisibilityPlayerConditionID;
|
||||
public uint QuestFeedbackEffectID;
|
||||
public byte WhenToDisplay;
|
||||
public byte TargetType;
|
||||
public int TargetAsset;
|
||||
public uint PlayerConditionID;
|
||||
public ushort CombatConditionID;
|
||||
}
|
||||
|
||||
public sealed class WorldMapOverlayRecord
|
||||
{
|
||||
public string TextureName;
|
||||
public uint Id;
|
||||
public uint UiMapArtID;
|
||||
public ushort TextureWidth;
|
||||
public ushort TextureHeight;
|
||||
public ushort MapAreaID; // idx in WorldMapArea.dbc
|
||||
public ushort OffsetX;
|
||||
public uint OffsetY;
|
||||
public ushort HitRectTop;
|
||||
public ushort HitRectLeft;
|
||||
public ushort HitRectBottom;
|
||||
public ushort HitRectRight;
|
||||
public ushort PlayerConditionID;
|
||||
public byte Flags;
|
||||
public uint[] AreaID = new uint[SharedConst.MaxWorldMapOverlayArea]; // needs checked
|
||||
|
||||
}
|
||||
|
||||
public sealed class WorldMapTransformsRecord
|
||||
{
|
||||
public uint Id;
|
||||
public Vector3 RegionMin;
|
||||
public Vector3 RegionMax;
|
||||
public Vector2 RegionOffset;
|
||||
public float RegionScale;
|
||||
public ushort MapID;
|
||||
public ushort AreaID;
|
||||
public ushort NewMapID;
|
||||
public ushort NewDungeonMapID;
|
||||
public ushort NewAreaID;
|
||||
public byte Flags;
|
||||
public int Priority;
|
||||
public int OffsetX;
|
||||
public int OffsetY;
|
||||
public int HitRectTop;
|
||||
public int HitRectBottom;
|
||||
public int HitRectLeft;
|
||||
public int HitRectRight;
|
||||
public uint PlayerConditionID;
|
||||
public uint Flags;
|
||||
public uint[] AreaID = new uint[SharedConst.MaxWorldMapOverlayArea];
|
||||
}
|
||||
|
||||
public sealed class WorldSafeLocsRecord
|
||||
@@ -111,7 +72,7 @@ namespace Game.DataStorage
|
||||
public uint Id;
|
||||
public string AreaName;
|
||||
public Vector3 Loc;
|
||||
public float Facing;
|
||||
public ushort MapID;
|
||||
public float Facing;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user