import{_ as e,c as t,o as d,a}from"./app.ab34650d.js";const p=JSON.parse('{"title":"Module: game/modifiers","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"Interfaces","slug":"interfaces"},{"level":2,"title":"Type Aliases","slug":"type-aliases"},{"level":3,"title":"ModifierFromOptionalParams","slug":"modifierfromoptionalparams"},{"level":2,"title":"Functions","slug":"functions"},{"level":3,"title":"createAdditiveModifier","slug":"createadditivemodifier"},{"level":3,"title":"createExponentialModifier","slug":"createexponentialmodifier"},{"level":3,"title":"createModifierSection","slug":"createmodifiersection"},{"level":3,"title":"createMultiplicativeModifier","slug":"createmultiplicativemodifier"},{"level":3,"title":"createSequentialModifier","slug":"createsequentialmodifier"}],"relativePath":"api/modules/game/modifiers.md","lastUpdated":null}'),o={name:"api/modules/game/modifiers.md"},i=a('

Module: game/modifiers

Interfaces

Type Aliases

ModifierFromOptionalParams

\u01AC ModifierFromOptionalParams<T, S>: T extends undefined ? S extends undefined ? Omit<WithRequired<Modifier, "revert">, "description" | "enabled"> : Omit<WithRequired<Modifier, "revert" | "enabled">, "description"> : S extends undefined ? Omit<WithRequired<Modifier, "revert" | "description">, "enabled"> : WithRequired<Modifier, "revert" | "enabled" | "description">

Utility type used to narrow down a modifier type that will have a description and/or enabled property based on optional parameters, T and S (respectively).

Type parameters

Name
T
S

Defined in

profectus/src/game/modifiers.tsx:39

Functions

createAdditiveModifier

\u25B8 createAdditiveModifier<T, S, R>(addend, description?, enabled?): R

Create a modifier that adds some value to the input value.

Type parameters

NameType
Textends undefined | Computable<CoercableComponent>
Sextends undefined | Computable<boolean>
RModifierFromOptionalParams<T, S>

Parameters

NameTypeDescription
addendComputable<DecimalSource>The amount to add to the input value.
description?TDescription of what this modifier is doing.
enabled?SA computable that will be processed and passed directly into the returned modifier.

Returns

R


createExponentialModifier

\u25B8 createExponentialModifier<T, S, R>(exponent, description?, enabled?): R

Create a modifier that raises the input value to the power of some value.

Type parameters

NameType
Textends undefined | Computable<CoercableComponent>
Sextends undefined | Computable<boolean>
RModifierFromOptionalParams<T, S>

Parameters

NameTypeDescription
exponentComputable<DecimalSource>The value to raise the input value to the power of.
description?TDescription of what this modifier is doing.
enabled?SA computable that will be processed and passed directly into the returned modifier.

Returns

R


createModifierSection

\u25B8 createModifierSection(title, subtitle, modifier, base?, unit?, baseText?): Element

Create a JSX element that displays a modifier. Intended to be used with the output from createSequentialModifier.

Parameters

NameTypeDefault valueDescription
titlestringundefinedThe header for the section.
subtitlestringundefinedSmaller text that appears in the header after the title.
modifierWithRequired<Modifier, "description">undefinedThe modifier to render.
baseDecimalSource1The base value that'll be passed into the modifier.
unitstring""The unit of the value being modified, if any.
baseTextCoercableComponent"Base"The label to use for the base value.

Returns

Element


createMultiplicativeModifier

\u25B8 createMultiplicativeModifier<T, S, R>(multiplier, description?, enabled?): R

Create a modifier that multiplies the input value by some value.

Type parameters

NameType
Textends undefined | Computable<CoercableComponent>
Sextends undefined | Computable<boolean>
RModifierFromOptionalParams<T, S>

Parameters

NameTypeDescription
multiplierComputable<DecimalSource>The value to multiply the input value by.
description?TDescription of what this modifier is doing.
enabled?SA computable that will be processed and passed directly into the returned modifier.

Returns

R


createSequentialModifier

\u25B8 createSequentialModifier<T, S>(...modifiers): S

Takes an array of modifiers and applies and reverses them in order. Modifiers that are not enabled will not be applied nor reversed. Also joins their descriptions together.

See

createModifierSection.

Type parameters

NameType
Textends Modifier[]
ST extends WithRequired<Modifier, "revert">[] ? WithRequired<Modifier, "description" | "revert"> : Omit<WithRequired<Modifier, "description">, "revert">

Parameters

NameTypeDescription
...modifiersTThe modifiers to perform sequentially.

Returns

S

',61),r=[i];function l(c,n,s,h,f,m){return d(),t("div",null,r)}var g=e(o,[["render",l]]);export{p as __pageData,g as default};