diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 90672011..17c6d72b 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -579,7 +579,7 @@ void Sapphire::Entity::BNpc::deaggro( const Sapphire::Entity::CharaPtr& pChara ) if( getTriggerOwnerId() == pChara->getId() ) { auto pScript = std::make_shared< Scripting::ScriptMgr >(); - pScript->onTriggerOwnerDeaggro( *pChara->getAsPlayer(), getLayoutId(), getId() ); + pScript->onTriggerOwnerDeaggro( *pChara->getAsPlayer(), *getAsBNpc() ); } } diff --git a/src/world/Script/NativeScriptApi.cpp b/src/world/Script/NativeScriptApi.cpp index b6c2b136..181b3aa9 100644 --- a/src/world/Script/NativeScriptApi.cpp +++ b/src/world/Script/NativeScriptApi.cpp @@ -150,7 +150,7 @@ namespace Sapphire::ScriptAPI { } - void QuestScript::onTriggerOwnerDeaggro( World::Quest& quest, uint32_t layoutId, uint32_t entityId, Sapphire::Entity::Player& player ) + void QuestScript::onTriggerOwnerDeaggro( World::Quest& quest, Sapphire::Entity::BNpc& bnpc, Sapphire::Entity::Player& player ) { } diff --git a/src/world/Script/NativeScriptApi.h b/src/world/Script/NativeScriptApi.h index 07d2ba99..742cfb47 100644 --- a/src/world/Script/NativeScriptApi.h +++ b/src/world/Script/NativeScriptApi.h @@ -220,7 +220,7 @@ namespace Sapphire::ScriptAPI virtual void onBNpcKill( World::Quest& quest, uint16_t nameId, uint32_t entityId, Sapphire::Entity::Player& player ); - virtual void onTriggerOwnerDeaggro( World::Quest& quest, uint32_t layoutId, uint32_t entityId, Sapphire::Entity::Player& player ); + virtual void onTriggerOwnerDeaggro( World::Quest& quest, Sapphire::Entity::BNpc& bnpc, Sapphire::Entity::Player& player ); virtual void onEmote( World::Quest& quest, uint64_t actorId, uint32_t emoteId, Sapphire::Entity::Player& player ); diff --git a/src/world/Script/ScriptMgr.cpp b/src/world/Script/ScriptMgr.cpp index d238a306..8814952e 100644 --- a/src/world/Script/ScriptMgr.cpp +++ b/src/world/Script/ScriptMgr.cpp @@ -9,6 +9,7 @@ #include "Territory/QuestBattle.h" #include "Actor/Player.h" #include "Actor/EventObject.h" +#include "Actor/BNpc.h" #include "WorldServer.h" #include "Event/EventHandler.h" #include "Action/Action.h" @@ -410,7 +411,7 @@ bool Sapphire::Scripting::ScriptMgr::onEventItem( Entity::Player& player, uint32 return false; } -bool Sapphire::Scripting::ScriptMgr::onTriggerOwnerDeaggro( Entity::Player& player, uint32_t layoutId, uint32_t entityId ) +bool Sapphire::Scripting::ScriptMgr::onTriggerOwnerDeaggro( Entity::Player& player, Entity::BNpc& bnpc ) { auto& eventMgr = Common::Service< World::Manager::EventMgr >::ref(); @@ -428,11 +429,11 @@ bool Sapphire::Scripting::ScriptMgr::onTriggerOwnerDeaggro( Entity::Player& play { std::string objName = eventMgr.getEventName( questId ); - PlayerMgr::sendDebug( player, "Calling: {0}.onTriggerOwnerDeaggro layoutId#{1}", objName, layoutId ); + PlayerMgr::sendDebug( player, "Calling: {0}.onTriggerOwnerDeaggro layoutId#{1}", objName, bnpc.getLayoutId() ); World::Quest preQ = quest; - script->onTriggerOwnerDeaggro( quest, layoutId, entityId, player ); + script->onTriggerOwnerDeaggro( quest, bnpc, player ); if( quest != preQ ) player.updateQuest( quest ); } diff --git a/src/world/Script/ScriptMgr.h b/src/world/Script/ScriptMgr.h index 5d6f281c..49d0213a 100644 --- a/src/world/Script/ScriptMgr.h +++ b/src/world/Script/ScriptMgr.h @@ -68,7 +68,7 @@ namespace Sapphire::Scripting bool onBNpcKill( Entity::Player& player, uint16_t nameId, uint32_t layoutId ); - bool onTriggerOwnerDeaggro( Entity::Player& player, uint32_t layoutId, uint32_t entityId ); + bool onTriggerOwnerDeaggro( Entity::Player& player, Entity::BNpc& bnpc ); bool onEObjHit( Entity::Player& player, uint64_t actorId, uint32_t actionId );