1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 14:57:44 +00:00

move effectentry to common, minor refactoring

This commit is contained in:
NotAdam 2019-02-09 17:07:53 +11:00
parent 84073363a8
commit d151caef85
7 changed files with 21 additions and 19 deletions

View file

@ -591,6 +591,17 @@ namespace Sapphire::Common
ShowItemName = 2, ShowItemName = 2,
}; };
struct EffectEntry
{
Common::ActionEffectType effectType;
Common::ActionHitSeverityType hitSeverity;
uint8_t param;
int8_t bonusPercent; // shows an additional percentage in the battle log, will not change the damage number sent & shown
uint8_t valueMultiplier; // This multiplies whatever value is in the 'value' param by 10. Possibly a workaround for big numbers
uint8_t flags;
int16_t value;
};
enum class ActionCollisionType : uint8_t enum class ActionCollisionType : uint8_t
{ {
None, None,

View file

@ -388,17 +388,6 @@ struct FFXIVIpcUpdateHpMpTp :
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* for battle actions * for battle actions
*/ */
struct EffectEntry
{
Common::ActionEffectType effectType;
Common::ActionHitSeverityType hitSeverity;
uint8_t param;
int8_t bonusPercent; // shows an additional percentage in the battle log, will not change the damage number sent & shown
uint8_t valueMultiplier; // This multiplies whatever value is in the 'value' param by 10. Possibly a workaround for big numbers
uint8_t flags;
int16_t value;
};
struct EffectHeader struct EffectHeader
{ {
uint64_t animationTargetId; // who the animation targets uint64_t animationTargetId; // who the animation targets
@ -458,7 +447,7 @@ struct FFXIVIpcAoeEffect
{ {
EffectHeader header; EffectHeader header;
EffectEntry effects[size]; Common::EffectEntry effects[size];
uint16_t padding_6A[3]; uint16_t padding_6A[3];

View file

@ -68,6 +68,8 @@ namespace Sapphire::Action
FrameworkPtr m_pFw; FrameworkPtr m_pFw;
}; };
} }

View file

@ -417,7 +417,7 @@ void Sapphire::Entity::Chara::autoAttack( CharaPtr pTarget )
auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 7 ); auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 7 );
effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) ); effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) );
Server::EffectEntry effectEntry{}; Common::EffectEntry effectEntry{};
effectEntry.value = damage; effectEntry.value = damage;
effectEntry.effectType = ActionEffectType::Damage; effectEntry.effectType = ActionEffectType::Damage;
effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage; effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage;

View file

@ -1550,7 +1550,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget )
auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 8 ); auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 8 );
effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) ); effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) );
Server::EffectEntry entry{}; Common::EffectEntry entry{};
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;
@ -1564,7 +1564,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget )
auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 7 ); auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 7 );
effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) ); effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) );
Server::EffectEntry entry{}; Common::EffectEntry entry{};
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;

View file

@ -28,7 +28,7 @@ void World::Manager::ActionMgr::handleTargetedPlayerAction( Entity::Player& play
player.sendDebug( "got act: {0}", actionData->name ); player.sendDebug( "got act: {0}", actionData->name );
auto action = Action::make_Action( player.getAsPlayer(), actionId, actionData, framework() ); auto action = Action::make_Action( player.getAsPlayer(), actionId, actionData, framework() );
action->setType( static_cast< Common::ActionType >( type ) ); action->setType( static_cast< Common::HandleActionType >( type ) );
bootstrapAction( player, action, *actionData ); bootstrapAction( player, action, *actionData );
} }

View file

@ -27,12 +27,12 @@ namespace Sapphire::Network::Packets::Server
m_data.effectDisplayType = Common::ActionEffectDisplayType::ShowActionName; m_data.effectDisplayType = Common::ActionEffectDisplayType::ShowActionName;
} }
void addEffect( const Server::EffectEntry& effect ) void addEffect( const Common::EffectEntry& effect )
{ {
assert( m_data.effectCount <= 8 ); assert( m_data.effectCount <= 8 );
std::memset( m_data.effects, 0, sizeof( Server::EffectEntry ) * 8 ); std::memset( m_data.effects, 0, sizeof( Common::EffectEntry ) * 8 );
std::memcpy( &m_data.effects[ m_data.effectCount * 8 ], &effect, sizeof( Server::EffectEntry ) ); std::memcpy( &m_data.effects[ m_data.effectCount * 8 ], &effect, sizeof( Common::EffectEntry ) );
m_data.effectCount++; m_data.effectCount++;
} }