From 6cbf94d9c20e4b38fd478edf69c679802d0d1b60 Mon Sep 17 00:00:00 2001 From: Lucy <44952533+Skyliegirl33@users.noreply.github.com> Date: Wed, 8 Mar 2023 00:34:36 +0100 Subject: [PATCH] Add method to simplify applying statuses to self --- src/world/Action/Action.cpp | 13 +++++++++---- src/world/Action/Action.h | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/world/Action/Action.cpp b/src/world/Action/Action.cpp index ae213bb7..1b4faff6 100644 --- a/src/world/Action/Action.cpp +++ b/src/world/Action/Action.cpp @@ -501,6 +501,14 @@ std::pair< uint32_t, Common::ActionHitSeverityType > Action::Action::calcHealing return Math::CalcStats::calcActionHealing( *m_pSource, potency, wepDmg ); } +void Action::Action::applyStatusEffectSelf( uint16_t statusId, uint8_t param ) +{ + if( m_hitActors.size() > 0 ) + getEffectbuilder()->applyStatusEffect( m_hitActors[ 0 ], statusId, param, true ); + else + getEffectbuilder()->applyStatusEffect( m_pSource, statusId, param ); +} + void Action::Action::handleAction() { snapshotAffectedActors( m_hitActors ); @@ -613,10 +621,7 @@ void Action::Action::handleStatusEffects() { for( auto& status : m_lutEntry.statuses.caster ) { - if( m_hitActors.size() > 0 ) - getEffectbuilder()->applyStatusEffect( m_hitActors[ 0 ], status.id, 0, true ); - else - getEffectbuilder()->applyStatusEffect( m_pSource, status.id, 0 ); + applyStatusEffectSelf( status.id ); m_pSource->addStatusEffectByIdIfNotExist( status.id, status.duration, *m_pSource, status.modifiers ); } } diff --git a/src/world/Action/Action.h b/src/world/Action/Action.h index 77a139dc..f6f18304 100644 --- a/src/world/Action/Action.h +++ b/src/world/Action/Action.h @@ -105,6 +105,8 @@ namespace Sapphire::World::Action EffectBuilderPtr getEffectbuilder(); + void applyStatusEffectSelf( uint16_t statusId, uint8_t param = 0 ); + void handleAction(); void handleStatusEffects();