pages/public/lit/docs/milestones/index.html

33 lines
24 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>Milestones | 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_milestones.md.a913058f.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:#F07178;"> </span><span style="color:#F78C6C;">0</span><span style="color:#F07178;">: </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#F07178;"> requirementDescription</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">123 waffles</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#F07178;"> effectDescription</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">blah</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#F07178;"> done</span><span style="color:#89DDFF;">()</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:#A6ACCD;">player</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">w</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">points</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">gte</span><span style="color:#F07178;">(</span><span style="color:#F78C6C;">123</span><span style="color:#F07178;">) </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">etc</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre></div><p>You can use <code>hasMilestone(layer, id)</code> to determine if the player has a given milestone</p><p>Milestone features:</p><ul><li><p>requirementDescription: A string describing the requirement for unlocking this milestone. Suggestion: Use a &quot;total&quot;. It can also be a function that returns updating text. Can use basic HTML.</p></li><li><p>effectDescription: A string describing the reward for having the milestone. <em>You will have to implement the reward elsewhere.</em> It can also be a function that returns updating text. Can use basic HTML.</p></li><li><p>done(): A function returning a boolean to determine if the milestone should be awarded.</p></li><li><p>toggles: <strong>optional</strong>. Creates toggle buttons that appear on the milestone when it is unlocked. The toggles can toggle a given boolean value in a layer. It is defined as an array of paired items, one pair per toggle. The first is the internal name of the layer the value being toggled is stored in, and the second is the internal name of the variable to toggle. (e.g. [[&quot;b&quot;, &quot;auto&quot;], [&quot;g&quot;, &quot;auto&quot;])</p><p><strong>Tip:</strong> Toggles are not de-set if the milestone becomes locked! In this case, you should also check if the player has the milestone.</p></li><li><p>style: <strong>optional</strong>. Applies CSS to this milestone, in the form of an object where the keys are CSS attributes, and the values are the values for those attributes (both as strings).</p></li><li><p>unlocked(): <strong>optional</strong>. A function returning a boolean to determine if the milestone should be shown. If absent, it is always shown.</p></li><li><p>layer: <strong>assigned automagically</strong>. It&#39;s the same value as the name of this layer, so you can do <code>player[this.layer].points</code> or similar.</p></li><li><p>id: <strong>assigned automagically</strong>. It&#39;s the &quot;key&quot; which the milestone was stored under, for convenient access. The milestone in the example&#39;s id is 0.</p></li></ul><p>Disaable milestone popups by adding <code>milestonePopups: false</code> to the layer.</p></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>