aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSorikoff <46191832+Sorikoff@users.noreply.github.com>2020-01-26 22:15:00 +0200
committerShauren <shauren.trinity@gmail.com>2021-12-20 23:47:37 +0100
commitd37547e769e6273ed84c03d8b2482d24f4e81fcf (patch)
treed50cd6e4865a772d11720c0df75b9479d979d696 /src
parent9b48370ba11622cb0567608526af3183de2afc0e (diff)
Scripts/Borean Tundra: Plug the Sinkholes (#24085)
* Scripts/Borean Tundra: Plug the Sinkholes * Scripts/Borean Tundra: Improve SQL * Scripts/Borean Tundra: Remove item script * Rename 9999_99_99_99_world.sql to 2020_01_26_03_world.sql Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com> (cherry picked from commit 552a638e3110bedea1b2e80a7a4a2a71401d9c17)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp131
-rw-r--r--src/server/scripts/World/item_scripts.cpp22
2 files changed, 0 insertions, 153 deletions
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index 12963a4e563..37d56652122 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -34,136 +34,6 @@
#include "WorldSession.h"
/*######
-## npc_sinkhole_kill_credit
-######*/
-
-enum Sinkhole
-{
- GO_EXPLOSIVES_CART = 188160,
- NPC_SCOURGED_BURROWER = 26250,
- QUEST_PLUG_THE_SINKHOLES = 11897,
- SPELL_SET_CART = 46797,
- SPELL_EXPLODE_CART = 46799,
- SPELL_SUMMON_CART = 46798,
- SPELL_SUMMON_WORM = 46800
-};
-
-class npc_sinkhole_kill_credit : public CreatureScript
-{
-public:
- npc_sinkhole_kill_credit() : CreatureScript("npc_sinkhole_kill_credit") { }
-
- struct npc_sinkhole_kill_creditAI : public ScriptedAI
- {
- npc_sinkhole_kill_creditAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- }
-
- void Initialize()
- {
- phaseTimer = 500;
- phase = 0;
- casterGuid.Clear();
- }
-
- uint32 phaseTimer;
- uint8 phase;
- ObjectGuid casterGuid;
-
- void Reset() override
- {
- Initialize();
- }
-
- void SpellHit(Unit* caster, SpellInfo const* spell) override
- {
- if (phase || spell->Id != SPELL_SET_CART)
- return;
-
- Player* player = caster->ToPlayer();
- if (player && player->GetQuestStatus(QUEST_PLUG_THE_SINKHOLES) == QUEST_STATUS_INCOMPLETE)
- {
- phase = 1;
- casterGuid = caster->GetGUID();
- }
- }
-
- void JustEngagedWith(Unit* /*who*/) override { }
-
- void UpdateAI(uint32 diff) override
- {
- if (!phase)
- return;
-
- if (phaseTimer <= diff)
- {
- switch (phase)
- {
- case 1:
- DoCast(me, SPELL_EXPLODE_CART, true);
- DoCast(me, SPELL_SUMMON_CART, true);
- if (GameObject* cart = me->FindNearestGameObject(GO_EXPLOSIVES_CART, 3.0f))
- cart->SetFaction(FACTION_MONSTER);
- phaseTimer = 3000;
- phase = 2;
- break;
- case 2:
- if (GameObject* cart = me->FindNearestGameObject(GO_EXPLOSIVES_CART, 3.0f))
- cart->UseDoorOrButton();
- DoCast(me, SPELL_EXPLODE_CART, true);
- phaseTimer = 3000;
- phase = 3;
- break;
- case 3:
- DoCast(me, SPELL_EXPLODE_CART, true);
- phaseTimer = 2000;
- phase = 5; // @fixme: phase 4 is missing...
- break;
- case 5:
- DoCast(me, SPELL_SUMMON_WORM, true);
- if (Unit* worm = me->FindNearestCreature(NPC_SCOURGED_BURROWER, 3.0f))
- {
- worm->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
- worm->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
- }
- phaseTimer = 1000;
- phase = 6;
- break;
- case 6:
- DoCast(me, SPELL_EXPLODE_CART, true);
- if (Unit* worm = me->FindNearestCreature(NPC_SCOURGED_BURROWER, 3.0f))
- {
- Unit::Kill(me, worm);
- worm->RemoveDynamicFlag(UNIT_DYNFLAG_LOOTABLE);
- }
- phaseTimer = 2000;
- phase = 7;
- break;
- case 7:
- DoCast(me, SPELL_EXPLODE_CART, true);
- if (Player* caster = ObjectAccessor::GetPlayer(*me, casterGuid))
- caster->KilledMonster(me->GetCreatureTemplate(), me->GetGUID());
- phaseTimer = 5000;
- phase = 8;
- break;
- case 8:
- EnterEvadeMode();
- break;
- }
- } else phaseTimer -= diff;
-
- }
-
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_sinkhole_kill_creditAI(creature);
- }
-};
-
-/*######
## npc_khunok_the_behemoth
######*/
@@ -2470,7 +2340,6 @@ class spell_q11653_shortening_blaster : public SpellScript
void AddSC_borean_tundra()
{
- new npc_sinkhole_kill_credit();
new npc_khunok_the_behemoth();
new npc_corastrasza();
new npc_iruk();
diff --git a/src/server/scripts/World/item_scripts.cpp b/src/server/scripts/World/item_scripts.cpp
index 78e8c2b3498..61bf411c03c 100644
--- a/src/server/scripts/World/item_scripts.cpp
+++ b/src/server/scripts/World/item_scripts.cpp
@@ -129,27 +129,6 @@ public:
};
/*#####
-# item_incendiary_explosives
-#####*/
-
-class item_incendiary_explosives : public ItemScript
-{
-public:
- item_incendiary_explosives() : ItemScript("item_incendiary_explosives") { }
-
- bool OnUse(Player* player, Item* item, SpellCastTargets const& /*targets*/, ObjectGuid /*castId*/) override
- {
- if (player->FindNearestCreature(26248, 15) || player->FindNearestCreature(26249, 15))
- return false;
- else
- {
- player->SendEquipError(EQUIP_ERR_OUT_OF_RANGE, item, nullptr);
- return true;
- }
- }
-};
-
-/*#####
# item_mysterious_egg
#####*/
@@ -349,7 +328,6 @@ void AddSC_item_scripts()
new item_only_for_flight();
new item_nether_wraith_beacon();
new item_gor_dreks_ointment();
- new item_incendiary_explosives();
new item_mysterious_egg();
new item_disgusting_jar();
new item_petrov_cluster_bombs();