pub enum AbilityTag {
Show 15 variants
Heal,
Damage,
Aoe,
MultiTarget,
Buff,
Debuff,
Control,
Pet,
Projectile,
Targeted,
Duration,
Summon,
SelfCast,
Protection,
Channelled,
}Expand description
A content-side label on an ability that other systems key off.
Read by the law catalog (RL-06 / FL-06 fire on “an original Skill with
the Heal tag resolved”) and by support stones (a support’s
Compatibility is a predicate over these tags). Declared with room:
triggers and future systems are meant to read the SAME tag set rather than
each inventing its own predicate over ability ids. Adding a variant is a
config migration (every ability lists its tags explicitly — there is no
default), not a code change at the reading sites.
Tags describe what an ability DOES, not how it is cast: AbilityCastType is
presentation and class.basic_abilities is what decides Basic Attack vs
original Skill.
Variants§
Heal
Restores HP to the caster or an ally.
Damage
Deals direct damage.
Aoe
Hits an AREA: one payload spread over whatever stands in it.
MultiTarget
Delivers its payload as SEVERAL copies (a volley of projectiles, a
flurry of cuts) rather than as one hit — ability_info.projectiles > 1.
Distinct from AbilityTag::Aoe: the copies are what Condense folds
into one, while CoverageMult (Widen) does not scale them.
Buff
Grants a positive timed state.
Debuff
Applies a negative timed state.
Control
Stuns, roots or otherwise denies actions.
Pet
Belongs to a pet rather than to the character.
Projectile
Delivers its payload with a travelling projectile.
Targeted
Resolves on one chosen target (as opposed to a shape or the caster).
Duration
Applies something that lasts (DoT / HoT / timed buff or debuff).
Summon
Puts an entity on the field that fights on its own.
SelfCast
Resolves on the caster. (Self is a reserved word in Rust; the tag is
spelled SelfCast everywhere — code, config and schema.)
Protection
Reduces incoming damage or otherwise shields.
Channelled
Occupies the caster for the whole cast (no channelled ability ships yet;
the tag exists so Any except Channelled supports stay honest when one
does).
Trait Implementations§
Source§impl Clone for AbilityTag
impl Clone for AbilityTag
Source§fn clone(&self) -> AbilityTag
fn clone(&self) -> AbilityTag
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AbilityTag
impl Debug for AbilityTag
Source§impl Default for AbilityTag
impl Default for AbilityTag
Source§fn default() -> AbilityTag
fn default() -> AbilityTag
Source§impl<'de> Deserialize<'de> for AbilityTag
impl<'de> Deserialize<'de> for AbilityTag
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for AbilityTag
impl Display for AbilityTag
Source§impl FromStr for AbilityTag
impl FromStr for AbilityTag
Source§impl Hash for AbilityTag
impl Hash for AbilityTag
Source§impl IntoEnumIterator for AbilityTag
impl IntoEnumIterator for AbilityTag
type Iterator = AbilityTagIter
fn iter() -> AbilityTagIter ⓘ
Source§impl JsonSchema for AbilityTag
impl JsonSchema for AbilityTag
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more