Skip to content

Commit

Permalink
Merge pull request #33 from sogladev/refactor
Browse files Browse the repository at this point in the history
Refactor: move more custom changes to seperate files, custom IDs as sql vars
  • Loading branch information
sogladev authored Jul 5, 2024
2 parents 2ad039f + e7899ad commit e0e42d9
Show file tree
Hide file tree
Showing 18 changed files with 5,324 additions and 5,636 deletions.
14 changes: 11 additions & 3 deletions conf/vanilla_naxxramas.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,6 @@ VanillaNaxxramas.ReapplyUpdates = 0
VanillaNaxxramas.ScourgeEvent = 0 # (NOT IMPLEMENTED)
VanillaNaxxramas.Naxxramas = 1

VanillaNaxxramas.Naxxramas.RequireNaxxStrathEntrance = 1

#
#
# VanillaNaxxramas.Naxxramas.RequireNaxxStrathEntrance
# Description: Requires Players to first enter through Stratholme entrance
Expand All @@ -63,3 +60,14 @@ VanillaNaxxramas.Naxxramas.RequireNaxxStrathEntrance = 1
# 0 - Disabled
#
#

VanillaNaxxramas.Naxxramas.RequireNaxxStrathEntrance = 1

#
# VanillaNaxxramas.Naxxramas.RequireAttunement
# Description: Requires Players to complete the attunement quests from Light's Hope Chapel
# Default: 1 - Enabled
# 0 - Disabled (NOT IMPLEMENTED)
#

VanillaNaxxramas.Naxxramas.RequireAttunement = 1 # (NOT IMPLEMENTED)
2 changes: 0 additions & 2 deletions src/Naxxramas/scripts/boss_anubrekhan_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ enum Spells
SPELL_IMPALE = 28783,
SPELL_LOCUST_SWARM = 28785,
SPELL_LOCUST_SWARM_TRIGGER = 28786, // periodic effect
SPELL_SUMMON_CORPSE_SCRABS_5 = 90001, // Changed from 29105 to Level 60 Mob ID for summon
SPELL_SUMMON_CORPSE_SCRABS_10 = 90002, // Changed from 29105 to Level 60 Mob ID for summon
SPELL_BERSERK = 26662
};

Expand Down
1 change: 0 additions & 1 deletion src/Naxxramas/scripts/boss_grobbulus_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ enum Spells
SPELL_SLIME_SPRAY = 28157,
SPELL_POISON_CLOUD_DAMAGE_AURA = 28158,
SPELL_BERSERK = 26662,
SPELL_BOMBARD_SLIME = 90003 // update summon entry
};

enum Emotes
Expand Down
6 changes: 3 additions & 3 deletions src/Naxxramas/scripts/boss_heigan_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ class boss_heigan_40 : public CreatureScript
go->SetGoState(GO_STATE_ACTIVE);
}
// Close tunnel door
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_HEIGAN_EXIT_GATE)))
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_HEIGAN_EXIT_GATE_40)))
{
go->SetGoState(GO_STATE_READY);
}
Expand Down Expand Up @@ -164,12 +164,12 @@ class boss_heigan_40 : public CreatureScript
go->SetGoState(GO_STATE_READY);
}
// Open tunnel door
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_HEIGAN_EXIT_GATE)))
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_HEIGAN_EXIT_GATE_40)))
{
go->SetGoState(GO_STATE_ACTIVE);
}
// Close loatheb door
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_HEIGAN_EXIT_GATE_OLD)))
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_HEIGAN_EXIT_GATE_OLD_40)))
{
go->SetGoState(GO_STATE_READY);
}
Expand Down
1 change: 0 additions & 1 deletion src/Naxxramas/scripts/boss_loatheb_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
enum Spells
{
SPELL_NECROTIC_AURA = 55593,
SPELL_SUMMON_SPORE = 90006,
SPELL_DEATHBLOOM = 29865,
SPELL_INEVITABLE_DOOM = 29204,
SPELL_BERSERK = 26662
Expand Down
1 change: 0 additions & 1 deletion src/Naxxramas/scripts/boss_maexxna_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ enum Spells
SPELL_FRENZY = 54123,
SPELL_WEB_WRAP_STUN = 28622,
SPELL_WEB_WRAP_SUMMON = 28627,
SPELL_WEB_WRAP_SUMMON_40 = 90007, // custom summon entry: 16486 -> 351075
SPELL_WEB_WRAP_PACIFY_5 = 28618
};

