Expand description
Artifact combat runtime — the pure half.
The data lives in essences::artifacts and the knobs in
configs::artifacts; this module is the arithmetic and the per-fight
bookkeeping keys that turn them into behaviour. The orchestration — which
event runs which rule — is crate::logic::artifacts, and the Aspect rules
that ride on a trigger fire are woven into crate::logic::stones.
Like the stone runtime, all per-fight artifact state lives in the player
entity’s attributes, namespaced artifact.*: it resets exactly when the
fight’s entities are rebuilt, needs no schema or Unity change, and is reached
identically from the pure dispatch and from the monolith’s merged arms. No
attribute code is named artifact, so the namespace cannot collide with a
stat (crate::mechanics::fight::get_entity_stat composes <code>,
<code>.bonus and <code>.mod).
Structs§
- Hidden
Wake - How a hidden law may be woken on this event, by whichever source offers the most (design §3.3: the largest available multiplier, never the sum).
- LawColumn
Mods - Everything the right column does to the law runtime, resolved in ONE read.
- LawRule
Instance - One socketed Law-column stone, flattened to the numbers its rule needs.
Constants§
- AFTERIMAGE_
COUNT - How many trigger procs
FA-04 Afterimagehas already accompanied in this phase. - AFTERIMAGE_
REVISION - Flip revision (plus one) the
FA-04 Afterimagecounter belongs to. A new phase is a new count, and the marker is what tells the two apart. - FLIP_
ASPECT_ REVISION - Flip revision (plus one) the Flip-Aspect rule last ran for. One flip runs one
volley even if the
GlobalFlipevent is dispatched more than once. - LAST_
RESOLVED_ SLOT - Which slot resolved last, as
slot_order_marker. The two slot-order rules (VA-02 Alternator,VA-03 Focused Engine) are defined against “the previous slot”, and up to five slots answer one Core event, so the answer has to survive both the batch and the event boundary. - SHADOW_
CIRCLE_ DUE - Tick at which «Теневой круг» (
HA-02 Shadow Round) next fires. - SHADOW_
CIRCLE_ INDEX - Which slot «Теневой круг» visits next; it walks the two-sided slots in order and wraps.
- SLOT_
REPEAT_ STREAK - How many times in a row the same slot has resolved, counting repeats only:
0on a fresh slot,1on its first repeat.VA-03turns this into its stacking bonus.
Functions§
- crescendo_
multiplier - Strength multiplier
VA-01 Crescendoapplies to an effect fired right now. - equipped_
world_ law - The World Law of the worn artifact, or
Nonewhen nothing is worn. - flip_
threshold - The flip threshold this collection actually plays against.
- gauge_
fill - How full the gauge is, in
[0, 1], against the bar this player plays against. A nonsense bar reads as empty rather than dividing by zero. - law_
column_ mods - Reads the three Law sockets and the worn World Law into one value.
- opening_
five_ key - Flip revision (plus one) at which this slot’s effect last took the
VA-04 Opening Fivebonus.0means “not yet this fight” — hence the+ 1, so revision 0 is distinguishable from “never”. - ownership_
stat_ mods - The ownership bonus of a whole collection, as
("<code>.mod", permyriad)pairs ready forcalculate_entity_stats_with_mods. - share_
multiplier - Share of full strength a rule that rebroadcasts an effect fires it at («Фоновый голос», «Теневой круг», the two Flip rules).
- slot_
order_ marker - Position of
item_typein the order the slot rules resolve in, plus one. - socketed_
aspect - The stone in
sockettogether with its upgrade level, orNonewhen the socket is empty. - total_
multiplier - Strength multiplier for a rule that states the effect’s total strength as
a percentage (
VA-04 Opening Fiveat150%):100is plain. - warm_
start_ key - Flip revision (plus one) at which this slot’s effect last took its
FA-03 Warm Startrepeat. Same shape asopening_five_key, separate key: the two rules live in different sockets and are worn together.