mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Merge pull request #18094 from Staleness89/3.3.5
Script/Quest: Rivenwood Captives
This commit is contained in:
49
sql/updates/world/3.3.5/2016_11_23_00_world.sql
Normal file
49
sql/updates/world/3.3.5/2016_11_23_00_world.sql
Normal file
@@ -0,0 +1,49 @@
|
||||
-- Remove incomplete SAI and set core scriptname
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=24210;
|
||||
UPDATE `creature_template` SET `AIName`='', `ScriptName`='npc_riven_widow_cocoon' WHERE `entry`= 24210;
|
||||
|
||||
-- add UNIT_FLAG_PACIFIED to Riven Widow Cocoon and disable experience
|
||||
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|131072 AND `flags_extra`=`flags_extra`|64 WHERE `entry`=24210;
|
||||
|
||||
-- set creatures that spawn to SmartAI (the ones that aren't already)
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (24026,24073,24219);
|
||||
|
||||
-- Add an attack summoner on just summoned to each creature. Some of these creatures already have SmartAI, did all this to avoid errors.
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (23661,23662,23666,23669,23959,23989,23990,23991,24026,24073,24219,24211);
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(24219,0, 0,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Baby Riven Widow - On Just Summoned - Attack Summoner'),
|
||||
(24073,0, 0,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Fearsome Horror - On Just Summoned - Attack Summoner'),
|
||||
(23661,0, 0,1, 8,0,100, 0, 43036, 0, 0, 0, 11, 43059, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,"Winterskorn Tribesman - On Spellhit 'Dismembering Corpse' - Cast 'Gruesome, But Necessary: Vrykul On Dismember'"),
|
||||
(23661,0, 3,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Winterskorn Tribesman - On Just Summoned - Attack Summoner'),
|
||||
(23661,0, 1,0, 61,0,100, 0, 0, 0, 0, 0, 11, 43037, 0,0,0,0,0, 7, 0, 0,0,0,0,0,0,"Winterskorn Tribesman - On Aggro - Cast 'Gruesome, But Necessary: Kill Credit'"),
|
||||
(23661,0, 2,0, 0,0,100, 0, 1000, 15000, 7200, 35000, 1, 0, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Winterskorn Tribesman - In Combat - Say Line 0'),
|
||||
(23666,0, 4,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Winterskorn Berserker - On Just Summoned - Attack Summoner'),
|
||||
(23666,0, 0,1, 8,0,100, 0, 43036, 0, 0, 0, 11, 43059, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,"Winterskorn Berserker - On Spellhit 'Dismembering Corpse' - Cast 'Gruesome, But Necessary: Vrykul On Dismember'"),
|
||||
(23666,0, 1,0, 61,0,100, 0, 0, 0, 0, 0, 11, 43037, 0,0,0,0,0, 7, 0, 0,0,0,0,0,0,"Winterskorn Berserker - On Spellhit 'Dismembering Corpse' - Cast 'Gruesome, But Necessary: Kill Credit'"),
|
||||
(23666,0, 2,0, 0,0,100, 0, 1000, 15000, 7200, 35000, 1, 0, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Winterskorn Berserker - In Combat - Say Line 0'),
|
||||
(23666,0, 3,0, 1,0,100, 0, 0, 60000, 15000, 70000, 1, 1, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Winterskorn Berserker - Out of Combat - Say Line 1'),
|
||||
(23991,0, 0,0, 4,0, 50, 1, 0, 0, 0, 0, 1, 0, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Gjalerbron Warrior - On Aggro - Say (No Repeat)'),
|
||||
(23991,0, 1,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Gjalerbron Warrior - On Just Summoned - Attack Summoner'),
|
||||
(23990,0, 0,0, 4,0, 50, 1, 0, 0, 0, 0, 1, 0, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Gjalerbron Rune-Caster - On Aggro - Say (No Repeat)'),
|
||||
(23990,0, 1,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Gjalerbron Runecaster - On Just Summoned - Attack Summoner'),
|
||||
(23989,0, 0,0, 4,0, 50, 1, 0, 0, 0, 0, 1, 0, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Gjalerbron Sleep-Watcher - On Aggro - Say (No Repeat)'),
|
||||
(23989,0, 1,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Gjalerbron SleepWatcher - On Just Summoned - Attack Summoner'),
|
||||
(23669,0, 0,0, 0,0,100, 0, 1000, 3500, 3000, 9000, 11, 43083, 0,0,0,0,0, 2, 0, 0,0,0,0,0,0,"Winterskorn Oracle - In Combat - Cast 'Frostbolt'"),
|
||||
(23669,0, 1,2, 8,0,100, 0, 43036, 0, 0, 0, 11, 43059, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,"Winterskorn Oracle - On Spellhit 'Dismembering Corpse' - Cast 'Gruesome, But Necessary: Vrykul On Dismember'"),
|
||||
(23669,0, 1,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Winterskorn Oracle - On Just Summoned - Attack Summoner'),
|
||||
(23669,0, 2,0, 61,0,100, 0, 0, 0, 0, 0, 11, 43037, 0,0,0,0,0, 7, 0, 0,0,0,0,0,0,"Winterskorn Oracle - On Spellhit 'Dismembering Corpse' - Cast 'Gruesome, But Necessary: Kill Credit'"),
|
||||
(23669,0, 3,0, 0,0,100, 0, 1000, 15000, 7200, 35000, 5, 1, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Winterskorn Oracle - In Combat - Say Line 0'),
|
||||
(23959,0, 0,0, 38,0,100, 0, 0, 1, 0, 0, 69, 1, 0,0,0,0,0, 19, 24230,50,0,0,0,0,0,"Darkclaw Bat - On Data Set 0 1 - Move To Closest Creature 'Feknut's Firecrackers Bunny'"),
|
||||
(23959,0, 1,0, 34,0,100, 512, 0, 1, 0, 0, 45, 0, 1,0,0,0,0, 19, 24230, 5,0,0,0,0,0,'Darkclaw Bat - On Reached Point 1 - Set Data 0 1'),
|
||||
(23959,0, 2,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Darkclaw Bat - On Just Summoned - Attack Summoner'),
|
||||
(23662,0, 0,0, 0,0,100, 0, 100, 1000, 5000, 14500, 11, 38557, 0,0,0,0,0, 2, 0, 0,0,0,0,0,0,"Winterskorn Woodsman - In Combat - Cast 'Throw'"),
|
||||
(23662,0, 1,0, 0,0,100, 0, 1000, 4500, 4900, 8100, 11, 43410, 0,0,0,0,0, 2, 0, 0,0,0,0,0,0,"Winterskorn Woodsman - In Combat - Cast 'Chop'"),
|
||||
(23662,0, 2,3, 8,0,100, 0, 43036, 0, 0, 0, 11, 43059, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,"Winterskorn Woodsman - On Spellhit 'Dismembering Corpse' - Cast 'Gruesome, But Necessary: Vrykul On Dismember'"),
|
||||
(23662,0, 2,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Winterskorn Woodsman - On Just Summoned - Attack Summoner'),
|
||||
(23662,0, 3,0, 61,0,100, 0, 0, 0, 0, 0, 11, 43037, 0,0,0,0,0, 7, 0, 0,0,0,0,0,0,"Winterskorn Woodsman - On Spellhit 'Dismembering Corpse' - Cast 'Gruesome, But Necessary: Kill Credit'"),
|
||||
(23662,0, 4,0, 0,0,100, 0, 1000, 15000, 7200, 35000, 1, 0, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Winterskorn Woodsman - In Combat - Say Line 0'),
|
||||
(24026,0, 0,0, 54,0,100, 512, 0, 0, 0, 0, 49, 0, 0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Fanggore Worg - On Just Summoned - Attack Summoner'),
|
||||
(24211,0, 1,2, 61,0,100, 512, 0, 0, 0, 0, 29, 0,0,0,0,0,0, 23, 0, 0,0,0,0,0,0,'Freed Winterhoof Longrunner - On Just Summoned - Follow Summoner'),
|
||||
(24211,0, 2,0, 61,0,100, 512, 0, 0, 0, 0, 41, 6000, 0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Freed Winterhoof Longrunner - On Just Summoned - Despawn In 6000 ms'),
|
||||
(24211,0, 0,1, 54,0,100, 512, 0, 0, 0, 0, 1, 0,0,0,0,0,0, 1, 0, 0,0,0,0,0,0,'Freed Winterhoof Longrunner - On Just Summoned - Say Line 0');
|
||||
|
||||
@@ -587,6 +587,74 @@ class spell_mindless_abomination_explosion_fx_master : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
enum SummonSpells
|
||||
{
|
||||
SPELL_SUMMON_BABY_RIVEN_WIDOWS = 43275,
|
||||
SPELL_SUMMON_DARKCLAW_BAT = 43276,
|
||||
SPELL_SUMMON_FANGGORE_WORG = 43277,
|
||||
SPELL_SUMMON_GJALERBRON_RUNECASTER = 43278,
|
||||
SPELL_SUMMON_GJALERBRON_SLEEPWATCHER = 43279,
|
||||
SPELL_SUMMON_GJALERBRON_WARRIOR = 43280,
|
||||
SPELL_SUMMON_PUTRID_HORROR = 43281,
|
||||
SPELL_SUMMON_WINTERSKORN_BERSERKER = 43282,
|
||||
SPELL_SUMMON_WINTERSKORN_WOODSMAN = 43283,
|
||||
SPELL_SUMMON_WINTERSKORN_TRIBESMAN = 43284,
|
||||
SPELL_SUMMON_WINTERSKORN_ORACLE = 43285,
|
||||
SPELL_SUMMON_FREED_MIST_WHISPER_SCOUT = 43289,
|
||||
NPC_MIST_WHISPER_SCOUT = 24211
|
||||
};
|
||||
|
||||
const uint32 rivenWidowCocoonVictims[11] =
|
||||
{
|
||||
SPELL_SUMMON_BABY_RIVEN_WIDOWS,
|
||||
SPELL_SUMMON_DARKCLAW_BAT,
|
||||
SPELL_SUMMON_FANGGORE_WORG,
|
||||
SPELL_SUMMON_GJALERBRON_RUNECASTER,
|
||||
SPELL_SUMMON_GJALERBRON_SLEEPWATCHER,
|
||||
SPELL_SUMMON_GJALERBRON_WARRIOR,
|
||||
SPELL_SUMMON_PUTRID_HORROR,
|
||||
SPELL_SUMMON_WINTERSKORN_BERSERKER,
|
||||
SPELL_SUMMON_WINTERSKORN_WOODSMAN,
|
||||
SPELL_SUMMON_WINTERSKORN_TRIBESMAN,
|
||||
SPELL_SUMMON_WINTERSKORN_ORACLE
|
||||
};
|
||||
|
||||
class npc_riven_widow_cocoon : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_riven_widow_cocoon() : CreatureScript("npc_riven_widow_cocoon") { }
|
||||
|
||||
struct npc_riven_widow_cocoonAI : public ScriptedAI
|
||||
{
|
||||
npc_riven_widow_cocoonAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void Reset() override { }
|
||||
void EnterCombat(Unit* /*who*/) override { }
|
||||
void MoveInLineOfSight(Unit* /*who*/) override { }
|
||||
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
Player* player = killer->ToPlayer();
|
||||
|
||||
if (!player)
|
||||
return;
|
||||
|
||||
if (roll_chance_i(20))
|
||||
{
|
||||
player->CastSpell(me, SPELL_SUMMON_FREED_MIST_WHISPER_SCOUT, true);
|
||||
player->KilledMonsterCredit(NPC_MIST_WHISPER_SCOUT);
|
||||
}
|
||||
else
|
||||
player->CastSpell(me, rivenWidowCocoonVictims[urand(0, 10)], true);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_riven_widow_cocoonAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_howling_fjord()
|
||||
{
|
||||
new npc_apothecary_hanes();
|
||||
@@ -595,4 +663,5 @@ void AddSC_howling_fjord()
|
||||
new npc_daegarn();
|
||||
new npc_mindless_abomination();
|
||||
new spell_mindless_abomination_explosion_fx_master();
|
||||
new npc_riven_widow_cocoon();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user