mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Northrend: improvements for quest Get Me Outa Here! (11673) (#20753)
* Script/Quest: improvements for quest Get Me Outa Here! (11673). * Happiness for our Travis overlord * Update 9999_99_99_99_world_quest_get_me_outa_here.sql * Update zone_borean_tundra.cpp * Update 9999_99_99_99_world_quest_get_me_outa_here.sql * Update 9999_99_99_99_world_quest_get_me_outa_here.sql * Fix hook that got renamed * Update 9999_99_99_99_world_quest_get_me_outa_here.sql * Rename 9999_99_99_99_world_quest_get_me_outa_here.sql to 2019_05_11_08_world.sql
This commit is contained in:
33
sql/updates/world/3.3.5/2019_05_11_08_world.sql
Normal file
33
sql/updates/world/3.3.5/2019_05_11_08_world.sql
Normal file
@@ -0,0 +1,33 @@
|
||||
--
|
||||
SET @GUID := 8981;
|
||||
DELETE FROM `gameobject` WHERE `guid`=@GUID AND `id`=182531;
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`) VALUES
|
||||
(@GUID, 182531, 571, 0, 0, 1, 1, 4413.98, 5368.06, -15.5602, 3.92534, -0, -0, -0.924195, 0.381922, 300, 100, 1, "", 0);
|
||||
|
||||
UPDATE `creature` SET `position_x`=4414.223, `position_y`=5367.299, `position_z`=-15.49403, `orientation`=0.3665192, `spawntimesecs`=300 WHERE `id`=25589;
|
||||
|
||||
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, "Um, hello? Is there anyone out there?", 12, 7, 100, 0, 0, 0, 24763, 0, "Bonker Togglevolt"),
|
||||
(25589, 0, 1, "Hey, you! Yes, you! I can hear you! Get over here and get me outa here!", 12, 7, 100, 0, 0, 0, 24764, 0, "Bonker Togglevolt"),
|
||||
(25589, 0, 2, "I'm beginning to think that they all forgot about me!", 12, 7, 100, 0, 0, 0, 24765, 0, "Bonker Togglevolt"),
|
||||
(25589, 0, 3, "A gnome tries to make some friends, and then BAMM... the next thing you know, he's in shackles!", 12, 7, 100, 0, 0, 0, 24766, 0, "Bonker Togglevolt"),
|
||||
(25589, 0, 4, "I'm right here. I know you can hear me. Ya think you could let me out of these chains?", 12, 7, 100, 0, 0, 0, 24767, 0, "Bonker Togglevolt"),
|
||||
(25589, 0, 5, "I'll make you a deal: if you get me out of here alive, you'll get a reward larger than you can imagine!", 12, 7, 100, 0, 0, 0, 24768, 0, "Bonker Togglevolt"),
|
||||
(25589, 0, 6, "Hey! Over here in Magmothregar's pit!", 12, 7, 100, 0, 0, 0, 24769, 0, "Bonker Togglevolt"),
|
||||
(25589, 0, 7, "What? You think I want to be Magmothregar's next appetizer? Get me outa here!", 12, 7, 100, 0, 0, 0, 24770, 0, "Bonker Togglevolt"),
|
||||
(25589, 1, 0, "Right then, no time to waste. Let's get outa here!", 12, 7, 100, 1, 0, 0, 24772, 0, "Bonker Togglevolt"),
|
||||
(25589, 2, 0, "Here we go.", 12, 7, 100, 0, 0, 0, 24773, 0, "Bonker Togglevolt"),
|
||||
(25589, 3, 0, "I think it's up this way to the left. Let's go!", 12, 7, 100, 0, 0, 0, 24776, 0, "Bonker Togglevolt"),
|
||||
(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, 0, 0, 0, 24774, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 0, "Filthy creature!", 12, 7, 100, 0, 0, 0, 24777, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 1, "I came here to talk, but you mindless things tried to kill me instead!", 12, 7, 100, 0, 0, 0, 24778, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 2, "You won't put me in chains again!", 12, 7, 100, 0, 0, 0, 24779, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 3, "I AM NOT AN APPETIZER!", 12, 7, 100, 0, 0, 0, 24780, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 4, "The only good vermen is a dead vermen!", 12, 7, 100, 0, 0, 0, 24781, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 5, "Enough fighting! Let's finish this and get outa here!", 12, 7, 100, 0, 0, 0, 24782, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 6, "Hey! I'm walking here!", 12, 7, 100, 0, 0, 0, 24783, 0, "Bonker Togglevolt"),
|
||||
(25589, 5, 7, "I can't believe my own people forgot about me. Die!", 12, 7, 100, 0, 0, 0, 24784, 0, "Bonker Togglevolt");
|
||||
|
||||
UPDATE `script_waypoint` SET `waittime`=0 WHERE `entry`=25589 AND `pointid` IN (2, 22);
|
||||
UPDATE `script_waypoint` SET `waittime`=3000 WHERE `entry`=25589 AND `pointid`=29;
|
||||
@@ -239,7 +239,7 @@ enum Corastrasza
|
||||
NPC_TEXT_EAGERLY_AWAITING_YOUR_RETURN = 14170,
|
||||
|
||||
QUEST_ACES_HIGH = 13413,
|
||||
QUEST_ACES_HIGH_DAILY = 13414,
|
||||
QUEST_ACES_HIGH_DAILY = 13414,
|
||||
|
||||
SPELL_SUMMON_WYRMREST_SKYTALON = 61240,
|
||||
SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC = 61244
|
||||
@@ -305,7 +305,7 @@ enum Iruk
|
||||
GOSSIP_OPTION_SEARCH_CORPSE = 0,
|
||||
NPC_TEXT_THIS_YOUNG_TUSKARR = 12585,
|
||||
|
||||
QUEST_SPIRITS_WATCH_OVER_US = 11961,
|
||||
QUEST_SPIRITS_WATCH_OVER_US = 11961,
|
||||
|
||||
SPELL_CREATE_TOTEM_OF_ISSLIRUK = 46816
|
||||
};
|
||||
@@ -336,7 +336,7 @@ public:
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
{
|
||||
player->CastSpell(player, SPELL_CREATE_TOTEM_OF_ISSLIRUK, true);
|
||||
CloseGossipMenuFor(player);
|
||||
CloseGossipMenuFor(player);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1264,16 +1264,16 @@ public:
|
||||
if (soulBlastTimer <= diff)
|
||||
{
|
||||
DoCastVictim(SPELL_SOUL_BLAST);
|
||||
soulBlastTimer = urand(12000, 18000);
|
||||
}
|
||||
soulBlastTimer = urand(12000, 18000);
|
||||
}
|
||||
else soulBlastTimer -= diff;
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
if (!leryssaGUID || !arlosGUID)
|
||||
return;
|
||||
|
||||
@@ -1730,11 +1730,20 @@ public:
|
||||
|
||||
enum BonkerTogglevolt
|
||||
{
|
||||
NPC_BONKER_TOGGLEVOLT = 25589,
|
||||
QUEST_GET_ME_OUTA_HERE = 11673,
|
||||
NPC_BONKER_TOGGLEVOLT = 25589,
|
||||
GO_BALL_AND_CHAIN = 182531,
|
||||
QUEST_GET_ME_OUTA_HERE = 11673,
|
||||
|
||||
SAY_BONKER_1 = 0,
|
||||
SAY_BONKER_2 = 1
|
||||
EVENT_OOC_TALK = 1,
|
||||
EVENT_TALK_1 = 2,
|
||||
EVENT_TALK_2 = 3,
|
||||
|
||||
SAY_BONKER_0 = 0,
|
||||
SAY_BONKER_1 = 1,
|
||||
SAY_BONKER_2 = 2,
|
||||
SAY_BONKER_3 = 3,
|
||||
SAY_BONKER_4 = 4,
|
||||
SAY_BONKER_5 = 5
|
||||
};
|
||||
|
||||
class npc_bonker_togglevolt : public CreatureScript
|
||||
@@ -1751,14 +1760,11 @@ public:
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
Bonker_agro = 0;
|
||||
_events.ScheduleEvent(EVENT_OOC_TALK, urand(10000, 20000));
|
||||
}
|
||||
|
||||
uint32 Bonker_agro;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
Initialize();
|
||||
SetDespawnAtFar(false);
|
||||
}
|
||||
|
||||
@@ -1768,18 +1774,43 @@ public:
|
||||
player->FailQuest(QUEST_GET_ME_OUTA_HERE);
|
||||
}
|
||||
|
||||
void UpdateEscortAI(uint32 /*diff*/) override
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
if (IsActiveAttacker() && UpdateVictim())
|
||||
if (who->GetTypeId() != TYPEID_PLAYER)
|
||||
if (roll_chance_i(20))
|
||||
Talk(SAY_BONKER_5);
|
||||
}
|
||||
|
||||
void UpdateEscortAI(uint32 diff) override
|
||||
{
|
||||
_events.Update(diff);
|
||||
|
||||
if (uint32 eventId = _events.ExecuteEvent())
|
||||
{
|
||||
if (Bonker_agro == 0)
|
||||
switch (eventId)
|
||||
{
|
||||
Talk(SAY_BONKER_1);
|
||||
Bonker_agro++;
|
||||
case EVENT_OOC_TALK:
|
||||
Talk(SAY_BONKER_0);
|
||||
_events.ScheduleEvent(EVENT_OOC_TALK, urand(5 * MINUTE * IN_MILLISECONDS, 10 * MINUTE * IN_MILLISECONDS));
|
||||
break;
|
||||
case EVENT_TALK_1:
|
||||
if (Player* player = ObjectAccessor::GetPlayer(*me, _player))
|
||||
Talk(SAY_BONKER_1, player);
|
||||
if (GameObject* go = me->FindNearestGameObject(GO_BALL_AND_CHAIN, 20.0f))
|
||||
go->SetLootState(GO_JUST_DEACTIVATED);
|
||||
_events.ScheduleEvent(EVENT_TALK_2, Seconds(11));
|
||||
break;
|
||||
case EVENT_TALK_2:
|
||||
Talk(SAY_BONKER_2);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
break;
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
else Bonker_agro=0;
|
||||
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override
|
||||
@@ -1790,8 +1821,12 @@ public:
|
||||
|
||||
switch (waypointId)
|
||||
{
|
||||
case 1:
|
||||
Talk(SAY_BONKER_3);
|
||||
break;
|
||||
case 29:
|
||||
player->GroupEventHappens(QUEST_GET_ME_OUTA_HERE, me);
|
||||
Talk(SAY_BONKER_4, player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1800,11 +1835,18 @@ public:
|
||||
{
|
||||
if (quest->GetQuestId() == QUEST_GET_ME_OUTA_HERE)
|
||||
{
|
||||
_player = player->GetGUID();
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
Talk(SAY_BONKER_2, player);
|
||||
_events.ScheduleEvent(EVENT_TALK_1, Seconds(2));
|
||||
_events.CancelEvent(EVENT_OOC_TALK);
|
||||
Start(true, true, player->GetGUID());
|
||||
SetPauseTimer(12 * IN_MILLISECONDS);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
EventMap _events;
|
||||
ObjectGuid _player;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
|
||||
Reference in New Issue
Block a user