fix(DB/SAI) Quest Feedin' Da Goolz (12652) (#21264)
Co-authored-by: Hexadecimal <hd@hd.hd> Co-authored-by: Jelle Meeus <sogladev@gmail.com>
This commit is contained in:
parent
e3432102f7
commit
409ad14e14
@ -0,0 +1,16 @@
|
||||
UPDATE `creature_template` SET `ScriptName`='', `AIName` = 'SmartAI' WHERE (`entry` = 28591);
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 28591) AND (`source_type` = 0);
|
||||
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`, `event_param6`, `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
|
||||
(28591, 0, 0, 1, 11, 0, 100, 512, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghoul Feeding KC Bunny - On Respawn - Store Targetlist'),
|
||||
(28591, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 100, 1, 0, 0, 0, 0, 0, 19, 28565, 30, 0, 0, 0, 0, 0, 0, 'Ghoul Feeding KC Bunny - On Respawn - Send Target 1'),
|
||||
(28591, 0, 2, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 45, 28591, 0, 0, 0, 0, 0, 19, 28565, 30, 0, 0, 0, 0, 0, 0, 'Ghoul Feeding KC Bunny - On Respawn - Set Data 28591 0'),
|
||||
(28591, 0, 3, 4, 38, 0, 100, 1, 28565, 0, 0, 0, 0, 0, 11, 52030, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghoul Feeding KC Bunny - On Data Set 28565 0 - Cast \'Kill Credit\' (No Repeat)'),
|
||||
(28591, 0, 4, 5, 61, 0, 100, 513, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghoul Feeding KC Bunny - On Data Set 28565 0 - Despawn Instant (No Repeat)'),
|
||||
(28591, 0, 5, 0, 61, 0, 100, 513, 0, 0, 0, 0, 0, 0, 41, 3000, 0, 0, 0, 0, 0, 20, 190656, 5, 0, 0, 0, 0, 0, 0, 'Ghoul Feeding KC Bunny - On Data Set 28565 0 - Despawn In 3000 ms (No Repeat)');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 28565) AND (`source_type` = 0);
|
||||
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`, `event_param6`, `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
|
||||
(28565, 0, 0, 0, 38, 0, 100, 0, 28591, 0, 40000, 40000, 0, 0, 69, 1, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Decaying Ghoul - On Data Set 28591 0 - Move To Stored'),
|
||||
(28565, 0, 1, 2, 34, 0, 100, 512, 8, 1, 0, 0, 0, 0, 45, 28565, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Decaying Ghoul - On Reached Point 1 - Set Data 28565 0'),
|
||||
(28565, 0, 2, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 5, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Decaying Ghoul - On Reached Point 1 - Play Emote 7');
|
||||
@ -233,88 +233,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
enum eFeedinDaGoolz
|
||||
{
|
||||
NPC_DECAYING_GHOUL = 28565,
|
||||
GO_BOWL = 190656,
|
||||
};
|
||||
|
||||
class npc_feedin_da_goolz : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_feedin_da_goolz() : CreatureScript("npc_feedin_da_goolz") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_feedin_da_goolzAI(creature);
|
||||
}
|
||||
|
||||
struct npc_feedin_da_goolzAI : public NullCreatureAI
|
||||
{
|
||||
npc_feedin_da_goolzAI(Creature* creature) : NullCreatureAI(creature) { findTimer = 1; checkTimer = 0; }
|
||||
|
||||
uint32 findTimer;
|
||||
uint32 checkTimer;
|
||||
ObjectGuid ghoulFed;
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (findTimer)
|
||||
{
|
||||
findTimer += diff;
|
||||
if (findTimer >= 1000)
|
||||
{
|
||||
if (Creature* ghoul = me->FindNearestCreature(NPC_DECAYING_GHOUL, 30.0f, true))
|
||||
{
|
||||
ghoul->SetReactState(REACT_DEFENSIVE);
|
||||
float o = me->GetAngle(ghoul);
|
||||
ghoul->GetMotionMaster()->MovePoint(1, me->GetPositionX() + 2 * cos(o), me->GetPositionY() + 2 * std::sin(o), me->GetPositionZ());
|
||||
checkTimer = 1;
|
||||
findTimer = 0;
|
||||
}
|
||||
else
|
||||
findTimer = 1;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (checkTimer)
|
||||
{
|
||||
checkTimer += diff;
|
||||
if (checkTimer >= 1500)
|
||||
{
|
||||
checkTimer = 1;
|
||||
if (!ghoulFed)
|
||||
{
|
||||
if (Creature* ghoul = me->FindNearestCreature(NPC_DECAYING_GHOUL, 3.0f, true))
|
||||
{
|
||||
ghoulFed = ghoul->GetGUID();
|
||||
ghoul->HandleEmoteCommand(EMOTE_ONESHOT_EAT);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GameObject* bowl = me->FindNearestGameObject(GO_BOWL, 10.0f))
|
||||
bowl->Delete();
|
||||
|
||||
if (Creature* ghoul = ObjectAccessor::GetCreature(*me, ghoulFed))
|
||||
{
|
||||
ghoul->SetReactState(REACT_AGGRESSIVE);
|
||||
ghoul->GetMotionMaster()->MoveTargetedHome();
|
||||
}
|
||||
|
||||
if (Unit* owner = me->ToTempSummon()->GetSummonerUnit())
|
||||
if (Player* player = owner->ToPlayer())
|
||||
player->KilledMonsterCredit(me->GetEntry());
|
||||
|
||||
me->DespawnOrUnsummon(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
enum overlordDrakuru
|
||||
{
|
||||
SPELL_SHADOW_BOLT = 54113,
|
||||
@ -953,7 +871,6 @@ void AddSC_zuldrak()
|
||||
// Ours
|
||||
new npc_finklestein();
|
||||
new go_finklestein_cauldron();
|
||||
new npc_feedin_da_goolz();
|
||||
new npc_overlord_drakuru_betrayal();
|
||||
new npc_drakuru_shackles();
|
||||
new npc_captured_rageclaw();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user