From d8a1c751fd0a4a6834366933bc489d6fd46c4e53 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 9 Feb 2019 18:01:39 +1100 Subject: [PATCH] add (some) cost types and cost data to action obj --- src/common/Common.h | 8 ++++++++ src/world/Action/Action.cpp | 3 +++ src/world/Action/Action.h | 3 +++ 3 files changed, 14 insertions(+) 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;