1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-29 20:57:45 +00:00
This commit is contained in:
collett 2020-01-09 21:10:49 +09:00
parent a5884fd604
commit 384404bb33
5 changed files with 6 additions and 9 deletions

View file

@ -496,7 +496,7 @@ void Action::Action::buildEffects()
{ {
auto dmg = calcDamage( isCorrectCombo() ? m_lutEntry.damageComboPotency : m_lutEntry.damagePotency ); auto dmg = calcDamage( isCorrectCombo() ? m_lutEntry.damageComboPotency : m_lutEntry.damagePotency );
dmg.first = Math::CalcStats::applyDamageReceiveMultiplier( *actor, dmg.first, m_actionData->attackType ); dmg.first = Math::CalcStats::applyDamageReceiveMultiplier( *actor, dmg.first, m_actionData->attackType );
m_effectBuilder->damage( actor, actor, dmg.first, m_actionData->attackType, dmg.second ); m_effectBuilder->damage( actor, actor, dmg.first, dmg.second );
if( dmg.first > 0 ) if( dmg.first > 0 )
actor->onActionHostile( m_pSource ); actor->onActionHostile( m_pSource );

View file

@ -63,10 +63,10 @@ void EffectBuilder::restoreMP( Entity::CharaPtr& target, Entity::CharaPtr& resto
moveToResultList( target, nextResult ); moveToResultList( target, nextResult );
} }
void EffectBuilder::damage( Entity::CharaPtr& effectTarget, Entity::CharaPtr& damagingTarget, uint32_t amount, int8_t attackType, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag ) void EffectBuilder::damage( Entity::CharaPtr& effectTarget, Entity::CharaPtr& damagingTarget, uint32_t amount, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag )
{ {
EffectResultPtr nextResult = make_EffectResult( damagingTarget, nullptr, getResultDelayMs() ); EffectResultPtr nextResult = make_EffectResult( damagingTarget, nullptr, getResultDelayMs() );
nextResult->damage( amount, attackType, severity, flag ); nextResult->damage( amount, severity, flag );
moveToResultList( effectTarget, nextResult ); moveToResultList( effectTarget, nextResult );
} }

View file

@ -18,7 +18,7 @@ namespace Sapphire::World::Action
void restoreMP( Entity::CharaPtr& effectTarget, Entity::CharaPtr& restoringTarget, uint32_t amount, void restoreMP( Entity::CharaPtr& effectTarget, Entity::CharaPtr& restoringTarget, uint32_t amount,
Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None); Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None);
void damage( Entity::CharaPtr& effectTarget, Entity::CharaPtr& damagingTarget, uint32_t amount, int8_t attackType, void damage( Entity::CharaPtr& effectTarget, Entity::CharaPtr& damagingTarget, uint32_t amount,
Common::ActionHitSeverityType severity = Common::ActionHitSeverityType::NormalDamage, Common::ActionHitSeverityType severity = Common::ActionHitSeverityType::NormalDamage,
Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None); Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None);

View file

@ -18,7 +18,6 @@ EffectResult::EffectResult( Entity::CharaPtr target, Entity::CharaPtr source, ui
m_param0( 0 ), m_param0( 0 ),
m_param1( 0 ), m_param1( 0 ),
m_param2( 0 ), m_param2( 0 ),
m_attackType( -1 ),
m_flag( Common::ActionEffectResultFlag::None ) m_flag( Common::ActionEffectResultFlag::None )
{ {
@ -44,12 +43,11 @@ uint64_t EffectResult::getDelay()
return m_delayMs; return m_delayMs;
} }
void EffectResult::damage( uint32_t amount, int8_t attackType, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag ) void EffectResult::damage( uint32_t amount, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag )
{ {
m_param0 = static_cast< uint8_t >( severity ); m_param0 = static_cast< uint8_t >( severity );
m_value = amount; m_value = amount;
m_flag = flag; m_flag = flag;
m_attackType = attackType;
m_type = Common::ActionEffectType::Damage; m_type = Common::ActionEffectType::Damage;
} }

View file

@ -15,7 +15,7 @@ namespace Sapphire::World::Action
public: public:
explicit EffectResult( Entity::CharaPtr target, Entity::CharaPtr source, uint64_t delayMs ); explicit EffectResult( Entity::CharaPtr target, Entity::CharaPtr source, uint64_t delayMs );
void damage( uint32_t amount, int8_t attackType, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None ); void damage( uint32_t amount, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None );
void heal( uint32_t amount, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None ); void heal( uint32_t amount, Common::ActionHitSeverityType severity, Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None );
void restoreMP( uint32_t amount, Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None ); void restoreMP( uint32_t amount, Common::ActionEffectResultFlag flag = Common::ActionEffectResultFlag::None );
void startCombo( uint16_t actionId ); void startCombo( uint16_t actionId );
@ -47,7 +47,6 @@ namespace Sapphire::World::Action
uint32_t m_value; uint32_t m_value;
uint32_t m_value2; uint32_t m_value2;
int8_t m_attackType;
Common::ActionEffectResultFlag m_flag; Common::ActionEffectResultFlag m_flag;
}; };
} }