pages/public/gamedevtree/docs/upgrades.html

40 lines
34 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Upgrades | The Paper Pilot</title>
<meta name="description" content="The Paper Pilot's Digital Garden">
<meta name="generator" content="VitePress v1.2.2">
<link rel="preload stylesheet" href="/assets/style.BhozF2zR.css" as="style">
<script type="module" src="/assets/app.D9newYOy.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.Cpfv34D1.js">
<link rel="modulepreload" href="/assets/chunks/theme.DhY7-jtk.js">
<link rel="modulepreload" href="/assets/public_gamedevtree_docs_upgrades.md.Va36O3uy.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">
<link rel="alternate" type="text/mf2+html" href="/changelog">
<link rel="alternate" type="application/rss+xml" title="Changelog" href="/changelog/rss">
<link rel="alternate" type="application/atom+xml" title="Changelog" href="/changelog/atom">
<link rel="alternate" type="application/json+xml" title="Changelog" href="/changelog/json">
<meta name="og:description" content="The Paper Pilot's Digital Garden">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--[--><!--]--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>The Paper Pilot</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://moddingtree.com" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Profectus</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://incremental.social" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Incremental Social</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/thepaperpilot" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://www.linkedin.com/pub/anthony-lawn/a9/a98/2" aria-label="linkedin" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-linkedin" /></a><a class="VPSocialLink no-icon" href="https://matrix.to/#/@thepaperpilot:incremental.social" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Matrix</title><path d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"/></svg></a><a class="VPSo
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> rows</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: # </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> cols</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: # </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> columns</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 11</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> description: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Blah&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> more features</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> etc</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span></code></pre></div><p>Each upgrade should have an id where the first digit is the row and the second digit is the column. Individual upgrades can have these features:</p><ul><li><p>title: <strong>optional</strong>, displayed at the top in a larger font It can also be a function that returns updating text. Can use basic HTML.</p></li><li><p>description: A description of the upgrade&#39;s effect. <em>You will also have to implement the effect where it is applied.</em> It can also be a function that returns updating text. Can use basic HTML.</p></li><li><p>effect(): <strong>optional</strong>, A function that calculates and returns the current values of any bonuses from the upgrade. Can return a value or an object containing multiple values.</p></li><li><p>effectDisplay(): <strong>optional</strong>, A function that returns a display of the current effects of the upgrade with formatting. Default behavior is to just display the a number appropriately formatted. Can use basic HTML.</p></li><li><p>cost: A Decimal for the cost of the upgrade. By default, upgrades cost the main prestige currency for the layer.</p></li><li><p>unlocked(): <strong>optional</strong>, A function returning a bool to determine if the upgrade is visible or not. Default is unlocked.</p></li><li><p>onPurchase() - <strong>optional</strong>, this function will be called when the upgrade is purchased. Good for upgrades like &quot;makes this layer act like it was unlocked first&quot;.</p></li></ul><p>By default, upgrades use the main prestige currency for the layer. You can include these to change them (but it needs to be a Decimal):</p><ul><li><p>currencyDisplayName: <strong>optional</strong>, the name to display for the currency for the upgrade</p></li><li><p>currencyInternalName: <strong>optional</strong>, the internal name for that currency</p></li><li><p>currencyLayer: <strong>optional</strong>, the internal name of the layer that currency is stored in. If it&#39;s not in a layer (like Points), omit. If it&#39;s not stored directly in a layer, instead use the next feature.</p></li><li><p>currencyLocation: <strong>optional</strong>, if your currency is stored in something inside a layer (e.g. a buyable&#39;s amount), you can access it this way. This is a function returning the object in &quot;player&quot; that contains the value (like player[this.layer].buyables)</p></li><li><p>style: <strong>Optional</strong>, Applies CSS to this upgrade, 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>layer: <strong>Assigned automagically</strong>. It&#39;s the same value as the name of this layer, so you can do player[this.layer].points or similar</p></li><li><p>id: <strong>Assigned automagically</strong>. It&#39;s the &quot;key&quot; which the upgrade was stored under, for convenient access. The upgrade in the example&#39;s id is 11.</p></li></ul></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-d4a0bba5><!--[--><!--]--><div class="edit-info" data-v-d4a0bba5><!----><div class="last-updated" data-v-d4a0bba5><p class="VPLastUpdated" data-v-d4a0bba5 data-v-7e05ebdb>Last updated: <time datetime="2020-10-20T00:05:53.000Z" data-v-7e05ebdb></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-d4a0bba5><span class="visually-hidden" id="doc-footer-aria-label" data-v-d4a0bba5>Pager</span><div class="pager" data-v-d4a0bba5><!----></div><div class="pager" data-v-d4a0bba5><a class="VPLink link pager-link next" href="/garden/my-projects" data-v-d4a0bba5><!--[--><span class="desc" data-v-d4a0bba5>Next page</span><span class="title" data-v-d4a0bba5>My Projects</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"changelog_index.md\":\"BMqXQzK4\",\"garden_federated-identity_index.md\":\"j6r579JV\",\"garden_digital-gardens_index.md\":\"BldD0zlm\",\"garden_advent-incremental_index.md\":\"BmYtTz1z\",\"garden_chronological_index.md\":\"C4L9q0av\",\"garden_fedi-v2_index.md\":\"CBF5XDR8\",\"garden_cinny_index.md\":\"DBwPLLl1\",\"garden_chat-glue_index.md\":\"CvV9MtZd\",\"garden_v-ecs_index.md\":\"DODjcrDI\",\"guide-to-incrementals_ludology_appeal-developers_index.md\":\"DE6WY2J5\",\"garden_wanderstop_index.md\":\"CJ-5Agfs\",\"garden_this-knowledge-hub_index.md\":\"Bu6XYys9\",\"garden_webrings_index.md\":\"zS7oehWc\",\"garden_atproto_index.md\":\"DIDegZRp\",\"guide-to-incrementals_index.md\":\"B0IXv4J5\",\"garden_weird_index.md\":\"COiElaJs\",\"guide-to-incrementals_design_criticism_index.md\":\"DcVjFq47\",\"garden_kronos_index.md\":\"CpJ4Etf4\",\"garden_activitypub_index.md\":\"BCXcA4Dn\",\"garden_incremental-social_index.md\":\"UNYiz4n3\",\"garden_commune_index.md\":\"BDcGQgoK\",\"garden_vitepress_index.md\":\"DeRMJ4W3\",\"garden_matrix_index.md\":\"BjzSOZx0\",\"garden_planar-pioneers_index.md\":\"CaIOrvya\",\"garden_logseq_index.md\":\"BH4wkQ5m\",\"garden_game-dev-tree_index.md\":\"BrJ3-iwM\",\"garden_guide-to-incrementals_appeal-to-developers_index.md\":\"DHDjZHHP\",\"garden_forgejo_index.md\":\"D6s55xSM\",\"garden_freeform_index.md\":\"D8ict-54\",\"garden_guide-to-incrementals_what-is-content_index.md\":\"CbNEf92q\",\"garden_nostr_index.md\":\"CIcbJSYb\",\"garden_garden-rss_index.md\":\"DFOuH9zc\",\"garden_social-media_index.md\":\"DTqEFCf8\",\"garden_the-small-web_index.md\":\"BU_vHdR1\",\"garden_the-cozy-web_index.md\":\"CmzI35gc\",\"garden_capture-the-citadel_index.md\":\"KkFtOA-_\",\"garden_synapse_index.md\":\"DFdMjdKE\",\"garden_the-beginner-s-guide_index.md\":\"CUKdk-e1\",\"garden_my-personal-website_index.md\":\"DbrD9nuP\",\"garden_babble-buds_index.md\":\"DFQVOhME\",\"garden_freeform-vs-chronological-dichotomy_index.md\":\"l7I8OLYs\",\"garden_dice-armor_index.md\":\"D3UCrG_I\",\"garden_guide-to-incrementals_index.md\":\"Y8_ouU2v\",\"garden_fediverse_index.md\":\"BHmi6UaA\",\"garden_guide-to-incrementals_defining-the-genre_index.md\":\"7amNXa8_\",\"garden_decentralized_index.md\":\"BSBGXD1m\",\"garden_open-source_index.md\":\"czYJmJ7n\",\"garden_profectus_index.md\":\"DUWsChKa\",\"garden_guide-to-incrementals_appeal-to-players_index.md\":\"DUrad2YE\",\"garden_opti-speech_index.md\":\"BnaVvFl1\",\"garden_ivy-road_index.md\":\"kxzi8BFO\",\"public_kronos_docs_milestones.md\":\"ZOlvhIbz\",\"public_kronos_docs_particles.md\":\"DnfnBO1x\",\"public_kronos_docs_subtabs-and-microtabs.md\":\"c1oZYPvO\",\"public_kronos_docs_trees-and-tree-customization.md\":\"CsaD7Yrl\",\"public_gamedevtree_docs_milestones.md\":\"RCH7p-yJ\",\"public_gamedevtree_2.0-format-changes.md\":\"Kbkj0-4U\",\"public_gamedevtree_readme.md\":\"DHbCUzGq\",\"garden_guide-to-incrementals_navigating-criticism_index.md\":\"DLp9C82j\",\"guide-to-incrementals_ludology_appeal-gamers_index.md\":\"BbzZLY_-\",\"public_lit_docs_layer-features.md\":\"C1B8li5N\",\"public_lit_docs_main-mod-info.md\":\"3TfKZ_6R\",\"public_lit_docs_milestones.md\":\"aD5vz3Yn\",\"public_lit_docs_subtabs-and-microtabs.md\":\"D3_-SUfi\",\"public_lit_docs_trees-and-tree-customization.md\":\"qS8LRFwm\",\"public_kronos_docs_grids.md\":\"GIjDOlNb\",\"public_kronos_docs_clickables.md\":\"CUoQ73NI\",\"public_kronos_docs_custom-tab-layouts.md\":\"DxtdaLKX\",\"public_kronos_docs_getting-started.md\":\"9QoojP-1\",\"public_kronos_docs_challenges.md\":\"8PdQpqaH\",\"guide-to-incrementals_ludology_definition_index.md\":\"D2zmPVu9\",\"public_gamedevtree_docs_challenges.md\":\"Ber3uNym\",\"public_lit_docs_infoboxes.md\":\"CCZ2u4OV\",\"public_gamedevtree_docs_clickables.md\":\"B9bxR7GG\",\"public_lit_docs_custom-tab-layouts.md\":\"CEobgcFf\",\"public_lit_docs_basic-layer-breakdown.md\":\"CM2Ud0R_\",\"public_gamedevtree_docs_achievements.md\":\"DwJKgF6g\",\"public_lit_docs_buyables.md\":\"DUFI4nuM\",\"public_lit_docs_challenges.md\":\"B0Aj7DE1\",\"public_lit_docs_c
</body>
</html>