From f19aab2feebf3f15b4b5c53d847739be01524534 Mon Sep 17 00:00:00 2001 From: luis Date: Thu, 19 Mar 2026 22:21:41 -0300 Subject: [PATCH] fix build --- src/server/game/CMakeLists.txt | 1 + src/server/game/Entities/Object/Object.cpp | 2 +- src/server/game/Entities/Object/Object.h | 6 ++---- src/server/game/Entities/Player/Player.cpp | 17 +---------------- src/server/game/Entities/Unit/Unit.cpp | 16 +++------------- src/server/game/Guilds/Guild.cpp | 7 +------ src/server/game/Maps/Map.h | 2 ++ src/server/game/Spells/Spell.cpp | 2 +- src/server/game/Spells/SpellEffects.cpp | 12 ------------ 9 files changed, 12 insertions(+), 53 deletions(-) diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index eb2c0579d..06a311201 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -80,6 +80,7 @@ endif() if(ELUNA) # Add Eluna source files to game library target_include_directories(game PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/LuaEngine") + target_include_directories(game PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/LuaEngine/methods/TrinityCore") target_compile_definitions(game PRIVATE -DELUNA -DELUNA_TRINITY -DELUNA_EXPANSION=9) # Link lualib diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index f43398135..245c3af5a 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1185,7 +1185,7 @@ void WorldObject::SetMap(Map* map) #ifdef ELUNA if (Eluna* e = map->GetEluna()) if (!elunaEvents) - elunaEvents = new ElunaEventProcessor(e, this); + elunaEvents = new ElunaEventProcessor(e->eventMgr.get(), this); #endif if (IsStoredInWorldObjectGridContainer()) m_currMap->AddWorldObject(this); diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index f4975ef4d..b76a6c4a7 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -64,7 +64,7 @@ class WorldObject; class ZoneScript; #ifdef ELUNA class Eluna; -class ElunaEventProcessor; +#include "ElunaEventMgr.h" #include "LuaValue.h" #endif struct FactionTemplateEntry; @@ -580,12 +580,10 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation #ifdef ELUNA Eluna* GetEluna() const { return _eluna; } + ElunaEventProcessor* GetElunaEvents([[maybe_unused]] int32 mapId) const { return elunaEvents; } ElunaEventProcessor* elunaEvents; LuaVal lua_data = LuaVal({}); - private: Eluna* _eluna; -#else - private: #endif // Event handler diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1e46bbc28..d21ade1da 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15124,11 +15124,6 @@ void Player::CompleteQuest(uint32 quest_id) { if (qInfo->HasFlag(QUEST_FLAGS_TRACKING_EVENT)) RewardQuest(qInfo, LootItemType::Item, 0, this, false); - -#ifdef ELUNA - if (sWorld->GetEluna()) - sWorld->GetEluna()->OnQuestComplete(this, quest_id); -#endif } } @@ -16868,13 +16863,8 @@ void Player::KilledMonster(Creature const* creature) if (cInfo->KillCredit[i]) KilledMonsterCredit(cInfo->KillCredit[i], ObjectGuid::Empty); - for (int32 label : creature->GetLabels()) + for (int32 label : creature->GetLabels()) UpdateQuestObjectiveProgress(QUEST_OBJECTIVE_KILL_WITH_LABEL, label, 1, creature->GetGUID()); - -#ifdef ELUNA - if (sWorld->GetEluna()) - sWorld->GetEluna()->OnKilledMonster(this, cInfo->Entry, creature->GetGUID()); -#endif } void Player::KilledMonsterCredit(uint32 entry, ObjectGuid guid /*= ObjectGuid::Empty*/) @@ -22569,11 +22559,6 @@ void Player::ResetInstances(InstanceResetMethod method) default: break; } - -#ifdef ELUNA - if (sWorld->GetEluna()) - sWorld->GetEluna()->OnQuestAccept(this, quest); -#endif } } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 0330a323d..5969d7be6 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -95,6 +95,9 @@ #include "WorldPacket.h" #include "WorldSession.h" #include "../../modules/Playerbot/Core/PlayerBotHooks.h" +#ifdef ELUNA +#include "ElunaEventMgr.h" +#endif #include #include #include @@ -849,13 +852,6 @@ bool Unit::HasBreakableByDamageCrowdControlAura(Unit const* excludeCasterChannel // Hook for OnDamage Event sScriptMgr->OnDamage(attacker, victim, tmpDamage); -#ifdef ELUNA - if (attacker && attacker->GetMap() && attacker->GetMap()->GetEluna()) - attacker->GetMap()->GetEluna()->OnDamageDealt(attacker, victim, tmpDamage, damagetype); - if (victim && victim->GetMap() && victim->GetMap()->GetEluna()) - victim->GetMap()->GetEluna()->OnDamageReceived(victim, attacker, tmpDamage, damagetype); -#endif - // PLAYERBOT HOOK: Notify bots of damage event if (Playerbot::PlayerBotHooks::OnDamageDealt) Playerbot::PlayerBotHooks::OnDamageDealt(attacker, victim, tmpDamage, damagetype, spellProto); @@ -12338,12 +12334,6 @@ Aura* Unit::AddAura(SpellInfo const* spellInfo, uint32 effMask, Unit* target) { aura->ApplyForTargets(); -#ifdef ELUNA - if (target && target->GetTypeId() == TYPEID_PLAYER && target->ToPlayer()->GetSession()) - if (target->GetMap() && target->GetMap()->GetEluna()) - target->GetMap()->GetEluna()->OnAuraApplied(target, caster, spellInfo); -#endif - return aura; } return nullptr; diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index eaf834ac5..cad74434c 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -3004,12 +3004,7 @@ bool Guild::DeleteMember(CharacterDatabaseTransaction trans, ObjectGuid guid, bo #ifdef ELUNA if (sWorld->GetEluna()) - { - if (Player* player = ObjectAccessor::FindConnectedPlayer(guid)) - sWorld->GetEluna()->OnRemoveMember(this, player, isDisbanding); - else - sWorld->GetEluna()->OnRemoveMember(this, guid, isDisbanding); - } + sWorld->GetEluna()->OnRemoveMember(this, guid, isDisbanding); #endif m_members.erase(guid); diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 1ccf6d9aa..fb4f7c08b 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -80,6 +80,7 @@ struct UpdateBossStateSaveDataEvent; class Transport; #ifdef ELUNA class Eluna; +#include "LuaEngine/LuaValue.h" #endif enum Difficulty : int16; enum WeatherState : uint32; @@ -597,6 +598,7 @@ class TC_GAME_API Map : public GridRefManager #ifdef ELUNA Eluna* GetEluna() const { return _eluna; } + LuaVal lua_data = LuaVal({}); private: Eluna* _eluna; #else diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 6c515431b..ec5de9af9 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3698,7 +3698,7 @@ void Spell::_cast(bool skipCheck) #ifdef ELUNA if (playerCaster->GetMap() && playerCaster->GetMap()->GetEluna()) - playerCaster->GetMap()->GetEluna()->OnCastSpell(playerCaster, this); + playerCaster->GetMap()->GetEluna()->OnSpellCast(playerCaster, this, skipCheck); #endif // As of 3.0.2 pets begin attacking their owner's target immediately diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 32decd5f9..b028ceec4 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -602,18 +602,6 @@ void Spell::EffectDummy() // normal DB scripted effect TC_LOG_DEBUG("spells", "Spell ScriptStart spellid {} in EffectDummy({})", m_spellInfo->Id, effectInfo->EffectIndex); m_caster->GetMap()->ScriptsStart(sSpellScripts, uint32(m_spellInfo->Id | (effectInfo->EffectIndex << 24)), m_caster, unitTarget); - -#ifdef ELUNA - if (m_caster->GetMap() && m_caster->GetMap()->GetEluna()) - { - if (unitTarget) - m_caster->GetMap()->GetEluna()->OnDummyEffect(m_caster, m_spellInfo->Id, effectInfo->EffectIndex, unitTarget); - else if (gameObjTarget) - m_caster->GetMap()->GetEluna()->OnDummyEffect(m_caster, m_spellInfo->Id, effectInfo->EffectIndex, gameObjTarget); - else if (itemTarget) - m_caster->GetMap()->GetEluna()->OnDummyEffect(m_caster, m_spellInfo->Id, effectInfo->EffectIndex, itemTarget); - } -#endif } void Spell::EffectTriggerSpell()