pub struct PetFacetSettings {Show 35 fields
pub rank_growth_permyriad: i64,
pub head_start_ticks: u64,
pub second_spark_percent: f64,
pub budget_plan_cost_multiplier: f64,
pub budget_plan_casts: i64,
pub open_tab_surcharge_percent: f64,
pub open_tab_payload_share_percent: f64,
pub overtime_attack_speed_percent: f64,
pub overtime_duration_ticks: u64,
pub magic_volley_bolts: i64,
pub magic_volley_percent: f64,
pub safety_net_reduction_percent: f64,
pub safety_net_duration_ticks: u64,
pub retaliation_percent: f64,
pub calibration_crit_percent: f64,
pub calibration_attacks: i64,
pub lucky_star_percent: f64,
pub lead_reading_resonance_percent: f64,
pub lead_reading_activations: i64,
pub wild_reading_effect_percent: f64,
pub wild_reading_duration_ticks: u64,
pub advance_notice_gauge_percent: f64,
pub rising_gate_procs: i64,
pub rising_gate_multiplier_l1: f64,
pub rising_gate_multiplier_l10: f64,
pub prepared_slots_percent: f64,
pub first_spell_percent: f64,
pub souvenir_procs: i64,
pub souvenir_percent: f64,
pub dream_reader_percent: f64,
pub packed_lunch_heal_percent: f64,
pub life_bloom_percent_l1: f64,
pub life_bloom_percent_l10: f64,
pub life_bloom_duration_ticks: u64,
pub power_q: Vec<PetFacetPowerQ>,
}Expand description
Tunables of Pet Facets / Team Die v0.
One flat settings singleton rather than a per-facet content catalog: the
twenty facets are RULES, authored in code
([essences::pet_facets::PetFacet]), and only their numbers are balance. A
catalog would have added twenty content objects, twenty translation records
and a link column on PetTemplate without making a single number more
tunable than it is here.
Percentages are whole percent (35.0 = +35%); every *_ticks value is
MILLISECONDS of fight clock (6_000 = 6 s).
Fields§
§rank_growth_permyriad: i64How much one pet level above the first raises every facet MAGNITUDE, in
permyriad (500 = +5% per level). Counts, durations and charge
numbers are deliberately NOT scaled: rank scales the numbers of a facet,
it never changes its rules.
head_start_ticks: u64§second_spark_percent: f64§budget_plan_cost_multiplier: f64§budget_plan_casts: i64§open_tab_surcharge_percent: f64§overtime_attack_speed_percent: f64§overtime_duration_ticks: u64§magic_volley_bolts: i64§magic_volley_percent: f64§safety_net_reduction_percent: f64§safety_net_duration_ticks: u64§retaliation_percent: f64§calibration_crit_percent: f64§calibration_attacks: i64§lucky_star_percent: f64§lead_reading_resonance_percent: f64§lead_reading_activations: i64§wild_reading_effect_percent: f64§wild_reading_duration_ticks: u64§advance_notice_gauge_percent: f64§rising_gate_procs: i64§rising_gate_multiplier_l1: f64§rising_gate_multiplier_l10: f64§prepared_slots_percent: f64§first_spell_percent: f64§souvenir_procs: i64§souvenir_percent: f64§dream_reader_percent: f64§packed_lunch_heal_percent: f64§life_bloom_percent_l1: f64§life_bloom_percent_l10: f64§life_bloom_duration_ticks: u64§power_q: Vec<PetFacetPowerQ>Implementations§
Source§impl PetFacetSettings
impl PetFacetSettings
Sourcepub fn rank_multiplier(&self, pet_level: i64) -> f64
pub fn rank_multiplier(&self, pet_level: i64) -> f64
Rank scaling of one facet magnitude: +rank_growth_permyriad per pet
level above the first. A level-1 pet plays exactly at the authored
numbers, which is what makes rank an amplifier rather than a gate.
Sourcepub fn level_interpolated(l1: f64, l10: f64, pet_level: i64) -> f64
pub fn level_interpolated(l1: f64, l10: f64, pet_level: i64) -> f64
BAL-014: a facet magnitude authored as L1/L10 endpoints, interpolated
linearly over pet levels 1..=10 — independent of
Self::rank_multiplier.
Sourcepub fn power_q_row(&self, facet: PetFacet) -> Option<&PetFacetPowerQ>
pub fn power_q_row(&self, facet: PetFacet) -> Option<&PetFacetPowerQ>
The authored Power row of facet, or None when the catalog has none
(which GameConfig::validate refuses, so production always has one).
Trait Implementations§
Source§impl Clone for PetFacetSettings
impl Clone for PetFacetSettings
Source§fn clone(&self) -> PetFacetSettings
fn clone(&self) -> PetFacetSettings
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PetFacetSettings
impl Debug for PetFacetSettings
Source§impl<'de> Deserialize<'de> for PetFacetSettings
impl<'de> Deserialize<'de> for PetFacetSettings
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 JsonSchema for PetFacetSettings
impl JsonSchema for PetFacetSettings
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