2023-04-08 01:50:59 +00:00
<!DOCTYPE html>
< html lang = "en-US" dir = "ltr" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< title > Formulas | Profectus< / title >
< meta name = "description" content = "A game engine that grows with you." >
2023-04-18 04:35:28 +00:00
< link rel = "preload stylesheet" href = "/assets/style.49aa32a7.css" as = "style" >
2023-04-08 01:50:59 +00:00
< script type = "module" src = "/assets/app.68642a14.js" > < / script >
< link rel = "preload" href = "/assets/inter-roman-latin.2ed14f66.woff2" as = "font" type = "font/woff2" crossorigin = "" >
< link rel = "modulepreload" href = "/assets/chunks/framework.0799945b.js" >
< link rel = "modulepreload" href = "/assets/chunks/theme.52324978.js" >
2023-04-19 05:06:57 +00:00
< link rel = "modulepreload" href = "/assets/guide_important-concepts_formulas.md.580bb12f.lean.js" >
2023-04-08 01:50:59 +00:00
< link rel = "stylesheet" href = "https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,600;1,400" >
< link rel = "apple-touch-icon" sizes = "180x180" href = "/apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/favicon-16x16.png" >
< link rel = "manifest" href = "/site.webmanifest" >
< script defer = "true" data-domain = "moddingtree.com" src = "https://plausible.io/js/plausible.js" > < / script >
< meta name = "og:description" content = "A game engine that grows with you" >
< meta name = "og:image" content = "/Logo.png" >
< / head >
< body >
2023-04-19 04:21:41 +00:00
< div id = "app" > < div class = "Layout" data-v-b2cf3e0b > <!-- [ --> <!-- ] --> <!-- [ --> < span tabindex = "-1" data-v-c8616af1 > < / span > < a href = "#VPContent" class = "VPSkipLink visually-hidden" data-v-c8616af1 > Skip to content < / a > <!-- ] --> <!-- --> < header class = "VPNav" data-v-b2cf3e0b data-v-7e5bc4a5 > < div class = "VPNavBar has-sidebar" data-v-7e5bc4a5 data-v-1d30fa41 > < div class = "container" data-v-1d30fa41 > < div class = "title" data-v-1d30fa41 > < div class = "VPNavBarTitle has-sidebar" data-v-1d30fa41 data-v-f4ef19a3 > < a class = "title" href = "/" data-v-f4ef19a3 > <!-- [ --> <!-- ] --> <!-- [ --> < img class = "VPImage logo" src = "/favicon.svg" alt data-v-6db2186b > <!-- ] --> <!-- [ --> Profectus<!-- ] --> <!-- [ --> <!-- ] --> < / a > < / div > < / div > < div class = "content" data-v-1d30fa41 > < div class = "curtain" data-v-1d30fa41 > < / div > < div class = "content-body" data-v-1d30fa41 > <!-- [ --> <!-- ] --> <!-- --> < nav aria-labelledby = "main-nav-aria-label" class = "VPNavBarMenu menu" data-v-1d30fa41 data-v-7f418b0f > < span id = "main-nav-aria-label" class = "visually-hidden" data-v-7f418b0f > Main Navigation< / span > <!-- [ --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink active" href = "/guide/" tabindex = "0" data-v-7f418b0f data-v-37adc828 data-v-8f4dc553 > <!-- [ --> Guide<!-- ] --> <!-- --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/api/overview" tabindex = "0" data-v-7f418b0f data-v-37adc828 data-v-8f4dc553 > <!-- [ --> API<!-- ] --> <!-- --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "https://forums.moddingtree.com" target = "_blank" rel = "noreferrer" tabindex = "0" data-v-7f418b0f data-v-37adc828 data-v-8f4dc553 > <!-- [ --> Forums<!-- ] --> < svg xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" focusable = "false" height = "24px" viewbox = "0 0 24 24" width = "24px" class = "icon" data-v-8f4dc553 > < path d = "M0 0h24v24H0V0z" fill = "none" > < / path > < path d = "M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z" > < / path > < / svg > < / a > <!-- ] --> <!-- ] --> < / nav > <!-- --> <!-- --> < div class = "VPSocialLinks VPNavBarSocialLinks social-links" data-v-1d30fa41 data-v-0394ad82 data-v-f6988cfb > <!-- [ --> < a class = "VPSocialLink" href = "https://discord.gg/F3xveHV" aria-label = "discord" target = "_blank" rel = "noopener" data-v-f6988cfb data-v-c530cc0a > < svg role = "img" viewBox = "0 0 24 24" xmlns = "http://www.w3.org/2000/svg" > < title > Discord< / title > < path d = "M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" / > < / svg > < / a > < a class = "VPSocialLink" href = "https://github.com/profectus-engine/Profectus" aria-label = "github" target = "_blank" rel = "noopener" data-v-f6988cfb data-v-c530cc0a > < svg role = "img" viewBox = "0 0 24 24" xmlns = "http://www.w3.org/2000/svg" > < title > GitHub< / title > < path d = "M12 . 297c-6 . 63 0-12 5 . 373-12 12 0 5 . 303 3 . 438 9 . 8 8 . 205 11 . 385 . 6 . 113 . 82- . 258 . 82- . 577 0- . 285- . 01-1 . 04- . 015-2 . 04-3 . 338 . 724-4 . 042-1 . 61-4 . 042-1 . 61C4 . 422 18 . 07 3 . 633 17 . 7 3 . 633 17 . 7c-1 . 087- . 744 . 084- . 729 . 084- . 729 1 . 205 . 084 1 . 838 1 . 236 1 . 838 1 . 236 1 . 07 1 . 835 2 . 809 1 . 305 3 . 495 . 998 . 108- . 776 . 417-1 . 305 . 76-1 . 605-2 . 665- . 3-5 .
2023-04-19 01:05:55 +00:00
< span class = "line" > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#F07178;" > requirements< / span > < span style = "color:#89DDFF;" > :< / span > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#82AAFF;" > createCostRequirement< / span > < span style = "color:#A6ACCD;" > (< / span > < span style = "color:#89DDFF;" > ()< / span > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#C792EA;" > => < / span > < span style = "color:#A6ACCD;" > (< / span > < span style = "color:#89DDFF;" > {< / span > < / span >
< span class = "line" > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#F07178;" > resource< / span > < span style = "color:#89DDFF;" > :< / span > < span style = "color:#A6ACCD;" > points< / span > < span style = "color:#89DDFF;" > ,< / span > < / span >
< span class = "line" > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#F07178;" > cost< / span > < span style = "color:#89DDFF;" > :< / span > < span style = "color:#A6ACCD;" > Formula< / span > < span style = "color:#89DDFF;" > .< / span > < span style = "color:#82AAFF;" > variable< / span > < span style = "color:#A6ACCD;" > (myRepeatable< / span > < span style = "color:#89DDFF;" > .< / span > < span style = "color:#A6ACCD;" > amount)< / span > < span style = "color:#89DDFF;" > .< / span > < span style = "color:#82AAFF;" > pow< / span > < span style = "color:#A6ACCD;" > (< / span > < span style = "color:#F78C6C;" > 1.05< / span > < span style = "color:#A6ACCD;" > )< / span > < span style = "color:#89DDFF;" > .< / span > < span style = "color:#82AAFF;" > times< / span > < span style = "color:#A6ACCD;" > (< / span > < span style = "color:#F78C6C;" > 100< / span > < span style = "color:#A6ACCD;" > )< / span > < / span >
< span class = "line" > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#89DDFF;" > }< / span > < span style = "color:#A6ACCD;" > ))< / span > < span style = "color:#89DDFF;" > ,< / span > < / span >
< span class = "line" > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#F07178;" > maximize< / span > < span style = "color:#89DDFF;" > :< / span > < span style = "color:#A6ACCD;" > < / span > < span style = "color:#FF9CAC;" > true< / span > < / span >
2023-04-19 05:06:57 +00:00
< span class = "line" > < span style = "color:#89DDFF;" > }< / span > < span style = "color:#A6ACCD;" > ))< / span > < span style = "color:#89DDFF;" > ;< / span > < / span > < / code > < / pre > < / div > < h2 id = "limitations" tabindex = "-1" > Limitations < a class = "header-anchor" href = "#limitations" aria-label = "Permalink to "Limitations"" > < / a > < / h2 > < h3 id = "single-variable" tabindex = "-1" > Single Variable < a class = "header-anchor" href = "#single-variable" aria-label = "Permalink to "Single Variable"" > < / a > < / h3 > < p > For inverting and integrating, formulas should have a single variable, which serves as the input. Although other parts of the formula can be computed values, they must not be dependent on the input variable for inverting or integrating purposes. Formulas work correctly as long as changing other parts of the formula doesn' t affect the input variable.< / p > < h3 id = "invertibility-and-integrability" tabindex = "-1" > Invertibility and Integrability < a class = "header-anchor" href = "#invertibility-and-integrability" aria-label = "Permalink to "Invertibility and Integrability"" > < / a > < / h3 > < p > Certain operations may not support inverting or integrating. Functions such as rounding or clamping are non-invertible, while others like super-log are non-integrable. You may only use a single complex operation in addition to add, sub, mult, and div operations. For formulas with two complex operations, a < a href = "#custom-formulas" > custom formula< / a > is required.< / p > < h3 id = "spending-resources" tabindex = "-1" > Spending Resources < a class = "header-anchor" href = "#spending-resources" aria-label = "Permalink to "Spending Resources"" > < / a > < / h3 > < p > When working with formulas, the < code > spendResources< / code > property determines whether the formula needs to be invertible or integrable. The property is used in two utilities: < a href = "/api/modules/game/formulas/formulas#calculatemaxaffordable" > calculateMaxAffordable< / a > and < a href = "/api/modules/game/formulas/formulas#calculatecost" > calculateCost< / a > . These utilities are ultimately employed wherever formulas are used, such as in cost requirements or conversions.< / p > < p > Spending resources refers to whether max affordability and cost calculations should account for resources spent. If spending resources is set to true, the formula will be integrated and inverted, albeit with certain limitations. For example, exponential modifiers and soft caps can make a formula non-integrable.< / p > < p > Consider a simple formula that returns the input value as the cost. For example, to make three sequential purchases, the costs would be 1, 2, and 3, totaling 6. When resources are spent, making three purchases in a single operation will cost a total of 6. However, if resources are not spent, the cost would only be 3, the cost of the last purchase. Accounting for resources being spent means that the overall cost calculation reflects the cumulative costs of multiple purchases.< / p > < p > Integration in this context is an estimation, as it calculates the area under a continuous curve, while actual purchases occur at integer values. This means that calculating max affordable might overshoot and the cost at that amount might undershoot. To help address this, the < code > summedPurchases< / code > property can be used, which manually sums the last X purchases, reducing the error margin. This also ensures higher accuracy when the player makes fewer purchases at once, which is when accuracy is most relevant. For larger numbers of purchases, a slight overshoot or undershoot is typically acceptable.< / p > < h3 id = "modifiers" tabindex = "-1" > Modifiers < a class = "header-anchor" href = "#modifiers" aria-label = "Permalink to "Modifiers"" > < / a > < / h3 > < p > When applying changes to a formula using < a href = "/api/modules/game/modifiers" > modifiers< / a > , use the < code > modifierToFormula< / code > utility to apply the modifier while preserving invertibility if the modifier is invertible.< / p > < h3 id = "custom-formulas" tabindex = "-1" > Custom Formulas < a class = "header-anchor" href = "#custom-formulas" aria-label = "Permalink to "Custom Formulas"" > < / a > < / h3 > < p > If the existing fu
< script > _ _ V P _ H A S H _ M A P _ _ = J S O N . p a r s e ( " { \ " a p i _ m o d u l e s _ f e a t u r e s _ u p g r a d e . m d \ " : \ " e 9 7 4 2 3 0 6 \ " , \ " a p i _ m o d u l e s _ g a m e _ f o r m u l a s _ f o r m u l a s . m d \ " : \ " 7 e 7 7 b e 2 5 \ " , \ " a p i _ m o d u l e s _ g a m e _ f o r m u l a s _ o p e r a t i o n s . m d \ " : \ " 7 7 9 8 6 a 0 3 \ " , \ " a p i _ m o d u l e s _ g a m e _ f o r m u l a s _ t y p e s . m d \ " : \ " d 6 0 3 2 4 2 c \ " , \ " a p i _ m o d u l e s _ g a m e _ g a m e l o o p . m d \ " : \ " a a 1 9 5 3 0 0 \ " , \ " a p i _ m o d u l e s _ g a m e _ l a y e r s . m d \ " : \ " 7 c 4 5 b 0 a e \ " , \ " a p i _ m o d u l e s _ g a m e _ m o d i f i e r s . m d \ " : \ " f d 2 b f 5 9 1 \ " , \ " a p i _ m o d u l e s _ g a m e _ n o t i f i c a t i o n s . m d \ " : \ " 9 e 2 f 9 c 0 d \ " , \ " a p i _ m o d u l e s _ g a m e _ p e r s i s t e n c e . m d \ " : \ " 6 5 f f 3 5 9 0 \ " , \ " a p i _ m o d u l e s _ g a m e _ r e q u i r e m e n t s . m d \ " : \ " c 3 d 8 1 4 a 1 \ " , \ " a p i _ m o d u l e s _ g a m e _ s e t t i n g s . m d \ " : \ " 9 b e 4 8 6 0 a \ " , \ " a p i _ m o d u l e s _ g a m e _ s t a t e . m d \ " : \ " 8 c 3 8 3 2 5 0 \ " , \ " a p i _ m o d u l e s _ l i b _ c o l l a p s e t r a n s i t i o n . m d \ " : \ " 3 7 a 9 2 5 e 1 \ " , \ " a p i _ m o d u l e s _ l i b _ p i x i . m d \ " : \ " 2 b 4 2 6 2 5 2 \ " , \ " a p i _ m o d u l e s _ l i b _ p w a - r e g i s t e r . m d \ " : \ " 1 b d 3 c 6 c 7 \ " , \ " a p i _ m o d u l e s _ l i b _ v u e - p a n z o o m . m d \ " : \ " b f c 3 2 f f 5 \ " , \ " a p i _ m o d u l e s _ l i b _ v u e - t e x t a r e a - a u t o s i z e . m d \ " : \ " a 9 2 5 9 1 e c \ " , \ " a p i _ m o d u l e s _ u t i l _ b i g n u m . m d \ " : \ " 1 a 9 c 9 e 5 0 \ " , \ " a p i _ m o d u l e s _ u t i l _ c o m m o n . m d \ " : \ " 3 4 3 9 5 3 e 6 \ " , \ " a p i _ m o d u l e s _ u t i l _ c o m p u t e d . m d \ " : \ " 6 6 1 8 7 4 a 7 \ " , \ " a p i _ m o d u l e s _ u t i l _ p r o x i e s . m d \ " : \ " 3 5 0 b 0 0 5 4 \ " , \ " a p i _ m o d u l e s _ u t i l _ s a v e . m d \ " : \ " 4 4 f 0 9 6 e 7 \ " , \ " a p i _ m o d u l e s _ u t i l _ v u e . m d \ " : \ " c c 4 1 9 9 1 2 \ " , \ " a p i _ o v e r v i e w . m d \ " : \ " 8 8 c c e b 3 8 \ " , \ " g u i d e _ a d v a n c e d - c o n c e p t s _ c r e a t i n g - f e a t u r e s . m d \ " : \ " b 9 d b a b 8 9 \ " , \ " g u i d e _ a d v a n c e d - c o n c e p t s _ d y n a m i c - l a y e r s . m d \ " : \ " 1 1 4 7 9 b 1 9 \ " , \ " g u i d e _ a d v a n c e d - c o n c e p t s _ n o d e s . m d \ " : \ " 7 7 5 5 4 7 0 e \ " , \ " g u i d e _ c r e a t i n g - y o u r - p r o j e c t _ c h a n g e l o g . m d \ " : \ " 6 f 3 9 e b 0 d \ " , \ " g u i d e _ c r e a t i n g - y o u r - p r o j e c t _ p r o j e c t - e n t r y . m d \ " : \ " d 9 f 7 9 2 9 9 \ " , \ " g u i d e _ c r e a t i n g - y o u r - p r o j e c t _ p r o j e c t - i n f o . m d \ " : \ " 2 e d 5 c a 9 4 \ " , \ " g u i d e _ c r e a t i n g - y o u r - p r o j e c t _ t h e m e s . m d \ " : \ " 7 e 3 e 4 7 5 d \ " , \ " g u i d e _ c r e a t i n g - y o u r - p r o j e c t _ u t i l s . m d \ " : \ " 9 0 e 8 7 9 3 8 \ " , \ " g u i d e _ g e t t i n g - s t a r t e d _ e x a m p l e s . m d \ " : \ " 3 4 b 6 f 3 4 4 \ " , \ " g u i d e _ g e t t i n g - s t a r t e d _ f i r s t - l a y e r . m d \ " : \ " f d 5 9 5 7 3 f \ " , \ " g u i d e _ g e t t i n g - s t a r t e d _ s e t u p . m d \ " : \ " 1 1 4 6 4 4 a 7 \ " , \ " g u i d e _ g e t t i n g - s t a r t e d _ u p d a t i n g . m d \ " : \ " b 6 0 5 9 4 d 2 \ " , \ " g u i d e _ i m p o r t a n t - c o n c e p t s _ c o e r c a b l e . m d \ " : \ " 7 f 7 9 c 3 7 9 \ " , \ " g u i d e _ i m p o r t a n t - c o n c e p t s _ f e a t u r e s . m d \ " : \ " 9 6 e 4 a e 5 6 \ " , \ " g u i d e _ i m p o r t a n t - c o n c e p t s _ f o r m u l a s . m d \ " : \ " 5 8 0 b b 1 2 f \ " , \ " g u i d e _ i m p o r t a n t - c o n c e p t s _ l a y e r s . m d \ " : \ " 7 5 c f 9 1 0 9 \ " , \ " g u i d e _ i m p o r t a n t - c o n c e p t s _ p e r s i s t e n c e . m d \ " : \ " 7 3 9 a b 8 1 4 \ " , \ " g u i d e _ i m p o r t a n t - c o n c e p t s _ r e a c t i v i t y . m d \ " : \ " d 9 7 e f 4 a d \ " , \ " g u i d e _ m i g r a t i o n s _ 0 - 6 . m d \ " : \ " a e f b 2 b b 2 \ " , \ " g u i d e _ r e c i p e s _ p a r t i c l e s . m d \ " : \ " 9 a 5 8 c 9 6 5 \ " , \ " g u i d e _ r e c i p e s _ p r e s t i g e . m d \ " : \ " 2 3 2 5 d e c 7 \ " , \ " a p i _ m o d u l e s _ g a m e _ p l a y e r . m d \ " : \ " 2 f f 2 3 9 7 0 \ " , \ " a p i _ m o d u l e s _ l i b _ l r u - c a c h e . m d \ " : \ " 0 d 6 d f 6 b 0 \ " , \ " a p i _ m o d u l e s _ f e a t u r e s _ l i n k s . m d \ " : \ " 5 2 9 9 f c 5 a \ " , \ " g u i d e _ i m p o r t a n t - c o n c e p t s _ r e q u i r e m e n t s . m d \ " : \ " b c 5 4 f 0 9 8 \ " , \ " g u i d e _ i n d e x . m d \ " : \ " 9 9 9 c 1 2 b 6 \ " , \ " a p i _ m o d u l e s _ f e a t u r e s _ r e p e a t a b l e . m d \ " : \ " 3 d 7 7 d 9 b a \ " , \ " a p i _ m o d u l e s _ f e a t u r e s _ r e s e t . m d \ " : \ " b 1 a 8 0 c c e \ " , \ " a p i _ m o d u l e s _ f e a t u r e s _ r e s o u r c e . m d \ " : \ " e 6 e e 2 6 a 1 \ " , \ " a p i _ c o m p o n e n t s _ l a y o u t _ s t i c k y c o m p o n e n t . m d \ " : \ " 3 6 0 5 e 9 7 0 \ " , \ " a p i _ m o d u l e s _ f e a t u r e s _ t a b s _ t a b . m d \ " : \ " e 5 8 6 7 e 5 9 \ " , \ " a p i _ m o d u l e s _ f e a t u r e s _ t o o l t i p . m d \ " : \ " 4 8 8 5 1 4 6 4 \ " , \ " a p i _ m o d u l e s _ u t i l _ b r e a k _ e t e r n i t y . m d \ " : \ " 3 0 0 3 c 9 4 7 \ " , \ " a p i _ c o m p o n e n t s _ c o n t e x t c o m p o n e n t . m d \ " : \ " 0 8 8 c d 8 f b \ " , \ " a p i _ c o m p o n e n t s _ h o t k e y c o m p o n e n t . m d \ " : \ " 9 4 a f 8 a 7 7 \ " , \ " a p i _ c o m p o n e n t s _ i n f o c o m p o n e n t . m d \ " : \ " 5 e 7 e d 9 0 6 \ " , \ " a p i _ c o m p o n e n t s _ l a y e r c o m p o n e n t . m d \ " : \ " f b 5 a 9 1 a f \ " , \ " a p i _ c o m p o n e n t s _ m a r k n o d e c o m p o n e n t . m d \ " : \ " 9 5 c e 4 d 1 c \ " , \ " a p i _ c o m p o n e n t s _ m o d a l c o m p o n e n t . m d \ " : \ " 4 0 9 8 9 4 1 0 \ " , \ " a p i _ c o m p o n e n t s _ n o d e c o m p o n e n t . m d \ " : \ " 6 c 6 0 7 f e b \ " , \ " a p i _ c o m p o n e n t s _ s a v e c o m p o n e n t . m d \ " : \ " b c 1 4 d 9 3 1 \ " , \ " a p i _ c o m p o n e n t s _ f i e l d s _ d a n g e r b u t t o n c o m p o n e n t . m d \ " : \ " 4 3 a e a 0 0 b \ " , \ " a p i _ c o m p o n e n t s _ f i e l d s _ f e e d b a c k b u t t o n c o m p o n e n t . m d \ " : \ " 3 0 2 2 1 1 7 b \ " , \ " a p i _ c o m p o n e n t s _ f i e l d s _ s e l e c t c o m p o n e n t . m d \ " : \ " a c e 2 b b 0 1 \ " , \ " a p i _ c o m p o n e n t s _ f i e l d s _ s l i d e r c o m p o n e n t . m d \ " : \ " d e 4 f 5 c d 1 \ " , \ " a p i _ c o m p o n e n t s _ f i e l d s _ t e x t c o m p o n e n t . m d \ " : \ " 0 3 9 d b c e a \ " , \ " a p i _ c o m p o n e n t s _ f i e l d s _ t o g g l e c o m p o n e n t . m d \ " : \ " 0 1 2 6 6 9 2 d \ " , \ " a p i _ c o m p o n e n t s _ l a y o u t _ c o l l a p s i b l e c o m p o n e n t . m d \ " : \ " b 7 9 2 d 4 5 f \ " , \ " a p i _ c o m p o n e n t s _ l a y o u t _ c o l u m n c o m p o n e n t . m d \ " : \ " 0 a 3 1 c e 3 3 \ " , \ " a p i _ c o m p o n e n t s _ l a y o u t _ r o w c o m p o n e n t . m d \ " : \ " 2 f 1 b 6 0 7 9 \ " , \ " g u i d e _ r e c i p e s _ s a v e - p r o g r e s s . m d \ " : \ " f f 3 b d 9 0 8 \ " , \ " a p i _ c o m p o n e n t s _ l a y o u t _ v e r t i c a l r u l e c o m p o n e n t . m d \ " : \ " 8 7 2 7 0 8 0 3 \ " , \ " a p i _ m o d u l e s _ f e a t u r e s _ t a b s _ t a b f a m i l y . m d \ " : \ " f 3 5 3 d 8 9 9 \ " , \ " a p i _ c o m p o n e n t s _ m a t h _ s q r t c o m p o n e n t . m d \ " : \ " a 6 1 0 f b 3 0 \ " , \ " a p i _ m o d u l e s _ d a t a _ c o m m o n . m d \ " : \ " a f 9 c 5 c e 0 \ " , \ " a p i _
2023-04-19 04:21:41 +00:00
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Profectus\",\"description\":\"A game engine that grows with you.\",\"base\":\"/\",\"head\":[],\"appearance\":false,\"themeConfig\":{\"logo\":\"/favicon.svg\",\"editLink\":{\"pattern\":\"https://github.com/profectus-engine/profectus-docs/edit/main/docs/:path\",\"editLinkText\":\"Edit this page on GitHub\"},\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/\",\"activeMatch\":\"^/guide/\"},{\"text\":\"API\",\"link\":\"/api/overview\",\"activeMatch\":\"^/api/\"},{\"text\":\"Forums\",\"link\":\"https://forums.moddingtree.com\"}],\"socialLinks\":[{\"icon\":\"discord\",\"link\":\"https://discord.gg/F3xveHV\"},{\"icon\":\"github\",\"link\":\"https://github.com/profectus-engine/Profectus\"}],\"sidebar\":{\"/guide/\":[{\"text\":\"Getting Started\",\"collapsed\":false,\"items\":[{\"text\":\"Introduction\",\"link\":\"/guide/\"},{\"text\":\"Setting Up\",\"link\":\"/guide/getting-started/setup\"},{\"text\":\"Updating Profectus\",\"link\":\"/guide/getting-started/updating\"},{\"text\":\"Your First Layer\",\"link\":\"/guide/getting-started/first-layer\"},{\"text\":\"Example Projects\",\"link\":\"/guide/getting-started/examples\"},{\"text\":\"Profectus Changelog\",\"link\":\"https://github.com/profectus-engine/Profectus/blob/main/CHANGELOG.md\"}]},{\"text\":\"Creating Your Project\",\"collapsed\":false,\"items\":[{\"text\":\"Project Info\",\"link\":\"/guide/creating-your-project/project-info\"},{\"text\":\"Project Entry\",\"link\":\"/guide/creating-your-project/project-entry\"},{\"text\":\"Changelog\",\"link\":\"/guide/creating-your-project/changelog\"},{\"text\":\"Themes\",\"link\":\"/guide/creating-your-project/themes\"},{\"text\":\"Utilities\",\"link\":\"/guide/creating-your-project/utils\"}]},{\"text\":\"Important Concepts\",\"collapsed\":false,\"items\":[{\"text\":\"Layers\",\"link\":\"/guide/important-concepts/layers\"},{\"text\":\"Features\",\"link\":\"/guide/important-concepts/features\"},{\"text\":\"Coercable Components\",\"link\":\"/guide/important-concepts/coercable\"},{\"text\":\"Reactivity\",\"link\":\"/guide/important-concepts/reactivity\"},{\"text\":\"Persistence\",\"link\":\"/guide/important-concepts/persistence\"},{\"text\":\"Requirements\",\"link\":\"/guide/important-concepts/requirements\"},{\"text\":\"Formulas\",\"link\":\"/guide/important-concepts/formulas\"}]},{\"text\":\"Recipes\",\"collapsed\":false,\"items\":[{\"text\":\"Prestige Mechanic\",\"link\":\"/guide/recipes/prestige\"},{\"text\":\"Display Save Progress\",\"link\":\"/guide/recipes/save-progress\"},{\"text\":\"Display Particle Effect\",\"link\":\"/guide/recipes/particles\"}]},{\"text\":\"Advanced Concepts\",\"collapsed\":false,\"items\":[{\"text\":\"Creating Features\",\"link\":\"/guide/advanced-concepts/creating-features\"},{\"text\":\"Dynamic Layers\",\"link\":\"/guide/advanced-concepts/dynamic-layers\"},{\"text\":\"Nodes\",\"link\":\"/guide/advanced-concepts/nodes\"}]},{\"text\":\"Migrations\",\"collapsed\":true,\"items\":[{\"text\":\"0.5.X to 0.6.0\",\"link\":\"/guide/migrations/0-6\"}]}],\"/api/\":[{\"text\":\"Components\",\"collapsed\":true,\"items\":[{\"text\":\"Fields\",\"items\":[{\"text\":\" Danger Button Component\",\"link\":\"/api/components/fields/DangerButtonComponent.html\"},{\"text\":\" Feedback Button Component\",\"link\":\"/api/components/fields/FeedbackButtonComponent.html\"},{\"text\":\" Select Component\",\"link\":\"/api/components/fields/SelectComponent.html\"},{\"text\":\" Slider Component\",\"link\":\"/api/components/fields/SliderComponent.html\"},{\"text\":\" Text Component\",\"link\":\"/api/components/fields/TextComponent.html\"},{\"text\":\" Toggle Component\",\"link\":\"/api/components/fields/ToggleComponent.html\"}],\"collapsed\":true},{\"text\":\"Layout\",\"items\":[{\"text\":\" Collapsible Component\",\"link\":\"/api/components/layout/CollapsibleComponent.html\"},{\"text\":\" Column Component\",\"link\":\"/api/components/layout/ColumnComponent.html\"},{\"text\":\" Row Component\",\"link\":\"/api/components/layout/RowComponent.html\"},{\"text\":\" Spa
2023-04-08 01:50:59 +00:00
< / body >
< / html >