mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 01:08:35 +00:00
fix(Scripts/ZulDrak): Fix Ghymer not being healed by storm clouds (#22302)
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
--
|
||||
UPDATE `creature_template_addon` SET `auras` = '55708' WHERE `entry` = 29939;
|
||||
UPDATE `creature_template` SET `ScriptName` = '' WHERE `entry` = 29939;
|
||||
@@ -819,54 +819,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
enum StormCloud
|
||||
{
|
||||
STORM_COULD = 29939,
|
||||
HEALING_WINDS = 55549,
|
||||
STORM_VISUAL = 55708,
|
||||
GYMERS_GRAB = 55516,
|
||||
RIDE_VEHICLE = 43671
|
||||
};
|
||||
|
||||
class npc_storm_cloud : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_storm_cloud() : CreatureScript("npc_storm_cloud") { }
|
||||
|
||||
struct npc_storm_cloudAI : public ScriptedAI
|
||||
{
|
||||
npc_storm_cloudAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
me->CastSpell(me, STORM_VISUAL, true);
|
||||
}
|
||||
|
||||
void JustRespawned() override
|
||||
{
|
||||
Reset();
|
||||
}
|
||||
|
||||
void SpellHit(Unit* caster, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id != GYMERS_GRAB)
|
||||
return;
|
||||
|
||||
if (Vehicle* veh = caster->GetVehicleKit())
|
||||
if (veh->GetAvailableSeatCount() != 0)
|
||||
{
|
||||
me->CastSpell(caster, RIDE_VEHICLE, true);
|
||||
me->CastSpell(caster, HEALING_WINDS, true);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_storm_cloudAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
enum ScourgeDisguiseInstability
|
||||
{
|
||||
SCOURGE_DISGUISE_FAILING_MESSAGE_1 = 28552, // Scourge Disguise Failing! Find a safe place!
|
||||
@@ -922,7 +874,6 @@ void AddSC_zuldrak()
|
||||
new npc_released_offspring_harkoa();
|
||||
new npc_crusade_recruit();
|
||||
new go_scourge_enclosure();
|
||||
new npc_storm_cloud();
|
||||
|
||||
RegisterSpellScript(spell_scourge_disguise_instability);
|
||||
}
|
||||
|
||||
@@ -2269,7 +2269,10 @@ class spell_q12619_emblazon_runeblade_effect : public SpellScript
|
||||
enum Quest_The_Storm_King
|
||||
{
|
||||
SPELL_RIDE_GYMER = 43671,
|
||||
SPELL_GRABBED = 55424
|
||||
SPELL_GRABBED = 55424,
|
||||
SPELL_HEALING_WINDS = 55549,
|
||||
|
||||
NPC_STORM_CLOUD = 29939
|
||||
};
|
||||
|
||||
class spell_q12919_gymers_grab : public SpellScript
|
||||
@@ -2284,10 +2287,14 @@ class spell_q12919_gymers_grab : public SpellScript
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
int8 seatId = 2;
|
||||
if (!GetHitCreature())
|
||||
return;
|
||||
GetHitCreature()->CastCustomSpell(SPELL_RIDE_GYMER, SPELLVALUE_BASE_POINT0, seatId, GetCaster(), true);
|
||||
GetHitCreature()->CastSpell(GetHitCreature(), SPELL_GRABBED, true);
|
||||
if (Creature* creature = GetHitCreature())
|
||||
{
|
||||
creature->CastCustomSpell(SPELL_RIDE_GYMER, SPELLVALUE_BASE_POINT0, seatId, GetCaster(), true);
|
||||
creature->CastSpell(creature, SPELL_GRABBED, true);
|
||||
|
||||
if (creature->GetEntry() == NPC_STORM_CLOUD)
|
||||
creature->CastSpell(GetCaster(), SPELL_HEALING_WINDS, true);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
Reference in New Issue
Block a user