From abf71f5dc05881f30b20d74091a0b3b25466c5d7 Mon Sep 17 00:00:00 2001 From: collett Date: Wed, 15 Jan 2020 00:42:31 +0900 Subject: [PATCH] clean up --- src/world/Action/Action.cpp | 4 ++-- src/world/Action/EffectBuilder.h | 4 ++-- src/world/Action/EffectResult.cpp | 6 +++--- src/world/Action/EffectResult.h | 2 +- src/world/Actor/Chara.cpp | 4 ++-- src/world/Math/CalcStats.cpp | 2 +- src/world/StatusEffect/StatusEffect.cpp | 2 -- 7 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/world/Action/Action.cpp b/src/world/Action/Action.cpp index 530af0cc..32d52a85 100644 --- a/src/world/Action/Action.cpp +++ b/src/world/Action/Action.cpp @@ -541,14 +541,14 @@ void Action::Action::buildEffects() if( m_lutEntry.targetStatus != 0 ) { if( !isComboAction() || isCorrectCombo() ) - m_effectBuilder->applyStatusEffect( actor, m_pSource, m_lutEntry.targetStatus, m_lutEntry.targetStatusDuration, m_lutEntry.targetStatusParam, 500 ); + m_effectBuilder->applyStatusEffect( actor, m_pSource, m_lutEntry.targetStatus, m_lutEntry.targetStatusDuration, m_lutEntry.targetStatusParam ); } } if( m_lutEntry.selfStatus != 0 ) { if( !isComboAction() || isCorrectCombo() ) - m_effectBuilder->applyStatusEffect( m_pSource, m_pSource, m_lutEntry.selfStatus, m_lutEntry.selfStatusDuration, m_lutEntry.selfStatusParam, 500 ); + m_effectBuilder->applyStatusEffect( m_pSource, m_pSource, m_lutEntry.selfStatus, m_lutEntry.selfStatusDuration, m_lutEntry.selfStatusParam ); } m_effectBuilder->buildAndSendPackets( getAnimationLock() ); diff --git a/src/world/Action/EffectBuilder.h b/src/world/Action/EffectBuilder.h index aa0e0c41..a545a975 100644 --- a/src/world/Action/EffectBuilder.h +++ b/src/world/Action/EffectBuilder.h @@ -26,8 +26,8 @@ namespace Sapphire::World::Action void comboSucceed( Entity::CharaPtr& target ); - void applyStatusEffect( Entity::CharaPtr& target, Entity::CharaPtr& source, uint16_t statusId, uint32_t duration, uint8_t param, uint64_t resultDelayMs = 600 ); - void applyStatusEffect( Entity::CharaPtr& target, Entity::CharaPtr& source, StatusEffect::StatusEffectPtr pStatusEffect, uint64_t resultDelayMs = 600 ); + void applyStatusEffect( Entity::CharaPtr& target, Entity::CharaPtr& source, uint16_t statusId, uint32_t duration, uint8_t param, uint64_t resultDelayMs = 500 ); + void applyStatusEffect( Entity::CharaPtr& target, Entity::CharaPtr& source, StatusEffect::StatusEffectPtr pStatusEffect, uint64_t resultDelayMs = 500 ); void statusNoEffect( Entity::CharaPtr& target, uint16_t statusId ); diff --git a/src/world/Action/EffectResult.cpp b/src/world/Action/EffectResult.cpp index 27b44a5f..78134a56 100644 --- a/src/world/Action/EffectResult.cpp +++ b/src/world/Action/EffectResult.cpp @@ -14,7 +14,7 @@ EffectResult::EffectResult( Entity::CharaPtr target, Entity::CharaPtr source, ui m_delayMs( runAfter ), m_type( Common::ActionEffectType::Nothing ), m_value( 0 ), - m_value2( 0 ), + m_statusDuration( 0 ), m_param0( 0 ), m_param1( 0 ), m_param2( 0 ), @@ -87,7 +87,7 @@ void EffectResult::comboSucceed() void EffectResult::applyStatusEffect( uint16_t statusId, uint32_t duration, uint8_t param ) { m_value = statusId; - m_value2 = duration; + m_statusDuration = duration; m_param2 = param; m_type = Common::ActionEffectType::ApplyStatusEffect; @@ -168,7 +168,7 @@ void EffectResult::execute() m_target->addStatusEffect( m_pPreBuiltStatusEffect ); } else - m_target->addStatusEffectById( m_value, m_value2, *m_source, m_param2, lastTickOverride ); + m_target->addStatusEffectById( m_value, m_statusDuration, *m_source, m_param2, lastTickOverride ); break; } diff --git a/src/world/Action/EffectResult.h b/src/world/Action/EffectResult.h index e1ee41ed..2f5c886b 100644 --- a/src/world/Action/EffectResult.h +++ b/src/world/Action/EffectResult.h @@ -50,7 +50,7 @@ namespace Sapphire::World::Action uint8_t m_param2; uint32_t m_value; - uint32_t m_value2; + uint32_t m_statusDuration; Common::ActionEffectResultFlag m_flag; StatusEffect::StatusEffectPtr m_pPreBuiltStatusEffect; diff --git a/src/world/Actor/Chara.cpp b/src/world/Actor/Chara.cpp index f3cbd2e7..acb20017 100644 --- a/src/world/Actor/Chara.cpp +++ b/src/world/Actor/Chara.cpp @@ -542,7 +542,7 @@ void Sapphire::Entity::Chara::addStatusEffectById( uint32_t id, int32_t duration { auto effect = StatusEffect::make_StatusEffect( id, source.getAsChara(), getAsChara(), duration, 3000, m_pFw ); effect->setParam( param ); - effect->setLastTick( lastTickOverride ); + effect->setLastTick( lastTickOverride == 0 ? Util::getTimeMs() : lastTickOverride ); addStatusEffect( effect ); } @@ -553,7 +553,7 @@ void Sapphire::Entity::Chara::addStatusEffectByIdIfNotExist( uint32_t id, int32_ auto effect = StatusEffect::make_StatusEffect( id, source.getAsChara(), getAsChara(), duration, 3000, m_pFw ); effect->setParam( param ); - effect->setLastTick( lastTickOverride ); + effect->setLastTick( lastTickOverride == 0 ? Util::getTimeMs() : lastTickOverride ); addStatusEffect( effect ); } diff --git a/src/world/Math/CalcStats.cpp b/src/world/Math/CalcStats.cpp index 1a87ce08..0c80098d 100644 --- a/src/world/Math/CalcStats.cpp +++ b/src/world/Math/CalcStats.cpp @@ -555,7 +555,7 @@ std::pair< float, Sapphire::Common::ActionHitSeverityType > CalcStats::calcAutoA float CalcStats::calcDamageBaseOnPotency( const Sapphire::Entity::Chara& chara, uint32_t ptc, float wepDmg ) { // D = ⌊ f(pot) × f(wd) × f(ap) × f(det) × f(tnc) × traits ⌋ - // × f(chr) ⌋ × f(dhr) ⌋ × rand[ 0.95, 1.05 ] ⌋ buff_1 ⌋ × buff_1 ⌋ × buff... ⌋ + // × f(chr) ⌋ × f(dhr) ⌋ × rand[ 0.95, 1.05 ] ⌋ buff_1 ⌋ × buff_1 ⌋ × buff... ⌋ auto pot = potency( static_cast< uint16_t >( ptc ) ); auto wd = weaponDamage( chara, wepDmg ); diff --git a/src/world/StatusEffect/StatusEffect.cpp b/src/world/StatusEffect/StatusEffect.cpp index 3392c331..5b48d6b4 100644 --- a/src/world/StatusEffect/StatusEffect.cpp +++ b/src/world/StatusEffect/StatusEffect.cpp @@ -135,8 +135,6 @@ uint16_t Sapphire::StatusEffect::StatusEffect::getParam() const void Sapphire::StatusEffect::StatusEffect::applyStatus() { m_startTime = Util::getTimeMs(); - if( m_lastTick == 0 ) - m_lastTick = m_startTime; auto pScriptMgr = m_pFw->get< Scripting::ScriptMgr >(); pScriptMgr->onStatusReceive( m_targetActor, m_id );