pub struct KillFaucetSettings {Show 13 fields
pub direct_cookies_d: f64,
pub direct_cookie_currency_id: CurrencyId,
pub direct_cookie_tickets_per_kill: u8,
pub direct_cookie_p0: f64,
pub direct_cookie_b: f64,
pub law_copies_d: f64,
pub equipment_stones_d: f64,
pub artifact_stones_d: f64,
pub skill_chapter_currency_id: CurrencyId,
pub skill_chapter_cap_with_pass: i64,
pub skill_chapter_cap_after_pass: i64,
pub boss_gems_currency_id: CurrencyId,
pub boss_gems_daily_cap: i64,
}Expand description
Authored D_family for the families whose target does not move with the
chapter. [KillFaucetFamily::CoreEssence] is absent by design: its D is
R_value(ch) from the Core Essence chapter band.
D is the target amount for one canonical 60-minute active session in the
current progression band, and simultaneously the basis of the cap. Runtime
never derives it from observed kills/hour, session length or cohort
activity, and performs no adaptive normalization — a future kill family must
arrive with its own authored table.
Fields§
Every eligible ordinary campaign-mob death resolves this many INDEPENDENT
tickets in sequence. Each success grants one Cookie, advances the daily
x, and is shown to the player separately.
p0 — the chance on the first eligible ticket of the day.
b — the number of Cookies after which the chance halves to p0/2.
The curve is p(x) = min(1, p0 × b / (x + b)) with no probability floor;
the BAL-038 hard cap, not a floor, is what makes the day finite.
law_copies_d: f64§equipment_stones_d: f64§artifact_stones_d: f64§skill_chapter_currency_id: CurrencyId§skill_chapter_cap_with_pass: i64Exact daily campaign-boss budget while the Free Progress Pass road is
still active. Unlike D families, this is the final cap itself.
skill_chapter_cap_after_pass: i64Exact daily campaign-boss budget beginning with the next daily snapshot after the final Progress Pass tier has been unlocked.
boss_gems_currency_id: CurrencyId§boss_gems_daily_cap: i64Exact daily cap for Gems from campaign-boss deaths.
Implementations§
Source§impl KillFaucetSettings
impl KillFaucetSettings
Direct-Cookie ticket chance at granted Cookies already dropped today.
min(1, p0 × b / (x + b)) — the same a/(x+b) shape with a = p0 × b
rewritten into parameters a designer can reason about. Deliberately has
no probability floor: the day ends at the BAL-038 cap, not at a floor.
Trait Implementations§
Source§impl Clone for KillFaucetSettings
impl Clone for KillFaucetSettings
Source§fn clone(&self) -> KillFaucetSettings
fn clone(&self) -> KillFaucetSettings
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KillFaucetSettings
impl Debug for KillFaucetSettings
Source§impl<'de> Deserialize<'de> for KillFaucetSettings
impl<'de> Deserialize<'de> for KillFaucetSettings
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 From<KillFaucetSettings> for JsValuewhere
KillFaucetSettings: Serialize,
impl From<KillFaucetSettings> for JsValuewhere
KillFaucetSettings: Serialize,
Source§fn from(value: KillFaucetSettings) -> Self
fn from(value: KillFaucetSettings) -> Self
Source§impl FromWasmAbi for KillFaucetSettingswhere
Self: DeserializeOwned,
impl FromWasmAbi for KillFaucetSettingswhere
Self: DeserializeOwned,
Source§impl IntoWasmAbi for KillFaucetSettingswhere
KillFaucetSettings: Serialize,
impl IntoWasmAbi for KillFaucetSettingswhere
KillFaucetSettings: Serialize,
Source§impl JsonSchema for KillFaucetSettings
impl JsonSchema for KillFaucetSettings
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 KillFaucetSettingswhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for KillFaucetSettingswhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for KillFaucetSettingswhere
KillFaucetSettings: Serialize,
impl OptionIntoWasmAbi for KillFaucetSettingswhere
KillFaucetSettings: Serialize,
Source§impl RefFromWasmAbi for KillFaucetSettingswhere
Self: DeserializeOwned,
impl RefFromWasmAbi for KillFaucetSettingswhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
Self are recovered from.Source§type Anchor = SelfOwner<KillFaucetSettings>
type Anchor = SelfOwner<KillFaucetSettings>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl Serialize for KillFaucetSettings
impl Serialize for KillFaucetSettings
Source§impl Tsify for KillFaucetSettings
impl Tsify for KillFaucetSettings
const DECL: &'static str = "/**\n * Authored `D_family` for the families whose target does not move with the\n * chapter. [`KillFaucetFamily::CoreEssence`] is absent by design: its `D` is\n * `R_value(ch)` from the Core Essence chapter band.\n *\n * `D` is the target amount for one canonical 60-minute active session in the\n * current progression band, and simultaneously the basis of the cap. Runtime\n * never derives it from observed kills/hour, session length or cohort\n * activity, and performs no adaptive normalization \u{2014} a future kill family must\n * arrive with its own authored table.\n */\nexport interface KillFaucetSettings {\n direct_cookies_d: number;\n direct_cookie_currency_id: CurrencyId;\n /**\n * Every eligible ordinary campaign-mob death resolves this many INDEPENDENT\n * tickets in sequence. Each success grants one Cookie, advances the daily\n * `x`, and is shown to the player separately.\n */\n direct_cookie_tickets_per_kill: number;\n /**\n * `p0` \u{2014} the chance on the first eligible ticket of the day.\n */\n direct_cookie_p0: number;\n /**\n * `b` \u{2014} the number of Cookies after which the chance halves to `p0/2`.\n * The curve is `p(x) = min(1, p0 \u{d7} b / (x + b))` with no probability floor;\n * the BAL-038 hard cap, not a floor, is what makes the day finite.\n */\n direct_cookie_b: number;\n law_copies_d: number;\n equipment_stones_d: number;\n artifact_stones_d: number;\n skill_chapter_currency_id: CurrencyId;\n /**\n * Exact daily campaign-boss budget while the Free Progress Pass road is\n * still active. Unlike `D` families, this is the final cap itself.\n */\n skill_chapter_cap_with_pass: number;\n /**\n * Exact daily campaign-boss budget beginning with the next daily snapshot\n * after the final Progress Pass tier has been unlocked.\n */\n skill_chapter_cap_after_pass: number;\n boss_gems_currency_id: CurrencyId;\n /**\n * Exact daily cap for Gems from campaign-boss deaths.\n */\n boss_gems_daily_cap: number;\n}"
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 KillFaucetSettingswhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for KillFaucetSettingswhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for KillFaucetSettingswhere
KillFaucetSettings: Serialize,
impl VectorIntoWasmAbi for KillFaucetSettingswhere
KillFaucetSettings: Serialize,
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
Source§impl WasmDescribeVector for KillFaucetSettings
impl WasmDescribeVector for KillFaucetSettings
impl Copy for KillFaucetSettings
Auto Trait Implementations§
impl Freeze for KillFaucetSettings
impl RefUnwindSafe for KillFaucetSettings
impl Send for KillFaucetSettings
impl Sync for KillFaucetSettings
impl Unpin for KillFaucetSettings
impl UnwindSafe for KillFaucetSettings
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.