mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-28 23:27:45 +00:00
add status entries to EffectResult packet
This commit is contained in:
parent
d5f4e7a2b8
commit
0b6ee6e265
2 changed files with 21 additions and 13 deletions
|
@ -349,14 +349,19 @@ namespace Sapphire::Network::Packets::Server
|
||||||
uint32_t max_hp;
|
uint32_t max_hp;
|
||||||
uint16_t max_mp;
|
uint16_t max_mp;
|
||||||
uint16_t max_something;
|
uint16_t max_something;
|
||||||
uint8_t effect_index; // which position do i display this
|
|
||||||
uint8_t unknown3;
|
struct StatusEntry
|
||||||
uint16_t effect_id;
|
{
|
||||||
uint16_t param;
|
uint8_t index; // which position do i display this
|
||||||
uint16_t unknown5; // Sort this out (old right half of power/param property)
|
uint8_t unknown3;
|
||||||
float duration;
|
uint16_t id;
|
||||||
uint32_t actor_id1;
|
uint16_t param;
|
||||||
uint8_t unknown4[52];
|
uint16_t unknown5; // Sort this out (old right half of power/param property)
|
||||||
|
float duration;
|
||||||
|
uint32_t sourceActorId;
|
||||||
|
} statusEntries[4];
|
||||||
|
|
||||||
|
uint32_t unknown4;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -460,18 +460,21 @@ void Sapphire::Entity::Chara::addStatusEffect( StatusEffect::StatusEffectPtr pEf
|
||||||
auto statusEffectAdd = makeZonePacket< FFXIVIpcEffectResult >( getId() );
|
auto statusEffectAdd = makeZonePacket< FFXIVIpcEffectResult >( getId() );
|
||||||
|
|
||||||
statusEffectAdd->data().actor_id = pEffect->getTargetActorId();
|
statusEffectAdd->data().actor_id = pEffect->getTargetActorId();
|
||||||
statusEffectAdd->data().actor_id1 = pEffect->getSrcActorId();
|
|
||||||
statusEffectAdd->data().current_hp = getHp();
|
statusEffectAdd->data().current_hp = getHp();
|
||||||
statusEffectAdd->data().current_mp = getMp();
|
statusEffectAdd->data().current_mp = getMp();
|
||||||
statusEffectAdd->data().current_tp = getTp();
|
statusEffectAdd->data().current_tp = getTp();
|
||||||
statusEffectAdd->data().duration = static_cast< float >( pEffect->getDuration() ) / 1000;
|
|
||||||
statusEffectAdd->data().effect_id = pEffect->getId();
|
|
||||||
statusEffectAdd->data().effect_index = nextSlot;
|
|
||||||
statusEffectAdd->data().max_hp = getMaxHp();
|
statusEffectAdd->data().max_hp = getMaxHp();
|
||||||
statusEffectAdd->data().max_mp = getMaxMp();
|
statusEffectAdd->data().max_mp = getMaxMp();
|
||||||
statusEffectAdd->data().max_something = 1;
|
statusEffectAdd->data().max_something = 1;
|
||||||
//statusEffectAdd->data().unknown2 = 28;
|
//statusEffectAdd->data().unknown2 = 28;
|
||||||
statusEffectAdd->data().param = pEffect->getParam();
|
|
||||||
|
auto& status = statusEffectAdd->data().statusEntries[0];
|
||||||
|
|
||||||
|
status.sourceActorId = pEffect->getSrcActorId();
|
||||||
|
status.duration = static_cast< float >( pEffect->getDuration() ) / 1000;
|
||||||
|
status.id = pEffect->getId();
|
||||||
|
status.index = nextSlot;
|
||||||
|
status.param = pEffect->getParam();
|
||||||
|
|
||||||
sendToInRangeSet( statusEffectAdd, isPlayer() );
|
sendToInRangeSet( statusEffectAdd, isPlayer() );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue