diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2017-03-07 13:33:19 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2017-03-07 13:33:19 -0300 |
| commit | 804257b99a26ca2dc1941a7577e5ae06c954f9cb (patch) | |
| tree | 24cfc255123232935c0fe6dc20498a561460c4d7 /src/server/scripts/Spells | |
| parent | c7a5aa3902ca548ac4355d659e29c6c88cef3525 (diff) | |
Core/Scripts: converted Argent Tournament pennants to AI
Closes #14616
Diffstat (limited to 'src/server/scripts/Spells')
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 260 |
1 files changed, 0 insertions, 260 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 0a5890f4a5d..4f218a04680 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -2410,265 +2410,6 @@ class spell_gen_obsidian_armor : public SpellScriptLoader } }; -enum TournamentPennantSpells -{ - SPELL_PENNANT_STORMWIND_ASPIRANT = 62595, - SPELL_PENNANT_STORMWIND_VALIANT = 62596, - SPELL_PENNANT_STORMWIND_CHAMPION = 62594, - SPELL_PENNANT_GNOMEREGAN_ASPIRANT = 63394, - SPELL_PENNANT_GNOMEREGAN_VALIANT = 63395, - SPELL_PENNANT_GNOMEREGAN_CHAMPION = 63396, - SPELL_PENNANT_SEN_JIN_ASPIRANT = 63397, - SPELL_PENNANT_SEN_JIN_VALIANT = 63398, - SPELL_PENNANT_SEN_JIN_CHAMPION = 63399, - SPELL_PENNANT_SILVERMOON_ASPIRANT = 63401, - SPELL_PENNANT_SILVERMOON_VALIANT = 63402, - SPELL_PENNANT_SILVERMOON_CHAMPION = 63403, - SPELL_PENNANT_DARNASSUS_ASPIRANT = 63404, - SPELL_PENNANT_DARNASSUS_VALIANT = 63405, - SPELL_PENNANT_DARNASSUS_CHAMPION = 63406, - SPELL_PENNANT_EXODAR_ASPIRANT = 63421, - SPELL_PENNANT_EXODAR_VALIANT = 63422, - SPELL_PENNANT_EXODAR_CHAMPION = 63423, - SPELL_PENNANT_IRONFORGE_ASPIRANT = 63425, - SPELL_PENNANT_IRONFORGE_VALIANT = 63426, - SPELL_PENNANT_IRONFORGE_CHAMPION = 63427, - SPELL_PENNANT_UNDERCITY_ASPIRANT = 63428, - SPELL_PENNANT_UNDERCITY_VALIANT = 63429, - SPELL_PENNANT_UNDERCITY_CHAMPION = 63430, - SPELL_PENNANT_ORGRIMMAR_ASPIRANT = 63431, - SPELL_PENNANT_ORGRIMMAR_VALIANT = 63432, - SPELL_PENNANT_ORGRIMMAR_CHAMPION = 63433, - SPELL_PENNANT_THUNDER_BLUFF_ASPIRANT = 63434, - SPELL_PENNANT_THUNDER_BLUFF_VALIANT = 63435, - SPELL_PENNANT_THUNDER_BLUFF_CHAMPION = 63436, - SPELL_PENNANT_ARGENT_CRUSADE_ASPIRANT = 63606, - SPELL_PENNANT_ARGENT_CRUSADE_VALIANT = 63500, - SPELL_PENNANT_ARGENT_CRUSADE_CHAMPION = 63501, - SPELL_PENNANT_EBON_BLADE_ASPIRANT = 63607, - SPELL_PENNANT_EBON_BLADE_VALIANT = 63608, - SPELL_PENNANT_EBON_BLADE_CHAMPION = 63609 -}; - -enum TournamentMounts -{ - NPC_STORMWIND_STEED = 33217, - NPC_IRONFORGE_RAM = 33316, - NPC_GNOMEREGAN_MECHANOSTRIDER = 33317, - NPC_EXODAR_ELEKK = 33318, - NPC_DARNASSIAN_NIGHTSABER = 33319, - NPC_ORGRIMMAR_WOLF = 33320, - NPC_DARK_SPEAR_RAPTOR = 33321, - NPC_THUNDER_BLUFF_KODO = 33322, - NPC_SILVERMOON_HAWKSTRIDER = 33323, - NPC_FORSAKEN_WARHORSE = 33324, - NPC_ARGENT_WARHORSE = 33782, - NPC_ARGENT_STEED_ASPIRANT = 33845, - NPC_ARGENT_HAWKSTRIDER_ASPIRANT = 33844 -}; - -enum TournamentQuestsAchievements -{ - ACHIEVEMENT_CHAMPION_STORMWIND = 2781, - ACHIEVEMENT_CHAMPION_DARNASSUS = 2777, - ACHIEVEMENT_CHAMPION_IRONFORGE = 2780, - ACHIEVEMENT_CHAMPION_GNOMEREGAN = 2779, - ACHIEVEMENT_CHAMPION_THE_EXODAR = 2778, - ACHIEVEMENT_CHAMPION_ORGRIMMAR = 2783, - ACHIEVEMENT_CHAMPION_SEN_JIN = 2784, - ACHIEVEMENT_CHAMPION_THUNDER_BLUFF = 2786, - ACHIEVEMENT_CHAMPION_UNDERCITY = 2787, - ACHIEVEMENT_CHAMPION_SILVERMOON = 2785, - ACHIEVEMENT_ARGENT_VALOR = 2758, - ACHIEVEMENT_CHAMPION_ALLIANCE = 2782, - ACHIEVEMENT_CHAMPION_HORDE = 2788, - - QUEST_VALIANT_OF_STORMWIND = 13593, - QUEST_A_VALIANT_OF_STORMWIND = 13684, - QUEST_VALIANT_OF_DARNASSUS = 13706, - QUEST_A_VALIANT_OF_DARNASSUS = 13689, - QUEST_VALIANT_OF_IRONFORGE = 13703, - QUEST_A_VALIANT_OF_IRONFORGE = 13685, - QUEST_VALIANT_OF_GNOMEREGAN = 13704, - QUEST_A_VALIANT_OF_GNOMEREGAN = 13688, - QUEST_VALIANT_OF_THE_EXODAR = 13705, - QUEST_A_VALIANT_OF_THE_EXODAR = 13690, - QUEST_VALIANT_OF_ORGRIMMAR = 13707, - QUEST_A_VALIANT_OF_ORGRIMMAR = 13691, - QUEST_VALIANT_OF_SEN_JIN = 13708, - QUEST_A_VALIANT_OF_SEN_JIN = 13693, - QUEST_VALIANT_OF_THUNDER_BLUFF = 13709, - QUEST_A_VALIANT_OF_THUNDER_BLUFF = 13694, - QUEST_VALIANT_OF_UNDERCITY = 13710, - QUEST_A_VALIANT_OF_UNDERCITY = 13695, - QUEST_VALIANT_OF_SILVERMOON = 13711, - QUEST_A_VALIANT_OF_SILVERMOON = 13696 -}; - -class spell_gen_on_tournament_mount : public SpellScriptLoader -{ - public: - spell_gen_on_tournament_mount() : SpellScriptLoader("spell_gen_on_tournament_mount") { } - - class spell_gen_on_tournament_mount_AuraScript : public AuraScript - { - PrepareAuraScript(spell_gen_on_tournament_mount_AuraScript); - - public: - spell_gen_on_tournament_mount_AuraScript() - { - _pennantSpellId = 0; - } - - private: - uint32 _pennantSpellId; - - bool Load() override - { - return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER; - } - - void HandleApplyEffect(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) - { - if (Unit* caster = GetCaster()) - { - if (Unit* vehicle = caster->GetVehicleBase()) - { - _pennantSpellId = GetPennatSpellId(caster->ToPlayer(), vehicle); - caster->CastSpell(caster, _pennantSpellId, true); - } - } - } - - void HandleRemoveEffect(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) - { - if (Unit* caster = GetCaster()) - caster->RemoveAurasDueToSpell(_pennantSpellId); - } - - uint32 GetPennatSpellId(Player* player, Unit* mount) - { - switch (mount->GetEntry()) - { - case NPC_ARGENT_STEED_ASPIRANT: - case NPC_STORMWIND_STEED: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_STORMWIND)) - return SPELL_PENNANT_STORMWIND_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_STORMWIND) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_STORMWIND)) - return SPELL_PENNANT_STORMWIND_VALIANT; - else - return SPELL_PENNANT_STORMWIND_ASPIRANT; - } - case NPC_GNOMEREGAN_MECHANOSTRIDER: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_GNOMEREGAN)) - return SPELL_PENNANT_GNOMEREGAN_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_GNOMEREGAN) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_GNOMEREGAN)) - return SPELL_PENNANT_GNOMEREGAN_VALIANT; - else - return SPELL_PENNANT_GNOMEREGAN_ASPIRANT; - } - case NPC_DARK_SPEAR_RAPTOR: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_SEN_JIN)) - return SPELL_PENNANT_SEN_JIN_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_SEN_JIN) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_SEN_JIN)) - return SPELL_PENNANT_SEN_JIN_VALIANT; - else - return SPELL_PENNANT_SEN_JIN_ASPIRANT; - } - case NPC_ARGENT_HAWKSTRIDER_ASPIRANT: - case NPC_SILVERMOON_HAWKSTRIDER: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_SILVERMOON)) - return SPELL_PENNANT_SILVERMOON_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_SILVERMOON) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_SILVERMOON)) - return SPELL_PENNANT_SILVERMOON_VALIANT; - else - return SPELL_PENNANT_SILVERMOON_ASPIRANT; - } - case NPC_DARNASSIAN_NIGHTSABER: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_DARNASSUS)) - return SPELL_PENNANT_DARNASSUS_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_DARNASSUS) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_DARNASSUS)) - return SPELL_PENNANT_DARNASSUS_VALIANT; - else - return SPELL_PENNANT_DARNASSUS_ASPIRANT; - } - case NPC_EXODAR_ELEKK: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_THE_EXODAR)) - return SPELL_PENNANT_EXODAR_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_THE_EXODAR) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_THE_EXODAR)) - return SPELL_PENNANT_EXODAR_VALIANT; - else - return SPELL_PENNANT_EXODAR_ASPIRANT; - } - case NPC_IRONFORGE_RAM: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_IRONFORGE)) - return SPELL_PENNANT_IRONFORGE_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_IRONFORGE) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_IRONFORGE)) - return SPELL_PENNANT_IRONFORGE_VALIANT; - else - return SPELL_PENNANT_IRONFORGE_ASPIRANT; - } - case NPC_FORSAKEN_WARHORSE: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_UNDERCITY)) - return SPELL_PENNANT_UNDERCITY_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_UNDERCITY) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_UNDERCITY)) - return SPELL_PENNANT_UNDERCITY_VALIANT; - else - return SPELL_PENNANT_UNDERCITY_ASPIRANT; - } - case NPC_ORGRIMMAR_WOLF: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_ORGRIMMAR)) - return SPELL_PENNANT_ORGRIMMAR_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_ORGRIMMAR) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_ORGRIMMAR)) - return SPELL_PENNANT_ORGRIMMAR_VALIANT; - else - return SPELL_PENNANT_ORGRIMMAR_ASPIRANT; - } - case NPC_THUNDER_BLUFF_KODO: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_THUNDER_BLUFF)) - return SPELL_PENNANT_THUNDER_BLUFF_CHAMPION; - else if (player->GetQuestRewardStatus(QUEST_VALIANT_OF_THUNDER_BLUFF) || player->GetQuestRewardStatus(QUEST_A_VALIANT_OF_THUNDER_BLUFF)) - return SPELL_PENNANT_THUNDER_BLUFF_VALIANT; - else - return SPELL_PENNANT_THUNDER_BLUFF_ASPIRANT; - } - case NPC_ARGENT_WARHORSE: - { - if (player->HasAchieved(ACHIEVEMENT_CHAMPION_ALLIANCE) || player->HasAchieved(ACHIEVEMENT_CHAMPION_HORDE)) - return player->getClass() == CLASS_DEATH_KNIGHT ? SPELL_PENNANT_EBON_BLADE_CHAMPION : SPELL_PENNANT_ARGENT_CRUSADE_CHAMPION; - else if (player->HasAchieved(ACHIEVEMENT_ARGENT_VALOR)) - return player->getClass() == CLASS_DEATH_KNIGHT ? SPELL_PENNANT_EBON_BLADE_VALIANT : SPELL_PENNANT_ARGENT_CRUSADE_VALIANT; - else - return player->getClass() == CLASS_DEATH_KNIGHT ? SPELL_PENNANT_EBON_BLADE_ASPIRANT : SPELL_PENNANT_ARGENT_CRUSADE_ASPIRANT; - } - default: - return 0; - } - } - - void Register() override - { - AfterEffectApply += AuraEffectApplyFn(spell_gen_on_tournament_mount_AuraScript::HandleApplyEffect, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK); - OnEffectRemove += AuraEffectRemoveFn(spell_gen_on_tournament_mount_AuraScript::HandleRemoveEffect, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_gen_on_tournament_mount_AuraScript(); - } -}; - class spell_gen_oracle_wolvar_reputation : public SpellScriptLoader { public: @@ -4547,7 +4288,6 @@ void AddSC_generic_spell_scripts() new spell_gen_netherbloom(); new spell_gen_nightmare_vine(); new spell_gen_obsidian_armor(); - new spell_gen_on_tournament_mount(); new spell_gen_oracle_wolvar_reputation(); new spell_gen_orc_disguise(); new spell_gen_paralytic_poison(); |