Expand Down
26 changes: 0 additions & 26 deletions src/Naxxramas/scripts/boss_thaddius_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -753,31 +753,6 @@ class at_thaddius_entrance : public AreaTriggerScript
}
};

class spell_feugen_static_field : public SpellScript
{
PrepareSpellScript(spell_feugen_static_field);

void HandleDamageCalc(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
if (!caster || (caster->GetMap()->GetDifficulty() != RAID_DIFFICULTY_10MAN_HEROIC))
{
return;
}
if (Unit* target = GetHitUnit())
{
Powers PowerType = POWER_MANA;
int32 drainedAmount = -target->ModifyPower(PowerType, -500);
SetEffectValue(drainedAmount);
}
}

void Register() override
{
OnEffectLaunchTarget += SpellEffectFn(spell_feugen_static_field::HandleDamageCalc, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};

void AddSC_boss_thaddius_40()
{
new boss_thaddius_40();
Expand All @@ -786,5 +761,4 @@ void AddSC_boss_thaddius_40()
RegisterSpellScript(spell_thaddius_pos_neg_charge);
// RegisterSpellScript(spell_thaddius_polarity_shift);
// new at_thaddius_entrance();
RegisterSpellScript(spell_feugen_static_field);
}
2 changes: 1 addition & 1 deletion src/Naxxramas/scripts/custom_creatures_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class npc_naxx40_area_trigger : public CreatureScript
{
if (isAttuned(player))
{
GameObject* door = me->FindNearestGameObject(NAXX_STRATH_GATE, 100.0f);
GameObject* door = me->FindNearestGameObject(GO_STRATH_GATE_40, 100.0f);
if (door)
{
door->SetGoState(GO_STATE_ACTIVE);
Expand Down
26 changes: 26 additions & 0 deletions src/Naxxramas/scripts/custom_spells_40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,31 @@ class spell_disease_cloud_damage_40 : public SpellScript
}
};

class spell_feugen_static_field_40 : public SpellScript
{
PrepareSpellScript(spell_feugen_static_field_40);

void HandleDamageCalc(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
if (!caster || (caster->GetMap()->GetDifficulty() != RAID_DIFFICULTY_10MAN_HEROIC))
{
return;
}
if (Unit* target = GetHitUnit())
{
Powers PowerType = POWER_MANA;
int32 drainedAmount = -target->ModifyPower(PowerType, -500);
SetEffectValue(drainedAmount);
}
}

void Register() override
{
OnEffectLaunchTarget += SpellEffectFn(spell_feugen_static_field_40::HandleDamageCalc, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};

void AddSC_custom_spells_40()
{
RegisterSpellScript(spell_anub_locust_swarm_aura_40);
Expand All @@ -344,4 +369,5 @@ void AddSC_custom_spells_40()
RegisterSpellScript(spell_razuvious_disrupting_shout_40);
RegisterSpellScript(spell_unholy_staff_arcane_explosion_40);
RegisterSpellScript(spell_disease_cloud_damage_40);
RegisterSpellScript(spell_feugen_static_field_40);
}
6 changes: 3 additions & 3 deletions src/Naxxramas/scripts/instance_naxxramas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ class instance_naxxramas_combined : public InstanceMapScript
case DATA_HEIGAN_ERUPTION:
HeiganEruptSections(data);
return;
case DATA_HEIGAN_ERUPTION_TUNNEL:
case DATA_HEIGAN_ERUPTION_TUNNEL_40:
HeiganEruptSectionsTunnel();
return;
case DATA_HAD_THADDIUS_GREET:
Expand Down Expand Up @@ -1191,9 +1191,9 @@ class instance_naxxramas_combined : public InstanceMapScript
// GameObjects
case DATA_HEIGAN_ENTER_GATE:
return _heiganGateGUID;
case DATA_HEIGAN_EXIT_GATE_OLD:
case DATA_HEIGAN_EXIT_GATE_OLD_40:
return _heiganGateExitOldGUID;
case DATA_HEIGAN_EXIT_GATE:
case DATA_HEIGAN_EXIT_GATE_40:
return _heiganGateExitGUID;
case DATA_LOATHEB_GATE:
return _loathebGateGUID;
Expand Down
70 changes: 3 additions & 67 deletions src/Naxxramas/scripts/naxxramas.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@

#include "CreatureAIImpl.h"
#include "SpellScript.h"
#include "naxxramas_40.h"

#define DataHeader "NAX"

#define NaxxramasScriptName "instance_naxxramas"

Expand Down Expand Up @@ -75,9 +78,6 @@ enum NXData
DATA_KELTHUZAD_PORTAL_2 = 127,
DATA_KELTHUZAD_PORTAL_3 = 128,
DATA_KELTHUZAD_PORTAL_4 = 129,
DATA_HEIGAN_EXIT_GATE_OLD = 130,
DATA_HEIGAN_EXIT_GATE = 131,
DATA_HEIGAN_ERUPTION_TUNNEL = 130
};

enum NXGOs
Expand All @@ -104,7 +104,6 @@ enum NXGOs

GO_HORSEMEN_CHEST_10 = 181366,
GO_HORSEMEN_CHEST_25 = 193426,
GO_HORSEMEN_CHEST_40 = 361000,

GO_SAPPHIRON_BIRTH = 181356,
GO_KELTHUZAD_FLOOR = 181444,
Expand All @@ -130,9 +129,6 @@ enum NXGOs
GO_PLAG_EYE_RAMP_BOSS = 181231,
GO_MILI_EYE_RAMP_BOSS = 181230,
GO_CONS_EYE_RAMP_BOSS = 181232,

// Gate to enter Naxx 40 from Strath
NAXX_STRATH_GATE = 176424
};

enum NXNPCs
Expand Down Expand Up @@ -170,48 +166,6 @@ enum NXNPCs
NPC_SLUDGE_BELCHER = 16029,
};

enum NX40NPCs
{
// Thaddius
NPC_THADDIUS_40 = 351000,
NPC_STALAGG_40 = 351001,
NPC_FEUGEN_40 = 351002,

// Four horseman
NPC_HIGHLORD_MOGRAINE_40 = 351037,
NPC_SIR_ZELIEK_40 = 351038,
NPC_LADY_BLAUMEUX_40 = 351040,
NPC_THANE_KORTHAZZ_40 = 351039,

// Sapphiron
NPC_SAPPHIRON_40 = 351018,

// Kel'Thuzad
NPC_KELTHUZAD_40 = 351019,
NPC_LICH_KING_40 = 16980,

// Frogger
NPC_LIVING_POISON_40 = 16027,
NPC_NAXXRAMAS_TRIGGER_40 = 16082,
NPC_MR_BIGGLESWORTH_40 = 16998,

// Patchwerk
NPC_PATCHWERK_40 = 351028,
NPC_PATCHWORK_GOLEM_40 = 351021,
NPC_BILE_RETCHER_40 = 351022,
NPC_MAD_SCIENTIST_40 = 351023,
NPC_LIVING_MONSTROSITY_40 = 351024,
NPC_SURGICAL_ASSIST_40 = 351025,
NPC_SLUDGE_BELCHER_40 = 351029,

// Heigan
NPC_ROTTING_MAGGOT_40 = 351034,
NPC_DISEASED_MAGGOT_40 = 351033,
NPC_EYE_STALK_40 = 351090,

NPC_ARCHMAGE_TARSIS = 16381,
};

enum NXMisc
{
SPELL_ERUPTION = 29371,
Expand Down Expand Up @@ -242,24 +196,6 @@ enum NXEvents
EVENT_FROSTWYRM_WATERFALL_DOOR = 2
};

enum NXMaps
{
MAP_NAXX = 533,
};

enum NXGraveyards
{
NAXX40_GRAVEYARD = 909
};

enum NXAttunementQuests
{
NAXX40_ATTUNEMENT_1 = 9121,
NAXX40_ATTUNEMENT_2 = 9122,
NAXX40_ATTUNEMENT_3 = 9123,
NAXX40_ENTRANCE_FLAG = 9378
};

template <class AI, class T>
inline AI* GetNaxxramasAI(T* obj)
{
Expand Down
Loading

0 comments on commit e0e42d9

Please sign in to comment.