aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authorJeremy <Golrag@users.noreply.github.com>2024-03-28 19:29:22 +0100
committerGitHub <noreply@github.com>2024-03-28 19:29:22 +0100
commitbe11f42a16d1fa0482e9572bf54e99e4dedd3c78 (patch)
tree3d33413d7ed5cada34d7ced7f430380731160d5b /src/server/scripts/Northrend
parent78635f640ee3b632a487a50dcf492ae62c2a0933 (diff)
Core/Battlegrounds: Move to scripts (#29799)
* Introduce new BattlegroundScript class for map/bg specific scripts * Remove all sub, zone specific, battleground classes except Arena * Move all bg zone scripts to new BattlegroundScripts class in script folder * Remove ZoneScript from Battleground class * Remove some unused hooks from Battleground
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp123
-rw-r--r--src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp392
-rw-r--r--src/server/scripts/Northrend/StrandOfTheAncients/strand_of_the_ancients.cpp87
-rw-r--r--src/server/scripts/Northrend/northrend_script_loader.cpp10
-rw-r--r--src/server/scripts/Northrend/zone_dalaran.cpp37
5 files changed, 0 insertions, 649 deletions
diff --git a/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp b/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp
deleted file mode 100644
index 77f5e53207e..00000000000
--- a/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ScriptMgr.h"
-#include "BattlegroundIC.h"
-#include "ScriptedCreature.h"
-
-enum BossSpells
-{
- SPELL_BRUTAL_STRIKE = 58460,
- SPELL_DAGGER_THROW = 67280,
- SPELL_CRUSHING_LEAP = 68506,
- SPELL_RAGE = 66776
-};
-
-enum BossEvents
-{
- EVENT_BRUTAL_STRIKE = 1,
- EVENT_DAGGER_THROW = 2,
- EVENT_CRUSHING_LEAP = 3,
- EVENT_CHECK_RANGE = 4
-};
-
-struct boss_ioc_horde_alliance : public ScriptedAI
-{
- boss_ioc_horde_alliance(Creature* creature) : ScriptedAI(creature) { }
-
- void Reset() override
- {
- _events.Reset();
-
- uint32 _npcGuard;
- if (me->GetEntry() == NPC_HIGH_COMMANDER_HALFORD_WYRMBANE)
- _npcGuard = NPC_SEVEN_TH_LEGION_INFANTRY;
- else
- _npcGuard = NPC_KOR_KRON_GUARD;
-
- std::list<Creature*> guardsList;
- me->GetCreatureListWithEntryInGrid(guardsList, _npcGuard, 100.0f);
- for (std::list<Creature*>::const_iterator itr = guardsList.begin(); itr != guardsList.end(); ++itr)
- (*itr)->Respawn();
- };
-
- void JustEngagedWith(Unit* /*who*/) override
- {
- _events.ScheduleEvent(EVENT_BRUTAL_STRIKE, 5s);
- _events.ScheduleEvent(EVENT_DAGGER_THROW, 7s);
- _events.ScheduleEvent(EVENT_CHECK_RANGE, 1s);
- _events.ScheduleEvent(EVENT_CRUSHING_LEAP, 15s);
- }
-
- void SpellHit(WorldObject* caster, SpellInfo const* /*spellInfo*/) override
- {
- Unit* unitCaster = caster->ToUnit();
- if (!unitCaster)
- return;
-
- if (unitCaster->IsVehicle())
- Unit::Kill(me, unitCaster);
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- while (uint32 eventId = _events.ExecuteEvent())
- {
- switch (eventId)
- {
- case EVENT_BRUTAL_STRIKE:
- DoCastVictim(SPELL_BRUTAL_STRIKE);
- _events.ScheduleEvent(EVENT_BRUTAL_STRIKE, 5s);
- break;
- case EVENT_DAGGER_THROW:
- if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
- DoCast(target, SPELL_DAGGER_THROW);
- _events.ScheduleEvent(EVENT_DAGGER_THROW, 7s);
- break;
- case EVENT_CRUSHING_LEAP:
- DoCastVictim(SPELL_CRUSHING_LEAP);
- _events.ScheduleEvent(EVENT_CRUSHING_LEAP, 25s);
- break;
- case EVENT_CHECK_RANGE:
- if (me->GetDistance(me->GetHomePosition()) > 25.0f)
- DoCast(me, SPELL_RAGE);
- else
- me->RemoveAurasDueToSpell(SPELL_RAGE);
- _events.ScheduleEvent(EVENT_CHECK_RANGE, 1s);
- break;
- default:
- break;
- }
- }
- }
-
-private:
- EventMap _events;
-};
-
-void AddSC_boss_ioc_horde_alliance()
-{
- RegisterCreatureAI(boss_ioc_horde_alliance);
-}
diff --git a/src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp b/src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp
deleted file mode 100644
index 1492335ce15..00000000000
--- a/src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ScriptMgr.h"
-#include "BattlegroundIC.h"
-#include "GameObject.h"
-#include "GameObjectAI.h"
-#include "Map.h"
-#include "MotionMaster.h"
-#include "ObjectAccessor.h"
-#include "PassiveAI.h"
-#include "Player.h"
-#include "ScriptedCreature.h"
-#include "SpellInfo.h"
-#include "SpellScript.h"
-#include "Vehicle.h"
-#include "WorldStateMgr.h"
-
-// TO-DO: This should be done with SmartAI, but yet it does not correctly support vehicles's AIs.
-// Even adding ReactState Passive we still have issues using SmartAI.
-
-struct npc_four_car_garage : public NullCreatureAI
-{
- npc_four_car_garage(Creature* creature) : NullCreatureAI(creature) { }
-
- void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) override
- {
- if (apply)
- {
- uint32 spellId = 0;
-
- switch (me->GetEntry())
- {
- case NPC_DEMOLISHER:
- spellId = SPELL_DRIVING_CREDIT_DEMOLISHER;
- break;
- case NPC_GLAIVE_THROWER_A:
- case NPC_GLAIVE_THROWER_H:
- spellId = SPELL_DRIVING_CREDIT_GLAIVE;
- break;
- case NPC_SIEGE_ENGINE_H:
- case NPC_SIEGE_ENGINE_A:
- spellId = SPELL_DRIVING_CREDIT_SIEGE;
- break;
- case NPC_CATAPULT:
- spellId = SPELL_DRIVING_CREDIT_CATAPULT;
- break;
- default:
- return;
- }
-
- me->CastSpell(who, spellId, true);
- }
- }
-};
-
-enum Events
-{
- EVENT_TALK = 1,
- EVENT_DESPAWN
-};
-
-enum Texts
-{
- SAY_ONBOARD = 0
-};
-
-struct npc_ioc_gunship_captain : public ScriptedAI
-{
- npc_ioc_gunship_captain(Creature* creature) : ScriptedAI(creature) { }
-
- void JustAppeared() override
- {
- DoCast(me, SPELL_SIMPLE_TELEPORT);
- _events.ScheduleEvent(EVENT_TALK, 3s);
- }
-
- void UpdateAI(uint32 diff) override
- {
- _events.Update(diff);
- while (uint32 eventId = _events.ExecuteEvent())
- {
- switch (eventId)
- {
- case EVENT_TALK:
- _events.ScheduleEvent(EVENT_DESPAWN, 1s);
- Talk(SAY_ONBOARD);
- DoCast(me, SPELL_TELEPORT_VISUAL_ONLY);
- break;
- case EVENT_DESPAWN:
- me->DespawnOrUnsummon();
- break;
- default:
- break;
- }
- }
- }
-
-private:
- EventMap _events;
-};
-
-struct npc_ioc_siege_engine : public ScriptedAI
-{
- npc_ioc_siege_engine(Creature* creature) : ScriptedAI(creature) { }
-
- static constexpr uint32 SPELL_DAMAGED = 67323;
- static constexpr uint32 VEHICLE_REC_ID = 514;
- static constexpr int32 ACTION_REPAIRED = 1;
-
- void JustAppeared() override
- {
- me->RemoveVehicleKit(false);
- DoCastSelf(SPELL_DAMAGED);
- }
-
- void DoAction(int32 actionId) override
- {
- // there should be some moving involved first
- if (actionId == ACTION_REPAIRED)
- {
- me->CreateVehicleKit(VEHICLE_REC_ID, me->GetEntry(), false);
- me->GetVehicleKit()->InstallAllAccessories(false);
- }
- }
-};
-
-struct go_ioc_capturable_object : public GameObjectAI
-{
- go_ioc_capturable_object(GameObject* go) : GameObjectAI(go) { }
-
- bool OnGossipHello(Player* player) override
- {
- if (me->GetGoState() != GO_STATE_READY || me->HasFlag(GO_FLAG_NOT_SELECTABLE))
- return true;
-
- if (ZoneScript* zonescript = me->GetZoneScript())
- {
- zonescript->DoAction(ACTION_IOC_INTERACT_CAPTURABLE_OBJECT, player, me);
- return false;
- }
-
- return true;
- }
-};
-
-struct go_ioc_contested_object : public go_ioc_capturable_object
-{
- go_ioc_contested_object(GameObject* go) : go_ioc_capturable_object(go) { }
-
- void Reset() override
- {
- go_ioc_capturable_object::Reset();
- _scheduler.Schedule(1min, [&](TaskContext)
- {
- if (ZoneScript* zonescript = me->GetZoneScript())
- zonescript->DoAction(ACTION_IOC_CAPTURE_CAPTURABLE_OBJECT, me, me);
- });
- }
-
- void UpdateAI(uint32 diff) override
- {
- _scheduler.Update(diff);
- }
-
-private:
- TaskScheduler _scheduler;
-};
-
-// 67323 - Damaged
-class spell_ioc_damaged : public AuraScript
-{
- void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) const
- {
- if (Creature const* creatureTarget = GetTarget()->ToCreature())
- if (UnitAI* ai = creatureTarget->GetAI())
- ai->DoAction(npc_ioc_siege_engine::ACTION_REPAIRED);
- }
-
- void Register() override
- {
- OnEffectRemove += AuraEffectRemoveFn(spell_ioc_damaged::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
- }
-};
-
-// 66630 - Alliance Gunship Portal
-// 66637 - Horde Gunship Portal
-class spell_ioc_gunship_portal : public SpellScript
-{
- bool Load() override
- {
- return GetCaster()->GetTypeId() == TYPEID_PLAYER;
- }
-
- void HandleScript(SpellEffIndex /*effIndex*/)
- {
- Player* caster = GetCaster()->ToPlayer();
- /*
- * HACK: GetWorldLocation() returns real position and not transportposition.
- * ServertoClient: SMSG_MOVE_TELEPORT (0x0B39)
- * counter: 45
- * Tranpsort Guid: Full: xxxx Type: MOTransport Low: xxx
- * Transport Position X: 0 Y: 0 Z: 0 O: 0
- * Position: X: 7.305609 Y: -0.095246 Z: 34.51022 O: 0
- */
- caster->TeleportTo(GetHitCreature()->GetWorldLocation(), TELE_TO_NOT_LEAVE_TRANSPORT);
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_ioc_gunship_portal::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
- }
-};
-
-// 66656 - Parachute
-class spell_ioc_parachute_ic : public AuraScript
-{
- void HandleTriggerSpell(AuraEffect const* /*aurEff*/)
- {
- PreventDefaultAction();
- if (Player* target = GetTarget()->ToPlayer())
- if (target->m_movementInfo.GetFallTime() > 2000 && !target->GetTransport())
- target->CastSpell(target, SPELL_PARACHUTE_IC, true);
- }
-
- void Register() override
- {
- OnEffectPeriodic += AuraEffectPeriodicFn(spell_ioc_parachute_ic::HandleTriggerSpell, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
- }
-};
-
-class StartLaunchEvent : public BasicEvent
-{
- public:
- StartLaunchEvent(Position const& pos, ObjectGuid const& guid) : _pos(pos), _guid(guid)
- {
- }
-
- bool Execute(uint64 /*time*/, uint32 /*diff*/) override
- {
- Player* player = ObjectAccessor::FindPlayer(_guid);
- if (!player || !player->GetVehicle())
- return true;
-
- player->AddAura(SPELL_LAUNCH_NO_FALLING_DAMAGE, player); // prevents falling damage
- float speedZ = 10.0f;
- float dist = player->GetExactDist2d(&_pos);
-
- player->ExitVehicle();
- player->GetMotionMaster()->MoveJump(_pos, dist, speedZ, EVENT_JUMP, true);
- return true;
- }
-
- private:
- Position _pos;
- ObjectGuid _guid;
-};
-
-// 66218 - Launch
-class spell_ioc_launch : public SpellScript
-{
- void Launch()
- {
- if (!GetCaster()->ToCreature() || !GetExplTargetDest())
- return;
-
- GetCaster()->ToCreature()->m_Events.AddEvent(new StartLaunchEvent(*GetExplTargetDest(), ASSERT_NOTNULL(GetHitPlayer())->GetGUID()), GetCaster()->ToCreature()->m_Events.CalculateTime(2500ms));
- }
-
- void Register() override
- {
- AfterHit += SpellHitFn(spell_ioc_launch::Launch);
- }
-};
-
-enum SeaforiumBombSpells
-{
- SPELL_SEAFORIUM_BLAST = 66676,
- SPELL_HUGE_SEAFORIUM_BLAST = 66672,
- SPELL_A_BOMB_INABLE_CREDIT = 68366,
- SPELL_A_BOMB_INATION_CREDIT = 68367
-};
-
-// 66672 - Huge Seaforium Blast
-// 66676 - Seaforium Blast
-class spell_ioc_seaforium_blast_credit : public SpellScript
-{
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo({ SPELL_A_BOMB_INABLE_CREDIT, SPELL_A_BOMB_INATION_CREDIT });
- }
-
- void HandleAchievementCredit(SpellEffIndex /*effIndex*/)
- {
- uint32 _creditSpell = 0;
- Unit* caster = GetOriginalCaster();
- if (!caster)
- return;
-
- if (GetSpellInfo()->Id == SPELL_SEAFORIUM_BLAST)
- _creditSpell = SPELL_A_BOMB_INABLE_CREDIT;
- else if (GetSpellInfo()->Id == SPELL_HUGE_SEAFORIUM_BLAST)
- _creditSpell = SPELL_A_BOMB_INATION_CREDIT;
-
- if (GetHitGObj() && GetHitGObj()->IsDestructibleBuilding())
- caster->CastSpell(caster, _creditSpell, true);
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_ioc_seaforium_blast_credit::HandleAchievementCredit, EFFECT_1, SPELL_EFFECT_GAMEOBJECT_DAMAGE);
- }
-};
-
-class at_ioc_exploit : public AreaTriggerScript
-{
-public:
- at_ioc_exploit() : AreaTriggerScript("at_ioc_exploit") { }
-
- bool OnExit(Player* player, AreaTriggerEntry const* /*trigger*/) override
- {
- if (Battleground* battleground = player->GetBattleground())
- if (battleground->GetStatus() == STATUS_WAIT_JOIN)
- battleground->TeleportPlayerToExploitLocation(player);
-
- return true;
- }
-};
-
-class at_ioc_backdoor_job : public AreaTriggerScript
-{
-public:
- static constexpr uint32 AT_HORDE_KEEP = 5535;
- static constexpr uint32 AT_ALLIANCE_KEEP = 5536;
-
- at_ioc_backdoor_job() : AreaTriggerScript("at_ioc_backdoor_job") { }
-
- bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override
- {
- /// @hack: this spell should be cast by npc 22515 (World Trigger) and not by the player
- if (player->GetBGTeam() == HORDE && trigger->ID == AT_ALLIANCE_KEEP)
- {
- bool keepClosed = sWorldStateMgr->GetValue(BG_IC_GATE_EAST_A_WS_CLOSED, player->GetMap()) == 1
- && sWorldStateMgr->GetValue(BG_IC_GATE_WEST_A_WS_CLOSED, player->GetMap()) == 1
- && sWorldStateMgr->GetValue(BG_IC_GATE_FRONT_A_WS_CLOSED, player->GetMap()) == 1;
-
- if (keepClosed)
- player->CastSpell(player, SPELL_BACK_DOOR_JOB_ACHIEVEMENT, true);
- }
- else if (player->GetBGTeam() == ALLIANCE && trigger->ID == AT_HORDE_KEEP)
- {
- bool keepClosed = sWorldStateMgr->GetValue(BG_IC_GATE_EAST_H_WS_CLOSED, player->GetMap()) == 1
- && sWorldStateMgr->GetValue(BG_IC_GATE_WEST_H_WS_CLOSED, player->GetMap()) == 1
- && sWorldStateMgr->GetValue(BG_IC_GATE_FRONT_H_WS_CLOSED, player->GetMap()) == 1;
-
- if (keepClosed)
- player->CastSpell(player, SPELL_BACK_DOOR_JOB_ACHIEVEMENT, true);
- }
-
- return true;
- }
-};
-
-void AddSC_isle_of_conquest()
-{
- RegisterCreatureAI(npc_four_car_garage);
- RegisterCreatureAI(npc_ioc_gunship_captain);
- RegisterCreatureAI(npc_ioc_siege_engine);
- RegisterGameObjectAI(go_ioc_capturable_object);
- RegisterGameObjectAI(go_ioc_contested_object);
- RegisterSpellScript(spell_ioc_damaged);
- RegisterSpellScript(spell_ioc_gunship_portal);
- RegisterSpellScript(spell_ioc_parachute_ic);
- RegisterSpellScript(spell_ioc_launch);
- RegisterSpellScript(spell_ioc_seaforium_blast_credit);
- new at_ioc_exploit();
- new at_ioc_backdoor_job();
-}
diff --git a/src/server/scripts/Northrend/StrandOfTheAncients/strand_of_the_ancients.cpp b/src/server/scripts/Northrend/StrandOfTheAncients/strand_of_the_ancients.cpp
deleted file mode 100644
index ed268327760..00000000000
--- a/src/server/scripts/Northrend/StrandOfTheAncients/strand_of_the_ancients.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ScriptMgr.h"
-#include "BattlegroundSA.h"
-#include "GameObject.h"
-#include "GameObjectAI.h"
-#include "Player.h"
-#include "SpellScript.h"
-#include "ZoneScript.h"
-
-// 191305 - Horde Banner
-// 191306 - Alliance Banner
-// 191307 - Horde Banner
-// 191308 - Alliance Banner
-// 191309 - Horde Banner
-// 191310 - Alliance Banner
-struct go_sota_capturable_object : public GameObjectAI
-{
- go_sota_capturable_object(GameObject* go) : GameObjectAI(go) { }
-
- bool OnGossipHello(Player* player) override
- {
- if (me->GetGoState() != GO_STATE_READY || me->HasFlag(GO_FLAG_NOT_SELECTABLE))
- return true;
-
- if (ZoneScript* zonescript = me->GetZoneScript())
- {
- zonescript->DoAction(ACTION_SOTA_CAPTURE_GRAVEYARD, player, me);
- return false;
- }
-
- return true;
- }
-};
-
-// 52410 - Place Seaforium Charge
-class spell_place_seaforium_charge : public SpellScript
-{
- enum Spells
- {
- SPELL_PLACE_SEAFORIUM_CHARGE_HORDE = 226090,
- SPELL_PLACE_SEAFORIUM_CHARGE_ALLIANCE = 226094
- };
-
- bool Validate(SpellInfo const* /*spell*/) override
- {
- return ValidateSpellInfo({ SPELL_PLACE_SEAFORIUM_CHARGE_HORDE, SPELL_PLACE_SEAFORIUM_CHARGE_ALLIANCE });
- }
-
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- if (Player* playerCaster = GetCaster()->ToPlayer())
- {
- Team const team = playerCaster->GetBGTeam();
- if (team == ALLIANCE)
- playerCaster->CastSpell(playerCaster, SPELL_PLACE_SEAFORIUM_CHARGE_ALLIANCE, true);
- else if (team == HORDE)
- playerCaster->CastSpell(playerCaster, SPELL_PLACE_SEAFORIUM_CHARGE_HORDE, true);
- }
- }
-
- void Register() override
- {
- OnEffectHit += SpellEffectFn(spell_place_seaforium_charge::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
-};
-
-void AddSC_strand_of_the_ancients()
-{
- RegisterGameObjectAI(go_sota_capturable_object);
- RegisterSpellScript(spell_place_seaforium_charge);
-}
diff --git a/src/server/scripts/Northrend/northrend_script_loader.cpp b/src/server/scripts/Northrend/northrend_script_loader.cpp
index fe2514d804e..639aa223fa8 100644
--- a/src/server/scripts/Northrend/northrend_script_loader.cpp
+++ b/src/server/scripts/Northrend/northrend_script_loader.cpp
@@ -194,9 +194,6 @@ void AddSC_boss_baltharus_the_warborn();
void AddSC_boss_saviana_ragefire();
void AddSC_boss_general_zarithrian();
void AddSC_boss_halion();
-// Isle of Conquest
-void AddSC_isle_of_conquest();
-void AddSC_boss_ioc_horde_alliance();
void AddSC_dalaran();
void AddSC_borean_tundra();
@@ -210,8 +207,6 @@ void AddSC_wintergrasp();
void AddSC_zuldrak();
void AddSC_crystalsong_forest();
-void AddSC_strand_of_the_ancients();
-
// The name of this function should match:
// void Add${NameOfDirectory}Scripts()
void AddNorthrendScripts()
@@ -394,9 +389,6 @@ void AddNorthrendScripts()
AddSC_boss_saviana_ragefire();
AddSC_boss_general_zarithrian();
AddSC_boss_halion();
- // Isle of Conquest
- AddSC_isle_of_conquest();
- AddSC_boss_ioc_horde_alliance();
AddSC_dalaran();
AddSC_borean_tundra();
@@ -408,6 +400,4 @@ void AddNorthrendScripts()
AddSC_storm_peaks();
AddSC_wintergrasp();
AddSC_zuldrak();
-
- AddSC_strand_of_the_ancients();
}
diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp
index 46460521b6b..92fc14b2c64 100644
--- a/src/server/scripts/Northrend/zone_dalaran.cpp
+++ b/src/server/scripts/Northrend/zone_dalaran.cpp
@@ -24,7 +24,6 @@ SDCategory: Dalaran
Script Data End */
#include "ScriptMgr.h"
-#include "BattlegroundDS.h"
#include "Containers.h"
#include "DatabaseEnv.h"
#include "Mail.h"
@@ -254,44 +253,8 @@ private:
EventMap events;
};
-class at_ds_pipe_knockback : public AreaTriggerScript
-{
-public:
- at_ds_pipe_knockback() : AreaTriggerScript("at_ds_pipe_knockback") { }
-
- void Trigger(Player* player) const
- {
- if (Battleground* battleground = player->GetBattleground())
- {
- if (battleground->GetStatus() != STATUS_IN_PROGRESS)
- return;
-
- // Remove effects of Demonic Circle Summon
- player->RemoveAurasDueToSpell(SPELL_WARL_DEMONIC_CIRCLE);
-
- // Someone has get back into the pipes and the knockback has already been performed,
- // so we reset the knockback count for kicking the player again into the arena.
- if (battleground->GetData(BG_DS_DATA_PIPE_KNOCKBACK_COUNT) >= BG_DS_PIPE_KNOCKBACK_TOTAL_COUNT)
- battleground->SetData(BG_DS_DATA_PIPE_KNOCKBACK_COUNT, 0);
- }
- }
-
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
- {
- Trigger(player);
- return true;
- }
-
- bool OnExit(Player* player, AreaTriggerEntry const* /*trigger*/) override
- {
- Trigger(player);
- return true;
- }
-};
-
void AddSC_dalaran()
{
RegisterCreatureAI(npc_mageguard_dalaran);
RegisterCreatureAI(npc_minigob_manabonk);
- new at_ds_pipe_knockback();
}