diff --git a/Source/Framework/Database/Databases/HotfixDatabase.cs b/Source/Framework/Database/Databases/HotfixDatabase.cs index 32f48e2d6..6b960ef5f 100644 --- a/Source/Framework/Database/Databases/HotfixDatabase.cs +++ b/Source/Framework/Database/Databases/HotfixDatabase.cs @@ -216,7 +216,7 @@ namespace Framework.Database " WHERE (`VerifiedBuild` > 0) = ?"); // CfgCategories.db2 - PrepareStatement(HotfixStatements.SEL_CFG_CATEGORIES, "SELECT ID, Name, LocaleMask, CreateCharsetMask, ExistingCharsetMask, Flags, `Order`" + + PrepareStatement(HotfixStatements.SEL_CFG_CATEGORIES, "SELECT ID, Name, LocaleMask, CreateCharsetMask, ExistingCharsetMask, Flags, `Order`" + " FROM cfg_categories WHERE (`VerifiedBuild` > 0) = ?"); PrepareStatement(HotfixStatements.SEL_CFG_CATEGORIES_LOCALE, "SELECT ID, Name_lang FROM cfg_categories_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?"); @@ -499,6 +499,13 @@ namespace Framework.Database "Enemies4, Enemies5, Enemies6, Enemies7, Enemies8, Friend1, Friend2, Friend3, Friend4, Friend5, Friend6, Friend7, Friend8" + " FROM faction_template WHERE (`VerifiedBuild` > 0) = ?"); + // FlightCapability.db2 + PrepareStatement(HotfixStatements.SEL_FLIGHT_CAPABILITY, "SELECT ID, AirFriction, MaxVel, Unknown1000_2, DoubleJumpVelMod, LiftCoefficient, " + + "GlideStartMinHeight, AddImpulseMaxSpeed, BankingRateMin, BankingRateMax, PitchingRateDownMin, PitchingRateDownMax, PitchingRateUpMin, " + + "PitchingRateUpMax, TurnVelocityThresholdMin, TurnVelocityThresholdMax, SurfaceFriction, OverMaxDeceleration, Unknown1000_17, Unknown1000_18, " + + "Unknown1000_19, Unknown1000_20, Unknown1000_21, LaunchSpeedCoefficient, VigorRegenMaxVelCoefficient, SpellID FROM flight_capability" + + " WHERE (`VerifiedBuild` > 0) = ?"); + // FriendshipRepReaction.db2 PrepareStatement(HotfixStatements.SEL_FRIENDSHIP_REP_REACTION, "SELECT ID, Reaction, FriendshipRepID, ReactionThreshold, OverrideColor" + " FROM friendship_rep_reaction WHERE (`VerifiedBuild` > 0) = ?"); @@ -1863,6 +1870,8 @@ namespace Framework.Database SEL_FACTION_TEMPLATE, + SEL_FLIGHT_CAPABILITY, + SEL_FRIENDSHIP_REP_REACTION, SEL_FRIENDSHIP_REP_REACTION_LOCALE, diff --git a/Source/Game/DataStorage/CliDB.cs b/Source/Game/DataStorage/CliDB.cs index 7b41cd0f9..a6e6a2c83 100644 --- a/Source/Game/DataStorage/CliDB.cs +++ b/Source/Game/DataStorage/CliDB.cs @@ -147,6 +147,7 @@ namespace Game.DataStorage ExpectedStatModStorage = ReadDB2("ExpectedStatMod.db2", HotfixStatements.SEL_EXPECTED_STAT_MOD); FactionStorage = ReadDB2("Faction.db2", HotfixStatements.SEL_FACTION, HotfixStatements.SEL_FACTION_LOCALE); FactionTemplateStorage = ReadDB2("FactionTemplate.db2", HotfixStatements.SEL_FACTION_TEMPLATE); + FlightCapabilityStorage = ReadDB2("FlightCapability.db2", HotfixStatements.SEL_FLIGHT_CAPABILITY); FriendshipRepReactionStorage = ReadDB2("FriendshipRepReaction.db2", HotfixStatements.SEL_FRIENDSHIP_REP_REACTION, HotfixStatements.SEL_FRIENDSHIP_REP_REACTION_LOCALE); FriendshipReputationStorage = ReadDB2("FriendshipReputation.db2", HotfixStatements.SEL_FRIENDSHIP_REPUTATION, HotfixStatements.SEL_FRIENDSHIP_REPUTATION_LOCALE); GameObjectArtKitStorage = ReadDB2("GameObjectArtKit.db2", HotfixStatements.SEL_GAMEOBJECT_ART_KIT); @@ -594,6 +595,7 @@ namespace Game.DataStorage public static DB6Storage ExpectedStatModStorage; public static DB6Storage FactionStorage; public static DB6Storage FactionTemplateStorage; + public static DB6Storage FlightCapabilityStorage; public static DB6Storage FriendshipRepReactionStorage; public static DB6Storage FriendshipReputationStorage; public static DB6Storage GameObjectArtKitStorage; diff --git a/Source/Game/DataStorage/Structs/F_Records.cs b/Source/Game/DataStorage/Structs/F_Records.cs index f9d318a09..2550ea552 100644 --- a/Source/Game/DataStorage/Structs/F_Records.cs +++ b/Source/Game/DataStorage/Structs/F_Records.cs @@ -92,6 +92,36 @@ namespace Game.DataStorage public bool IsContestedGuardFaction() { return HasFlag(FactionTemplateFlags.ContestedGuard); } } + public sealed class FlightCapabilityRecord + { + public uint Id; + public float AirFriction; + public float MaxVel; + public float Unknown1000_2; + public float DoubleJumpVelMod; + public float LiftCoefficient; + public float GlideStartMinHeight; + public float AddImpulseMaxSpeed; + public float BankingRateMin; + public float BankingRateMax; + public float PitchingRateDownMin; + public float PitchingRateDownMax; + public float PitchingRateUpMin; + public float PitchingRateUpMax; + public float TurnVelocityThresholdMin; + public float TurnVelocityThresholdMax; + public float SurfaceFriction; + public float OverMaxDeceleration; + public float Unknown1000_17; + public float Unknown1000_18; + public float Unknown1000_19; + public float Unknown1000_20; + public float Unknown1000_21; + public float LaunchSpeedCoefficient; + public float VigorRegenMaxVelCoefficient; + public int SpellID; + } + public sealed class FriendshipRepReactionRecord { public uint Id;