From 241ac491efb48fa150057db47d4fb7dc9cafeb69 Mon Sep 17 00:00:00 2001 From: Rushi <44952533+Skyliegirl33@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:48:32 +0200 Subject: [PATCH] Avoid copying modifiers to applyStatusEffect --- src/world/Action/Action.cpp | 4 ++-- src/world/Action/ActionResult.cpp | 4 ++-- src/world/Action/ActionResult.h | 4 ++-- src/world/Action/ActionResultBuilder.cpp | 4 ++-- src/world/Action/ActionResultBuilder.h | 4 ++-- src/world/StatusEffect/StatusEffect.cpp | 4 ++-- src/world/StatusEffect/StatusEffect.h | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/world/Action/Action.cpp b/src/world/Action/Action.cpp index 8afe5809..28e2267c 100644 --- a/src/world/Action/Action.cpp +++ b/src/world/Action/Action.cpp @@ -624,7 +624,7 @@ void Action::Action::handleStatusEffects() { for( auto& status : m_lutEntry.statuses.caster ) { - pActionBuilder->applyStatusEffectSelf( status.id, status.duration, 0, status.modifiers, status.flag, true ); + pActionBuilder->applyStatusEffectSelf( status.id, status.duration, 0, std::move( status.modifiers ), status.flag, true ); } } @@ -635,7 +635,7 @@ void Action::Action::handleStatusEffects() { for( auto& status : m_lutEntry.statuses.target ) { - pActionBuilder->applyStatusEffect( actor, status.id, status.duration, 0, status.modifiers, status.flag, true ); + pActionBuilder->applyStatusEffect( actor, status.id, status.duration, 0, std::move( status.modifiers ), status.flag, true ); } if( actor->getStatusEffectMap().size() > 0 ) diff --git a/src/world/Action/ActionResult.cpp b/src/world/Action/ActionResult.cpp index 6dcb3891..13b8d99e 100644 --- a/src/world/Action/ActionResult.cpp +++ b/src/world/Action/ActionResult.cpp @@ -78,7 +78,7 @@ void ActionResult::applyStatusEffect( uint32_t id, int32_t duration, Entity::Cha } void ActionResult::applyStatusEffect( uint32_t id, int32_t duration, Entity::Chara& source, uint8_t param, - std::vector< StatusModifier > modifiers, uint32_t flag, bool shouldOverride ) + const std::vector< StatusModifier >& modifiers, uint32_t flag, bool shouldOverride ) { m_result.Value = static_cast< int16_t >( id ); m_result.Arg2 = param; @@ -101,7 +101,7 @@ void ActionResult::applyStatusEffectSelf( uint32_t id, int32_t duration, uint8_t m_pStatus->setParam( param ); } -void ActionResult::applyStatusEffectSelf( uint32_t id, int32_t duration, uint8_t param, std::vector< World::Action::StatusModifier > modifiers, +void ActionResult::applyStatusEffectSelf( uint32_t id, int32_t duration, uint8_t param, const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, bool shouldOverride ) { m_result.Value = static_cast< int16_t >( id ); diff --git a/src/world/Action/ActionResult.h b/src/world/Action/ActionResult.h index 0e7421eb..3a10b4ab 100644 --- a/src/world/Action/ActionResult.h +++ b/src/world/Action/ActionResult.h @@ -22,9 +22,9 @@ namespace Sapphire::World::Action void comboSucceed(); void applyStatusEffect( uint32_t id, int32_t duration, Entity::Chara& source, uint8_t param, bool shouldOverride ); void applyStatusEffect( uint32_t id, int32_t duration, Entity::Chara& source, uint8_t param, - std::vector< World::Action::StatusModifier > modifiers, uint32_t flag, bool shouldOverride ); + const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, bool shouldOverride ); void applyStatusEffectSelf( uint32_t id, int32_t duration, uint8_t param, bool shouldOverride ); - void applyStatusEffectSelf( uint32_t id, int32_t duration, uint8_t param, std::vector< World::Action::StatusModifier > modifiers, + void applyStatusEffectSelf( uint32_t id, int32_t duration, uint8_t param, const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, bool shouldOverride ); void mount( uint16_t mountId ); diff --git a/src/world/Action/ActionResultBuilder.cpp b/src/world/Action/ActionResultBuilder.cpp index 6b58f2d0..cf073683 100644 --- a/src/world/Action/ActionResultBuilder.cpp +++ b/src/world/Action/ActionResultBuilder.cpp @@ -94,7 +94,7 @@ void ActionResultBuilder::applyStatusEffect( Entity::CharaPtr& target, uint16_t } void ActionResultBuilder::applyStatusEffect( Entity::CharaPtr& target, uint16_t statusId, uint32_t duration, uint8_t param, - std::vector< World::Action::StatusModifier > modifiers, uint32_t flag, bool shouldOverride ) + const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, bool shouldOverride ) { ActionResultPtr nextResult = make_ActionResult( target ); nextResult->applyStatusEffect( statusId, duration, *m_sourceChara, param, modifiers, flag, shouldOverride ); @@ -108,7 +108,7 @@ void ActionResultBuilder::applyStatusEffectSelf( uint16_t statusId, uint32_t dur addResultToActor( m_sourceChara, nextResult ); } -void ActionResultBuilder::applyStatusEffectSelf( uint16_t statusId, uint32_t duration, uint8_t param, std::vector< World::Action::StatusModifier > modifiers, +void ActionResultBuilder::applyStatusEffectSelf( uint16_t statusId, uint32_t duration, uint8_t param, const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, bool shouldOverride ) { ActionResultPtr nextResult = make_ActionResult( m_sourceChara ); diff --git a/src/world/Action/ActionResultBuilder.h b/src/world/Action/ActionResultBuilder.h index 672f509b..e2e79747 100644 --- a/src/world/Action/ActionResultBuilder.h +++ b/src/world/Action/ActionResultBuilder.h @@ -28,9 +28,9 @@ namespace Sapphire::World::Action void applyStatusEffect( Entity::CharaPtr& target, uint16_t statusId, uint32_t duration, uint8_t param, bool shouldOverride = false ); void applyStatusEffect( Entity::CharaPtr& target, uint16_t statusId, uint32_t duration, uint8_t param, - std::vector< World::Action::StatusModifier > modifiers, uint32_t flag = 0, bool shouldOverride = false ); + const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag = 0, bool shouldOverride = false ); void applyStatusEffectSelf( uint16_t statusId, uint32_t duration, uint8_t param, bool shouldOverride = false ); - void applyStatusEffectSelf( uint16_t statusId, uint32_t duration, uint8_t param, std::vector< World::Action::StatusModifier > modifiers, + void applyStatusEffectSelf( uint16_t statusId, uint32_t duration, uint8_t param, const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag = 0, bool shouldOverride = false ); void mount( Entity::CharaPtr& target, uint16_t mountId ); diff --git a/src/world/StatusEffect/StatusEffect.cpp b/src/world/StatusEffect/StatusEffect.cpp index bcbee38f..a9f4171c 100644 --- a/src/world/StatusEffect/StatusEffect.cpp +++ b/src/world/StatusEffect/StatusEffect.cpp @@ -22,11 +22,11 @@ using namespace Sapphire::Network::Packets; //using namespace Sapphire::Network::Packets::WorldPackets::Server; Sapphire::StatusEffect::StatusEffect::StatusEffect( uint32_t id, Entity::CharaPtr sourceActor, Entity::CharaPtr targetActor, - uint32_t duration,std::vector< World::Action::StatusModifier >& modifiers, + uint32_t duration, const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, uint32_t tickRate ) : StatusEffect( id, sourceActor, targetActor, duration, tickRate ) { - m_statusModifiers = std::move( modifiers ); + m_statusModifiers = modifiers; m_flag = flag; } diff --git a/src/world/StatusEffect/StatusEffect.h b/src/world/StatusEffect/StatusEffect.h index 2bf6865b..a9a3a234 100644 --- a/src/world/StatusEffect/StatusEffect.h +++ b/src/world/StatusEffect/StatusEffect.h @@ -12,7 +12,7 @@ class StatusEffect { public: StatusEffect( uint32_t id, Entity::CharaPtr sourceActor, Entity::CharaPtr targetActor, - uint32_t duration, std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, uint32_t tickRate ); + uint32_t duration, const std::vector< World::Action::StatusModifier >& modifiers, uint32_t flag, uint32_t tickRate ); StatusEffect( uint32_t id, Entity::CharaPtr sourceActor, Entity::CharaPtr targetActor, uint32_t duration, uint32_t tickRate );