diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common/DataStores/DB2FileLoader.cpp | 104 | ||||
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 14 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 134 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 14 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Stores.h | 4 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 134 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 274 | ||||
-rw-r--r-- | src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Entities/Item/ItemBonusMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Taxi/TaxiPathGraph.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/TraitMgr.cpp | 24 |
15 files changed, 350 insertions, 375 deletions
diff --git a/src/common/DataStores/DB2FileLoader.cpp b/src/common/DataStores/DB2FileLoader.cpp index 7a586178794..a0cc609250e 100644 --- a/src/common/DataStores/DB2FileLoader.cpp +++ b/src/common/DataStores/DB2FileLoader.cpp @@ -20,6 +20,7 @@ #include "DB2Meta.h" #include "Errors.h" #include "Log.h" +#include <fmt/ranges.h> #include <limits> #include <sstream> #include <system_error> @@ -182,8 +183,6 @@ public: virtual uint32 GetMaxId() const = 0; virtual DB2FileLoadInfo const* GetLoadInfo() const = 0; virtual DB2SectionHeader& GetSection(uint32 section) const = 0; - virtual bool IsSignedField(uint32 field) const = 0; - virtual char const* GetExpectedSignMismatchReason(uint32 field) const = 0; private: friend class DB2Record; @@ -229,8 +228,6 @@ public: uint32 GetMaxId() const override; DB2FileLoadInfo const* GetLoadInfo() const override; DB2SectionHeader& GetSection(uint32 section) const override; - bool IsSignedField(uint32 field) const override; - char const* GetExpectedSignMismatchReason(uint32 field) const override; private: void FillParentLookup(char* dataTable); @@ -295,8 +292,6 @@ public: uint32 GetMaxId() const override; DB2FileLoadInfo const* GetLoadInfo() const override; DB2SectionHeader& GetSection(uint32 section) const override; - bool IsSignedField(uint32 field) const override; - char const* GetExpectedSignMismatchReason(uint32 field) const override; private: void FillParentLookup(char* dataTable); @@ -982,68 +977,6 @@ DB2SectionHeader& DB2FileLoaderRegularImpl::GetSection(uint32 section) const return _sections[section]; } -bool DB2FileLoaderRegularImpl::IsSignedField(uint32 field) const -{ - if (field >= _header->TotalFieldCount) - { - ASSERT(field == _header->TotalFieldCount); - ASSERT(int32(field) == _loadInfo->Meta->ParentIndexField); - return _loadInfo->Meta->IsSignedField(field); - } - - DB2ColumnCompression compressionType = _columnMeta ? _columnMeta[field].CompressionType : DB2ColumnCompression::None; - switch (compressionType) - { - case DB2ColumnCompression::None: - case DB2ColumnCompression::CommonData: - case DB2ColumnCompression::Pallet: - case DB2ColumnCompression::PalletArray: - return _loadInfo->Meta->IsSignedField(field); - case DB2ColumnCompression::SignedImmediate: - return field != uint32(_loadInfo->Meta->IndexField); - case DB2ColumnCompression::Immediate: - return false; - default: - ABORT_MSG("Unhandled compression type %u in %s", uint32(_columnMeta[field].CompressionType), _fileName); - break; - } - - return false; -} - -char const* DB2FileLoaderRegularImpl::GetExpectedSignMismatchReason(uint32 field) const -{ - if (field >= _header->TotalFieldCount) - { - ASSERT(field == _header->TotalFieldCount); - ASSERT(int32(field) == _loadInfo->Meta->ParentIndexField); - return " (ParentIndexField must always be unsigned)"; - } - - DB2ColumnCompression compressionType = _columnMeta ? _columnMeta[field].CompressionType : DB2ColumnCompression::None; - switch (compressionType) - { - case DB2ColumnCompression::None: - case DB2ColumnCompression::CommonData: - case DB2ColumnCompression::Pallet: - case DB2ColumnCompression::PalletArray: - if (int32(field) == _loadInfo->Meta->IndexField) - return " (IndexField must always be unsigned)"; - if (int32(field) == _loadInfo->Meta->ParentIndexField) - return " (ParentIndexField must always be unsigned)"; - return ""; - case DB2ColumnCompression::SignedImmediate: - return " (CompressionType is SignedImmediate)"; - case DB2ColumnCompression::Immediate: - return " (CompressionType is Immediate)"; - default: - ABORT_MSG("Unhandled compression type %u in %s", uint32(_columnMeta[field].CompressionType), _fileName); - break; - } - - return ""; -} - DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header, DB2FileSource* source) : _fileName(fileName), _loadInfo(loadInfo), @@ -1657,22 +1590,6 @@ DB2SectionHeader& DB2FileLoaderSparseImpl::GetSection(uint32 section) const return _sections[section]; } -bool DB2FileLoaderSparseImpl::IsSignedField(uint32 field) const -{ - ASSERT(field < _header->FieldCount); - return _loadInfo->Meta->IsSignedField(field); -} - -char const* DB2FileLoaderSparseImpl::GetExpectedSignMismatchReason(uint32 field) const -{ - ASSERT(field < _header->FieldCount); - if (int32(field) == _loadInfo->Meta->IndexField) - return " (IndexField must always be unsigned)"; - if (int32(field) == _loadInfo->Meta->ParentIndexField) - return " (ParentIndexField must always be unsigned)"; - return ""; -} - DB2Record::DB2Record(DB2FileLoaderImpl const& db2, uint32 recordIndex, std::size_t* fieldOffsets) : _db2(db2), _recordIndex(recordIndex), _recordData(db2.GetRawRecordData(recordIndex, nullptr)), _fieldOffsets(fieldOffsets) { @@ -2076,23 +1993,30 @@ void DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo) if (loadInfo) { uint32 fieldIndex = 0; - std::string signValidationResult; + std::vector<std::string> signValidationResult; if (!loadInfo->Meta->HasIndexFieldInData()) { if (loadInfo->Fields[0].IsSigned) - signValidationResult += Trinity::StringFormat("ID must be unsigned in {}", source->GetFileName()); + signValidationResult.emplace_back(Trinity::StringFormat("ID must be unsigned in {}", source->GetFileName())); ++fieldIndex; } for (uint32 f = 0; f < loadInfo->Meta->FieldCount; ++f) { - if (loadInfo->Fields[fieldIndex].IsSigned != _impl->IsSignedField(f)) - signValidationResult += Trinity::StringFormat("Field {} in {} must be {}{}", loadInfo->Fields[fieldIndex].Name, - source->GetFileName(), _impl->IsSignedField(f) ? "signed" : "unsigned", _impl->GetExpectedSignMismatchReason(f)); + if (loadInfo->Fields[fieldIndex].IsSigned != loadInfo->Meta->IsSignedField(f)) + { + signValidationResult.emplace_back(Trinity::StringFormat("Field {} in {} must be {}", loadInfo->Fields[fieldIndex].Name, + source->GetFileName(), loadInfo->Meta->IsSignedField(f) ? "signed" : "unsigned")); + + if (int32(f) == loadInfo->Meta->IndexField) + signValidationResult.back() += " (IndexField must always be unsigned)"; + if (int32(f) == loadInfo->Meta->ParentIndexField) + signValidationResult.back() += " (ParentIndexField must always be unsigned)"; + } fieldIndex += loadInfo->Meta->Fields[f].ArraySize; } if (!signValidationResult.empty()) - throw DB2FileLoadException(std::move(signValidationResult)); + throw DB2FileLoadException(Trinity::StringFormat("{}", fmt::join(signValidationResult, "\n"))); } } diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 0d542425547..e64f701dab7 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -715,7 +715,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(spellId); for (SkillLineAbilityMap::const_iterator skillIter = bounds.first; skillIter != bounds.second; ++skillIter) { - if (skillIter->second->SkillLine == int32(criteria->Entry->Asset.SkillID)) + if (skillIter->second->SkillLine == uint32(criteria->Entry->Asset.SkillID)) { // do not add couter twice if by any chance skill is listed twice in dbc (eg. skill 777 and spell 22717) ++spellCount; @@ -2446,7 +2446,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 GarrBuildingEntry const* followerBuilding = sGarrBuildingStore.LookupEntry(follower.PacketInfo.CurrentBuildingID); if (!followerBuilding) return false; - return followerBuilding->BuildingType == int32(secondaryAsset) && follower.HasAbility(reqValue);; + return followerBuilding->BuildingType == secondaryAsset && follower.HasAbility(reqValue);; }); if (followerCount < 1) return false; @@ -2465,7 +2465,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 GarrBuildingEntry const* followerBuilding = sGarrBuildingStore.LookupEntry(follower.PacketInfo.CurrentBuildingID); if (!followerBuilding) return false; - return followerBuilding->BuildingType == int32(secondaryAsset) && follower.HasAbility(reqValue);; + return followerBuilding->BuildingType == secondaryAsset && follower.HasAbility(reqValue);; }); if (followerCount < 1) return false; @@ -2483,7 +2483,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 GarrBuildingEntry const* followerBuilding = sGarrBuildingStore.LookupEntry(follower.PacketInfo.CurrentBuildingID); if (!followerBuilding) return false; - return followerBuilding->BuildingType == int32(secondaryAsset); + return followerBuilding->BuildingType == secondaryAsset; }); if (followerCount < 1) return false; @@ -2500,7 +2500,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 continue; GarrBuildingEntry const* building = sGarrBuildingStore.LookupEntry(plot->BuildingInfo.PacketInfo->GarrBuildingID); - if (!building || building->UpgradeLevel < reqValue || building->BuildingType != int32(secondaryAsset)) + if (!building || building->UpgradeLevel < reqValue || building->BuildingType != secondaryAsset) continue; return true; @@ -2564,7 +2564,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 continue; GarrBuildingEntry const* building = sGarrBuildingStore.LookupEntry(plot->BuildingInfo.PacketInfo->GarrBuildingID); - if (!building || building->UpgradeLevel != secondaryAsset || building->BuildingType != int32(reqValue)) + if (!building || building->UpgradeLevel != secondaryAsset || building->BuildingType != reqValue) continue; return true; @@ -3937,7 +3937,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 if (item->GetVisibleAppearanceModId(referencePlayer) == itemModifiedAppearance->ID) return ItemSearchCallbackResult::Stop; - if (int32(item->GetEntry()) == itemModifiedAppearance->ItemID) + if (item->GetEntry() == itemModifiedAppearance->ItemID) return ItemSearchCallbackResult::Stop; return ItemSearchCallbackResult::Continue; diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 60e0b6b65b2..b40b83bd88c 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -39,7 +39,7 @@ struct AchievementLoadInfo { true, FT_BYTE, "MinimumCriteria" }, { true, FT_BYTE, "Points" }, { true, FT_INT, "Flags" }, - { true, FT_SHORT, "UiOrder" }, + { false, FT_SHORT, "UiOrder" }, { true, FT_INT, "IconFileID" }, { true, FT_INT, "RewardItemID" }, { false, FT_INT, "CriteriaTree" }, @@ -59,7 +59,7 @@ struct AchievementCategoryLoadInfo { false, FT_STRING, "Name" }, { false, FT_INT, "ID" }, { true, FT_SHORT, "Parent" }, - { true, FT_BYTE, "UiOrder" }, + { false, FT_BYTE, "UiOrder" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &Achievement_CategoryMeta::Instance, HOTFIX_SEL_ACHIEVEMENT_CATEGORY }; @@ -205,7 +205,7 @@ struct AreaTriggerLoadInfo { false, FT_FLOAT, "PosY" }, { false, FT_FLOAT, "PosZ" }, { false, FT_INT, "ID" }, - { true, FT_SHORT, "ContinentID" }, + { false, FT_SHORT, "ContinentID" }, { true, FT_INT, "PhaseUseFlags" }, { true, FT_SHORT, "PhaseID" }, { true, FT_SHORT, "PhaseGroupID" }, @@ -335,7 +335,7 @@ struct ArtifactPowerLoadInfo { false, FT_BYTE, "MaxPurchasableRank" }, { true, FT_INT, "Label" }, { false, FT_BYTE, "Flags" }, - { true, FT_BYTE, "Tier" }, + { false, FT_BYTE, "Tier" }, }; static constexpr DB2LoadInfo Instance{ Fields, 8, &ArtifactPowerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER }; @@ -555,10 +555,10 @@ struct AzeritePowerSetMemberLoadInfo static constexpr DB2FieldMeta Fields[6] = { { false, FT_INT, "ID" }, - { true, FT_INT, "AzeritePowerSetID" }, + { false, FT_INT, "AzeritePowerSetID" }, { true, FT_INT, "AzeritePowerID" }, { true, FT_INT, "Class" }, - { true, FT_BYTE, "Tier" }, + { false, FT_BYTE, "Tier" }, { true, FT_INT, "OrderIndex" }, }; @@ -670,7 +670,7 @@ struct BattlePetBreedQualityLoadInfo { false, FT_INT, "ID" }, { true, FT_INT, "MaxQualityRoll" }, { false, FT_FLOAT, "StateMultiplier" }, - { true, FT_BYTE, "QualityEnum" }, + { false, FT_BYTE, "QualityEnum" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetBreedQualityMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_QUALITY }; @@ -792,7 +792,7 @@ struct BroadcastTextDurationLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { true, FT_INT, "BroadcastTextID" }, + { false, FT_INT, "BroadcastTextID" }, { true, FT_INT, "Locale" }, { true, FT_INT, "Duration" }, }; @@ -881,7 +881,7 @@ struct CharacterLoadoutLoadInfo { true, FT_LONG, "RaceMask" }, { true, FT_BYTE, "ChrClassID" }, { true, FT_INT, "Purpose" }, - { true, FT_BYTE, "ItemContext" }, + { false, FT_BYTE, "ItemContext" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &CharacterLoadoutMeta::Instance, HOTFIX_SEL_CHARACTER_LOADOUT }; @@ -993,7 +993,7 @@ struct ChrCustomizationChoiceLoadInfo { { false, FT_STRING, "Name" }, { false, FT_INT, "ID" }, - { true, FT_INT, "ChrCustomizationOptionID" }, + { false, FT_INT, "ChrCustomizationOptionID" }, { true, FT_INT, "ChrCustomizationReqID" }, { true, FT_INT, "ChrCustomizationVisReqID" }, { false, FT_SHORT, "SortOrder" }, @@ -1056,7 +1056,7 @@ struct ChrCustomizationOptionLoadInfo { true, FT_INT, "Flags" }, { true, FT_INT, "ChrRacesID" }, { true, FT_INT, "Sex" }, - { true, FT_INT, "ChrModelID" }, + { false, FT_INT, "ChrModelID" }, { true, FT_INT, "SortIndex" }, { true, FT_INT, "ChrCustomizationCategoryID" }, { true, FT_INT, "OptionType" }, @@ -1112,7 +1112,7 @@ struct ChrModelLoadInfo { false, FT_FLOAT, "CustomizeOffset3" }, { false, FT_INT, "ID" }, { true, FT_BYTE, "Sex" }, - { true, FT_INT, "DisplayID" }, + { false, FT_INT, "DisplayID" }, { true, FT_INT, "CharComponentTextureLayoutID" }, { true, FT_INT, "Flags" }, { true, FT_INT, "SkeletonFileDataID" }, @@ -1135,7 +1135,7 @@ struct ChrRaceXChrModelLoadInfo static constexpr DB2FieldMeta Fields[5] = { { false, FT_INT, "ID" }, - { true, FT_INT, "ChrRacesID" }, + { false, FT_INT, "ChrRacesID" }, { true, FT_INT, "ChrModelID" }, { true, FT_INT, "Sex" }, { true, FT_INT, "AllowedTransmogSlots" }, @@ -1224,7 +1224,7 @@ struct ChrSpecializationLoadInfo { false, FT_STRING, "FemaleName" }, { false, FT_STRING, "Description" }, { false, FT_INT, "ID" }, - { true, FT_BYTE, "ClassID" }, + { false, FT_BYTE, "ClassID" }, { true, FT_BYTE, "OrderIndex" }, { true, FT_BYTE, "PetTalentType" }, { true, FT_BYTE, "Role" }, @@ -1280,7 +1280,7 @@ struct ConditionalChrModelLoadInfo static constexpr DB2FieldMeta Fields[6] = { { false, FT_INT, "ID" }, - { true, FT_INT, "ChrModelID" }, + { false, FT_INT, "ChrModelID" }, { true, FT_INT, "ChrCustomizationReqID" }, { true, FT_INT, "PlayerConditionID" }, { true, FT_INT, "Flags" }, @@ -1683,7 +1683,7 @@ struct DifficultyLoadInfo { false, FT_BYTE, "MinPlayers" }, { false, FT_BYTE, "MaxPlayers" }, { false, FT_SHORT, "Flags" }, - { true, FT_BYTE, "ItemContext" }, + { false, FT_BYTE, "ItemContext" }, { false, FT_BYTE, "ToggleDifficultyID" }, { false, FT_INT, "GroupSizeHealthCurveID" }, { false, FT_INT, "GroupSizeDmgCurveID" }, @@ -1699,7 +1699,7 @@ struct DungeonEncounterLoadInfo { { false, FT_STRING, "Name" }, { false, FT_INT, "ID" }, - { true, FT_SHORT, "MapID" }, + { false, FT_SHORT, "MapID" }, { true, FT_INT, "DifficultyID" }, { true, FT_INT, "OrderIndex" }, { true, FT_INT, "CompleteWorldStateID" }, @@ -1929,7 +1929,7 @@ struct FriendshipRepReactionLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Reaction" }, - { true, FT_INT, "FriendshipRepID" }, + { false, FT_INT, "FriendshipRepID" }, { true, FT_INT, "ReactionThreshold" }, { true, FT_INT, "OverrideColor" }, }; @@ -2004,7 +2004,7 @@ struct GameobjectsLoadInfo { false, FT_FLOAT, "Rot3" }, { false, FT_FLOAT, "Rot4" }, { false, FT_INT, "ID" }, - { true, FT_INT, "OwnerID" }, + { false, FT_INT, "OwnerID" }, { true, FT_INT, "DisplayID" }, { false, FT_FLOAT, "Scale" }, { true, FT_INT, "TypeID" }, @@ -2052,7 +2052,7 @@ struct GarrBuildingLoadInfo { false, FT_STRING, "Description" }, { false, FT_STRING, "Tooltip" }, { true, FT_BYTE, "GarrTypeID" }, - { true, FT_BYTE, "BuildingType" }, + { false, FT_BYTE, "BuildingType" }, { true, FT_INT, "HordeGameObjectID" }, { true, FT_INT, "AllianceGameObjectID" }, { true, FT_INT, "GarrSiteID" }, @@ -2188,7 +2188,7 @@ struct GarrMissionLoadInfo { false, FT_INT, "EnvGarrMechanicID" }, { true, FT_INT, "EnvGarrMechanicTypeID" }, { false, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "GarrMissionSetID" }, + { false, FT_INT, "GarrMissionSetID" }, { true, FT_BYTE, "TargetLevel" }, { false, FT_SHORT, "TargetItemLevel" }, { true, FT_INT, "MissionDuration" }, @@ -2214,7 +2214,7 @@ struct GarrPlotLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { true, FT_BYTE, "PlotType" }, + { false, FT_BYTE, "PlotType" }, { true, FT_INT, "HordeConstructObjID" }, { true, FT_INT, "AllianceConstructObjID" }, { false, FT_BYTE, "Flags" }, @@ -2300,7 +2300,7 @@ struct GarrTalentTreeLoadInfo { true, FT_INT, "GarrTalentTreeType" }, { true, FT_INT, "PlayerConditionID" }, { false, FT_BYTE, "FeatureTypeIndex" }, - { true, FT_BYTE, "FeatureSubtypeIndex" }, + { false, FT_BYTE, "FeatureSubtypeIndex" }, { true, FT_INT, "CurrencyID" }, }; @@ -2349,7 +2349,7 @@ struct GlyphPropertiesLoadInfo { { false, FT_INT, "ID" }, { false, FT_INT, "SpellID" }, - { true, FT_BYTE, "GlyphType" }, + { false, FT_BYTE, "GlyphType" }, { false, FT_BYTE, "GlyphExclusiveCategoryID" }, { true, FT_INT, "SpellIconFileDataID" }, }; @@ -2705,7 +2705,7 @@ struct ItemBonusListGroupEntryLoadInfo static constexpr DB2FieldMeta Fields[9] = { { false, FT_INT, "ID" }, - { true, FT_INT, "ItemBonusListGroupID" }, + { false, FT_INT, "ItemBonusListGroupID" }, { true, FT_INT, "ItemBonusListID" }, { true, FT_INT, "ItemLevelSelectorID" }, { true, FT_INT, "SequenceValue" }, @@ -2746,7 +2746,7 @@ struct ItemBonusTreeNodeLoadInfo static constexpr DB2FieldMeta Fields[10] = { { false, FT_INT, "ID" }, - { true, FT_BYTE, "ItemContext" }, + { false, FT_BYTE, "ItemContext" }, { false, FT_SHORT, "ChildItemBonusTreeID" }, { false, FT_SHORT, "ChildItemBonusListID" }, { false, FT_SHORT, "ChildItemLevelSelectorID" }, @@ -2765,7 +2765,7 @@ struct ItemChildEquipmentLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { true, FT_INT, "ParentItemID" }, + { false, FT_INT, "ParentItemID" }, { true, FT_INT, "ChildItemID" }, { false, FT_BYTE, "ChildItemEquipSlot" }, }; @@ -2792,7 +2792,7 @@ struct ItemContextPickerEntryLoadInfo static constexpr DB2FieldMeta Fields[8] = { { false, FT_INT, "ID" }, - { true, FT_BYTE, "ItemCreationContext" }, + { false, FT_BYTE, "ItemCreationContext" }, { false, FT_BYTE, "OrderIndex" }, { true, FT_INT, "PVal" }, { true, FT_INT, "LabelID" }, @@ -2809,7 +2809,7 @@ struct ItemCurrencyCostLoadInfo static constexpr DB2FieldMeta Fields[2] = { { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, + { false, FT_INT, "ItemID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemCurrencyCostMeta::Instance, HOTFIX_SEL_ITEM_CURRENCY_COST }; @@ -3045,7 +3045,7 @@ struct ItemModifiedAppearanceLoadInfo static constexpr DB2FieldMeta Fields[7] = { { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, + { false, FT_INT, "ItemID" }, { true, FT_INT, "ItemAppearanceModifierID" }, { true, FT_INT, "ItemAppearanceID" }, { true, FT_INT, "OrderIndex" }, @@ -3497,7 +3497,7 @@ struct LfgDungeonsLoadInfo { false, FT_STRING, "Name" }, { false, FT_STRING, "Description" }, { false, FT_BYTE, "TypeID" }, - { true, FT_BYTE, "Subtype" }, + { false, FT_BYTE, "Subtype" }, { true, FT_BYTE, "Faction" }, { true, FT_INT, "IconTextureFileID" }, { true, FT_INT, "RewardsBgTextureFileID" }, @@ -3752,7 +3752,7 @@ struct MapDifficultyLoadInfo { false, FT_STRING, "Message" }, { true, FT_INT, "DifficultyID" }, { true, FT_INT, "LockID" }, - { true, FT_BYTE, "ResetInterval" }, + { false, FT_BYTE, "ResetInterval" }, { true, FT_INT, "MaxPlayers" }, { false, FT_BYTE, "ItemContext" }, { true, FT_INT, "ItemContextPickerID" }, @@ -3784,7 +3784,7 @@ struct MawPowerLoadInfo static constexpr DB2FieldMeta Fields[3] = { { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, + { false, FT_INT, "SpellID" }, { true, FT_INT, "MawPowerRarityID" }, }; @@ -4117,7 +4117,7 @@ struct PlayerConditionLoadInfo { true, FT_BYTE, "ChrSpecializationRole" }, { false, FT_INT, "ModifierTreeID" }, { true, FT_BYTE, "PowerType" }, - { true, FT_BYTE, "PowerTypeComp" }, + { false, FT_BYTE, "PowerTypeComp" }, { false, FT_BYTE, "PowerTypeValue" }, { true, FT_INT, "WeaponSubclassMask" }, { false, FT_BYTE, "MaxGuildLevel" }, @@ -4320,7 +4320,7 @@ struct PvpStatLoadInfo { { false, FT_STRING, "Description" }, { false, FT_INT, "ID" }, - { true, FT_INT, "MapID" }, + { false, FT_INT, "MapID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &PVPStatMeta::Instance, HOTFIX_SEL_PVP_STAT }; @@ -4345,7 +4345,7 @@ struct PvpTalentLoadInfo { { false, FT_STRING, "Description" }, { false, FT_INT, "ID" }, - { true, FT_INT, "SpecID" }, + { false, FT_INT, "SpecID" }, { true, FT_INT, "SpellID" }, { true, FT_INT, "OverridesSpellID" }, { true, FT_INT, "Flags" }, @@ -4393,7 +4393,7 @@ struct PvpTierLoadInfo { true, FT_SHORT, "MaxRating" }, { true, FT_INT, "PrevTier" }, { true, FT_INT, "NextTier" }, - { true, FT_BYTE, "BracketID" }, + { false, FT_BYTE, "BracketID" }, { true, FT_BYTE, "Rank" }, { true, FT_INT, "RankIconFileDataID" }, }; @@ -4742,7 +4742,7 @@ struct SkillLineAbilityLoadInfo { false, FT_STRING, "AbilityVerb" }, { false, FT_STRING, "AbilityAllVerb" }, { false, FT_INT, "ID" }, - { true, FT_SHORT, "SkillLine" }, + { false, FT_SHORT, "SkillLine" }, { true, FT_INT, "Spell" }, { true, FT_SHORT, "MinSkillLineRank" }, { true, FT_INT, "ClassMask" }, @@ -4765,7 +4765,7 @@ struct SkillLineXTraitTreeLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { true, FT_INT, "SkillLineID" }, + { false, FT_INT, "SkillLineID" }, { true, FT_INT, "TraitTreeID" }, { true, FT_INT, "OrderIndex" }, }; @@ -4779,7 +4779,7 @@ struct SkillRaceClassInfoLoadInfo { { false, FT_INT, "ID" }, { true, FT_LONG, "RaceMask" }, - { true, FT_SHORT, "SkillID" }, + { false, FT_SHORT, "SkillID" }, { true, FT_INT, "ClassMask" }, { true, FT_INT, "Flags" }, { true, FT_INT, "Availability" }, @@ -5233,7 +5233,7 @@ struct SpellLearnSpellLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, + { false, FT_INT, "SpellID" }, { true, FT_INT, "LearnSpellID" }, { true, FT_INT, "OverridesSpellID" }, }; @@ -5450,7 +5450,7 @@ struct SpellReagentsCurrencyLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, + { false, FT_INT, "SpellID" }, { false, FT_SHORT, "CurrencyTypesID" }, { false, FT_SHORT, "CurrencyCount" }, }; @@ -5842,7 +5842,7 @@ struct TraitCondLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "CondType" }, - { true, FT_INT, "TraitTreeID" }, + { false, FT_INT, "TraitTreeID" }, { true, FT_INT, "GrantedRanks" }, { true, FT_INT, "QuestID" }, { true, FT_INT, "AchievementID" }, @@ -5895,7 +5895,7 @@ struct TraitCurrencySourceLoadInfo { { false, FT_STRING, "Requirement" }, { false, FT_INT, "ID" }, - { true, FT_INT, "TraitCurrencyID" }, + { false, FT_INT, "TraitCurrencyID" }, { true, FT_INT, "Amount" }, { true, FT_INT, "QuestID" }, { true, FT_INT, "AchievementID" }, @@ -5929,7 +5929,7 @@ struct TraitDefinitionEffectPointsLoadInfo static constexpr DB2FieldMeta Fields[5] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitDefinitionID" }, + { false, FT_INT, "TraitDefinitionID" }, { true, FT_INT, "EffectIndex" }, { true, FT_INT, "OperationType" }, { true, FT_INT, "CurveID" }, @@ -5944,7 +5944,7 @@ struct TraitEdgeLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "VisualStyle" }, - { true, FT_INT, "LeftTraitNodeID" }, + { false, FT_INT, "LeftTraitNodeID" }, { true, FT_INT, "RightTraitNodeID" }, { true, FT_INT, "Type" }, }; @@ -5957,7 +5957,7 @@ struct TraitNodeLoadInfo static constexpr DB2FieldMeta Fields[7] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeID" }, + { false, FT_INT, "TraitTreeID" }, { true, FT_INT, "PosX" }, { true, FT_INT, "PosY" }, { false, FT_BYTE, "Type" }, @@ -5988,7 +5988,7 @@ struct TraitNodeEntryXTraitCondLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "TraitCondID" }, - { true, FT_INT, "TraitNodeEntryID" }, + { false, FT_INT, "TraitNodeEntryID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeEntryXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COND }; @@ -5999,7 +5999,7 @@ struct TraitNodeEntryXTraitCostLoadInfo static constexpr DB2FieldMeta Fields[3] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeEntryID" }, + { false, FT_INT, "TraitNodeEntryID" }, { true, FT_INT, "TraitCostID" }, }; @@ -6011,7 +6011,7 @@ struct TraitNodeGroupLoadInfo static constexpr DB2FieldMeta Fields[3] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeID" }, + { false, FT_INT, "TraitTreeID" }, { true, FT_INT, "Flags" }, }; @@ -6024,7 +6024,7 @@ struct TraitNodeGroupXTraitCondLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "TraitCondID" }, - { true, FT_INT, "TraitNodeGroupID" }, + { false, FT_INT, "TraitNodeGroupID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COND }; @@ -6035,7 +6035,7 @@ struct TraitNodeGroupXTraitCostLoadInfo static constexpr DB2FieldMeta Fields[3] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeGroupID" }, + { false, FT_INT, "TraitNodeGroupID" }, { true, FT_INT, "TraitCostID" }, }; @@ -6047,7 +6047,7 @@ struct TraitNodeGroupXTraitNodeLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeGroupID" }, + { false, FT_INT, "TraitNodeGroupID" }, { true, FT_INT, "TraitNodeID" }, { true, FT_INT, "Index" }, }; @@ -6061,7 +6061,7 @@ struct TraitNodeXTraitCondLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "TraitCondID" }, - { true, FT_INT, "TraitNodeID" }, + { false, FT_INT, "TraitNodeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COND }; @@ -6072,7 +6072,7 @@ struct TraitNodeXTraitCostLoadInfo static constexpr DB2FieldMeta Fields[3] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeID" }, + { false, FT_INT, "TraitNodeID" }, { true, FT_INT, "TraitCostID" }, }; @@ -6084,7 +6084,7 @@ struct TraitNodeXTraitNodeEntryLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeID" }, + { false, FT_INT, "TraitNodeID" }, { true, FT_INT, "TraitNodeEntryID" }, { true, FT_INT, "Index" }, }; @@ -6100,7 +6100,7 @@ struct TraitSubTreeLoadInfo { false, FT_STRING, "Description" }, { false, FT_INT, "ID" }, { true, FT_INT, "UiTextureAtlasElementID" }, - { true, FT_INT, "TraitTreeID" }, + { false, FT_INT, "TraitTreeID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitSubTreeMeta::Instance, HOTFIX_SEL_TRAIT_SUB_TREE }; @@ -6111,7 +6111,7 @@ struct TraitTreeLoadInfo static constexpr DB2FieldMeta Fields[8] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitSystemID" }, + { false, FT_INT, "TraitSystemID" }, { true, FT_INT, "Unused1000_1" }, { true, FT_INT, "FirstTraitNodeID" }, { true, FT_INT, "PlayerConditionID" }, @@ -6128,7 +6128,7 @@ struct TraitTreeLoadoutLoadInfo static constexpr DB2FieldMeta Fields[3] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeID" }, + { false, FT_INT, "TraitTreeID" }, { true, FT_INT, "ChrSpecializationID" }, }; @@ -6140,7 +6140,7 @@ struct TraitTreeLoadoutEntryLoadInfo static constexpr DB2FieldMeta Fields[6] = { { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeLoadoutID" }, + { false, FT_INT, "TraitTreeLoadoutID" }, { true, FT_INT, "SelectedTraitNodeID" }, { true, FT_INT, "SelectedTraitNodeEntryID" }, { true, FT_INT, "NumPoints" }, @@ -6168,7 +6168,7 @@ struct TraitTreeXTraitCurrencyLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "Index" }, - { true, FT_INT, "TraitTreeID" }, + { false, FT_INT, "TraitTreeID" }, { true, FT_INT, "TraitCurrencyID" }, }; @@ -6200,7 +6200,7 @@ struct TransmogSetLoadInfo { true, FT_INT, "Flags" }, { true, FT_INT, "TransmogSetGroupID" }, { true, FT_INT, "ItemNameDescriptionID" }, - { true, FT_INT, "ParentTransmogSetID" }, + { false, FT_INT, "ParentTransmogSetID" }, { true, FT_INT, "Unknown810" }, { true, FT_INT, "ExpansionID" }, { true, FT_INT, "PatchID" }, @@ -6273,9 +6273,9 @@ struct UiMapLoadInfo { { false, FT_STRING, "Name" }, { false, FT_INT, "ID" }, - { true, FT_INT, "ParentUiMapID" }, + { false, FT_INT, "ParentUiMapID" }, { true, FT_INT, "Flags" }, - { true, FT_BYTE, "System" }, + { false, FT_BYTE, "System" }, { false, FT_BYTE, "Type" }, { true, FT_INT, "BountySetID" }, { false, FT_INT, "BountyDisplayLocation" }, @@ -6307,7 +6307,7 @@ struct UiMapAssignmentLoadInfo { false, FT_FLOAT, "Region2Y" }, { false, FT_FLOAT, "Region2Z" }, { false, FT_INT, "ID" }, - { true, FT_INT, "UiMapID" }, + { false, FT_INT, "UiMapID" }, { true, FT_INT, "OrderIndex" }, { true, FT_INT, "MapID" }, { true, FT_INT, "AreaID" }, @@ -6327,7 +6327,7 @@ struct UiMapLinkLoadInfo { false, FT_FLOAT, "UiMaxX" }, { false, FT_FLOAT, "UiMaxY" }, { false, FT_INT, "ID" }, - { true, FT_INT, "ParentUiMapID" }, + { false, FT_INT, "ParentUiMapID" }, { true, FT_INT, "OrderIndex" }, { true, FT_INT, "ChildUiMapID" }, { true, FT_INT, "PlayerConditionID" }, @@ -6366,7 +6366,7 @@ struct UiSplashScreenLoadInfo { false, FT_STRING, "RightFeatureDesc" }, { true, FT_INT, "AllianceQuestID" }, { true, FT_INT, "HordeQuestID" }, - { true, FT_BYTE, "ScreenType" }, + { false, FT_BYTE, "ScreenType" }, { true, FT_INT, "TextureKitID" }, { true, FT_INT, "SoundKitID" }, { true, FT_INT, "PlayerConditionID" }, diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index 22e4fd2496d..d4916949745 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -460,7 +460,7 @@ namespace std::array<AzeriteItemMilestonePowerEntry const*, MAX_AZERITE_ESSENCE_SLOT> _azeriteItemMilestonePowerByEssenceSlot; std::unordered_map<uint32 /*azeritePowerSetId*/, std::vector<AzeritePowerSetMemberEntry const*>> _azeritePowers; std::unordered_map<std::pair<uint32 /*azeriteUnlockSetId*/, ItemContext>, std::array<uint8, MAX_AZERITE_EMPOWERED_TIER>> _azeriteTierUnlockLevels; - std::unordered_map<std::pair<int32 /*broadcastTextId*/, CascLocaleBit /*cascLocaleBit*/>, int32> _broadcastTextDurations; + std::unordered_map<std::pair<uint32 /*broadcastTextId*/, CascLocaleBit /*cascLocaleBit*/>, int32> _broadcastTextDurations; std::unordered_map<std::pair<uint8, uint8>, CharBaseInfoEntry const*> _charBaseInfoByRaceAndClass; std::array<ChrClassUIDisplayEntry const*, MAX_CLASSES> _uiDisplayByClass; std::array<std::array<uint32, MAX_POWERS>, MAX_CLASSES> _powersByClass; @@ -1161,7 +1161,7 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul std::vector<uint32>* choices = nullptr; for (std::pair<uint32, std::vector<uint32>>& choicesForOption : requiredChoicesForReq) { - if (int32(choicesForOption.first) == customizationChoice->ChrCustomizationOptionID) + if (choicesForOption.first == customizationChoice->ChrCustomizationOptionID) { choices = &choicesForOption.second; break; @@ -1582,7 +1582,7 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul } } - std::unordered_map<std::pair<int32, uint32>, UiMapLinkEntry const*> uiMapLinks; + std::unordered_map<std::pair<uint32, uint32>, UiMapLinkEntry const*> uiMapLinks; for (UiMapLinkEntry const* uiMapLink : sUiMapLinkStore) uiMapLinks[std::make_pair(uiMapLink->ParentUiMapID, uint32(uiMapLink->ChildUiMapID))] = uiMapLink; @@ -1685,7 +1685,7 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul if (node->GetFlags().HasFlag(TaxiNodeFlags::ShowOnAllianceMap)) sAllianceTaxiNodesMask[field] |= submask; - int32 uiMapId = -1; + uint32 uiMapId = uint32(-1); if (!GetUiMapPosition(node->Pos.X, node->Pos.Y, node->Pos.Z, node->ContinentID, 0, 0, 0, UI_MAP_SYSTEM_ADVENTURE, false, &uiMapId)) GetUiMapPosition(node->Pos.X, node->Pos.Y, node->Pos.Z, node->ContinentID, 0, 0, 0, UI_MAP_SYSTEM_TAXI, false, &uiMapId); @@ -2078,7 +2078,7 @@ char const* DB2Manager::GetBroadcastTextValue(BroadcastTextEntry const* broadcas return broadcastText->Text[DEFAULT_LOCALE]; } -int32 const* DB2Manager::GetBroadcastTextDuration(int32 broadcastTextId, LocaleConstant locale /*= DEFAULT_LOCALE*/) const +int32 const* DB2Manager::GetBroadcastTextDuration(uint32 broadcastTextId, LocaleConstant locale /*= DEFAULT_LOCALE*/) const { return Trinity::Containers::MapGetValuePtr(_broadcastTextDurations, { broadcastTextId, WowLocaleToCascLocaleBit[locale] }); } @@ -3341,7 +3341,7 @@ static UiMapAssignmentEntry const* FindNearestMapAssignment(float x, float y, fl return nearestMapAssignment.UiMapAssignment; } -static DBCPosition2D CalculateGlobalUiMapPosition(int32 uiMapID, DBCPosition2D uiPosition) +static DBCPosition2D CalculateGlobalUiMapPosition(uint32 uiMapID, DBCPosition2D uiPosition) { UiMapEntry const* uiMap = sUiMapStore.LookupEntry(uiMapID); while (uiMap) @@ -3363,7 +3363,7 @@ static DBCPosition2D CalculateGlobalUiMapPosition(int32 uiMapID, DBCPosition2D u } bool DB2Manager::GetUiMapPosition(float x, float y, float z, int32 mapId, int32 areaId, int32 wmoDoodadPlacementId, int32 wmoGroupId, UiMapSystem system, bool local, - int32* uiMapId /*= nullptr*/, DBCPosition2D* newPos /*= nullptr*/) + uint32* uiMapId /*= nullptr*/, DBCPosition2D* newPos /*= nullptr*/) { if (uiMapId) *uiMapId = -1; diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index 2977a1d4ad7..9a5d9c2d3cc 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -449,7 +449,7 @@ public: std::vector<AzeritePowerSetMemberEntry const*> const* GetAzeritePowers(uint32 itemId) const; uint32 GetRequiredAzeriteLevelForAzeritePowerTier(uint32 azeriteUnlockSetId, ItemContext context, uint32 tier) const; static char const* GetBroadcastTextValue(BroadcastTextEntry const* broadcastText, LocaleConstant locale = DEFAULT_LOCALE, uint8 gender = GENDER_MALE, bool forceGender = false); - int32 const* GetBroadcastTextDuration(int32 broadcastTextId, LocaleConstant locale = DEFAULT_LOCALE) const; + int32 const* GetBroadcastTextDuration(uint32 broadcastTextId, LocaleConstant locale = DEFAULT_LOCALE) const; static CharBaseInfoEntry const* GetCharBaseInfo(Races race, Classes class_); ChrClassUIDisplayEntry const* GetUiDisplayForClass(Classes unitClass) const; static char const* GetClassName(uint8 class_, LocaleConstant locale = DEFAULT_LOCALE); @@ -537,7 +537,7 @@ public: std::vector<TransmogSetEntry const*> const* GetTransmogSetsForItemModifiedAppearance(uint32 itemModifiedAppearanceId) const; std::vector<TransmogSetItemEntry const*> const* GetTransmogSetItems(uint32 transmogSetId) const; static bool GetUiMapPosition(float x, float y, float z, int32 mapId, int32 areaId, int32 wmoDoodadPlacementId, int32 wmoGroupId, UiMapSystem system, bool local, - int32* uiMapId = nullptr, DBCPosition2D* newPos = nullptr); + uint32* uiMapId = nullptr, DBCPosition2D* newPos = nullptr); bool Zone2MapCoordinates(uint32 areaId, float& x, float& y) const; void Map2ZoneCoordinates(uint32 areaId, float& x, float& y) const; bool IsUiMapPhase(uint32 phaseId) const; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 4ac551fcd90..b4546e48886 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -38,7 +38,7 @@ struct AchievementEntry int8 MinimumCriteria; // need this count of completed criterias (own or referenced achievement criterias) int8 Points; int32 Flags; - int16 UiOrder; + uint16 UiOrder; int32 IconFileID; int32 RewardItemID; uint32 CriteriaTree; @@ -53,7 +53,7 @@ struct Achievement_CategoryEntry LocalizedString Name; uint32 ID; int16 Parent; - int8 UiOrder; + uint8 UiOrder; }; struct AdventureJournalEntry @@ -164,7 +164,7 @@ struct AreaTriggerEntry { DBCPosition3D Pos; uint32 ID; - int16 ContinentID; + uint16 ContinentID; int32 PhaseUseFlags; int16 PhaseID; int16 PhaseGroupID; @@ -262,7 +262,7 @@ struct ArtifactPowerEntry uint8 MaxPurchasableRank; int32 Label; uint8 Flags; - int8 Tier; + uint8 Tier; }; struct ArtifactPowerLinkEntry @@ -393,10 +393,10 @@ struct AzeritePowerEntry struct AzeritePowerSetMemberEntry { uint32 ID; - int32 AzeritePowerSetID; + uint32 AzeritePowerSetID; int32 AzeritePowerID; int32 Class; - int8 Tier; + uint8 Tier; int32 OrderIndex; }; @@ -468,7 +468,7 @@ struct BattlePetBreedQualityEntry uint32 ID; int32 MaxQualityRoll; float StateMultiplier; - int8 QualityEnum; + uint8 QualityEnum; }; struct BattlePetBreedStateEntry @@ -556,7 +556,7 @@ struct BroadcastTextEntry struct BroadcastTextDurationEntry { uint32 ID; - int32 BroadcastTextID; + uint32 BroadcastTextID; int32 Locale; int32 Duration; }; @@ -619,7 +619,7 @@ struct CharacterLoadoutEntry Trinity::RaceMask<int64> RaceMask; int8 ChrClassID; int32 Purpose; - int8 ItemContext; + uint8 ItemContext; bool IsForNewCharacter() const { return Purpose == 9; } }; @@ -706,7 +706,7 @@ struct ChrCustomizationChoiceEntry { LocalizedString Name; uint32 ID; - int32 ChrCustomizationOptionID; + uint32 ChrCustomizationOptionID; int32 ChrCustomizationReqID; int32 ChrCustomizationVisReqID; uint16 SortOrder; @@ -753,7 +753,7 @@ struct ChrCustomizationOptionEntry int32 Flags; int32 ChrRacesID; int32 Sex; - int32 ChrModelID; + uint32 ChrModelID; int32 SortIndex; int32 ChrCustomizationCategoryID; int32 OptionType; @@ -792,7 +792,7 @@ struct ChrModelEntry std::array<float, 3> CustomizeOffset; uint32 ID; int8 Sex; - int32 DisplayID; + uint32 DisplayID; int32 CharComponentTextureLayoutID; int32 Flags; int32 SkeletonFileDataID; @@ -810,7 +810,7 @@ struct ChrModelEntry struct ChrRaceXChrModelEntry { uint32 ID; - int32 ChrRacesID; + uint32 ChrRacesID; int32 ChrModelID; int32 Sex; int32 AllowedTransmogSlots; @@ -883,7 +883,7 @@ struct ChrSpecializationEntry LocalizedString FemaleName; LocalizedString Description; uint32 ID; - int8 ClassID; + uint8 ClassID; int8 OrderIndex; int8 PetTalentType; int8 Role; @@ -922,7 +922,7 @@ struct CinematicSequencesEntry struct ConditionalChrModelEntry { uint32 ID; - int32 ChrModelID; + uint32 ChrModelID; int32 ChrCustomizationReqID; int32 PlayerConditionID; int32 Flags; @@ -1499,7 +1499,7 @@ struct DifficultyEntry uint8 MinPlayers; uint8 MaxPlayers; uint16 Flags; - int8 ItemContext; + uint8 ItemContext; uint8 ToggleDifficultyID; uint32 GroupSizeHealthCurveID; uint32 GroupSizeDmgCurveID; @@ -1510,7 +1510,7 @@ struct DungeonEncounterEntry { LocalizedString Name; uint32 ID; - int16 MapID; + uint16 MapID; int32 DifficultyID; int32 OrderIndex; int32 CompleteWorldStateID; @@ -1683,7 +1683,7 @@ struct FriendshipRepReactionEntry { uint32 ID; LocalizedString Reaction; - int32 FriendshipRepID; + uint32 FriendshipRepID; int32 ReactionThreshold; int32 OverrideColor; }; @@ -1729,7 +1729,7 @@ struct GameObjectsEntry DBCPosition3D Pos; std::array<float, 4> Rot; uint32 ID; - int32 OwnerID; + uint32 OwnerID; int32 DisplayID; float Scale; int32 TypeID; @@ -1760,7 +1760,7 @@ struct GarrBuildingEntry LocalizedString Description; LocalizedString Tooltip; int8 GarrTypeID; - int8 BuildingType; + uint8 BuildingType; int32 HordeGameObjectID; int32 AllianceGameObjectID; int32 GarrSiteID; @@ -1868,7 +1868,7 @@ struct GarrMissionEntry uint32 EnvGarrMechanicID; int32 EnvGarrMechanicTypeID; uint32 PlayerConditionID; - int32 GarrMissionSetID; + uint32 GarrMissionSetID; int8 TargetLevel; uint16 TargetItemLevel; int32 MissionDuration; @@ -1889,7 +1889,7 @@ struct GarrPlotEntry { uint32 ID; char const* Name; - int8 PlotType; + uint8 PlotType; int32 HordeConstructObjID; int32 AllianceConstructObjID; uint8 Flags; @@ -1947,7 +1947,7 @@ struct GarrTalentTreeEntry int32 GarrTalentTreeType; int32 PlayerConditionID; uint8 FeatureTypeIndex; - int8 FeatureSubtypeIndex; + uint8 FeatureSubtypeIndex; int32 CurrencyID; }; @@ -1976,7 +1976,7 @@ struct GlyphPropertiesEntry { uint32 ID; uint32 SpellID; - int8 GlyphType; + uint8 GlyphType; uint8 GlyphExclusiveCategoryID; int32 SpellIconFileDataID; }; @@ -2167,7 +2167,7 @@ struct ItemBonusEntry struct ItemBonusListGroupEntryEntry { uint32 ID; - int32 ItemBonusListGroupID; + uint32 ItemBonusListGroupID; int32 ItemBonusListID; int32 ItemLevelSelectorID; int32 SequenceValue; @@ -2200,7 +2200,7 @@ struct ItemBonusTreeEntry struct ItemBonusTreeNodeEntry { uint32 ID; - int8 ItemContext; + uint8 ItemContext; uint16 ChildItemBonusTreeID; uint16 ChildItemBonusListID; uint16 ChildItemLevelSelectorID; @@ -2214,7 +2214,7 @@ struct ItemBonusTreeNodeEntry struct ItemChildEquipmentEntry { uint32 ID; - int32 ParentItemID; + uint32 ParentItemID; int32 ChildItemID; uint8 ChildItemEquipSlot; }; @@ -2231,7 +2231,7 @@ struct ItemClassEntry struct ItemContextPickerEntryEntry { uint32 ID; - int8 ItemCreationContext; + uint8 ItemCreationContext; uint8 OrderIndex; int32 PVal; int32 LabelID; @@ -2243,7 +2243,7 @@ struct ItemContextPickerEntryEntry struct ItemCurrencyCostEntry { uint32 ID; - int32 ItemID; + uint32 ItemID; }; struct ItemDamageAmmoEntry @@ -2366,7 +2366,7 @@ struct ItemLimitCategoryConditionEntry struct ItemModifiedAppearanceEntry { uint32 ID; - int32 ItemID; + uint32 ItemID; int32 ItemAppearanceModifierID; int32 ItemAppearanceID; int32 OrderIndex; @@ -2636,7 +2636,7 @@ struct LFGDungeonsEntry LocalizedString Name; LocalizedString Description; uint8 TypeID; - int8 Subtype; + uint8 Subtype; int8 Faction; int32 IconTextureFileID; int32 RewardsBgTextureFileID; @@ -2835,7 +2835,7 @@ struct MapDifficultyEntry LocalizedString Message; // m_message_lang (text showed when transfer to map failed) int32 DifficultyID; int32 LockID; - int8 ResetInterval; + uint8 ResetInterval; int32 MaxPlayers; uint8 ItemContext; int32 ItemContextPickerID; @@ -2873,7 +2873,7 @@ struct MapDifficultyXConditionEntry struct MawPowerEntry { uint32 ID; - int32 SpellID; + uint32 SpellID; int32 MawPowerRarityID; }; @@ -3105,7 +3105,7 @@ struct PlayerConditionEntry int8 ChrSpecializationRole; uint32 ModifierTreeID; int8 PowerType; - int8 PowerTypeComp; + uint8 PowerTypeComp; uint8 PowerTypeValue; int32 WeaponSubclassMask; uint8 MaxGuildLevel; @@ -3210,7 +3210,7 @@ struct PVPStatEntry { LocalizedString Description; uint32 ID; - int32 MapID; + uint32 MapID; }; struct PvpSeasonEntry @@ -3225,7 +3225,7 @@ struct PvpTalentEntry { LocalizedString Description; uint32 ID; - int32 SpecID; + uint32 SpecID; int32 SpellID; int32 OverridesSpellID; int32 Flags; @@ -3258,7 +3258,7 @@ struct PvpTierEntry int16 MaxRating; int32 PrevTier; int32 NextTier; - int8 BracketID; + uint8 BracketID; int8 Rank; int32 RankIconFileDataID; }; @@ -3459,7 +3459,7 @@ struct SkillLineAbilityEntry LocalizedString AbilityVerb; LocalizedString AbilityAllVerb; uint32 ID; - int16 SkillLine; + uint16 SkillLine; int32 Spell; int16 MinSkillLineRank; int32 ClassMask; @@ -3479,7 +3479,7 @@ struct SkillLineAbilityEntry struct SkillLineXTraitTreeEntry { uint32 ID; - int32 SkillLineID; + uint32 SkillLineID; int32 TraitTreeID; int32 OrderIndex; }; @@ -3488,7 +3488,7 @@ struct SkillRaceClassInfoEntry { uint32 ID; Trinity::RaceMask<int64> RaceMask; - int16 SkillID; + uint16 SkillID; int32 ClassMask; int32 Flags; int32 Availability; @@ -3784,7 +3784,7 @@ struct SpellLabelEntry struct SpellLearnSpellEntry { uint32 ID; - int32 SpellID; + uint32 SpellID; int32 LearnSpellID; int32 OverridesSpellID; }; @@ -3905,7 +3905,7 @@ struct SpellReagentsEntry struct SpellReagentsCurrencyEntry { uint32 ID; - int32 SpellID; + uint32 SpellID; uint16 CurrencyTypesID; uint16 CurrencyCount; }; @@ -4180,7 +4180,7 @@ struct TraitCondEntry { uint32 ID; int32 CondType; - int32 TraitTreeID; + uint32 TraitTreeID; int32 GrantedRanks; int32 QuestID; int32 AchievementID; @@ -4223,7 +4223,7 @@ struct TraitCurrencySourceEntry { LocalizedString Requirement; uint32 ID; - int32 TraitCurrencyID; + uint32 TraitCurrencyID; int32 Amount; int32 QuestID; int32 AchievementID; @@ -4247,7 +4247,7 @@ struct TraitDefinitionEntry struct TraitDefinitionEffectPointsEntry { uint32 ID; - int32 TraitDefinitionID; + uint32 TraitDefinitionID; int32 EffectIndex; int32 OperationType; int32 CurveID; @@ -4259,7 +4259,7 @@ struct TraitEdgeEntry { uint32 ID; int32 VisualStyle; - int32 LeftTraitNodeID; + uint32 LeftTraitNodeID; int32 RightTraitNodeID; int32 Type; }; @@ -4267,7 +4267,7 @@ struct TraitEdgeEntry struct TraitNodeEntry { uint32 ID; - int32 TraitTreeID; + uint32 TraitTreeID; int32 PosX; int32 PosY; uint8 Type; @@ -4292,20 +4292,20 @@ struct TraitNodeEntryXTraitCondEntry { uint32 ID; int32 TraitCondID; - int32 TraitNodeEntryID; + uint32 TraitNodeEntryID; }; struct TraitNodeEntryXTraitCostEntry { uint32 ID; - int32 TraitNodeEntryID; + uint32 TraitNodeEntryID; int32 TraitCostID; }; struct TraitNodeGroupEntry { uint32 ID; - int32 TraitTreeID; + uint32 TraitTreeID; int32 Flags; }; @@ -4313,20 +4313,20 @@ struct TraitNodeGroupXTraitCondEntry { uint32 ID; int32 TraitCondID; - int32 TraitNodeGroupID; + uint32 TraitNodeGroupID; }; struct TraitNodeGroupXTraitCostEntry { uint32 ID; - int32 TraitNodeGroupID; + uint32 TraitNodeGroupID; int32 TraitCostID; }; struct TraitNodeGroupXTraitNodeEntry { uint32 ID; - int32 TraitNodeGroupID; + uint32 TraitNodeGroupID; int32 TraitNodeID; int32 Index; }; @@ -4335,20 +4335,20 @@ struct TraitNodeXTraitCondEntry { uint32 ID; int32 TraitCondID; - int32 TraitNodeID; + uint32 TraitNodeID; }; struct TraitNodeXTraitCostEntry { uint32 ID; - int32 TraitNodeID; + uint32 TraitNodeID; int32 TraitCostID; }; struct TraitNodeXTraitNodeEntryEntry { uint32 ID; - int32 TraitNodeID; + uint32 TraitNodeID; int32 TraitNodeEntryID; int32 Index; }; @@ -4359,13 +4359,13 @@ struct TraitSubTreeEntry LocalizedString Description; uint32 ID; int32 UiTextureAtlasElementID; - int32 TraitTreeID; // Parent tree + uint32 TraitTreeID; // Parent tree }; struct TraitTreeEntry { uint32 ID; - int32 TraitSystemID; + uint32 TraitSystemID; int32 Unused1000_1; int32 FirstTraitNodeID; int32 PlayerConditionID; @@ -4379,14 +4379,14 @@ struct TraitTreeEntry struct TraitTreeLoadoutEntry { uint32 ID; - int32 TraitTreeID; + uint32 TraitTreeID; int32 ChrSpecializationID; }; struct TraitTreeLoadoutEntryEntry { uint32 ID; - int32 TraitTreeLoadoutID; + uint32 TraitTreeLoadoutID; int32 SelectedTraitNodeID; int32 SelectedTraitNodeEntryID; int32 NumPoints; @@ -4404,7 +4404,7 @@ struct TraitTreeXTraitCurrencyEntry { uint32 ID; int32 Index; - int32 TraitTreeID; + uint32 TraitTreeID; int32 TraitCurrencyID; }; @@ -4428,7 +4428,7 @@ struct TransmogSetEntry int32 Flags; int32 TransmogSetGroupID; int32 ItemNameDescriptionID; - int32 ParentTransmogSetID; + uint32 ParentTransmogSetID; int32 Unknown810; int32 ExpansionID; int32 PatchID; @@ -4471,9 +4471,9 @@ struct UiMapEntry { LocalizedString Name; uint32 ID; - int32 ParentUiMapID; + uint32 ParentUiMapID; int32 Flags; - int8 System; + uint8 System; uint8 Type; int32 BountySetID; uint32 BountyDisplayLocation; @@ -4495,7 +4495,7 @@ struct UiMapAssignmentEntry DBCPosition2D UiMax; std::array<DBCPosition3D, 2> Region; uint32 ID; - int32 UiMapID; + uint32 UiMapID; int32 OrderIndex; int32 MapID; int32 AreaID; @@ -4508,7 +4508,7 @@ struct UiMapLinkEntry DBCPosition2D UiMin; DBCPosition2D UiMax; uint32 ID; - int32 ParentUiMapID; + uint32 ParentUiMapID; int32 OrderIndex; int32 ChildUiMapID; int32 PlayerConditionID; @@ -4537,7 +4537,7 @@ struct UISplashScreenEntry LocalizedString RightFeatureDesc; int32 AllianceQuestID; int32 HordeQuestID; - int8 ScreenType; + uint8 ScreenType; int32 TextureKitID; int32 SoundKitID; int32 PlayerConditionID; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 1102e171e9d..2417f7e3009 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -1106,115 +1106,171 @@ enum ItemBonusType enum class ItemContext : uint8 { - NONE = 0, - Dungeon_Normal = 1, - Dungeon_Heroic = 2, - Raid_Normal = 3, - Raid_Raid_Finder = 4, - Raid_Heroic = 5, - Raid_Mythic = 6, - PVP_Unranked_1 = 7, - PVP_Ranked_1_Unrated = 8, - Scenario_Normal = 9, - Scenario_Heroic = 10, - Quest_Reward = 11, - In_Game_Store = 12, - Trade_Skill = 13, - Vendor = 14, - Black_Market = 15, - MythicPlus_End_of_Run = 16, - Dungeon_Lvl_Up_1 = 17, - Dungeon_Lvl_Up_2 = 18, - Dungeon_Lvl_Up_3 = 19, - Dungeon_Lvl_Up_4 = 20, - Force_to_NONE = 21, - Timewalking = 22, - Dungeon_Mythic = 23, - Pvp_Honor_Reward = 24, - World_Quest_1 = 25, - World_Quest_2 = 26, - World_Quest_3 = 27, - World_Quest_4 = 28, - World_Quest_5 = 29, - World_Quest_6 = 30, - Mission_Reward_1 = 31, - Mission_Reward_2 = 32, - MythicPlus_End_of_Run_Time_Chest = 33, - zzChallenge_Mode_3 = 34, - MythicPlus_Jackpot = 35, - World_Quest_7 = 36, - World_Quest_8 = 37, - PVP_Ranked_2_Combatant = 38, - PVP_Ranked_3_Challenger = 39, - PVP_Ranked_4_Rival = 40, - PVP_Unranked_2 = 41, - World_Quest_9 = 42, - World_Quest_10 = 43, - PVP_Ranked_5_Duelist = 44, - PVP_Ranked_6_Elite = 45, - PVP_Ranked_7 = 46, - PVP_Unranked_3 = 47, - PVP_Unranked_4 = 48, - PVP_Unranked_5 = 49, - PVP_Unranked_6 = 50, - PVP_Unranked_7 = 51, - PVP_Ranked_8 = 52, - World_Quest_11 = 53, - World_Quest_12 = 54, - World_Quest_13 = 55, - PVP_Ranked_Jackpot = 56, - Tournament_Realm = 57, - Relinquished = 58, - Legendary_Forge = 59, - Quest_Bonus_Loot = 60, - Character_Boost_BFA = 61, - Character_Boost_Shadowlands = 62, - Legendary_Crafting_1 = 63, - Legendary_Crafting_2 = 64, - Legendary_Crafting_3 = 65, - Legendary_Crafting_4 = 66, - Legendary_Crafting_5 = 67, - Legendary_Crafting_6 = 68, - Legendary_Crafting_7 = 69, - Legendary_Crafting_8 = 70, - Legendary_Crafting_9 = 71, - Weekly_Rewards_Additional = 72, - Weekly_Rewards_Concession = 73, - World_Quest_Jackpot = 74, - New_Character = 75, - War_Mode = 76, - PvP_Brawl_1 = 77, - PvP_Brawl_2 = 78, - Torghast = 79, - Corpse_Recovery = 80, - World_Boss = 81, - Raid_Normal_Extended = 82, - Raid_Raid_Finder_Extended = 83, - Raid_Heroic_Extended = 84, - Raid_Mythic_Extended = 85, - Character_Template_9_1 = 86, - Challenge_Mode_4 = 87, - Pvp_Ranked_9 = 88, - Raid_Normal_Extended_2 = 89, - Raid_Finder_Extended_2 = 90, - Raid_Heroic_Extended_2 = 91, - Raid_Mythic_Extended_2 = 92, - Raid_Normal_Extended_3 = 93, - Raid_Finder_Extended_3 = 94, - Raid_Heroic_Extended_3 = 95, - Raid_Mythic_Extended_3 = 96, - Template_Character_1 = 97, - Template_Character_2 = 98, - Template_Character_3 = 99, - Template_Character_4 = 100, - Dungeon_Normal_Jackpot = 101, - Dungeon_Heroic_Jackpot = 102, - Dungeon_Mythic_Jackpot = 103, - Delves_1 = 104, - Timerunning = 105, - Delves_2 = 106, - Delves_3 = 107, - Delves_Jackpot = 108, + NONE = 0, + Dungeon_Normal = 1, + Dungeon_Heroic = 2, + Raid_Normal = 3, + Raid_Raid_Finder = 4, + Raid_Heroic = 5, + Raid_Mythic = 6, + PVP_Unranked_1 = 7, + PVP_Ranked_1_Unrated = 8, + Scenario_Normal = 9, + Scenario_Heroic = 10, + Quest_Reward = 11, + In_Game_Store = 12, + Trade_Skill = 13, + Vendor = 14, + Black_Market = 15, + MythicPlus_End_of_Run = 16, + Dungeon_Lvl_Up_1 = 17, + Dungeon_Lvl_Up_2 = 18, + Dungeon_Lvl_Up_3 = 19, + Dungeon_Lvl_Up_4 = 20, + Force_to_NONE = 21, + Timewalking = 22, + Dungeon_Mythic = 23, + Pvp_Honor_Reward = 24, + World_Quest_1 = 25, + World_Quest_2 = 26, + World_Quest_3 = 27, + World_Quest_4 = 28, + World_Quest_5 = 29, + World_Quest_6 = 30, + Mission_Reward_1 = 31, + Mission_Reward_2 = 32, + MythicPlus_End_of_Run_Time_Chest = 33, + MythicPlus_Timewalking_End_of_Run = 34, + MythicPlus_Jackpot = 35, + World_Quest_7 = 36, + World_Quest_8 = 37, + PVP_Ranked_2_Combatant = 38, + PVP_Ranked_4_Challenger = 39, + PVP_Ranked_6_Rival = 40, + PVP_Unranked_2 = 41, + World_Quest_9 = 42, + World_Quest_10 = 43, + PVP_Ranked_8_Duelist = 44, + PVP_Ranked_9_Elite = 45, + PVP_Ranked_3_Combatant = 46, + PVP_Unranked_3 = 47, + PVP_Unranked_4 = 48, + PVP_Unranked_5 = 49, + PVP_Unranked_6 = 50, + PVP_Unranked_7 = 51, + PVP_Ranked_5_Challenger = 52, + World_Quest_11 = 53, + World_Quest_12 = 54, + World_Quest_13 = 55, + PVP_Ranked_Jackpot = 56, + Tournament_Realm_1 = 57, + Relinquished = 58, + Legendary_Forge = 59, + Quest_Bonus_Loot = 60, + Character_Boost_Dragonflight_70 = 61, + Character_Boost_Shadowlands_50 = 62, + Legendary_Crafting_1 = 63, + Legendary_Crafting_2 = 64, + Legendary_Crafting_3 = 65, + Legendary_Crafting_4 = 66, + Legendary_Crafting_5 = 67, + Legendary_Crafting_6 = 68, + Legendary_Crafting_7 = 69, + Legendary_Crafting_8 = 70, + Legendary_Crafting_9 = 71, + Weekly_Rewards_Additional = 72, + Weekly_Rewards_Concession = 73, + World_Quest_Jackpot = 74, + New_Character = 75, + War_Mode = 76, + PvP_Brawl_1 = 77, + PvP_Brawl_2 = 78, + Torghast = 79, + Corpse_Recovery = 80, + World_Boss = 81, + Raid_Normal_Extended = 82, + Raid_Raid_Finder_Extended = 83, + Raid_Heroic_Extended = 84, + Raid_Mythic_Extended = 85, + Character_Boost_Shadowlands_60 = 86, + MythicPlus_Timewalking_End_of_Run_Time_Chest = 87, + Pvp_Ranked_7_Rival = 88, + Raid_Normal_Extended_2 = 89, + Raid_Finder_Extended_2 = 90, + Raid_Heroic_Extended_2 = 91, + Raid_Mythic_Extended_2 = 92, + Raid_Normal_Extended_3 = 93, + Raid_Finder_Extended_3 = 94, + Raid_Heroic_Extended_3 = 95, + Raid_Mythic_Extended_3 = 96, + Template_Character_1 = 97, + Template_Character_2 = 98, + Template_Character_3 = 99, + Template_Character_4 = 100, + Dungeon_Normal_Jackpot = 101, + Dungeon_Heroic_Jackpot = 102, + Dungeon_Mythic_Jackpot = 103, + Delves_1 = 104, + Timerunning = 105, + Delves_2 = 106, + Delves_3 = 107, + Delves_Jackpot = 108, + Delves_Key_1 = 109, + Delves_Key_2 = 110, + Delves_Key_3 = 111, + Delves_Key_4 = 112, + Delves_Key_5 = 113, + Delves_Key_6 = 114, + Delves_Key_7 = 115, + Delves_Key_8 = 116, + Delves_Bounty_1 = 117, + Delves_Bounty_2 = 118, + Delves_Bounty_3 = 119, + Delves_Bounty_4 = 120, + Delves_Bounty_5 = 121, + Delves_Bounty_6 = 122, + Delves_Bounty_7 = 123, + Delves_Bounty_8 = 124, + Delves_Level_Up_1 = 125, + Delves_Level_Up_2 = 126, + Delves_Level_Up_3 = 127, + Delves_Level_Up_4 = 128, + Delves_Bonus_1 = 129, + Delves_Bonus_2 = 130, + Delves_Bonus_3 = 131, + Delves_Bonus_4 = 132, + Delves_Bonus_5 = 133, + Delves_Bonus_6 = 134, + Delves_Bonus_7 = 135, + Delves_Bonus_8 = 136, + Delves_Bonus_9 = 137, + Delves_Bonus_10 = 138, + Dungeon_Bonus_1 = 139, + Dungeon_Bonus_2 = 140, + Dungeon_Bonus_3 = 141, + Dungeon_Bonus_4 = 142, + Dungeon_Bonus_5 = 143, + Dungeon_Bonus_6 = 144, + Dungeon_Bonus_7 = 145, + Dungeon_Bonus_8 = 146, + Dungeon_Bonus_9 = 147, + Dungeon_Bonus_10 = 148, + Raid_Bonus_1 = 149, + Raid_Bonus_2 = 150, + Raid_Bonus_3 = 151, + Raid_Bonus_4 = 152, + Raid_Bonus_5 = 153, + Raid_Bonus_6 = 154, + Raid_Bonus_7 = 155, + Raid_Bonus_8 = 156, + Raid_Bonus_9 = 157, + Raid_Bonus_10 = 158, + Dungeon_Hard_Mode_1 = 159, + Dungeon_Hard_Mode_2 = 160, + Dungeon_Hard_Mode_3 = 161, + Tournament_Realm_2 = 162, + Tournament_Realm_3 = 163, + Tournament_Realm_4 = 164, Max }; diff --git a/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp b/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp index c755a372a1d..c298536ba5d 100644 --- a/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp +++ b/src/server/game/Entities/Item/AzeriteItem/AzeriteEmpoweredItem.cpp @@ -241,10 +241,5 @@ void AzeriteEmpoweredItem::InitAzeritePowerData() { m_azeritePowers = sDB2Manager.GetAzeritePowers(GetEntry()); if (m_azeritePowers) - { - m_maxTier = (*std::max_element(m_azeritePowers->begin(), m_azeritePowers->end(), [](AzeritePowerSetMemberEntry const* a1, AzeritePowerSetMemberEntry const* a2) - { - return a1->Tier < a2->Tier; - }))->Tier; - } + m_maxTier = (*std::ranges::max_element(*m_azeritePowers, {}, &AzeritePowerSetMemberEntry::Tier))->Tier; } diff --git a/src/server/game/Entities/Item/ItemBonusMgr.cpp b/src/server/game/Entities/Item/ItemBonusMgr.cpp index d379c88762c..6b7bcf03c40 100644 --- a/src/server/game/Entities/Item/ItemBonusMgr.cpp +++ b/src/server/game/Entities/Item/ItemBonusMgr.cpp @@ -35,7 +35,7 @@ using ItemLevelSelectorQualities = std::set<ItemLevelSelectorQualityEntry const* std::unordered_multimap<int32 /*azeriteUnlockMappingSetId*/, AzeriteUnlockMappingEntry const*> _azeriteUnlockMappings; std::unordered_multimap<uint32 /*itemBonusTreeId*/, ChallengeModeItemBonusOverrideEntry const*> _challengeModeItemBonusOverrides; std::unordered_map<uint32 /*itemBonusListId*/, std::vector<ItemBonusEntry const*>> _itemBonusLists; -std::unordered_multimap<int32, ItemBonusListGroupEntryEntry const*> _itemBonusListGroupEntries; +std::unordered_multimap<uint32, ItemBonusListGroupEntryEntry const*> _itemBonusListGroupEntries; std::unordered_map<int16 /*itemLevelDelta*/, uint32 /*itemBonusListId*/> _itemLevelDeltaToBonusListContainer; std::unordered_map<uint32 /*itemLevelSelectorQualitySetId*/, ItemLevelSelectorQualities> _itemLevelQualitySelectorQualities; std::unordered_map<uint32 /*itemBonusTreeId*/, std::set<ItemBonusTreeNodeEntry const*>> _itemBonusTrees; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 46e357e9b60..ea4f405e96c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2025,7 +2025,7 @@ bool Player::IsInAreaTrigger(AreaTriggerEntry const* areaTrigger) const if (!areaTrigger) return false; - if (int32(GetMapId()) != areaTrigger->ContinentID && !GetPhaseShift().HasVisibleMapId(areaTrigger->ContinentID)) + if (GetMapId() != areaTrigger->ContinentID && !GetPhaseShift().HasVisibleMapId(areaTrigger->ContinentID)) return false; if (areaTrigger->PhaseID || areaTrigger->PhaseGroupID || areaTrigger->PhaseUseFlags) @@ -27153,7 +27153,7 @@ TalentLearnResult Player::LearnPvpTalent(uint32 talentID, uint8 slot, int32* spe if (!talentInfo) return TALENT_FAILED_UNKNOWN; - if (talentInfo->SpecID != int32(GetPrimarySpecialization())) + if (ChrSpecialization(talentInfo->SpecID) != GetPrimarySpecialization()) return TALENT_FAILED_UNKNOWN; if (talentInfo->LevelRequired > GetLevel()) diff --git a/src/server/game/Entities/Taxi/TaxiPathGraph.cpp b/src/server/game/Entities/Taxi/TaxiPathGraph.cpp index 2885a4341ac..2754591bcf2 100644 --- a/src/server/game/Entities/Taxi/TaxiPathGraph.cpp +++ b/src/server/game/Entities/Taxi/TaxiPathGraph.cpp @@ -63,7 +63,7 @@ Graph m_graph; std::vector<TaxiNodesEntry const*> m_nodesByVertex; std::unordered_map<uint32, vertex_descriptor> m_verticesByNode; -void GetTaxiMapPosition(DBCPosition3D const& position, int32 mapId, DBCPosition2D* uiMapPosition, int32* uiMapId) +void GetTaxiMapPosition(DBCPosition3D const& position, int32 mapId, DBCPosition2D* uiMapPosition, uint32* uiMapId) { if (!DB2Manager::GetUiMapPosition(position.X, position.Y, position.Z, mapId, 0, 0, 0, UI_MAP_SYSTEM_ADVENTURE, false, uiMapId, uiMapPosition)) DB2Manager::GetUiMapPosition(position.X, position.Y, position.Z, mapId, 0, 0, 0, UI_MAP_SYSTEM_TAXI, false, uiMapId, uiMapPosition); @@ -109,7 +109,7 @@ void AddVerticeAndEdgeFromNodeInfo(TaxiNodesEntry const* from, TaxiNodesEntry co if (nodes[i - 1]->Flags & TAXI_PATH_NODE_FLAG_TELEPORT) continue; - int32 uiMap1, uiMap2; + uint32 uiMap1, uiMap2; DBCPosition2D pos1, pos2; GetTaxiMapPosition(nodes[i - 1]->Loc, nodes[i - 1]->ContinentID, &pos1, &uiMap1); diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index d7a5428cbcc..7545b4f1b35 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7358,7 +7358,7 @@ AreaTriggerStruct const* ObjectMgr::GetGoBackTrigger(uint32 Map) const if (itr->second.target_mapId == entrance_map) { AreaTriggerEntry const* atEntry = sAreaTriggerStore.LookupEntry(itr->first); - if (atEntry && atEntry->ContinentID == int32(Map)) + if (atEntry && atEntry->ContinentID == Map) return &itr->second; } } diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index e72227434cb..d85b5825de1 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1548,7 +1548,7 @@ bool SpellInfo::IsAbilityOfSkillType(uint32 skillType) const SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(Id); for (SkillLineAbilityMap::const_iterator _spell_idx = bounds.first; _spell_idx != bounds.second; ++_spell_idx) - if (_spell_idx->second->SkillLine == int32(skillType)) + if (_spell_idx->second->SkillLine == skillType) return true; return false; diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 7e6d0947a99..efe3c939252 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -119,7 +119,7 @@ bool IsPartOfSkillLine(uint32 skillId, uint32 spellId) { SkillLineAbilityMapBounds skillBounds = sSpellMgr->GetSkillLineAbilityMapBounds(spellId); for (SkillLineAbilityMap::const_iterator itr = skillBounds.first; itr != skillBounds.second; ++itr) - if (itr->second->SkillLine == int32(skillId)) + if (itr->second->SkillLine == skillId) return true; return false; diff --git a/src/server/game/Spells/TraitMgr.cpp b/src/server/game/Spells/TraitMgr.cpp index 80251a08dd3..207b44e5d8a 100644 --- a/src/server/game/Spells/TraitMgr.cpp +++ b/src/server/game/Spells/TraitMgr.cpp @@ -75,7 +75,7 @@ struct Tree TraitConfigType ConfigType = TraitConfigType::Invalid; }; -std::unordered_map<int32, NodeGroup> _traitGroups; +std::unordered_map<uint32, NodeGroup> _traitGroups; std::unordered_map<int32, Node> _traitNodes; std::unordered_map<int32, SubTree> _traitSubTrees; std::unordered_map<int32, Tree> _traitTrees; @@ -92,41 +92,41 @@ void Load() { _configIdGenerator = time(nullptr); - std::unordered_map<int32, std::vector<TraitCondEntry const*>> nodeEntryConditions; + std::unordered_map<uint32, std::vector<TraitCondEntry const*>> nodeEntryConditions; for (TraitNodeEntryXTraitCondEntry const* traitNodeEntryXTraitCondEntry : sTraitNodeEntryXTraitCondStore) if (TraitCondEntry const* traitCondEntry = sTraitCondStore.LookupEntry(traitNodeEntryXTraitCondEntry->TraitCondID)) nodeEntryConditions[traitNodeEntryXTraitCondEntry->TraitNodeEntryID].push_back(traitCondEntry); - std::unordered_map<int32, std::vector<TraitCostEntry const*>> nodeEntryCosts; + std::unordered_map<uint32, std::vector<TraitCostEntry const*>> nodeEntryCosts; for (TraitNodeEntryXTraitCostEntry const* traitNodeEntryXTraitCostEntry : sTraitNodeEntryXTraitCostStore) if (TraitCostEntry const* traitCostEntry = sTraitCostStore.LookupEntry(traitNodeEntryXTraitCostEntry->TraitCostID)) nodeEntryCosts[traitNodeEntryXTraitCostEntry->TraitNodeEntryID].push_back(traitCostEntry); - std::unordered_map<int32, std::vector<TraitCondEntry const*>> nodeGroupConditions; + std::unordered_map<uint32, std::vector<TraitCondEntry const*>> nodeGroupConditions; for (TraitNodeGroupXTraitCondEntry const* traitNodeGroupXTraitCondEntry : sTraitNodeGroupXTraitCondStore) if (TraitCondEntry const* traitCondEntry = sTraitCondStore.LookupEntry(traitNodeGroupXTraitCondEntry->TraitCondID)) nodeGroupConditions[traitNodeGroupXTraitCondEntry->TraitNodeGroupID].push_back(traitCondEntry); - std::unordered_map<int32, std::vector<TraitCostEntry const*>> nodeGroupCosts; + std::unordered_map<uint32, std::vector<TraitCostEntry const*>> nodeGroupCosts; for (TraitNodeGroupXTraitCostEntry const* traitNodeGroupXTraitCostEntry : sTraitNodeGroupXTraitCostStore) if (TraitCostEntry const* traitCondEntry = sTraitCostStore.LookupEntry(traitNodeGroupXTraitCostEntry->TraitCostID)) nodeGroupCosts[traitNodeGroupXTraitCostEntry->TraitNodeGroupID].push_back(traitCondEntry); - std::unordered_multimap<int32, int32> nodeGroups; + std::unordered_multimap<int32, uint32> nodeGroups; for (TraitNodeGroupXTraitNodeEntry const* traitNodeGroupXTraitNodeEntry : sTraitNodeGroupXTraitNodeStore) nodeGroups.emplace(traitNodeGroupXTraitNodeEntry->TraitNodeID, traitNodeGroupXTraitNodeEntry->TraitNodeGroupID); - std::unordered_map<int32, std::vector<TraitCondEntry const*>> nodeConditions; + std::unordered_map<uint32, std::vector<TraitCondEntry const*>> nodeConditions; for (TraitNodeXTraitCondEntry const* traitNodeXTraitCondEntry : sTraitNodeXTraitCondStore) if (TraitCondEntry const* traitCondEntry = sTraitCondStore.LookupEntry(traitNodeXTraitCondEntry->TraitCondID)) nodeConditions[traitNodeXTraitCondEntry->TraitNodeID].push_back(traitCondEntry); - std::unordered_map<int32, std::vector<TraitCostEntry const*>> nodeCosts; + std::unordered_map<uint32, std::vector<TraitCostEntry const*>> nodeCosts; for (TraitNodeXTraitCostEntry const* traitNodeXTraitCostEntry : sTraitNodeXTraitCostStore) if (TraitCostEntry const* traitCostEntry = sTraitCostStore.LookupEntry(traitNodeXTraitCostEntry->TraitCostID)) nodeCosts[traitNodeXTraitCostEntry->TraitNodeID].push_back(traitCostEntry); - std::unordered_multimap<int32, TraitNodeEntryEntry const*> nodeEntries; + std::unordered_multimap<uint32, TraitNodeEntryEntry const*> nodeEntries; for (TraitNodeXTraitNodeEntryEntry const* traitNodeXTraitNodeEntryEntry : sTraitNodeXTraitNodeEntryStore) if (TraitNodeEntryEntry const* traitNodeEntryEntry = sTraitNodeEntryStore.LookupEntry(traitNodeXTraitNodeEntryEntry->TraitNodeEntryID)) nodeEntries.emplace(traitNodeXTraitNodeEntryEntry->TraitNodeID, traitNodeEntryEntry); @@ -136,7 +136,7 @@ void Load() if (TraitCostEntry const* traitCostEntry = sTraitCostStore.LookupEntry(traitTreeXTraitCostEntry->TraitCostID)) treeCosts[traitTreeXTraitCostEntry->TraitTreeID].push_back(traitCostEntry); - std::unordered_map<int32, std::vector<TraitTreeXTraitCurrencyEntry const*>> treeCurrencies; + std::unordered_map<uint32, std::vector<TraitTreeXTraitCurrencyEntry const*>> treeCurrencies; for (TraitTreeXTraitCurrencyEntry const* traitTreeXTraitCurrencyEntry : sTraitTreeXTraitCurrencyStore) if (sTraitCurrencyStore.HasRecord(traitTreeXTraitCurrencyEntry->TraitCurrencyID)) treeCurrencies[traitTreeXTraitCurrencyEntry->TraitTreeID].push_back(traitTreeXTraitCurrencyEntry); @@ -294,7 +294,7 @@ void Load() for (TraitDefinitionEffectPointsEntry const* traitDefinitionEffectPoints : sTraitDefinitionEffectPointsStore) _traitDefinitionEffectPointModifiers[traitDefinitionEffectPoints->TraitDefinitionID].push_back(traitDefinitionEffectPoints); - std::unordered_map<int32, std::vector<TraitTreeLoadoutEntryEntry const*>> traitTreeLoadoutEntries; + std::unordered_map<uint32, std::vector<TraitTreeLoadoutEntryEntry const*>> traitTreeLoadoutEntries; for (TraitTreeLoadoutEntryEntry const* traitTreeLoadoutEntry : sTraitTreeLoadoutEntryStore) traitTreeLoadoutEntries[traitTreeLoadoutEntry->TraitTreeLoadoutID].push_back(traitTreeLoadoutEntry); @@ -302,7 +302,7 @@ void Load() { if (std::vector<TraitTreeLoadoutEntryEntry const*>* entries = Trinity::Containers::MapGetValuePtr(traitTreeLoadoutEntries, traitTreeLoadout->ID)) { - std::ranges::sort(*entries, std::ranges::less(), &TraitTreeLoadoutEntryEntry::OrderIndex); + std::ranges::sort(*entries, {}, & TraitTreeLoadoutEntryEntry::OrderIndex); // there should be only one loadout per spec, we take last one encountered _traitTreeLoadoutsByChrSpecialization[traitTreeLoadout->ChrSpecializationID] = std::move(*entries); } |