From 1cefb03accc941b0b9778d4ef7c850d902012387 Mon Sep 17 00:00:00 2001 From: collett Date: Sat, 21 Mar 2020 18:28:59 +0900 Subject: [PATCH] match retail packet. --- src/world/Action/Action.cpp | 2 +- src/world/StatusEffect/StatusEffect.cpp | 4 ++-- src/world/StatusEffect/StatusEffect.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/world/Action/Action.cpp b/src/world/Action/Action.cpp index 9567055c..8d2ee2f6 100644 --- a/src/world/Action/Action.cpp +++ b/src/world/Action/Action.cpp @@ -511,7 +511,7 @@ void Action::Action::buildEffects() bool shouldHitThisTarget = true; for( const auto& statusIt : getSourceChara()->getStatusEffectMap() ) { - bool result = statusIt.second->onActionHitTarget( this, actor.get(), victimCounter ); + bool result = statusIt.second->onActionHitTarget( this, actor, victimCounter ); if( !result ) shouldHitThisTarget = false; } diff --git a/src/world/StatusEffect/StatusEffect.cpp b/src/world/StatusEffect/StatusEffect.cpp index ec50620a..5739859c 100644 --- a/src/world/StatusEffect/StatusEffect.cpp +++ b/src/world/StatusEffect/StatusEffect.cpp @@ -335,7 +335,7 @@ void Sapphire::StatusEffect::StatusEffect::refresh( Sapphire::World::Action::Sta refresh(); } -bool Sapphire::StatusEffect::StatusEffect::onActionHitTarget( World::Action::Action* action, Entity::Chara* victim, int victimCounter ) +bool Sapphire::StatusEffect::StatusEffect::onActionHitTarget( World::Action::Action* action, Entity::CharaPtr victim, int victimCounter ) { switch( static_cast< Common::StatusEffectType >( m_effectEntry.effectType ) ) { @@ -351,7 +351,7 @@ bool Sapphire::StatusEffect::StatusEffect::onActionHitTarget( World::Action::Act break; } float restored = 0.01f * m_targetActor->getMaxMp() * m_effectEntry.effectValue1; - action->getEffectbuilder()->restoreMP( m_targetActor, m_targetActor, static_cast< uint32_t >( restored ) ); + action->getEffectbuilder()->restoreMP( victim, m_targetActor, static_cast< uint32_t >( restored ), Sapphire::Common::ActionEffectResultFlag::EffectOnSource ); } break; } diff --git a/src/world/StatusEffect/StatusEffect.h b/src/world/StatusEffect/StatusEffect.h index 72bf82d0..c8af5f5b 100644 --- a/src/world/StatusEffect/StatusEffect.h +++ b/src/world/StatusEffect/StatusEffect.h @@ -21,7 +21,7 @@ public: void onBeforeActionStart( World::Action::Action* action ); - bool onActionHitTarget( World::Action::Action* action, Entity::Chara* victim, int victimCounter ); + bool onActionHitTarget( World::Action::Action* action, Entity::CharaPtr victim, int victimCounter ); void applyStatus();