Scripts/Orgrimmar: Implement The Art of War (29611) (#30366)

This commit is contained in:
Meji
2024-10-22 03:42:37 +02:00
committed by GitHub
parent b8df69a4da
commit e23a02ac4e
2 changed files with 105 additions and 0 deletions

View File

@@ -15,6 +15,57 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace Orgrimmar
{
namespace Spells
{
static constexpr uint32 MOPHordeIntroMoviePlay = 130409;
static constexpr uint32 FadeToBlack = 130411;
}
}
// 130412 - Art of War Movie Aura
class spell_art_of_war_movie_aura : public AuraScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({
Orgrimmar::Spells::MOPHordeIntroMoviePlay,
Orgrimmar::Spells::FadeToBlack
});
}
void HandleAfterEffectApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) const
{
Unit* caster = GetCaster();
if (!caster)
return;
caster->CastSpell(GetTarget(), Orgrimmar::Spells::FadeToBlack, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
.TriggeringAura = aurEff
});
}
void HandleAfterEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
Unit* caster = GetCaster();
if (!caster)
return;
caster->CastSpell(GetTarget(), Orgrimmar::Spells::MOPHordeIntroMoviePlay, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR
});
}
void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_art_of_war_movie_aura::HandleAfterEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
AfterEffectRemove += AuraEffectRemoveFn(spell_art_of_war_movie_aura::HandleAfterEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
void AddSC_orgrimmar()
{
RegisterSpellScript(spell_art_of_war_movie_aura);
}