mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-28 12:17:46 +00:00
Update EffectResult packet and send proper animation lock time.
This commit is contained in:
parent
5d5763c74e
commit
0620aaa932
3 changed files with 6 additions and 2 deletions
|
@ -439,7 +439,7 @@ namespace Sapphire::Network::Packets::Server
|
||||||
*/
|
*/
|
||||||
struct FFXIVIpcEffectResult : FFXIVIpcBasePacket< EffectResult >
|
struct FFXIVIpcEffectResult : FFXIVIpcBasePacket< EffectResult >
|
||||||
{
|
{
|
||||||
uint32_t unknown;
|
uint32_t globalSequence;
|
||||||
uint32_t actor_id;
|
uint32_t actor_id;
|
||||||
//uint8_t unknown1;
|
//uint8_t unknown1;
|
||||||
//uint8_t unknown2;
|
//uint8_t unknown2;
|
||||||
|
|
|
@ -28,7 +28,7 @@ uint64_t EffectBuilder::getResultDelayMs()
|
||||||
{
|
{
|
||||||
// todo: actually figure this retarded shit out
|
// 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 )
|
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->effectCount = static_cast< uint8_t >( remainingTargetCount > packetSize ? packetSize : remainingTargetCount );
|
||||||
pHeader->sourceSequence = m_sequence;
|
pHeader->sourceSequence = m_sequence;
|
||||||
pHeader->globalSequence = globalSequence;
|
pHeader->globalSequence = globalSequence;
|
||||||
|
pHeader->animationLockTime = 0.6f;
|
||||||
|
|
||||||
uint8_t targetIndex = 0;
|
uint8_t targetIndex = 0;
|
||||||
for( auto it = m_resolvedEffects.begin(); it != m_resolvedEffects.end(); )
|
for( auto it = m_resolvedEffects.begin(); it != m_resolvedEffects.end(); )
|
||||||
|
@ -220,6 +221,7 @@ std::shared_ptr< FFXIVPacketBase > EffectBuilder::buildNextEffectPacket( uint32_
|
||||||
auto effectPacket = std::make_shared< Server::EffectPacket >( m_sourceChara->getId(), firstResult->getTarget()->getId(), m_actionId );
|
auto effectPacket = std::make_shared< Server::EffectPacket >( m_sourceChara->getId(), firstResult->getTarget()->getId(), m_actionId );
|
||||||
effectPacket->setRotation( Common::Util::floatToUInt16Rot( m_sourceChara->getRot() ) );
|
effectPacket->setRotation( Common::Util::floatToUInt16Rot( m_sourceChara->getRot() ) );
|
||||||
effectPacket->setSequence( seq, m_sequence );
|
effectPacket->setSequence( seq, m_sequence );
|
||||||
|
effectPacket->data().animationLockTime = 0.6f;
|
||||||
|
|
||||||
for( int i = 0; i < resultList->size(); i++ )
|
for( int i = 0; i < resultList->size(); i++ )
|
||||||
{
|
{
|
||||||
|
@ -247,6 +249,7 @@ std::shared_ptr< FFXIVPacketBase > EffectBuilder::buildNextEffectPacket( uint32_
|
||||||
effectPacket->data().effectCount = 0;
|
effectPacket->data().effectCount = 0;
|
||||||
effectPacket->data().sourceSequence = m_sequence;
|
effectPacket->data().sourceSequence = m_sequence;
|
||||||
effectPacket->data().globalSequence = globalSequence;
|
effectPacket->data().globalSequence = globalSequence;
|
||||||
|
effectPacket->data().animationLockTime = 0.6f;
|
||||||
|
|
||||||
return effectPacket;
|
return effectPacket;
|
||||||
}
|
}
|
||||||
|
|
|
@ -532,6 +532,7 @@ void Sapphire::Entity::Chara::addStatusEffect( StatusEffect::StatusEffectPtr pEf
|
||||||
|
|
||||||
auto statusEffectAdd = makeZonePacket< FFXIVIpcEffectResult >( getId() );
|
auto statusEffectAdd = makeZonePacket< FFXIVIpcEffectResult >( getId() );
|
||||||
|
|
||||||
|
statusEffectAdd->data().globalSequence = getCurrentTerritory()->getNextEffectSequence();
|
||||||
statusEffectAdd->data().actor_id = pEffect->getTargetActorId();
|
statusEffectAdd->data().actor_id = pEffect->getTargetActorId();
|
||||||
statusEffectAdd->data().current_hp = getHp();
|
statusEffectAdd->data().current_hp = getHp();
|
||||||
statusEffectAdd->data().current_mp = static_cast< uint16_t >( getMp() );
|
statusEffectAdd->data().current_mp = static_cast< uint16_t >( getMp() );
|
||||||
|
|
Loading…
Add table
Reference in a new issue