mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-09 04:07:46 +00:00
Show default hit effect on autoattacks, also send 2nd hate packet
This commit is contained in:
parent
b4b5c59bfa
commit
6dbee16682
5 changed files with 23 additions and 2 deletions
|
@ -131,7 +131,7 @@ namespace Sapphire::Network::Packets
|
||||||
ActorCast = 0x017C, // updated 4.5
|
ActorCast = 0x017C, // updated 4.5
|
||||||
|
|
||||||
PartyList = 0x017E, // updated 4.5
|
PartyList = 0x017E, // updated 4.5
|
||||||
|
HateRank = 0x017F, // updated 4.5
|
||||||
HateList = 0x0180, // updated 4.5
|
HateList = 0x0180, // updated 4.5
|
||||||
ObjectSpawn = 0x0181, // updated 4.5
|
ObjectSpawn = 0x0181, // updated 4.5
|
||||||
ObjectDespawn = 0x0182, // updated 4.5
|
ObjectDespawn = 0x0182, // updated 4.5
|
||||||
|
|
|
@ -719,6 +719,17 @@ namespace Sapphire::Network::Packets::Server
|
||||||
uint32_t padding;
|
uint32_t padding;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct FFXIVIpcHateRank : FFXIVIpcBasePacket< HateRank >
|
||||||
|
{
|
||||||
|
uint32_t numEntries;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
uint32_t actorId;
|
||||||
|
uint32_t hateAmount;
|
||||||
|
} entry[32];
|
||||||
|
uint32_t padding;
|
||||||
|
};
|
||||||
|
|
||||||
struct FFXIVIpcUpdateClassInfo : FFXIVIpcBasePacket< UpdateClassInfo >
|
struct FFXIVIpcUpdateClassInfo : FFXIVIpcBasePacket< UpdateClassInfo >
|
||||||
{
|
{
|
||||||
uint8_t classId;
|
uint8_t classId;
|
||||||
|
|
|
@ -689,6 +689,7 @@ void Sapphire::Entity::BNpc::autoAttack( CharaPtr pTarget )
|
||||||
effectEntry.value = damage;
|
effectEntry.value = damage;
|
||||||
effectEntry.effectType = ActionEffectType::Damage;
|
effectEntry.effectType = ActionEffectType::Damage;
|
||||||
effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage;
|
effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage;
|
||||||
|
effectEntry.param = 0x71;
|
||||||
effectPacket->addEffect( effectEntry );
|
effectPacket->addEffect( effectEntry );
|
||||||
|
|
||||||
sendToInRangeSet( effectPacket );
|
sendToInRangeSet( effectPacket );
|
||||||
|
|
|
@ -436,6 +436,7 @@ void Sapphire::Entity::Chara::autoAttack( CharaPtr pTarget )
|
||||||
effectEntry.value = damage;
|
effectEntry.value = damage;
|
||||||
effectEntry.effectType = ActionEffectType::Damage;
|
effectEntry.effectType = ActionEffectType::Damage;
|
||||||
effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage;
|
effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage;
|
||||||
|
effectEntry.param = 0x71;
|
||||||
effectPacket->addEffect( effectEntry );
|
effectPacket->addEffect( effectEntry );
|
||||||
|
|
||||||
sendToInRangeSet( effectPacket );
|
sendToInRangeSet( effectPacket );
|
||||||
|
|
|
@ -1411,12 +1411,19 @@ void Sapphire::Entity::Player::sendHateList()
|
||||||
{
|
{
|
||||||
auto hateListPacket = makeZonePacket< FFXIVIpcHateList >( getId() );
|
auto hateListPacket = makeZonePacket< FFXIVIpcHateList >( getId() );
|
||||||
hateListPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
hateListPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||||
|
auto hateRankPacket = makeZonePacket< FFXIVIpcHateRank >( getId() );
|
||||||
|
hateRankPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||||
auto it = m_actorIdTohateSlotMap.begin();
|
auto it = m_actorIdTohateSlotMap.begin();
|
||||||
for( int32_t i = 0; it != m_actorIdTohateSlotMap.end(); ++it, i++ )
|
for( int32_t i = 0; it != m_actorIdTohateSlotMap.end(); ++it, i++ )
|
||||||
{
|
{
|
||||||
|
// TODO: get actual hate values for these
|
||||||
hateListPacket->data().entry[ i ].actorId = it->first;
|
hateListPacket->data().entry[ i ].actorId = it->first;
|
||||||
hateListPacket->data().entry[ i ].hatePercent = 100;
|
hateListPacket->data().entry[ i ].hatePercent = 100;
|
||||||
|
|
||||||
|
hateRankPacket->data().entry[ i ].actorId = it->first;
|
||||||
|
hateRankPacket->data().entry[ i ].hateAmount = 1;
|
||||||
}
|
}
|
||||||
|
queuePacket( hateRankPacket );
|
||||||
queuePacket( hateListPacket );
|
queuePacket( hateListPacket );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1571,7 +1578,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget )
|
||||||
entry.value = damage;
|
entry.value = damage;
|
||||||
entry.effectType = Common::ActionEffectType::Damage;
|
entry.effectType = Common::ActionEffectType::Damage;
|
||||||
entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage;
|
entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage;
|
||||||
entry.param = variation;
|
entry.param = 0x72;
|
||||||
|
|
||||||
effectPacket->addEffect( entry );
|
effectPacket->addEffect( entry );
|
||||||
|
|
||||||
|
@ -1586,6 +1593,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget )
|
||||||
entry.value = damage;
|
entry.value = damage;
|
||||||
entry.effectType = Common::ActionEffectType::Damage;
|
entry.effectType = Common::ActionEffectType::Damage;
|
||||||
entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage;
|
entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage;
|
||||||
|
entry.param = 0x73;
|
||||||
|
|
||||||
effectPacket->addEffect( entry );
|
effectPacket->addEffect( entry );
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue