diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/zone_borean_tundra.cpp | 131 | ||||
-rw-r--r-- | src/server/scripts/World/item_scripts.cpp | 22 |
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(); |