pub enum PetFacet {
Show 20 variants
HeadStart,
SecondSpark,
BudgetPlan,
OpenTab,
Overtime,
MagicVolley,
SafetyNet,
Retaliation,
Calibration,
LuckyStar,
LeadReading,
WildReading,
AdvanceNotice,
RisingGate,
PreparedSlots,
FirstSpell,
Souvenir,
DreamReader,
PackedLunch,
LifeBloom,
}Expand description
One facet rule. Twenty of them: ten Real, ten Fantasy, in the pairs the design doc authors them in.
PET-07 Bridge Fox and PET-12 Encore Wisp of the doc are deliberately
absent: they are written against “Surplus” and “Flip Echo”, neither of which
exists in this codebase, and stubbing them would mean inventing two systems.
Variants§
HeadStart
Real. Every remaining Skill cooldown loses head_start_ticks.
SecondSpark
Fantasy. The next original Skill gets one derived repeat.
BudgetPlan
Real. The next N original casts pay a reduced Mana Cost.
OpenTab
Fantasy. The next original cast overpays Mana it can afford and turns the surcharge into payload.
Overtime
Real. A timed Attack Speed window.
MagicVolley
Fantasy. An immediate volley of derived bolts.
SafetyNet
Real. A timed incoming-damage reduction.
Retaliation
Fantasy. The next Core hit on the hero answers with a derived area burst.
Calibration
Real. The next N Core attacks carry extra Crit Chance.
LuckyStar
Fantasy. The next Core critical hit adds a derived burst.
LeadReading
Real. The next N activations of the chosen source Law bank extra Resonance into ITS bridge.
WildReading
Fantasy. The chosen active Law’s Effect is stronger for a window; its Resonance is not.
AdvanceNotice
Real. The new phase opens with a share of the Flip Gauge already filled.
RisingGate
Fantasy. The first N gear Trigger procs of the phase each add Gauge.
PreparedSlots
Real. The first ordinary proc of EACH gear slot in the phase runs stronger.
FirstSpell
Fantasy. The first ordinary gear Effect of the phase runs a second time.
Souvenir
Real. The next N Trigger procs each also run the paired hidden Effect.
DreamReader
Fantasy. The next suitable Core event wakes the chosen hidden Law.
PackedLunch
Real. An instant heal; overheal is discarded.
LifeBloom
Fantasy. A timed share of Core damage healed back.
Implementations§
Source§impl PetFacet
impl PetFacet
Sourcepub fn side(self) -> WorldSide
pub fn side(self) -> WorldSide
The world side this facet is painted on. A facet is only ever eligible for a die roll whose incoming side matches.
Sourcepub fn needs_law_choice(self) -> Option<PetFacetLawRole>
pub fn needs_law_choice(self) -> Option<PetFacetLawRole>
Whether this facet needs a player-chosen Law to act on.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PetFacet
impl<'de> Deserialize<'de> for PetFacet
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 FromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
impl FromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
Source§impl IntoEnumIterator for PetFacet
impl IntoEnumIterator for PetFacet
type Iterator = PetFacetIter
fn iter() -> PetFacetIter ⓘ
Source§impl IntoWasmAbi for PetFacet
impl IntoWasmAbi for PetFacet
Source§impl JsonSchema for PetFacet
impl JsonSchema for PetFacet
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 moreSource§impl OptionFromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for PetFacet
impl OptionIntoWasmAbi for PetFacet
Source§impl RefFromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
impl RefFromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
Self are recovered from.Source§impl Tsify for PetFacet
impl Tsify for PetFacet
const DECL: &'static str = "/**\n * One facet rule. Twenty of them: ten Real, ten Fantasy, in the pairs the\n * design doc authors them in.\n *\n * `PET-07 Bridge Fox` and `PET-12 Encore Wisp` of the doc are deliberately\n * absent: they are written against \\\"Surplus\\\" and \\\"Flip Echo\\\", neither of which\n * exists in this codebase, and stubbing them would mean inventing two systems.\n */\nexport type PetFacet = \"HeadStart\" | \"SecondSpark\" | \"BudgetPlan\" | \"OpenTab\" | \"Overtime\" | \"MagicVolley\" | \"SafetyNet\" | \"Retaliation\" | \"Calibration\" | \"LuckyStar\" | \"LeadReading\" | \"WildReading\" | \"AdvanceNotice\" | \"RisingGate\" | \"PreparedSlots\" | \"FirstSpell\" | \"Souvenir\" | \"DreamReader\" | \"PackedLunch\" | \"LifeBloom\";"
const SERIALIZATION_CONFIG: SerializationConfig
type JsType = JsType
fn into_js(&self) -> Result<Self::JsType, Error>where
Self: Serialize,
fn from_js<T>(js: T) -> Result<Self, Error>
Source§impl VectorFromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for PetFacetwhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for PetFacet
impl VectorIntoWasmAbi for PetFacet
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
impl Copy for PetFacet
impl Eq for PetFacet
impl StructuralPartialEq for PetFacet
Auto Trait Implementations§
impl Freeze for PetFacet
impl RefUnwindSafe for PetFacet
impl Send for PetFacet
impl Sync for PetFacet
impl Unpin for PetFacet
impl UnwindSafe for PetFacet
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.