fix(DB/Quest): Defenders of Darrowshire (#8467)
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1634101865218672300');
|
||||||
|
|
||||||
|
-- Summon Darrowsire Spirit
|
||||||
|
UPDATE `spell_dbc` SET `Effect_1` = 28, `EffectMiscValueB_1` = 64 WHERE `id` = 17310;
|
||||||
|
|
||||||
|
-- Cannibal Ghoul, Gibbering Ghoul, Diseased Flayer, Darrowshire Spirit
|
||||||
|
UPDATE `creature_template` SET `ScriptName` = '', `AIName` = 'SmartAI' WHERE `entry` IN (8530, 8531, 8532, 11064);
|
||||||
|
|
||||||
|
-- Darrowshire Spirit
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 11064);
|
||||||
|
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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||||
|
(11064, 0, 0, 0, 1, 0, 100, 0, 60000, 60000, 60000, 60000, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darrowshire Spirit - OOC - Despawn'),
|
||||||
|
(11064, 0, 1, 2, 11, 0, 100, 0, 0, 0, 0, 0, 0, 67, 1, 1000, 1000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darrowshire Spirit - On Reset - Create Timed Event 1'),
|
||||||
|
(11064, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darrowshire Spirit - On Reset - Remove Unit Flag Not selectable'),
|
||||||
|
(11064, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 11, 17327, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darrowshire Spirit - On Reset - Cast Spirit Particles'),
|
||||||
|
(11064, 0, 4, 5, 64, 0, 100, 1, 0, 0, 0, 0, 0, 33, 11064, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Darrowshire Spirit - On Gossip Hello - Kill Credit'),
|
||||||
|
(11064, 0, 5, 0, 61, 0, 100, 1, 0, 0, 0, 0, 0, 41, 10000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darrowshire Spirit - On Gossip Hello - Despawn after 10 seconds'),
|
||||||
|
(11064, 0, 6, 0, 59, 0, 100, 0, 1, 0, 0, 0, 0, 11, 17321, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darrowshire Spirit - On Timed Event - Cast Spirit Spawn-In');
|
||||||
|
|
||||||
|
-- Cannibal Ghoul
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 8530);
|
||||||
|
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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||||
|
(8530, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 11, 17310, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cannibal Ghoul - On Death - Cast Summon Darrowshire Spirit');
|
||||||
|
|
||||||
|
-- Gibbering Ghoul
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 8531);
|
||||||
|
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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||||
|
(8531, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 11, 17310, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Gibbering Ghoul - On Death - Cast Summon Darrowshire Spirit'),
|
||||||
|
(8531, 0, 1, 0, 0, 0, 100, 0, 6000, 12000, 22000, 28000, 0, 11, 12889, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Gibbering Ghoul - In Combat - Cast \'Curse of Tongues\'');
|
||||||
|
|
||||||
|
-- Diseased Flayer
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 8532);
|
||||||
|
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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||||
|
(8532, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 11, 17310, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Diseased Flayer - On Death - Cast Summon Darrowshire Spirit'),
|
||||||
|
(8532, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0,0, 11, 26047, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Diseased Flayer - On Respawn - Cast \'Birth\'');
|
||||||
@@ -314,32 +314,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Theirs
|
// Theirs
|
||||||
class npc_ghoul_flayer : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_ghoul_flayer() : CreatureScript("npc_ghoul_flayer") { }
|
|
||||||
|
|
||||||
struct npc_ghoul_flayerAI : public ScriptedAI
|
|
||||||
{
|
|
||||||
npc_ghoul_flayerAI(Creature* creature) : ScriptedAI(creature) { }
|
|
||||||
|
|
||||||
void Reset() override { }
|
|
||||||
|
|
||||||
void EnterCombat(Unit* /*who*/) override { }
|
|
||||||
|
|
||||||
void JustDied(Unit* killer) override
|
|
||||||
{
|
|
||||||
if (killer->GetTypeId() == TYPEID_PLAYER)
|
|
||||||
me->SummonCreature(11064, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 60000);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* creature) const override
|
|
||||||
{
|
|
||||||
return new npc_ghoul_flayerAI(creature);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## npc_augustus_the_touched
|
## npc_augustus_the_touched
|
||||||
######*/
|
######*/
|
||||||
@@ -370,47 +344,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*######
|
|
||||||
## npc_darrowshire_spirit
|
|
||||||
######*/
|
|
||||||
|
|
||||||
enum DarrowshireSpirit
|
|
||||||
{
|
|
||||||
SPELL_SPIRIT_SPAWNIN = 17321
|
|
||||||
};
|
|
||||||
|
|
||||||
class npc_darrowshire_spirit : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_darrowshire_spirit() : CreatureScript("npc_darrowshire_spirit") { }
|
|
||||||
|
|
||||||
bool OnGossipHello(Player* player, Creature* creature) override
|
|
||||||
{
|
|
||||||
SendGossipMenuFor(player, 3873, creature->GetGUID());
|
|
||||||
player->TalkedToCreature(creature->GetEntry(), creature->GetGUID());
|
|
||||||
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* creature) const override
|
|
||||||
{
|
|
||||||
return new npc_darrowshire_spiritAI(creature);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct npc_darrowshire_spiritAI : public ScriptedAI
|
|
||||||
{
|
|
||||||
npc_darrowshire_spiritAI(Creature* creature) : ScriptedAI(creature) { }
|
|
||||||
|
|
||||||
void Reset() override
|
|
||||||
{
|
|
||||||
DoCast(me, SPELL_SPIRIT_SPAWNIN);
|
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
|
||||||
}
|
|
||||||
|
|
||||||
void EnterCombat(Unit* /*who*/) override { }
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
void AddSC_eastern_plaguelands()
|
void AddSC_eastern_plaguelands()
|
||||||
{
|
{
|
||||||
// Ours
|
// Ours
|
||||||
@@ -418,7 +351,5 @@ void AddSC_eastern_plaguelands()
|
|||||||
new npc_balance_of_light_and_shadow();
|
new npc_balance_of_light_and_shadow();
|
||||||
|
|
||||||
// Theirs
|
// Theirs
|
||||||
new npc_ghoul_flayer();
|
|
||||||
new npc_augustus_the_touched();
|
new npc_augustus_the_touched();
|
||||||
new npc_darrowshire_spirit();
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user