pages/public/lit/docs/layer-features/index.html

36 lines
39 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Layer Features | The Paper Pilot</title>
<meta name="description" content="The Paper Pilot portfolio site">
<link rel="stylesheet" href="/assets/style.1dbbf581.css">
<link rel="modulepreload" href="/assets/app.1a35c4a8.js">
<link rel="modulepreload" href="/assets/public_lit_docs_layer-features.md.4c0707b5.lean.js">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Pacifico&amp;family=Roboto+Mono:ital,wght@0,400;0,600;1,400&amp;display=swap">
<link rel="manifest" href="/site.webmanifest">
<script defer="true" data-domain="thepaperpilot.org" src="https://plausible.io/js/plausible.js"></script>
<meta name="og:description" content="The Paper Pilot portfolio site">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-f44a984a><!--[--><!--]--><!--[--><span tabindex="-1" data-v-151f2593></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-151f2593> Skip to content </a><!--]--><!----><header class="VPNav no-sidebar" data-v-f44a984a data-v-a50780ff><div class="VPNavBar" data-v-a50780ff data-v-6f1d18b5><div class="container" data-v-6f1d18b5><div class="VPNavBarTitle" data-v-6f1d18b5 data-v-d5925166><a class="title" href="/" data-v-d5925166><!--[--><!--]--><!----><!--[-->The Paper Pilot<!--]--><!--[--><!--]--></a></div><div class="content" data-v-6f1d18b5><!--[--><!--]--><!----><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6f1d18b5 data-v-f83db6ba><span id="main-nav-aria-label" class="visually-hidden" data-v-f83db6ba>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide-to-incrementals/" data-v-f83db6ba data-v-47a2263e data-v-3c355974><!--[-->Guide to Incrementals<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/projects/" data-v-f83db6ba data-v-47a2263e data-v-3c355974><!--[-->Projects<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="https://moddingtree.com" target="_blank" rel="noreferrer" data-v-f83db6ba data-v-47a2263e data-v-3c355974><!--[-->Profectus<!--]--><!----></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6f1d18b5 data-v-a3e7452b><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-a3e7452b data-v-481098f9 data-v-eba7420e><span class="check" data-v-eba7420e><span class="icon" data-v-eba7420e><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-481098f9><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-481098f9><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6f1d18b5 data-v-738bef5a data-v-f6988cfb><!--[--><a class="VPSocialLink" href="https://github.com/thepaperpilot" target="_blank" rel="noopener" data-v-f6988cfb data-v-e57698f6><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.2
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">p</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;">// What the hotkey button is. Use uppercase if it&#39;s combined with shift, or &quot;ctrl+x&quot; for holding down ctrl.</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">description</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">p: reset your points for prestige points</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;">// The description of the hotkey that is displayed in the game&#39;s How To Play tab</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">onPress</span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">if</span><span style="color:#F07178;"> (</span><span style="color:#A6ACCD;">player</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">p</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">unlocked</span><span style="color:#F07178;">) </span><span style="color:#82AAFF;">doReset</span><span style="color:#F07178;">(</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">p</span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">) </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#A6ACCD;">]</span></span>
<span class="line"></span></code></pre></div></li><li><p>style: <strong>optional</strong>. a &quot;CSS object&quot; where the keys are CSS attributes, containing any CSS that should affect this layer&#39;s entire tab.</p></li><li><p>tabFormat: <strong>optional</strong>. use this if you want to add extra things to your tab or change the layout. <a href="./custom-tab-layouts">See here for more info.</a></p></li><li><p>midsection: <strong>optional</strong>, an alternative to <code>tabFormat</code>, which is inserted in between Milestones and Buyables in the standard tab layout. (cannot do subtabs)</p></li></ul><h2 id="big-features-all-optional" tabindex="-1">Big features (all optional) <a class="header-anchor" href="#big-features-all-optional" aria-hidden="true">#</a></h2><ul><li><p>upgrades: A grid of one-time purchases which can have unique upgrade conditions, currency costs, and bonuses. <a href="./upgrades">See here for more info.</a></p></li><li><p>milestones: A list of bonuses gained upon reaching certain thresholds of a resource. Often used for automation/QOL. <a href="./milestones">See here for more info.</a></p></li><li><p>challenges: The player can enter challenges, which make the game harder. If they reach a goal and beat the challenge, they recieve a bonus. <a href="./challenges">See here for more info.</a></p></li><li><p>buyables: Effectively upgrades that can be bought multiple times, and are optionally respeccable. Many uses. <a href="./buyables">See here for more info.</a></p></li><li><p>clickables: Extremely versatile and generalized buttons which can only be clicked sometimes. <a href="./clickables">See here for more info.</a></p></li><li><p>microtabs: An area that functions like a set of subtabs, with buttons at the top changing the content within. (Advanced) <a href="./subtabs-and-microtabs">See here for more info.</a></p></li><li><p>bars: Display some information as a progress bar, gague, or similar. They are highly customizable, and can be vertical as well. <a href="./bars">See here for more info.</a></p></li><li><p>achievements: Kind of like milestones, but with a different display style and some other differences. Extra features are on the way at a later date! <a href="./achievements">See here for more info.</a></p></li><li><p>infoboxes: Displays some text in a box that can be shown or hidden. <a href="./infoboxes">See here for more info.</a></p></li><li><p>achievementPopups, milestonePopups: <strong>optional</strong>, If false, disables popup message when you get the achievement/milestone. True by default.</p></li></ul><h2 id="prestige-formula-features" tabindex="-1">Prestige formula features <a class="header-anchor" href="#prestige-formula-features" aria-hidden="true">#</a></h2><ul><li><p>type: <strong>optional</strong>. Determines which prestige formula you use. Defaults to &quot;none&quot;.</p><ul><li>&quot;normal&quot;: The amount of currency you gain is independent of its current amount (like Prestige). The formula before bonuses is based on <code>baseResource^exponent</code></li><li>&quot;static&quot;: The cost is dependent on your total after reset. The formula before bonuses is based on <code>base^(x^exponent)</code></li><li>&quot;custom&quot;: You can define everything, from the calculations to the text on the button, yourself. (See more at the bottom)</li><li>&quot;none&quot;: This layer does not prestige, and therefore does not need any of the other features in this section.</li></ul></li><li><p>baseResource: The name of the resource that determines how much of the main currency you gain on reset.</p></li><li><p>baseAmount(): A function that gets the current value of the base resource.</p></li><li><p>requires: A Decimal, the amount of the base needed to gain 1 of the prestige currency. Also the amount required to unlock the layer. You can instead make this a function, to make it harder if another layer was unlocked first (based on unlockOrder).</p></li><li><p>exponent: Used as described above.</p></li><li><p>base: <strong>sometimes required</strong>. required for &quot;static&quot; layer
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">challenge</span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">() </span><span style="color:#89DDFF;">{</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">{</span><span style="color:#89DDFF;">&#39;</span><span style="color:#F07178;">height</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">200px</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">}</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">},</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">prestige-button</span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">() </span><span style="color:#89DDFF;">{</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">{</span><span style="color:#89DDFF;">&#39;</span><span style="color:#F07178;">color</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">#AA66AA</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">}</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre></div><h2 id="custom-prestige-type" tabindex="-1">Custom Prestige type <a class="header-anchor" href="#custom-prestige-type" aria-hidden="true">#</a></h2><p>(All of these can also be used by other prestige types)</p><ul><li><p>getResetGain(): <strong>mostly for custom prestige type</strong>. Returns how many points you should get if you reset now. You can call <code>getResetGain(this.layer, useType = &quot;static&quot;)</code> or similar to calculate what your gain would be under another prestige type (provided you have all of the required features in the layer).</p></li><li><p>getNextAt(canMax=false): <strong>mostly for custom prestige type</strong>. Returns how many of the base currency you need to get to the next point. <code>canMax</code> is an optional variable used with Static-ish layers to differentiate between if it&#39;s looking for the first point you can reset at, or the requirement for any gain at all (Supporting both is good). You can also call <code>getNextAt(this.layer, canMax=false, useType = &quot;static&quot;)</code> or similar to calculate what your next at would be under another prestige type (provided you have all of the required features in the layer).</p></li><li><p>canReset(): <strong>mostly for custom prestige type</strong>. Return true only if you have the resources required to do a prestige here.</p></li><li><p>prestigeNotify(): <strong>mostly for custom prestige types</strong>, returns true if this layer should be subtly highlighted to indicate you can prestige for a meaningful gain.</p></li></ul></div></div></main><!--[--><!--]--><!----><!--[--><!--]--></div></div></div></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide-to-incrementals_design_introduction.md\":\"2f51d736\",\"guide-to-incrementals_index.md\":\"df34be4d\",\"guide-to-incrementals_ludology_appeal-developers.md\":\"896f4b78\",\"guide-to-incrementals_ludology_appeal-gamers.md\":\"47d7a85e\",\"guide-to-incrementals_ludology_content.md\":\"aa7d5f86\",\"guide-to-incrementals_ludology_definition.md\":\"dc0f7a47\",\"index.md\":\"fc44bc4e\",\"projects_babble_index.md\":\"baa1b8f3\",\"projects_citadel_index.md\":\"cd9bbb3c\",\"projects_dice_index.md\":\"ff7a70b1\",\"projects_index.md\":\"46458d59\",\"projects_optispeech_index.md\":\"f90baa38\",\"projects_vecs_index.md\":\"af5d38ca\",\"public_gamedevtree_2.0-format-changes.md\":\"6b37551b\",\"public_gamedevtree_readme.md\":\"031977b1\",\"public_gamedevtree_changelog.md\":\"1dcc9c4e\",\"public_gamedevtree_docs_!general-info.md\":\"fa5bfa7c\",\"public_gamedevtree_docs_achievements.md\":\"d16e1607\",\"public_gamedevtree_docs_bars.md\":\"23eaab75\",\"public_gamedevtree_docs_basic-layer-breakdown.md\":\"1ec628e2\",\"public_gamedevtree_docs_buyables.md\":\"45a34590\",\"public_gamedevtree_docs_challenges.md\":\"d18169fe\",\"public_gamedevtree_docs_clickables.md\":\"a31a81eb\",\"public_gamedevtree_docs_custom-tab-layouts.md\":\"de1198ee\",\"public_gamedevtree_docs_getting-started.md\":\"4d9a75f1\",\"public_gamedevtree_docs_infoboxes.md\":\"690a6730\",\"public_gamedevtree_docs_layer-features.md\":\"aac7e152\",\"public_gamedevtree_docs_main-mod-info.md\":\"aa2106cb\",\"public_gamedevtree_docs_milestones.md\":\"7bf051ca\",\"public_gamedevtree_docs_subtabs-and-microtabs.md\":\"22b38e59\",\"public_gamedevtree_docs_updating-tmt.md\":\"a7d82720\",\"public_gamedevtree_docs_upgrades.md\":\"2a845b0f\",\"public_kronos_old things_2.0-format-changes.md\":\"5520ab5c\",\"public_kronos_readme.md\":\"b2b4d8cf\",\"public_kronos_changelog.md\":\"c7f44ec1\",\"public_kronos_docs_!general-info.md\":\"62750f8e\",\"public_kronos_docs_achievements.md\":\"e9c2ce2f\",\"public_kronos_docs_bars.md\":\"d71bdca3\",\"public_kronos_docs_basic-layer-breakdown.md\":\"80f1b08a\",\"public_kronos_docs_buyables.md\":\"74cd8a4a\",\"public_kronos_docs_challenges.md\":\"8c7da751\",\"public_kronos_docs_clickables.md\":\"4df1202e\",\"public_kronos_docs_custom-tab-layouts.md\":\"25e881df\",\"public_kronos_docs_getting-started.md\":\"a8baefa4\",\"public_kronos_docs_grids.md\":\"4289b312\",\"public_kronos_docs_infoboxes.md\":\"6f6bd09b\",\"public_kronos_docs_layer-features.md\":\"de49a34b\",\"public_kronos_docs_main-mod-info.md\":\"f3439ec3\",\"public_kronos_docs_milestones.md\":\"439f386c\",\"public_kronos_docs_particles.md\":\"f1968b5f\",\"public_kronos_docs_subtabs-and-microtabs.md\":\"fdf68a9a\",\"public_kronos_docs_trees-and-tree-customization.md\":\"4781b276\",\"public_kronos_docs_updating-tmt.md\":\"efa30493\",\"public_kronos_docs_upgrades.md\":\"ca9311b8\",\"public_lit_old things_2.0-format-changes.md\":\"891d3f39\",\"public_lit_readme.md\":\"698deacc\",\"public_lit_changelog.md\":\"6be26adb\",\"public_lit_docs_!general-info.md\":\"eec18530\",\"public_lit_docs_achievements.md\":\"0a41810b\",\"public_lit_docs_bars.md\":\"37f8f4a5\",\"public_lit_docs_basic-layer-breakdown.md\":\"5e9197ab\",\"public_lit_docs_buyables.md\":\"aa7296bf\",\"public_lit_docs_challenges.md\":\"b575d248\",\"public_lit_docs_clickables.md\":\"ffb22331\",\"public_lit_docs_custom-tab-layouts.md\":\"2dc52263\",\"public_lit_docs_getting-started.md\":\"3f6ffdd7\",\"public_lit_docs_infoboxes.md\":\"9447f55b\",\"public_lit_docs_layer-features.md\":\"4c0707b5\",\"public_lit_docs_main-mod-info.md\":\"87a083ac\",\"public_lit_docs_milestones.md\":\"a913058f\",\"public_lit_docs_subtabs-and-microtabs.md\":\"5a4bf12f\",\"public_lit_docs_trees-and-tree-customization.md\":\"12e1dc05\",\"public_lit_docs_updating-tmt.md\":\"1810fc71\",\"public_lit_docs_upgrades.md\":\"4d64b658\"}")</script>
<script type="module" async src="/assets/app.1a35c4a8.js"></script>
</body>
</html>