diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index b5cb36c27..e5cb70230 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -359,7 +359,7 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un return false; return target->getGender() == gender.gender; case ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT: - return sScriptMgr->OnCriteriaCheck(ScriptId, const_cast(source), const_cast(target)); + return sScriptMgr->OnCriteriaCheck(ScriptId, const_cast(source), const_cast(target), criteria_id); case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY: { if (source->GetMap()->IsRaid()) @@ -2025,6 +2025,11 @@ void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry, if (entry->timeLimit && timedIter == m_timedAchievements.end()) return; + if (!sScriptMgr->OnBeforeCriteriaProgress(GetPlayer(), entry)) + { + return; + } + #if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) LOG_DEBUG("achievement", "AchievementMgr::SetCriteriaProgress(%u, %u) for %s", entry->ID, changeValue, m_player->GetGUID().ToString().c_str()); #endif @@ -2180,6 +2185,11 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement) return; } + if (!sScriptMgr->OnBeforeAchievementComplete(GetPlayer(), achievement)) + { + return; + } + if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement->ID)) return; diff --git a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp index 87cb424e4..fa0377fe8 100644 --- a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp +++ b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp @@ -14,9 +14,6 @@ #include "ScriptMgr.h" #include "World.h" -constexpr uint32 MAX_ARENA_TEAM_ID = 0xFFF00000; -constexpr uint32 MAX_TEMP_ARENA_TEAM_ID = 0xFFFFFFFE; - ArenaTeamMgr::ArenaTeamMgr() { NextArenaTeamId = 1; diff --git a/src/server/game/Battlegrounds/ArenaTeamMgr.h b/src/server/game/Battlegrounds/ArenaTeamMgr.h index 9af6b4a6d..bdeef653a 100644 --- a/src/server/game/Battlegrounds/ArenaTeamMgr.h +++ b/src/server/game/Battlegrounds/ArenaTeamMgr.h @@ -9,6 +9,9 @@ #include "ArenaTeam.h" +constexpr uint32 MAX_ARENA_TEAM_ID = 0xFFF00000; +constexpr uint32 MAX_TEMP_ARENA_TEAM_ID = 0xFFFFFFFE; + class ArenaTeamMgr { ArenaTeamMgr(); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index f5794abec..b0e1ba146 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -3304,6 +3304,13 @@ void Player::GiveXP(uint32 xp, Unit* victim, float group_rate) else bonus_xp = victim ? GetXPRestBonus(xp) : 0; // XP resting bonus + // hooks and multipliers can modify the xp with a zero or negative value + // check again before sending invalid xp to the client + if (xp < 1) + { + return; + } + SendLogXPGain(xp, victim, bonus_xp, recruitAFriend, group_rate); uint32 curXP = GetUInt32Value(PLAYER_XP); diff --git a/src/server/game/Instances/InstanceSaveMgr.h b/src/server/game/Instances/InstanceSaveMgr.h index 8031685fa..a0c5c997a 100644 --- a/src/server/game/Instances/InstanceSaveMgr.h +++ b/src/server/game/Instances/InstanceSaveMgr.h @@ -11,6 +11,7 @@ #include "DBCEnums.h" #include "Define.h" #include "ObjectDefines.h" +#include "ObjectGuid.h" #include #include #include diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index 991c17d26..1a3da7a4c 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -289,7 +289,8 @@ bool LootStoreItem::Roll(bool rate, Player const* player, Loot& loot, LootStore { float _chance = chance; - sScriptMgr->OnItemRoll(player, this, _chance, loot, store); + if (!sScriptMgr->OnItemRoll(player, this, _chance, loot, store)) + return false; if (_chance >= 100.0f) return true; @@ -1205,7 +1206,8 @@ LootStoreItem const* LootTemplate::LootGroup::Roll(Loot& loot, Player const* pla LootStoreItem* item = *itr; float chance = item->chance; - sScriptMgr->OnItemRoll(player, item, chance, loot, store); + if (!sScriptMgr->OnItemRoll(player, item, chance, loot, store)) + return nullptr; if (chance >= 100.0f) return item; @@ -1216,6 +1218,9 @@ LootStoreItem const* LootTemplate::LootGroup::Roll(Loot& loot, Player const* pla } } + if (!sScriptMgr->OnBeforeLootEqualChanced(player, EqualChanced, loot, store)) + return nullptr; + possibleLoot = EqualChanced; possibleLoot.remove_if(LootGroupInvalidSelector(loot, lootMode)); if (!possibleLoot.empty()) // If nothing selected yet - an item is taken from equal-chanced part diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index de2683ae9..7543cd861 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1344,13 +1344,13 @@ void ScriptMgr::OnShutdown() FOREACH_SCRIPT(WorldScript)->OnShutdown(); } -bool ScriptMgr::OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target) +bool ScriptMgr::OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target, uint32 criteria_id) { ASSERT(source); // target can be nullptr. GET_SCRIPT_RET(AchievementCriteriaScript, scriptId, tmpscript, false); - return tmpscript->OnCheck(source, target); + return tmpscript->OnCheck(source, target, criteria_id); } // Player @@ -1650,11 +1650,33 @@ void ScriptMgr::OnPlayerRemoveFromBattleground(Player* player, Battleground* bg) FOREACH_SCRIPT(PlayerScript)->OnRemoveFromBattleground(player, bg); } +bool ScriptMgr::OnBeforeAchievementComplete(Player* player, AchievementEntry const* achievement) +{ + bool ret = true; + + FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts + if (!itr->second->OnBeforeAchiComplete(player, achievement)) + ret = false; // we change ret value only when scripts return false + + return ret; +} + void ScriptMgr::OnAchievementComplete(Player* player, AchievementEntry const* achievement) { FOREACH_SCRIPT(PlayerScript)->OnAchiComplete(player, achievement); } +bool ScriptMgr::OnBeforeCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria) +{ + bool ret = true; + + FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts + if (!itr->second->OnBeforeCriteriaProgress(player, criteria)) + ret = false; // we change ret value only when scripts return false + + return ret; +} + void ScriptMgr::OnCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria) { FOREACH_SCRIPT(PlayerScript)->OnCriteriaProgress(player, criteria); @@ -1981,9 +2003,25 @@ void ScriptMgr::OnBeforeDropAddItem(Player const* player, Loot& loot, bool canRa FOREACH_SCRIPT(GlobalScript)->OnBeforeDropAddItem(player, loot, canRate, lootMode, LootStoreItem, store); } -void ScriptMgr::OnItemRoll(Player const* player, LootStoreItem const* LootStoreItem, float& chance, Loot& loot, LootStore const& store) +bool ScriptMgr::OnItemRoll(Player const* player, LootStoreItem const* LootStoreItem, float& chance, Loot& loot, LootStore const& store) { - FOREACH_SCRIPT(GlobalScript)->OnItemRoll(player, LootStoreItem, chance, loot, store); + bool ret = true; // return true by default + + FOR_SCRIPTS_RET(GlobalScript, itr, end, ret) + if (!itr->second->OnItemRoll(player, LootStoreItem, chance, loot, store)) + ret = false; // we change ret value only when a script returns false + + return ret; +} + +bool ScriptMgr::OnBeforeLootEqualChanced(Player const* player, LootStoreItemList EqualChanced, Loot& loot, LootStore const& store) { + bool ret = true; // return true by default + + FOR_SCRIPTS_RET(GlobalScript, itr, end, ret) + if (!itr->second->OnBeforeLootEqualChanced(player, EqualChanced, loot, store)) + ret = false; // we change ret value only when a script returns false + + return ret; } void ScriptMgr::OnInitializeLockedDungeons(Player* player, uint8& level, uint32& lockData, lfg::LFGDungeonData const* dungeon) diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 598b68c4f..2247f830a 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -688,8 +688,7 @@ protected: public: [[nodiscard]] bool IsDatabaseBound() const override { return true; } - // deprecated/legacy - [[nodiscard]] virtual bool OnCheck(Player* /*source*/, Unit* /*target*/) { return true; }; + [[nodiscard]] virtual bool OnCheck(Player* /*source*/, Unit* /*target*/, uint32 /*criteria_id*/) { return true; }; }; class PlayerScript : public ScriptObject @@ -830,9 +829,15 @@ public: // Called when a player complete an achievement virtual void OnAchiComplete(Player* /*player*/, AchievementEntry const* /*achievement*/) { } + // Called before player complete an achievement, can be used to disable achievements in certain conditions + virtual bool OnBeforeAchiComplete(Player* /*player*/, AchievementEntry const* /*achievement*/) { return true; } + // Called when a player complete an achievement criteria virtual void OnCriteriaProgress(Player* /*player*/, AchievementCriteriaEntry const* /*criteria*/) { } + // Called before player complete an achievement criteria, can be used to disable achievement criteria in certain conditions + virtual bool OnBeforeCriteriaProgress(Player* /*player*/, AchievementCriteriaEntry const* /*criteria*/) { return true; } + // Called when an Achievement is saved to DB virtual void OnAchiSave(SQLTransaction& /*trans*/, Player* /*player*/, uint16 /*achId*/, CompletedAchievementData /*achiData*/) { } @@ -1140,8 +1145,8 @@ public: // loot virtual void OnAfterRefCount(Player const* /*player*/, LootStoreItem* /*LootStoreItem*/, Loot& /*loot*/, bool /*canRate*/, uint16 /*lootMode*/, uint32& /*maxcount*/, LootStore const& /*store*/) { } virtual void OnBeforeDropAddItem(Player const* /*player*/, Loot& /*loot*/, bool /*canRate*/, uint16 /*lootMode*/, LootStoreItem* /*LootStoreItem*/, LootStore const& /*store*/) { } - virtual void OnItemRoll(Player const* /*player*/, LootStoreItem const* /*LootStoreItem*/, float& /*chance*/, Loot& /*loot*/, LootStore const& /*store*/) { }; - + virtual bool OnItemRoll(Player const* /*player*/, LootStoreItem const* /*LootStoreItem*/, float& /*chance*/, Loot& /*loot*/, LootStore const& /*store*/) { return true; }; + virtual bool OnBeforeLootEqualChanced(Player const* /*player*/, LootStoreItemList /*EqualChanced*/, Loot& /*loot*/, LootStore const& /*store*/) { return true; } virtual void OnInitializeLockedDungeons(Player* /*player*/, uint8& /*level*/, uint32& /*lockData*/, lfg::LFGDungeonData const* /*dungeon*/) { } virtual void OnAfterInitializeLockedDungeons(Player* /*player*/) { } @@ -1549,7 +1554,7 @@ public: /* TransportScript */ void OnRelocate(Transport* transport, uint32 waypointId, uint32 mapId, float x, float y, float z); public: /* AchievementCriteriaScript */ - bool OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target); + bool OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target, uint32 criteria_id); public: /* PlayerScript */ void OnBeforePlayerUpdate(Player* player, uint32 p_time); @@ -1596,7 +1601,9 @@ public: /* PlayerScript */ void OnPlayerAddToBattleground(Player* player, Battleground* bg); void OnPlayerRemoveFromBattleground(Player* player, Battleground* bg); void OnAchievementComplete(Player* player, AchievementEntry const* achievement); + bool OnBeforeAchievementComplete(Player* player, AchievementEntry const* achievement); void OnCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria); + bool OnBeforeCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria); void OnAchievementSave(SQLTransaction& trans, Player* player, uint16 achiId, CompletedAchievementData achiData); void OnCriteriaSave(SQLTransaction& trans, Player* player, uint16 critId, CriteriaProgress criteriaData); void OnGossipSelect(Player* player, uint32 menu_id, uint32 sender, uint32 action); @@ -1727,7 +1734,8 @@ public: /* GlobalScript */ void OnBeforeUpdateArenaPoints(ArenaTeam* at, std::map& ap); void OnAfterRefCount(Player const* player, Loot& loot, bool canRate, uint16 lootMode, LootStoreItem* LootStoreItem, uint32& maxcount, LootStore const& store); void OnBeforeDropAddItem(Player const* player, Loot& loot, bool canRate, uint16 lootMode, LootStoreItem* LootStoreItem, LootStore const& store); - void OnItemRoll(Player const* player, LootStoreItem const* LootStoreItem, float& chance, Loot& loot, LootStore const& store); + bool OnItemRoll(Player const* player, LootStoreItem const* LootStoreItem, float& chance, Loot& loot, LootStore const& store); + bool OnBeforeLootEqualChanced(Player const* player, LootStoreItemList EqualChanced, Loot& loot, LootStore const& store); void OnInitializeLockedDungeons(Player* player, uint8& level, uint32& lockData, lfg::LFGDungeonData const* dungeon); void OnAfterInitializeLockedDungeons(Player* player); void OnAfterUpdateEncounterState(Map* map, EncounterCreditType type, uint32 creditEntry, Unit* source, Difficulty difficulty_fixed, DungeonEncounterList const* encounters, uint32 dungeonCompleted, bool updated); diff --git a/src/server/scripts/Events/pilgrims_bounty.cpp b/src/server/scripts/Events/pilgrims_bounty.cpp index 11a1eeeee..c42476b1e 100644 --- a/src/server/scripts/Events/pilgrims_bounty.cpp +++ b/src/server/scripts/Events/pilgrims_bounty.cpp @@ -671,7 +671,7 @@ class achievement_pb_pilgrims_peril : public AchievementCriteriaScript public: achievement_pb_pilgrims_peril() : AchievementCriteriaScript("achievement_pb_pilgrims_peril") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { if (source->HasItemOrGemWithIdEquipped(ITEM_PILGRIMS_DRESS, 1) || source->HasItemOrGemWithIdEquipped(ITEM_PILGRIMS_ROBE, 1) || source->HasItemOrGemWithIdEquipped(ITEM_PILGRIMS_ATTIRE, 1)) return true; @@ -685,7 +685,7 @@ class achievement_pb_terokkar_turkey_time : public AchievementCriteriaScript public: achievement_pb_terokkar_turkey_time() : AchievementCriteriaScript("achievement_pb_terokkar_turkey_time") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { if (source->HasItemOrGemWithIdEquipped(ITEM_PILGRIMS_HAT, 1) && (source->HasItemOrGemWithIdEquipped(ITEM_PILGRIMS_DRESS, 1) || source->HasItemOrGemWithIdEquipped(ITEM_PILGRIMS_ROBE, 1) || source->HasItemOrGemWithIdEquipped(ITEM_PILGRIMS_ATTIRE, 1))) return true; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp index cbe3b4d9f..cf7e24c2a 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp @@ -381,7 +381,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp index 716ec1146..868cc1bfc 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp @@ -222,7 +222,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp index dc16ddb40..874a4de84 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp @@ -204,7 +204,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp index 91e929912..539023bbe 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp @@ -342,7 +342,7 @@ class achievement_oh_novos : public AchievementCriteriaScript public: achievement_oh_novos() : AchievementCriteriaScript("achievement_oh_novos") { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetAI()->GetData(target->GetEntry()); } diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp index bd1a9eefe..4f7e4bf89 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp @@ -253,7 +253,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp index 81d3265f5..c2602d1e5 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp @@ -265,7 +265,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp index 4c2078d03..aa42b36e1 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp @@ -193,7 +193,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetDisplayId() == target->GetNativeDisplayId(); } diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp index 6b6778034..d0336627d 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp @@ -223,7 +223,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp index 5207add80..c73c39c4d 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp @@ -972,7 +972,7 @@ class achievement_once_bitten_twice_shy : public AchievementCriteriaScript public: achievement_once_bitten_twice_shy(const char* name, uint8 spawnMode, bool wasVampire) : AchievementCriteriaScript(name), _spawnMode(spawnMode), _wasVampire(wasVampire) { } - bool OnCheck(Player* source, Unit* target) override + bool OnCheck(Player* source, Unit* target, uint32 /*criteria_id*/) override { if (!target || !target->FindMap()) return false; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index f147aa2ad..3db53d090 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -1335,7 +1335,7 @@ class achievement_ive_gone_and_made_a_mess : public AchievementCriteriaScript public: achievement_ive_gone_and_made_a_mess() : AchievementCriteriaScript("achievement_ive_gone_and_made_a_mess") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (Creature* saurfang = target->ToCreature()) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp index 9a24263b9..1fa939035 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp @@ -399,7 +399,7 @@ class achievement_flu_shot_shortage : public AchievementCriteriaScript public: achievement_flu_shot_shortage() : AchievementCriteriaScript("achievement_flu_shot_shortage") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { if (target && target->GetTypeId() == TYPEID_UNIT) return target->ToCreature()->AI()->GetData(DATA_INOCULATED_STACK) < 3; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index 0fd281bac..0c0de03a7 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -2694,7 +2694,7 @@ class achievement_im_on_a_boat : public AchievementCriteriaScript public: achievement_im_on_a_boat() : AchievementCriteriaScript("achievement_im_on_a_boat") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { return target->GetAI() && target->GetAI()->GetData(ACTION_SHIP_VISITS_ENEMY) == 1; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 081a83a2b..25047183f 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1351,7 +1351,7 @@ class achievement_all_you_can_eat : public AchievementCriteriaScript public: achievement_all_you_can_eat() : AchievementCriteriaScript("achievement_all_you_can_eat") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { if (!target || target->GetEntry() != NPC_SINDRAGOSA) return false; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 504f3b8cb..8f57b792a 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -3742,7 +3742,7 @@ class achievement_been_waiting_long_time : public AchievementCriteriaScript public: achievement_been_waiting_long_time() : AchievementCriteriaScript("achievement_been_waiting_long_time") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; @@ -3756,7 +3756,7 @@ class achievement_neck_deep_in_vile : public AchievementCriteriaScript public: achievement_neck_deep_in_vile() : AchievementCriteriaScript("achievement_neck_deep_in_vile") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index 0f50d8139..f5b3fc063 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -1489,7 +1489,7 @@ class achievement_portal_jockey : public AchievementCriteriaScript public: achievement_portal_jockey() : AchievementCriteriaScript("achievement_portal_jockey") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_VALITHRIA_DREAMWALKER && !target->GetAI()->GetData(MISSED_PORTALS); } diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp index 4d4188545..48246a011 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp @@ -196,7 +196,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index 20336a54c..c08896d1a 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -186,7 +186,7 @@ public: { } - bool OnCheck(Player* player, Unit* target) override + bool OnCheck(Player* player, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp index 826775abb..3d34158a6 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp @@ -318,7 +318,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp index 99eb53298..2c7c640f8 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp @@ -1398,7 +1398,7 @@ class achievement_algalon_he_feeds_on_your_tears : public AchievementCriteriaScr public: achievement_algalon_he_feeds_on_your_tears() : AchievementCriteriaScript("achievement_algalon_he_feeds_on_your_tears") { } - bool OnCheck(Player*, Unit* target /*Algalon*/) override + bool OnCheck(Player*, Unit* target /*Algalon*/, uint32 /*criteria_id*/) override { return target && target->GetAI()->GetData(DATA_HAS_FED_ON_TEARS); } @@ -1409,7 +1409,7 @@ class achievement_algalon_herald_of_the_titans : public AchievementCriteriaScrip public: achievement_algalon_herald_of_the_titans() : AchievementCriteriaScript("achievement_algalon_herald_of_the_titans") { } - bool OnCheck(Player*, Unit* target /*Algalon*/) override + bool OnCheck(Player*, Unit* target /*Algalon*/, uint32 /*criteria_id*/) override { return target && target->GetAI()->GetData(DATA_HERALD_OF_THE_TITANS); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index 530cf6d20..0fa37c64d 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -928,7 +928,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetAuraCount(SPELL_SUPERCHARGE) >= 2 && (!_targetEntry || target->GetEntry() == _targetEntry); } @@ -942,7 +942,7 @@ class achievement_cant_do_that_while_stunned : public AchievementCriteriaScript public: achievement_cant_do_that_while_stunned() : AchievementCriteriaScript("achievement_cant_do_that_while_stunned") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { bool allow = target && target->GetAuraCount(SPELL_SUPERCHARGE) >= 2; if (!allow) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp index 182d17639..db2e31b9e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp @@ -460,7 +460,7 @@ class achievement_auriaya_crazy_cat_lady : public AchievementCriteriaScript public: achievement_auriaya_crazy_cat_lady() : AchievementCriteriaScript("achievement_auriaya_crazy_cat_lady") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (InstanceScript* instance = target->GetInstanceScript()) @@ -476,7 +476,7 @@ class achievement_auriaya_nine_lives : public AchievementCriteriaScript public: achievement_auriaya_nine_lives() : AchievementCriteriaScript("achievement_auriaya_nine_lives") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (InstanceScript* instance = target->GetInstanceScript()) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index 7deae1dbd..a73287f38 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -2076,7 +2076,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target /*Flame Leviathan*/) override + bool OnCheck(Player* /*player*/, Unit* target /*Flame Leviathan*/, uint32 /*criteria_id*/) override { return target && _towerCount <= target->GetAI()->GetData(DATA_GET_TOWER_COUNT); } @@ -2090,7 +2090,7 @@ class achievement_flame_leviathan_shutout : public AchievementCriteriaScript public: achievement_flame_leviathan_shutout() : AchievementCriteriaScript("achievement_flame_leviathan_shutout") {} - bool OnCheck(Player* /*player*/, Unit* target /*Flame Leviathan*/) override + bool OnCheck(Player* /*player*/, Unit* target /*Flame Leviathan*/, uint32 /*criteria_id*/) override { if (target) if (target->GetAI()->GetData(DATA_GET_SHUTDOWN)) @@ -2107,7 +2107,7 @@ public: { } - bool OnCheck(Player* player, Unit*) override + bool OnCheck(Player* player, Unit*, uint32 /*criteria_id*/) override { if (Vehicle* vehicle = player->GetVehicle()) if (vehicle->GetCreatureEntry() == _entry1 || vehicle->GetCreatureEntry() == _entry2) @@ -2125,7 +2125,7 @@ class achievement_flame_leviathan_unbroken : public AchievementCriteriaScript public: achievement_flame_leviathan_unbroken() : AchievementCriteriaScript("achievement_flame_leviathan_unbroken") {} - bool OnCheck(Player* player, Unit*) override + bool OnCheck(Player* player, Unit*, uint32 /*criteria_id*/) override { if (player->GetInstanceScript()) if (player->GetInstanceScript()->GetData(DATA_UNBROKEN_ACHIEVEMENT)) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index 141e48efb..35eef1359 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -1294,7 +1294,7 @@ class achievement_freya_getting_back_to_nature : public AchievementCriteriaScrip public: achievement_freya_getting_back_to_nature() : AchievementCriteriaScript("achievement_freya_getting_back_to_nature") {} - bool OnCheck(Player* /*player*/, Unit* target /*Freya*/) override + bool OnCheck(Player* /*player*/, Unit* target /*Freya*/, uint32 /*criteria_id*/) override { if (target) if (target->GetAI()->GetData(DATA_BACK_TO_NATURE)) @@ -1311,7 +1311,7 @@ public: { } - bool OnCheck(Player* /*player*/, Unit* target /*Freya*/) override + bool OnCheck(Player* /*player*/, Unit* target /*Freya*/, uint32 /*criteria_id*/) override { return target && _elderCount <= target->GetAI()->GetData(DATA_GET_ELDER_COUNT); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index d9e25eb19..2238908b7 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -644,7 +644,7 @@ class achievement_smell_saronite : public AchievementCriteriaScript public: achievement_smell_saronite() : AchievementCriteriaScript("achievement_smell_saronite") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_VEZAX && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1); } @@ -655,7 +655,7 @@ class achievement_shadowdodger : public AchievementCriteriaScript public: achievement_shadowdodger() : AchievementCriteriaScript("achievement_shadowdodger") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_VEZAX && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(2); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index 173403dd9..a2cd1fae7 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -1449,7 +1449,7 @@ class achievement_cheese_the_freeze : public AchievementCriteriaScript public: achievement_cheese_the_freeze() : AchievementCriteriaScript("achievement_cheese_the_freeze") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1); } @@ -1460,7 +1460,7 @@ class achievement_getting_cold_in_here : public AchievementCriteriaScript public: achievement_getting_cold_in_here() : AchievementCriteriaScript("achievement_getting_cold_in_here") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(2); } @@ -1471,7 +1471,7 @@ class achievement_i_could_say_that_this_cache_was_rare : public AchievementCrite public: achievement_i_could_say_that_this_cache_was_rare() : AchievementCriteriaScript("achievement_i_could_say_that_this_cache_was_rare") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(3); } @@ -1482,7 +1482,7 @@ class achievement_i_have_the_coolest_friends : public AchievementCriteriaScript public: achievement_i_have_the_coolest_friends() : AchievementCriteriaScript("achievement_i_have_the_coolest_friends") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_HODIR && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(4); } @@ -1493,7 +1493,7 @@ class achievement_staying_buffed_all_winter_10 : public AchievementCriteriaScrip public: achievement_staying_buffed_all_winter_10() : AchievementCriteriaScript("achievement_staying_buffed_all_winter_10") {} - bool OnCheck(Player* player, Unit* /*target*/) override + bool OnCheck(Player* player, Unit* /*target*/, uint32 /*criteria_id*/) override { return player && player->HasAura(SPELL_MAGE_TOASTY_FIRE_AURA) && player->HasAura(SPELL_DRUID_STARLIGHT_AREA_AURA) && player->HasAura(SPELL_SHAMAN_STORM_POWER_10); } @@ -1504,7 +1504,7 @@ class achievement_staying_buffed_all_winter_25 : public AchievementCriteriaScrip public: achievement_staying_buffed_all_winter_25() : AchievementCriteriaScript("achievement_staying_buffed_all_winter_25") {} - bool OnCheck(Player* player, Unit* /*target*/) override + bool OnCheck(Player* player, Unit* /*target*/, uint32 /*criteria_id*/) override { return player && player->HasAura(SPELL_MAGE_TOASTY_FIRE_AURA) && player->HasAura(SPELL_DRUID_STARLIGHT_AREA_AURA) && player->HasAura(SPELL_SHAMAN_STORM_POWER_25); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp index a1451c2af..460cbdd65 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp @@ -551,7 +551,7 @@ class achievement_ignis_shattered : public AchievementCriteriaScript public: achievement_ignis_shattered() : AchievementCriteriaScript("achievement_ignis_shattered") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (!target || target->GetTypeId() != TYPEID_UNIT) return false; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index da0331903..c9417ea1e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -813,7 +813,7 @@ class achievement_kologarn_looks_could_kill : public AchievementCriteriaScript public: achievement_kologarn_looks_could_kill() : AchievementCriteriaScript("achievement_kologarn_looks_could_kill") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (InstanceScript* instance = target->GetInstanceScript()) @@ -829,7 +829,7 @@ class achievement_kologarn_rubble_and_roll : public AchievementCriteriaScript public: achievement_kologarn_rubble_and_roll() : AchievementCriteriaScript("achievement_kologarn_rubble_and_roll") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (InstanceScript* instance = target->GetInstanceScript()) @@ -845,7 +845,7 @@ class achievement_kologarn_with_open_arms : public AchievementCriteriaScript public: achievement_kologarn_with_open_arms() : AchievementCriteriaScript("achievement_kologarn_with_open_arms") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (InstanceScript* instance = target->GetInstanceScript()) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 78b26ca82..1c95571d1 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -2523,7 +2523,7 @@ class achievement_mimiron_firefighter : public AchievementCriteriaScript public: achievement_mimiron_firefighter() : AchievementCriteriaScript("achievement_mimiron_firefighter") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(1); } @@ -2534,7 +2534,7 @@ class achievement_mimiron_set_up_us_the_bomb_11 : public AchievementCriteriaScri public: achievement_mimiron_set_up_us_the_bomb_11() : AchievementCriteriaScript("achievement_mimiron_set_up_us_the_bomb_11") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(11); } @@ -2545,7 +2545,7 @@ class achievement_mimiron_set_up_us_the_bomb_12 : public AchievementCriteriaScri public: achievement_mimiron_set_up_us_the_bomb_12() : AchievementCriteriaScript("achievement_mimiron_set_up_us_the_bomb_12") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(12); } @@ -2556,7 +2556,7 @@ class achievement_mimiron_set_up_us_the_bomb_13 : public AchievementCriteriaScri public: achievement_mimiron_set_up_us_the_bomb_13() : AchievementCriteriaScript("achievement_mimiron_set_up_us_the_bomb_13") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_MIMIRON && target->GetTypeId() == TYPEID_UNIT && !target->ToCreature()->AI()->GetData(13); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 3d4f7c06c..fbab98ad0 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -1096,7 +1096,7 @@ class achievement_quick_shave : public AchievementCriteriaScript public: achievement_quick_shave() : AchievementCriteriaScript("achievement_quick_shave") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetTypeId() == TYPEID_UNIT && target->GetEntry() == NPC_RAZORSCALE && target->ToCreature()->AI()->GetData(1); } @@ -1107,7 +1107,7 @@ class achievement_iron_dwarf_medium_rare : public AchievementCriteriaScript public: achievement_iron_dwarf_medium_rare() : AchievementCriteriaScript("achievement_iron_dwarf_medium_rare") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_RAZORSCALE; } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index ca42eb81c..b6f5af018 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -1802,7 +1802,7 @@ class achievement_thorim_stand_in_the_lightning : public AchievementCriteriaScri public: achievement_thorim_stand_in_the_lightning() : AchievementCriteriaScript("achievement_thorim_stand_in_the_lightning") {} - bool OnCheck(Player* player, Unit*) override + bool OnCheck(Player* player, Unit*, uint32 /*criteria_id*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* cr = ObjectAccessor::GetCreature(*player, instance->GetGuidData(TYPE_THORIM))) @@ -1817,7 +1817,7 @@ class achievement_thorim_lose_your_illusion : public AchievementCriteriaScript public: achievement_thorim_lose_your_illusion() : AchievementCriteriaScript("achievement_thorim_lose_your_illusion") {} - bool OnCheck(Player* player, Unit*) override + bool OnCheck(Player* player, Unit*, uint32 /*criteria_id*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* cr = ObjectAccessor::GetCreature(*player, instance->GetGuidData(TYPE_THORIM))) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index f92e3446f..2f1645cb2 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -1043,7 +1043,7 @@ class achievement_xt002_nerf_engineering : public AchievementCriteriaScript public: achievement_xt002_nerf_engineering() : AchievementCriteriaScript("achievement_xt002_nerf_engineering") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (InstanceScript* instance = target->GetInstanceScript()) @@ -1059,7 +1059,7 @@ class achievement_xt002_nerf_gravity_bombs : public AchievementCriteriaScript public: achievement_xt002_nerf_gravity_bombs() : AchievementCriteriaScript("achievement_xt002_nerf_gravity_bombs") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { if (target) if (InstanceScript* instance = target->GetInstanceScript()) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp index 7684f2b0d..88da21f14 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp @@ -2955,7 +2955,7 @@ class achievement_yogg_saron_drive_me_crazy : public AchievementCriteriaScript public: achievement_yogg_saron_drive_me_crazy() : AchievementCriteriaScript("achievement_yogg_saron_drive_me_crazy") {} - bool OnCheck(Player* /*player*/, Unit* target) override + bool OnCheck(Player* /*player*/, Unit* target, uint32 /*criteria_id*/) override { return target && target->GetAI()->GetData(DATA_GET_DRIVE_ME_CRAZY); // target = Yogg-Saron } @@ -2969,7 +2969,7 @@ public: { } - bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/) override + bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/, uint32 /*criteria_id*/) override { if (player->GetInstanceScript()) if (Creature* sara = ObjectAccessor::GetCreature(*player, player->GetInstanceScript()->GetGuidData(NPC_SARA))) @@ -2990,7 +2990,7 @@ public: { } - bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/) override + bool OnCheck(Player* player, Unit* /*target*/ /*Yogg-Saron*/, uint32 /*criteria_id*/) override { if (player->GetInstanceScript()) if (Creature* sara = ObjectAccessor::GetCreature(*player, player->GetInstanceScript()->GetGuidData(NPC_BRAIN_OF_YOGG_SARON))) @@ -3008,7 +3008,7 @@ class achievement_yogg_saron_kiss_and_make_up : public AchievementCriteriaScript public: achievement_yogg_saron_kiss_and_make_up() : AchievementCriteriaScript("achievement_yogg_saron_kiss_and_make_up") {} - bool OnCheck(Player* /*player*/, Unit* target /*Sara*/) override + bool OnCheck(Player* /*player*/, Unit* target /*Sara*/, uint32 /*criteria_id*/) override { return target && target->GetEntry() == NPC_SARA && target->GetAI() && target->GetAI()->GetData(DATA_GET_SARA_PHASE); } diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp index 5e326e49c..767f0ea72 100644 --- a/src/server/scripts/Northrend/zone_wintergrasp.cpp +++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp @@ -1045,7 +1045,7 @@ class achievement_wg_didnt_stand_a_chance : public AchievementCriteriaScript public: achievement_wg_didnt_stand_a_chance() : AchievementCriteriaScript("achievement_wg_didnt_stand_a_chance") { } - bool OnCheck(Player* source, Unit* target) override + bool OnCheck(Player* source, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; @@ -1069,7 +1069,7 @@ class achievement_wg_vehicular_gnomeslaughter : public AchievementCriteriaScript public: achievement_wg_vehicular_gnomeslaughter() : AchievementCriteriaScript("achievement_wg_vehicular_gnomeslaughter") { } - bool OnCheck(Player* source, Unit* target) override + bool OnCheck(Player* source, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; @@ -1089,7 +1089,7 @@ class achievement_wg_within_our_grasp : public AchievementCriteriaScript public: achievement_wg_within_our_grasp() : AchievementCriteriaScript("achievement_wg_within_our_grasp") { } - bool OnCheck(Player* /*source*/, Unit* /*target*/) override + bool OnCheck(Player* /*source*/, Unit* /*target*/, uint32 /*criteria_id*/) override { Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); if (!wintergrasp) diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp index 67a851e4d..d77764472 100644 --- a/src/server/scripts/World/achievement_scripts.cpp +++ b/src/server/scripts/World/achievement_scripts.cpp @@ -19,7 +19,7 @@ class achievement_resilient_victory : public AchievementCriteriaScript public: achievement_resilient_victory() : AchievementCriteriaScript("achievement_resilient_victory") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { Battleground* bg = source->GetBattleground(); return bg && bg->GetBgTypeID(true) == BATTLEGROUND_AB && bg->ToBattlegroundAB()->IsTeamScores500Disadvantage(source->GetTeamId()); @@ -31,7 +31,7 @@ class achievement_bg_control_all_nodes : public AchievementCriteriaScript public: achievement_bg_control_all_nodes() : AchievementCriteriaScript("achievement_bg_control_all_nodes") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { Battleground* bg = source->GetBattleground(); return bg && bg->AllNodesConrolledByTeam(source->GetTeamId()); @@ -43,7 +43,7 @@ class achievement_save_the_day : public AchievementCriteriaScript public: achievement_save_the_day() : AchievementCriteriaScript("achievement_save_the_day") { } - bool OnCheck(Player* source, Unit* target) override + bool OnCheck(Player* source, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; @@ -62,7 +62,7 @@ class achievement_bg_ic_resource_glut : public AchievementCriteriaScript public: achievement_bg_ic_resource_glut() : AchievementCriteriaScript("achievement_bg_ic_resource_glut") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { Battleground* bg = source->GetBattleground(); return bg && bg->GetBgTypeID(true) == BATTLEGROUND_IC && bg->ToBattlegroundIC()->IsResourceGlutAllowed(source->GetTeamId()); @@ -74,7 +74,7 @@ class achievement_bg_ic_glaive_grave : public AchievementCriteriaScript public: achievement_bg_ic_glaive_grave() : AchievementCriteriaScript("achievement_bg_ic_glaive_grave") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { if (Creature* vehicle = source->GetVehicleCreatureBase()) return vehicle->GetEntry() == NPC_GLAIVE_THROWER_H || vehicle->GetEntry() == NPC_GLAIVE_THROWER_A; @@ -88,7 +88,7 @@ class achievement_bg_ic_mowed_down : public AchievementCriteriaScript public: achievement_bg_ic_mowed_down() : AchievementCriteriaScript("achievement_bg_ic_mowed_down") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { if (Creature* vehicle = source->GetVehicleCreatureBase()) return vehicle->GetEntry() == NPC_KEEP_CANNON; @@ -102,7 +102,7 @@ class achievement_bg_sa_artillery : public AchievementCriteriaScript public: achievement_bg_sa_artillery() : AchievementCriteriaScript("achievement_bg_sa_artillery") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { if (Creature* vehicle = source->GetVehicleCreatureBase()) return vehicle->GetEntry() == NPC_ANTI_PERSONNAL_CANNON; @@ -119,7 +119,7 @@ public: { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { return source->InArena() && source->GetBattleground()->GetArenaType() == _arenaType; } @@ -133,7 +133,7 @@ class achievement_sickly_gazelle : public AchievementCriteriaScript public: achievement_sickly_gazelle() : AchievementCriteriaScript("achievement_sickly_gazelle") { } - bool OnCheck(Player* /*source*/, Unit* target) override + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override { if (!target) return false; @@ -151,7 +151,7 @@ class achievement_everything_counts : public AchievementCriteriaScript public: achievement_everything_counts() : AchievementCriteriaScript("achievement_everything_counts") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { Battleground* bg = source->GetBattleground(); return bg && bg->GetBgTypeID(true) == BATTLEGROUND_AV && bg->ToBattlegroundAV()->IsBothMinesControlledByTeam(source->GetTeamId()); @@ -163,7 +163,7 @@ class achievement_bg_av_perfection : public AchievementCriteriaScript public: achievement_bg_av_perfection() : AchievementCriteriaScript("achievement_bg_av_perfection") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { Battleground* bg = source->GetBattleground(); return bg && bg->GetBgTypeID(true) == BATTLEGROUND_AV && bg->ToBattlegroundAV()->IsAllTowersControlledAndCaptainAlive(source->GetTeamId()); @@ -175,7 +175,7 @@ class achievement_sa_defense_of_the_ancients : public AchievementCriteriaScript public: achievement_sa_defense_of_the_ancients() : AchievementCriteriaScript("achievement_sa_defense_of_the_ancients") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { Battleground* bg = source->GetBattleground(); return bg && bg->GetBgTypeID(true) == BATTLEGROUND_SA && bg->ToBattlegroundSA()->AllowDefenseOfTheAncients(source); @@ -197,7 +197,7 @@ class achievement_tilted : public AchievementCriteriaScript public: achievement_tilted() : AchievementCriteriaScript("achievement_tilted") {} - bool OnCheck(Player* player, Unit* /*target*/) override + bool OnCheck(Player* player, Unit* /*target*/, uint32 /*criteria_id*/) override { if (!player) return false; @@ -219,7 +219,7 @@ class achievement_not_even_a_scratch : public AchievementCriteriaScript public: achievement_not_even_a_scratch() : AchievementCriteriaScript("achievement_not_even_a_scratch") { } - bool OnCheck(Player* source, Unit* /*target*/) override + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override { if (!source) return false; @@ -234,7 +234,7 @@ class achievement_killed_exp_or_honor_target : public AchievementCriteriaScript public: achievement_killed_exp_or_honor_target() : AchievementCriteriaScript("achievement_killed_exp_or_honor_target") { } - bool OnCheck(Player* player, Unit* target) override + bool OnCheck(Player* player, Unit* target, uint32 /*criteria_id*/) override { return target && player->isHonorOrXPTarget(target); }