Scripts/Pet Implemented Argent Squire/Gruntling and Argent Pony Bridle
This commit is contained in:
1 parent
5643a150ad
commit
49d4e22c6a
3 files changed
+314
No files matched your search
@@ -4185,6 +4185,52 @@ class spell_gen_clear_debuffs : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
enum PonySpells
|
||||
{
|
||||
ACHIEV_PONY_UP = 3736,
|
||||
MOUNT_PONY = 29736
|
||||
};
|
||||
|
||||
class spell_gen_pony_mount_check : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_gen_pony_mount_check() : SpellScriptLoader("spell_gen_pony_mount_check") { }
|
||||
|
||||
class spell_gen_pony_mount_check_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_gen_pony_mount_check_AuraScript);
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
Player* owner = caster->GetOwner()->ToPlayer();
|
||||
if (!caster || !owner || !owner->HasAchieved(ACHIEV_PONY_UP))
|
||||
return;
|
||||
|
||||
if (owner->IsMounted())
|
||||
{
|
||||
caster->Mount(MOUNT_PONY);
|
||||
caster->SetSpeedRate(MOVE_RUN, owner->GetSpeedRate(MOVE_RUN));
|
||||
}
|
||||
else if (caster->IsMounted())
|
||||
{
|
||||
caster->Dismount();
|
||||
caster->SetSpeedRate(MOVE_RUN, owner->GetSpeedRate(MOVE_RUN));
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_pony_mount_check_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
{
|
||||
return new spell_gen_pony_mount_check_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_generic_spell_scripts()
|
||||
{
|
||||
new spell_gen_absorb0_hitlimit1();
|
||||
@@ -4274,4 +4320,5 @@ void AddSC_generic_spell_scripts()
|
||||
new spell_gen_mixology_bonus();
|
||||
new spell_gen_landmine_knockback_achievement();
|
||||
new spell_gen_clear_debuffs();
|
||||
new spell_gen_pony_mount_check();
|
||||
}
|
||||
Reference in new issue
Block a user