diff options
| author | Shauren <shauren.trinity@gmail.com> | 2020-06-13 00:30:32 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2020-06-13 00:30:32 +0200 |
| commit | 6533de31005fc9680d9f2b61a4d8ea4958fc8edc (patch) | |
| tree | a83c4ac3ca242cb2c24c553c7bcd2a41cc0ad110 /src/server/game/DataStores | |
| parent | 2493d88a7224d829bd3b893f637cc255b2a751dc (diff) | |
Core/Items: Implemented corruption and corruption resistance stats
Diffstat (limited to 'src/server/game/DataStores')
| -rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 17 | ||||
| -rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/DataStores/DB2Stores.h | 1 | ||||
| -rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 9 | ||||
| -rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 9 | ||||
| -rw-r--r-- | src/server/game/DataStores/GameTables.h | 4 |
6 files changed, 40 insertions, 4 deletions
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index f14772bf9ab..9fa79edfdbd 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -1199,6 +1199,23 @@ struct ConversationLineLoadInfo } }; +struct CorruptionEffectsLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "MinCorruption" }, + { true, FT_INT, "Aura" }, + { true, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "Flags" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CorruptionEffectsMeta::Instance(), HOTFIX_SEL_CORRUPTION_EFFECTS); + return &loadInfo; + } +}; + struct CreatureDisplayInfoLoadInfo { static DB2LoadInfo const* Instance() diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index f40a96a8461..3adc0394627 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -93,6 +93,7 @@ DB2Storage<CinematicSequencesEntry> sCinematicSequencesStore("Cinema DB2Storage<ContentTuningEntry> sContentTuningStore("ContentTuning.db2", ContentTuningLoadInfo::Instance()); DB2Storage<ContentTuningXExpectedEntry> sContentTuningXExpectedStore("ContentTuningXExpected.db2", ContentTuningXExpectedLoadInfo::Instance()); DB2Storage<ConversationLineEntry> sConversationLineStore("ConversationLine.db2", ConversationLineLoadInfo::Instance()); +DB2Storage<CorruptionEffectsEntry> sCorruptionEffectsStore("CorruptionEffects.db2", CorruptionEffectsLoadInfo::Instance()); DB2Storage<CreatureDisplayInfoEntry> sCreatureDisplayInfoStore("CreatureDisplayInfo.db2", CreatureDisplayInfoLoadInfo::Instance()); DB2Storage<CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore("CreatureDisplayInfoExtra.db2", CreatureDisplayInfoExtraLoadInfo::Instance()); DB2Storage<CreatureFamilyEntry> sCreatureFamilyStore("CreatureFamily.db2", CreatureFamilyLoadInfo::Instance()); @@ -361,7 +362,6 @@ namespace }; StorageMap _stores; - uint32 _hotfixCount = 0; DB2Manager::HotfixContainer _hotfixData; std::map<std::pair<uint32 /*tableHash*/, int32 /*recordId*/>, std::vector<uint8>> _hotfixBlob; @@ -583,6 +583,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) LOAD_DB2(sContentTuningStore); LOAD_DB2(sContentTuningXExpectedStore); LOAD_DB2(sConversationLineStore); + LOAD_DB2(sCorruptionEffectsStore); LOAD_DB2(sCreatureDisplayInfoStore); LOAD_DB2(sCreatureDisplayInfoExtraStore); LOAD_DB2(sCreatureFamilyStore); @@ -1398,7 +1399,6 @@ void DB2Manager::LoadHotfixData() hotfixRecord.RecordID = recordId; hotfixRecord.HotfixID = id; _hotfixData.insert(hotfixRecord); - ++_hotfixCount; deletedRecords[std::make_pair(tableHash, recordId)] = deleted; ++count; } while (result->NextRow()); diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index 843b1b0479f..7d60c184a9d 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -74,6 +74,7 @@ TC_GAME_API extern DB2Storage<CinematicCameraEntry> sCinematicCa TC_GAME_API extern DB2Storage<CinematicSequencesEntry> sCinematicSequencesStore; TC_GAME_API extern DB2Storage<ContentTuningEntry> sContentTuningStore; TC_GAME_API extern DB2Storage<ConversationLineEntry> sConversationLineStore; +TC_GAME_API extern DB2Storage<CorruptionEffectsEntry> sCorruptionEffectsStore; TC_GAME_API extern DB2Storage<CreatureDisplayInfoEntry> sCreatureDisplayInfoStore; TC_GAME_API extern DB2Storage<CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore; TC_GAME_API extern DB2Storage<CreatureFamilyEntry> sCreatureFamilyStore; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 2a861ad2d2c..329903c5e56 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -689,6 +689,15 @@ struct ConversationLineEntry uint8 EndAnimation; }; +struct CorruptionEffectsEntry +{ + uint32 ID; + float MinCorruption; + int32 Aura; + int32 PlayerConditionID; + int32 Flags; +}; + struct CreatureDisplayInfoEntry { uint32 ID; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index dac3557f501..bb1003cd03a 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -19,6 +19,7 @@ #define DBCENUMS_H #include "Define.h" +#include "EnumFlag.h" #include <array> #pragma pack(push, 1) @@ -206,6 +207,14 @@ enum ChrSpecializationFlag CHR_SPECIALIZATION_FLAG_RECOMMENDED = 0x40, }; +enum class CorruptionEffectsFlag +{ + None = 0, + Disabled = 0x1 +}; + +DEFINE_ENUM_FLAG(CorruptionEffectsFlag); + enum CriteriaCondition { CRITERIA_CONDITION_NONE = 0, diff --git a/src/server/game/DataStores/GameTables.h b/src/server/game/DataStores/GameTables.h index 16f5f26dae2..ea14c64c56b 100644 --- a/src/server/game/DataStores/GameTables.h +++ b/src/server/game/DataStores/GameTables.h @@ -69,8 +69,8 @@ struct GtCombatRatingsEntry float CritMelee = 0.0f; float CritRanged = 0.0f; float CritSpell = 0.0f; - float MultiStrike = 0.0f; - float Readiness = 0.0f; + float Corruption = 0.0f; + float CorruptionResistance = 0.0f; float Speed = 0.0f; float ResilienceCritTaken = 0.0f; float ResiliencePlayerDamage = 0.0f; |
