aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.cpp212
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.h124
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommandArgs.cpp3
-rw-r--r--src/server/game/Chat/HyperlinkTags.cpp70
-rw-r--r--src/server/game/Chat/Hyperlinks.cpp87
-rw-r--r--src/server/game/Chat/Hyperlinks.h70
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h655
-rw-r--r--src/server/game/DataStores/DB2Stores.cpp200
-rw-r--r--src/server/game/DataStores/DB2Stores.h38
-rw-r--r--src/server/game/DataStores/DB2Structure.h483
-rw-r--r--src/server/game/DataStores/DBCEnums.h37
-rw-r--r--src/server/game/Entities/Item/Item.cpp8
-rw-r--r--src/server/game/Entities/Item/Item.h1
-rw-r--r--src/server/game/Entities/Player/Player.h3
-rw-r--r--src/server/game/Handlers/AdventureJournalHandler.cpp67
-rw-r--r--src/server/game/Handlers/AdventureMapHandler.cpp47
-rw-r--r--src/server/game/Handlers/GarrisonHandler.cpp44
-rw-r--r--src/server/game/Server/Packets/AdventureJournalPackets.cpp54
-rw-r--r--src/server/game/Server/Packets/AdventureJournalPackets.h66
-rw-r--r--src/server/game/Server/Packets/AllPackets.h2
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp484
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h443
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp107
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h107
-rw-r--r--src/server/game/Server/WorldSession.h26
25 files changed, 5 insertions, 3433 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp
index 0f2aa515a65..9302f0d6cb4 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.cpp
+++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp
@@ -49,22 +49,6 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_ACHIEVEMENT_CATEGORY, "SELECT ID, Name_lang FROM achievement_category_locale WHERE (`VerifiedBuild` > 0) = ?"
" AND locale = ?", CONNECTION_SYNCH);
- // AdventureJournal.db2
- PrepareStatement(HOTFIX_SEL_ADVENTURE_JOURNAL, "SELECT ID, Name, Description, ButtonText, RewardDescription, ContinueDescription, Type, "
- "PlayerConditionID, Flags, ButtonActionType, TextureFileDataID, LfgDungeonID, QuestID, BattleMasterListID, PriorityMin, PriorityMax, ItemID, "
- "ItemQuantity, CurrencyType, CurrencyQuantity, UiMapID, BonusPlayerConditionID1, BonusPlayerConditionID2, BonusValue1, BonusValue2"
- " FROM adventure_journal WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ADVENTURE_JOURNAL, "SELECT MAX(ID) + 1 FROM adventure_journal", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_ADVENTURE_JOURNAL, "SELECT ID, Name_lang, Description_lang, ButtonText_lang, RewardDescription_lang, "
- "ContinueDescription_lang FROM adventure_journal_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // AdventureMapPoi.db2
- PrepareStatement(HOTFIX_SEL_ADVENTURE_MAP_POI, "SELECT ID, Title, Description, WorldPositionX, WorldPositionY, Type, PlayerConditionID, QuestID, "
- "LfgDungeonID, RewardItemID, UiTextureAtlasMemberID, UiTextureKitID, MapID, AreaTableID FROM adventure_map_poi WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ADVENTURE_MAP_POI, "SELECT MAX(ID) + 1 FROM adventure_map_poi", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_ADVENTURE_MAP_POI, "SELECT ID, Title_lang, Description_lang FROM adventure_map_poi_locale"
- " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
// AnimationData.db2
PrepareStatement(HOTFIX_SEL_ANIMATION_DATA, "SELECT ID, Fallback, BehaviorTier, BehaviorID, Flags1, Flags2 FROM animation_data"
" WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
@@ -102,125 +86,12 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARMOR_LOCATION, "SELECT MAX(ID) + 1 FROM armor_location", CONNECTION_SYNCH);
- // Artifact.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT, "SELECT Name, ID, UiTextureKitID, UiNameColor, UiBarOverlayColor, UiBarBackgroundColor, "
- "ChrSpecializationID, Flags, ArtifactCategoryID, UiModelSceneID, SpellVisualKitID FROM artifact WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT, "SELECT MAX(ID) + 1 FROM artifact", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT, "SELECT ID, Name_lang FROM artifact_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // ArtifactAppearance.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT Name, ID, ArtifactAppearanceSetID, DisplayIndex, UnlockPlayerConditionID, "
- "ItemAppearanceModifierID, UiSwatchColor, UiModelSaturation, UiModelOpacity, OverrideShapeshiftFormID, OverrideShapeshiftDisplayID, "
- "UiItemAppearanceID, UiAltItemAppearanceID, Flags, UiCameraID FROM artifact_appearance WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT MAX(ID) + 1 FROM artifact_appearance", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT ID, Name_lang FROM artifact_appearance_locale WHERE (`VerifiedBuild` > 0) = ?"
- " AND locale = ?", CONNECTION_SYNCH);
-
- // ArtifactAppearanceSet.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_APPEARANCE_SET, "SELECT Name, Description, ID, DisplayIndex, UiCameraID, AltHandUICameraID, "
- "ForgeAttachmentOverride, Flags, ArtifactID FROM artifact_appearance_set WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE_SET, "SELECT MAX(ID) + 1 FROM artifact_appearance_set", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE_SET, "SELECT ID, Name_lang, Description_lang FROM artifact_appearance_set_locale"
- " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // ArtifactCategory.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_CATEGORY, "SELECT ID, XpMultCurrencyID, XpMultCurveID FROM artifact_category WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_CATEGORY, "SELECT MAX(ID) + 1 FROM artifact_category", CONNECTION_SYNCH);
-
- // ArtifactPower.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER, "SELECT DisplayPosX, DisplayPosY, ID, ArtifactID, MaxPurchasableRank, Label, Flags, Tier"
- " FROM artifact_power WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_POWER, "SELECT MAX(ID) + 1 FROM artifact_power", CONNECTION_SYNCH);
-
- // ArtifactPowerLink.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER_LINK, "SELECT ID, PowerA, PowerB FROM artifact_power_link WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_POWER_LINK, "SELECT MAX(ID) + 1 FROM artifact_power_link", CONNECTION_SYNCH);
-
- // ArtifactPowerPicker.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER_PICKER, "SELECT ID, PlayerConditionID FROM artifact_power_picker WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_POWER_PICKER, "SELECT MAX(ID) + 1 FROM artifact_power_picker", CONNECTION_SYNCH);
-
- // ArtifactPowerRank.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER_RANK, "SELECT ID, RankIndex, SpellID, ItemBonusListID, AuraPointsOverride, ArtifactPowerID"
- " FROM artifact_power_rank WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_POWER_RANK, "SELECT MAX(ID) + 1 FROM artifact_power_rank", CONNECTION_SYNCH);
-
- // ArtifactQuestXp.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_QUEST_XP, "SELECT ID, Difficulty1, Difficulty2, Difficulty3, Difficulty4, Difficulty5, Difficulty6, "
- "Difficulty7, Difficulty8, Difficulty9, Difficulty10 FROM artifact_quest_xp WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_QUEST_XP, "SELECT MAX(ID) + 1 FROM artifact_quest_xp", CONNECTION_SYNCH);
-
- // ArtifactTier.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_TIER, "SELECT ID, ArtifactTier, MaxNumTraits, MaxArtifactKnowledge, KnowledgePlayerCondition, "
- "MinimumEmpowerKnowledge FROM artifact_tier WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_TIER, "SELECT MAX(ID) + 1 FROM artifact_tier", CONNECTION_SYNCH);
-
- // ArtifactUnlock.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_UNLOCK, "SELECT ID, PowerID, PowerRank, ItemBonusListID, PlayerConditionID, ArtifactID FROM artifact_unlock"
- " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_ARTIFACT_UNLOCK, "SELECT MAX(ID) + 1 FROM artifact_unlock", CONNECTION_SYNCH);
-
// AuctionHouse.db2
PrepareStatement(HOTFIX_SEL_AUCTION_HOUSE, "SELECT ID, Name, FactionID, DepositRate, ConsignmentRate FROM auction_house"
" WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_AUCTION_HOUSE, "SELECT MAX(ID) + 1 FROM auction_house", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_AUCTION_HOUSE, "SELECT ID, Name_lang FROM auction_house_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
- // AzeriteEmpoweredItem.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_EMPOWERED_ITEM, "SELECT ID, ItemID, AzeriteTierUnlockSetID, AzeritePowerSetID FROM azerite_empowered_item"
- " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_EMPOWERED_ITEM, "SELECT MAX(ID) + 1 FROM azerite_empowered_item", CONNECTION_SYNCH);
-
- // AzeriteEssence.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_ESSENCE, "SELECT ID, Name, Description, SpecSetID FROM azerite_essence WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_ESSENCE, "SELECT MAX(ID) + 1 FROM azerite_essence", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_AZERITE_ESSENCE, "SELECT ID, Name_lang, Description_lang FROM azerite_essence_locale"
- " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // AzeriteEssencePower.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_ESSENCE_POWER, "SELECT ID, SourceAlliance, SourceHorde, AzeriteEssenceID, Tier, MajorPowerDescription, "
- "MinorPowerDescription, MajorPowerActual, MinorPowerActual FROM azerite_essence_power WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_ESSENCE_POWER, "SELECT MAX(ID) + 1 FROM azerite_essence_power", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_AZERITE_ESSENCE_POWER, "SELECT ID, SourceAlliance_lang, SourceHorde_lang FROM azerite_essence_power_locale"
- " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // AzeriteItem.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_ITEM, "SELECT ID, ItemID FROM azerite_item WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_ITEM, "SELECT MAX(ID) + 1 FROM azerite_item", CONNECTION_SYNCH);
-
- // AzeriteItemMilestonePower.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER, "SELECT ID, RequiredLevel, AzeritePowerID, Type, AutoUnlock"
- " FROM azerite_item_milestone_power WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER, "SELECT MAX(ID) + 1 FROM azerite_item_milestone_power", CONNECTION_SYNCH);
-
- // AzeriteKnowledgeMultiplier.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER, "SELECT ID, Multiplier FROM azerite_knowledge_multiplier WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER, "SELECT MAX(ID) + 1 FROM azerite_knowledge_multiplier", CONNECTION_SYNCH);
-
- // AzeriteLevelInfo.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_LEVEL_INFO, "SELECT ID, BaseExperienceToNextLevel, MinimumExperienceToNextLevel, ItemLevel"
- " FROM azerite_level_info WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_LEVEL_INFO, "SELECT MAX(ID) + 1 FROM azerite_level_info", CONNECTION_SYNCH);
-
- // AzeritePower.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_POWER, "SELECT ID, SpellID, ItemBonusListID, SpecSetID, Flags FROM azerite_power"
- " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_POWER, "SELECT MAX(ID) + 1 FROM azerite_power", CONNECTION_SYNCH);
-
- // AzeritePowerSetMember.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_POWER_SET_MEMBER, "SELECT ID, AzeritePowerSetID, AzeritePowerID, Class, Tier, OrderIndex"
- " FROM azerite_power_set_member WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_POWER_SET_MEMBER, "SELECT MAX(ID) + 1 FROM azerite_power_set_member", CONNECTION_SYNCH);
-
- // AzeriteTierUnlock.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_TIER_UNLOCK, "SELECT ID, ItemCreationContext, Tier, AzeriteLevel, AzeriteTierUnlockSetID"
- " FROM azerite_tier_unlock WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_TIER_UNLOCK, "SELECT MAX(ID) + 1 FROM azerite_tier_unlock", CONNECTION_SYNCH);
-
- // AzeriteTierUnlockSet.db2
- PrepareStatement(HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET, "SELECT ID, Flags FROM azerite_tier_unlock_set WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET, "SELECT MAX(ID) + 1 FROM azerite_tier_unlock_set", CONNECTION_SYNCH);
-
// BankBagSlotPrices.db2
PrepareStatement(HOTFIX_SEL_BANK_BAG_SLOT_PRICES, "SELECT ID, Cost FROM bank_bag_slot_prices WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_BANK_BAG_SLOT_PRICES, "SELECT MAX(ID) + 1 FROM bank_bag_slot_prices", CONNECTION_SYNCH);
@@ -621,89 +492,6 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_MAX_ID_STMT(HOTFIX_SEL_GAMEOBJECTS, "SELECT MAX(ID) + 1 FROM gameobjects", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_GAMEOBJECTS, "SELECT ID, Name_lang FROM gameobjects_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
- // GarrAbility.db2
- PrepareStatement(HOTFIX_SEL_GARR_ABILITY, "SELECT Name, Description, ID, GarrAbilityCategoryID, GarrFollowerTypeID, IconFileDataID, "
- "FactionChangeGarrAbilityID, Flags FROM garr_ability WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_ABILITY, "SELECT MAX(ID) + 1 FROM garr_ability", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_ABILITY, "SELECT ID, Name_lang, Description_lang FROM garr_ability_locale WHERE (`VerifiedBuild` > 0) = ?"
- " AND locale = ?", CONNECTION_SYNCH);
-
- // GarrBuilding.db2
- PrepareStatement(HOTFIX_SEL_GARR_BUILDING, "SELECT ID, HordeName, AllianceName, Description, Tooltip, GarrTypeID, BuildingType, "
- "HordeGameObjectID, AllianceGameObjectID, GarrSiteID, UpgradeLevel, BuildSeconds, CurrencyTypeID, CurrencyQty, HordeUiTextureKitID, "
- "AllianceUiTextureKitID, IconFileDataID, AllianceSceneScriptPackageID, HordeSceneScriptPackageID, MaxAssignments, ShipmentCapacity, "
- "GarrAbilityID, BonusGarrAbilityID, GoldCost, Flags FROM garr_building WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_BUILDING, "SELECT MAX(ID) + 1 FROM garr_building", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_BUILDING, "SELECT ID, HordeName_lang, AllianceName_lang, Description_lang, Tooltip_lang"
- " FROM garr_building_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // GarrBuildingPlotInst.db2
- PrepareStatement(HOTFIX_SEL_GARR_BUILDING_PLOT_INST, "SELECT MapOffsetX, MapOffsetY, ID, GarrBuildingID, GarrSiteLevelPlotInstID, "
- "UiTextureAtlasMemberID FROM garr_building_plot_inst WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_BUILDING_PLOT_INST, "SELECT MAX(ID) + 1 FROM garr_building_plot_inst", CONNECTION_SYNCH);
-
- // GarrClassSpec.db2
- PrepareStatement(HOTFIX_SEL_GARR_CLASS_SPEC, "SELECT ClassSpec, ClassSpecMale, ClassSpecFemale, ID, UiTextureAtlasMemberID, GarrFollItemSetID, "
- "FollowerClassLimit, Flags FROM garr_class_spec WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_CLASS_SPEC, "SELECT MAX(ID) + 1 FROM garr_class_spec", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_CLASS_SPEC, "SELECT ID, ClassSpec_lang, ClassSpecMale_lang, ClassSpecFemale_lang FROM garr_class_spec_locale"
- " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // GarrFollower.db2
- PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER, "SELECT HordeSourceText, AllianceSourceText, TitleName, ID, GarrTypeID, GarrFollowerTypeID, "
- "HordeCreatureID, AllianceCreatureID, HordeGarrFollRaceID, AllianceGarrFollRaceID, HordeGarrClassSpecID, AllianceGarrClassSpecID, Quality, "
- "FollowerLevel, ItemLevelWeapon, ItemLevelArmor, HordeSourceTypeEnum, AllianceSourceTypeEnum, HordeIconFileDataID, AllianceIconFileDataID, "
- "HordeGarrFollItemSetID, AllianceGarrFollItemSetID, HordeUITextureKitID, AllianceUITextureKitID, Vitality, HordeFlavorGarrStringID, "
- "AllianceFlavorGarrStringID, HordeSlottingBroadcastTextID, AllySlottingBroadcastTextID, ChrClassID, Flags, Gender FROM garr_follower"
- " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_FOLLOWER, "SELECT MAX(ID) + 1 FROM garr_follower", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_FOLLOWER, "SELECT ID, HordeSourceText_lang, AllianceSourceText_lang, TitleName_lang FROM garr_follower_locale"
- " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // GarrFollowerXAbility.db2
- PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY, "SELECT ID, OrderIndex, FactionIndex, GarrAbilityID, GarrFollowerID"
- " FROM garr_follower_x_ability WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY, "SELECT MAX(ID) + 1 FROM garr_follower_x_ability", CONNECTION_SYNCH);
-
- // GarrMission.db2
- PrepareStatement(HOTFIX_SEL_GARR_MISSION, "SELECT Name, Location, Description, MapPosX, MapPosY, WorldPosX, WorldPosY, ID, GarrTypeID, "
- "GarrMissionTypeID, GarrFollowerTypeID, MaxFollowers, MissionCost, MissionCostCurrencyTypesID, OfferedGarrMissionTextureID, UiTextureKitID, "
- "EnvGarrMechanicID, EnvGarrMechanicTypeID, PlayerConditionID, TargetLevel, TargetItemLevel, MissionDuration, TravelDuration, OfferDuration, "
- "BaseCompletionChance, BaseFollowerXP, OvermaxRewardPackID, FollowerDeathChance, AreaID, Flags, GarrMissionSetID FROM garr_mission"
- " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_MISSION, "SELECT MAX(ID) + 1 FROM garr_mission", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_MISSION, "SELECT ID, Name_lang, Location_lang, Description_lang FROM garr_mission_locale"
- " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
- // GarrPlot.db2
- PrepareStatement(HOTFIX_SEL_GARR_PLOT, "SELECT ID, Name, PlotType, HordeConstructObjID, AllianceConstructObjID, Flags, UiCategoryID, "
- "UpgradeRequirement1, UpgradeRequirement2 FROM garr_plot WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_PLOT, "SELECT MAX(ID) + 1 FROM garr_plot", CONNECTION_SYNCH);
-
- // GarrPlotBuilding.db2
- PrepareStatement(HOTFIX_SEL_GARR_PLOT_BUILDING, "SELECT ID, GarrPlotID, GarrBuildingID FROM garr_plot_building WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_PLOT_BUILDING, "SELECT MAX(ID) + 1 FROM garr_plot_building", CONNECTION_SYNCH);
-
- // GarrPlotInstance.db2
- PrepareStatement(HOTFIX_SEL_GARR_PLOT_INSTANCE, "SELECT ID, Name, GarrPlotID FROM garr_plot_instance WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_PLOT_INSTANCE, "SELECT MAX(ID) + 1 FROM garr_plot_instance", CONNECTION_SYNCH);
-
- // GarrSiteLevel.db2
- PrepareStatement(HOTFIX_SEL_GARR_SITE_LEVEL, "SELECT ID, TownHallUiPosX, TownHallUiPosY, GarrSiteID, GarrLevel, MapID, UpgradeMovieID, "
- "UiTextureKitID, MaxBuildingLevel, UpgradeCost, UpgradeGoldCost FROM garr_site_level WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_SITE_LEVEL, "SELECT MAX(ID) + 1 FROM garr_site_level", CONNECTION_SYNCH);
-
- // GarrSiteLevelPlotInst.db2
- PrepareStatement(HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST, "SELECT ID, UiMarkerPosX, UiMarkerPosY, GarrSiteLevelID, GarrPlotInstanceID, UiMarkerSize"
- " FROM garr_site_level_plot_inst WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST, "SELECT MAX(ID) + 1 FROM garr_site_level_plot_inst", CONNECTION_SYNCH);
-
- // GarrTalentTree.db2
- PrepareStatement(HOTFIX_SEL_GARR_TALENT_TREE, "SELECT ID, Name, GarrTypeID, ClassID, MaxTiers, UiOrder, Flags, UiTextureKitID"
- " FROM garr_talent_tree WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
- PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_TALENT_TREE, "SELECT MAX(ID) + 1 FROM garr_talent_tree", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_TALENT_TREE, "SELECT ID, Name_lang FROM garr_talent_tree_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
-
// GemProperties.db2
PrepareStatement(HOTFIX_SEL_GEM_PROPERTIES, "SELECT ID, EnchantId, Type, MinItemLevel FROM gem_properties WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_GEM_PROPERTIES, "SELECT MAX(ID) + 1 FROM gem_properties", CONNECTION_SYNCH);
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h
index 9c1c4e4b9ad..aab81744a5e 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.h
+++ b/src/server/database/Database/Implementation/HotfixDatabase.h
@@ -39,14 +39,6 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_ACHIEVEMENT_CATEGORY_MAX_ID,
HOTFIX_SEL_ACHIEVEMENT_CATEGORY_LOCALE,
- HOTFIX_SEL_ADVENTURE_JOURNAL,
- HOTFIX_SEL_ADVENTURE_JOURNAL_MAX_ID,
- HOTFIX_SEL_ADVENTURE_JOURNAL_LOCALE,
-
- HOTFIX_SEL_ADVENTURE_MAP_POI,
- HOTFIX_SEL_ADVENTURE_MAP_POI_MAX_ID,
- HOTFIX_SEL_ADVENTURE_MAP_POI_LOCALE,
-
HOTFIX_SEL_ANIMATION_DATA,
HOTFIX_SEL_ANIMATION_DATA_MAX_ID,
@@ -70,81 +62,10 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_ARMOR_LOCATION,
HOTFIX_SEL_ARMOR_LOCATION_MAX_ID,
- HOTFIX_SEL_ARTIFACT,
- HOTFIX_SEL_ARTIFACT_MAX_ID,
- HOTFIX_SEL_ARTIFACT_LOCALE,
-
- HOTFIX_SEL_ARTIFACT_APPEARANCE,
- HOTFIX_SEL_ARTIFACT_APPEARANCE_MAX_ID,
- HOTFIX_SEL_ARTIFACT_APPEARANCE_LOCALE,
-
- HOTFIX_SEL_ARTIFACT_APPEARANCE_SET,
- HOTFIX_SEL_ARTIFACT_APPEARANCE_SET_MAX_ID,
- HOTFIX_SEL_ARTIFACT_APPEARANCE_SET_LOCALE,
-
- HOTFIX_SEL_ARTIFACT_CATEGORY,
- HOTFIX_SEL_ARTIFACT_CATEGORY_MAX_ID,
-
- HOTFIX_SEL_ARTIFACT_POWER,
- HOTFIX_SEL_ARTIFACT_POWER_MAX_ID,
-
- HOTFIX_SEL_ARTIFACT_POWER_LINK,
- HOTFIX_SEL_ARTIFACT_POWER_LINK_MAX_ID,
-
- HOTFIX_SEL_ARTIFACT_POWER_PICKER,
- HOTFIX_SEL_ARTIFACT_POWER_PICKER_MAX_ID,
-
- HOTFIX_SEL_ARTIFACT_POWER_RANK,
- HOTFIX_SEL_ARTIFACT_POWER_RANK_MAX_ID,
-
- HOTFIX_SEL_ARTIFACT_QUEST_XP,
- HOTFIX_SEL_ARTIFACT_QUEST_XP_MAX_ID,
-
- HOTFIX_SEL_ARTIFACT_TIER,
- HOTFIX_SEL_ARTIFACT_TIER_MAX_ID,
-
- HOTFIX_SEL_ARTIFACT_UNLOCK,
- HOTFIX_SEL_ARTIFACT_UNLOCK_MAX_ID,
-
HOTFIX_SEL_AUCTION_HOUSE,
HOTFIX_SEL_AUCTION_HOUSE_MAX_ID,
HOTFIX_SEL_AUCTION_HOUSE_LOCALE,
- HOTFIX_SEL_AZERITE_EMPOWERED_ITEM,
- HOTFIX_SEL_AZERITE_EMPOWERED_ITEM_MAX_ID,
-
- HOTFIX_SEL_AZERITE_ESSENCE,
- HOTFIX_SEL_AZERITE_ESSENCE_MAX_ID,
- HOTFIX_SEL_AZERITE_ESSENCE_LOCALE,
-
- HOTFIX_SEL_AZERITE_ESSENCE_POWER,
- HOTFIX_SEL_AZERITE_ESSENCE_POWER_MAX_ID,
- HOTFIX_SEL_AZERITE_ESSENCE_POWER_LOCALE,
-
- HOTFIX_SEL_AZERITE_ITEM,
- HOTFIX_SEL_AZERITE_ITEM_MAX_ID,
-
- HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER,
- HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER_MAX_ID,
-
- HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER,
- HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER_MAX_ID,
-
- HOTFIX_SEL_AZERITE_LEVEL_INFO,
- HOTFIX_SEL_AZERITE_LEVEL_INFO_MAX_ID,
-
- HOTFIX_SEL_AZERITE_POWER,
- HOTFIX_SEL_AZERITE_POWER_MAX_ID,
-
- HOTFIX_SEL_AZERITE_POWER_SET_MEMBER,
- HOTFIX_SEL_AZERITE_POWER_SET_MEMBER_MAX_ID,
-
- HOTFIX_SEL_AZERITE_TIER_UNLOCK,
- HOTFIX_SEL_AZERITE_TIER_UNLOCK_MAX_ID,
-
- HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET,
- HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET_MAX_ID,
-
HOTFIX_SEL_BANK_BAG_SLOT_PRICES,
HOTFIX_SEL_BANK_BAG_SLOT_PRICES_MAX_ID,
@@ -359,51 +280,6 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_GAMEOBJECTS_MAX_ID,
HOTFIX_SEL_GAMEOBJECTS_LOCALE,
- HOTFIX_SEL_GARR_ABILITY,
- HOTFIX_SEL_GARR_ABILITY_MAX_ID,
- HOTFIX_SEL_GARR_ABILITY_LOCALE,
-
- HOTFIX_SEL_GARR_BUILDING,
- HOTFIX_SEL_GARR_BUILDING_MAX_ID,
- HOTFIX_SEL_GARR_BUILDING_LOCALE,
-
- HOTFIX_SEL_GARR_BUILDING_PLOT_INST,
- HOTFIX_SEL_GARR_BUILDING_PLOT_INST_MAX_ID,
-
- HOTFIX_SEL_GARR_CLASS_SPEC,
- HOTFIX_SEL_GARR_CLASS_SPEC_MAX_ID,
- HOTFIX_SEL_GARR_CLASS_SPEC_LOCALE,
-
- HOTFIX_SEL_GARR_FOLLOWER,
- HOTFIX_SEL_GARR_FOLLOWER_MAX_ID,
- HOTFIX_SEL_GARR_FOLLOWER_LOCALE,
-
- HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY,
- HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY_MAX_ID,
-
- HOTFIX_SEL_GARR_MISSION,
- HOTFIX_SEL_GARR_MISSION_MAX_ID,
- HOTFIX_SEL_GARR_MISSION_LOCALE,
-
- HOTFIX_SEL_GARR_PLOT,
- HOTFIX_SEL_GARR_PLOT_MAX_ID,
-
- HOTFIX_SEL_GARR_PLOT_BUILDING,
- HOTFIX_SEL_GARR_PLOT_BUILDING_MAX_ID,
-
- HOTFIX_SEL_GARR_PLOT_INSTANCE,
- HOTFIX_SEL_GARR_PLOT_INSTANCE_MAX_ID,
-
- HOTFIX_SEL_GARR_SITE_LEVEL,
- HOTFIX_SEL_GARR_SITE_LEVEL_MAX_ID,
-
- HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST,
- HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST_MAX_ID,
-
- HOTFIX_SEL_GARR_TALENT_TREE,
- HOTFIX_SEL_GARR_TALENT_TREE_MAX_ID,
- HOTFIX_SEL_GARR_TALENT_TREE_LOCALE,
-
HOTFIX_SEL_GEM_PROPERTIES,
HOTFIX_SEL_GEM_PROPERTIES_MAX_ID,
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandArgs.cpp b/src/server/game/Chat/ChatCommands/ChatCommandArgs.cpp
index 69283d82e5e..c0cc5abd121 100644
--- a/src/server/game/Chat/ChatCommands/ChatCommandArgs.cpp
+++ b/src/server/game/Chat/ChatCommands/ChatCommandArgs.cpp
@@ -114,7 +114,6 @@ struct SpellInfoVisitor
{
using value_type = SpellInfo const*;
- value_type operator()(Hyperlink<apower> artifactPower) const { return operator()(artifactPower->ArtifactPower->SpellID); }
value_type operator()(Hyperlink<enchant> enchant) const { return enchant; }
value_type operator()(Hyperlink<mount> const& mount) const { return mount->Spell; }
value_type operator()(Hyperlink<spell> spell) const { return spell->Spell; }
@@ -125,7 +124,7 @@ struct SpellInfoVisitor
};
ChatCommandResult Trinity::Impl::ChatCommands::ArgInfo<SpellInfo const*>::TryConsume(SpellInfo const*& data, ChatHandler const* handler, std::string_view args)
{
- Variant<Hyperlink<apower>, Hyperlink<enchant>, Hyperlink<mount>, Hyperlink<spell>, Hyperlink<talent>, Hyperlink<trade>, uint32> val;
+ Variant<Hyperlink<enchant>, Hyperlink<mount>, Hyperlink<spell>, Hyperlink<talent>, Hyperlink<trade>, uint32> val;
ChatCommandResult result = ArgInfo<decltype(val)>::TryConsume(val, handler, args);
if (!result || (data = val.visit(SpellInfoVisitor())))
return result;
diff --git a/src/server/game/Chat/HyperlinkTags.cpp b/src/server/game/Chat/HyperlinkTags.cpp
index 91f35b95314..43727f98d61 100644
--- a/src/server/game/Chat/HyperlinkTags.cpp
+++ b/src/server/game/Chat/HyperlinkTags.cpp
@@ -106,30 +106,6 @@ bool Trinity::Hyperlinks::LinkTags::api::StoreTo(ApiLinkData& val, std::string_v
return true;
}
-bool Trinity::Hyperlinks::LinkTags::apower::StoreTo(ArtifactPowerLinkData& val, std::string_view text)
-{
- HyperlinkDataTokenizer t(text);
- uint32 artifactPowerId;
- if (!(t.TryConsumeTo(artifactPowerId) && t.TryConsumeTo(val.PurchasedRank) && t.TryConsumeTo(val.CurrentRankWithBonus) && t.IsEmpty()))
- return false;
- if (!sArtifactPowerStore.LookupEntry(artifactPowerId))
- return false;
- val.ArtifactPower = sDB2Manager.GetArtifactPowerRank(artifactPowerId, std::max<uint8>(val.CurrentRankWithBonus, 1));
- if (val.ArtifactPower)
- return false;
- return true;
-}
-
-bool Trinity::Hyperlinks::LinkTags::azessence::StoreTo(AzeriteEssenceLinkData& val, std::string_view text)
-{
- HyperlinkDataTokenizer t(text);
- uint32 azeriteEssenceId;
- if (!t.TryConsumeTo(azeriteEssenceId))
- return false;
- return (val.Essence = sAzeriteEssenceStore.LookupEntry(azeriteEssenceId)) && t.TryConsumeTo(val.Rank)
- && sDB2Manager.GetAzeriteEssencePower(azeriteEssenceId, val.Rank) && t.IsEmpty();
-}
-
bool Trinity::Hyperlinks::LinkTags::battlepet::StoreTo(BattlePetLinkData& val, std::string_view text)
{
HyperlinkDataTokenizer t(text);
@@ -202,52 +178,6 @@ bool Trinity::Hyperlinks::LinkTags::enchant::StoreTo(SpellInfo const*& val, std:
return !!(val = sSpellMgr->GetSpellInfo(spellId, DIFFICULTY_NONE)) && val->HasAttribute(SPELL_ATTR0_IS_TRADESKILL);
}
-bool Trinity::Hyperlinks::LinkTags::garrfollower::StoreTo(GarrisonFollowerLinkData& val, std::string_view text)
-{
- HyperlinkDataTokenizer t(text);
- uint32 garrFollowerId;
- if (!t.TryConsumeTo(garrFollowerId))
- return false;
-
- val.Follower = sGarrFollowerStore.LookupEntry(garrFollowerId);
- if (!val.Follower || !t.TryConsumeTo(val.Quality) || val.Quality >= MAX_ITEM_QUALITY || !t.TryConsumeTo(val.Level) || !t.TryConsumeTo(val.ItemLevel)
- || !t.TryConsumeTo(val.Abilities[0]) || !t.TryConsumeTo(val.Abilities[1]) || !t.TryConsumeTo(val.Abilities[2]) || !t.TryConsumeTo(val.Abilities[3])
- || !t.TryConsumeTo(val.Traits[0]) || !t.TryConsumeTo(val.Traits[1]) || !t.TryConsumeTo(val.Traits[2]) || !t.TryConsumeTo(val.Traits[3])
- || !t.TryConsumeTo(val.Specialization) || !t.IsEmpty())
- return false;
-
- for (uint32 ability : val.Abilities)
- if (ability && !sGarrAbilityStore.LookupEntry(ability))
- return false;
-
- for (uint32 trait : val.Traits)
- if (trait && !sGarrAbilityStore.LookupEntry(trait))
- return false;
-
- if (val.Specialization && !sGarrAbilityStore.LookupEntry(val.Specialization))
- return false;
-
- return true;
-}
-
-bool Trinity::Hyperlinks::LinkTags::garrfollowerability::StoreTo(GarrAbilityEntry const*& val, std::string_view text)
-{
- HyperlinkDataTokenizer t(text);
- uint32 garrAbilityId;
- if (!t.TryConsumeTo(garrAbilityId))
- return false;
- return !!(val = sGarrAbilityStore.LookupEntry(garrAbilityId)) && t.IsEmpty();
-}
-
-bool Trinity::Hyperlinks::LinkTags::garrmission::StoreTo(GarrisonMissionLinkData& val, std::string_view text)
-{
- HyperlinkDataTokenizer t(text);
- uint32 garrMissionId;
- if (!t.TryConsumeTo(garrMissionId))
- return false;
- return !!(val.Mission = sGarrMissionStore.LookupEntry(garrMissionId)) && t.TryConsumeTo(val.DbID) && t.IsEmpty();
-}
-
bool Trinity::Hyperlinks::LinkTags::instancelock::StoreTo(InstanceLockLinkData& val, std::string_view text)
{
HyperlinkDataTokenizer t(text);
diff --git a/src/server/game/Chat/Hyperlinks.cpp b/src/server/game/Chat/Hyperlinks.cpp
index 771c1fe59e4..88a2374740e 100644
--- a/src/server/game/Chat/Hyperlinks.cpp
+++ b/src/server/game/Chat/Hyperlinks.cpp
@@ -170,39 +170,6 @@ struct LinkValidator<LinkTags::achievement>
};
template <>
-struct LinkValidator<LinkTags::apower>
-{
- static bool IsTextValid(ArtifactPowerLinkData const& data, std::string_view text)
- {
- if (SpellInfo const* info = sSpellMgr->GetSpellInfo(data.ArtifactPower->SpellID, DIFFICULTY_NONE))
- return LinkValidator<LinkTags::spell>::IsTextValid(info, text);
- return false;
- }
-
- static bool IsColorValid(ArtifactPowerLinkData const&, HyperlinkColor c)
- {
- return c == CHAT_LINK_COLOR_ARTIFACT_POWER;
- }
-};
-
-template <>
-struct LinkValidator<LinkTags::azessence>
-{
- static bool IsTextValid(AzeriteEssenceLinkData const& data, std::string_view text)
- {
- for (LocaleConstant i = LOCALE_enUS; i < TOTAL_LOCALES; i = LocaleConstant(i + 1))
- if (data.Essence->Name[i] == text)
- return true;
- return false;
- }
-
- static bool IsColorValid(AzeriteEssenceLinkData const& data, HyperlinkColor c)
- {
- return c == ItemQualityColors[data.Rank + 1];
- }
-};
-
-template <>
struct LinkValidator<LinkTags::battlepet>
{
static bool IsTextValid(BattlePetLinkData const& data, std::string_view text)
@@ -291,55 +258,6 @@ struct LinkValidator<LinkTags::enchant>
};
template <>
-struct LinkValidator<LinkTags::garrfollower>
-{
- static bool IsTextValid(GarrisonFollowerLinkData const& data, std::string_view text)
- {
- return IsCreatureNameValid(data.Follower->HordeCreatureID, text)
- || IsCreatureNameValid(data.Follower->AllianceCreatureID, text);
- }
-
- static bool IsColorValid(GarrisonFollowerLinkData const& data, HyperlinkColor c)
- {
- return c == ItemQualityColors[data.Quality];
- }
-};
-
-template <>
-struct LinkValidator<LinkTags::garrfollowerability>
-{
- static bool IsTextValid(GarrAbilityEntry const* ability, std::string_view text)
- {
- for (LocaleConstant i = LOCALE_enUS; i < TOTAL_LOCALES; i = LocaleConstant(i + 1))
- if (ability->Name[i] == text)
- return true;
- return false;
- }
-
- static bool IsColorValid(GarrAbilityEntry const*, HyperlinkColor c)
- {
- return c == CHAT_LINK_COLOR_GARR_ABILITY;
- }
-};
-
-template <>
-struct LinkValidator<LinkTags::garrmission>
-{
- static bool IsTextValid(GarrisonMissionLinkData const& data, std::string_view text)
- {
- for (LocaleConstant i = LOCALE_enUS; i < TOTAL_LOCALES; i = LocaleConstant(i + 1))
- if (data.Mission->Name[i] == text)
- return true;
- return false;
- }
-
- static bool IsColorValid(GarrisonMissionLinkData const&, HyperlinkColor c)
- {
- return c == QuestDifficultyColors[2];
- }
-};
-
-template <>
struct LinkValidator<LinkTags::instancelock>
{
static bool IsTextValid(InstanceLockLinkData const& data, std::string_view text)
@@ -622,8 +540,6 @@ static bool ValidateLinkInfo(HyperlinkInfo const& info)
using namespace LinkTags;
TryValidateAs(achievement);
TryValidateAs(api);
- TryValidateAs(apower);
- TryValidateAs(azessence);
TryValidateAs(area);
TryValidateAs(areatrigger);
TryValidateAs(battlepet);
@@ -638,9 +554,6 @@ static bool ValidateLinkInfo(HyperlinkInfo const& info)
TryValidateAs(gameevent);
TryValidateAs(gameobject);
TryValidateAs(gameobject_entry);
- TryValidateAs(garrfollower);
- TryValidateAs(garrfollowerability);
- TryValidateAs(garrmission);
TryValidateAs(instancelock);
TryValidateAs(item);
TryValidateAs(itemset);
diff --git a/src/server/game/Chat/Hyperlinks.h b/src/server/game/Chat/Hyperlinks.h
index db9e63063b4..e66211ced1f 100644
--- a/src/server/game/Chat/Hyperlinks.h
+++ b/src/server/game/Chat/Hyperlinks.h
@@ -25,16 +25,11 @@
#include <string_view>
struct AchievementEntry;
-struct ArtifactPowerRankEntry;
-struct AzeriteEssenceEntry;
struct BattlePetAbilityEntry;
struct BattlePetSpeciesEntry;
struct ChrSpecializationEntry;
struct CurrencyContainerEntry;
struct CurrencyTypesEntry;
-struct GarrAbilityEntry;
-struct GarrFollowerEntry;
-struct GarrMissionEntry;
struct GlyphPropertiesEntry;
struct ItemModifiedAppearanceEntry;
struct ItemNameDescriptionEntry;
@@ -71,19 +66,6 @@ namespace Trinity::Hyperlinks
std::string_view Parent;
};
- struct ArtifactPowerLinkData
- {
- ArtifactPowerRankEntry const* ArtifactPower = nullptr;
- uint8 PurchasedRank = 0;
- uint8 CurrentRankWithBonus = 0;
- };
-
- struct AzeriteEssenceLinkData
- {
- AzeriteEssenceEntry const* Essence = nullptr;
- uint8 Rank = 0;
- };
-
struct BattlePetLinkData
{
BattlePetSpeciesEntry const* Species = nullptr;
@@ -134,23 +116,6 @@ namespace Trinity::Hyperlinks
std::vector<Dungeon> Dungeons;
};
- struct GarrisonFollowerLinkData
- {
- GarrFollowerEntry const* Follower = nullptr;
- uint32 Quality = 0;
- uint32 Level = 0;
- uint32 ItemLevel = 0;
- std::array<uint32, 4> Abilities = { };
- uint32 Traits[4] = { };
- uint32 Specialization = 0;
- };
-
- struct GarrisonMissionLinkData
- {
- GarrMissionEntry const* Mission = nullptr;
- uint64 DbID = 0;
- };
-
struct InstanceLockLinkData
{
ObjectGuid Owner;
@@ -337,20 +302,6 @@ namespace Trinity::Hyperlinks
static bool StoreTo(ApiLinkData& val, std::string_view text);
};
- struct TC_GAME_API apower
- {
- using value_type = ArtifactPowerLinkData const&;
- static constexpr std::string_view tag() { return "apower"; }
- static bool StoreTo(ArtifactPowerLinkData& val, std::string_view text);
- };
-
- struct TC_GAME_API azessence
- {
- using value_type = AzeriteEssenceLinkData const&;
- static constexpr std::string_view tag() { return "azessence"; }
- static bool StoreTo(AzeriteEssenceLinkData& val, std::string_view text);
- };
-
struct TC_GAME_API battlepet
{
using value_type = BattlePetLinkData const&;
@@ -386,27 +337,6 @@ namespace Trinity::Hyperlinks
static bool StoreTo(SpellInfo const*& val, std::string_view text);
};
- struct TC_GAME_API garrfollower
- {
- using value_type = GarrisonFollowerLinkData const&;
- static constexpr std::string_view tag() { return "garrfollower"; }
- static bool StoreTo(GarrisonFollowerLinkData& val, std::string_view text);
- };
-
- struct TC_GAME_API garrfollowerability
- {
- using value_type = GarrAbilityEntry const*;
- static constexpr std::string_view tag() { return "garrfollowerability"; }
- static bool StoreTo(GarrAbilityEntry const*& val, std::string_view text);
- };
-
- struct TC_GAME_API garrmission
- {
- using value_type = GarrisonMissionLinkData const&;
- static constexpr std::string_view tag() { return "garrmission"; }
- static bool StoreTo(GarrisonMissionLinkData& val, std::string_view text);
- };
-
struct TC_GAME_API instancelock
{
using value_type = InstanceLockLinkData const&;
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index e8ca19a6bfd..844e7d0b736 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -61,63 +61,6 @@ struct AchievementCategoryLoadInfo
static constexpr DB2LoadInfo Instance{ Fields, 4, &Achievement_CategoryMeta::Instance, HOTFIX_SEL_ACHIEVEMENT_CATEGORY };
};
-struct AdventureJournalLoadInfo
-{
- static constexpr DB2FieldMeta Fields[25] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Description" },
- { false, FT_STRING, "ButtonText" },
- { false, FT_STRING, "RewardDescription" },
- { false, FT_STRING, "ContinueDescription" },
- { false, FT_BYTE, "Type" },
- { false, FT_INT, "PlayerConditionID" },
- { true, FT_INT, "Flags" },
- { false, FT_BYTE, "ButtonActionType" },
- { true, FT_INT, "TextureFileDataID" },
- { false, FT_SHORT, "LfgDungeonID" },
- { false, FT_INT, "QuestID" },
- { false, FT_SHORT, "BattleMasterListID" },
- { false, FT_BYTE, "PriorityMin" },
- { false, FT_BYTE, "PriorityMax" },
- { true, FT_INT, "ItemID" },
- { false, FT_INT, "ItemQuantity" },
- { false, FT_SHORT, "CurrencyType" },
- { false, FT_BYTE, "CurrencyQuantity" },
- { false, FT_SHORT, "UiMapID" },
- { false, FT_INT, "BonusPlayerConditionID1" },
- { false, FT_INT, "BonusPlayerConditionID2" },
- { false, FT_BYTE, "BonusValue1" },
- { false, FT_BYTE, "BonusValue2" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 25, &AdventureJournalMeta::Instance, HOTFIX_SEL_ADVENTURE_JOURNAL };
-};
-
-struct AdventureMapPoiLoadInfo
-{
- static constexpr DB2FieldMeta Fields[14] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "Title" },
- { false, FT_STRING, "Description" },
- { false, FT_FLOAT, "WorldPositionX" },
- { false, FT_FLOAT, "WorldPositionY" },
- { true, FT_BYTE, "Type" },
- { false, FT_INT, "PlayerConditionID" },
- { false, FT_INT, "QuestID" },
- { false, FT_INT, "LfgDungeonID" },
- { true, FT_INT, "RewardItemID" },
- { false, FT_INT, "UiTextureAtlasMemberID" },
- { false, FT_INT, "UiTextureKitID" },
- { true, FT_INT, "MapID" },
- { false, FT_INT, "AreaTableID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 14, &AdventureMapPOIMeta::Instance, HOTFIX_SEL_ADVENTURE_MAP_POI };
-};
-
struct AnimationDataLoadInfo
{
static constexpr DB2FieldMeta Fields[6] =
@@ -248,185 +191,6 @@ struct ArmorLocationLoadInfo
static constexpr DB2LoadInfo Instance{ Fields, 6, &ArmorLocationMeta::Instance, HOTFIX_SEL_ARMOR_LOCATION };
};
-struct ArtifactLoadInfo
-{
- static constexpr DB2FieldMeta Fields[11] =
- {
- { false, FT_STRING, "Name" },
- { false, FT_INT, "ID" },
- { false, FT_SHORT, "UiTextureKitID" },
- { true, FT_INT, "UiNameColor" },
- { true, FT_INT, "UiBarOverlayColor" },
- { true, FT_INT, "UiBarBackgroundColor" },
- { false, FT_SHORT, "ChrSpecializationID" },
- { false, FT_BYTE, "Flags" },
- { false, FT_BYTE, "ArtifactCategoryID" },
- { false, FT_INT, "UiModelSceneID" },
- { false, FT_INT, "SpellVisualKitID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactMeta::Instance, HOTFIX_SEL_ARTIFACT };
-};
-
-struct ArtifactAppearanceLoadInfo
-{
- static constexpr DB2FieldMeta Fields[15] =
- {
- { false, FT_STRING, "Name" },
- { false, FT_INT, "ID" },
- { false, FT_SHORT, "ArtifactAppearanceSetID" },
- { false, FT_BYTE, "DisplayIndex" },
- { false, FT_INT, "UnlockPlayerConditionID" },
- { false, FT_BYTE, "ItemAppearanceModifierID" },
- { true, FT_INT, "UiSwatchColor" },
- { false, FT_FLOAT, "UiModelSaturation" },
- { false, FT_FLOAT, "UiModelOpacity" },
- { false, FT_BYTE, "OverrideShapeshiftFormID" },
- { false, FT_INT, "OverrideShapeshiftDisplayID" },
- { false, FT_INT, "UiItemAppearanceID" },
- { false, FT_INT, "UiAltItemAppearanceID" },
- { false, FT_BYTE, "Flags" },
- { false, FT_SHORT, "UiCameraID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 15, &ArtifactAppearanceMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE };
-};
-
-struct ArtifactAppearanceSetLoadInfo
-{
- static constexpr DB2FieldMeta Fields[9] =
- {
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Description" },
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "DisplayIndex" },
- { false, FT_SHORT, "UiCameraID" },
- { false, FT_SHORT, "AltHandUICameraID" },
- { true, FT_BYTE, "ForgeAttachmentOverride" },
- { false, FT_BYTE, "Flags" },
- { false, FT_INT, "ArtifactID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 9, &ArtifactAppearanceSetMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE_SET };
-};
-
-struct ArtifactCategoryLoadInfo
-{
- static constexpr DB2FieldMeta Fields[3] =
- {
- { false, FT_INT, "ID" },
- { true, FT_SHORT, "XpMultCurrencyID" },
- { true, FT_SHORT, "XpMultCurveID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactCategoryMeta::Instance, HOTFIX_SEL_ARTIFACT_CATEGORY };
-};
-
-struct ArtifactPowerLoadInfo
-{
- static constexpr DB2FieldMeta Fields[8] =
- {
- { false, FT_FLOAT, "DisplayPosX" },
- { false, FT_FLOAT, "DisplayPosY" },
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "ArtifactID" },
- { false, FT_BYTE, "MaxPurchasableRank" },
- { true, FT_INT, "Label" },
- { false, FT_BYTE, "Flags" },
- { false, FT_BYTE, "Tier" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 8, &ArtifactPowerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER };
-};
-
-struct ArtifactPowerLinkLoadInfo
-{
- static constexpr DB2FieldMeta Fields[3] =
- {
- { false, FT_INT, "ID" },
- { false, FT_SHORT, "PowerA" },
- { false, FT_SHORT, "PowerB" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactPowerLinkMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_LINK };
-};
-
-struct ArtifactPowerPickerLoadInfo
-{
- static constexpr DB2FieldMeta Fields[2] =
- {
- { false, FT_INT, "ID" },
- { false, FT_INT, "PlayerConditionID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 2, &ArtifactPowerPickerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_PICKER };
-};
-
-struct ArtifactPowerRankLoadInfo
-{
- static constexpr DB2FieldMeta Fields[6] =
- {
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "RankIndex" },
- { true, FT_INT, "SpellID" },
- { false, FT_SHORT, "ItemBonusListID" },
- { false, FT_FLOAT, "AuraPointsOverride" },
- { false, FT_INT, "ArtifactPowerID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactPowerRankMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_RANK };
-};
-
-struct ArtifactQuestXpLoadInfo
-{
- static constexpr DB2FieldMeta Fields[11] =
- {
- { false, FT_INT, "ID" },
- { false, FT_INT, "Difficulty1" },
- { false, FT_INT, "Difficulty2" },
- { false, FT_INT, "Difficulty3" },
- { false, FT_INT, "Difficulty4" },
- { false, FT_INT, "Difficulty5" },
- { false, FT_INT, "Difficulty6" },
- { false, FT_INT, "Difficulty7" },
- { false, FT_INT, "Difficulty8" },
- { false, FT_INT, "Difficulty9" },
- { false, FT_INT, "Difficulty10" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactQuestXPMeta::Instance, HOTFIX_SEL_ARTIFACT_QUEST_XP };
-};
-
-struct ArtifactTierLoadInfo
-{
- static constexpr DB2FieldMeta Fields[6] =
- {
- { false, FT_INT, "ID" },
- { false, FT_INT, "ArtifactTier" },
- { false, FT_INT, "MaxNumTraits" },
- { false, FT_INT, "MaxArtifactKnowledge" },
- { false, FT_INT, "KnowledgePlayerCondition" },
- { false, FT_INT, "MinimumEmpowerKnowledge" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactTierMeta::Instance, HOTFIX_SEL_ARTIFACT_TIER };
-};
-
-struct ArtifactUnlockLoadInfo
-{
- static constexpr DB2FieldMeta Fields[6] =
- {
- { false, FT_INT, "ID" },
- { false, FT_INT, "PowerID" },
- { false, FT_BYTE, "PowerRank" },
- { false, FT_SHORT, "ItemBonusListID" },
- { false, FT_INT, "PlayerConditionID" },
- { false, FT_INT, "ArtifactID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactUnlockMeta::Instance, HOTFIX_SEL_ARTIFACT_UNLOCK };
-};
-
struct AuctionHouseLoadInfo
{
static constexpr DB2FieldMeta Fields[5] =
@@ -441,153 +205,6 @@ struct AuctionHouseLoadInfo
static constexpr DB2LoadInfo Instance{ Fields, 5, &AuctionHouseMeta::Instance, HOTFIX_SEL_AUCTION_HOUSE };
};
-struct AzeriteEmpoweredItemLoadInfo
-{
- static constexpr DB2FieldMeta Fields[4] =
- {
- { false, FT_INT, "ID" },
- { true, FT_INT, "ItemID" },
- { false, FT_INT, "AzeriteTierUnlockSetID" },
- { false, FT_INT, "AzeritePowerSetID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEmpoweredItemMeta::Instance, HOTFIX_SEL_AZERITE_EMPOWERED_ITEM };
-};
-
-struct AzeriteEssenceLoadInfo
-{
- static constexpr DB2FieldMeta Fields[4] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Description" },
- { true, FT_INT, "SpecSetID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEssenceMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE };
-};
-
-struct AzeriteEssencePowerLoadInfo
-{
- static constexpr DB2FieldMeta Fields[9] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "SourceAlliance" },
- { false, FT_STRING, "SourceHorde" },
- { true, FT_INT, "AzeriteEssenceID" },
- { false, FT_BYTE, "Tier" },
- { true, FT_INT, "MajorPowerDescription" },
- { true, FT_INT, "MinorPowerDescription" },
- { true, FT_INT, "MajorPowerActual" },
- { true, FT_INT, "MinorPowerActual" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 9, &AzeriteEssencePowerMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE_POWER };
-};
-
-struct AzeriteItemLoadInfo
-{
- static constexpr DB2FieldMeta Fields[2] =
- {
- { false, FT_INT, "ID" },
- { true, FT_INT, "ItemID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteItemMeta::Instance, HOTFIX_SEL_AZERITE_ITEM };
-};
-
-struct AzeriteItemMilestonePowerLoadInfo
-{
- static constexpr DB2FieldMeta Fields[5] =
- {
- { false, FT_INT, "ID" },
- { true, FT_INT, "RequiredLevel" },
- { true, FT_INT, "AzeritePowerID" },
- { true, FT_INT, "Type" },
- { true, FT_INT, "AutoUnlock" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteItemMilestonePowerMeta::Instance, HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER };
-};
-
-struct AzeriteKnowledgeMultiplierLoadInfo
-{
- static constexpr DB2FieldMeta Fields[2] =
- {
- { false, FT_INT, "ID" },
- { false, FT_FLOAT, "Multiplier" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteKnowledgeMultiplierMeta::Instance, HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER };
-};
-
-struct AzeriteLevelInfoLoadInfo
-{
- static constexpr DB2FieldMeta Fields[4] =
- {
- { false, FT_INT, "ID" },
- { false, FT_LONG, "BaseExperienceToNextLevel" },
- { false, FT_LONG, "MinimumExperienceToNextLevel" },
- { true, FT_INT, "ItemLevel" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteLevelInfoMeta::Instance, HOTFIX_SEL_AZERITE_LEVEL_INFO };
-};
-
-struct AzeritePowerLoadInfo
-{
- static constexpr DB2FieldMeta Fields[5] =
- {
- { false, FT_INT, "ID" },
- { true, FT_INT, "SpellID" },
- { true, FT_INT, "ItemBonusListID" },
- { true, FT_INT, "SpecSetID" },
- { true, FT_INT, "Flags" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeritePowerMeta::Instance, HOTFIX_SEL_AZERITE_POWER };
-};
-
-struct AzeritePowerSetMemberLoadInfo
-{
- static constexpr DB2FieldMeta Fields[6] =
- {
- { false, FT_INT, "ID" },
- { false, FT_INT, "AzeritePowerSetID" },
- { true, FT_INT, "AzeritePowerID" },
- { true, FT_INT, "Class" },
- { false, FT_BYTE, "Tier" },
- { true, FT_INT, "OrderIndex" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 6, &AzeritePowerSetMemberMeta::Instance, HOTFIX_SEL_AZERITE_POWER_SET_MEMBER };
-};
-
-struct AzeriteTierUnlockLoadInfo
-{
- static constexpr DB2FieldMeta Fields[5] =
- {
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "ItemCreationContext" },
- { false, FT_BYTE, "Tier" },
- { false, FT_BYTE, "AzeriteLevel" },
- { false, FT_INT, "AzeriteTierUnlockSetID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteTierUnlockMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK };
-};
-
-struct AzeriteTierUnlockSetLoadInfo
-{
- static constexpr DB2FieldMeta Fields[2] =
- {
- { false, FT_INT, "ID" },
- { true, FT_INT, "Flags" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteTierUnlockSetMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET };
-};
-
struct BankBagSlotPricesLoadInfo
{
static constexpr DB2FieldMeta Fields[2] =
@@ -1896,278 +1513,6 @@ struct GameobjectsLoadInfo
static constexpr DB2LoadInfo Instance{ Fields, 24, &GameObjectsMeta::Instance, HOTFIX_SEL_GAMEOBJECTS };
};
-struct GarrAbilityLoadInfo
-{
- static constexpr DB2FieldMeta Fields[8] =
- {
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Description" },
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "GarrAbilityCategoryID" },
- { false, FT_BYTE, "GarrFollowerTypeID" },
- { true, FT_INT, "IconFileDataID" },
- { false, FT_SHORT, "FactionChangeGarrAbilityID" },
- { false, FT_SHORT, "Flags" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrAbilityMeta::Instance, HOTFIX_SEL_GARR_ABILITY };
-};
-
-struct GarrBuildingLoadInfo
-{
- static constexpr DB2FieldMeta Fields[25] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "HordeName" },
- { false, FT_STRING, "AllianceName" },
- { false, FT_STRING, "Description" },
- { false, FT_STRING, "Tooltip" },
- { false, FT_BYTE, "GarrTypeID" },
- { false, FT_BYTE, "BuildingType" },
- { true, FT_INT, "HordeGameObjectID" },
- { true, FT_INT, "AllianceGameObjectID" },
- { false, FT_BYTE, "GarrSiteID" },
- { false, FT_BYTE, "UpgradeLevel" },
- { true, FT_INT, "BuildSeconds" },
- { false, FT_SHORT, "CurrencyTypeID" },
- { true, FT_INT, "CurrencyQty" },
- { false, FT_SHORT, "HordeUiTextureKitID" },
- { false, FT_SHORT, "AllianceUiTextureKitID" },
- { true, FT_INT, "IconFileDataID" },
- { false, FT_SHORT, "AllianceSceneScriptPackageID" },
- { false, FT_SHORT, "HordeSceneScriptPackageID" },
- { true, FT_INT, "MaxAssignments" },
- { false, FT_BYTE, "ShipmentCapacity" },
- { false, FT_SHORT, "GarrAbilityID" },
- { false, FT_SHORT, "BonusGarrAbilityID" },
- { false, FT_SHORT, "GoldCost" },
- { false, FT_BYTE, "Flags" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 25, &GarrBuildingMeta::Instance, HOTFIX_SEL_GARR_BUILDING };
-};
-
-struct GarrBuildingPlotInstLoadInfo
-{
- static constexpr DB2FieldMeta Fields[6] =
- {
- { false, FT_FLOAT, "MapOffsetX" },
- { false, FT_FLOAT, "MapOffsetY" },
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "GarrBuildingID" },
- { false, FT_SHORT, "GarrSiteLevelPlotInstID" },
- { false, FT_SHORT, "UiTextureAtlasMemberID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrBuildingPlotInstMeta::Instance, HOTFIX_SEL_GARR_BUILDING_PLOT_INST };
-};
-
-struct GarrClassSpecLoadInfo
-{
- static constexpr DB2FieldMeta Fields[8] =
- {
- { false, FT_STRING, "ClassSpec" },
- { false, FT_STRING, "ClassSpecMale" },
- { false, FT_STRING, "ClassSpecFemale" },
- { false, FT_INT, "ID" },
- { false, FT_SHORT, "UiTextureAtlasMemberID" },
- { false, FT_SHORT, "GarrFollItemSetID" },
- { false, FT_BYTE, "FollowerClassLimit" },
- { false, FT_BYTE, "Flags" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrClassSpecMeta::Instance, HOTFIX_SEL_GARR_CLASS_SPEC };
-};
-
-struct GarrFollowerLoadInfo
-{
- static constexpr DB2FieldMeta Fields[32] =
- {
- { false, FT_STRING, "HordeSourceText" },
- { false, FT_STRING, "AllianceSourceText" },
- { false, FT_STRING, "TitleName" },
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "GarrTypeID" },
- { false, FT_BYTE, "GarrFollowerTypeID" },
- { true, FT_INT, "HordeCreatureID" },
- { true, FT_INT, "AllianceCreatureID" },
- { false, FT_BYTE, "HordeGarrFollRaceID" },
- { false, FT_BYTE, "AllianceGarrFollRaceID" },
- { false, FT_BYTE, "HordeGarrClassSpecID" },
- { false, FT_BYTE, "AllianceGarrClassSpecID" },
- { false, FT_BYTE, "Quality" },
- { false, FT_BYTE, "FollowerLevel" },
- { false, FT_SHORT, "ItemLevelWeapon" },
- { false, FT_SHORT, "ItemLevelArmor" },
- { true, FT_BYTE, "HordeSourceTypeEnum" },
- { true, FT_BYTE, "AllianceSourceTypeEnum" },
- { true, FT_INT, "HordeIconFileDataID" },
- { true, FT_INT, "AllianceIconFileDataID" },
- { false, FT_SHORT, "HordeGarrFollItemSetID" },
- { false, FT_SHORT, "AllianceGarrFollItemSetID" },
- { false, FT_SHORT, "HordeUITextureKitID" },
- { false, FT_SHORT, "AllianceUITextureKitID" },
- { false, FT_BYTE, "Vitality" },
- { false, FT_BYTE, "HordeFlavorGarrStringID" },
- { false, FT_BYTE, "AllianceFlavorGarrStringID" },
- { false, FT_INT, "HordeSlottingBroadcastTextID" },
- { false, FT_INT, "AllySlottingBroadcastTextID" },
- { false, FT_BYTE, "ChrClassID" },
- { false, FT_BYTE, "Flags" },
- { false, FT_BYTE, "Gender" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 32, &GarrFollowerMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER };
-};
-
-struct GarrFollowerXAbilityLoadInfo
-{
- static constexpr DB2FieldMeta Fields[5] =
- {
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "OrderIndex" },
- { false, FT_BYTE, "FactionIndex" },
- { false, FT_SHORT, "GarrAbilityID" },
- { false, FT_INT, "GarrFollowerID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 5, &GarrFollowerXAbilityMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY };
-};
-
-struct GarrMissionLoadInfo
-{
- static constexpr DB2FieldMeta Fields[31] =
- {
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Location" },
- { false, FT_STRING, "Description" },
- { false, FT_FLOAT, "MapPosX" },
- { false, FT_FLOAT, "MapPosY" },
- { false, FT_FLOAT, "WorldPosX" },
- { false, FT_FLOAT, "WorldPosY" },
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "GarrTypeID" },
- { false, FT_BYTE, "GarrMissionTypeID" },
- { false, FT_BYTE, "GarrFollowerTypeID" },
- { false, FT_BYTE, "MaxFollowers" },
- { false, FT_INT, "MissionCost" },
- { false, FT_SHORT, "MissionCostCurrencyTypesID" },
- { false, FT_BYTE, "OfferedGarrMissionTextureID" },
- { false, FT_SHORT, "UiTextureKitID" },
- { false, FT_INT, "EnvGarrMechanicID" },
- { false, FT_BYTE, "EnvGarrMechanicTypeID" },
- { false, FT_INT, "PlayerConditionID" },
- { true, FT_BYTE, "TargetLevel" },
- { false, FT_SHORT, "TargetItemLevel" },
- { true, FT_INT, "MissionDuration" },
- { true, FT_INT, "TravelDuration" },
- { false, FT_INT, "OfferDuration" },
- { false, FT_BYTE, "BaseCompletionChance" },
- { false, FT_INT, "BaseFollowerXP" },
- { false, FT_INT, "OvermaxRewardPackID" },
- { false, FT_BYTE, "FollowerDeathChance" },
- { false, FT_INT, "AreaID" },
- { false, FT_INT, "Flags" },
- { false, FT_INT, "GarrMissionSetID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 31, &GarrMissionMeta::Instance, HOTFIX_SEL_GARR_MISSION };
-};
-
-struct GarrPlotLoadInfo
-{
- static constexpr DB2FieldMeta Fields[9] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING_NOT_LOCALIZED, "Name" },
- { false, FT_BYTE, "PlotType" },
- { true, FT_INT, "HordeConstructObjID" },
- { true, FT_INT, "AllianceConstructObjID" },
- { false, FT_BYTE, "Flags" },
- { false, FT_BYTE, "UiCategoryID" },
- { false, FT_INT, "UpgradeRequirement1" },
- { false, FT_INT, "UpgradeRequirement2" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 9, &GarrPlotMeta::Instance, HOTFIX_SEL_GARR_PLOT };
-};
-
-struct GarrPlotBuildingLoadInfo
-{
- static constexpr DB2FieldMeta Fields[3] =
- {
- { false, FT_INT, "ID" },
- { false, FT_BYTE, "GarrPlotID" },
- { false, FT_BYTE, "GarrBuildingID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotBuildingMeta::Instance, HOTFIX_SEL_GARR_PLOT_BUILDING };
-};
-
-struct GarrPlotInstanceLoadInfo
-{
- static constexpr DB2FieldMeta Fields[3] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING_NOT_LOCALIZED, "Name" },
- { false, FT_BYTE, "GarrPlotID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotInstanceMeta::Instance, HOTFIX_SEL_GARR_PLOT_INSTANCE };
-};
-
-struct GarrSiteLevelLoadInfo
-{
- static constexpr DB2FieldMeta Fields[11] =
- {
- { false, FT_INT, "ID" },
- { false, FT_FLOAT, "TownHallUiPosX" },
- { false, FT_FLOAT, "TownHallUiPosY" },
- { false, FT_INT, "GarrSiteID" },
- { false, FT_BYTE, "GarrLevel" },
- { false, FT_SHORT, "MapID" },
- { false, FT_SHORT, "UpgradeMovieID" },
- { false, FT_SHORT, "UiTextureKitID" },
- { false, FT_BYTE, "MaxBuildingLevel" },
- { false, FT_SHORT, "UpgradeCost" },
- { false, FT_SHORT, "UpgradeGoldCost" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 11, &GarrSiteLevelMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL };
-};
-
-struct GarrSiteLevelPlotInstLoadInfo
-{
- static constexpr DB2FieldMeta Fields[6] =
- {
- { false, FT_INT, "ID" },
- { false, FT_FLOAT, "UiMarkerPosX" },
- { false, FT_FLOAT, "UiMarkerPosY" },
- { false, FT_SHORT, "GarrSiteLevelID" },
- { false, FT_BYTE, "GarrPlotInstanceID" },
- { false, FT_BYTE, "UiMarkerSize" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrSiteLevelPlotInstMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST };
-};
-
-struct GarrTalentTreeLoadInfo
-{
- static constexpr DB2FieldMeta Fields[8] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "Name" },
- { true, FT_INT, "GarrTypeID" },
- { true, FT_INT, "ClassID" },
- { true, FT_BYTE, "MaxTiers" },
- { true, FT_BYTE, "UiOrder" },
- { true, FT_BYTE, "Flags" },
- { false, FT_SHORT, "UiTextureKitID" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrTalentTreeMeta::Instance, HOTFIX_SEL_GARR_TALENT_TREE };
-};
-
struct GemPropertiesLoadInfo
{
static constexpr DB2FieldMeta Fields[4] =
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp
index 0a845931673..dcd5836c643 100644
--- a/src/server/game/DataStores/DB2Stores.cpp
+++ b/src/server/game/DataStores/DB2Stores.cpp
@@ -43,8 +43,6 @@
DB2Storage<AchievementEntry> sAchievementStore("Achievement.db2", &AchievementLoadInfo::Instance);
DB2Storage<Achievement_CategoryEntry> sAchievementCategoryStore("Achievement_Category.db2", &AchievementCategoryLoadInfo::Instance);
-DB2Storage<AdventureJournalEntry> sAdventureJournalStore("AdventureJournal.db2", &AdventureJournalLoadInfo::Instance);
-DB2Storage<AdventureMapPOIEntry> sAdventureMapPOIStore("AdventureMapPOI.db2", &AdventureMapPoiLoadInfo::Instance);
DB2Storage<AnimationDataEntry> sAnimationDataStore("AnimationData.db2", &AnimationDataLoadInfo::Instance);
DB2Storage<AnimKitEntry> sAnimKitStore("AnimKit.db2", &AnimKitLoadInfo::Instance);
DB2Storage<AreaGroupMemberEntry> sAreaGroupMemberStore("AreaGroupMember.db2", &AreaGroupMemberLoadInfo::Instance);
@@ -52,29 +50,7 @@ DB2Storage<AreaTableEntry> sAreaTableStore("AreaTable.db2",
DB2Storage<AreaTriggerEntry> sAreaTriggerStore("AreaTrigger.db2", &AreaTriggerLoadInfo::Instance);
DB2Storage<AreaTriggerActionSetEntry> sAreaTriggerActionSetStore("AreaTriggerActionSet.db2", &AreaTriggerActionSetLoadInfo::Instance);
DB2Storage<ArmorLocationEntry> sArmorLocationStore("ArmorLocation.db2", &ArmorLocationLoadInfo::Instance);
-DB2Storage<ArtifactEntry> sArtifactStore("Artifact.db2", &ArtifactLoadInfo::Instance);
-DB2Storage<ArtifactAppearanceEntry> sArtifactAppearanceStore("ArtifactAppearance.db2", &ArtifactAppearanceLoadInfo::Instance);
-DB2Storage<ArtifactAppearanceSetEntry> sArtifactAppearanceSetStore("ArtifactAppearanceSet.db2", &ArtifactAppearanceSetLoadInfo::Instance);
-DB2Storage<ArtifactCategoryEntry> sArtifactCategoryStore("ArtifactCategory.db2", &ArtifactCategoryLoadInfo::Instance);
-DB2Storage<ArtifactPowerEntry> sArtifactPowerStore("ArtifactPower.db2", &ArtifactPowerLoadInfo::Instance);
-DB2Storage<ArtifactPowerLinkEntry> sArtifactPowerLinkStore("ArtifactPowerLink.db2", &ArtifactPowerLinkLoadInfo::Instance);
-DB2Storage<ArtifactPowerPickerEntry> sArtifactPowerPickerStore("ArtifactPowerPicker.db2", &ArtifactPowerPickerLoadInfo::Instance);
-DB2Storage<ArtifactPowerRankEntry> sArtifactPowerRankStore("ArtifactPowerRank.db2", &ArtifactPowerRankLoadInfo::Instance);
-DB2Storage<ArtifactQuestXPEntry> sArtifactQuestXPStore("ArtifactQuestXP.db2", &ArtifactQuestXpLoadInfo::Instance);
-DB2Storage<ArtifactTierEntry> sArtifactTierStore("ArtifactTier.db2", &ArtifactTierLoadInfo::Instance);
-DB2Storage<ArtifactUnlockEntry> sArtifactUnlockStore("ArtifactUnlock.db2", &ArtifactUnlockLoadInfo::Instance);
DB2Storage<AuctionHouseEntry> sAuctionHouseStore("AuctionHouse.db2", &AuctionHouseLoadInfo::Instance);
-DB2Storage<AzeriteEmpoweredItemEntry> sAzeriteEmpoweredItemStore("AzeriteEmpoweredItem.db2", &AzeriteEmpoweredItemLoadInfo::Instance);
-DB2Storage<AzeriteEssenceEntry> sAzeriteEssenceStore("AzeriteEssence.db2", &AzeriteEssenceLoadInfo::Instance);
-DB2Storage<AzeriteEssencePowerEntry> sAzeriteEssencePowerStore("AzeriteEssencePower.db2", &AzeriteEssencePowerLoadInfo::Instance);
-DB2Storage<AzeriteItemEntry> sAzeriteItemStore("AzeriteItem.db2", &AzeriteItemLoadInfo::Instance);
-DB2Storage<AzeriteItemMilestonePowerEntry> sAzeriteItemMilestonePowerStore("AzeriteItemMilestonePower.db2", &AzeriteItemMilestonePowerLoadInfo::Instance);
-DB2Storage<AzeriteKnowledgeMultiplierEntry> sAzeriteKnowledgeMultiplierStore("AzeriteKnowledgeMultiplier.db2", &AzeriteKnowledgeMultiplierLoadInfo::Instance);
-DB2Storage<AzeriteLevelInfoEntry> sAzeriteLevelInfoStore("AzeriteLevelInfo.db2", &AzeriteLevelInfoLoadInfo::Instance);
-DB2Storage<AzeritePowerEntry> sAzeritePowerStore("AzeritePower.db2", &AzeritePowerLoadInfo::Instance);
-DB2Storage<AzeritePowerSetMemberEntry> sAzeritePowerSetMemberStore("AzeritePowerSetMember.db2", &AzeritePowerSetMemberLoadInfo::Instance);
-DB2Storage<AzeriteTierUnlockEntry> sAzeriteTierUnlockStore("AzeriteTierUnlock.db2", &AzeriteTierUnlockLoadInfo::Instance);
-DB2Storage<AzeriteTierUnlockSetEntry> sAzeriteTierUnlockSetStore("AzeriteTierUnlockSet.db2", &AzeriteTierUnlockSetLoadInfo::Instance);
DB2Storage<BankBagSlotPricesEntry> sBankBagSlotPricesStore("BankBagSlotPrices.db2", &BankBagSlotPricesLoadInfo::Instance);
DB2Storage<BannedAddonsEntry> sBannedAddonsStore("BannedAddons.db2", &BannedAddonsLoadInfo::Instance);
DB2Storage<BarberShopStyleEntry> sBarberShopStyleStore("BarberShopStyle.db2", &BarberShopStyleLoadInfo::Instance);
@@ -138,19 +114,6 @@ DB2Storage<FriendshipReputationEntry> sFriendshipReputationStore("Frie
DB2Storage<GameObjectArtKitEntry> sGameObjectArtKitStore("GameObjectArtKit.db2", &GameobjectArtKitLoadInfo::Instance);
DB2Storage<GameObjectDisplayInfoEntry> sGameObjectDisplayInfoStore("GameObjectDisplayInfo.db2", &GameobjectDisplayInfoLoadInfo::Instance);
DB2Storage<GameObjectsEntry> sGameObjectsStore("GameObjects.db2", &GameobjectsLoadInfo::Instance);
-DB2Storage<GarrAbilityEntry> sGarrAbilityStore("GarrAbility.db2", &GarrAbilityLoadInfo::Instance);
-DB2Storage<GarrBuildingEntry> sGarrBuildingStore("GarrBuilding.db2", &GarrBuildingLoadInfo::Instance);
-DB2Storage<GarrBuildingPlotInstEntry> sGarrBuildingPlotInstStore("GarrBuildingPlotInst.db2", &GarrBuildingPlotInstLoadInfo::Instance);
-DB2Storage<GarrClassSpecEntry> sGarrClassSpecStore("GarrClassSpec.db2", &GarrClassSpecLoadInfo::Instance);
-DB2Storage<GarrFollowerEntry> sGarrFollowerStore("GarrFollower.db2", &GarrFollowerLoadInfo::Instance);
-DB2Storage<GarrFollowerXAbilityEntry> sGarrFollowerXAbilityStore("GarrFollowerXAbility.db2", &GarrFollowerXAbilityLoadInfo::Instance);
-DB2Storage<GarrMissionEntry> sGarrMissionStore("GarrMission.db2", &GarrMissionLoadInfo::Instance);
-DB2Storage<GarrPlotEntry> sGarrPlotStore("GarrPlot.db2", &GarrPlotLoadInfo::Instance);
-DB2Storage<GarrPlotBuildingEntry> sGarrPlotBuildingStore("GarrPlotBuilding.db2", &GarrPlotBuildingLoadInfo::Instance);
-DB2Storage<GarrPlotInstanceEntry> sGarrPlotInstanceStore("GarrPlotInstance.db2", &GarrPlotInstanceLoadInfo::Instance);
-DB2Storage<GarrSiteLevelEntry> sGarrSiteLevelStore("GarrSiteLevel.db2", &GarrSiteLevelLoadInfo::Instance);
-DB2Storage<GarrSiteLevelPlotInstEntry> sGarrSiteLevelPlotInstStore("GarrSiteLevelPlotInst.db2", &GarrSiteLevelPlotInstLoadInfo::Instance);
-DB2Storage<GarrTalentTreeEntry> sGarrTalentTreeStore("GarrTalentTree.db2", &GarrTalentTreeLoadInfo::Instance);
DB2Storage<GemPropertiesEntry> sGemPropertiesStore("GemProperties.db2", &GemPropertiesLoadInfo::Instance);
DB2Storage<GlyphBindableSpellEntry> sGlyphBindableSpellStore("GlyphBindableSpell.db2", &GlyphBindableSpellLoadInfo::Instance);
DB2Storage<GlyphSlotEntry> sGlyphSlotStore("GlyphSlot.db2", &GlyphSlotLoadInfo::Instance);
@@ -378,9 +341,6 @@ DEFINE_DB2_SET_COMPARATOR(ChrClassesXPowerTypesEntry)
typedef std::map<uint32 /*hash*/, DB2StorageBase*> StorageMap;
typedef std::unordered_map<uint32 /*areaGroupId*/, std::vector<uint32/*areaId*/>> AreaGroupMemberContainer;
-typedef std::unordered_map<uint32, std::vector<ArtifactPowerEntry const*>> ArtifactPowersContainer;
-typedef std::unordered_map<uint32, std::vector<uint32>> ArtifactPowerLinksContainer;
-typedef std::unordered_map<std::pair<uint32, uint8>, ArtifactPowerRankEntry const*> ArtifactPowerRanksContainer;
typedef ChrSpecializationEntry const* ChrSpecializationByIndexContainer[MAX_CLASSES + 1][MAX_SPECIALIZATIONS];
typedef std::unordered_map<uint32 /*curveID*/, std::vector<DBCPosition2D>> CurvePointsContainer;
typedef std::map<std::tuple<uint32, uint8, uint8, uint8>, EmotesTextSoundEntry const*> EmotesTextSoundContainer;
@@ -432,15 +392,6 @@ namespace
std::array<std::map<HotfixBlobKey, std::vector<DB2Manager::HotfixOptionalData>>, TOTAL_LOCALES> _hotfixOptionalData;
AreaGroupMemberContainer _areaGroupMembers;
- ArtifactPowersContainer _artifactPowers;
- ArtifactPowerLinksContainer _artifactPowerLinks;
- ArtifactPowerRanksContainer _artifactPowerRanks;
- std::unordered_map<uint32 /*itemId*/, AzeriteEmpoweredItemEntry const*> _azeriteEmpoweredItems;
- std::unordered_map<std::pair<uint32 /*azeriteEssenceId*/, uint32 /*rank*/>, AzeriteEssencePowerEntry const*> _azeriteEssencePowersByIdAndRank;
- std::vector<AzeriteItemMilestonePowerEntry const*> _azeriteItemMilestonePowers;
- 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::array<ChrClassUIDisplayEntry const*, MAX_CLASSES> _uiDisplayByClass;
std::array<std::array<uint32, MAX_POWERS>, MAX_CLASSES> _powersByClass;
std::unordered_map<uint32 /*chrCustomizationOptionId*/, std::vector<ChrCustomizationChoiceEntry const*>> _chrCustomizationChoicesByOption;
@@ -629,8 +580,6 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sAchievementStore);
LOAD_DB2(sAchievementCategoryStore);
- LOAD_DB2(sAdventureJournalStore);
- LOAD_DB2(sAdventureMapPOIStore);
LOAD_DB2(sAnimationDataStore);
LOAD_DB2(sAnimKitStore);
LOAD_DB2(sAreaGroupMemberStore);
@@ -638,28 +587,7 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sAreaTriggerStore);
LOAD_DB2(sAreaTriggerActionSetStore);
LOAD_DB2(sArmorLocationStore);
- LOAD_DB2(sArtifactStore);
- LOAD_DB2(sArtifactAppearanceStore);
- LOAD_DB2(sArtifactAppearanceSetStore);
- LOAD_DB2(sArtifactCategoryStore);
- LOAD_DB2(sArtifactPowerStore);
- LOAD_DB2(sArtifactPowerLinkStore);
- LOAD_DB2(sArtifactPowerPickerStore);
- LOAD_DB2(sArtifactPowerRankStore);
- LOAD_DB2(sArtifactTierStore);
- LOAD_DB2(sArtifactUnlockStore);
LOAD_DB2(sAuctionHouseStore);
- LOAD_DB2(sAzeriteEmpoweredItemStore);
- LOAD_DB2(sAzeriteEssenceStore);
- LOAD_DB2(sAzeriteEssencePowerStore);
- LOAD_DB2(sAzeriteItemStore);
- LOAD_DB2(sAzeriteItemMilestonePowerStore);
- LOAD_DB2(sAzeriteKnowledgeMultiplierStore);
- LOAD_DB2(sAzeriteLevelInfoStore);
- LOAD_DB2(sAzeritePowerStore);
- LOAD_DB2(sAzeritePowerSetMemberStore);
- LOAD_DB2(sAzeriteTierUnlockStore);
- LOAD_DB2(sAzeriteTierUnlockSetStore);
LOAD_DB2(sBankBagSlotPricesStore);
LOAD_DB2(sBannedAddonsStore);
LOAD_DB2(sBarberShopStyleStore);
@@ -723,19 +651,6 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sGameObjectsStore);
LOAD_DB2(sGameObjectArtKitStore);
LOAD_DB2(sGameObjectDisplayInfoStore);
- LOAD_DB2(sGarrAbilityStore);
- LOAD_DB2(sGarrBuildingStore);
- LOAD_DB2(sGarrBuildingPlotInstStore);
- LOAD_DB2(sGarrClassSpecStore);
- LOAD_DB2(sGarrFollowerStore);
- LOAD_DB2(sGarrFollowerXAbilityStore);
- LOAD_DB2(sGarrMissionStore);
- LOAD_DB2(sGarrPlotStore);
- LOAD_DB2(sGarrPlotBuildingStore);
- LOAD_DB2(sGarrPlotInstanceStore);
- LOAD_DB2(sGarrSiteLevelStore);
- LOAD_DB2(sGarrSiteLevelPlotInstStore);
- LOAD_DB2(sGarrTalentTreeStore);
LOAD_DB2(sGemPropertiesStore);
LOAD_DB2(sGlyphBindableSpellStore);
LOAD_DB2(sGlyphSlotStore);
@@ -986,53 +901,6 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
"PLAYER_EXPLORED_ZONES_SIZE must be at least %d", (areaTable->AreaBit + 63) / 64);
}
- for (ArtifactPowerEntry const* artifactPower : sArtifactPowerStore)
- _artifactPowers[artifactPower->ArtifactID].push_back(artifactPower);
-
- for (ArtifactPowerLinkEntry const* artifactPowerLink : sArtifactPowerLinkStore)
- {
- _artifactPowerLinks[artifactPowerLink->PowerA].push_back(artifactPowerLink->PowerB);
- _artifactPowerLinks[artifactPowerLink->PowerB].push_back(artifactPowerLink->PowerA);
- }
-
- for (ArtifactPowerRankEntry const* artifactPowerRank : sArtifactPowerRankStore)
- _artifactPowerRanks[std::pair<uint32, uint8>{ artifactPowerRank->ArtifactPowerID, artifactPowerRank->RankIndex }] = artifactPowerRank;
-
- for (AzeriteEmpoweredItemEntry const* azeriteEmpoweredItem : sAzeriteEmpoweredItemStore)
- _azeriteEmpoweredItems[azeriteEmpoweredItem->ItemID] = azeriteEmpoweredItem;
-
- for (AzeriteEssencePowerEntry const* azeriteEssencePower : sAzeriteEssencePowerStore)
- _azeriteEssencePowersByIdAndRank[std::pair<uint32, uint32>{ azeriteEssencePower->AzeriteEssenceID, azeriteEssencePower->Tier }] = azeriteEssencePower;
-
- for (AzeriteItemMilestonePowerEntry const* azeriteItemMilestonePower : sAzeriteItemMilestonePowerStore)
- _azeriteItemMilestonePowers.push_back(azeriteItemMilestonePower);
-
- std::sort(_azeriteItemMilestonePowers.begin(), _azeriteItemMilestonePowers.end(), [](AzeriteItemMilestonePowerEntry const* a1, AzeriteItemMilestonePowerEntry const* a2)
- {
- return a1->RequiredLevel < a2->RequiredLevel;
- });
-
- {
- uint32 azeriteEssenceSlot = 0;
- for (AzeriteItemMilestonePowerEntry const* azeriteItemMilestonePower : _azeriteItemMilestonePowers)
- {
- AzeriteItemMilestoneType type = AzeriteItemMilestoneType(azeriteItemMilestonePower->Type);
- if (type == AzeriteItemMilestoneType::MajorEssence || type == AzeriteItemMilestoneType::MinorEssence)
- {
- ASSERT(azeriteEssenceSlot < MAX_AZERITE_ESSENCE_SLOT);
- _azeriteItemMilestonePowerByEssenceSlot[azeriteEssenceSlot] = azeriteItemMilestonePower;
- ++azeriteEssenceSlot;
- }
- }
- }
-
- for (AzeritePowerSetMemberEntry const* azeritePowerSetMember : sAzeritePowerSetMemberStore)
- if (sAzeritePowerStore.LookupEntry(azeritePowerSetMember->AzeritePowerID))
- _azeritePowers[azeritePowerSetMember->AzeritePowerSetID].push_back(azeritePowerSetMember);
-
- for (AzeriteTierUnlockEntry const* azeriteTierUnlock : sAzeriteTierUnlockStore)
- _azeriteTierUnlockLevels[std::pair<uint32, ItemContext>{ azeriteTierUnlock->AzeriteTierUnlockSetID, ItemContext(azeriteTierUnlock->ItemCreationContext) }][azeriteTierUnlock->Tier] = azeriteTierUnlock->AzeriteLevel;
-
for (BattlemasterListEntry const* battlemaster : sBattlemasterListStore)
{
if (battlemaster->MaxLevel < battlemaster->MinLevel)
@@ -1892,74 +1760,6 @@ ContentTuningEntry const* DB2Manager::GetContentTuningForArea(AreaTableEntry con
return nullptr;
}
-std::vector<ArtifactPowerEntry const*> DB2Manager::GetArtifactPowers(uint8 artifactId) const
-{
- auto itr = _artifactPowers.find(artifactId);
- if (itr != _artifactPowers.end())
- return itr->second;
-
- return std::vector<ArtifactPowerEntry const*>{};
-}
-
-std::vector<uint32> const* DB2Manager::GetArtifactPowerLinks(uint32 artifactPowerId) const
-{
- return Trinity::Containers::MapGetValuePtr(_artifactPowerLinks, artifactPowerId);
-}
-
-ArtifactPowerRankEntry const* DB2Manager::GetArtifactPowerRank(uint32 artifactPowerId, uint8 rank) const
-{
- return Trinity::Containers::MapGetValuePtr(_artifactPowerRanks, { artifactPowerId, rank });
-}
-
-AzeriteEmpoweredItemEntry const* DB2Manager::GetAzeriteEmpoweredItem(uint32 itemId) const
-{
- return Trinity::Containers::MapGetValuePtr(_azeriteEmpoweredItems, itemId);
-}
-
-bool DB2Manager::IsAzeriteItem(uint32 itemId) const
-{
- return std::find_if(sAzeriteItemStore.begin(), sAzeriteItemStore.end(),
- [&](AzeriteItemEntry const* azeriteItem) { return azeriteItem->ItemID == int32(itemId); }) != sAzeriteItemStore.end();
-}
-
-AzeriteEssencePowerEntry const* DB2Manager::GetAzeriteEssencePower(uint32 azeriteEssenceId, uint32 rank) const
-{
- return Trinity::Containers::MapGetValuePtr(_azeriteEssencePowersByIdAndRank, std::make_pair(azeriteEssenceId, rank));
-}
-
-std::vector<AzeriteItemMilestonePowerEntry const*> const& DB2Manager::GetAzeriteItemMilestonePowers() const
-{
- return _azeriteItemMilestonePowers;
-}
-
-AzeriteItemMilestonePowerEntry const* DB2Manager::GetAzeriteItemMilestonePower(uint8 slot) const
-{
- ASSERT(slot < MAX_AZERITE_ESSENCE_SLOT, "Slot %u must be lower than MAX_AZERITE_ESSENCE_SLOT (%u)", uint32(slot), MAX_AZERITE_ESSENCE_SLOT);
- return _azeriteItemMilestonePowerByEssenceSlot[slot];
-}
-
-std::vector<AzeritePowerSetMemberEntry const*> const* DB2Manager::GetAzeritePowers(uint32 itemId) const
-{
- if (AzeriteEmpoweredItemEntry const* azeriteEmpoweredItem = GetAzeriteEmpoweredItem(itemId))
- return Trinity::Containers::MapGetValuePtr(_azeritePowers, azeriteEmpoweredItem->AzeritePowerSetID);
-
- return nullptr;
-}
-
-uint32 DB2Manager::GetRequiredAzeriteLevelForAzeritePowerTier(uint32 azeriteUnlockSetId, ItemContext context, uint32 tier) const
-{
- ASSERT(tier < MAX_AZERITE_EMPOWERED_TIER);
- if (std::array<uint8, MAX_AZERITE_EMPOWERED_TIER> const* levels = Trinity::Containers::MapGetValuePtr(_azeriteTierUnlockLevels, std::make_pair(azeriteUnlockSetId, context)))
- return (*levels)[tier];
-
- AzeriteTierUnlockSetEntry const* azeriteTierUnlockSet = sAzeriteTierUnlockSetStore.LookupEntry(azeriteUnlockSetId);
- if (azeriteTierUnlockSet && azeriteTierUnlockSet->Flags & AZERITE_TIER_UNLOCK_SET_FLAG_DEFAULT)
- if (std::array<uint8, MAX_AZERITE_EMPOWERED_TIER> const* levels = Trinity::Containers::MapGetValuePtr(_azeriteTierUnlockLevels, std::make_pair(azeriteUnlockSetId, ItemContext::NONE)))
- return (*levels)[tier];
-
- return sAzeriteLevelInfoStore.GetNumRows();
-}
-
char const* DB2Manager::GetBroadcastTextValue(BroadcastTextEntry const* broadcastText, LocaleConstant locale /*= DEFAULT_LOCALE*/, uint8 gender /*= GENDER_MALE*/, bool forceGender /*= false*/)
{
if ((gender == GENDER_FEMALE || gender == GENDER_NONE) && (forceGender || broadcastText->Text1[DEFAULT_LOCALE][0] != '\0'))
diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h
index ace88e723cf..edb5625773c 100644
--- a/src/server/game/DataStores/DB2Stores.h
+++ b/src/server/game/DataStores/DB2Stores.h
@@ -38,28 +38,13 @@ class DB2HotfixGeneratorBase;
TC_GAME_API extern DB2Storage<AchievementEntry> sAchievementStore;
TC_GAME_API extern DB2Storage<Achievement_CategoryEntry> sAchievementCategoryStore;
-TC_GAME_API extern DB2Storage<AdventureJournalEntry> sAdventureJournalStore;
-TC_GAME_API extern DB2Storage<AdventureMapPOIEntry> sAdventureMapPOIStore;
TC_GAME_API extern DB2Storage<AnimationDataEntry> sAnimationDataStore;
TC_GAME_API extern DB2Storage<AnimKitEntry> sAnimKitStore;
TC_GAME_API extern DB2Storage<AreaTableEntry> sAreaTableStore;
TC_GAME_API extern DB2Storage<AreaTriggerEntry> sAreaTriggerStore;
TC_GAME_API extern DB2Storage<AreaTriggerActionSetEntry> sAreaTriggerActionSetStore;
TC_GAME_API extern DB2Storage<ArmorLocationEntry> sArmorLocationStore;
-TC_GAME_API extern DB2Storage<ArtifactEntry> sArtifactStore;
-TC_GAME_API extern DB2Storage<ArtifactCategoryEntry> sArtifactCategoryStore;
-TC_GAME_API extern DB2Storage<ArtifactAppearanceEntry> sArtifactAppearanceStore;
-TC_GAME_API extern DB2Storage<ArtifactAppearanceSetEntry> sArtifactAppearanceSetStore;
-TC_GAME_API extern DB2Storage<ArtifactPowerEntry> sArtifactPowerStore;
-TC_GAME_API extern DB2Storage<ArtifactPowerPickerEntry> sArtifactPowerPickerStore;
-TC_GAME_API extern DB2Storage<ArtifactTierEntry> sArtifactTierStore;
-TC_GAME_API extern DB2Storage<ArtifactUnlockEntry> sArtifactUnlockStore;
TC_GAME_API extern DB2Storage<AuctionHouseEntry> sAuctionHouseStore;
-TC_GAME_API extern DB2Storage<AzeriteEssenceEntry> sAzeriteEssenceStore;
-TC_GAME_API extern DB2Storage<AzeriteKnowledgeMultiplierEntry> sAzeriteKnowledgeMultiplierStore;
-TC_GAME_API extern DB2Storage<AzeriteItemMilestonePowerEntry> sAzeriteItemMilestonePowerStore;
-TC_GAME_API extern DB2Storage<AzeriteLevelInfoEntry> sAzeriteLevelInfoStore;
-TC_GAME_API extern DB2Storage<AzeritePowerEntry> sAzeritePowerStore;
TC_GAME_API extern DB2Storage<BankBagSlotPricesEntry> sBankBagSlotPricesStore;
TC_GAME_API extern DB2Storage<BannedAddonsEntry> sBannedAddonsStore;
TC_GAME_API extern DB2Storage<BarberShopStyleEntry> sBarberShopStyleStore;
@@ -109,19 +94,6 @@ TC_GAME_API extern DB2Storage<FriendshipReputationEntry> sFriendshipR
TC_GAME_API extern DB2Storage<GameObjectArtKitEntry> sGameObjectArtKitStore;
TC_GAME_API extern DB2Storage<GameObjectDisplayInfoEntry> sGameObjectDisplayInfoStore;
TC_GAME_API extern DB2Storage<GameObjectsEntry> sGameObjectsStore;
-TC_GAME_API extern DB2Storage<GarrAbilityEntry> sGarrAbilityStore;
-TC_GAME_API extern DB2Storage<GarrBuildingEntry> sGarrBuildingStore;
-TC_GAME_API extern DB2Storage<GarrBuildingPlotInstEntry> sGarrBuildingPlotInstStore;
-TC_GAME_API extern DB2Storage<GarrClassSpecEntry> sGarrClassSpecStore;
-TC_GAME_API extern DB2Storage<GarrFollowerEntry> sGarrFollowerStore;
-TC_GAME_API extern DB2Storage<GarrFollowerXAbilityEntry> sGarrFollowerXAbilityStore;
-TC_GAME_API extern DB2Storage<GarrMissionEntry> sGarrMissionStore;
-TC_GAME_API extern DB2Storage<GarrPlotEntry> sGarrPlotStore;
-TC_GAME_API extern DB2Storage<GarrPlotBuildingEntry> sGarrPlotBuildingStore;
-TC_GAME_API extern DB2Storage<GarrPlotInstanceEntry> sGarrPlotInstanceStore;
-TC_GAME_API extern DB2Storage<GarrSiteLevelEntry> sGarrSiteLevelStore;
-TC_GAME_API extern DB2Storage<GarrSiteLevelPlotInstEntry> sGarrSiteLevelPlotInstStore;
-TC_GAME_API extern DB2Storage<GarrTalentTreeEntry> sGarrTalentTreeStore;
TC_GAME_API extern DB2Storage<GemPropertiesEntry> sGemPropertiesStore;
TC_GAME_API extern DB2Storage<GlyphSlotEntry> sGlyphSlotStore;
TC_GAME_API extern DB2Storage<GlyphPropertiesEntry> sGlyphPropertiesStore;
@@ -425,16 +397,6 @@ public:
std::vector<uint32> GetAreasForGroup(uint32 areaGroupId) const;
static bool IsInArea(uint32 objectAreaId, uint32 areaId);
static ContentTuningEntry const* GetContentTuningForArea(AreaTableEntry const* areaEntry);
- std::vector<ArtifactPowerEntry const*> GetArtifactPowers(uint8 artifactId) const;
- std::vector<uint32> const* GetArtifactPowerLinks(uint32 artifactPowerId) const;
- ArtifactPowerRankEntry const* GetArtifactPowerRank(uint32 artifactPowerId, uint8 rank) const;
- AzeriteEmpoweredItemEntry const* GetAzeriteEmpoweredItem(uint32 itemId) const;
- bool IsAzeriteItem(uint32 itemId) const;
- AzeriteEssencePowerEntry const* GetAzeriteEssencePower(uint32 azeriteEssenceId, uint32 rank) const;
- std::vector<AzeriteItemMilestonePowerEntry const*> const& GetAzeriteItemMilestonePowers() const;
- AzeriteItemMilestonePowerEntry const* GetAzeriteItemMilestonePower(uint8 slot) const;
- 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;
ChrClassUIDisplayEntry const* GetUiDisplayForClass(Classes unitClass) const;
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index e141e2f0942..f2dc052d4dd 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -52,50 +52,6 @@ struct Achievement_CategoryEntry
int8 UiOrder;
};
-struct AdventureJournalEntry
-{
- uint32 ID;
- LocalizedString Name;
- LocalizedString Description;
- LocalizedString ButtonText;
- LocalizedString RewardDescription;
- LocalizedString ContinueDescription;
- uint8 Type;
- uint32 PlayerConditionID;
- int32 Flags;
- uint8 ButtonActionType;
- int32 TextureFileDataID;
- uint16 LfgDungeonID;
- uint32 QuestID;
- uint16 BattleMasterListID;
- uint8 PriorityMin;
- uint8 PriorityMax;
- int32 ItemID;
- uint32 ItemQuantity;
- uint16 CurrencyType;
- uint8 CurrencyQuantity;
- uint16 UiMapID;
- std::array<uint32, 2> BonusPlayerConditionID;
- std::array<uint8, 2> BonusValue;
-};
-
-struct AdventureMapPOIEntry
-{
- uint32 ID;
- LocalizedString Title;
- LocalizedString Description;
- DBCPosition2D WorldPosition;
- int8 Type;
- uint32 PlayerConditionID;
- uint32 QuestID;
- uint32 LfgDungeonID;
- int32 RewardItemID;
- uint32 UiTextureAtlasMemberID;
- uint32 UiTextureKitID;
- int32 MapID;
- uint32 AreaTableID;
-};
-
struct AnimationDataEntry
{
uint32 ID;
@@ -198,120 +154,6 @@ struct ArmorLocationEntry
float Modifier;
};
-struct ArtifactEntry
-{
- LocalizedString Name;
- uint32 ID;
- uint16 UiTextureKitID;
- int32 UiNameColor;
- int32 UiBarOverlayColor;
- int32 UiBarBackgroundColor;
- uint16 ChrSpecializationID;
- uint8 Flags;
- uint8 ArtifactCategoryID;
- uint32 UiModelSceneID;
- uint32 SpellVisualKitID;
-};
-
-struct ArtifactAppearanceEntry
-{
- LocalizedString Name;
- uint32 ID;
- uint16 ArtifactAppearanceSetID;
- uint8 DisplayIndex;
- uint32 UnlockPlayerConditionID;
- uint8 ItemAppearanceModifierID;
- int32 UiSwatchColor;
- float UiModelSaturation;
- float UiModelOpacity;
- uint8 OverrideShapeshiftFormID;
- uint32 OverrideShapeshiftDisplayID;
- uint32 UiItemAppearanceID;
- uint32 UiAltItemAppearanceID;
- uint8 Flags;
- uint16 UiCameraID;
-};
-
-struct ArtifactAppearanceSetEntry
-{
- LocalizedString Name;
- LocalizedString Description;
- uint32 ID;
- uint8 DisplayIndex;
- uint16 UiCameraID;
- uint16 AltHandUICameraID;
- int8 ForgeAttachmentOverride;
- uint8 Flags;
- uint32 ArtifactID;
-};
-
-struct ArtifactCategoryEntry
-{
- uint32 ID;
- int16 XpMultCurrencyID;
- int16 XpMultCurveID;
-};
-
-struct ArtifactPowerEntry
-{
- DBCPosition2D DisplayPos;
- uint32 ID;
- uint8 ArtifactID;
- uint8 MaxPurchasableRank;
- int32 Label;
- uint8 Flags;
- uint8 Tier;
-};
-
-struct ArtifactPowerLinkEntry
-{
- uint32 ID;
- uint16 PowerA;
- uint16 PowerB;
-};
-
-struct ArtifactPowerPickerEntry
-{
- uint32 ID;
- uint32 PlayerConditionID;
-};
-
-struct ArtifactPowerRankEntry
-{
- uint32 ID;
- uint8 RankIndex;
- int32 SpellID;
- uint16 ItemBonusListID;
- float AuraPointsOverride;
- uint32 ArtifactPowerID;
-};
-
-struct ArtifactQuestXPEntry
-{
- uint32 ID;
- std::array<uint32, 10> Difficulty;
-};
-
-struct ArtifactTierEntry
-{
- uint32 ID;
- uint32 ArtifactTier;
- uint32 MaxNumTraits;
- uint32 MaxArtifactKnowledge;
- uint32 KnowledgePlayerCondition;
- uint32 MinimumEmpowerKnowledge;
-};
-
-struct ArtifactUnlockEntry
-{
- uint32 ID;
- uint32 PowerID;
- uint8 PowerRank;
- uint16 ItemBonusListID;
- uint32 PlayerConditionID;
- uint32 ArtifactID;
-};
-
struct AuctionHouseEntry
{
uint32 ID;
@@ -321,98 +163,6 @@ struct AuctionHouseEntry
uint8 ConsignmentRate;
};
-struct AzeriteEmpoweredItemEntry
-{
- uint32 ID;
- int32 ItemID;
- uint32 AzeriteTierUnlockSetID;
- uint32 AzeritePowerSetID;
-};
-
-struct AzeriteEssenceEntry
-{
- uint32 ID;
- LocalizedString Name;
- LocalizedString Description;
- int32 SpecSetID;
-};
-
-struct AzeriteEssencePowerEntry
-{
- uint32 ID;
- LocalizedString SourceAlliance;
- LocalizedString SourceHorde;
- int32 AzeriteEssenceID;
- uint8 Tier;
- int32 MajorPowerDescription;
- int32 MinorPowerDescription;
- int32 MajorPowerActual;
- int32 MinorPowerActual;
-};
-
-struct AzeriteItemEntry
-{
- uint32 ID;
- int32 ItemID;
-};
-
-struct AzeriteItemMilestonePowerEntry
-{
- uint32 ID;
- int32 RequiredLevel;
- int32 AzeritePowerID;
- int32 Type;
- int32 AutoUnlock;
-};
-
-struct AzeriteKnowledgeMultiplierEntry
-{
- uint32 ID;
- float Multiplier;
-};
-
-struct AzeriteLevelInfoEntry
-{
- uint32 ID;
- uint64 BaseExperienceToNextLevel;
- uint64 MinimumExperienceToNextLevel;
- int32 ItemLevel;
-};
-
-struct AzeritePowerEntry
-{
- uint32 ID;
- int32 SpellID;
- int32 ItemBonusListID;
- int32 SpecSetID;
- int32 Flags;
-};
-
-struct AzeritePowerSetMemberEntry
-{
- uint32 ID;
- uint32 AzeritePowerSetID;
- int32 AzeritePowerID;
- int32 Class;
- uint8 Tier;
- int32 OrderIndex;
-};
-
-struct AzeriteTierUnlockEntry
-{
- uint32 ID;
- uint8 ItemCreationContext;
- uint8 Tier;
- uint8 AzeriteLevel;
- uint32 AzeriteTierUnlockSetID;
-};
-
-struct AzeriteTierUnlockSetEntry
-{
- uint32 ID;
- int32 Flags;
-};
-
struct BankBagSlotPricesEntry
{
uint32 ID;
@@ -693,8 +443,8 @@ struct ChrCustomizationOptionEntry
uint32 ID;
uint16 SecondaryID;
int32 Flags;
- uint32 Field110055087004;
- int32 Field110055087005;
+ uint32 ChrRacesID;
+ int32 Sex;
int32 ChrModelID;
int32 SortIndex;
int32 ChrCustomizationCategoryID;
@@ -1634,207 +1384,6 @@ struct GameObjectsEntry
std::array<int32, 8> PropValue;
};
-struct GarrAbilityEntry
-{
- LocalizedString Name;
- LocalizedString Description;
- uint32 ID;
- uint8 GarrAbilityCategoryID;
- uint8 GarrFollowerTypeID;
- int32 IconFileDataID;
- uint16 FactionChangeGarrAbilityID;
- uint16 Flags;
-};
-
-struct GarrBuildingEntry
-{
- uint32 ID;
- LocalizedString HordeName;
- LocalizedString AllianceName;
- LocalizedString Description;
- LocalizedString Tooltip;
- uint8 GarrTypeID;
- uint8 BuildingType;
- int32 HordeGameObjectID;
- int32 AllianceGameObjectID;
- uint8 GarrSiteID;
- uint8 UpgradeLevel;
- int32 BuildSeconds;
- uint16 CurrencyTypeID;
- int32 CurrencyQty;
- uint16 HordeUiTextureKitID;
- uint16 AllianceUiTextureKitID;
- int32 IconFileDataID;
- uint16 AllianceSceneScriptPackageID;
- uint16 HordeSceneScriptPackageID;
- int32 MaxAssignments;
- uint8 ShipmentCapacity;
- uint16 GarrAbilityID;
- uint16 BonusGarrAbilityID;
- uint16 GoldCost;
- uint8 Flags;
-};
-
-struct GarrBuildingPlotInstEntry
-{
- DBCPosition2D MapOffset;
- uint32 ID;
- uint8 GarrBuildingID;
- uint16 GarrSiteLevelPlotInstID;
- uint16 UiTextureAtlasMemberID;
-};
-
-struct GarrClassSpecEntry
-{
- LocalizedString ClassSpec;
- LocalizedString ClassSpecMale;
- LocalizedString ClassSpecFemale;
- uint32 ID;
- uint16 UiTextureAtlasMemberID;
- uint16 GarrFollItemSetID;
- uint8 FollowerClassLimit;
- uint8 Flags;
-};
-
-struct GarrFollowerEntry
-{
- LocalizedString HordeSourceText;
- LocalizedString AllianceSourceText;
- LocalizedString TitleName;
- uint32 ID;
- uint8 GarrTypeID;
- uint8 GarrFollowerTypeID;
- int32 HordeCreatureID;
- int32 AllianceCreatureID;
- uint8 HordeGarrFollRaceID;
- uint8 AllianceGarrFollRaceID;
- uint8 HordeGarrClassSpecID;
- uint8 AllianceGarrClassSpecID;
- uint8 Quality;
- uint8 FollowerLevel;
- uint16 ItemLevelWeapon;
- uint16 ItemLevelArmor;
- int8 HordeSourceTypeEnum;
- int8 AllianceSourceTypeEnum;
- int32 HordeIconFileDataID;
- int32 AllianceIconFileDataID;
- uint16 HordeGarrFollItemSetID;
- uint16 AllianceGarrFollItemSetID;
- uint16 HordeUITextureKitID;
- uint16 AllianceUITextureKitID;
- uint8 Vitality;
- uint8 HordeFlavorGarrStringID;
- uint8 AllianceFlavorGarrStringID;
- uint32 HordeSlottingBroadcastTextID;
- uint32 AllySlottingBroadcastTextID;
- uint8 ChrClassID;
- uint8 Flags;
- uint8 Gender;
-};
-
-struct GarrFollowerXAbilityEntry
-{
- uint32 ID;
- uint8 OrderIndex;
- uint8 FactionIndex;
- uint16 GarrAbilityID;
- uint32 GarrFollowerID;
-};
-
-struct GarrMissionEntry
-{
- LocalizedString Name;
- LocalizedString Location;
- LocalizedString Description;
- DBCPosition2D MapPos;
- DBCPosition2D WorldPos;
- uint32 ID;
- uint8 GarrTypeID;
- uint8 GarrMissionTypeID;
- uint8 GarrFollowerTypeID;
- uint8 MaxFollowers;
- uint32 MissionCost;
- uint16 MissionCostCurrencyTypesID;
- uint8 OfferedGarrMissionTextureID;
- uint16 UiTextureKitID;
- uint32 EnvGarrMechanicID;
- uint8 EnvGarrMechanicTypeID;
- uint32 PlayerConditionID;
- int8 TargetLevel;
- uint16 TargetItemLevel;
- int32 MissionDuration;
- int32 TravelDuration;
- uint32 OfferDuration;
- uint8 BaseCompletionChance;
- uint32 BaseFollowerXP;
- uint32 OvermaxRewardPackID;
- uint8 FollowerDeathChance;
- uint32 AreaID;
- uint32 Flags;
- uint32 GarrMissionSetID;
-};
-
-struct GarrPlotEntry
-{
- uint32 ID;
- char const* Name;
- uint8 PlotType;
- int32 HordeConstructObjID;
- int32 AllianceConstructObjID;
- uint8 Flags;
- uint8 UiCategoryID;
- std::array<uint32, 2> UpgradeRequirement;
-};
-
-struct GarrPlotBuildingEntry
-{
- uint32 ID;
- uint8 GarrPlotID;
- uint8 GarrBuildingID;
-};
-
-struct GarrPlotInstanceEntry
-{
- uint32 ID;
- char const* Name;
- uint8 GarrPlotID;
-};
-
-struct GarrSiteLevelEntry
-{
- uint32 ID;
- DBCPosition2D TownHallUiPos;
- uint32 GarrSiteID;
- uint8 GarrLevel;
- uint16 MapID;
- uint16 UpgradeMovieID;
- uint16 UiTextureKitID;
- uint8 MaxBuildingLevel;
- uint16 UpgradeCost;
- uint16 UpgradeGoldCost;
-};
-
-struct GarrSiteLevelPlotInstEntry
-{
- uint32 ID;
- DBCPosition2D UiMarkerPos;
- uint16 GarrSiteLevelID;
- uint8 GarrPlotInstanceID;
- uint8 UiMarkerSize;
-};
-
-struct GarrTalentTreeEntry
-{
- uint32 ID;
- LocalizedString Name;
- int32 GarrTypeID;
- int32 ClassID;
- int8 MaxTiers;
- int8 UiOrder;
- int8 Flags;
- uint16 UiTextureKitID;
-};
-
struct GemPropertiesEntry
{
uint32 ID;
@@ -3070,34 +2619,6 @@ struct PvpSeasonEntry
int32 HordeAchievementID;
};
-struct PvpTalentEntry
-{
- LocalizedString Description;
- uint32 ID;
- uint32 SpecID;
- int32 SpellID;
- int32 OverridesSpellID;
- int32 Flags;
- int32 ActionBarSpellID;
- int32 PvpTalentCategoryID;
- int32 LevelRequired;
-};
-
-struct PvpTalentCategoryEntry
-{
- uint32 ID;
- uint8 TalentSlotMask;
-};
-
-struct PvpTalentSlotUnlockEntry
-{
- uint32 ID;
- int8 Slot;
- int32 LevelRequired;
- int32 DeathKnightLevelRequired;
- int32 DemonHunterLevelRequired;
-};
-
struct PvpTierEntry
{
uint32 ID;
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 9b314ad7b37..a5d88d81f50 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -210,43 +210,6 @@ enum class AreaTriggerShapeType : int8
Max
};
-enum ArtifactCategory : uint32
-{
- ARTIFACT_CATEGORY_PRIMARY = 1,
- ARTIFACT_CATEGORY_FISHING = 2
-};
-
-enum ArtifactPowerFlag : uint8
-{
- ARTIFACT_POWER_FLAG_GOLD = 0x01,
- ARTIFACT_POWER_FLAG_NO_LINK_REQUIRED = 0x02,
- ARTIFACT_POWER_FLAG_FINAL = 0x04,
- ARTIFACT_POWER_FLAG_SCALES_WITH_NUM_POWERS = 0x08,
- ARTIFACT_POWER_FLAG_DONT_COUNT_FIRST_BONUS_RANK = 0x10,
- ARTIFACT_POWER_FLAG_MAX_RANK_WITH_TIER = 0x20,
-
- ARTIFACT_POWER_FLAG_FIRST = ARTIFACT_POWER_FLAG_NO_LINK_REQUIRED | ARTIFACT_POWER_FLAG_DONT_COUNT_FIRST_BONUS_RANK,
-};
-
-#define MAX_ARTIFACT_TIER 1
-
-#define MAX_AZERITE_EMPOWERED_TIER 5
-
-#define MAX_AZERITE_ESSENCE_SLOT 4
-#define MAX_AZERITE_ESSENCE_RANK 4
-
-enum class AzeriteItemMilestoneType : int32
-{
- MajorEssence = 0,
- MinorEssence = 1,
- BonusStamina = 2
-};
-
-enum AzeriteTierUnlockSetFlags
-{
- AZERITE_TIER_UNLOCK_SET_FLAG_DEFAULT = 0x1
-};
-
enum class BattlePetSpeciesFlags : int32
{
NoRename = 0x00001,
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 5715bdfb589..b6e25d224a2 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -2306,9 +2306,6 @@ void BonusData::Initialize(ItemTemplate const* proto)
RelicType = -1;
HasFixedLevel = false;
RequiredLevelOverride = 0;
- AzeriteTierUnlockSetId = 0;
- if (AzeriteEmpoweredItemEntry const* azeriteEmpoweredItem = sDB2Manager.GetAzeriteEmpoweredItem(proto->GetId()))
- AzeriteTierUnlockSetId = azeriteEmpoweredItem->AzeriteTierUnlockSetID;
Suffix = 0;
RequiredLevelCurve = 0;
@@ -2433,11 +2430,6 @@ void BonusData::AddBonus(uint32 type, std::array<int32, 4> const& values)
RequiredLevelOverride = values[0];
break;
case ITEM_BONUS_AZERITE_TIER_UNLOCK_SET:
- if (values[1] < _state.AzeriteTierUnlockSetPriority)
- {
- AzeriteTierUnlockSetId = values[0];
- _state.AzeriteTierUnlockSetPriority = values[1];
- }
break;
case ITEM_BONUS_OVERRIDE_CAN_DISENCHANT:
CanDisenchant = values[0] != 0;
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index 069ec0b98af..6a1ee01d6ee 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -85,7 +85,6 @@ struct BonusData
uint16 GemRelicRankBonus[MAX_ITEM_PROTO_SOCKETS];
int32 RelicType;
int32 RequiredLevelOverride;
- int32 AzeriteTierUnlockSetId;
uint32 Suffix;
int32 RequiredLevelCurve;
std::array<ItemEffectEntry const*, 13> Effects;
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 6979c9ff82d..37faee79e04 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -38,9 +38,6 @@ struct AccessRequirement;
struct AchievementEntry;
struct AreaTableEntry;
struct AreaTriggerEntry;
-struct AzeriteEssencePowerEntry;
-struct AzeriteItemMilestonePowerEntry;
-struct AzeritePowerEntry;
struct BarberShopStyleEntry;
struct BattlegroundTemplate;
struct CharTitlesEntry;
diff --git a/src/server/game/Handlers/AdventureJournalHandler.cpp b/src/server/game/Handlers/AdventureJournalHandler.cpp
deleted file mode 100644
index 0c4c0e405b2..00000000000
--- a/src/server/game/Handlers/AdventureJournalHandler.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "WorldSession.h"
-#include "AdventureJournalPackets.h"
-#include "DB2Stores.h"
-#include "GossipDef.h"
-#include "ObjectMgr.h"
-#include "Player.h"
-
-void WorldSession::HandleAdventureJournalOpenQuest(WorldPackets::AdventureJournal::AdventureJournalOpenQuest& openQuest)
-{
- if (ChrClassUIDisplayEntry const* uiDisplay = sDB2Manager.GetUiDisplayForClass(Classes(_player->GetClass())))
- if (!_player->MeetPlayerCondition(uiDisplay->AdvGuidePlayerConditionID))
- return;
-
- AdventureJournalEntry const* adventureJournal = sAdventureJournalStore.LookupEntry(openQuest.AdventureJournalID);
- if (!adventureJournal)
- return;
-
- if (!_player->MeetPlayerCondition(adventureJournal->PlayerConditionID))
- return;
-
- Quest const* quest = sObjectMgr->GetQuestTemplate(adventureJournal->QuestID);
- if (!quest)
- return;
-
- if (_player->CanTakeQuest(quest, true))
- _player->PlayerTalkClass->SendQuestGiverQuestDetails(quest, _player->GetGUID(), true, false);
-}
-
-void WorldSession::HandleAdventureJournalUpdateSuggestions(WorldPackets::AdventureJournal::AdventureJournalUpdateSuggestions& updateSuggestions)
-{
- if (ChrClassUIDisplayEntry const* uiDisplay = sDB2Manager.GetUiDisplayForClass(Classes(_player->GetClass())))
- if (!_player->MeetPlayerCondition(uiDisplay->AdvGuidePlayerConditionID))
- return;
-
- WorldPackets::AdventureJournal::AdventureJournalDataResponse response;
- response.OnLevelUp = updateSuggestions.OnLevelUp;
-
- for (AdventureJournalEntry const* adventureJournal : sAdventureJournalStore)
- {
- if (_player->MeetPlayerCondition(adventureJournal->PlayerConditionID))
- {
- WorldPackets::AdventureJournal::AdventureJournalEntry adventureJournalData;
- adventureJournalData.AdventureJournalID = int32(adventureJournal->ID);
- adventureJournalData.Priority = int32(adventureJournal->PriorityMax);
- response.Entries.push_back(adventureJournalData);
- }
- }
-
- SendPacket(response.Write());
-}
diff --git a/src/server/game/Handlers/AdventureMapHandler.cpp b/src/server/game/Handlers/AdventureMapHandler.cpp
index 4d2ae827613..c628f6b229f 100644
--- a/src/server/game/Handlers/AdventureMapHandler.cpp
+++ b/src/server/game/Handlers/AdventureMapHandler.cpp
@@ -17,54 +17,11 @@
#include "WorldSession.h"
#include "AdventureMapPackets.h"
-#include "DB2Stores.h"
-#include "ObjectMgr.h"
-#include "Player.h"
-void WorldSession::HandleCheckIsAdventureMapPoiValid(WorldPackets::AdventureMap::CheckIsAdventureMapPoiValid& checkIsAdventureMapPoiValid)
+void WorldSession::HandleCheckIsAdventureMapPoiValid(WorldPackets::AdventureMap::CheckIsAdventureMapPoiValid& /*checkIsAdventureMapPoiValid*/)
{
- AdventureMapPOIEntry const* entry = sAdventureMapPOIStore.LookupEntry(checkIsAdventureMapPoiValid.AdventureMapPoiID);
- if (!entry)
- return;
-
- auto sendIsPoiValid = [this](uint32 adventureMapPoiId, bool isVisible) -> void
- {
- WorldPackets::AdventureMap::PlayerIsAdventureMapPoiValid isMapPoiValid;
- isMapPoiValid.AdventureMapPoiID = adventureMapPoiId;
- isMapPoiValid.IsVisible = isVisible;
- SendPacket(isMapPoiValid.Write());
- };
-
- Quest const* quest = sObjectMgr->GetQuestTemplate(entry->QuestID);
- if (!quest)
- {
- sendIsPoiValid(entry->ID, false);
- return;
- }
-
- if (!_player->MeetPlayerCondition(entry->PlayerConditionID))
- {
- sendIsPoiValid(entry->ID, false);
- return;
- }
-
- sendIsPoiValid(entry->ID, true);
}
-void WorldSession::HandleAdventureMapStartQuest(WorldPackets::AdventureMap::AdventureMapStartQuest& startQuest)
+void WorldSession::HandleAdventureMapStartQuest(WorldPackets::AdventureMap::AdventureMapStartQuest& /*startQuest*/)
{
- Quest const* quest = sObjectMgr->GetQuestTemplate(startQuest.QuestID);
- if (!quest)
- return;
-
- auto itr = std::find_if(sAdventureMapPOIStore.begin(), sAdventureMapPOIStore.end(), [&](AdventureMapPOIEntry const* adventureMap)
- {
- return adventureMap->QuestID == uint32(startQuest.QuestID) && _player->MeetPlayerCondition(adventureMap->PlayerConditionID);
- });
-
- if (itr == sAdventureMapPOIStore.end())
- return;
-
- if (_player->CanTakeQuest(quest, true))
- _player->AddQuestAndCheckCompletion(quest, _player);
}
diff --git a/src/server/game/Handlers/GarrisonHandler.cpp b/src/server/game/Handlers/GarrisonHandler.cpp
deleted file mode 100644
index 6670cf3fefa..00000000000
--- a/src/server/game/Handlers/GarrisonHandler.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "WorldSession.h"
-#include "GarrisonPackets.h"
-#include "Player.h"
-
-void WorldSession::HandleGetGarrisonInfo(WorldPackets::Garrison::GetGarrisonInfo& /*getGarrisonInfo*/)
-{
-}
-
-void WorldSession::HandleGarrisonPurchaseBuilding(WorldPackets::Garrison::GarrisonPurchaseBuilding& garrisonPurchaseBuilding)
-{
- if (!_player->GetNPCIfCanInteractWith(garrisonPurchaseBuilding.NpcGUID, UNIT_NPC_FLAG_NONE, UNIT_NPC_FLAG_2_GARRISON_ARCHITECT))
- return;
-}
-
-void WorldSession::HandleGarrisonCancelConstruction(WorldPackets::Garrison::GarrisonCancelConstruction& garrisonCancelConstruction)
-{
- if (!_player->GetNPCIfCanInteractWith(garrisonCancelConstruction.NpcGUID, UNIT_NPC_FLAG_NONE, UNIT_NPC_FLAG_2_GARRISON_ARCHITECT))
- return;
-}
-
-void WorldSession::HandleGarrisonRequestBlueprintAndSpecializationData(WorldPackets::Garrison::GarrisonRequestBlueprintAndSpecializationData& /*garrisonRequestBlueprintAndSpecializationData*/)
-{
-}
-
-void WorldSession::HandleGarrisonGetMapData(WorldPackets::Garrison::GarrisonGetMapData& /*garrisonGetMapData*/)
-{
-}
diff --git a/src/server/game/Server/Packets/AdventureJournalPackets.cpp b/src/server/game/Server/Packets/AdventureJournalPackets.cpp
deleted file mode 100644
index 49f4b9e785d..00000000000
--- a/src/server/game/Server/Packets/AdventureJournalPackets.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "AdventureJournalPackets.h"
-
-namespace WorldPackets
-{
-namespace AdventureJournal
-{
-void AdventureJournalOpenQuest::Read()
-{
- _worldPacket >> AdventureJournalID;
-}
-
-void AdventureJournalUpdateSuggestions::Read()
-{
- OnLevelUp = _worldPacket.ReadBit();
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, AdventureJournalEntry const& adventureJournalEntry)
-{
- data << int32(adventureJournalEntry.AdventureJournalID);
- data << int32(adventureJournalEntry.Priority);
-
- return data;
-}
-
-WorldPacket const* AdventureJournalDataResponse::Write()
-{
- _worldPacket.WriteBit(OnLevelUp);
- _worldPacket.FlushBits();
- _worldPacket << uint32(Entries.size());
-
- for (AdventureJournalEntry const& adventureJournalEntry : Entries)
- _worldPacket << adventureJournalEntry;
-
- return &_worldPacket;
-}
-}
-}
diff --git a/src/server/game/Server/Packets/AdventureJournalPackets.h b/src/server/game/Server/Packets/AdventureJournalPackets.h
deleted file mode 100644
index b87638b929c..00000000000
--- a/src/server/game/Server/Packets/AdventureJournalPackets.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef AdventureJournalPackets_h__
-#define AdventureJournalPackets_h__
-
-#include "Packet.h"
-
-namespace WorldPackets
-{
- namespace AdventureJournal
- {
- class AdventureJournalOpenQuest final : public ClientPacket
- {
- public:
- AdventureJournalOpenQuest(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_JOURNAL_OPEN_QUEST, std::move(packet)) { }
-
- void Read() override;
-
- int32 AdventureJournalID = 0;
- };
-
- class AdventureJournalUpdateSuggestions final : public ClientPacket
- {
- public:
- AdventureJournalUpdateSuggestions(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS, std::move(packet)) { }
-
- void Read() override;
-
- bool OnLevelUp = false;
- };
-
- struct AdventureJournalEntry
- {
- int32 AdventureJournalID = 0;
- int32 Priority = 0;
- };
-
- class AdventureJournalDataResponse final : public ServerPacket
- {
- public:
- AdventureJournalDataResponse() : ServerPacket(SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE, 7) { }
-
- WorldPacket const* Write() override;
-
- bool OnLevelUp = false;
- std::vector<AdventureJournalEntry> Entries;
- };
- }
-}
-
-#endif // AdventureJournalPackets_h__
diff --git a/src/server/game/Server/Packets/AllPackets.h b/src/server/game/Server/Packets/AllPackets.h
index fe35ac630df..c51cc8f8785 100644
--- a/src/server/game/Server/Packets/AllPackets.h
+++ b/src/server/game/Server/Packets/AllPackets.h
@@ -20,7 +20,6 @@
#include "AchievementPackets.h"
#include "AddonPackets.h"
-#include "AdventureJournalPackets.h"
#include "AdventureMapPackets.h"
#include "AreaTriggerPackets.h"
#include "AuctionHousePackets.h"
@@ -42,7 +41,6 @@
#include "DuelPackets.h"
#include "EquipmentSetPackets.h"
#include "GameObjectPackets.h"
-#include "GarrisonPackets.h"
#include "GuildPackets.h"
#include "HotfixPackets.h"
#include "InspectPackets.h"
diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp
deleted file mode 100644
index 0796748d877..00000000000
--- a/src/server/game/Server/Packets/GarrisonPackets.cpp
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "GarrisonPackets.h"
-#include "DB2Structure.h"
-#include "Errors.h"
-
-namespace WorldPackets::Garrison
-{
-WorldPacket const* GarrisonCreateResult::Write()
-{
- _worldPacket << uint32(Result);
- _worldPacket << uint32(GarrSiteLevelID);
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonDeleteResult::Write()
-{
- _worldPacket << uint32(Result);
- _worldPacket << uint32(GarrSiteID);
-
- return &_worldPacket;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonPlotInfo const& plotInfo)
-{
- data << uint32(plotInfo.GarrPlotInstanceID);
- data << plotInfo.PlotPos;
- data << uint32(plotInfo.PlotType);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingInfo const& buildingInfo)
-{
- data << uint32(buildingInfo.GarrPlotInstanceID);
- data << uint32(buildingInfo.GarrBuildingID);
- data << buildingInfo.TimeBuilt;
- data << uint32(buildingInfo.CurrentGarSpecID);
- data << buildingInfo.TimeSpecCooldown;
- data.WriteBit(buildingInfo.Active);
- data.FlushBits();
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonFollower const& follower)
-{
- data << uint64(follower.DbID);
- data << uint32(follower.GarrFollowerID);
- data << uint32(follower.Quality);
- data << uint32(follower.FollowerLevel);
- data << uint32(follower.ItemLevelWeapon);
- data << uint32(follower.ItemLevelArmor);
- data << uint32(follower.Xp);
- data << uint32(follower.Durability);
- data << uint32(follower.CurrentBuildingID);
- data << uint32(follower.CurrentMissionID);
- data << uint32(follower.AbilityID.size());
- data << uint32(follower.ZoneSupportSpellID);
- data << uint32(follower.FollowerStatus);
- data << int32(follower.Health);
- data << int8(follower.BoardIndex);
- data << follower.HealingTimestamp;
- for (GarrAbilityEntry const* ability : follower.AbilityID)
- data << uint32(ability->ID);
-
- data.WriteBits(follower.CustomName.length(), 7);
- data.FlushBits();
- data.WriteString(follower.CustomName);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonEncounter const& encounter)
-{
- data << int32(encounter.GarrEncounterID);
- data << uint32(encounter.Mechanics.size());
- data << int32(encounter.GarrAutoCombatantID);
- data << int32(encounter.Health);
- data << int32(encounter.MaxHealth);
- data << int32(encounter.Attack);
- data << int8(encounter.BoardIndex);
-
- if (!encounter.Mechanics.empty())
- data.append(encounter.Mechanics.data(), encounter.Mechanics.size());
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionReward const& missionRewardItem)
-{
- data << int32(missionRewardItem.ItemID);
- data << uint32(missionRewardItem.ItemQuantity);
- data << int32(missionRewardItem.CurrencyID);
- data << uint32(missionRewardItem.CurrencyQuantity);
- data << uint32(missionRewardItem.FollowerXP);
- data << uint32(missionRewardItem.GarrMssnBonusAbilityID);
- data << int32(missionRewardItem.ItemFileDataID);
- data.WriteBit(missionRewardItem.ItemInstance.has_value());
- data.FlushBits();
-
- if (missionRewardItem.ItemInstance)
- data << *missionRewardItem.ItemInstance;
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonMission const& mission)
-{
- data << uint64(mission.DbID);
- data << int32(mission.MissionRecID);
- data << mission.OfferTime;
- data << mission.OfferDuration;
- data << mission.StartTime;
- data << mission.TravelDuration;
- data << mission.MissionDuration;
- data << int32(mission.MissionState);
- data << int32(mission.SuccessChance);
- data << uint32(mission.Flags);
- data << float(mission.MissionScalar);
- data << int32(mission.ContentTuningID);
- data << uint32(mission.Encounters.size());
- data << uint32(mission.Rewards.size());
- data << uint32(mission.OvermaxRewards.size());
-
- for (GarrisonEncounter const& encounter : mission.Encounters)
- data << encounter;
-
- for (GarrisonMissionReward const& missionRewardItem : mission.Rewards)
- data << missionRewardItem;
-
- for (GarrisonMissionReward const& missionRewardItem : mission.OvermaxRewards)
- data << missionRewardItem;
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionBonusAbility const& areaBonus)
-{
- data << areaBonus.StartTime;
- data << uint32(areaBonus.GarrMssnBonusAbilityID);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonTalentSocketData const& talentSocketData)
-{
- data << int32(talentSocketData.SoulbindConduitID);
- data << int32(talentSocketData.SoulbindConduitRank);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonTalent const& talent)
-{
- data << int32(talent.GarrTalentID);
- data << int32(talent.Rank);
- data << talent.ResearchStartTime;
- data << int32(talent.Flags);
- data.WriteBit(talent.Socket.has_value());
- data.FlushBits();
-
- if (talent.Socket)
- data << *talent.Socket;
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonCollectionEntry const& collectionEntry)
-{
- data << int32(collectionEntry.EntryID);
- data << int32(collectionEntry.Rank);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonCollection const& collection)
-{
- data << int32(collection.Type);
- data << uint32(collection.Entries.size());
- for (GarrisonCollectionEntry const& collectionEntry : collection.Entries)
- data << collectionEntry;
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonEventEntry const& event)
-{
- data << int64(event.EventValue);
- data << int32(event.EntryID);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonEventList const& eventList)
-{
- data << int32(eventList.Type);
- data << uint32(eventList.Events.size());
- for (GarrisonEventEntry const& event : eventList.Events)
- data << event;
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonSpecGroup const& specGroup)
-{
- data << int32(specGroup.ChrSpecializationID);
- data << int32(specGroup.SoulbindID);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison)
-{
- ASSERT(garrison.Missions.size() == garrison.MissionRewards.size());
- ASSERT(garrison.Missions.size() == garrison.MissionOvermaxRewards.size());
- ASSERT(garrison.Missions.size() == garrison.CanStartMission.size());
-
- data << int32(garrison.GarrTypeID);
- data << int32(garrison.GarrSiteID);
- data << int32(garrison.GarrSiteLevelID);
- data << uint32(garrison.Buildings.size());
- data << uint32(garrison.Plots.size());
- data << uint32(garrison.Followers.size());
- data << uint32(garrison.AutoTroops.size());
- data << uint32(garrison.Missions.size());
- data << uint32(garrison.MissionRewards.size());
- data << uint32(garrison.MissionOvermaxRewards.size());
- data << uint32(garrison.MissionAreaBonuses.size());
- data << uint32(garrison.Talents.size());
- data << uint32(garrison.Collections.size());
- data << uint32(garrison.EventLists.size());
- data << uint32(garrison.SpecGroups.size());
- data << uint32(garrison.CanStartMission.size());
- data << uint32(garrison.ArchivedMissions.size());
- data << int32(garrison.NumFollowerActivationsRemaining);
- data << uint32(garrison.NumMissionsStartedToday);
- data << int32(garrison.MinAutoTroopLevel);
-
- for (GarrisonPlotInfo* plot : garrison.Plots)
- data << *plot;
-
- for (std::vector<GarrisonMissionReward> const& missionReward : garrison.MissionRewards)
- data << uint32(missionReward.size());
-
- for (std::vector<GarrisonMissionReward> const& missionReward : garrison.MissionOvermaxRewards)
- data << uint32(missionReward.size());
-
- for (GarrisonMissionBonusAbility const* areaBonus : garrison.MissionAreaBonuses)
- data << *areaBonus;
-
- for (GarrisonCollection const& collection : garrison.Collections)
- data << collection;
-
- for (GarrisonEventList const& eventList : garrison.EventLists)
- data << eventList;
-
- for (GarrisonSpecGroup const& specGroup : garrison.SpecGroups)
- data << specGroup;
-
- if (!garrison.ArchivedMissions.empty())
- data.append(garrison.ArchivedMissions.data(), garrison.ArchivedMissions.size());
-
- for (GarrisonBuildingInfo const* building : garrison.Buildings)
- data << *building;
-
- for (bool canStartMission : garrison.CanStartMission)
- data.WriteBit(canStartMission);
-
- data.FlushBits();
-
- for (GarrisonFollower const* follower : garrison.Followers)
- data << *follower;
-
- for (GarrisonFollower const* follower : garrison.AutoTroops)
- data << *follower;
-
- for (GarrisonMission const* mission : garrison.Missions)
- data << *mission;
-
- for (GarrisonTalent const& talent : garrison.Talents)
- data << talent;
-
- for (std::vector<GarrisonMissionReward> const& missionReward : garrison.MissionRewards)
- for (GarrisonMissionReward const& missionRewardItem : missionReward)
- data << missionRewardItem;
-
- for (std::vector<GarrisonMissionReward> const& missionReward : garrison.MissionOvermaxRewards)
- for (GarrisonMissionReward const& missionRewardItem : missionReward)
- data << missionRewardItem;
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, FollowerSoftCapInfo const& followerSoftCapInfo)
-{
- data << int32(followerSoftCapInfo.GarrFollowerTypeID);
- data << uint32(followerSoftCapInfo.Count);
- return data;
-}
-
-WorldPacket const* GetGarrisonInfoResult::Write()
-{
- _worldPacket << int32(FactionIndex);
- _worldPacket << uint32(Garrisons.size());
- _worldPacket << uint32(FollowerSoftCaps.size());
- for (FollowerSoftCapInfo const& followerSoftCapInfo : FollowerSoftCaps)
- _worldPacket << followerSoftCapInfo;
-
- for (GarrisonInfo const& garrison : Garrisons)
- _worldPacket << garrison;
-
- return &_worldPacket;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonRemoteBuildingInfo const& building)
-{
- data << uint32(building.GarrPlotInstanceID);
- data << uint32(building.GarrBuildingID);
-
- return data;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonRemoteSiteInfo const& site)
-{
- data << uint32(site.GarrSiteLevelID);
- data << uint32(site.Buildings.size());
- for (GarrisonRemoteBuildingInfo const& building : site.Buildings)
- data << building;
-
- return data;
-}
-
-WorldPacket const* GarrisonRemoteInfo::Write()
-{
- _worldPacket << uint32(Sites.size());
- for (GarrisonRemoteSiteInfo const& site : Sites)
- _worldPacket << site;
-
- return &_worldPacket;
-}
-
-void GarrisonPurchaseBuilding::Read()
-{
- _worldPacket >> NpcGUID;
- _worldPacket >> PlotInstanceID;
- _worldPacket >> BuildingID;
-}
-
-WorldPacket const* GarrisonPlaceBuildingResult::Write()
-{
- _worldPacket << int32(GarrTypeID);
- _worldPacket << uint32(Result);
- _worldPacket << BuildingInfo;
- _worldPacket.WriteBit(PlayActivationCinematic);
- _worldPacket.FlushBits();
-
- return &_worldPacket;
-}
-
-void GarrisonCancelConstruction::Read()
-{
- _worldPacket >> NpcGUID;
- _worldPacket >> PlotInstanceID;
-}
-
-WorldPacket const* GarrisonBuildingRemoved::Write()
-{
- _worldPacket << int32(GarrTypeID);
- _worldPacket << uint32(Result);
- _worldPacket << uint32(GarrPlotInstanceID);
- _worldPacket << uint32(GarrBuildingID);
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonLearnBlueprintResult::Write()
-{
- _worldPacket << int32(GarrTypeID);
- _worldPacket << uint32(Result);
- _worldPacket << uint32(BuildingID);
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonUnlearnBlueprintResult::Write()
-{
- _worldPacket << int32(GarrTypeID);
- _worldPacket << uint32(Result);
- _worldPacket << uint32(BuildingID);
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonRequestBlueprintAndSpecializationDataResult::Write()
-{
- _worldPacket << int32(GarrTypeID);
- _worldPacket << uint32(BlueprintsKnown ? BlueprintsKnown->size() : 0);
- _worldPacket << uint32(SpecializationsKnown ? SpecializationsKnown->size() : 0);
- if (BlueprintsKnown)
- for (uint32 blueprint : *BlueprintsKnown)
- _worldPacket << uint32(blueprint);
-
- if (SpecializationsKnown)
- for (uint32 specialization : *SpecializationsKnown)
- _worldPacket << uint32(specialization);
-
- return &_worldPacket;
-}
-
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingMapData const& building)
-{
- data << uint32(building.GarrBuildingPlotInstID);
- data << building.Pos;
-
- return data;
-}
-
-WorldPacket const* GarrisonMapDataResponse::Write()
-{
- _worldPacket << uint32(Buildings.size());
- for (GarrisonBuildingMapData& landmark : Buildings)
- _worldPacket << landmark;
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonPlotPlaced::Write()
-{
- _worldPacket << int32(GarrTypeID);
- _worldPacket << *PlotInfo;
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonPlotRemoved::Write()
-{
- _worldPacket << uint32(GarrPlotInstanceID);
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonAddFollowerResult::Write()
-{
- _worldPacket << int32(GarrTypeID);
- _worldPacket << uint32(Result);
- _worldPacket << Follower;
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonRemoveFollowerResult::Write()
-{
- _worldPacket << uint64(FollowerDBID);
- _worldPacket << int32(GarrTypeID);
- _worldPacket << uint32(Result);
- _worldPacket << uint32(Destroyed);
-
- return &_worldPacket;
-}
-
-WorldPacket const* GarrisonBuildingActivated::Write()
-{
- _worldPacket << uint32(GarrPlotInstanceID);
-
- return &_worldPacket;
-}
-}
diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h
deleted file mode 100644
index 983982842f8..00000000000
--- a/src/server/game/Server/Packets/GarrisonPackets.h
+++ /dev/null
@@ -1,443 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GarrisonPackets_h__
-#define GarrisonPackets_h__
-
-#include "Packet.h"
-#include "ItemPacketsCommon.h"
-#include "ObjectGuid.h"
-#include "Optional.h"
-#include "Position.h"
-#include "PacketUtilities.h"
-#include <list>
-#include <unordered_set>
-#include <vector>
-
-struct GarrAbilityEntry;
-
-namespace WorldPackets
-{
- namespace Garrison
- {
- class GarrisonCreateResult final : public ServerPacket
- {
- public:
- GarrisonCreateResult() : ServerPacket(SMSG_GARRISON_CREATE_RESULT, 4 + 4) { }
-
- WorldPacket const* Write() override;
-
- uint32 GarrSiteLevelID = 0;
- uint32 Result = 0;
- };
-
- class GarrisonDeleteResult final : public ServerPacket
- {
- public:
- GarrisonDeleteResult() : ServerPacket(SMSG_GARRISON_DELETE_RESULT, 4 + 4) { }
-
- WorldPacket const* Write() override;
-
- uint32 Result = 0;
- uint32 GarrSiteID = 0;
- };
-
- class GetGarrisonInfo final : public ClientPacket
- {
- public:
- GetGarrisonInfo(WorldPacket&& packet) : ClientPacket(CMSG_GET_GARRISON_INFO, std::move(packet)) { }
-
- void Read() override { }
- };
-
- struct GarrisonPlotInfo
- {
- uint32 GarrPlotInstanceID = 0;
- TaggedPosition<Position::XYZO> PlotPos;
- uint32 PlotType = 0;
- };
-
- struct GarrisonBuildingInfo
- {
- uint32 GarrPlotInstanceID = 0;
- uint32 GarrBuildingID = 0;
- Timestamp<> TimeBuilt;
- uint32 CurrentGarSpecID = 0;
- Timestamp<> TimeSpecCooldown = time_t(2288912640); // 06/07/1906 18:35:44 - another in the series of magic blizz dates
- bool Active = false;
- };
-
- struct GarrisonFollower
- {
- uint64 DbID = 0;
- uint32 GarrFollowerID = 0;
- uint32 Quality = 0;
- uint32 FollowerLevel = 0;
- uint32 ItemLevelWeapon = 0;
- uint32 ItemLevelArmor = 0;
- uint32 Xp = 0;
- uint32 Durability = 0;
- uint32 CurrentBuildingID = 0;
- uint32 CurrentMissionID = 0;
- std::list<GarrAbilityEntry const*> AbilityID;
- uint32 ZoneSupportSpellID = 0;
- uint32 FollowerStatus = 0;
- int32 Health = 0;
- Timestamp<> HealingTimestamp;
- int8 BoardIndex = 0;
- std::string CustomName;
- };
-
- struct GarrisonEncounter
- {
- int32 GarrEncounterID = 0;
- std::vector<int32> Mechanics;
- int32 GarrAutoCombatantID = 0;
- int32 Health = 0;
- int32 MaxHealth = 0;
- int32 Attack = 0;
- int8 BoardIndex = 0;
- };
-
- struct GarrisonMissionReward
- {
- int32 ItemID = 0;
- uint32 ItemQuantity = 0;
- int32 CurrencyID = 0;
- uint32 CurrencyQuantity = 0;
- uint32 FollowerXP = 0;
- uint32 GarrMssnBonusAbilityID = 0;
- int32 ItemFileDataID = 0;
- Optional<Item::ItemInstance> ItemInstance;
- };
-
- struct GarrisonMission
- {
- uint64 DbID = 0;
- int32 MissionRecID = 0;
- Timestamp<> OfferTime;
- Duration<Seconds> OfferDuration;
- Timestamp<> StartTime = time_t(2288912640);
- Duration<Seconds> TravelDuration;
- Duration<Seconds> MissionDuration;
- int32 MissionState = 0;
- int32 SuccessChance = 0;
- uint32 Flags = 0;
- float MissionScalar = 1.0f;
- int32 ContentTuningID = 0;
- std::vector<GarrisonEncounter> Encounters;
- std::vector<GarrisonMissionReward> Rewards;
- std::vector<GarrisonMissionReward> OvermaxRewards;
- };
-
- struct GarrisonMissionBonusAbility
- {
- uint32 GarrMssnBonusAbilityID = 0;
- Timestamp<> StartTime;
- };
-
- struct GarrisonTalentSocketData
- {
- int32 SoulbindConduitID = 0;
- int32 SoulbindConduitRank = 0;
- };
-
- struct GarrisonTalent
- {
- int32 GarrTalentID = 0;
- int32 Rank = 0;
- Timestamp<> ResearchStartTime;
- int32 Flags = 0;
- Optional<GarrisonTalentSocketData> Socket;
- };
-
- struct GarrisonCollectionEntry
- {
- int32 EntryID = 0;
- int32 Rank = 0;
- };
-
- struct GarrisonCollection
- {
- int32 Type = 0;
- std::vector<GarrisonCollectionEntry> Entries;
- };
-
- struct GarrisonEventEntry
- {
- int32 EntryID = 0;
- int64 EventValue = 0;
- };
-
- struct GarrisonEventList
- {
- int32 Type = 0;
- std::vector<GarrisonEventEntry> Events;
- };
-
- struct GarrisonSpecGroup
- {
- int32 ChrSpecializationID = 0;
- int32 SoulbindID = 0;
- };
-
- struct GarrisonInfo
- {
- int32 GarrTypeID = 0;
- uint32 GarrSiteID = 0;
- uint32 GarrSiteLevelID = 0;
- uint32 NumFollowerActivationsRemaining = 0;
- uint32 NumMissionsStartedToday = 0; // might mean something else, but sending 0 here enables follower abilities "Increase success chance of the first mission of the day by %."
- int32 MinAutoTroopLevel = 0;
- std::vector<GarrisonPlotInfo*> Plots;
- std::vector<GarrisonBuildingInfo const*> Buildings;
- std::vector<GarrisonFollower const*> Followers;
- std::vector<GarrisonFollower const*> AutoTroops;
- std::vector<GarrisonMission const*> Missions;
- std::vector<std::vector<GarrisonMissionReward>> MissionRewards;
- std::vector<std::vector<GarrisonMissionReward>> MissionOvermaxRewards;
- std::vector<GarrisonMissionBonusAbility const*> MissionAreaBonuses;
- std::vector<GarrisonTalent> Talents;
- std::vector<GarrisonCollection> Collections;
- std::vector<GarrisonEventList> EventLists;
- std::vector<GarrisonSpecGroup> SpecGroups;
- std::vector<bool> CanStartMission;
- std::vector<int32> ArchivedMissions;
- };
-
- struct FollowerSoftCapInfo
- {
- int32 GarrFollowerTypeID;
- uint32 Count;
- };
-
- class GetGarrisonInfoResult final : public ServerPacket
- {
- public:
- GetGarrisonInfoResult() : ServerPacket(SMSG_GET_GARRISON_INFO_RESULT) { }
-
- WorldPacket const* Write() override;
-
- uint32 FactionIndex = 0;
- std::vector<GarrisonInfo> Garrisons;
- std::vector<FollowerSoftCapInfo> FollowerSoftCaps;
- };
-
- struct GarrisonRemoteBuildingInfo
- {
- GarrisonRemoteBuildingInfo() : GarrPlotInstanceID(0), GarrBuildingID(0) { }
- GarrisonRemoteBuildingInfo(uint32 plotInstanceId, uint32 buildingId) : GarrPlotInstanceID(plotInstanceId), GarrBuildingID(buildingId) { }
-
- uint32 GarrPlotInstanceID;
- uint32 GarrBuildingID;
- };
-
- struct GarrisonRemoteSiteInfo
- {
- uint32 GarrSiteLevelID = 0;
- std::vector<GarrisonRemoteBuildingInfo> Buildings;
- };
-
- class GarrisonRemoteInfo final : public ServerPacket
- {
- public:
- GarrisonRemoteInfo() : ServerPacket(SMSG_GARRISON_REMOTE_INFO) { }
-
- WorldPacket const* Write() override;
-
- std::vector<GarrisonRemoteSiteInfo> Sites;
- };
-
- class GarrisonPurchaseBuilding final : public ClientPacket
- {
- public:
- GarrisonPurchaseBuilding(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_PURCHASE_BUILDING, std::move(packet)) { }
-
- void Read() override;
-
- ObjectGuid NpcGUID;
- uint32 BuildingID = 0;
- uint32 PlotInstanceID = 0;
- };
-
- class GarrisonPlaceBuildingResult final : public ServerPacket
- {
- public:
- GarrisonPlaceBuildingResult() : ServerPacket(SMSG_GARRISON_PLACE_BUILDING_RESULT) { }
-
- WorldPacket const* Write() override;
-
- int32 GarrTypeID = 0;
- uint32 Result = 0;
- GarrisonBuildingInfo BuildingInfo;
- bool PlayActivationCinematic = false;
- };
-
- class GarrisonCancelConstruction final : public ClientPacket
- {
- public:
- GarrisonCancelConstruction(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_CANCEL_CONSTRUCTION, std::move(packet)) { }
-
- void Read() override;
-
- ObjectGuid NpcGUID;
- uint32 PlotInstanceID = 0;
- };
-
- class GarrisonBuildingRemoved final : public ServerPacket
- {
- public:
- GarrisonBuildingRemoved() : ServerPacket(SMSG_GARRISON_BUILDING_REMOVED, 4 + 4 + 4 + 4) { }
-
- WorldPacket const* Write() override;
-
- int32 GarrTypeID = 0;
- uint32 Result = 0;
- uint32 GarrPlotInstanceID = 0;
- uint32 GarrBuildingID = 0;
- };
-
- class GarrisonLearnBlueprintResult final : public ServerPacket
- {
- public:
- GarrisonLearnBlueprintResult() : ServerPacket(SMSG_GARRISON_LEARN_BLUEPRINT_RESULT, 4 + 4 + 4) { }
-
- WorldPacket const* Write() override;
-
- int32 GarrTypeID = 0;
- uint32 BuildingID = 0;
- uint32 Result = 0;
- };
-
- class GarrisonUnlearnBlueprintResult final : public ServerPacket
- {
- public:
- GarrisonUnlearnBlueprintResult() : ServerPacket(SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT, 4 + 4) { }
-
- WorldPacket const* Write() override;
-
- int32 GarrTypeID = 0;
- uint32 BuildingID = 0;
- uint32 Result = 0;
- };
-
- class GarrisonRequestBlueprintAndSpecializationData final : public ClientPacket
- {
- public:
- GarrisonRequestBlueprintAndSpecializationData(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA, std::move(packet)) { }
-
- void Read() override { }
- };
-
- class GarrisonRequestBlueprintAndSpecializationDataResult final : public ServerPacket
- {
- public:
- GarrisonRequestBlueprintAndSpecializationDataResult() : ServerPacket(SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT, 400) { }
-
- WorldPacket const* Write() override;
-
- int32 GarrTypeID = 0;
- std::unordered_set<uint32> const* SpecializationsKnown = nullptr;
- std::unordered_set<uint32> const* BlueprintsKnown = nullptr;
- };
-
- class GarrisonGetMapData final : public ClientPacket
- {
- public:
- GarrisonGetMapData(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_GET_MAP_DATA, std::move(packet)) { }
-
- void Read() override { }
- };
-
- struct GarrisonBuildingMapData
- {
- GarrisonBuildingMapData() : GarrBuildingPlotInstID(0), Pos() { }
- GarrisonBuildingMapData(uint32 buildingPlotInstId, Position const& pos) : GarrBuildingPlotInstID(buildingPlotInstId), Pos(pos) { }
-
- uint32 GarrBuildingPlotInstID;
- TaggedPosition<Position::XYZ> Pos;
- };
-
- class GarrisonMapDataResponse final : public ServerPacket
- {
- public:
- GarrisonMapDataResponse() : ServerPacket(SMSG_GARRISON_MAP_DATA_RESPONSE) { }
-
- WorldPacket const* Write() override;
-
- std::vector<GarrisonBuildingMapData> Buildings;
- };
-
- class GarrisonPlotPlaced final : public ServerPacket
- {
- public:
- GarrisonPlotPlaced() : ServerPacket(SMSG_GARRISON_PLOT_PLACED) { }
-
- WorldPacket const* Write() override;
-
- int32 GarrTypeID = 0;
- GarrisonPlotInfo* PlotInfo = nullptr;
- };
-
- class GarrisonPlotRemoved final : public ServerPacket
- {
- public:
- GarrisonPlotRemoved() : ServerPacket(SMSG_GARRISON_PLOT_REMOVED, 4) { }
-
- WorldPacket const* Write() override;
-
- uint32 GarrPlotInstanceID = 0;
- };
-
- class GarrisonAddFollowerResult final : public ServerPacket
- {
- public:
- GarrisonAddFollowerResult() : ServerPacket(SMSG_GARRISON_ADD_FOLLOWER_RESULT, 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 5 * 4 + 4) { }
-
- WorldPacket const* Write() override;
-
- int32 GarrTypeID = 0;
- GarrisonFollower Follower;
- uint32 Result = 0;
- };
-
- class GarrisonRemoveFollowerResult final : public ServerPacket
- {
- public:
- GarrisonRemoveFollowerResult() : ServerPacket(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, 8 + 4 + 4 + 4) { }
-
- WorldPacket const* Write() override;
-
- uint64 FollowerDBID = 0;
- int32 GarrTypeID = 0;
- uint32 Result = 0;
- uint32 Destroyed = 0;
- };
-
- class GarrisonBuildingActivated final : public ServerPacket
- {
- public:
- GarrisonBuildingActivated() : ServerPacket(SMSG_GARRISON_BUILDING_ACTIVATED, 4) { }
-
- WorldPacket const* Write() override;
-
- uint32 GarrPlotInstanceID = 0;
- };
- }
-}
-
-#endif // GarrisonPackets_h__
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index a1d80be1054..d122169e57f 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -155,8 +155,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_ADD_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddFriendOpcode);
DEFINE_HANDLER(CMSG_ADD_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddIgnoreOpcode);
DEFINE_HANDLER(CMSG_ADD_TOY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddToy);
- DEFINE_HANDLER(CMSG_ADVENTURE_JOURNAL_OPEN_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAdventureJournalOpenQuest);
- DEFINE_HANDLER(CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAdventureJournalUpdateSuggestions);
DEFINE_HANDLER(CMSG_ADVENTURE_MAP_START_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAdventureMapStartQuest);
DEFINE_HANDLER(CMSG_ALTER_APPEARANCE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAlterAppearance);
DEFINE_HANDLER(CMSG_AREA_SPIRIT_HEALER_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAreaSpiritHealerQueryOpcode);
@@ -441,37 +439,9 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_GAME_EVENT_DEBUG_ENABLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GAME_OBJ_REPORT_USE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGameobjectReportUse);
DEFINE_HANDLER(CMSG_GAME_OBJ_USE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGameObjectUseOpcode);
- DEFINE_HANDLER(CMSG_GARRISON_ADD_FOLLOWER_HEALTH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_CANCEL_CONSTRUCTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGarrisonCancelConstruction);
- DEFINE_HANDLER(CMSG_GARRISON_CHECK_UPGRADEABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_COMPLETE_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_GENERATE_RECRUITS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_GET_MAP_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGarrisonGetMapData);
- DEFINE_HANDLER(CMSG_GARRISON_GET_MISSION_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_LEARN_TALENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_MISSION_BONUS_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_PURCHASE_BUILDING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGarrisonPurchaseBuilding);
- DEFINE_HANDLER(CMSG_GARRISON_RECRUIT_FOLLOWER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_REMOVE_FOLLOWER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_RENAME_FOLLOWER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGarrisonRequestBlueprintAndSpecializationData);
- DEFINE_HANDLER(CMSG_GARRISON_REQUEST_SHIPMENT_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_RESEARCH_TALENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_SET_BUILDING_ACTIVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_SET_FOLLOWER_FAVORITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_SET_FOLLOWER_INACTIVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_SOCKET_TALENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_START_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GARRISON_SWAP_BUILDINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GENERATE_RANDOM_CHARACTER_NAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleRandomizeCharNameOpcode);
DEFINE_HANDLER(CMSG_GET_ACCOUNT_CHARACTER_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GET_ACCOUNT_NOTIFICATIONS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_GET_GARRISON_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGetGarrisonInfo);
DEFINE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGetItemPurchaseData);
DEFINE_HANDLER(CMSG_GET_LANDING_PAGE_SHIPMENTS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GET_MIRROR_IMAGE_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMirrorImageDataRequest);
@@ -738,7 +708,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_QUERY_COUNTDOWN_TIMER, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQueryCountdownTimer);
DEFINE_HANDLER(CMSG_QUERY_CREATURE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCreatureQuery);
DEFINE_HANDLER(CMSG_QUERY_GAME_OBJECT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGameObjectQueryOpcode);
- DEFINE_HANDLER(CMSG_QUERY_GARRISON_PET_NAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_QUERY_GUILD_INFO, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryOpcode);
DEFINE_HANDLER(CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQueryInspectAchievements);
DEFINE_HANDLER(CMSG_QUERY_NEXT_MAIL_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQueryNextMailTime);
@@ -810,7 +779,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_REQUEST_COVENANT_CALLINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_CROWD_CONTROL_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_FORCED_REACTIONS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestForcedReactionsOpcode);
- DEFINE_HANDLER(CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_GUILD_PARTY_STATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildRequestPartyState);
DEFINE_HANDLER(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestGuildRewardsList);
DEFINE_HANDLER(CMSG_REQUEST_LATEST_SPLASH_SCREEN, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestLatestSplashScreen);
@@ -899,7 +867,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_SET_TRADE_CURRENCY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeCurrencyOpcode);
DEFINE_HANDLER(CMSG_SET_TRADE_GOLD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeGoldOpcode);
DEFINE_HANDLER(CMSG_SET_TRADE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeItemOpcode);
- DEFINE_HANDLER(CMSG_SET_USING_PARTY_GARRISON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SET_WAR_MODE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWarMode);
DEFINE_HANDLER(CMSG_SET_WATCHED_FACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWatchedFactionOpcode);
DEFINE_HANDLER(CMSG_SHOW_TRADE_SKILL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
@@ -973,7 +940,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_UPDATE_RAID_TARGET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateRaidTargetOpcode);
DEFINE_HANDLER(CMSG_UPDATE_SPELL_VISUAL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UPDATE_VAS_PURCHASE_STATES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_UPGRADE_GARRISON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UPGRADE_RUNEFORGE_LEGENDARY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_USED_FOLLOW, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_USE_CRITTER_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUseCritterItem);
@@ -1029,7 +995,6 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_RUNE_POWER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADJUST_SPLINE_DURATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADVANCED_COMBAT_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGETS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGET_ACK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AI_REACTION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1378,80 +1343,9 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_SPEED_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ACTIVATE_MISSION_BONUS_ABILITY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_FOLLOWER_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_SPEC_GROUPS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_APPLY_TALENT_SOCKET_DATA_CHANGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_AUTO_TROOP_MIN_LEVEL_UPDATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_ACTIVATED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CHANGE_MISSION_START_TIME_RESULT,STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_COLLECTION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_EVENT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_SPEC_GROUPS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COLLECTION_REMOVE_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COLLECTION_UPDATE_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COMPLETE_BUILDING_CONSTRUCTION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COMPLETE_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CREATE_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_DELETE_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_DELETE_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_ACTIVATIONS_SET, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_FLAGS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_QUALITY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_XP, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_FATIGUE_CLEARED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_GENERATE_FOLLOWERS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_GET_RECALL_PORTAL_LAST_USED_TIME_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_IS_UPGRADEABLE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LEARN_BLUEPRINT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_COMPLETED_MISSIONS_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MAP_DATA_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_REQUEST_REWARD_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_START_CONDITION_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_CRAFTER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_RECRUITMENT_NPC, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLACE_BUILDING_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLOT_PLACED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLOT_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RECRUIT_FOLLOWER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOTE_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_ABILITY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RENAME_FOLLOWER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RESEARCH_TALENT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RESET_TALENT_TREE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RESET_TALENT_TREE_SOCKET_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_START_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_SWAP_BUILDINGS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_SWITCH_TALENT_TREE_BRANCH, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_REMOVE_SOCKET_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_UPDATE_SOCKET_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_WORLD_QUEST_UNLOCKS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_FOLLOWER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_GARRISON_MONUMENT_SELECTIONS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_MISSION_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_USE_RECALL_PORTAL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GENERATE_SSO_TOKEN_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_GARRISON_INFO_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_REALM_HIDDEN_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_REMAINING_GAME_TIME_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1901,7 +1795,6 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_BATTLE_PET_NAME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_CREATURE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GAME_OBJECT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GARRISON_PET_NAME_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GUILD_FOLLOW_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GUILD_INFO_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_ITEM_TEXT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index b404b6e5952..b2d3f8b7b41 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -742,8 +742,6 @@ enum OpcodeClient : uint16
CMSG_ACCEPT_RETURNING_PLAYER_PROMPT = UNKNOWN_OPCODE,
CMSG_ACTIVATE_SOULBIND = UNKNOWN_OPCODE,
CMSG_ADD_ACCOUNT_COSMETIC = UNKNOWN_OPCODE,
- CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = UNKNOWN_OPCODE,
- CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = UNKNOWN_OPCODE,
CMSG_AUCTION_BROWSE_QUERY = UNKNOWN_OPCODE,
CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE = UNKNOWN_OPCODE,
CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE = UNKNOWN_OPCODE,
@@ -807,34 +805,6 @@ enum OpcodeClient : uint16
CMSG_DEPOSIT_REAGENT_BANK = UNKNOWN_OPCODE,
CMSG_DF_CONFIRM_EXPAND_SEARCH = UNKNOWN_OPCODE,
CMSG_DO_MASTER_LOOT_ROLL = UNKNOWN_OPCODE,
- CMSG_GARRISON_ADD_FOLLOWER_HEALTH = UNKNOWN_OPCODE,
- CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = UNKNOWN_OPCODE,
- CMSG_GARRISON_CANCEL_CONSTRUCTION = UNKNOWN_OPCODE,
- CMSG_GARRISON_CHECK_UPGRADEABLE = UNKNOWN_OPCODE,
- CMSG_GARRISON_COMPLETE_MISSION = UNKNOWN_OPCODE,
- CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS = UNKNOWN_OPCODE,
- CMSG_GARRISON_GENERATE_RECRUITS = UNKNOWN_OPCODE,
- CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO = UNKNOWN_OPCODE,
- CMSG_GARRISON_GET_MAP_DATA = UNKNOWN_OPCODE,
- CMSG_GARRISON_GET_MISSION_REWARD = UNKNOWN_OPCODE,
- CMSG_GARRISON_LEARN_TALENT = UNKNOWN_OPCODE,
- CMSG_GARRISON_MISSION_BONUS_ROLL = UNKNOWN_OPCODE,
- CMSG_GARRISON_PURCHASE_BUILDING = UNKNOWN_OPCODE,
- CMSG_GARRISON_RECRUIT_FOLLOWER = UNKNOWN_OPCODE,
- CMSG_GARRISON_REMOVE_FOLLOWER = UNKNOWN_OPCODE,
- CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = UNKNOWN_OPCODE,
- CMSG_GARRISON_RENAME_FOLLOWER = UNKNOWN_OPCODE,
- CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = UNKNOWN_OPCODE,
- CMSG_GARRISON_REQUEST_SHIPMENT_INFO = UNKNOWN_OPCODE,
- CMSG_GARRISON_RESEARCH_TALENT = UNKNOWN_OPCODE,
- CMSG_GARRISON_SET_BUILDING_ACTIVE = UNKNOWN_OPCODE,
- CMSG_GARRISON_SET_FOLLOWER_FAVORITE = UNKNOWN_OPCODE,
- CMSG_GARRISON_SET_FOLLOWER_INACTIVE = UNKNOWN_OPCODE,
- CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = UNKNOWN_OPCODE,
- CMSG_GARRISON_SOCKET_TALENT = UNKNOWN_OPCODE,
- CMSG_GARRISON_START_MISSION = UNKNOWN_OPCODE,
- CMSG_GARRISON_SWAP_BUILDINGS = UNKNOWN_OPCODE,
- CMSG_GET_GARRISON_INFO = UNKNOWN_OPCODE,
CMSG_GET_LANDING_PAGE_SHIPMENTS = UNKNOWN_OPCODE,
CMSG_GET_RAF_ACCOUNT_INFO = UNKNOWN_OPCODE,
CMSG_GET_TROPHY_LIST = UNKNOWN_OPCODE,
@@ -869,7 +839,6 @@ enum OpcodeClient : uint16
CMSG_PET_BATTLE_REQUEST_WILD = UNKNOWN_OPCODE,
CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = UNKNOWN_OPCODE,
CMSG_PET_BATTLE_WILD_LOCATION_FAIL = UNKNOWN_OPCODE,
- CMSG_QUERY_GARRISON_PET_NAME = UNKNOWN_OPCODE,
CMSG_QUERY_SCENARIO_POI = UNKNOWN_OPCODE,
CMSG_QUEST_SESSION_BEGIN_RESPONSE = UNKNOWN_OPCODE,
CMSG_QUEST_SESSION_REQUEST_START = UNKNOWN_OPCODE,
@@ -885,7 +854,6 @@ enum OpcodeClient : uint16
CMSG_REPORT_STUCK_IN_COMBAT = UNKNOWN_OPCODE,
CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = UNKNOWN_OPCODE,
CMSG_REQUEST_COVENANT_CALLINGS = UNKNOWN_OPCODE,
- CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = UNKNOWN_OPCODE,
CMSG_REQUEST_LATEST_SPLASH_SCREEN = UNKNOWN_OPCODE,
CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = UNKNOWN_OPCODE,
CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = UNKNOWN_OPCODE,
@@ -911,7 +879,6 @@ enum OpcodeClient : uint16
CMSG_SET_SAVED_INSTANCE_EXTEND = UNKNOWN_OPCODE,
CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = UNKNOWN_OPCODE,
CMSG_SET_TRADE_CURRENCY = UNKNOWN_OPCODE,
- CMSG_SET_USING_PARTY_GARRISON = UNKNOWN_OPCODE,
CMSG_SET_WAR_MODE = UNKNOWN_OPCODE,
CMSG_SORT_BAGS = UNKNOWN_OPCODE,
CMSG_SORT_BANK_BAGS = UNKNOWN_OPCODE,
@@ -926,7 +893,6 @@ enum OpcodeClient : uint16
CMSG_UI_MAP_QUEST_LINES_REQUEST = UNKNOWN_OPCODE,
CMSG_UNLEARN_SPECIALIZATION = UNKNOWN_OPCODE,
CMSG_UPDATE_CRAFTING_NPC_RECIPES = UNKNOWN_OPCODE,
- CMSG_UPGRADE_GARRISON = UNKNOWN_OPCODE,
CMSG_UPGRADE_RUNEFORGE_LEGENDARY = UNKNOWN_OPCODE,
};
@@ -1895,7 +1861,6 @@ enum OpcodeServer : uint16
SMSG_ACTIVATE_SOULBIND_FAILED = UNKNOWN_OPCODE,
SMSG_ACTIVE_SCHEDULED_WORLD_STATE_INFO = UNKNOWN_OPCODE,
SMSG_ADVANCED_COMBAT_LOG = UNKNOWN_OPCODE,
- SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = UNKNOWN_OPCODE,
SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = UNKNOWN_OPCODE,
SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL = UNKNOWN_OPCODE,
SMSG_AREA_TRIGGER_UPDATE_DECAL_PROPERTIES = UNKNOWN_OPCODE,
@@ -1960,77 +1925,6 @@ enum OpcodeServer : uint16
SMSG_FORCE_ANIMATIONS = UNKNOWN_OPCODE,
SMSG_FORCE_RANDOM_TRANSMOG_TOAST = UNKNOWN_OPCODE,
SMSG_GAIN_MAW_POWER = UNKNOWN_OPCODE,
- SMSG_GARRISON_ACTIVATE_MISSION_BONUS_ABILITY = UNKNOWN_OPCODE,
- SMSG_GARRISON_ADD_EVENT = UNKNOWN_OPCODE,
- SMSG_GARRISON_ADD_FOLLOWER_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_ADD_MISSION_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_ADD_SPEC_GROUPS = UNKNOWN_OPCODE,
- SMSG_GARRISON_APPLY_TALENT_SOCKET_DATA_CHANGES = UNKNOWN_OPCODE,
- SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_AUTO_TROOP_MIN_LEVEL_UPDATE_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_BUILDING_ACTIVATED = UNKNOWN_OPCODE,
- SMSG_GARRISON_BUILDING_REMOVED = UNKNOWN_OPCODE,
- SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_CHANGE_MISSION_START_TIME_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_CLEAR_COLLECTION = UNKNOWN_OPCODE,
- SMSG_GARRISON_CLEAR_EVENT_LIST = UNKNOWN_OPCODE,
- SMSG_GARRISON_CLEAR_SPEC_GROUPS = UNKNOWN_OPCODE,
- SMSG_GARRISON_COLLECTION_REMOVE_ENTRY = UNKNOWN_OPCODE,
- SMSG_GARRISON_COLLECTION_UPDATE_ENTRY = UNKNOWN_OPCODE,
- SMSG_GARRISON_COMPLETE_BUILDING_CONSTRUCTION_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_COMPLETE_MISSION_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_CREATE_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_DELETE_MISSION_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_DELETE_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_FOLLOWER_ACTIVATIONS_SET = UNKNOWN_OPCODE,
- SMSG_GARRISON_FOLLOWER_CHANGED_FLAGS = UNKNOWN_OPCODE,
- SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL = UNKNOWN_OPCODE,
- SMSG_GARRISON_FOLLOWER_CHANGED_QUALITY = UNKNOWN_OPCODE,
- SMSG_GARRISON_FOLLOWER_CHANGED_XP = UNKNOWN_OPCODE,
- SMSG_GARRISON_FOLLOWER_FATIGUE_CLEARED = UNKNOWN_OPCODE,
- SMSG_GARRISON_GENERATE_FOLLOWERS_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_GET_RECALL_PORTAL_LAST_USED_TIME_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_IS_UPGRADEABLE_RESPONSE = UNKNOWN_OPCODE,
- SMSG_GARRISON_LEARN_BLUEPRINT_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_LIST_COMPLETED_MISSIONS_CHEAT_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_MAP_DATA_RESPONSE = UNKNOWN_OPCODE,
- SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_MISSION_REQUEST_REWARD_INFO_RESPONSE = UNKNOWN_OPCODE,
- SMSG_GARRISON_MISSION_START_CONDITION_UPDATE = UNKNOWN_OPCODE,
- SMSG_GARRISON_OPEN_CRAFTER = UNKNOWN_OPCODE,
- SMSG_GARRISON_OPEN_RECRUITMENT_NPC = UNKNOWN_OPCODE,
- SMSG_GARRISON_PLACE_BUILDING_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_PLOT_PLACED = UNKNOWN_OPCODE,
- SMSG_GARRISON_PLOT_REMOVED = UNKNOWN_OPCODE,
- SMSG_GARRISON_RECRUIT_FOLLOWER_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_REMOTE_INFO = UNKNOWN_OPCODE,
- SMSG_GARRISON_REMOVE_EVENT = UNKNOWN_OPCODE,
- SMSG_GARRISON_REMOVE_FOLLOWER_ABILITY_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_REMOVE_FOLLOWER_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_RENAME_FOLLOWER_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_RESEARCH_TALENT_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_RESET_TALENT_TREE = UNKNOWN_OPCODE,
- SMSG_GARRISON_RESET_TALENT_TREE_SOCKET_DATA = UNKNOWN_OPCODE,
- SMSG_GARRISON_START_MISSION_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_SWAP_BUILDINGS_RESPONSE = UNKNOWN_OPCODE,
- SMSG_GARRISON_SWITCH_TALENT_TREE_BRANCH = UNKNOWN_OPCODE,
- SMSG_GARRISON_TALENT_COMPLETED = UNKNOWN_OPCODE,
- SMSG_GARRISON_TALENT_REMOVED = UNKNOWN_OPCODE,
- SMSG_GARRISON_TALENT_REMOVE_SOCKET_DATA = UNKNOWN_OPCODE,
- SMSG_GARRISON_TALENT_UPDATE_SOCKET_DATA = UNKNOWN_OPCODE,
- SMSG_GARRISON_TALENT_WORLD_QUEST_UNLOCKS_RESPONSE = UNKNOWN_OPCODE,
- SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_UPDATE_FOLLOWER = UNKNOWN_OPCODE,
- SMSG_GARRISON_UPDATE_GARRISON_MONUMENT_SELECTIONS = UNKNOWN_OPCODE,
- SMSG_GARRISON_UPDATE_MISSION_CHEAT_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_UPGRADE_RESULT = UNKNOWN_OPCODE,
- SMSG_GARRISON_USE_RECALL_PORTAL_RESULT = UNKNOWN_OPCODE,
- SMSG_GET_GARRISON_INFO_RESULT = UNKNOWN_OPCODE,
SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = UNKNOWN_OPCODE,
SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = UNKNOWN_OPCODE,
SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = UNKNOWN_OPCODE,
@@ -2100,7 +1994,6 @@ enum OpcodeServer : uint16
SMSG_PVP_MATCH_SET_STATE = UNKNOWN_OPCODE,
SMSG_PVP_MATCH_STATISTICS = UNKNOWN_OPCODE,
SMSG_PVP_TIER_RECORD = UNKNOWN_OPCODE,
- SMSG_QUERY_GARRISON_PET_NAME_RESPONSE = UNKNOWN_OPCODE,
SMSG_QUERY_GUILD_FOLLOW_INFO_RESPONSE = UNKNOWN_OPCODE,
SMSG_QUERY_REALM_GUILD_MASTER_INFO_RESPONSE = UNKNOWN_OPCODE,
SMSG_QUEST_SESSION_INFO_RESPONSE = UNKNOWN_OPCODE,
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 3b682752340..6a42e4c474f 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -104,12 +104,6 @@ namespace WorldPackets
class GuildGetAchievementMembers;
}
- namespace AdventureJournal
- {
- class AdventureJournalOpenQuest;
- class AdventureJournalUpdateSuggestions;
- }
-
namespace AdventureMap
{
class CheckIsAdventureMapPoiValid;
@@ -327,15 +321,6 @@ namespace WorldPackets
class GameObjUse;
}
- namespace Garrison
- {
- class GetGarrisonInfo;
- class GarrisonPurchaseBuilding;
- class GarrisonCancelConstruction;
- class GarrisonRequestBlueprintAndSpecializationData;
- class GarrisonGetMapData;
- }
-
namespace Guild
{
class QueryGuildInfo;
@@ -1746,10 +1731,6 @@ class TC_GAME_API WorldSession
void HandleKeyboundOverride(WorldPackets::Spells::KeyboundOverride& keyboundOverride);
void HandleQueryCountdownTimer(WorldPackets::Misc::QueryCountdownTimer& queryCountdownTimer);
- // Adventure Journal
- void HandleAdventureJournalOpenQuest(WorldPackets::AdventureJournal::AdventureJournalOpenQuest& openQuest);
- void HandleAdventureJournalUpdateSuggestions(WorldPackets::AdventureJournal::AdventureJournalUpdateSuggestions& updateSuggestions);
-
// Adventure Map
void HandleCheckIsAdventureMapPoiValid(WorldPackets::AdventureMap::CheckIsAdventureMapPoiValid& CheckIsAdventureMapPoiValid);
void HandleAdventureMapStartQuest(WorldPackets::AdventureMap::AdventureMapStartQuest& startQuest);
@@ -1774,13 +1755,6 @@ class TC_GAME_API WorldSession
void HandleSaveCUFProfiles(WorldPackets::Misc::SaveCUFProfiles& packet);
void SendLoadCUFProfiles();
- // Garrison
- void HandleGetGarrisonInfo(WorldPackets::Garrison::GetGarrisonInfo& getGarrisonInfo);
- void HandleGarrisonPurchaseBuilding(WorldPackets::Garrison::GarrisonPurchaseBuilding& garrisonPurchaseBuilding);
- void HandleGarrisonCancelConstruction(WorldPackets::Garrison::GarrisonCancelConstruction& garrisonCancelConstruction);
- void HandleGarrisonRequestBlueprintAndSpecializationData(WorldPackets::Garrison::GarrisonRequestBlueprintAndSpecializationData& garrisonRequestBlueprintAndSpecializationData);
- void HandleGarrisonGetMapData(WorldPackets::Garrison::GarrisonGetMapData& garrisonGetMapData);
-
// Battle Pets
void HandleBattlePetRequestJournal(WorldPackets::BattlePet::BattlePetRequestJournal& battlePetRequestJournal);
void HandleBattlePetRequestJournalLock(WorldPackets::BattlePet::BattlePetRequestJournalLock& battlePetRequestJournalLock);