Skip to content

Commit

Permalink
Added DB2 structures for Cataclysm Classic
Browse files Browse the repository at this point in the history
  • Loading branch information
Ovahlord committed Oct 7, 2024
1 parent c6e7e75 commit 1da01bc
Show file tree
Hide file tree
Showing 23 changed files with 616 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("Achievement")]
public sealed class AchievementEntry
{
public string Description;
public string Title;
public string Reward;
[Index(false)]
public uint ID;
public short InstanceID;
public sbyte Faction;
public short Supercedes;
public short Category;
public sbyte MinimumCriteria;
public sbyte Points;
public int Flags;
public ushort UiOrder;
public int IconFileID;
public uint CriteriaTree;
public short SharesCriteria;
}
}
36 changes: 36 additions & 0 deletions WowPacketParser/DBC/Structures/CataclysmClassic/AreaTableEntry.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("AreaTable")]
public sealed class AreaTableEntry
{
[Index(true)]
public uint ID;
public string ZoneName;
public string AreaName;
public ushort ContinentID;
public ushort ParentAreaID;
public short AreaBit;
public byte SoundProviderPref;
public byte SoundProviderPrefUnderwater;
public ushort AmbienceID;
public ushort UwAmbience;
public ushort ZoneMusic;
public ushort UwZoneMusic;
public sbyte ExplorationLevel;
public ushort IntroSound;
public uint UwIntroSound;
public byte FactionGroupMask;
public float AmbientMultiplier;
public int MountFlags;
public short PvpCombatWorldStateID;
public byte WildBattlePetLevelMin;
public byte WildBattlePetLevelMax;
public byte WindSettingsID;
[Cardinality(2)]
public int[] Flags = new int[2];
[Cardinality(4)]
public ushort[] LiquidTypeID = new ushort[4];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("BroadcastText")]
public sealed class BroadcastTextEntry
{
public string Text;
public string Text1;
[Index(false)]
public uint ID;
public int LanguageID;
public int ConditionID;
public ushort EmotesID;
public byte Flags;
public uint ChatBubbleDurationMs;
public int VoiceOverPriorityID;
[Cardinality(2)]
public uint[] SoundKitID = new uint[2];
[Cardinality(3)]
public ushort[] EmoteID = new ushort[3];
[Cardinality(3)]
public ushort[] EmoteDelay = new ushort[3];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("CreatureDifficulty")]
public sealed class CreatureDifficultyEntry
{
[Index(true)]
public uint ID;
public sbyte ExpansionID;
public sbyte MinLevel;
public sbyte MaxLevel;
public ushort FactionID;
public int ContentTuningID;
[Cardinality(8)]
public int[] Flags = new int[8];
public uint CreatureID;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("CreatureDisplayInfo")]
public sealed class CreatureDisplayInfoEntry
{
[Index(false)]
public uint ID;
public ushort ModelID;
public ushort SoundID;
public sbyte SizeClass;
public float CreatureModelScale;
public byte CreatureModelAlpha;
public byte BloodID;
public int ExtendedDisplayInfoID;
public ushort NPCSoundID;
public ushort ParticleColorID;
public int PortraitCreatureDisplayInfoID;
public int PortraitTextureFileDataID;
public ushort ObjectEffectPackageID;
public ushort AnimReplacementSetID;
public byte Flags;
public int StateSpellVisualKitID;
public float PlayerOverrideScale;
public float PetInstanceScale;
public sbyte UnarmedWeaponType;
public int MountPoofSpellVisualKitID;
public int DissolveEffectID;
public sbyte Gender;
public int DissolveOutEffectID;
public sbyte CreatureModelMinLod;
[Cardinality(4)]
public int[] TextureVariationFileDataID = new int[4];
}
}
25 changes: 25 additions & 0 deletions WowPacketParser/DBC/Structures/CataclysmClassic/CreatureEntry.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("Creature")]
public sealed class CreatureEntry
{
[Index(true)]
public uint ID;
public string Name;
public string NameAlt;
public string Title;
public string TitleAlt;
public sbyte Classification;
public byte CreatureType;
public ushort CreatureFamily;
public byte StartAnimState;
[Cardinality(4)]
public int[] DisplayID = new int[4];
[Cardinality(4)]
public float[] DisplayProbability = new float[4];
[Cardinality(3)]
public int[] AlwaysItem = new int[3];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("CreatureFamily")]
public sealed class CreatureFamilyEntry
{
[Index(true)]
public uint ID;
public string Name;
public float MinScale;
public sbyte MinScaleLevel;
public float MaxScale;
public sbyte MaxScaleLevel;
public short PetFoodMask;
public sbyte PetTalentType;
public int CategoryEnumID;
public int IconFileID;
[Cardinality(2)]
public short[] SkillLine = new short[2];
}
}
22 changes: 22 additions & 0 deletions WowPacketParser/DBC/Structures/CataclysmClassic/CriteriaEntry.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("Criteria")]
public sealed class CriteriaEntry
{
[Index(true)]
public uint ID;
public short Type;
public int Asset;
public uint ModifierTreeID;
public int StartEvent;
public int StartAsset;
public ushort StartTimer;
public int FailEvent;
public int FailAsset;
public int Flags;
public short EligibilityWorldStateID;
public sbyte EligibilityWorldStateValue;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("CriteriaTree")]
public sealed class CriteriaTreeEntry
{
[Index(true)]
public uint ID;
public string Description;
public uint Parent;
public uint Amount;
public int Operator;
public uint CriteriaID;
public int OrderIndex;
public int Flags;
}
}
14 changes: 14 additions & 0 deletions WowPacketParser/DBC/Structures/CataclysmClassic/DBFileAttribute.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using System;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
public sealed class DBFileAttribute : Attribute
{
public string FileName { get; }

public DBFileAttribute(string fileName)
{
FileName = fileName;
}
}
}
24 changes: 24 additions & 0 deletions WowPacketParser/DBC/Structures/CataclysmClassic/DifficultyEntry.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("Difficulty")]
public sealed class DifficultyEntry
{
[Index(true)]
public uint ID;
public string Name;
public byte InstanceType;
public byte OrderIndex;
public sbyte OldEnumValue;
public byte FallbackDifficultyID;
public byte MinPlayers;
public byte MaxPlayers;
public byte Flags;
public byte ItemContext;
public byte ToggleDifficultyID;
public ushort GroupSizeHealthCurveID;
public ushort GroupSizeDmgCurveID;
public ushort GroupSizeSpellPointsCurveID;
}
}
35 changes: 35 additions & 0 deletions WowPacketParser/DBC/Structures/CataclysmClassic/FactionEntry.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("Faction")]
public sealed class FactionEntry
{
[Cardinality(4)]
public long[] ReputationRaceMask = new long[4];
public string Name;
public string Description;
[Index(false)]
public uint ID;
public short ReputationIndex;
public ushort ParentFactionID;
public byte Expansion;
public byte FriendshipRepID;
public int Unknown341_0;
public ushort Unknown341_1;
public int Unknown341_2;
public int Unknown341_3;
[Cardinality(4)]
public short[] ReputationClassMask = new short[4];
[Cardinality(4)]
public ushort[] ReputationFlags = new ushort[4];
[Cardinality(4)]
public int[] ReputationBase = new int[4];
[Cardinality(4)]
public int[] ReputationMax = new int[4];
[Cardinality(2)]
public float[] ParentFactionMod = new float[2];
[Cardinality(2)]
public byte[] ParentFactionCap = new byte[2];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("FactionTemplate")]
public sealed class FactionTemplateEntry
{
[Index(true)]
public uint ID;
public ushort Faction;
public ushort Flags;
public byte FactionGroup;
public byte FriendGroup;
public byte EnemyGroup;
[Cardinality(8)]
public ushort[] Enemies = new ushort[8];
[Cardinality(8)]
public ushort[] Friend = new ushort[8];
}
}
35 changes: 35 additions & 0 deletions WowPacketParser/DBC/Structures/CataclysmClassic/ItemEntry.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using DBFileReaderLib.Attributes;

namespace WowPacketParser.DBC.Structures.CataclysmClassic
{
[DBFile("Item")]
public sealed class ItemEntry
{
[Index(true)]
public uint ID;
public byte ClassID;
public byte SubclassID;
public byte Material;
public sbyte InventoryType;
public int RequiredLevel;
public byte SheatheType;
public ushort RandomSelect;
public ushort ItemRandomSuffixGroupID;
public sbyte SoundOverrideSubclassID;
public ushort ScalingStatDistributionID;
public int IconFileDataID;
public byte ItemGroupSoundsID;
public int ContentTuningID;
public uint MaxDurability;
public byte AmmunitionType;
public int ScalingStatValue;
[Cardinality(5)]
public byte[] DamageType = new byte[5];
[Cardinality(7)]
public int[] Resistances = new int[7];
[Cardinality(5)]
public int[] MinDamage = new int[5];
[Cardinality(5)]
public int[] MaxDamage = new int[5];
}
}
Loading

0 comments on commit 1da01bc

Please sign in to comment.