mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-28 12:17:46 +00:00
Fix status effect list packet.
This commit is contained in:
parent
71d486e806
commit
bb350ba250
5 changed files with 5 additions and 13 deletions
|
@ -412,7 +412,7 @@ namespace Sapphire::Common
|
||||||
struct StatusEffect
|
struct StatusEffect
|
||||||
{
|
{
|
||||||
uint16_t effect_id;
|
uint16_t effect_id;
|
||||||
uint16_t unknown1;
|
uint16_t param;
|
||||||
float duration;
|
float duration;
|
||||||
uint32_t sourceActorId;
|
uint32_t sourceActorId;
|
||||||
};
|
};
|
||||||
|
|
|
@ -659,6 +659,7 @@ void Sapphire::Entity::Chara::sendStatusEffectUpdate()
|
||||||
( currentTimeMs - statusEffect->getStartTimeMs() ) ) / 1000;
|
( currentTimeMs - statusEffect->getStartTimeMs() ) ) / 1000;
|
||||||
statusEffectList->data().effect[ slot ].duration = timeLeft;
|
statusEffectList->data().effect[ slot ].duration = timeLeft;
|
||||||
statusEffectList->data().effect[ slot ].effect_id = statusEffect->getId();
|
statusEffectList->data().effect[ slot ].effect_id = statusEffect->getId();
|
||||||
|
statusEffectList->data().effect[ slot ].param = statusEffect->getParam();
|
||||||
statusEffectList->data().effect[ slot ].sourceActorId = statusEffect->getSrcActorId();
|
statusEffectList->data().effect[ slot ].sourceActorId = statusEffect->getSrcActorId();
|
||||||
slot++;
|
slot++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -744,16 +744,7 @@ void Sapphire::Entity::Player::gainLevel()
|
||||||
m_hp = getMaxHp();
|
m_hp = getMaxHp();
|
||||||
m_mp = getMaxMp();
|
m_mp = getMaxMp();
|
||||||
|
|
||||||
auto effectListPacket = makeZonePacket< FFXIVIpcStatusEffectList >( getId() );
|
sendStatusEffectUpdate();
|
||||||
effectListPacket->data().classId = static_cast< uint8_t > ( getClass() );
|
|
||||||
effectListPacket->data().level1 = getLevel();
|
|
||||||
effectListPacket->data().level = getLevel();
|
|
||||||
effectListPacket->data().current_hp = getMaxHp();
|
|
||||||
effectListPacket->data().current_mp = getMaxMp();
|
|
||||||
effectListPacket->data().currentTp = 1000;
|
|
||||||
effectListPacket->data().max_hp = getMaxHp();
|
|
||||||
effectListPacket->data().max_mp = getMaxMp();
|
|
||||||
sendToInRangeSet( effectListPacket, true );
|
|
||||||
|
|
||||||
sendToInRangeSet( makeActorControl( getId(), LevelUpEffect, static_cast< uint8_t >( getClass() ),
|
sendToInRangeSet( makeActorControl( getId(), LevelUpEffect, static_cast< uint8_t >( getClass() ),
|
||||||
getLevel(), getLevel() - 1 ), true );
|
getLevel(), getLevel() - 1 ), true );
|
||||||
|
|
|
@ -96,7 +96,7 @@ namespace Sapphire::Network::Packets::Server
|
||||||
( currentTimeMs -
|
( currentTimeMs -
|
||||||
effect.second->getStartTimeMs() ) ) / 1000;
|
effect.second->getStartTimeMs() ) ) / 1000;
|
||||||
m_data.effect[ effect.first ].sourceActorId = effect.second->getSrcActorId();
|
m_data.effect[ effect.first ].sourceActorId = effect.second->getSrcActorId();
|
||||||
m_data.effect[ effect.first ].unknown1 = effect.second->getParam();
|
m_data.effect[ effect.first ].param = effect.second->getParam();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -142,7 +142,7 @@ namespace Sapphire::Network::Packets::Server
|
||||||
( currentTimeMs -
|
( currentTimeMs -
|
||||||
effect.second->getStartTimeMs() ) ) / 1000;
|
effect.second->getStartTimeMs() ) ) / 1000;
|
||||||
m_data.effect[ effect.first ].sourceActorId = effect.second->getSrcActorId();
|
m_data.effect[ effect.first ].sourceActorId = effect.second->getSrcActorId();
|
||||||
m_data.effect[ effect.first ].unknown1 = effect.second->getParam();
|
m_data.effect[ effect.first ].param = effect.second->getParam();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue