Merge branch 'master' into Playerbot

This commit is contained in:
Yunfan Li
2024-07-29 15:40:17 +08:00
129 changed files with 3078 additions and 1132 deletions
@@ -19,9 +19,6 @@
#define DEF_AZJOL_NERUB_H
#include "CreatureAIImpl.h"
#include "SpellAuraEffects.h"
#include "SpellAuras.h"
#include "SpellScript.h"
#define DataHeader "AN"
@@ -19,6 +19,8 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "azjol_nerub.h"
#include "SpellInfo.h"
#include "SpellScript.h"
enum Spells
{
@@ -21,6 +21,8 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "azjol_nerub.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
enum Spells
{
@@ -21,6 +21,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "azjol_nerub.h"
#include "SpellScript.h"
DoorData const doorData[] =
{
@@ -18,10 +18,12 @@
#include "AreaTriggerScript.h"
#include "CreatureScript.h"
#include "ObjectMgr.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "SpellScriptLoader.h"
#include "ruby_sanctum.h"
#include "SpellScript.h"
enum Texts
{
@@ -332,34 +334,28 @@ public:
}
};
class spell_baltharus_enervating_brand_trigger : public SpellScriptLoader
class spell_baltharus_enervating_brand_trigger : public SpellScript
{
public:
spell_baltharus_enervating_brand_trigger() : SpellScriptLoader("spell_baltharus_enervating_brand_trigger") { }
PrepareSpellScript(spell_baltharus_enervating_brand_trigger);
class spell_baltharus_enervating_brand_trigger_SpellScript : public SpellScript
bool Validate(SpellInfo const* /*spellInfo*/) override
{
PrepareSpellScript(spell_baltharus_enervating_brand_trigger_SpellScript);
return ValidateSpellInfo({ SPELL_SIPHONED_MIGHT });
}
void CheckDistance()
{
if (Unit* caster = GetOriginalCaster())
if (Unit* target = GetHitUnit())
if (target == GetCaster()
// the spell has an unlimited range, so we need this check
&& target->GetDistance2d(caster) <= 12.0f)
target->CastSpell(caster, SPELL_SIPHONED_MIGHT, true);
}
void Register() override
{
OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger_SpellScript::CheckDistance);
}
};
SpellScript* GetSpellScript() const override
void CheckDistance()
{
return new spell_baltharus_enervating_brand_trigger_SpellScript();
if (Unit* caster = GetOriginalCaster())
if (Unit* target = GetHitUnit())
if (target == GetCaster()
// the spell has an unlimited range, so we need this check
&& target->GetDistance2d(caster) <= 12.0f)
target->CastSpell(caster, SPELL_SIPHONED_MIGHT, true);
}
void Register() override
{
OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger::CheckDistance);
}
};
@@ -484,7 +480,7 @@ void AddSC_boss_baltharus_the_warborn()
{
new boss_baltharus_the_warborn();
new npc_baltharus_the_warborn_clone();
new spell_baltharus_enervating_brand_trigger();
RegisterSpellScript(spell_baltharus_enervating_brand_trigger);
new npc_xerestrasza();
new at_baltharus_plateau();
}
File diff suppressed because it is too large Load Diff
@@ -19,6 +19,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "ruby_sanctum.h"
#include "SpellScript.h"
enum Texts
{
@@ -184,65 +185,48 @@ public:
}
};
class spell_saviana_conflagration_init : public SpellScriptLoader
class spell_saviana_conflagration_init : public SpellScript
{
public:
spell_saviana_conflagration_init() : SpellScriptLoader("spell_saviana_conflagration_init") { }
PrepareSpellScript(spell_saviana_conflagration_init);
class spell_saviana_conflagration_init_SpellScript : public SpellScript
bool Validate(SpellInfo const* /*spellInfo*/) override
{
PrepareSpellScript(spell_saviana_conflagration_init_SpellScript);
return ValidateSpellInfo({ SPELL_FLAME_BEACON, SPELL_CONFLAGRATION_MISSLE });
}
void HandleDummy(SpellEffIndex effIndex)
{
PreventHitDefaultEffect(effIndex);
GetCaster()->CastSpell(GetHitUnit(), SPELL_FLAME_BEACON, true);
GetCaster()->CastSpell(GetHitUnit(), SPELL_CONFLAGRATION_MISSLE, true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_init_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
SpellScript* GetSpellScript() const override
void HandleDummy(SpellEffIndex effIndex)
{
return new spell_saviana_conflagration_init_SpellScript();
PreventHitDefaultEffect(effIndex);
GetCaster()->CastSpell(GetHitUnit(), SPELL_FLAME_BEACON, true);
GetCaster()->CastSpell(GetHitUnit(), SPELL_CONFLAGRATION_MISSLE, true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_init::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
class spell_saviana_conflagration_throwback : public SpellScriptLoader
class spell_saviana_conflagration_throwback : public SpellScript
{
public:
spell_saviana_conflagration_throwback() : SpellScriptLoader("spell_saviana_conflagration_throwback") { }
PrepareSpellScript(spell_saviana_conflagration_throwback);
class spell_saviana_conflagration_throwback_SpellScript : public SpellScript
void HandleScript(SpellEffIndex effIndex)
{
PrepareSpellScript(spell_saviana_conflagration_throwback_SpellScript);
PreventHitDefaultEffect(effIndex);
GetHitUnit()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
void HandleScript(SpellEffIndex effIndex)
{
PreventHitDefaultEffect(effIndex);
GetHitUnit()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_throwback_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const override
void Register() override
{
return new spell_saviana_conflagration_throwback_SpellScript();
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_throwback::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
void AddSC_boss_saviana_ragefire()
{
new boss_saviana_ragefire();
new spell_saviana_conflagration_init();
new spell_saviana_conflagration_throwback();
RegisterSpellScript(spell_saviana_conflagration_init);
RegisterSpellScript(spell_saviana_conflagration_throwback);
}
@@ -23,6 +23,7 @@
#include "TemporarySummon.h"
#include "WorldPacket.h"
#include "ruby_sanctum.h"
#include "SpellScript.h"
BossBoundaryData const boundaries =
{
@@ -244,41 +245,35 @@ public:
}
};
class spell_ruby_sanctum_rallying_shout : public SpellScriptLoader
class spell_ruby_sanctum_rallying_shout : public SpellScript
{
public:
spell_ruby_sanctum_rallying_shout() : SpellScriptLoader("spell_ruby_sanctum_rallying_shout") { }
PrepareSpellScript(spell_ruby_sanctum_rallying_shout);
class spell_ruby_sanctum_rallying_shout_SpellScript : public SpellScript
bool Validate(SpellInfo const* /*spellInfo*/) override
{
PrepareSpellScript(spell_ruby_sanctum_rallying_shout_SpellScript);
return ValidateSpellInfo({ SPELL_RALLY });
}
void CountAllies()
{
uint32 count = GetSpell()->GetUniqueTargetInfo()->size();
if (count == GetCaster()->GetAuraCount(SPELL_RALLY))
return;
GetCaster()->RemoveAurasDueToSpell(SPELL_RALLY);
if (count > 0)
GetCaster()->CastCustomSpell(SPELL_RALLY, SPELLVALUE_AURA_STACK, count, GetCaster(), true);
}
void Register() override
{
AfterHit += SpellHitFn(spell_ruby_sanctum_rallying_shout_SpellScript::CountAllies);
}
};
SpellScript* GetSpellScript() const override
void CountAllies()
{
return new spell_ruby_sanctum_rallying_shout_SpellScript();
uint32 count = GetSpell()->GetUniqueTargetInfo()->size();
if (count == GetCaster()->GetAuraCount(SPELL_RALLY))
return;
GetCaster()->RemoveAurasDueToSpell(SPELL_RALLY);
if (count > 0)
GetCaster()->CastCustomSpell(SPELL_RALLY, SPELLVALUE_AURA_STACK, count, GetCaster(), true);
}
void Register() override
{
AfterHit += SpellHitFn(spell_ruby_sanctum_rallying_shout::CountAllies);
}
};
void AddSC_instance_ruby_sanctum()
{
new instance_ruby_sanctum();
new spell_ruby_sanctum_rallying_shout();
RegisterSpellScript(spell_ruby_sanctum_rallying_shout);
}
@@ -18,14 +18,7 @@
#ifndef RUBY_SANCTUM_H_
#define RUBY_SANCTUM_H_
#include "Creature.h"
#include "CreatureAIImpl.h"
#include "GameObjectAI.h"
#include "Map.h"
#include "Opcodes.h"
#include "PassiveAI.h"
#include "Player.h"
#include "SpellScript.h"
#define DataHeader "RS"
@@ -15,6 +15,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "CombatAI.h"
#include "CreatureScript.h"
#include "PassiveAI.h"
#include "Player.h"
@@ -18,7 +18,6 @@
#ifndef DEF_TOC_H
#define DEF_TOC_H
#include "CombatAI.h"
#include "CreatureAIImpl.h"
#define DataHeader "TC"
@@ -19,6 +19,7 @@
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "trial_of_the_crusader.h"
@@ -20,7 +20,6 @@
#include "CreatureAIImpl.h"
#include "GridNotifiers.h"
#include "SpellAuraEffects.h"
#define DataHeader "TCR"
@@ -20,6 +20,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "drak_tharon_keep.h"
#include "SpellScript.h"
enum Yells
{
@@ -19,6 +19,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "drak_tharon_keep.h"
#include "SpellScript.h"
enum Yells
{
@@ -21,6 +21,8 @@
#include "SpellAuras.h"
#include "SpellScriptLoader.h"
#include "drak_tharon_keep.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
enum Yells
{
@@ -19,8 +19,6 @@
#define DEF_DRAK_THARON_H
#include "CreatureAIImpl.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#define DataHeader "DTK"
@@ -20,6 +20,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "drak_tharon_keep.h"
#include "SpellScript.h"
DoorData const doorData[] =
{
@@ -17,6 +17,7 @@
#include "CreatureScript.h"
#include "halls_of_reflection.h"
#include "ScriptedCreature.h"
enum Yells
{
@@ -18,6 +18,9 @@
#include "CreatureScript.h"
#include "SpellScriptLoader.h"
#include "halls_of_reflection.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
enum Yells
{
@@ -18,7 +18,12 @@
#include "halls_of_reflection.h"
#include "AreaTriggerScript.h"
#include "CreatureScript.h"
#include "InstanceScript.h"
#include "MotionMaster.h"
#include "PassiveAI.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
enum Events
@@ -19,14 +19,7 @@
#define DEF_HALLS_OF_REFLECTION_H
#include "CreatureAIImpl.h"
#include "CreatureScript.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "SpellAuraEffects.h"
#include "SpellAuras.h"
#include "SpellScript.h"
#define DataHeader "HOR"
@@ -19,6 +19,7 @@
#include "MapMgr.h"
#include "Transport.h"
#include "halls_of_reflection.h"
#include "InstanceScript.h"
class UtherBatteredHiltEvent : public BasicEvent
{
@@ -17,7 +17,6 @@
#include "CreatureGroups.h"
#include "CreatureScript.h"
#include "Opcodes.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellAuras.h"
@@ -16,7 +16,6 @@
*/
#include "CreatureScript.h"
#include "Opcodes.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
@@ -19,6 +19,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "gundrak.h"
#include "SpellScript.h"
enum Spells
{
@@ -20,6 +20,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "gundrak.h"
#include "SpellScript.h"
enum Spells
{
@@ -20,6 +20,8 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "gundrak.h"
#include "SpellInfo.h"
#include "SpellScript.h"
enum eSpells
{
@@ -20,6 +20,7 @@
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "gundrak.h"
#include "SpellScript.h"
enum Spells
{
@@ -19,7 +19,6 @@
#define DEF_GUNDRAK_H
#include "CreatureAIImpl.h"
#include "SpellScript.h"
#define DataHeader "GD"
@@ -16,7 +16,6 @@
*/
#include "icecrown_citadel.h"
#include "AccountMgr.h"
#include "AreaTriggerScript.h"
#include "Cell.h"
#include "CellImpl.h"
@@ -28,8 +28,6 @@
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "SpellAuraEffects.h"
#include "SpellAuras.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
@@ -19,6 +19,7 @@
#include "CreatureScript.h"
#include "ScriptedCreature.h"
#include "naxxramas.h"
#include "SpellInfo.h"
using namespace Razuvious;
@@ -19,7 +19,6 @@
#define DEF_NAXXRAMAS_H
#include "CreatureAIImpl.h"
#include "SpellScript.h"
#define DataHeader "NAX"
@@ -15,7 +15,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "CreatureScript.h"
#include "InstanceMapScript.h"
#include "Player.h"
#include "ScriptedCreature.h"
@@ -18,8 +18,10 @@
#include "AchievementCriteriaScript.h"
#include "CreatureScript.h"
#include "MapReference.h"
#include "ScriptedCreature.h"
#include "nexus.h"
#include "Player.h"
enum eEnums
{
@@ -17,9 +17,13 @@
#include "AchievementCriteriaScript.h"
#include "CreatureScript.h"
#include "GameEventMgr.h"
#include "GridNotifiers.h"
#include "ScriptedCreature.h"
#include "SpellScriptLoader.h"
#include "nexus.h"
#include "SpellInfo.h"
#include "SpellScript.h"
enum Spells
{
@@ -18,6 +18,7 @@
#include "CreatureScript.h"
#include "ScriptedCreature.h"
#include "nexus.h"
#include "PassiveAI.h"
enum eEnums
{
@@ -19,6 +19,7 @@
#include "InstanceMapScript.h"
#include "ScriptedCreature.h"
#include "nexus.h"
#include "Player.h"
DoorData const doorData[] =
{
@@ -19,12 +19,6 @@
#define DEF_NEXUS_H
#include "CreatureAIImpl.h"
#include "GameEventMgr.h"
#include "GridNotifiers.h"
#include "PassiveAI.h"
#include "Player.h"
#include "SpellAuras.h"
#include "SpellScript.h"
#define DataHeader "NEX"
@@ -18,6 +18,7 @@
#include "CreatureScript.h"
#include "ScriptedCreature.h"
#include "oculus.h"
#include "SpellAuras.h"
enum Spells
{
@@ -19,8 +19,6 @@
#define DEF_OCULUS_H
#include "CreatureAIImpl.h"
#include "SpellAuraEffects.h"
#include "SpellAuras.h"
#include "SpellScript.h"
#define DataHeader "OC"
@@ -16,11 +16,11 @@
*/
#include "AchievementCriteriaScript.h"
#include "CellImpl.h"
#include "CombatAI.h"
#include "CreatureScript.h"
#include "GameObjectScript.h"
#include "GridNotifiers.h"
#include "Opcodes.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
@@ -33,6 +33,12 @@
#include "Vehicle.h"
#include "ulduar.h"
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
// however, for some reasons removing it would cause a damn linking issue
// there is probably some underlying problem with imports which should properly addressed
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
#include "GridNotifiersImpl.h"
enum LeviathanSpells
{
// Leviathan basic
@@ -19,7 +19,6 @@
#include "CreatureAI.h"
#include "CreatureScript.h"
#include "Object.h"
#include "Opcodes.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
@@ -19,7 +19,6 @@
#include "AreaTriggerScript.h"
#include "CombatAI.h"
#include "CreatureScript.h"
#include "GameObjectScript.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
@@ -18,11 +18,8 @@
#ifndef DEF_ULDUAR_H
#define DEF_ULDUAR_H
#include "CellImpl.h"
#include "Chat.h"
#include "CreatureAIImpl.h"
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#define DataHeader "UU"
@@ -15,7 +15,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "CreatureScript.h"
#include "InstanceMapScript.h"
#include "Player.h"
#include "ScriptedCreature.h"
@@ -19,6 +19,7 @@
#include "CreatureScript.h"
#include "GameObjectAI.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "Vehicle.h"
@@ -19,7 +19,6 @@
#define DEF_UTGARDE_KEEP_H
#include "CreatureAIImpl.h"
#include "SpellScript.h"
#define UtgardeKeepScriptName "instance_utgarde_keep"
@@ -19,7 +19,6 @@
#define DEF_PINNACLE_H
#include "CreatureAIImpl.h"
#include "Opcodes.h"
#define DataHeader "UP"
@@ -17,7 +17,6 @@
#include "Battlefield.h"
#include "BattlefieldMgr.h"
#include "CreatureScript.h"
#include "GameTime.h"
#include "InstanceMapScript.h"
#include "Player.h"