aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2014-09-27 05:16:23 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2014-09-27 05:23:46 +0200
commitda91ae1f225b711c916b180675886b31b2d2ebf4 (patch)
tree2a0cbd5fed64c19a0166874d31ae960f0920df89 /src/server/scripts/Northrend
parenteb4ff759ecb844aceb0017c16b2732423f199b84 (diff)
parenteccc6e97ead56d79cf58904a9276c73feea028ee (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp src/server/scripts/Spells/spell_dk.cpp src/server/scripts/Spells/spell_druid.cpp src/server/scripts/Spells/spell_shaman.cpp src/server/scripts/Spells/spell_warrior.cpp
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp14
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp24
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp15
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp4
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp5
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp16
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp22
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp5
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp7
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp7
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp45
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp14
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp5
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp7
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp12
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp7
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp13
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp52
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp2
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp58
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp5
26 files changed, 239 insertions, 133 deletions
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
index 79449723a16..fdb5a3a5fe7 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
@@ -238,16 +238,17 @@ class spell_ahn_kahet_swarm : public SpellScriptLoader
{
PrepareSpellScript(spell_ahn_kahet_swarm_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) override
+ public:
+ spell_ahn_kahet_swarm_SpellScript()
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SWARM_BUFF))
- return false;
- return true;
+ _targetCount = 0;
}
- bool Load() override
+ private:
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- _targetCount = 0;
+ if (!sSpellMgr->GetSpellInfo(SPELL_SWARM_BUFF))
+ return false;
return true;
}
@@ -278,7 +279,6 @@ class spell_ahn_kahet_swarm : public SpellScriptLoader
OnEffectHit += SpellEffectFn(spell_ahn_kahet_swarm_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
- private:
uint32 _targetCount;
};
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
index 9f55ca8dc17..aa60e5c486d 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
@@ -30,9 +30,7 @@ public:
struct instance_obsidian_sanctum_InstanceMapScript : public InstanceScript
{
- instance_obsidian_sanctum_InstanceMapScript(Map* map) : InstanceScript(map) { }
-
- void Initialize() override
+ instance_obsidian_sanctum_InstanceMapScript(Map* map) : InstanceScript(map)
{
SetHeaders(DataHeader);
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
index 94bf20bc41f..7d3092be115 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
@@ -41,7 +41,17 @@ public:
struct instance_trial_of_the_champion_InstanceMapScript : public InstanceScript
{
- instance_trial_of_the_champion_InstanceMapScript(Map* map) : InstanceScript(map) { }
+ instance_trial_of_the_champion_InstanceMapScript(Map* map) : InstanceScript(map)
+ {
+ SetHeaders(DataHeader);
+ uiMovementDone = 0;
+ uiGrandChampionsDeaths = 0;
+ uiArgentSoldierDeaths = 0;
+
+ bDone = false;
+
+ memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
+ }
uint32 m_auiEncounter[MAX_ENCOUNTER];
@@ -66,18 +76,6 @@ public:
bool bDone;
- void Initialize() override
- {
- SetHeaders(DataHeader);
- uiMovementDone = 0;
- uiGrandChampionsDeaths = 0;
- uiArgentSoldierDeaths = 0;
-
- bDone = false;
-
- memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- }
-
bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
index a645f3ca666..63b47da0807 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -703,6 +703,14 @@ class spell_powering_up : public SpellScriptLoader
{
PrepareSpellScript(spell_powering_up_SpellScript);
+ public:
+ spell_powering_up_SpellScript()
+ {
+ spellId = 0;
+ poweringUp = 0;
+ }
+
+ private:
uint32 spellId;
uint32 poweringUp;
@@ -760,6 +768,13 @@ class spell_valkyr_essences : public SpellScriptLoader
{
PrepareAuraScript(spell_valkyr_essences_AuraScript);
+ public:
+ spell_valkyr_essences_AuraScript()
+ {
+ spellId = 0;
+ }
+
+ private:
uint32 spellId;
bool Load() override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
index 30d831da30c..79fb154d6e3 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
@@ -29,9 +29,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
struct instance_trial_of_the_crusader_InstanceMapScript : public InstanceScript
{
- instance_trial_of_the_crusader_InstanceMapScript(Map* map) : InstanceScript(map) { }
-
- void Initialize() override
+ instance_trial_of_the_crusader_InstanceMapScript(Map* map) : InstanceScript(map)
{
SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTERS);
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
index 3ac5ec3070a..3ee7c9ce650 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -256,12 +256,13 @@ class spell_garfrost_permafrost : public SpellScriptLoader
{
PrepareSpellScript(spell_garfrost_permafrost_SpellScript);
- bool Load() override
+ public:
+ spell_garfrost_permafrost_SpellScript()
{
prevented = false;
- return true;
}
+ private:
void PreventHitByLoS()
{
if (Unit* target = GetHitUnit())
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
index c2b1b91a200..c8894179ca3 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -421,6 +421,14 @@ class spell_tyrannus_overlord_brand : public SpellScriptLoader
{
PrepareAuraScript(spell_tyrannus_overlord_brand_AuraScript);
+ public:
+ spell_tyrannus_overlord_brand_AuraScript()
+ {
+ oldAI = nullptr;
+ oldAIState = false;
+ }
+
+ private:
bool Load() override
{
return GetCaster() && GetCaster()->GetEntry() == NPC_TYRANNUS;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 15cf0d31af9..f3fae3b14a0 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -201,7 +201,8 @@ enum Actions
enum Misc
{
- DATA_MADE_A_MESS = 45374613 // 4537, 4613 are achievement IDs
+ DATA_MADE_A_MESS = 45374613, // 4537, 4613 are achievement IDs
+ FACTION_SCOURGE = 974,
};
enum MovePoints
@@ -460,6 +461,8 @@ class boss_deathbringer_saurfang : public CreatureScript
switch (eventId)
{
case EVENT_INTRO_ALLIANCE_2:
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ me->setFaction(FACTION_SCOURGE);
Talk(SAY_INTRO_ALLIANCE_2);
break;
case EVENT_INTRO_ALLIANCE_3:
@@ -471,6 +474,8 @@ class boss_deathbringer_saurfang : public CreatureScript
DoCast(me, SPELL_GRIP_OF_AGONY);
break;
case EVENT_INTRO_HORDE_2:
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ me->setFaction(FACTION_SCOURGE);
Talk(SAY_INTRO_HORDE_2);
break;
case EVENT_INTRO_HORDE_4:
@@ -544,7 +549,6 @@ class boss_deathbringer_saurfang : public CreatureScript
case PHASE_INTRO_A:
case PHASE_INTRO_H:
{
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
// controls what events will execute
events.SetPhase(uint32(action));
@@ -1215,13 +1219,13 @@ class spell_deathbringer_blood_nova_targeting : public SpellScriptLoader
{
PrepareSpellScript(spell_deathbringer_blood_nova_targeting_SpellScript);
- bool Load() override
+ public:
+ spell_deathbringer_blood_nova_targeting_SpellScript()
{
- // initialize variable
- target = NULL;
- return true;
+ target = nullptr;
}
+ private:
void FilterTargetsInitial(std::list<WorldObject*>& targets)
{
if (targets.empty())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
index 74a09887dd2..43490de493c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -1922,6 +1922,13 @@ class spell_igb_on_gunship_deck : public SpellScriptLoader
{
PrepareAuraScript(spell_igb_on_gunship_deck_AuraScript);
+ public:
+ spell_igb_on_gunship_deck_AuraScript()
+ {
+ _teamInInstance = 0;
+ }
+
+ private:
bool Load() override
{
if (InstanceScript* instance = GetOwner()->GetInstanceScript())
@@ -2031,6 +2038,13 @@ class spell_igb_incinerating_blast : public SpellScriptLoader
{
PrepareSpellScript(spell_igb_incinerating_blast_SpellScript);
+ public:
+ spell_igb_incinerating_blast_SpellScript()
+ {
+ _energyLeft = 0;
+ }
+
+ private:
void StoreEnergy()
{
_energyLeft = GetCaster()->GetPower(POWER_ENERGY) - 10;
@@ -2370,9 +2384,15 @@ class spell_igb_check_for_players : public SpellScriptLoader
{
PrepareSpellScript(spell_igb_check_for_players_SpellScript);
- bool Load() override
+ public:
+ spell_igb_check_for_players_SpellScript()
{
_playerCount = 0;
+ }
+
+ private:
+ bool Load() override
+ {
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index 7ab8c956757..2e360e19b75 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -698,12 +698,13 @@ class spell_marrowgar_bone_slice : public SpellScriptLoader
{
PrepareSpellScript(spell_marrowgar_bone_slice_SpellScript);
- bool Load() override
+ public:
+ spell_marrowgar_bone_slice_SpellScript()
{
_targetCount = 0;
- return true;
}
+ private:
void ClearSpikeImmunities()
{
GetCaster()->GetAI()->DoAction(ACTION_CLEAR_SPIKE_IMMUNITIES);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index 2e353e5f9dc..8f5ca0b4322 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -858,6 +858,13 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
{
PrepareSpellScript(spell_putricide_ooze_channel_SpellScript);
+ public:
+ spell_putricide_ooze_channel_SpellScript()
+ {
+ _target = nullptr;
+ }
+
+ private:
bool Validate(SpellInfo const* spell) override
{
if (!spell->ExcludeTargetAuraSpell)
@@ -871,7 +878,6 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
// this will let use safely use ToCreature() casts in entire script
bool Load() override
{
- _target = NULL;
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
index 205b90fa159..5e55256ae59 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
@@ -507,12 +507,13 @@ class spell_rotface_mutated_infection : public SpellScriptLoader
{
PrepareSpellScript(spell_rotface_mutated_infection_SpellScript);
- bool Load() override
+ public:
+ spell_rotface_mutated_infection_SpellScript()
{
- _target = NULL;
- return true;
+ _target = nullptr;
}
+ private:
void FilterTargets(std::list<WorldObject*>& targets)
{
// remove targets with this aura already
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 551ec9ad0a2..9324379e9d6 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -1044,10 +1044,15 @@ class spell_sindragosa_s_fury : public SpellScriptLoader
{
PrepareSpellScript(spell_sindragosa_s_fury_SpellScript);
- bool Load() override
+ public:
+ spell_sindragosa_s_fury_SpellScript()
{
_targetCount = 0;
+ }
+ private:
+ bool Load() override
+ {
// This script should execute only in Icecrown Citadel
if (InstanceMap* instance = GetCaster()->GetMap()->ToInstanceMap())
if (instance->GetInstanceScript())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index e67edc473f4..03c26ba2e09 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -2080,12 +2080,13 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_necrotic_plague_SpellScript);
- bool Load() override
+ public:
+ spell_the_lich_king_necrotic_plague_SpellScript()
{
_hadAura = false;
- return true;
}
+ private:
void SelectTarget(std::list<Unit*>& targets)
{
targets.sort(Trinity::ObjectDistanceOrderPred(GetCaster()));
@@ -2120,12 +2121,13 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_necrotic_plague_AuraScript);
- bool Load() override
+ public:
+ spell_the_lich_king_necrotic_plague_AuraScript()
{
_lastAmount = 0;
- return true;
}
+ private:
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
if (Unit* caster = GetCaster())
@@ -2497,16 +2499,17 @@ class spell_the_lich_king_valkyr_target_search : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_valkyr_target_search_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) override
+ public:
+ spell_the_lich_king_valkyr_target_search_SpellScript()
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ICE_BURST))
- return false;
- return true;
+ _target = nullptr;
}
- bool Load() override
+ private:
+ bool Validate(SpellInfo const* /*spell*/) override
{
- _target = NULL;
+ if (!sSpellMgr->GetSpellInfo(SPELL_ICE_BURST))
+ return false;
return true;
}
@@ -2622,6 +2625,13 @@ class spell_the_lich_king_vile_spirits : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_vile_spirits_AuraScript);
+ public:
+ spell_the_lich_king_vile_spirits_AuraScript()
+ {
+ _is25Man = false;
+ }
+
+ private:
bool Load() override
{
_is25Man = GetUnitOwner()->GetMap()->Is25ManRaid();
@@ -2684,9 +2694,15 @@ class spell_the_lich_king_vile_spirit_move_target_search : public SpellScriptLoa
{
PrepareSpellScript(spell_the_lich_king_vile_spirit_move_target_search_SpellScript);
+ public:
+ spell_the_lich_king_vile_spirit_move_target_search_SpellScript()
+ {
+ _target = nullptr;
+ }
+
+ private:
bool Load() override
{
- _target = NULL;
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -2873,6 +2889,13 @@ class spell_the_lich_king_restore_soul : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_restore_soul_SpellScript);
+ public:
+ spell_the_lich_king_restore_soul_SpellScript()
+ {
+ _instance = nullptr;
+ }
+
+ private:
bool Load() override
{
_instance = GetCaster()->GetInstanceScript();
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index ec7a937e725..49e24f54b02 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -1158,6 +1158,13 @@ class spell_dreamwalker_decay_periodic_timer : public SpellScriptLoader
{
PrepareAuraScript(spell_dreamwalker_decay_periodic_timer_AuraScript);
+ public:
+ spell_dreamwalker_decay_periodic_timer_AuraScript()
+ {
+ _decayRate = 0;
+ }
+
+ private:
bool Load() override
{
_decayRate = GetId() != SPELL_TIMER_BLAZING_SKELETON ? 1000 : 5000;
@@ -1385,6 +1392,13 @@ class spell_dreamwalker_nightmare_cloud : public SpellScriptLoader
{
PrepareAuraScript(spell_dreamwalker_nightmare_cloud_AuraScript);
+ public:
+ spell_dreamwalker_nightmare_cloud_AuraScript()
+ {
+ _instance = nullptr;
+ }
+
+ private:
bool Load() override
{
_instance = GetOwner()->GetInstanceScript();
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index c2007730cdc..22fa44541a1 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -1880,12 +1880,13 @@ class spell_frost_giant_death_plague : public SpellScriptLoader
{
PrepareSpellScript(spell_frost_giant_death_plague_SpellScript);
- bool Load() override
+ public:
+ spell_frost_giant_death_plague_SpellScript()
{
_failed = false;
- return true;
}
+ private:
// First effect
void CountTargets(std::list<WorldObject*>& targets)
{
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 4c45be9d24d..b9fa6617855 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -2459,6 +2459,13 @@ class spell_alexstrasza_gift_beam_visual : public SpellScriptLoader
{
PrepareAuraScript(spell_alexstrasza_gift_beam_visual_AuraScript);
+ public:
+ spell_alexstrasza_gift_beam_visual_AuraScript()
+ {
+ _alexstraszaGift = nullptr;
+ }
+
+ private:
bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index 91a40d43f12..b7f2e23616b 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -40,7 +40,11 @@ public:
struct instance_nexus_InstanceMapScript : public InstanceScript
{
- instance_nexus_InstanceMapScript(Map* map) : InstanceScript(map) { }
+ instance_nexus_InstanceMapScript(Map* map) : InstanceScript(map)
+ {
+ SetHeaders(DataHeader);
+ memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
+ }
uint32 m_auiEncounter[NUMBER_OF_ENCOUNTERS];
@@ -53,12 +57,6 @@ public:
std::string strInstData;
- void Initialize() override
- {
- SetHeaders(DataHeader);
- memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- }
-
void OnCreatureCreate(Creature* creature) override
{
Map::PlayerList const &players = instance->GetPlayers();
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index bd5b61e227f..261a6c96f77 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -1206,9 +1206,15 @@ class spell_algalon_big_bang : public SpellScriptLoader
{
PrepareSpellScript(spell_algalon_big_bang_SpellScript);
- bool Load() override
+ public:
+ spell_algalon_big_bang_SpellScript()
{
_targetCount = 0;
+ }
+
+ private:
+ bool Load() override
+ {
return GetCaster()->GetTypeId() == TYPEID_UNIT && GetCaster()->IsAIEnabled;
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index ec42ba82f36..40c189a8da2 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -1688,12 +1688,13 @@ class spell_pursue : public SpellScriptLoader
{
PrepareSpellScript(spell_pursue_SpellScript);
- bool Load() override
+ public:
+ spell_pursue_SpellScript()
{
- _target = NULL;
- return true;
+ _target = nullptr;
}
+ private:
void FilterTargets(std::list<WorldObject*>& targets)
{
targets.remove_if(FlameLeviathanPursuedTargetSelector(GetCaster()));
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index 880eeba206b..6156d423b89 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -1748,16 +1748,17 @@ class spell_mimiron_fire_search : public SpellScriptLoader
{
PrepareSpellScript(spell_mimiron_fire_search_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) override
+ public:
+ spell_mimiron_fire_search_SpellScript()
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WATER_SPRAY))
- return false;
- return true;
+ _noTarget = false;
}
- bool Load() override
+ private:
+ bool Validate(SpellInfo const* /*spell*/) override
{
- _noTarget = false;
+ if (!sSpellMgr->GetSpellInfo(SPELL_WATER_SPRAY))
+ return false;
return true;
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index 016c0bff1e5..4f40abde5b6 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -60,7 +60,32 @@ class instance_ulduar : public InstanceMapScript
struct instance_ulduar_InstanceMapScript : public InstanceScript
{
- instance_ulduar_InstanceMapScript(InstanceMap* map) : InstanceScript(map) { }
+ instance_ulduar_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
+ {
+ SetHeaders(DataHeader);
+ SetBossNumber(MAX_ENCOUNTER);
+
+ LoadDoorData(doorData);
+ LoadMinionData(minionData);
+
+ _algalonTimer = 61;
+ _maxArmorItemLevel = 0;
+ _maxWeaponItemLevel = 0;
+ TeamInInstance = 0;
+ HodirRareCacheData = 0;
+ ColossusData = 0;
+ elderCount = 0;
+ illusion = 0;
+ keepersCount = 0;
+ conSpeedAtory = false;
+ Unbroken = true;
+ IsDriveMeCrazyEligible = true;
+ _algalonSummoned = false;
+ _summonAlgalon = false;
+
+ memset(_summonObservationRingKeeper, 0, sizeof(_summonObservationRingKeeper));
+ memset(_summonYSKeeper, 0, sizeof(_summonYSKeeper));
+ }
// Creatures
ObjectGuid LeviathanGUID;
@@ -119,31 +144,6 @@ class instance_ulduar : public InstanceMapScript
bool Unbroken;
bool IsDriveMeCrazyEligible;
- void Initialize() override
- {
- SetHeaders(DataHeader);
- SetBossNumber(MAX_ENCOUNTER);
- LoadDoorData(doorData);
- LoadMinionData(minionData);
- _algalonTimer = 61;
- _maxArmorItemLevel = 0;
- _maxWeaponItemLevel = 0;
- TeamInInstance = 0;
- HodirRareCacheData = 0;
- ColossusData = 0;
- elderCount = 0;
- illusion = 0;
- keepersCount = 0;
- conSpeedAtory = false;
- Unbroken = true;
- IsDriveMeCrazyEligible = true;
- _algalonSummoned = false;
- _summonAlgalon = false;
-
- memset(_summonObservationRingKeeper, 0, sizeof(_summonObservationRingKeeper));
- memset(_summonYSKeeper, 0, sizeof(_summonYSKeeper));
- }
-
void FillInitialWorldStates(WorldPacket& packet) override
{
packet << uint32(WORLD_STATE_ALGALON_TIMER_ENABLED) << uint32(_algalonTimer && _algalonTimer <= 60);
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index c4312e08704..5b0e1f31bd7 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -204,7 +204,7 @@ public:
void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
- if (me->HealthBelowPctDamaged(100 - HealthAmountMultipler * HealthAmountModifier, damage))
+ if (me->HealthBelowPctDamaged(100 - HealthAmountMultipler * HealthAmountModifier, damage) && !(damage >= me->GetHealth()))
{
uint8 Order = HealthAmountModifier - 1;
++HealthAmountModifier;
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
index b6c836eb0cd..151e199b749 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
@@ -225,12 +225,13 @@ class spell_koralon_meteor_fists_damage : public SpellScriptLoader
{
PrepareSpellScript(spell_koralon_meteor_fists_damage_SpellScript);
- bool Load() override
+ public:
+ spell_koralon_meteor_fists_damage_SpellScript()
{
_chainTargets = 0;
- return true;
}
+ private:
void FilterTargets(std::list<WorldObject*>& targets)
{
_chainTargets = targets.size();
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index cddf6ce3c25..1fdc98cd765 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -112,7 +112,34 @@ public:
struct instance_violet_hold_InstanceMapScript : public InstanceScript
{
- instance_violet_hold_InstanceMapScript(Map* map) : InstanceScript(map) { }
+ instance_violet_hold_InstanceMapScript(Map* map) : InstanceScript(map)
+ {
+ SetHeaders(DataHeader);
+
+ uiRemoveNpc = 0;
+
+ uiDoorIntegrity = 100;
+
+ uiWaveCount = 0;
+ uiLocation = urand(0, 5);
+ uiFirstBoss = 0;
+ uiSecondBoss = 0;
+ uiCountErekemGuards = 0;
+ uiCountActivationCrystals = 0;
+ uiCyanigosaEventPhase = 1;
+
+ uiActivationTimer = 5000;
+ uiDoorSpellTimer = 2000;
+ uiCyanigosaEventTimer = 3 * IN_MILLISECONDS;
+
+ bActive = false;
+ bIsDoorSpellCast = false;
+ bCrystalActivated = false;
+ defenseless = true;
+ uiMainEventPhase = NOT_STARTED;
+
+ memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
+ }
ObjectGuid uiMoragg;
ObjectGuid uiErekem;
@@ -168,35 +195,6 @@ public:
std::string str_data;
- void Initialize() override
- {
- SetHeaders(DataHeader);
-
- uiRemoveNpc = 0;
-
- uiDoorIntegrity = 100;
-
- uiWaveCount = 0;
- uiLocation = urand(0, 5);
- uiFirstBoss = 0;
- uiSecondBoss = 0;
- uiCountErekemGuards = 0;
- uiCountActivationCrystals = 0;
- uiCyanigosaEventPhase = 1;
-
- uiActivationTimer = 5000;
- uiDoorSpellTimer = 2000;
- uiCyanigosaEventTimer = 3*IN_MILLISECONDS;
-
- bActive = false;
- bIsDoorSpellCast = false;
- bCrystalActivated = false;
- defenseless = true;
- uiMainEventPhase = NOT_STARTED;
-
- memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- }
-
bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index e4cff7323b1..ec65aa26f17 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -812,12 +812,13 @@ class spell_close_rift : public SpellScriptLoader
{
PrepareAuraScript(spell_close_rift_AuraScript);
- bool Load() override
+ public:
+ spell_close_rift_AuraScript()
{
_counter = 0;
- return true;
}
+ private:
bool Validate(SpellInfo const* /*spell*/) override
{
return sSpellMgr->GetSpellInfo(SPELL_DESPAWN_RIFT) != nullptr;