diff --git a/src/common/Common.h b/src/common/Common.h index 9753f4db..0abe0ac9 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -538,6 +538,14 @@ namespace Sapphire::Common Unaspected = 7 // Doesn't imply magical unaspected damage - could be unaspected physical }; + enum ActionCostType : uint8_t + { + MagicPoints = 3, + TacticsPoints = 5, + ClassGaugeWAR = 22, + AetherflowStack = 30, + }; + enum class ActionType : int8_t { WeaponOverride = -1, // Needs more investigation (takes the damage type of the equipped weapon)? diff --git a/src/world/Action/Action.cpp b/src/world/Action/Action.cpp index 46933161..80bcded9 100644 --- a/src/world/Action/Action.cpp +++ b/src/world/Action/Action.cpp @@ -30,6 +30,9 @@ Sapphire::Action::Action::Action( Entity::CharaPtr caster, uint32_t actionId, m_startTime( 0 ) { m_castTime = static_cast< uint32_t >( action->cast100ms ) * 100; + + m_costType = static_cast< Common::ActionCostType >( action->costType ); + m_cost = action->cost; } uint32_t Sapphire::Action::Action::getId() const diff --git a/src/world/Action/Action.h b/src/world/Action/Action.h index 12c32684..dea371ec 100644 --- a/src/world/Action/Action.h +++ b/src/world/Action/Action.h @@ -79,6 +79,9 @@ namespace Sapphire::Action uint32_t m_id; Common::HandleActionType m_type; + Common::ActionCostType m_costType; + uint16_t m_cost; + uint64_t m_startTime; uint32_t m_castTime;