From a556d8dce44dafbca06eb4a73ae942d1d49204c6 Mon Sep 17 00:00:00 2001 From: collett Date: Sat, 11 Jan 2020 18:05:12 +0900 Subject: [PATCH 1/2] fix status applying too fast. --- src/world/Action/EffectBuilder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/world/Action/EffectBuilder.cpp b/src/world/Action/EffectBuilder.cpp index 3ead03ea..0a1335dd 100644 --- a/src/world/Action/EffectBuilder.cpp +++ b/src/world/Action/EffectBuilder.cpp @@ -86,7 +86,7 @@ void EffectBuilder::comboSucceed( Entity::CharaPtr& target ) void EffectBuilder::applyStatusEffect( Entity::CharaPtr& target, Entity::CharaPtr& source, uint16_t statusId, uint32_t duration, uint8_t param ) { - EffectResultPtr nextResult = make_EffectResult( target, source, 0 ); + EffectResultPtr nextResult = make_EffectResult( target, source, getResultDelayMs() ); nextResult->applyStatusEffect( statusId, duration, param ); moveToResultList( target, nextResult ); } From ed51e1537e638a10f9027303eb0dd526685ac03c Mon Sep 17 00:00:00 2001 From: collett Date: Sat, 11 Jan 2020 19:39:18 +0900 Subject: [PATCH 2/2] this seems like a better value matching retail experience after playing with some artificial latency, and set the not functioning value just to match retail packet. --- src/world/Action/EffectBuilder.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/world/Action/EffectBuilder.cpp b/src/world/Action/EffectBuilder.cpp index 0a1335dd..09cfe717 100644 --- a/src/world/Action/EffectBuilder.cpp +++ b/src/world/Action/EffectBuilder.cpp @@ -28,7 +28,7 @@ uint64_t EffectBuilder::getResultDelayMs() { // todo: actually figure this retarded shit out - return Common::Util::getTimeMs() + 850; + return Common::Util::getTimeMs() + 600; } void EffectBuilder::moveToResultList( Entity::CharaPtr& chara, EffectResultPtr result ) @@ -176,6 +176,7 @@ std::shared_ptr< FFXIVPacketBase > EffectBuilder::buildNextEffectPacket( uint32_ pHeader->effectCount = static_cast< uint8_t >( remainingTargetCount > packetSize ? packetSize : remainingTargetCount ); pHeader->sourceSequence = m_sequence; pHeader->globalSequence = globalSequence; + pHeader->animationLockTime = 0.6f; uint8_t targetIndex = 0; for( auto it = m_resolvedEffects.begin(); it != m_resolvedEffects.end(); )