69 return "Burst in your movement direction.";
71 return "Hook terrain and pull yourself in.";
73 return "Flip gravity and fight from the ceiling.";
75 return "Mark a spot, then return to it.";
77 return "Hold to ride a gentle updraft.";
79 return "See enemies through walls briefly.";
82 return "No ability selected.";
constexpr std::array< AbilityType, 3 > primaryAbilityTypes
Definition AbilityState.hpp:32
constexpr const char * abilityDescription(AbilityType type)
Definition AbilityState.hpp:65
AbilityType
Definition AbilityState.hpp:18
@ Dash
Definition AbilityState.hpp:20
@ Recall
Definition AbilityState.hpp:23
@ None
Definition AbilityState.hpp:19
@ Wallhack
Tier-2: briefly see enemies through walls (red chams).
Definition AbilityState.hpp:25
@ Gravity
Definition AbilityState.hpp:22
@ Levitate
Tier-1: hold to ride a gentle updraft for a few seconds.
Definition AbilityState.hpp:24
@ Grapple
Definition AbilityState.hpp:21
const std::array< AbilityType, kAbilityChoicesPerTier > & choicesForPendingSelection(const AbilityState &state)
Definition AbilityState.hpp:125
float abilityCooldownRemaining(const AbilityState &state, AbilityType type)
Definition AbilityState.hpp:175
void choosePendingAbility(AbilityState &state, std::size_t choiceIndex)
Definition AbilityState.hpp:130
bool isAbilityOnCooldown(const AbilityState &state, AbilityType type)
Definition AbilityState.hpp:151
void setAbilityCooldown(AbilityState &state, AbilityType type, float cooldown)
Definition AbilityState.hpp:164
constexpr std::array< AbilityType, 3 > secondaryAbilityTypes
Definition AbilityState.hpp:38
bool hasPendingAbilitySelection(const AbilityState &state)
Definition AbilityState.hpp:115
constexpr std::size_t kAbilityChoicesPerTier
Definition AbilityState.hpp:28
AbilitySlot
Definition AbilityState.hpp:12
@ Primary
Definition AbilityState.hpp:13
@ Secondary
Definition AbilityState.hpp:14
AbilitySlot pendingAbilitySlot(const AbilityState &state)
Definition AbilityState.hpp:120
constexpr const char * abilityName(AbilityType type)
Definition AbilityState.hpp:44
Definition AbilityState.hpp:87
float wallhackTimer
Wallhack reveal: seconds remaining of the see-through-walls effect.
Definition AbilityState.hpp:112
bool primaryActive
Definition AbilityState.hpp:100
glm::vec3 recallMarkerPosition
Definition AbilityState.hpp:107
std::array< AbilityType, kAbilityChoicesPerTier > primaryChoices
Definition AbilityState.hpp:93
AbilityType primary
Definition AbilityState.hpp:96
float accumDamage
Definition AbilityState.hpp:89
std::array< AbilityType, kAbilityChoicesPerTier > secondaryChoices
Definition AbilityState.hpp:94
int level
Definition AbilityState.hpp:88
bool secondaryActive
Definition AbilityState.hpp:103
float secondaryCooldown
Definition AbilityState.hpp:102
bool pendingLevel2
Definition AbilityState.hpp:91
AbilityType secondary
Definition AbilityState.hpp:97
bool recallMarkerSet
Definition AbilityState.hpp:105
bool recallMarkerGravityFlipped
Definition AbilityState.hpp:106
float primaryCooldown
Definition AbilityState.hpp:99
bool pendingLevel1
Definition AbilityState.hpp:90