Merge branch 'master' into Playerbot

This commit is contained in:
Yunfan Li
2024-01-14 15:23:52 +08:00
16 changed files with 140 additions and 93 deletions

View File

@@ -515,7 +515,15 @@ class spell_pilgrims_bounty_feast_on_generic : public SpellScript
enum tTracker
{
SPELL_TURKEY_TRACKER = 62014,
SPELL_ACHI_TURKINATOR_CREDIT = 62021,
SPELL_ACHI_TURKINATOR_CREDIT = 62021
};
enum Say
{
SAY_TURKEY_HUNTER = 33163,
SAY_TURKEY_DOMINATION = 33164,
SAY_TURKEY_SLAUGHTER = 33165,
SAY_TURKEY_TRIUMPH = 33167
};
class spell_pilgrims_bounty_turkey_tracker : public SpellScript
@@ -532,16 +540,16 @@ class spell_pilgrims_bounty_turkey_tracker : public SpellScript
switch (stackAmount)
{
case 10:
target->TextEmote("Turkey Hunter!", target, true);
target->Whisper(SAY_TURKEY_HUNTER, target, true);
break;
case 20:
target->TextEmote("Turkey Domination!", target, true);
target->Whisper(SAY_TURKEY_DOMINATION, target, true);
break;
case 30:
target->TextEmote("Turkey Slaughter!", target, true);
target->Whisper(SAY_TURKEY_SLAUGHTER, target, true);
break;
case 40:
target->TextEmote("TURKEY TRIUMPH!", target, true);
target->Whisper(SAY_TURKEY_TRIUMPH, target, true);
target->CastSpell(target, SPELL_ACHI_TURKINATOR_CREDIT, true);
aurEff->GetBase()->Remove();
break;

View File

@@ -950,6 +950,37 @@ class spell_q10190_battery_recharging_blaster_aura : public AuraScript
}
};
enum Veraku
{
NPC_VERAKU = 18544,
SPELL_CHALLENGE_VERAKU = 34895
};
class spell_challenge_veraku : public SpellScript
{
public:
PrepareSpellScript(spell_challenge_veraku);
bool Validate(SpellInfo const* /*SpellInfo*/) override
{
return ValidateSpellInfo({ SPELL_CHALLENGE_VERAKU });
}
SpellCastResult CheckRequirement()
{
if (Unit* caster = GetCaster())
if (Creature* veraku = caster->FindNearestCreature(NPC_VERAKU, 100.0f))
if (!veraku->HasAura(SPELL_CHALLENGE_VERAKU))
return SPELL_FAILED_CASTER_AURASTATE;
return SPELL_CAST_OK;
}
void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_challenge_veraku::CheckRequirement);
}
};
void AddSC_netherstorm()
{
// Ours
@@ -962,5 +993,6 @@ void AddSC_netherstorm()
new npc_bessy();
new npc_maxx_a_million_escort();
RegisterSpellAndAuraScriptPair(spell_q10190_battery_recharging_blaster, spell_q10190_battery_recharging_blaster_aura);
RegisterSpellScript(spell_challenge_veraku);
}

View File

@@ -695,7 +695,8 @@ class spell_rog_pickpocket : public SpellScript
enum vanish
{
SPELL_PARALYZE = 38132,
SPELL_STEALTH = 1784,
SPELL_PARALYZE = 38132,
SPELL_CLEAN_ESCAPE_AURA = 23582,
SPELL_CLEAN_ESCAPE_HEAL = 23583
};
@@ -742,8 +743,22 @@ class spell_rog_vanish : public SpellScript
void HandleEffect(SpellEffIndex /*effIndex*/)
{
if (GetCaster() && GetCaster()->HasAura(SPELL_CLEAN_ESCAPE_AURA))
GetCaster()->CastSpell(GetCaster(), SPELL_CLEAN_ESCAPE_HEAL, true);
if (GetCaster())
{
GetCaster()->RemoveAurasByType(SPELL_AURA_MOD_STALKED);
if (!GetCaster()->HasAura(SPELL_STEALTH))
{
// Remove stealth cooldown if needed.
if (GetCaster()->IsPlayer() && GetCaster()->HasSpellCooldown(SPELL_STEALTH))
GetCaster()->ToPlayer()->RemoveSpellCooldown(SPELL_STEALTH);
GetCaster()->CastSpell(GetCaster(), SPELL_STEALTH, true);
}
if (GetCaster()->HasAura(SPELL_CLEAN_ESCAPE_AURA))
GetCaster()->CastSpell(GetCaster(), SPELL_CLEAN_ESCAPE_HEAL, true);
}
}
void Register() override