fix(DB/Quest): Improve The Summoning Chamber (#16588)
* fix(DB/quest): The Summoning Chamber * update * improvement * update * update * Update rev_1687180111436507500.sql * improvement
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
-- You need to kill Skartax
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 17) AND (`SourceGroup` = 0) AND (`SourceEntry` = 37285) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 29) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 21207) AND (`ConditionValue2` = 30) AND (`ConditionValue3` = 1);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(17, 0, 37285, 0, 0, 29, 0, 21207, 30, 1, 0, 0, 0, '', 'Disrupt the summoning of infernal souls within the summoning chamber of the Deathforge.');
|
||||||
|
|
||||||
|
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_disrupt_summoning_ritual';
|
||||||
|
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||||
|
(37285, 'spell_disrupt_summoning_ritual');
|
||||||
@@ -1811,6 +1811,32 @@ class spell_calling_korkron_or_wildhammer : public SpellScript
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum InfernalOversoul
|
||||||
|
{
|
||||||
|
NPC_INFERNAL_OVERSOUL = 21735,
|
||||||
|
SPELL_DISRUPT_SUMMONING_RITUAL = 37285
|
||||||
|
};
|
||||||
|
|
||||||
|
class spell_disrupt_summoning_ritual : public SpellScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PrepareSpellScript(spell_disrupt_summoning_ritual);
|
||||||
|
|
||||||
|
SpellCastResult CheckRequirement()
|
||||||
|
{
|
||||||
|
if (Unit* caster = GetCaster())
|
||||||
|
if (Creature* infernal = caster->FindNearestCreature(NPC_INFERNAL_OVERSOUL, 100.0f))
|
||||||
|
if (!infernal->HasAura(SPELL_DISRUPT_SUMMONING_RITUAL))
|
||||||
|
return SPELL_FAILED_CASTER_AURASTATE;
|
||||||
|
return SPELL_CAST_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Register() override
|
||||||
|
{
|
||||||
|
OnCheckCast += SpellCheckCastFn(spell_disrupt_summoning_ritual::CheckRequirement);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_shadowmoon_valley()
|
void AddSC_shadowmoon_valley()
|
||||||
{
|
{
|
||||||
// Ours
|
// Ours
|
||||||
@@ -1834,4 +1860,5 @@ void AddSC_shadowmoon_valley()
|
|||||||
new npc_shadowmoon_tuber_node();
|
new npc_shadowmoon_tuber_node();
|
||||||
RegisterCreatureAI(npc_korkron_or_wildhammer);
|
RegisterCreatureAI(npc_korkron_or_wildhammer);
|
||||||
RegisterSpellScript(spell_calling_korkron_or_wildhammer);
|
RegisterSpellScript(spell_calling_korkron_or_wildhammer);
|
||||||
|
RegisterSpellScript(spell_disrupt_summoning_ritual);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user