mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
Core/DB: Quest 'Distortions in time'
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
-- Area conditions for Plant Chieftains Totem
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=56765;
|
||||
INSERT INTO `conditions`(`SourceTypeOrReferenceId`,`SourceEntry`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ErrorTextId`,`Comment`) VALUES
|
||||
(17,56765,29,30446,10,64,'Plant Chieftains Totem only useable next to Rift');
|
||||
|
||||
-- Apply Close Rift to The Chieftain's Totem
|
||||
DELETE FROM `creature_template_addon` WHERE `entry`=30444;
|
||||
INSERT INTO `creature_template_addon`(`entry`,`auras`) VALUES
|
||||
(30444,'56763');
|
||||
|
||||
-- Assign aura script to Close Rift
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=56763;
|
||||
INSERT INTO `spell_script_names`(`spell_id`,`ScriptName`) VALUES
|
||||
(56763,'spell_close_rift');
|
||||
|
||||
-- Target conditions for spell triggered by Close Rift Periodic
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (56764,61665);
|
||||
INSERT INTO `conditions`(`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`Comment`) VALUES
|
||||
(13,1,56764,31,3,30446,'Close Rift Periodic targets Frostfloe Rift'),
|
||||
(13,1,61665,31,3,30446,'Despawn Rift targets Frostfloe Rift');
|
||||
|
||||
-- Assign SmartAI to Frostfloe Rift
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`='' WHERE `entry`=30446;
|
||||
|
||||
-- Create SAI for Frostfloe Rift
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=30446 AND `source_type`=0;
|
||||
INSERT INTO `smart_scripts`(`entryorguid`,`id`,`link`,`event_type`,`event_param1`,`action_type`,`action_param1`,`action_param2`,`target_type`,`comment`) VALUES
|
||||
(30446,1,2,8,61665,45,1,1,7,'Frostfloe Rift - On spell hit - Set data of invoker'),
|
||||
(30446,2,0,61,0,41,0,0,1,'Frostfloe Rift - On spell hit - Despawn');
|
||||
|
||||
-- Assign SmartAI to Chieftain's Totem
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`='' WHERE `entry`=30444;
|
||||
|
||||
-- Create SAI for Chieftain's Totem
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=30444 AND `source_type`=0;
|
||||
INSERT INTO `smart_scripts`(`entryorguid`,`event_type`,`event_param1`,`event_param2`,`action_type`,`action_param1`,`target_type`,`comment`) VALUES
|
||||
(30444,38,1,1,33,30444,23,'Chieftains Totem - On data set - Give quest credit');
|
||||
@@ -564,6 +564,53 @@ class npc_hyldsmeet_protodrake : public CreatureScript
|
||||
}
|
||||
};
|
||||
|
||||
enum eCloseRift
|
||||
{
|
||||
SPELL_DESPAWN_RIFT = 61665
|
||||
};
|
||||
|
||||
class spell_close_rift : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_close_rift() : SpellScriptLoader("spell_close_rift") { }
|
||||
|
||||
class spell_close_rift_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_close_rift_AuraScript);
|
||||
|
||||
bool Load()
|
||||
{
|
||||
counter = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
{
|
||||
return (bool) sSpellMgr->GetSpellInfo(SPELL_DESPAWN_RIFT);
|
||||
}
|
||||
|
||||
void HandlePeriodic(AuraEffect const* /* aurEff */)
|
||||
{
|
||||
if (++counter == 5)
|
||||
GetTarget()->CastSpell((Unit*)NULL, SPELL_DESPAWN_RIFT, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_close_rift_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
|
||||
private:
|
||||
uint8 counter;
|
||||
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const
|
||||
{
|
||||
return new spell_close_rift_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_storm_peaks()
|
||||
{
|
||||
new npc_agnetta_tyrsdottar();
|
||||
@@ -574,4 +621,5 @@ void AddSC_storm_peaks()
|
||||
new npc_freed_protodrake();
|
||||
new npc_icefang();
|
||||
new npc_hyldsmeet_protodrake();
|
||||
new spell_close_rift();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user