Core/DB: Quest 'Distortions in time'

This commit is contained in:
Gacko
2012-10-14 17:24:59 +02:00
parent 6f0a8040d8
commit 59557091a6
2 changed files with 85 additions and 0 deletions

View File

@@ -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');

View File

@@ -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();
}