fix(DB/Quest): Rewrite Get Me Outa Here! (11673) in SAI (#26991)

This commit is contained in:
Gultask
2026-08-07 21:07:33 -03:00
committed by GitHub
parent 0c5f02f528
commit 9e93885352
2 changed files with 106 additions and 83 deletions
@@ -0,0 +1,106 @@
--
DELETE FROM `script_waypoint` WHERE `entry` = 25589;
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE (`entry` = 25589);
UPDATE `creature` SET `position_x` = 4414.2227, `position_y` = 5367.2993, `position_z` = -15.494027, `orientation` = 0.366519153118133544, `VerifiedBuild` = 68887, `CreateObject` = 1 WHERE `id` = 25589 AND `guid` = 2017;
UPDATE `creature_template_addon` SET `bytes1` = 0 WHERE (`entry` = 25589);
DELETE FROM `waypoint_data` WHERE `id` = 20170;
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`) VALUES
(20170, 1, 4417.7495, 5367.4985, -16.15369, NULL, 0),
(20170, 2, 4428.611, 5368.9023, -16.237024, NULL, 0),
(20170, 3, 4441.7505, 5370.4707, -16.181473, NULL, 0),
(20170, 4, 4456.576, 5371.09, -15.884483, NULL, 0),
(20170, 5, 4447.071, 5370.768, -16.09028, NULL, 0),
(20170, 6, 4456.576, 5371.09, -15.884483, NULL, 1000), -- Text: I think it's up this way to the left. Let's go! (5)
(20170, 7, 4480.4556, 5376.1406, -14.972447, NULL, 0),
(20170, 8, 4482.503, 5394.4717, -15.247263, NULL, 0),
(20170, 9, 4472.4746, 5415.1953, -15.282103, NULL, 0),
(20170, 10, 4454.2, 5430.8335, -15.91428, NULL, 0),
(20170, 11, 4429.642, 5436.43, -15.247575, NULL, 0),
(20170, 12, 4400.7227, 5420.6387, -14.243102, NULL, 0),
(20170, 13, 4390.271, 5394.994, -7.2438426, NULL, 0),
(20170, 14, 4391.466, 5371.905, 0.35767198, NULL, 0),
(20170, 15, 4401.401, 5343.3447, 5.0264144, NULL, 0),
(20170, 16, 4423.773, 5333.25, 9.713379, NULL, 0),
(20170, 17, 4450.279, 5341.0005, 15.114364, NULL, 0),
(20170, 18, 4473.5034, 5356.4673, 18.74915, NULL, 0),
(20170, 19, 4483.5527, 5390.202, 25.259706, NULL, 0),
(20170, 20, 4477.1597, 5411.815, 29.634027, NULL, 0),
(20170, 21, 4454.4814, 5427.8823, 35.925766, NULL, 0),
(20170, 22, 4418.1353, 5435.3223, 40.207844, NULL, 0),
(20170, 23, 4394.032, 5445.513, 45.68608, NULL, 0),
(20170, 24, 4366.487, 5466.6772, 48.839, NULL, 0);
DELETE FROM `creature_text` WHERE (`CreatureID` = 25589);
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(25589, 0, 0, 'I AM NOT AN APPETIZER!', 12, 7, 100, 0, 0, 0, 24780, 0, 'Bonker Togglevolt - Aggro'),
(25589, 1, 0, 'Right then, no time to waste. Let\'s get outa here!', 12, 7, 100, 1, 0, 0, 24772, 0, 'Bonker Togglevolt - Quest Taken'),
(25589, 0, 1, 'Filthy creature!', 12, 7, 100, 0, 0, 0, 24777, 0, 'Bonker Togglevolt - Aggro'),
(25589, 0, 2, 'I came here to talk, but you mindless things tried to kill me instead!', 12, 7, 100, 0, 0, 0, 24778, 0, 'Bonker Togglevolt - Aggro'),
(25589, 0, 3, 'You won\'t put me in chains again!', 12, 7, 100, 0, 0, 0, 24779, 0, 'Bonker Togglevolt - Aggro'),
(25589, 2, 0, 'Here we go.', 12, 7, 100, 1, 0, 0, 24773, 0, 'Bonker Togglevolt - Start Escort'),
(25589, 3, 0, 'I think it\'s up this way to the left. Let\'s go!', 12, 7, 100, 5, 0, 0, 24776, 0, 'Bonker Togglevolt - Escort Underway'),
(25589, 4, 0, 'Ah, fresh air! I can get myself back to the airstrip from here. Be sure to tell Fizzcrank I\'m back and safe. Thanks so much, $n!', 12, 7, 100, 1, 0, 0, 24774, 0, 'Bonker Togglevolt - Quest Completed'),
(25589, 4, 1, 'The airstrip at last! Thank you, I can make my way from here. Be sure to tell Fizzcrank I\'m back and safe!', 12, 7, 100, 1, 0, 0, 24775, 0, 'Bonker Togglevolt - Quest Completed');
UPDATE `creature_template` SET `unit_flags` = 32768, `AIName` = 'SmartAI', `ScriptName` = '' WHERE (`entry` = 25589);
/*
13:34:48.585 Quest Accepted
[25] NpcFlags: 0
[25] FactionTemplate: 10
[25] Flags: 32768
[25] StandState: 0
13:34:49.920
Text: Right then, no time to waste. Let's get outa here! (1)
13:35:00.868
Text: Here we go. (1)
Start Movement
13:37:15.767 -- Reached End
Completion Text (1)
13:37:26.804
Despawn
*/
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 25589);
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
(25589, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 2558900, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Respawn - Run Script'),
(25589, 0, 1, 0, 21, 0, 100, 0, 0, 0, 0, 0, 0, 0, 83, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Reached Home - Remove Npc Flags Gossip & Questgiver'),
(25589, 0, 2, 0, 4, 0, 50, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Aggro - Say Line'),
(25589, 0, 3, 0, 19, 0, 100, 0, 11673, 0, 0, 0, 0, 0, 80, 2558901, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Quest \'Get Me Outa Here!\' Taken - Run Script'),
(25589, 0, 4, 0, 108, 0, 100, 0, 6, 20170, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Point 6 of Path 20170 Reached - Say Line 3'),
(25589, 0, 5, 0, 109, 0, 100, 0, 0, 20170, 0, 0, 0, 0, 80, 2558902, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Path 20170 Finished - Run Script'),
(25589, 0, 6, 7, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 10000, 30, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Just Died - Despawn In 10000 ms'),
(25589, 0, 7, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 6, 11673, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - On Just Died - Fail Quest \'Get Me Outa Here!\'');
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2558900);
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
(2558900, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Set Flags Immune To Players & Immune To NPC\'s'),
(2558900, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 2, 1973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Set Faction 1973'),
(2558900, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Set Flag Standstate Sit Down'),
(2558900, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 82, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Add Npc Flags Gossip & Questgiver');
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2558901);
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
(2558901, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Store Targetlist'),
(2558901, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 83, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Remove Npc Flags Gossip & Questgiver'),
(2558901, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Set Faction 10'),
(2558901, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Remove Flags Immune To Players & Immune To NPC\'s'),
(2558901, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Remove FlagStandstate Sit Down'),
(2558901, 9, 5, 0, 0, 0, 100, 0, 1300, 1300, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Say Line 1'),
(2558901, 9, 6, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Say Line 2'),
(2558901, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 20170, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Start Path 20170');
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2558902);
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
(2558902, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Say Line 4'),
(2558902, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 26, 11673, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Quest Credit \'Get Me Outa Here!\''),
(2558902, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 10000, 30, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bonker Togglevolt - Actionlist - Despawn In 10000 ms');
-- Finally, the ball aand chain
DELETE FROM `gameobject` WHERE `guid` = 2017 AND `id` = 175544;
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES
(2017, 175544, 571, 3537, 4123, 1, 1, 4414.00244140625, 5368.28125, -15.5867462158203125, 3.595378875732421875, 0, 0, -0.97437000274658203, 0.224951311945915222, 120, 255, 1, 68887);
@@ -752,88 +752,6 @@ public:
}
};
/*######
## npc_bonker_togglevolt
######*/
enum BonkerTogglevolt
{
NPC_BONKER_TOGGLEVOLT = 25589,
QUEST_GET_ME_OUTA_HERE = 11673,
SAY_BONKER_1 = 0,
SAY_BONKER_2 = 1
};
class npc_bonker_togglevolt : public CreatureScript
{
public:
npc_bonker_togglevolt() : CreatureScript("npc_bonker_togglevolt") { }
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_GET_ME_OUTA_HERE)
{
creature->SetStandState(UNIT_STAND_STATE_STAND);
creature->AI()->Talk(SAY_BONKER_2, player);
CAST_AI(npc_escortAI, (creature->AI()))->Start(true, player->GetGUID());
}
return true;
}
struct npc_bonker_togglevoltAI : public npc_escortAI
{
npc_bonker_togglevoltAI(Creature* creature) : npc_escortAI(creature) { }
uint32 Bonker_agro;
void Reset() override
{
Bonker_agro = 0;
SetDespawnAtFar(false);
}
void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
player->FailQuest(QUEST_GET_ME_OUTA_HERE);
}
void UpdateEscortAI(uint32 /*diff*/) override
{
if (GetAttack() && UpdateVictim())
{
if (Bonker_agro == 0)
{
Talk(SAY_BONKER_1);
Bonker_agro++;
}
DoMeleeAttackIfReady();
}
else Bonker_agro = 0;
}
using CreatureAI::WaypointReached;
void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
return;
switch (waypointId)
{
case 29:
player->GroupEventHappens(QUEST_GET_ME_OUTA_HERE, me);
break;
}
}
};
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_bonker_togglevoltAI(creature);
}
};
/*######
## Help Those That Cannot Help Themselves, Quest 11876
######*/
@@ -1425,7 +1343,6 @@ void AddSC_borean_tundra()
RegisterSpellScript(spell_arcane_chains_character_force_cast);
new npc_imprisoned_beryl_sorcerer();
new npc_mootoo_the_younger();
new npc_bonker_togglevolt();
new npc_valiance_keep_cannoneer();
new npc_warmage_coldarra();
new npc_hidden_cultist();