diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-08-07 11:59:51 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-08-07 11:59:51 +0200 |
| commit | c0fc0f237f7e85ab3c5cc422fea7a1000fa72b23 (patch) | |
| tree | 8f9ba881f1e2eb5e58a712afbeb9bb0cb5753e35 /src/server/scripts/World | |
| parent | 0c96062687475191685d07b014e888ffcfbf5534 (diff) | |
| parent | 33f8c3ead4da07ff024a94b5e8cf0d05c2ebc23a (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/Battlegrounds/Battleground.cpp
src/server/game/Handlers/QuestHandler.cpp
src/server/shared/DataStores/DBCFileLoader.h
Diffstat (limited to 'src/server/scripts/World')
| -rw-r--r-- | src/server/scripts/World/achievement_scripts.cpp | 106 | ||||
| -rw-r--r-- | src/server/scripts/World/npcs_special.cpp | 2 |
2 files changed, 24 insertions, 84 deletions
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp index 0243b08e80e..94e448bd9bc 100644 --- a/src/server/scripts/World/achievement_scripts.cpp +++ b/src/server/scripts/World/achievement_scripts.cpp @@ -16,12 +16,8 @@ */ #include "ScriptMgr.h" - -#include "BattlegroundAB.h" -#include "BattlegroundWS.h" -#include "BattlegroundIC.h" #include "BattlegroundSA.h" -#include "BattlegroundAV.h" +#include "BattlegroundIC.h" #include "Vehicle.h" #include "Player.h" #include "Creature.h" @@ -31,19 +27,12 @@ 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) OVERRIDE { - Battleground* bg = source->GetBattleground(); - if (!bg) - return false; - - if (bg->GetTypeID(true) != BATTLEGROUND_AB) - return false; - - if (!bg->ToBattlegroundAB()->IsTeamScores500Disadvantage(source->GetTeam())) - return false; + if (Battleground* bg = source->GetBattleground()) + return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_RESILIENT_VICTORY, source, target); - return true; + return false; } }; @@ -54,14 +43,10 @@ class achievement_bg_control_all_nodes : public AchievementCriteriaScript bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE { - Battleground* bg = source->GetBattleground(); - if (!bg) - return false; - - if (!bg->IsAllNodesConrolledByTeam(source->GetTeam())) - return false; + if (Battleground* bg = source->GetBattleground()) + return bg->IsAllNodesControlledByTeam(source->GetTeam()); - return true; + return false; } }; @@ -72,21 +57,9 @@ class achievement_save_the_day : public AchievementCriteriaScript bool OnCheck(Player* source, Unit* target) OVERRIDE { - if (!target) - return false; - - if (Player const* player = target->ToPlayer()) - { - Battleground* bg = source->GetBattleground(); - if (!bg) - return false; + if (Battleground* bg = source->GetBattleground()) + return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_SAVE_THE_DAY, source, target); - if (bg->GetTypeID(true) != BATTLEGROUND_WS) - return false; - - if (bg->ToBattlegroundWS()->GetFlagState(player->GetTeam()) == BG_WS_FLAG_STATE_ON_BASE) - return true; - } return false; } }; @@ -200,17 +173,10 @@ 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) OVERRIDE { - Battleground* bg = source->GetBattleground(); - if (!bg) - return false; - - if (bg->GetTypeID(true) != BATTLEGROUND_AV) - return false; - - if (bg->ToBattlegroundAV()->IsBothMinesControlledByTeam(source->GetTeam())) - return true; + if (Battleground* bg = source->GetBattleground()) + return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_EVERYTHING_COUNTS, source, target); return false; } @@ -221,17 +187,10 @@ 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) OVERRIDE { - Battleground* bg = source->GetBattleground(); - if (!bg) - return false; - - if (bg->GetTypeID(true) != BATTLEGROUND_AV) - return false; - - if (bg->ToBattlegroundAV()->IsAllTowersControlledAndCaptainAlive(source->GetTeam())) - return true; + if (Battleground* bg = source->GetBattleground()) + return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_AV_PERFECTION, source, target); return false; } @@ -240,24 +199,12 @@ class achievement_bg_av_perfection : public AchievementCriteriaScript class achievement_bg_sa_defense_of_ancients : public AchievementCriteriaScript { public: - achievement_bg_sa_defense_of_ancients() : AchievementCriteriaScript("achievement_bg_sa_defense_of_ancients") - { - } + achievement_bg_sa_defense_of_ancients() : AchievementCriteriaScript("achievement_bg_sa_defense_of_ancients") { } - bool OnCheck(Player* player, Unit* /*target*/) OVERRIDE + bool OnCheck(Player* source, Unit* target) OVERRIDE { - if (!player) - return false; - - Battleground* battleground = player->GetBattleground(); - if (!battleground) - return false; - - if (player->GetTeamId() == battleground->ToBattlegroundSA()->Attackers) - return false; - - if (!battleground->ToBattlegroundSA()->gateDestroyed) - return true; + if (Battleground* bg = source->GetBattleground()) + return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_DEFENSE_OF_THE_ANCIENTS, source, target); return false; } @@ -299,17 +246,10 @@ 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) OVERRIDE { - if (!source) - return false; - - Battleground* battleground = source->GetBattleground(); - if (!battleground) - return false; - - if (battleground->ToBattlegroundSA()->notEvenAScratch(source->GetTeam())) - return true; + if (Battleground* bg = source->GetBattleground()) + return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_NOT_EVEN_A_SCRATCH, source, target); return false; } diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 6f867a47fc3..b236c277251 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -273,7 +273,7 @@ public: ## npc_lunaclaw_spirit ######*/ -enum +enum LunaclawSpirit { QUEST_BODY_HEART_A = 6001, QUEST_BODY_HEART_H = 6002, |
