Module ability_stones

Source

Structs§

AbilityStoneCompatibility
Which abilities a support accepts, as a predicate over AbilityTags.
AbilityStoneDrop
One granted stone copy, for the client drop popup and quest progression.
AbilityStoneMods
Aggregated numeric modifiers of the stones ACTIVE on one ability — the two sockets whose side matches the currently active crate::flip::WorldSide.
AbilityStoneOp
One operation of a support stone, with its rank scaling.
AbilityStoneSockets
Socketed ability stones: ability -> socket index -> stone template.
AbilityStoneTemplate
One ability stone in the catalog. Ability stones are their OWN collection — they never mix with item stones or artifact stones and cannot be socketed into their sockets.
DerivedCopies
One derived-copy shape produced by a support: count extra hits at payload of the ability’s payload. Derived hits are NOT Core events — they never re-run on_cast, never charge the pet bar and are tagged derived in their damage payload so no future law/trigger/mastery reader counts them.
OwnedAbilityStone
One owned ability-stone stack. Upgrades are paid in RAW COPIES of the same stone (the copies’ own level is irrelevant), so ownership is a per-template stack, not a bag of instances.
UpgradedAbilityStonesMap
What one UpgradeAllAbilityStones call actually changed: template id -> (from, to) level. Modelled on UpgradedStonesMap and used the same way — the client shows its result window from this.

Enums§

AbilityStoneFamily
Twelve exclusion families. Two supports of the SAME family may not sit in one Imprint (the two sockets of one side of one ability).
AbilityStoneOpKind
One operation a support stone performs on the ability it is socketed into.

Type Aliases§

AbilityStoneId
AbilityStoneSocketIndex
Index of one ability socket, 0..ability_stone_settings.sockets.len(). The socket — not the stone — carries the crate::flip::WorldSide, so the same stone fits any of the four sockets.