mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-08 19:57: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
|
||||
|
||||
PartyList = 0x017E, // updated 4.5
|
||||
|
||||
HateRank = 0x017F, // updated 4.5
|
||||
HateList = 0x0180, // updated 4.5
|
||||
ObjectSpawn = 0x0181, // updated 4.5
|
||||
ObjectDespawn = 0x0182, // updated 4.5
|
||||
|
|
|
@ -719,6 +719,17 @@ namespace Sapphire::Network::Packets::Server
|
|||
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 >
|
||||
{
|
||||
uint8_t classId;
|
||||
|
|
|
@ -689,6 +689,7 @@ void Sapphire::Entity::BNpc::autoAttack( CharaPtr pTarget )
|
|||
effectEntry.value = damage;
|
||||
effectEntry.effectType = ActionEffectType::Damage;
|
||||
effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage;
|
||||
effectEntry.param = 0x71;
|
||||
effectPacket->addEffect( effectEntry );
|
||||
|
||||
sendToInRangeSet( effectPacket );
|
||||
|
|
|
@ -436,6 +436,7 @@ void Sapphire::Entity::Chara::autoAttack( CharaPtr pTarget )
|
|||
effectEntry.value = damage;
|
||||
effectEntry.effectType = ActionEffectType::Damage;
|
||||
effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage;
|
||||
effectEntry.param = 0x71;
|
||||
effectPacket->addEffect( effectEntry );
|
||||
|
||||
sendToInRangeSet( effectPacket );
|
||||
|
|
|
@ -1411,12 +1411,19 @@ void Sapphire::Entity::Player::sendHateList()
|
|||
{
|
||||
auto hateListPacket = makeZonePacket< FFXIVIpcHateList >( getId() );
|
||||
hateListPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||
auto hateRankPacket = makeZonePacket< FFXIVIpcHateRank >( getId() );
|
||||
hateRankPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||
auto it = m_actorIdTohateSlotMap.begin();
|
||||
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 ].hatePercent = 100;
|
||||
|
||||
hateRankPacket->data().entry[ i ].actorId = it->first;
|
||||
hateRankPacket->data().entry[ i ].hateAmount = 1;
|
||||
}
|
||||
queuePacket( hateRankPacket );
|
||||
queuePacket( hateListPacket );
|
||||
}
|
||||
|
||||
|
@ -1571,7 +1578,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget )
|
|||
entry.value = damage;
|
||||
entry.effectType = Common::ActionEffectType::Damage;
|
||||
entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage;
|
||||
entry.param = variation;
|
||||
entry.param = 0x72;
|
||||
|
||||
effectPacket->addEffect( entry );
|
||||
|
||||
|
@ -1586,6 +1593,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget )
|
|||
entry.value = damage;
|
||||
entry.effectType = Common::ActionEffectType::Damage;
|
||||
entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage;
|
||||
entry.param = 0x73;
|
||||
|
||||
effectPacket->addEffect( entry );
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue