<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.perfecttower2.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Archercatneo4</id>
	<title>The Perfect Tower II - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.perfecttower2.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Archercatneo4"/>
	<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/Special:Contributions/Archercatneo4"/>
	<updated>2026-05-01T18:14:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Statue_of_Cubos&amp;diff=3857</id>
		<title>Statue of Cubos</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Statue_of_Cubos&amp;diff=3857"/>
		<updated>2025-12-03T16:54:43Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=3|ConversionRate=250000|Image=StatueOfCubos.png|Color=Black|ColorCode=black}}&lt;br /&gt;
[[File:Black resource.png|left]]&lt;br /&gt;
The '''Statue of Cubos''' is a building you use to fight bosses.&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
==Building Tiers==&lt;br /&gt;
Upgrading the Statue of Cubos in the [[Construction Firm]] will unlock more module slots.&lt;br /&gt;
&lt;br /&gt;
Bosses are unlocked by upgrading [[Military Tier|military tiers]].&lt;br /&gt;
&lt;br /&gt;
==Bosses==&lt;br /&gt;
Boss fights are unique fights that each play very differently than the core game loop. Each one is based on a different game genre and contains different game mechanics.&lt;br /&gt;
&lt;br /&gt;
The boss menu select screen is to the left, where upon clicking the screen opens the boss selection menu. On the bottom next to the fight button are arrows to increase the tier of boss you wish to fight. Click to go up by 1 tier, or shift-click to go up by 100 (or to your highest tier if lower than 100).&lt;br /&gt;
&lt;br /&gt;
The first 4 bosses have a set of boss modules you can use in the fight to greatly increase your power, unlocked by acquiring all the linked modules listed next to them. These give certain abilities to the Tower that increase in power with their tier (upgraded using Statue resources) and combat experience (obtained by killing the respective boss with it equipped). The final boss will not have boss modules, and will instead get a hard mode for those that want the challenge.&lt;br /&gt;
&lt;br /&gt;
Higher tier bosses will gain new abilities at tiers 2, 3, 5, 8, 13, and 21 (following the Fibonacci sequence), as well as a slight increase to their base stats at each tier. This aims to keep the challenge of higher tier bosses fun, and avoid them feeling monotonous or like a slog to complete.&lt;br /&gt;
&lt;br /&gt;
Defeating bosses will award you with exotic gems, combat experience and maybe even an artifact or two, and can even grant achievements under certain conditions.&lt;br /&gt;
&lt;br /&gt;
A helpful tool for quickly calculating boss xp gain can be found here.&lt;br /&gt;
[https://www.desmos.com/calculator/caelepmhgi calculator]&lt;br /&gt;
&lt;br /&gt;
===Cylindro===&lt;br /&gt;
&lt;br /&gt;
====Info====&lt;br /&gt;
&amp;quot;With the power to control the wind and water, Cylindro unleashes his rage onto his enemies in forms of large waterstorms. Sometimes he just tries to crush them with his entire body.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For first defeat on each tier, you will be rewarded with 10*Tier exotic gems and &amp;lt;code&amp;gt;15 * (tier-1)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 6&amp;lt;/code&amp;gt; combat experience (all defeats).&lt;br /&gt;
&lt;br /&gt;
====Controls (customizable in Options)====&lt;br /&gt;
&lt;br /&gt;
*'''Movement:''' A/D&lt;br /&gt;
*'''Fire Missiles:''' W&lt;br /&gt;
*'''Long Jump:''' Space; requires Acrobatic Plugin boss module&lt;br /&gt;
&lt;br /&gt;
====Modules====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|+Cylindro's boss modules increase stats of the tower, like upgrades did before. You can only equip up to 3 (4 with Cyanotypes) at once.&lt;br /&gt;
!Boss Module!!Linked Modules!!Description!!Formula&lt;br /&gt;
|-&lt;br /&gt;
|'''Searing Projectiles'''&lt;br /&gt;
|&lt;br /&gt;
*Phoenix Bounce&lt;br /&gt;
*Light Splash&lt;br /&gt;
*Earth Taste&lt;br /&gt;
|Increases the damage of the tower’s projectiles based on combat experience and module tier.&lt;br /&gt;
|(T + 1) * max(1, xp^0.05)&lt;br /&gt;
|-&lt;br /&gt;
|'''Hardened Shell'''&lt;br /&gt;
|&lt;br /&gt;
*Stab Protection&lt;br /&gt;
*Reflect&lt;br /&gt;
*Shelter&lt;br /&gt;
|Reduces incoming damage based on combat experience and module tier.&lt;br /&gt;
|0.01 + 0.99 * (1 - (0.99 * 0.99^xp^0.05)^T)&lt;br /&gt;
|-&lt;br /&gt;
|'''Charged Powerups'''&lt;br /&gt;
|&lt;br /&gt;
*Moon Energy&lt;br /&gt;
*Recharge&lt;br /&gt;
*Energy Flow&lt;br /&gt;
|Decreases powerup spawn cooldown and increases powerup energy refill amount based on combat experience and module tier.&lt;br /&gt;
|Refill: 1 + T &amp;lt;br&amp;gt; Respawn: 1 - (0.95 - 0.9 * (1 - 0.99^xp^0.25))&lt;br /&gt;
|-&lt;br /&gt;
|'''Streamlined Hull'''&lt;br /&gt;
|&lt;br /&gt;
*Light Crit&lt;br /&gt;
*Overcharge&lt;br /&gt;
*Air Shell&lt;br /&gt;
|Increases Tower movement speed based on combat experience and module tier.&lt;br /&gt;
|(2 + 2T) + max(1, (xp/10)^0.06)&lt;br /&gt;
|-&lt;br /&gt;
|'''Acrobatic Plugin'''&lt;br /&gt;
|&lt;br /&gt;
*Avalanche&lt;br /&gt;
*Lightning&lt;br /&gt;
*Redirect&lt;br /&gt;
|Allows you to jump to the opposite side of the arena using the down arrow or S key in a certain amount of time; delay is reduced with combat experience and module tier.&lt;br /&gt;
|0.1 + ((1.9 - T/199) / max(1, (xp/10)^0.06)&lt;br /&gt;
|-&lt;br /&gt;
|'''Epic Gyroscope'''&lt;br /&gt;
|&lt;br /&gt;
*Hurricane&lt;br /&gt;
*Super Tower&lt;br /&gt;
*Tremors&lt;br /&gt;
|Allows the tower to attack while moving, but with a higher energy cost and slower firerate. These penalties get weaker with combat experience and module tier.&lt;br /&gt;
|Speed: 0.5 + T/220 &amp;lt;br&amp;gt; Cost: 1.5 - 0.45 * (1 - 0.99^xp^0.33)&lt;br /&gt;
|-&lt;br /&gt;
|'''Idle Nanobots'''&lt;br /&gt;
|&lt;br /&gt;
*Shelter&lt;br /&gt;
*Boss Shield&lt;br /&gt;
*Advanced Heal&lt;br /&gt;
|Allows the tower to passively regenerate health when not moving for a certain amount of time; health regeneration rate and delay after moving based on combat experience and module tier.&lt;br /&gt;
|Delay: 0.5 + 2.5 * 0.95^T &amp;lt;br&amp;gt; Regen: 2 * 1.5^xp^0.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Fight Description====&lt;br /&gt;
Cylindro is a large cylinder who will try to attack you with headbutts and water-storms, which can be dodged by moving to adjacent pillars. Headbutts deal a base of 25% damage while waterstorms deal a base of 50% damage on hit, so try not to get hit too much if you don’t have Idle Nanobots or Hardened Shell. &lt;br /&gt;
&lt;br /&gt;
Cylindro will spin at least 2 times before performing an attack, alternating between clockwise and counter-clockwise. '''Cylindro spins significantly faster as his health gets low''', reducing the amount of downtime between his attacks and forcing the player to dodge more often.&lt;br /&gt;
&lt;br /&gt;
To damage Cylindro you need to fire missiles at him, which will cost energy. (No energy = no missiles)&lt;br /&gt;
You cannot fire missiles while moving between pillars unless you have Epic Gyroscope equipped. However, even without it you will still fire a single missile on jumping to a new platform if the fire button is held while moving due to you shooting during the single frame you are on the pillar. &lt;br /&gt;
&lt;br /&gt;
Green powerups will spawn periodically on random pillars and will restore energy when picked up.&lt;br /&gt;
&lt;br /&gt;
====Boss Abilities====&lt;br /&gt;
&lt;br /&gt;
*Tier 2: Cylindro's slam will turn the focused pillar red which will make the tower jump more slowly on and off of it.&lt;br /&gt;
*Tier 3: Cylindro will sometimes spin rapidly before summoning damaging geysers on every pillar in the arena except for 2 of them. The 2 safe pillars will be highlighted in green and will always appear on opposite sides of the map to one another.&lt;br /&gt;
*Tier 4: Cylindro makes all three slammed pillars red when headbutting them instead of just one.&lt;br /&gt;
*Tier 5: Sometimes after a slam, Cylindro will spin around the stage, damaging you if you touch him. &lt;br /&gt;
*Tier 8: Cylindro will occasionally spawn a geyser on a random pillar which will erupt after some time and damage the tower if they are on it.&lt;br /&gt;
*Tier 13: Cylindro will gain an invincible shield that spins around him and blocks projectiles. He gains extra shields at tiers 20 and 30, at which point the 3 shields combined will cover the vast majority of his body.&lt;br /&gt;
*Tier 21: Cylindro's wave cannon attacks become much more chaotic.&lt;br /&gt;
&lt;br /&gt;
[[File:Cylindro.png|thumb|Fighting Cylindro|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SPOILER ALERT - Secret achievements and artifacts&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Artifacts====&lt;br /&gt;
&lt;br /&gt;
*'''Energy Sphere:''' 5% base chance on victory. +5% chance per victory.&lt;br /&gt;
&lt;br /&gt;
====Achievements====&lt;br /&gt;
&lt;br /&gt;
*'''You Spin Me Right Around:''' Defeat Cylindro while he is doing his slam attack. (Also applies to his roll attack at tiers 5+&lt;br /&gt;
*'''Cylindro Hater:''' Defeat Cylindro 1000 times.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pyramidas===&lt;br /&gt;
&lt;br /&gt;
====Info====&lt;br /&gt;
&amp;quot;Long years of experiments and scientific corruption have turned Pyramidas into a monstrosity that unites the power of two seemingly different worlds, electricity and nature.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For first defeat on each tier, you will be rewarded with 25*Tier exotic gems and &amp;lt;code&amp;gt;15 * (tier-1)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 6&amp;lt;/code&amp;gt; combat experience (all defeats).&lt;br /&gt;
&lt;br /&gt;
====Controls (partially customizable in Options)====&lt;br /&gt;
&lt;br /&gt;
*'''Shoot:''' Left mouse button (hold)&lt;br /&gt;
*'''Manual Reload:''' Right mouse button&lt;br /&gt;
*'''Faster Reloading:''' Shake mouse&lt;br /&gt;
*'''Switch Weapons:''' Middle mouse button; requires Shotgun or Nuclear RPG boss module&lt;br /&gt;
&lt;br /&gt;
====Modules====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|+Pyramidas' boss modules increase stats of the tower or unlock other weapons. You can only equip up to 3 (4 with Cyanotypes) at once.&lt;br /&gt;
!Boss Module!!Linked Modules!!Description!!Formula&lt;br /&gt;
|-&lt;br /&gt;
|'''Sharp Projectiles'''&lt;br /&gt;
|&lt;br /&gt;
*Incineration&lt;br /&gt;
*Headhunting&lt;br /&gt;
*Fire Taste&lt;br /&gt;
|Increases the damage of all tower’s weapons based on combat experience and module tier.&lt;br /&gt;
|(T + 1) * (1 + xp³/100)&lt;br /&gt;
|-&lt;br /&gt;
|'''Titanium Plating'''&lt;br /&gt;
|&lt;br /&gt;
*Shield of Nature&lt;br /&gt;
*Titanium Hull&lt;br /&gt;
*Dispel&lt;br /&gt;
|Reduces incoming damage based on combat experience and module tier.&lt;br /&gt;
|0.01 + 0.99 * (1 - (0.99 * 0.99^xp^0.05)^T)&lt;br /&gt;
|-&lt;br /&gt;
|'''Dense Magazine'''&lt;br /&gt;
|&lt;br /&gt;
*Energy Recycling&lt;br /&gt;
*Sun Energy&lt;br /&gt;
*Refined Armor&lt;br /&gt;
|Increases Max. ammunition of default weapon based on combat experience and module tier.&lt;br /&gt;
|1 + T/20 + log_1000(xp)&lt;br /&gt;
|-&lt;br /&gt;
|'''Organic Vampirism'''&lt;br /&gt;
|&lt;br /&gt;
*Lifesteal&lt;br /&gt;
*Rejuvenate&lt;br /&gt;
*Lifeleech&lt;br /&gt;
|Heals the tower when attacking organic parts. Heal amount based on combat experience and module tier.&lt;br /&gt;
|1 + T/20 + log_100(xp)&lt;br /&gt;
|-&lt;br /&gt;
|'''Shotgun'''&lt;br /&gt;
|&lt;br /&gt;
*Sparks&lt;br /&gt;
*Fracture&lt;br /&gt;
*Execution&lt;br /&gt;
|Adds a shotgun to your weapon arsenal(use middle mouse buttons to switch weapons). Shoots 5 additional projectiles randomly distributed around your target point. Damage based on combat experience and module tier.&lt;br /&gt;
|0.4 + T/50 + 0.01 * ln(xp)&lt;br /&gt;
|-&lt;br /&gt;
|'''Nuclear RPG'''&lt;br /&gt;
|&lt;br /&gt;
*Lucky Shot&lt;br /&gt;
*Sandstorm&lt;br /&gt;
*Earthquake&lt;br /&gt;
|Adds a nuclear rocket launcher to your weapon arsenal(use middle mouse buttons to switch weapons). Creates an explosion at the impact location. Damage based on combat experience and module tier.&lt;br /&gt;
|8 + T/4 + 0.05 * ln(xp)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Fight Description====&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
====Boss Abilities====&lt;br /&gt;
&lt;br /&gt;
*Tier 2:  Pyramidas's smokestacks (electricity side) begin being able to fire.&lt;br /&gt;
*Tier 3: Pyramidas will be able to start firing a bunch of projectiles into the air on nature side one.&lt;br /&gt;
*Tier 5: Pyramidas will start using vines on nature side two.&lt;br /&gt;
*Tier 8: Pyramidas gains 4 destructible shields.&lt;br /&gt;
*Tier 13: Nature attacks begin to cover the screen on hit, electricity attacks force a reload, eye attacks do both.&lt;br /&gt;
*Tier 21: Eyes on the Electricity sides start being able to shoot a bunch of electricity projectiles into the sky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SPOILER ALERT - Secret achievements and artifacts&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
====Artifacts====&lt;br /&gt;
&lt;br /&gt;
*'''Metal Plating:''' 15% chance to drop on victory. +15% chance each victory.&lt;br /&gt;
*'''Vine Monster:''' 5% chance to drop on victory. +5% chance each victory.&lt;br /&gt;
&lt;br /&gt;
====Achievements====&lt;br /&gt;
&lt;br /&gt;
*'''Botanophobia:''' Destroy all vines before destroying any tesla coils.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cubos Jr.===&lt;br /&gt;
&lt;br /&gt;
====Info====&lt;br /&gt;
&amp;quot;With his father now long gone, Cubos Jr tries to step into his legacy by perfecting his fire and earth manipulation skills. Be careful! even though he is small, he might catch you off-gua... ahem ... off-beat.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For first defeat on each tier, you will be rewarded with 50*Tier exotic gems, and &amp;lt;code&amp;gt;18 * (tier-1)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 9&amp;lt;/code&amp;gt; combat experience.&lt;br /&gt;
&lt;br /&gt;
====Controls (customizable in Options)====&lt;br /&gt;
&lt;br /&gt;
*'''Movement:''' WASD&lt;br /&gt;
*'''Drop bomb:''' Left mouse button, scroll wheel or space bar&lt;br /&gt;
&lt;br /&gt;
====Modules====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|+Cubos Jr.'s boss modules increase stats of the tower, modify tower movement, or modify bomb behavior. You can only equip up to 3 (4 with Cyanotypes) at once.&lt;br /&gt;
!Boss Module!!Linked Modules!!Description!!Formula&lt;br /&gt;
|-&lt;br /&gt;
|'''Scattering'''&lt;br /&gt;
|&lt;br /&gt;
*Combustion&lt;br /&gt;
*Fire Focus&lt;br /&gt;
*Earth Focus&lt;br /&gt;
|Makes bombs explode on diagonal tiles (instead of just orthogonal), but decreases bomb damage. Bomb damage penalty decreases with combat experience and module tier.&lt;br /&gt;
|0.5 + T/396 + 0.25 * (1 - 0.9^xp^0.2)&lt;br /&gt;
|-&lt;br /&gt;
|'''Perfect Rhythm'''&lt;br /&gt;
|&lt;br /&gt;
*Super Tower&lt;br /&gt;
|Removes beat tolerance (you can input actions at any time) and allows queuing of up to 4 actions. Cannot be upgraded and is unaffected by combat experience.&lt;br /&gt;
Be warned that you '''cannot cancel queued actions in any way whatsoever''', which can oftentimes result in you walking headfirst into Cubos Jr or his attacks when queueing multiple actions consecutively. &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|'''Nuclear Enhancement'''&lt;br /&gt;
|&lt;br /&gt;
*Advanced Splash&lt;br /&gt;
*Super Multishot&lt;br /&gt;
*Solar Strike&lt;br /&gt;
|Increase bomb damage but allows bombs to damage the tower if in range of the explosion. Damage bonus increases based on combat experience and module tier.&lt;br /&gt;
|1.05 + T/1980 * 19 + 2 * (1 - 0.9^xp^0.2)&lt;br /&gt;
|-&lt;br /&gt;
|'''Healthy Bombs'''&lt;br /&gt;
|&lt;br /&gt;
*Adaptive Regeneration&lt;br /&gt;
*Phasing&lt;br /&gt;
*Recharge&lt;br /&gt;
|Allows bomb explosions to heal the tower if hit by the explosion by a fraction of the damage dealt. Heal % amount increases based on combat experience and module tier. &amp;lt;br&amp;gt; If combined with Nuclear Enhancement, the self damage will be applied '''before''' the heal from Healthy Bombs, so you may end up killing yourself with your bombs even with a heal factor of above 100% if your bomb damage exceeds your maximum health.&lt;br /&gt;
|5 + T * 5/9 + 80 * (1 - 0.9^xp^0.25)&lt;br /&gt;
|-&lt;br /&gt;
|'''Soundproofing'''&lt;br /&gt;
|&lt;br /&gt;
*Diamond Foundation&lt;br /&gt;
*Generic Armor&lt;br /&gt;
*Advanced Shield&lt;br /&gt;
|Increase tower maximum health and damage resistance based on combat experience and module tier.&lt;br /&gt;
|Health: 1 + 19 * T/99 + 20 * (1 - 0.9^xp^0.25) &amp;lt;br&amp;gt; Resistance: 25 * T/99 + 25 * (1 - 0.9^xp^0.2)&lt;br /&gt;
|-&lt;br /&gt;
|'''Micro Bombs'''&lt;br /&gt;
|&lt;br /&gt;
*Mjölnir&lt;br /&gt;
*Desperado&lt;br /&gt;
*Emergency Crit&lt;br /&gt;
|Allows the tower to place multiple bombs at once at the cost of reducing bomb damage. Bomb damage penalty decreases based on combat experience and module tier.&lt;br /&gt;
|Max Bombs: 1 + T/33 + log_1000(xp) &amp;lt;br&amp;gt; Damage: 0.5 + T/396 + 0.25 * (1 - 0.9^xp^0.2)&lt;br /&gt;
|-&lt;br /&gt;
|'''Focused Detonation'''&lt;br /&gt;
|&lt;br /&gt;
*Gravitational Impact&lt;br /&gt;
*Shockwave&lt;br /&gt;
*Molten Core&lt;br /&gt;
|Increases bomb damage at the exact center of the explosion (the enemy must be ''on top of'' the bomb as it goes off). Bomb damage bonus increases based on combat experience and module tier.&lt;br /&gt;
|1.25 + T/79.2 + 0.5 * (1 - 0.9^xp^0.25)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Fight Description====&lt;br /&gt;
The fight with Cubos Jr. takes place in a large, 7x7 arena made of 49 squares. The game progresses each beat in time with the music, meaning Cubos Jr. and the tower can only move or perform an action on the beat. Cubos Jr. will move erratically, sometimes chasing the player and sometimes running around in the same area of the battlefield for a while. &lt;br /&gt;
&lt;br /&gt;
The tower can attack Cubos Jr. by dropping bombs. The tower can only have 1 bomb on field at a time (unless Micro Bombs is equipped), and bombs explode in the 5 orthogonally adjacent tiles (increased to all 9 adjacent squares with Scattering) after 3 beats. Only 1 bomb can exist on each tile, and you can only drop 1 bomb per move.&lt;br /&gt;
&lt;br /&gt;
Cubos Jr. has 2 initial attacks: an earth shockwave that hits all 9 adjacent tiles and a fire attack that hits all tiles in the 4 orthogonal directions (up, down, left &amp;amp; right). All of his attacks (including ones gained at higher tiers) have a delay of 4 beats before occurring, giving the player time to get out of the way. &lt;br /&gt;
Cubos Jr. will occasionally ignite himself and leave a trail of fire that damages the tower if they walk into it. You '''will''' take damage from colliding with Cubos Jr., so ramming facefirst into the boss is highly unadvised and will usually end in the tower’s untimely death unless you are using Healthy Bombs and can outheal Cubos Jr.’s damage.&lt;br /&gt;
&lt;br /&gt;
====Boss Abilities====&lt;br /&gt;
&lt;br /&gt;
*Tier 2: Cubos Jr. can now use a diagonal fire attack.&lt;br /&gt;
*Tier 3: Cubos Jr. can fly directly above the middle of the board before creating a ring of fire around the outer edge of the board which will damage the tower if they enter it for a while until it dissipates.&lt;br /&gt;
*Tier 5: Cubos Jr. gains a dash attack where he digs down and travels 4 squared in any direction (will not go out of bounds) before resurfacing, damaging the tower if Cubos Jr. travels through it. Attack will leave a fiery trail if Cubos Jr was ablaze during the attack.&lt;br /&gt;
*Tier 8: Cubos Jr. will now combine his orthogonal and diagonal fire attacks and use both at the same time.&lt;br /&gt;
*Tier 13: Creates a lava crack at the center of Cubos Jr.'s earth attacks. The crack can be cleared by attacking it with a bomb, but if the crack was not cleared after 30 turns it turns into a pile of lava, no longer removable, last until the end of the fight, and can damage the tower if the tower steps on it.&lt;br /&gt;
*Tier 21: Cubos Jr. will rapidly jump, creating a row of fire that travels the span of the arena, alternating from right-left to left-right every column.&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SPOILER ALERT - Secret achievements and artifacts&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Artifacts====&lt;br /&gt;
&lt;br /&gt;
*'''Cubos Cube:''' 100% chance to drop on victory.&lt;br /&gt;
*'''Incendiary Device:''' 15% chance to drop on victory. +15% chance each victory.&lt;br /&gt;
&lt;br /&gt;
====Achievements====&lt;br /&gt;
&lt;br /&gt;
*'''Not A Scratch:''' Defeat Cubos Jr. without taking any damage.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dodecai===&lt;br /&gt;
&lt;br /&gt;
====Info====&lt;br /&gt;
&amp;quot;Banished in a realm between light and darkness, Dodecai likes to play strategic games. Don't be fooled by the puppets you are allowed to summon in this challenge, they are mere empty hulls of their former selves. ''Seriously, why are they moving like that?''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For first defeat on each tier, you will be rewarded with '''100*tier''' exotic gems and &amp;lt;code&amp;gt;10+20*(tier-1)^2&amp;lt;/code&amp;gt; combat experience (all defeats).&lt;br /&gt;
&lt;br /&gt;
====Controls====&lt;br /&gt;
&lt;br /&gt;
*'''Play card:''' Left mouse button on selected card&lt;br /&gt;
*'''Drag camera:''' Click and hold left mouse button on the map area&lt;br /&gt;
*'''Discard card:''' Right mouse button on selected card&lt;br /&gt;
*'''Rotate camera:''' Click and hold right mouse button on the map area&lt;br /&gt;
*'''Zoom:''' Scroll mouse wheel up to zoom in, and down to zoom out&lt;br /&gt;
&lt;br /&gt;
====Cards====&lt;br /&gt;
These cards are always equipped regardless of boss modules, and cannot be removed from the deck. ''&amp;lt;small&amp;gt;(Note: You can only use each Battery and Full Heal card once per fight as they are removed from the deck once used.)&amp;lt;/small&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
*'''Fighter''' x2 - [Energy Cost: 50] Spawns a group of Fighters&lt;br /&gt;
*'''Battery''' x4 - [Energy Cost: 400] Increases energy regeneration and max energy&lt;br /&gt;
*'''Speed Up''' x1 - [Energy Cost: 80] Increases movement speed and attack speed of friendly units&lt;br /&gt;
*'''Redraw''' x1 - [Energy Cost: 125] Draw a random card and reduce its cost (to 0)&lt;br /&gt;
*'''Full Heal''' x1 - [Energy Cost: 250] Heals your tower back to max health&lt;br /&gt;
*'''Refresh''' x1 - [Energy Cost: 25] Fully refill your energy&lt;br /&gt;
&lt;br /&gt;
These cards are exclusive to boss modules.&lt;br /&gt;
&lt;br /&gt;
*'''Tank''' - [Energy Cost: 75] Spawns a group of Tanks&lt;br /&gt;
*'''Boss''' - [Energy Cost: 125] Spawns a Boss&lt;br /&gt;
*'''Flying''' - [Energy Cost: 150] Spawns a group of flying units&lt;br /&gt;
*'''Flying Tank''' - [Energy Cost: 200] Spawns a flying Tank&lt;br /&gt;
*'''Firestorm''' - [Energy Cost: 180] Deals damage to enemy units in radius&lt;br /&gt;
*'''Frost Nova''' - [Energy Cost: 100] Freezes enemy units in radius&lt;br /&gt;
*'''Lightning''' - [Energy Cost: 200] Damage and stun enemy units&lt;br /&gt;
*'''Void Breaker''' - [Energy Cost: 70%] Deals direct damage to Dodecai&lt;br /&gt;
*'''Toxic Ward''' - [Energy Cost: 300] Spawns a ward that damages units in its radius&lt;br /&gt;
*'''Heal Ward''' - [Energy Cost: 300] Spawns a ward that heals units in its radius&lt;br /&gt;
*'''Dummy Ward''' - [Energy Cost: 125] Spawns a ward that gets targeted by units&lt;br /&gt;
&lt;br /&gt;
These cards are given to you by Tier 13+ Dodecai, and are mostly negative. They are distinguished by a purple background.&lt;br /&gt;
&lt;br /&gt;
*'''Void''' - [Energy Cost: 20%] (Has no description, does nothing except play a puff of smoke on your tower.)&lt;br /&gt;
*'''Random''' - [Energy Cost: 50%] You never know what you're gonna get. (Uses a random card's effect.)&lt;br /&gt;
*'''Turtle''' - [Energy Cost: 10%] Baa. (Spawns a turtle unit that explodes upon contact with any unit or attack, damaging all units and tower in a small radius.)&lt;br /&gt;
*'''Thorns''' - [Energy Cost: 0] Ouch! (Damages the tower for 8% of its health.)&lt;br /&gt;
&lt;br /&gt;
====Modules====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|+Dodecai's boss modules give you more cards in your deck, and increase stats of the tower and friendly allies. You can only equip up to 3 (4 with Cyanotypes) at once.&lt;br /&gt;
!Boss Module!!Linked Modules!!Description!!Formula&lt;br /&gt;
|-&lt;br /&gt;
|'''Otherworldly Foundation'''&lt;br /&gt;
|&lt;br /&gt;
*Growth&lt;br /&gt;
*Stoneskin&lt;br /&gt;
*Marble Foundation&lt;br /&gt;
*Shield Amplifier&lt;br /&gt;
*Diamond Foundation&lt;br /&gt;
|&lt;br /&gt;
Increases the Tower's max health with combat experience and module tier. &amp;lt;br&amp;gt;&lt;br /&gt;
Adds '''Full Heal''' x6 to the deck.&lt;br /&gt;
|Max Health: floor((T + 1) * max(1, xp^0.3) 1.02^T) &amp;lt;br&amp;gt; Full Heals: 1 + min(5, floor((T + 1)/10))&lt;br /&gt;
|-&lt;br /&gt;
|'''Dense Batteries'''&lt;br /&gt;
|&lt;br /&gt;
*Conductor&lt;br /&gt;
*Moon Energy&lt;br /&gt;
*Sun Energy&lt;br /&gt;
*Refresh&lt;br /&gt;
*Super Tower 2&lt;br /&gt;
|&lt;br /&gt;
Increases the energy regeneration and max energy boost from batteries with combat experience and module tier.  &amp;lt;br&amp;gt;&lt;br /&gt;
Adds '''Refresh''' x1 to the deck.&lt;br /&gt;
|Max energy: (25 + T) * (1.01 * max(1, xp^0.01)^T &amp;lt;br&amp;gt; Energy regen: floor(1 + T/20)&lt;br /&gt;
|-&lt;br /&gt;
|'''Void Training'''&lt;br /&gt;
|&lt;br /&gt;
*Unfolding&lt;br /&gt;
*Solar Strike&lt;br /&gt;
*Generic Armor&lt;br /&gt;
*Neutral Amplifier&lt;br /&gt;
*Universal Attack&lt;br /&gt;
|&lt;br /&gt;
Increases ground unit damage and health with combat experience and module tier.  &amp;lt;br&amp;gt;&lt;br /&gt;
Adds '''Fighter''' x8, '''Tank''' x5, '''Boss''' x2, and '''Speed Up''' x1 to the deck.&lt;br /&gt;
|(1 + T/20) * max(1, xp * (T + 1)/100)^0.2&lt;br /&gt;
|-&lt;br /&gt;
|'''Arcane Magic'''&lt;br /&gt;
|&lt;br /&gt;
*Firestorm&lt;br /&gt;
*Frost Nova&lt;br /&gt;
*Lightning&lt;br /&gt;
*Dark Sacrifice&lt;br /&gt;
*Gravitational Impact&lt;br /&gt;
|&lt;br /&gt;
Increases spell damage and duration with combat experience and module tier. &amp;lt;br&amp;gt;&lt;br /&gt;
Adds '''Firestorm''' x6, '''Frost Nova''' x4, '''Lightning''' x2, and '''Void Breaker''' x2 to the deck.&lt;br /&gt;
|Damage: (1.2 + T/10) * (1 + (xp * (T + 1)/100)^0.15) &amp;lt;br&amp;gt; Duration: 1 + (T + 1)/100&lt;br /&gt;
|-&lt;br /&gt;
|'''Flying Cubes'''&lt;br /&gt;
|&lt;br /&gt;
*Air Focus&lt;br /&gt;
*Air Impetus&lt;br /&gt;
*Hurricane&lt;br /&gt;
*Stream of Life&lt;br /&gt;
*Whirlwind Aura&lt;br /&gt;
|&lt;br /&gt;
Increases flying unit damage and health with combat experience and module tier. &amp;lt;br&amp;gt;&lt;br /&gt;
Adds '''Flying''' x4, '''Flying Tank''' x2, and '''Speed Up''' x1 to the deck.&lt;br /&gt;
|(1 + T/5) * max(1, xp * (T + 1)/100)^0.2&lt;br /&gt;
|-&lt;br /&gt;
|'''Wards'''&lt;br /&gt;
|&lt;br /&gt;
*Dryness Aura&lt;br /&gt;
*Adaptive Regeneration&lt;br /&gt;
*Fiery Aura&lt;br /&gt;
*Magical Protection&lt;br /&gt;
*Advanced Shield&lt;br /&gt;
|&lt;br /&gt;
Increases ward damage, health, healing and duration with combat experience and module tier. &amp;lt;br&amp;gt;&lt;br /&gt;
Adds '''Toxic Ward''' x2, '''Heal Ward''' x2, and '''Dummy Ward''' x2 to the deck.&lt;br /&gt;
|&lt;br /&gt;
Damage: (1 + T/10) * max(1, xp * ((T + 1)/100)^1.5)^0.15 &amp;lt;br&amp;gt;&lt;br /&gt;
Health: (1 + T/5) * max(1, xp * (T + 1)/100)^0.2 &amp;lt;br&amp;gt;&lt;br /&gt;
Heal: 2 * (1 + T/11) * max(1, xp * (T + 1)/100)^1.5 &amp;lt;br&amp;gt;&lt;br /&gt;
Duration: 1 + (T + 1)/100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Boss Abilities====&lt;br /&gt;
&lt;br /&gt;
*Tier 2: Adds 2 turrets near the track to attack units, increasing by 1 for every new Ability Tier below (max. 6).&lt;br /&gt;
*Tier 3: Dodecai can now spawn Tanks and spawn barriers that damage ground units that pass through them.&lt;br /&gt;
*Tier 5: Dodecai can now spawn flying units and cast '''Speed Up''' (during daytime) and '''Frost Nova''' (during nighttime).&lt;br /&gt;
*Tier 8: Dodecai can now spawn mage units that both remove 1 energy regen each and increases the cost of spells, wards, and units in your hand while they are alive, and can cast a snaking line of cubes that will directly attack the tower after a short period of time.&lt;br /&gt;
*Tier 13: Dodecai will disrupt your hand and/or deck in a number of ways every 2 minutes, the interval decreasing every tier up to 21. The disruptions include removing the hand, replacing it with turtles, locking a card in your hand, and adding the cards of '''Thorns''', '''Void''', and '''Random'''.&lt;br /&gt;
*Tier 21: Dodecai will copy every 5th card you play. He will also use '''Void Breaker''' every few minutes after you damage him.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SPOILER ALERT - Secret achievements and artifacts&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Artifacts====&lt;br /&gt;
&lt;br /&gt;
*'''Dice Of Fate:''' 10% chance to drop on victory +10% chance on every victory.&lt;br /&gt;
*'''Necronomicon:''' 5% chance to drop on victory. +5% chance on every victory&lt;br /&gt;
&lt;br /&gt;
====Achievements====&lt;br /&gt;
&lt;br /&gt;
*'''Born Under A Lucky Star:''' Defeat Dodecai without discarding any cards.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Final Boss===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;'''WARNING, MAJOR SPOILER BELOW'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;Thorus&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Unlike other Bosses, which need only an Military Tier requirement, Thorus, in addition to needing MT15, needs to have all Infinity Stones active on a special toggle perk at the bottom of infinity perk list (This is not required after the first defeat).&lt;br /&gt;
This boss currently only has 1 tier&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Info&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;quot;It calls itself Thorus...&lt;br /&gt;
Maybe this wasn't such a good idea after all...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Controls&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Upgrades&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
These are '''required''' to fight the boss, as Thorus is too powerful for Dr. Cubical to let you fight it without insurance.&lt;br /&gt;
&lt;br /&gt;
*'''Cloud Save Insurance:''' Costs {{cost|1e50|Black}}&lt;br /&gt;
*'''Local Save Insurance:''' Costs {{cost|1e60|Black}}&lt;br /&gt;
*'''Account Insurance:''' Costs {{cost|1e70|Black}}&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Fight Overview&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The fight can take a very long time, depending on your speed. You casts different spells to buff yourself, weaken boss, or hurt the boss. each spell requires a series of inputs from the arrow keys, and energy.&lt;br /&gt;
Thorus has 5 moves it can do, a neutral attack where he shoots projectiles that deal the same amount of damage as it takes energy to kill them, a universal attack that deals 4x damage and you have a chance to miss the projectiles, an attack where he steals your health energy and shield, an attack where he makes a bubble appear that blurs a part of the screen, or set gravity to normal, and a tier-up attack where he goes up by a tier and deals 2x damage.&lt;br /&gt;
Dr. Cubical drops you different attribute buffs during the fight for shield, hp, and energy. t1 is a flat bonus, t2 makes t1, t3 makes t2, and so on, until t8. you press/hold different keys on your keyboard to obtain these.&lt;br /&gt;
The list of spells is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|+Spell List&lt;br /&gt;
|-&lt;br /&gt;
!Category&lt;br /&gt;
!Element&lt;br /&gt;
!Spell&lt;br /&gt;
!Keys&lt;br /&gt;
!Description&lt;br /&gt;
!Energy Cost&lt;br /&gt;
!Amount&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |Protection &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Light &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|Blessing &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓↑↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Heals the tower.&lt;br /&gt;
|10+3%&lt;br /&gt;
|10%+50+10*EC&lt;br /&gt;
|-&lt;br /&gt;
|Divinity &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;→→←⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Engulfs the tower with a shield that reduces incoming damage down to 1/3rd of the original damage.&lt;br /&gt;
|750+20%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Flash &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;←↓↑⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Instantly cancels the current active boss ability.&lt;br /&gt;
|250000+12%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Earth &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|Earth Shield &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓↓↑⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates a shield that absorbs a fixed amount of damage before disappearing again.&lt;br /&gt;
|25+6%&lt;br /&gt;
|3*EC&lt;br /&gt;
|-&lt;br /&gt;
|Fortify &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;←↓→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Raises the maximum amount of hitpoints to the power of 1.1 for 20 seconds.&lt;br /&gt;
|3000+10%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Geosphere &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓↓→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Guarantees to block the next incoming damage source unless the source is an ability that directly alters hitpoints.&lt;br /&gt;
|400000+33%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Water &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sprinkler &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↑↑↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Increases the hitpoint, shield and energy regeneration by +1% per second.&lt;br /&gt;
|25+4%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Ice Shield &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;→↑↑⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Surrounds the tower with a frozen protection hull that slows an attacker for 5 seconds whenever damage is being taken. Lasts up to 30 seconds.&lt;br /&gt;
|2750+16%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Blizzard &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;←↓↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Slows everything on the map down except for the tower. Lasts up to 60 seconds.&lt;br /&gt;
|250000+20%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |Destruction &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Fire &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|Fireball &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↑→←⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Fires a projectile that deals damage upon arrival.&lt;br /&gt;
|30+5%&lt;br /&gt;
|250+1.25*EC&lt;br /&gt;
|-&lt;br /&gt;
|Firestorm &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;←→↑⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deals a high amount of inital damage and then damage per second over the course of the next 4 seconds.&lt;br /&gt;
|1000+12%&lt;br /&gt;
|Inital: 2000+5*EC&lt;br /&gt;
DoT: 500+2*EC/s&lt;br /&gt;
|-&lt;br /&gt;
|Inferno &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;→↓↑⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deals a high amount of damage which increases the lower the hitpoints of the targets are.&lt;br /&gt;
|500000+9%&lt;br /&gt;
|100000+15*EC&lt;br /&gt;
Mult: 1000 at 0% enemy HP&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Darkness &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unholy Blast &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;←↑←⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sacrifices 1/3rd of the towers current hitpoints to create a projectile that deals damage equals to the sacrificed amount.&lt;br /&gt;
|50+4%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Soul Siphon &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;→↓←⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Start draining life essence from your enemy based on the towers maximum hitpoints in order to heal the tower.&lt;br /&gt;
|3000+6%&lt;br /&gt;
|1% of towers max. hp / sec.&lt;br /&gt;
|-&lt;br /&gt;
|Nightmare &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓←→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Curses your enemy which deals damage per second and amplifies all damage recieved by your targets by 100%. Lasts up to 30 seconds.&lt;br /&gt;
|750000+8%&lt;br /&gt;
|1000+0.2*EC&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Electricity &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|Thundershock &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;→←←⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Instantly deals damage based on the towers current energy after subtracting the cost of this spell.&lt;br /&gt;
|20+20%&lt;br /&gt;
|10+0.6*Current Energy&lt;br /&gt;
|-&lt;br /&gt;
|Lightning &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓↑←⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Instantly deals damage based on the towers maximum shield.&lt;br /&gt;
|900+25%&lt;br /&gt;
|10+1.25*Max. Shield&lt;br /&gt;
|-&lt;br /&gt;
|Tesla Surge &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;→←↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates a lightning storm that constantly deals damage based on your current energy. Lasts up to 30 seconds.&lt;br /&gt;
|300000+30%&lt;br /&gt;
|10+0.08*Current Energy /s&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Alternation &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Nature &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|Regrowth &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↑↑↑→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Boosts the towers health regeneration based on the energy cost of this ability. Lasts up to 30 seconds&lt;br /&gt;
|20+10%&lt;br /&gt;
| +0.5%*Log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;EC&lt;br /&gt;
|-&lt;br /&gt;
|Thorns &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓←→↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Surrounds the tower with spiky veins that damage attackers based on the amount of damage received and the towers current shield. Lasts up to 30 seconds.&lt;br /&gt;
|1500+25%&lt;br /&gt;
|50% of incoming damage + 10% of current shield&lt;br /&gt;
|-&lt;br /&gt;
|Seeds &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓↑→←←→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sprays some life leeching seeds onto your enemy which drain life every 3 seconds and add it to your towers health pool. Can even extend the maximum hp. Lasts for up to 10 intervals.&lt;br /&gt;
|500000+20%&lt;br /&gt;
|0.25*EC&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Air &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|Air Burst &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;←↓→→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Spawns a gust of wind that deals little damage upon impact but reduced the damage dealt by the target by 66% for up to 15 seconds.&lt;br /&gt;
|15+5%&lt;br /&gt;
|100+0.5*EC&lt;br /&gt;
|-&lt;br /&gt;
|Tornado &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓←→↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Surrounds your enemy with a tornado that deals very little damage per second and provides a 20% chance that outgoing attacks from that unit will not damage their target. Lasts up to 30 seconds.&lt;br /&gt;
|5000+30%&lt;br /&gt;
|0.08*EC /s&lt;br /&gt;
|-&lt;br /&gt;
|Vacuum &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;→←←↓↑⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Reduces the towers hitpoint regeneration by 1% of max. hp per second while at the same time multiplying all outgoing damage by 12. Lasts up to 30 seconds.&lt;br /&gt;
|1000000+35%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Obliteration &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Neutral &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|Gatling &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓↑↓↑↓←→←→←→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Quickly shoots 16 projectiles with each dealing between 50% and 500% of the default amount of damage.&lt;br /&gt;
|100+25%&lt;br /&gt;
|0.5*EC&lt;br /&gt;
|-&lt;br /&gt;
|Shockwave &amp;lt;code&amp;gt;←&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;←←→→→↑↑↓↓↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Spawns a quick projectile that deals damage on impact and stuns the target for 3 seconds.&lt;br /&gt;
|19000+70%&lt;br /&gt;
|5000+0.75*EC&lt;br /&gt;
|-&lt;br /&gt;
|Amplify &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↑↑↑↑↑↑↑↑↑↑⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Multiplies the damage of the next spell by 8. Lasts up to 60 seconds before disappearing if no spell is being casted.&lt;br /&gt;
|1000000+25%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Universal &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|Anti-matter Blast &amp;lt;code&amp;gt;↓&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓↓←↓→↓←→↑↓↓⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Spawns a very strong projectile that deals damage on impact and stuns the target for 5 seconds.&lt;br /&gt;
|400000+45%&lt;br /&gt;
|30000+10*EC&lt;br /&gt;
|-&lt;br /&gt;
|Cosmic Ray &amp;lt;code&amp;gt;↑&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↑↓←↓←↑↑↓←→→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Fires a ray that deals damage based on the total duration of the fight. It's damage is multiplied by 5% (multiplicatively to itself) for every minute this fight has taken so far.&lt;br /&gt;
|9000000+55%&lt;br /&gt;
|50000+22.5*EC&lt;br /&gt;
|-&lt;br /&gt;
|Black Hole &amp;lt;code&amp;gt;→&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;↓←→↑↓←→↑↓←→⎵&amp;lt;/code&amp;gt;&lt;br /&gt;
|Spawns a very slow blackhole that absorbs enemy projectiles on its way.&lt;br /&gt;
|50000000+80%&lt;br /&gt;
|175000+30*EC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;Thorus(final)&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Last phase of Thorus, it's a cut-scene pretty much, there is no way to lose it.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Info&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Looks like Thorus is attempting to gravitationally pull the earth into a black hole. Is there anything you can do in order to stop it?&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Controls&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Everything&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Upgrades&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Fight Overview&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Your tower can be constructed of all modules that you have. There are 9 types of tower rankings you can get at the end of the fight, empty (equip 0 modules), aggressive (have more offensive (red) modules than any other type), defensive (have more defensive (blue) modules than any other type), useful (have more utility (yellow) modules than any other type), ultimate (have more ultimate (purple) modules than any other type), weird (have more special (gray) modules than any other type), balanced (have two types of modules with the same number of modules), nice (have 69 modules in your tower), and perfect (spoiler).&lt;br /&gt;
Many buildings of the town get &amp;quot;super upgrades&amp;quot; that allow them to help the tower get far better and deal more damage. The factory producers rainbow producers based on how many producers you have, rainbow producers multiply the resources you get every second by an amount. The mine produces rainbow shards based on how deep you have dug, these shards multiply the rainbow producer income. The laboratory uses your experiment progress to multiply damage gained by damage modules. The museum uses your power stone tiers to create a higher tier rainbow tier which multiplies damage like the lab. The shipyard multiplies resources based on sea miles and shipments. The power plant produces sun power based on dyson nodes and other producers, sun power speeds up time except for the timer.&lt;br /&gt;
After the timer ends or you start the final attack you will be taken to a scene where you must charge the attack. You spam keys on the keyboard for one minute to get as much power as possible.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Endgame spoilers - Secret achievements and artifacts&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Artifacts&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
*'''None Currently'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Achievements&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
*'''Final Attack:''' Defeat phase 2 Thorus.&lt;br /&gt;
*'''Pure Heart:''' Revive Dr. Cubical after defeating phase 2 Thorus.&lt;br /&gt;
*'''Perfect Tower:''' Defeat phase 2 Thorus with 100 modules at minimum tier 1000 and with all modules on your bp.&lt;br /&gt;
*'''No Escape:''' While in the revival menu of Dr. Cubical forcibly close the game.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Jack Of All Trades''' - Each unequipped boss module receives 5% of the total combat experience gained at the end of a fight&lt;br /&gt;
*'''Public Training''' - Increases the combat experience gained at the end of a fight by 0.1% per town level.&lt;br /&gt;
*'''Power Stack''' - Defeating the first tier of a boss for the very first time permanently multiplies your tower testing damage by 3 and divides incoming damage by the amount (in form of generic resistance).&lt;br /&gt;
*'''Trialforged''' - Decreases the base conversion rate for each newly defeated boss tier by 5% (multiplicatively) across all bosses. Works retroactively for defeated boss tiers. Caps at a reduction rate of 90%.&lt;br /&gt;
*'''Divine Gamble''' - Grants a 10% chance to deal 2x damage to any of the first four bosses. This chance increases by +0.1% for every order of magnitude of unspent Statue of Cubos resources (starting at 1, increasing gradually until the next bonus is reached at 10, 100, and so on).&lt;br /&gt;
*'''Second Chance''' - Allows the tower to block potentially lethal damage once per fight.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Eternal Conflict''' ({{Number|250|icon=[[File:Exotic gem.png|20px]]}}) - Refighting Bosses rewards you with 1/10th (rounded down) of the original Exotic Gem reward after winning the fight.&lt;br /&gt;
*'''Cyanotypes''' ({{Number|1500|icon=[[File:Exotic gem.png|20px]]}}) - Allows you to take one additional boss module into boss fights.&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Shipyard&amp;diff=3856</id>
		<title>Shipyard</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Shipyard&amp;diff=3856"/>
		<updated>2025-12-03T16:53:46Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Skills */ Update skills for V1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=3|ConversionRate=100000|Image=Shipyard.png|Color=Spring Green|ColorCode=#00E77F}}&lt;br /&gt;
[[File:Cyan resource.png|left]]&lt;br /&gt;
The '''Shipyard''' is a building where you can send ships out to gather resources.&lt;br /&gt;
[[File:Shipyard2.png|thumb]]&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
==Weather==&lt;br /&gt;
Weather is a modifier to the resource gain of your shipments.&lt;br /&gt;
&lt;br /&gt;
Weather changes over time, except when you start a mission, then weather stays the same until you collect the shipment.&lt;br /&gt;
&lt;br /&gt;
The effect of weather is affected by certain upgrades.&lt;br /&gt;
&lt;br /&gt;
If you have bad weather, then it's advisable to wait until the weather changes, or consider restarting a shipment if the weather has improved shortly after it starts.&lt;br /&gt;
&lt;br /&gt;
==Shipments==&lt;br /&gt;
You can send your ship out to gather shipments.&lt;br /&gt;
&lt;br /&gt;
Every time you collect a shipment, your reward bonus is increased by increasing shipment number by 1, which additively increases the reward bonus by your bonus/shipment percentage.&lt;br /&gt;
&lt;br /&gt;
You can upgrade your bonus modifier per shipment, which recalculates you reward bonus by multiplying shipment number by the new percentage bonus. &lt;br /&gt;
&lt;br /&gt;
There are 6 options for shipments&lt;br /&gt;
&lt;br /&gt;
*'''5 minutes:''' White Resources&lt;br /&gt;
*'''15 minutes:''' Orange Resources, Brown Resources, and Red Resources&lt;br /&gt;
*'''60 minutes:''' Green Resources, Blue Resources, and Purple Resources&lt;br /&gt;
*'''4 hours:''' Yellow Resources, Light Blue Resources, and Pink Resources&lt;br /&gt;
*'''8 hours:''' Cyan Resources, Gray Resources, and Black Resources&lt;br /&gt;
*'''24 hours:''' Gems, and Exotic Gems.&lt;br /&gt;
&lt;br /&gt;
==Sea miles==&lt;br /&gt;
As long as your ships are out making shipments, they are gaining sea miles. Unlike shipments, this gain happens continuously, regardless of if the shipment completes.&lt;br /&gt;
&lt;br /&gt;
The formula for sea mile gain is &amp;lt;code&amp;gt;0.0002 / sec. * ShipmentConstant&amp;lt;/code&amp;gt; (which is 1 for 5 min. shipment, 2 for 15 min., 3 for 1 hour, etc.) and the skill raises the shipment constant to the power of 1.2. So with the skill, a 24-hour shipment has a constant of ~8.59, and is that much better than doing 5-min shipments.&lt;br /&gt;
&lt;br /&gt;
Like everything else in the Shipyard, sea mile gain is affected by the [[Power Plant]].&lt;br /&gt;
&lt;br /&gt;
Sea miles earn you the following '''Milestones''': &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Miles!!Name!!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Freshwaters&lt;br /&gt;
|Increases resource rewards (excluding gems and exotic gems) from shipments by 10%. (multiplicative)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Third Mate&lt;br /&gt;
|Unlocks temperature forecasting.&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Offshore&lt;br /&gt;
|Increases resource rewards (excluding gems and exotic gems) from shipments by 25%. (multiplicative)&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Second Mate&lt;br /&gt;
|Unlocks wind forecasting.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Dead Sea&lt;br /&gt;
|Increases resource rewards (excluding gems and exotic gems) from shipments by 30%. (multiplicative)&lt;br /&gt;
|-&lt;br /&gt;
|100||Engineers Island||Increases production from resource producers in the factory (excluding gem and exotic gems) by 1% per shipment.&lt;br /&gt;
|-&lt;br /&gt;
|200&lt;br /&gt;
|First Mate&lt;br /&gt;
|Unlocks humidity forecasting.&lt;br /&gt;
|-&lt;br /&gt;
|250||High Seas&lt;br /&gt;
|Multiplies resource rewards from shipments (excluding gems and exotic gems) with your town level.&lt;br /&gt;
|-&lt;br /&gt;
|500&lt;br /&gt;
|Cave Islands&lt;br /&gt;
|Increases all mining resource rewards (town resources, shards and gems) by 1% per sea mile.&lt;br /&gt;
|-&lt;br /&gt;
|1250&lt;br /&gt;
|Atlantic Ocean&lt;br /&gt;
|Increases resource rewards (excluding gems and exotic gems) from shipments by 100%. (multiplicative)&lt;br /&gt;
|-&lt;br /&gt;
|5000&lt;br /&gt;
|Pacific Ocean&lt;br /&gt;
|Increases resource rewards (excluding gems and exotic gems) from shipments by 200%. (multiplicative)&lt;br /&gt;
|-&lt;br /&gt;
|15000&lt;br /&gt;
|Sea Bear&lt;br /&gt;
|Increases resource drops from enemies during tower testing by 1% per sea mile.&lt;br /&gt;
|-&lt;br /&gt;
|27500&lt;br /&gt;
|Atlantis&lt;br /&gt;
|Each shipment increases all mining rewards (town resources, shards and gems) by 100% (additive with itself)&lt;br /&gt;
|-&lt;br /&gt;
|50000&lt;br /&gt;
|Mariana Trench&lt;br /&gt;
|Increases resource rewards (excluding gems and exotic gems) from shipments by 400%. (multiplicative)&lt;br /&gt;
|-&lt;br /&gt;
|100000&lt;br /&gt;
|Sea Lion&lt;br /&gt;
|Increases resource rewards (excluding gems and exotic gems) from shipments by 5% per sea mile. (additive with itself)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Upgrades==&lt;br /&gt;
Upgrades can be bought to provide bonus to shipment reward.&lt;br /&gt;
&lt;br /&gt;
===Shipment Rewards Upgrades===&lt;br /&gt;
&lt;br /&gt;
*Improved decks (Max. 400 levels): Increase the reward bonus per shipment by 0.05%.&lt;br /&gt;
&lt;br /&gt;
That means, multiply the resource gain by x(1+0.05%*upgrades*shipments)&lt;br /&gt;
&lt;br /&gt;
===Weather Effects===&lt;br /&gt;
&lt;br /&gt;
*Bigger sails (Max. 100 levels): Increase the weather exponent by 2%.&lt;br /&gt;
*Stronger keel (Max. 50 levels): Increase the weather exponent by 3%.&lt;br /&gt;
*Reinforced hull (Max. 20 levels): Increase the weather exponent by 5%.&lt;br /&gt;
&lt;br /&gt;
Each weather effect upgrades stack additive with itself, but different weather upgrade stack multiplicative.&lt;br /&gt;
&lt;br /&gt;
Note that the power effect also apply to weather debuffs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Sturdy Decks''' - Reduces the effects of bad weather by 50%&lt;br /&gt;
*'''Precious Freight''' - Applies the shipment bonus to regular gems at a reduced rate of x^0.5.&lt;br /&gt;
*'''Trade Leverage''' - Reduces the base conversion rate of the shipyard by 1 per actual shipment performed. Multipliers to shipments do not apply in this case. Caps out at 9000 shipments.&lt;br /&gt;
*'''Advanced Navigation''' - By taking longer shortcuts each shipment will yield more sea miles. Raises the seamile multiplier to the power of 1.2 for all shipments that take longer than 5 minutes total.&lt;br /&gt;
*'''Priority Manifest''' - Raises priority for gem and exotic gem shipments, reducing their shipment time by 50%&lt;br /&gt;
*'''Cartography''' - Increases the sea miles gained over time by 33.333% for each tier of the shipyard.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Armored Cargo Bay''' ({{Number|35|icon=[[File:Exotic gem.png|20px]]}}) - Applies the shipment bonus to exotic gems at a reduced rate of x^0.2 by reinforcing the bulkheads of all ships.&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Laboratory&amp;diff=3855</id>
		<title>Laboratory</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Laboratory&amp;diff=3855"/>
		<updated>2025-12-03T16:53:19Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Image=Lab.png|Tier=6|ConversionRate=400|Color=Green|ColorCode=#00FE3F}}&lt;br /&gt;
[[File:Green resource.png|left]]&lt;br /&gt;
The '''laboratory''' is a building where you perform various experiments in order to unlock [[modules]] and [[elements|elemental]] damage &amp;amp; resistance bonuses.&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
==Experiments==&lt;br /&gt;
Experiments function as small incremental games, where the reward for progressing in them are [[modules]], damage multipliers (cap at 200%) and resistances (cap at 99%) to respective elements.&lt;br /&gt;
&lt;br /&gt;
Most experiments can be prestiged up to 100 times, trading green resources and a certain amount of progress for a permanent bonus in the experiment&lt;br /&gt;
&lt;br /&gt;
There are '''12''' different experiments to complete. Click the icons below to navigate to the detail page for that experiment:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Fire icon.png|center|link=Experiment: Fire|Fire]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Water icon.png|center|link=Experiment: Water|Water]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Nature icon.png|center|link=Experiment: Nature|Nature]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Earth icon.png|center|link=Experiment: Earth|Earth]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Electricity icon.png|center|link=Experiment: Electricity|Electricity]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Darkness icon.png|center|link=Experiment: Darkness|Darkness]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Light icon.png|center|link=Experiment: Light|Light]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Air icon.png|center|link=Experiment: Air|Air]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Neutral icon.png|center|link=Experiment: Neutral|Neutral]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Experiment Universal icon.png|center|link=Experiment: Universal|Universal]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Gem.png|center|link=Experiment: Gems|Gems]]&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot; |[[File:Exotic gem.png|center|link=Experiment: Exotic|Exotic]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Building tiers==&lt;br /&gt;
Each building tier constructed unlocks new experiments.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Laboratory&lt;br /&gt;
!Experiments&lt;br /&gt;
|-&lt;br /&gt;
|Tier 1&lt;br /&gt;
|[[Experiment: Neutral|Neutral]], [[Experiment: Fire|Fire]]&lt;br /&gt;
|-&lt;br /&gt;
|Tier 2&lt;br /&gt;
|[[Experiment: Nature|Nature]], [[Experiment: Electricity|Electricity]]&lt;br /&gt;
|-&lt;br /&gt;
|Tier 3&lt;br /&gt;
|[[Experiment: Earth|Earth]], [[Experiment: Light|Light]]&lt;br /&gt;
|-&lt;br /&gt;
|Tier 4&lt;br /&gt;
|[[Experiment: Water|Water]], [[Experiment: Air|Air]]&lt;br /&gt;
|-&lt;br /&gt;
|Tier 5&lt;br /&gt;
|[[Experiment: Darkness|Darkness]], [[Experiment: Universal|Universal]]&lt;br /&gt;
|-&lt;br /&gt;
|Tier 6&lt;br /&gt;
|[[Experiment: Gems|Gems]], [[Experiment: Exotic|Exotic]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Science Funds''' - Reduces the conversion rate of laboratory resources by 1 per 5 experiment prestiges. The total sum of all prestige counts is used to calculate the reduction.&lt;br /&gt;
*'''Overpaid Interns''' - Decreases prestige price for each experiment by 50%.&lt;br /&gt;
*'''Scoping'''- Increases the tower's attackrange by 1% for each learned skill in the laboratory.&lt;br /&gt;
*'''Elemental Cores''' - Increases the damage bonus from elemental experiments from 1% to 5% per goal level reached.&lt;br /&gt;
*'''Breakthrough''' - Increases resource drops during tower testing based on the highest significant value or value combo across all experiments.&lt;br /&gt;
*'''Module Molecules''' - Boosts the drop chance for modules during tower testing by 3% for each goal claimed in the laboratory. A goal is considered claimed once a reward has been collected. For multi-level goals, the bonus scales proportionally based on the highest level reached relative to the goal's maximum level.&lt;br /&gt;
&lt;br /&gt;
==Exotic skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Fundamentals''' ({{Number|500|icon=[[File:Exotic gem.png|20px]]}}) - Removes the negative prestige effects of the Fire, Water, Nature and Earth experiments. resetting the prestige tree to respend points still performs a full prestige with all its downsides.&lt;br /&gt;
*'''Forces''' ({{Number|500|icon=[[File:Exotic gem.png|20px]]}}) - Removes the negative prestige effects of the Electricity, Darkness, Light and Air experiments. resetting the prestige tree to respend points still performs a full prestige with all its downsides.&lt;br /&gt;
*'''Universal Theorem''' ({{Number|500|icon=[[File:Exotic gem.png|20px]]}}) - Removes the negative prestige effects of the Neutral, Universal, Gems and Exotic experiments. resetting the prestige tree to respend points still performs a full prestige with all its downsides.&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{Navbox experiments}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3854</id>
		<title>Headquarters</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3854"/>
		<updated>2025-12-03T16:52:29Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Skills */ Update skills for V1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=8|ConversionRate=750|Image=Hq.png|Color=Purple|ColorCode=purple}}&lt;br /&gt;
[[File:Purple resource.png|left|link=Special:FilePath/Purple_resource.png]]&lt;br /&gt;
The '''Headquarters''' is a building where you can upgrade your [[Military Tier]], purchase and install software to speed up [[Tower Testing]], or access the [[AI]] scripting feature.&lt;br /&gt;
&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
==Building Tiers==&lt;br /&gt;
Each tier adds 2 extra server slots and unlocks a new contract.&lt;br /&gt;
&lt;br /&gt;
==Contracts==&lt;br /&gt;
The contracts' conditions can be met to increase resource drops in the [[New Round|core game]].&lt;br /&gt;
The total resource drop multiplier is &amp;lt;code&amp;gt;Resource Drop Bonus per Fulfilled Contract^(Fulfilled Contracts+1)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Glass Cannon===&lt;br /&gt;
Conditions: Use max. 1 defensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Pacifist===&lt;br /&gt;
Conditions: Use max. 1 offensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Colorful===&lt;br /&gt;
Conditions: Use min. 1 [[Modules|module]] of each type (offensive, defensive, utility and ultimate).&lt;br /&gt;
&lt;br /&gt;
===Activist===&lt;br /&gt;
Conditions: Use min. 4 active [[Modules|modules]]&lt;br /&gt;
&lt;br /&gt;
===Elementalist===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with #tags from each element ('''#Fire, #Water, #Earth, #Air, #Nature, #Electricity, #Light, #Darkness''').&lt;br /&gt;
&lt;br /&gt;
*This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Neutralist===&lt;br /&gt;
Conditions: Use between 3 and 15 [[Modules|modules]] with a '''#Neutral''' tag.&lt;br /&gt;
&lt;br /&gt;
===Trickster===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with '''#Buff, #Aura, #Reactive and #Chance''' tags.&lt;br /&gt;
&lt;br /&gt;
*This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Annihilist===&lt;br /&gt;
Conditions: Use at least 5 [[Modules|modules]] with a '''#Universal''' tag; at least 3 modules with a '''#Area''' tag; and min. 5 Ultimate modules&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
&lt;br /&gt;
===Servers===&lt;br /&gt;
[[File:Server.png|thumb]] Servers must be purchased in order to hold more CPU and RAM. Servers increase in cost as more are owned. The player can have a maximum of 16 servers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Server!!Cost ({{resource|purple}})&lt;br /&gt;
|-&lt;br /&gt;
|1||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|2||{{number|1000}}&lt;br /&gt;
|-&lt;br /&gt;
|3||{{number|10000}}&lt;br /&gt;
|-&lt;br /&gt;
|4||{{number|100000}}&lt;br /&gt;
|-&lt;br /&gt;
|5||{{number|1e6}}&lt;br /&gt;
|-&lt;br /&gt;
|6||{{number|1e7}}&lt;br /&gt;
|-&lt;br /&gt;
|7||{{number|1e8}}&lt;br /&gt;
|-&lt;br /&gt;
|8||{{number|1e9}}&lt;br /&gt;
|-&lt;br /&gt;
|9||{{number|1e10}}&lt;br /&gt;
|-&lt;br /&gt;
|10||{{number|1e11}}&lt;br /&gt;
|-&lt;br /&gt;
|11||{{number|1e12}}&lt;br /&gt;
|-&lt;br /&gt;
|12||{{number|1e13}}&lt;br /&gt;
|-&lt;br /&gt;
|13||{{number|1e14}}&lt;br /&gt;
|-&lt;br /&gt;
|14||{{number|1e15}}&lt;br /&gt;
|-&lt;br /&gt;
|15||{{number|1e16}}&lt;br /&gt;
|-&lt;br /&gt;
|16||{{number|1e17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
[[File:CPU.png|thumb|link=Special:FilePath/CPU.png]] CPU increases the speed at which new technology is researched. Each server can hold a maximum of 27.49 THz CPU. You get 1 'flop' for each 20Hz, so the maximum amount of CPU possible (with 16 servers) is 21.99 T flops.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each CPU upgrade is {{Math|5&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 4}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of speed each tier grants is {{Math|4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 25}} Hz&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Speed!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Basic Onboard Circuit||25 Hz||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Cubical Series Basic||100 Hz||{{number|20}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Cubical Series X2||400 Hz||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical Series X4||1.6 KHz||{{number|500}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical Series X4-M||6.4 KHz||{{number|2500}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Phantom Series||25.6 KHz||{{number|12500}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Phantom Series II-M||102.4 KHz||{{number|62500}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Phantom Series X||409.6 KHz||{{number|312500}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Phantom Series Dual X||1.64 MHz||{{number|1.56e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Athlete Series Neo||6.55 MHz||{{number|7.81e6}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Athlete Series X2||26.21 MHz||{{number|3.906e7}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Athlete Series X4-FX||104.86 MHz||{{number|1.9531e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Athlete Series Titan||419.43 MHz||{{number|9.7656e8}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Fire Core i3||1.68 GHz||{{number|4.88e9}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Fire Core i5||6.71 GHz||{{number|2.441e10}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire Core i7||26.84 GHz||{{number|1.2207e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire Core i9||107.37 GHz||{{number|6.1035e11}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire Core i9-X||429.5 GHz||{{number|3.05e12}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix Series Quad-Core||1.72 THz||{{number|1.526e13}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix Series Octa-Core||6.87 THz||{{number|7.629e13}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix Series X16 Supernova||27.49 THz||{{number|3.8147e14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===RAM===&lt;br /&gt;
[[File:RAM.png|thumb|link=Special:FilePath/RAM.png]] RAM increases the maximum execution budget of the AI. Each server can hold a maximum of 1.1 PB RAM. The maximum amount of RAM possible (with 16 servers) is 17.59 PB, which allows a budget of 10000.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each RAM upgrade is {{Math|(6&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; / 0.6)}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of memory each tier grants is {{Math|(4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt;)}} KB&lt;br /&gt;
&lt;br /&gt;
The formula for the execution budget is {{Math|(⌊log&amp;lt;sub&amp;gt;1.459&amp;lt;/sub&amp;gt;(''totalRam'')⌋ + 1) * 100}}, where ''totalRam'' is in bytes (multiply by 1000).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Memory!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Small Onboard Chip||1 KB||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Basic Static RAM Chip||4 KB||{{number|10}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Basic Static RAM Chip X4||16 KB||{{number|60}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical DRAM Gen 1||64 KB||{{number|360}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical DRAM Gen 2||256 KB||{{number|2160}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Cubical DRAM Gen 8||1.02 MB||{{number|12960}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Cubical DRAM Extreme||4.1 MB||{{number|77760}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Lightning Series SDRAM||16.38 MB||{{number|466560}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Lightning Series SDRAM-XL||65.54 MB||{{number|2.8e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Lightning Series SDRAM VI||262.14 MB||{{number|1.68e7}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Lightning Series SDRAM Final||1.05 GB||{{number|1.0078e8}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Poseidon Series DDR2||4.19 GB||{{number|6.0466e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Poseidon Series DDR2 X4||16.78 GB||{{number|3.63e9}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Poseidon Series DDR2 Platinum||67.11 GB||{{number|2.177e10}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Poseidon Series DDR2 Platinum X4||268.44 GB||{{number|1.3061e11}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire RAM DDR3||1.07 TB||{{number|7.8364e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire RAM DDR3 X4||4.29 TB||{{number|4.7e12}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire RAM DDR3 Colossal||17.18 TB||{{number|2.821e13}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix DDR4 Experimental||68.72 TB||{{number|1.6927e14}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix DDR5 Collection||274.88 TB||{{number|1.02e15}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix DDR5 Gargantuan||1.1 PB||{{number|6.09e15}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
Install programs to speed up the core game. The programs are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Name!!Cost!!Time!!Description&lt;br /&gt;
|-&lt;br /&gt;
|Autoskip||{{number|50}}||2500000 flop-sec||When activated it removes the waiting time between waves once all enemies have spawned and therefore slightly speeds up wave progression on lower difficulties.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Streaming||{{number|2.5e5}}||12500 flop-days||Slowly accelerates enemies while at the same time decreasing the spawn interval duration yielding a much higher wave progression speed. (0.1 Wave Acceleration Factor (WAF) per second)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Surge||{{number|7.5e6}}||100000 flop-days||Improves wave streaming by increasing the maximum acceleration limit. After a certain amount of time entire waves are being skipped. ''Skipped waves do not trigger wave related module effects!'' (5x wave streaming speed)&lt;br /&gt;
|-&lt;br /&gt;
|Critical Wavejump||{{number|2.25e7}}||150000 flop-days||Provides a 1% chance to skip waves equal to 5% of your wave record of the current region and difficulty whenever you proceed to the next wave as long as you are below your previous record. Only works in [[Endless mode|endless mode]]!&lt;br /&gt;
|-&lt;br /&gt;
|[[AI|Facility AI]]||{{number|1.75e8}}||200000 flop-days||Unlocks the Facility AI which includes some basic programmable logic scripts.&lt;br /&gt;
|-&lt;br /&gt;
|Boots.dos||Hint: &amp;lt;sup&amp;gt;[[Headquarters#Footnotes|[1]]]&amp;lt;/sup&amp;gt; &amp;lt;spoiler&amp;gt;Debug the Overflow&amp;lt;/spoiler&amp;gt;{{number|3e8}}|| ||Enhances the AI with functions to draw on a canvas that spans over the AI overlay.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Momentum||{{number|5e8}}||250000 flop-days||Everytime the tower destroys an enemy in [[Endless mode|endless mode]] you gain one more wave the next time the wave counter changes. Afterwards the destroyed enemy counter resets. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Wave Storm||{{number|1.75e9}}||500000 flop-days||Increases the amount the counter of Wave Momentum increases whenever an enemy is being destroyed by 10% (Multiplicatively) for each completed normal mode. Additionally increases the wave acceleration factor by 0.25 whenever an enemy is being destroyed and Wave Streaming is active.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Persistence||{{number|3.75e9}}||1000000 flop-days||Improves Wave Momentum by resetting the destroyed enemy counter only to 90% of its previous value instead of zero.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Instability||{{number|5e12}}||2000000 flop-days||Improves Critical Wavejump by increasing its chance to trigger by another 4% and increases the skipped amount to 10% of your previous record.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Vortex||{{number|3e13}}||4000000 flop-days||Removes the warm-up time from Wave Streaming and further increases the wave acceleration speed. Can be combined with Wave Surge. (7.5x wave streaming speed)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Catalyst||{{number|1e14}}||5000000 flop-days||Increases the speed of Wave Streaming based on the amount of waves skipped everytime Critical Wavejump triggers. Has no effect if the wave acceleration factor already exceed 1B (1e9).&lt;br /&gt;
|-&lt;br /&gt;
|Wave Endurance||{{number|4e14}}||6250000 flop-days||Increases the acceleration of Wave Streaming by 5% per second. (This means that the acceleration gets accelerated over time.)&lt;br /&gt;
|-&lt;br /&gt;
|New Bounds||{{number|2e15}}|| ||[[Endless mode|Endless mode]] starts at [[Era]] 1 if the highest record in the current region and difficulty is equal to or bigger than Era 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Marathon||{{number|7.5e15}}|| ||Increases the acceleration factor of wave endurance by 100% (From 5% to 10%, 15%, 20%, ...) for each region and difficulty with a highscore equal or greater than era 1.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Compression||{{number|3e16}}|| ||Reduces the amount of spawn ticks per wave by 50% and increases the destroyed enemy counter of wave momentum exponentially by 0.4% everytime an enemy is being destroyed. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Era Surge||{{number|5e16}}|| ||Skips to the next [[Era]] every 10 times the wave counter changes. Only works if the current Era is at least 1.&lt;br /&gt;
|-&lt;br /&gt;
|Era Burst||{{number|3e17}}|| ||Skips (Total amount of waves skipped)^0.5 eras whenever the wave counter changes. If Era Surge is active then its effect will change to a 10% boost for Era Burst&lt;br /&gt;
|-&lt;br /&gt;
|Era Swirl||{{number|8e18}}|| ||Increases the amount of eras skipped the greater your gap to era {{number|1e11}} is. Has no effect if your current era is bigger than {{number|1e11}}. (log10(distance to 1e11))&lt;br /&gt;
|-&lt;br /&gt;
|Wave Horizon||{{number|9e19}}|| ||Multiplies the acceleration speed of wave streaming by 25 for each region and difficulty with a highscore equal or greater than era 1.&lt;br /&gt;
|-&lt;br /&gt;
|No Bounds||{{number|3e21}}|| ||Endless mode starts at [[Infinity]] 1 if the highest record in the current region and difficulty is equal to or bigger than Infinity 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Era Tunneling||{{number|1e22}}|| ||Increases the amount of eras skipped by 25% and by an additional +25% for each region where all difficulties in endless have a highscore of infinity 1 or greater.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Breach||{{number|5e22}}|| ||Boosts the accel gain from wave streaming based on the highest wave acceleration amount you have ever reached in any region. Formula for multiplier: Log10(10+Highest Acceleration/100)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Floor||{{number|5e22}}|| ||Prevents the wave counter from going below {{number|1e8}} if the highest era in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Floor||{{number|5e24}}||5e11 flop-hours||Prevents the era counter from going below {{number|1e8}} if the highest infinity in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Horizon||{{number|1.2e27}}||1e12 flop-hours||As long as this software is active, each difficulty in each region with a highscore equal to or greater than Infinity 1 multiplies the amount of eras skipped using era software by 4 (additively) and the exponent of era burst by 0.002 (additively). Removes the Era/Infinity restriction of Era Swirl as well.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Restart||{{number|5e28}}||1.5e12 flop-hours||If this software is active then a new round in tower testing will start at your previous record. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}. With this software you can technically push forever so use it wisely.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity Horizion||{{number|1.5e30}}||2e12 flop-hours||Turns era swirl into a constant multiplier with the same value as the &amp;quot;maximum bonus would have provided.&amp;quot; (11x) Also doubles the wave acceleration speed as well as the acceleration of the acceleration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is another technical limit for speed which is compensated by skipping waves leading to a higher resources/sec increase at the cost of missing out a few enemies.&lt;br /&gt;
&lt;br /&gt;
==Military==&lt;br /&gt;
{{Main|Military Tier}}&lt;br /&gt;
&lt;br /&gt;
In the military tab you can soft prestige after meeting certain requirements (unlocking regions, maxing out modules...), which change with every prestige.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reward the player with higher maximum modules tier, new buildings, software, bosses, and other features.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reset the level of all modules, as well as losing all your cubes. Cubes can be regained over a period of 4 hours (1 hour with the exotic skill '''Trustworthy Trust Fund'''). To compensate this, you are rewarded some gems or exotic gems.&lt;br /&gt;
&lt;br /&gt;
Prestiging will not make you lose gems, exotic gems, or non-cube building resources.&lt;br /&gt;
&lt;br /&gt;
You will start at Tier 0, and will eventually reach Tier 4, unlocking access to the [[AI]]. Upon reaching tier 8, you will unlock access to [[Era]] content. [[Infinity]] content is available at Tier 12.&lt;br /&gt;
&lt;br /&gt;
==Facility AI==&lt;br /&gt;
{{Main|AI}}&lt;br /&gt;
&lt;br /&gt;
The Facility AI is a section unlocked by attaining military prestige 4 and installing it from software section. The AI allows for multiple automation tasks to be performed, including refreshing [[Mine]] layers, combining power stones at the [[Museum]], using active modules automatically, or simply clicking at specific locations on the screen.&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Sponsoring''' - Decreases the resource conversion rate of the headquarters by 5 for each completed difficulty in normal mode. Takes all unlocked regions into account.&lt;br /&gt;
*'''Head Offices''' - Decreases the resource conversion rate of the headquarters by 3% for each tier of the headquarters.&lt;br /&gt;
*'''Data Mining''' - Increases town resource drops by 2% for each CPU upgrade across all servers during tower testing.&lt;br /&gt;
*'''Dealbreaker''' - Increases the base resource drop multiplier for each fulfilled contract by 0.5.&lt;br /&gt;
*'''Extra Servers''' - Increases the max. number of servers per headquarter tier from 2 to 3.&lt;br /&gt;
*'''Offline Installing''' - Allows the headquarters to continue installing software at 200% of the original speed while the game is closed. Without this skill the headquarters can continue installing the software at 100% of original speed.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Trustworthy Trust Fund''' ({{Number|20|icon=[[File:Exotic gem.png|20px]]}}) - Reduces the total time it takes to regain all resources after a tier up by 3 hours.&lt;br /&gt;
*'''Foreign Contracts''' ({{Number|100|icon=[[File:Exotic gem.png|20px]]}}) - By establishing a connection with other islands we unlock 3 new contracts.&lt;br /&gt;
*'''Shard Database''' ({{Number|50|icon=[[File:Exotic gem.png|20px]]}}) - Increases the wave acceleration factor from software by 1% per regular building skill learned (multiplicative). Counts the building skills from all buildings and not just the headquarters.&lt;br /&gt;
&lt;br /&gt;
==Footnotes==&lt;br /&gt;
&lt;br /&gt;
#D0s's Secret &amp;lt;spoiler&amp;gt;Crash the AI while Debug Overlay is open&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Skills_(Upgrade)&amp;diff=3853</id>
		<title>Skills (Upgrade)</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Skills_(Upgrade)&amp;diff=3853"/>
		<updated>2025-12-03T16:51:18Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Update skills for V1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''This is the page referring to Skills that are purchased using skill points that increase the capabilities of certain town buildings. To see Skills referring to the module type, please click [[Skills (Module)|here]].''&lt;br /&gt;
&lt;br /&gt;
Skills can be purchased using skill points to enhance or add capability to certain town buildings. Skill points are acquired by leveling up your town level (by starting rounds and killing enemies).&lt;br /&gt;
&lt;br /&gt;
Skills have a more powerful version called [[Exotic Skills]], which can be bought with exotic gems.&lt;br /&gt;
&lt;br /&gt;
==Power Plant==&lt;br /&gt;
&lt;br /&gt;
*'''Quantum Grid''' - Allows components on the power grid to connect to components on the opposite edges of the grid.&lt;br /&gt;
*'''Super Boost''' - Using more power for boosts has a higher impact on duration/effectivity. (Log10 -&amp;gt; Log7)&lt;br /&gt;
*'''Max. Power''' - Increases the effectiveness of all active boosts by 25% (multiplicative) if the current amount of power equals the maximum amount.&lt;br /&gt;
*'''Efficient Recycling''' - Lowers the base conversion rate from town resources to power plant resources to 600.&lt;br /&gt;
*'''Shutdown''' - Allows you to cancel boosts anytime. Does not refund any power!&lt;br /&gt;
*'''Yellowprints''' - Unlocks the ability to store up to 3 different layouts of the powerplant as well as the functionality to import, export and apply them at any time. Additionally adds an option to sell the entire grid.&lt;br /&gt;
&lt;br /&gt;
==Mine==&lt;br /&gt;
&lt;br /&gt;
*'''Detector''' - Automatically reveals the content of one covered tile without digging it up every time a new layer is being generated. Additionally shard, gem and town resource rewards at this tile will be doubled.&lt;br /&gt;
*'''Deep Mining''' - Increases all resource, resource shard and gem rewards by 100%.&lt;br /&gt;
*'''Collapsing Tunnels''' - Installs an automated drill that passively drills an amount equal to 30 seconds of your regular drill per hour (even offline). Each mine tier increases the speed by 30 more seconds per hour.&lt;br /&gt;
*'''Advanced Offline Mining''' - Allows the mine to continue producing resource shards while the game is closed at 150% of the original speed. Without the skill the mine will continue producing shards at 100% of the original speed.&lt;br /&gt;
*'''Tank Expansion''' - Expands the tankvolume of the drill by 10 for each drillpower or fuel usage upgrade.&lt;br /&gt;
*'''Advanced Drill''' - Increases the drillpower by 10% for each tier of the mine.&lt;br /&gt;
&lt;br /&gt;
==Factory==&lt;br /&gt;
&lt;br /&gt;
*'''Faster Machines''' - Increases the production speed of all machines by 50%.&lt;br /&gt;
*'''Full Capacity''' - Increases the resource production by 25% for each unique item type inside the production grid.&lt;br /&gt;
*'''Infinite Rubber''' - Doubles the stock limit of all shop items and halves the refill time. Also the refill time of rubber changes to 0.1 sec. per item.&lt;br /&gt;
*'''Auto-Fill''' - Allows you to automatically fill the contents of the crafting grid with the requirements of the selected recipe. If the crafting grid is not empty then the grid will be cleared instead.&lt;br /&gt;
*'''More Ores''' - Doubles ore output from shard refining.&lt;br /&gt;
*'''Advanced Refining''' - Reduces the basic refining time per shard from 5 seconds to 2 seconds.&lt;br /&gt;
&lt;br /&gt;
==Headquarters==&lt;br /&gt;
&lt;br /&gt;
*'''Sponsoring''' - Decreases the resource conversion rate of the headquarters by 5 for each completed difficulty in normal mode. Takes all unlocked regions into account.&lt;br /&gt;
*'''Head Offices''' - Decreases the resource conversion rate of the headquarters by 3% for each tier of the headquarters.&lt;br /&gt;
*'''Data Mining''' - Increases town resource drops by 2% for each CPU upgrade across all servers during tower testing.&lt;br /&gt;
*'''Dealbreaker''' - Increases the base resource drop multiplier for each fulfilled contract by 0.5.&lt;br /&gt;
*'''Extra Servers''' - Increases the max. number of servers per headquarter tier from 2 to 3.&lt;br /&gt;
*'''Offline Installing''' - Allows the headquarters to continue installing software at 200% of the original speed while the game is closed. Without this skill the headquarters can continue installing the software at 100% of original speed.&lt;br /&gt;
&lt;br /&gt;
==Arcade==&lt;br /&gt;
&lt;br /&gt;
*'''Gambler's Luck''' - Raises the chance to recieve unique rewards.&lt;br /&gt;
*'''High Stakes''' - Increases the amount of tokens gained from minigames.&lt;br /&gt;
*'''Foretelling''' - Raises the luck factor for all minigames to the power of 1.1.&lt;br /&gt;
*'''Fate Forging''' - Unlocks the ability to manually refresh the rewards of the Lucky Wheel.&lt;br /&gt;
*'''Determination''' - Increase the luck factor in Adventure based on rooms cleared and distance to the starting room.&lt;br /&gt;
*'''Extended Possibilities''' - Unlocks all rows of Jumble for potential reward combinations.&lt;br /&gt;
&lt;br /&gt;
==Laboratory==&lt;br /&gt;
&lt;br /&gt;
*'''Science Funds''' - Reduces the conversion rate of laboratory resources by 1 per 5 experiment prestiges. The total sum of all prestige counts is used to calculate the reduction.&lt;br /&gt;
*'''Overpaid Interns''' - Decreases prestige price for each experiment by 50%.&lt;br /&gt;
*'''Scoping'''- Increases the tower's attackrange by 1% for each learned skill in the laboratory.&lt;br /&gt;
*'''Elemental Cores''' - Increases the damage bonus from elemental experiments from 1% to 5% per goal level reached.&lt;br /&gt;
*'''Breakthrough''' - Increases resource drops during tower testing based on the highest significant value or value combo across all experiments.&lt;br /&gt;
*'''Module Molecules''' - Boosts the drop chance for modules during tower testing by 3% for each goal claimed in the laboratory. A goal is considered claimed once a reward has been collected. For multi-level goals, the bonus scales proportionally based on the highest level reached relative to the goal's maximum level.&lt;br /&gt;
&lt;br /&gt;
==Shipyard==&lt;br /&gt;
&lt;br /&gt;
*'''Sturdy Decks''' - Reduces the effects of bad weather by 50%&lt;br /&gt;
*'''Precious Freight''' - Applies the shipment bonus to regular gems at a reduced rate of x^0.5.&lt;br /&gt;
*'''Trade Leverage''' - Reduces the base conversion rate of the shipyard by 1 per actual shipment performed. Multipliers to shipments do not apply in this case. Caps out at 9000 shipments.&lt;br /&gt;
*'''Advanced Navigation''' - By taking longer shortcuts each shipment will yield more sea miles. Raises the seamile multiplier to the power of 1.2 for all shipments that take longer than 5 minutes total.&lt;br /&gt;
*'''Priority Manifest''' - Raises priority for gem and exotic gem shipments, reducing their shipment time by 50%&lt;br /&gt;
*'''Cartography''' - Increases the sea miles gained over time by 33.333% for each tier of the shipyard.&lt;br /&gt;
&lt;br /&gt;
==Trading Post==&lt;br /&gt;
&lt;br /&gt;
*'''Super Trades'''- Provides a 10% chance that a super trade will appear instead of a regular trade which rewards twice as many crates. A super trade is indicated via a green arrow.&lt;br /&gt;
*'''Trading Archives''' - Unlocks the ability to keep specific offers which are then not removed when the countdown for new trading offers triggers.&lt;br /&gt;
*'''Quality Goods''' - Increases the minimum crate multiplier for newly generated trade offers from 0.5 to 0.75.&lt;br /&gt;
*'''More Crates''' - Crate amount rewarded from offers is 25% higher.&lt;br /&gt;
*'''Accounting''' - Increases the maximum amount of available trade offers by 2.&lt;br /&gt;
*'''Merchant''' - Increases the base conversion factor from 10% to 20%.&lt;br /&gt;
&lt;br /&gt;
==Workshop==&lt;br /&gt;
&lt;br /&gt;
*'''Analysis''' - Doubles the chance to randomly unlock new modules.&lt;br /&gt;
*'''Recycling''' - Reduces the conversion rate of workshop points by 1 for each tier of the workshop.&lt;br /&gt;
*'''Synergy''' - Increases the total damage output of the tower by 1% for each offensive module inside your blueprint (additive to itself, multiplicative to other factors).&lt;br /&gt;
*'''Engineering''' - Increases the blueprint size per workshop tier from 3 to 4.&lt;br /&gt;
*'''Reforge''' - Increases the total damage resistance of the tower against any incoming damage type by 1% for each defensive module inside your blueprint (additive to itself).&lt;br /&gt;
*'''Examination''' - Unlocks more detailed region information for the selected gamemode and difficulty. To open the detail screen click on the highscore while having a gamemode and difficulty selected.&lt;br /&gt;
&lt;br /&gt;
==Museum==&lt;br /&gt;
&lt;br /&gt;
*'''Antique Economy''' - Reduces the conversion rate of the Museum by 4000 for each tier of the Museum.&lt;br /&gt;
*'''Power Prism''' - Boost the neutral element for each completed set of power stones (all 9 elements including universal) by the average tier of that set. (Having tier 9 stones of each element but earth and having a tier 3 earth stone will give the same neutral bonus as having only tier 8 stones of each element.)&lt;br /&gt;
*'''Research Funding''' - Decreases the research costs of all artifacts by 15% for each tier of the Museum.&lt;br /&gt;
*'''Primordial Power''' - Increases Power Stone resource boost by 1% * total Power Stone tier inside the loadout instead of 1% per Power Stone. &lt;br /&gt;
*'''Faster Research''' - Decreases the research time of all artifacts by 10% for each tier of the museum. Unlocks instant research with gems. &lt;br /&gt;
*'''Quick Combine''' - Automatically use highest tier power stones from inventory when combination slots are empty.&lt;br /&gt;
&lt;br /&gt;
==Construction Firm==&lt;br /&gt;
&lt;br /&gt;
*'''Fast Construction''' - Increases the construction speed of all buildings by 20% for each tier of the construction firm.&lt;br /&gt;
*'''Cheap Materials''' - Decreases the construction cost of all buildings by 10% for each tier of the construction firm.&lt;br /&gt;
*'''Magic Workers''' - Allows you to instantly finish an active construction project by using an exotic gem.&lt;br /&gt;
*'''Offline Construction''' - Allows the construction firm to construct buildings at 200% of the original speed while the game is closed. Without this skill the construction firm continues at 100% while the game is closed.&lt;br /&gt;
*'''Construction Boost''' - Enables the ability to pay 4 gems per remaining second to instantly finish the current construction.&lt;br /&gt;
*'''Efficiency''' - Decreases the conversion rate from 60 to 40.&lt;br /&gt;
&lt;br /&gt;
==Statue of Cubos==&lt;br /&gt;
&lt;br /&gt;
*'''Jack Of All Trades''' - Each unequipped boss module receives 5% of the total combat experience gained at the end of a fight&lt;br /&gt;
*'''Public Training''' - Increases the combat experience gained at the end of a fight by 0.1% per town level.&lt;br /&gt;
*'''Power Stack''' - Defeating the first tier of a boss for the very first time permanently multiplies your tower testing damage by 3 and divides incoming damage by the amount (in form of generic resistance).&lt;br /&gt;
*'''Trialforged''' - Decreases the base conversion rate for each newly defeated boss tier by 5% (multiplicatively) across all bosses. Works retroactively for defeated boss tiers. Caps at a reduction rate of 90%.&lt;br /&gt;
*'''Divine Gamble''' - Grants a 10% chance to deal 2x damage to any of the first four bosses. This chance increases by +0.1% for every order of magnitude of unspent Statue of Cubos resources (starting at 1, increasing gradually until the next bonus is reached at 10, 100, and so on).&lt;br /&gt;
*'''Second Chance''' - Allows the tower to block potentially lethal damage once per fight.&lt;br /&gt;
{{PerfectNavigation}}&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3852</id>
		<title>Headquarters</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3852"/>
		<updated>2025-12-03T16:21:05Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Exotic Skills */ Update exotic skills for V1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=8|ConversionRate=750|Image=Hq.png|Color=Purple|ColorCode=purple}}&lt;br /&gt;
[[File:Purple resource.png|left|link=Special:FilePath/Purple_resource.png]]&lt;br /&gt;
The '''Headquarters''' is a building where you can upgrade your [[Military Tier]], purchase and install software to speed up [[Tower Testing]], or access the [[AI]] scripting feature.&lt;br /&gt;
&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
==Building Tiers==&lt;br /&gt;
Each tier adds 2 extra server slots and unlocks a new contract.&lt;br /&gt;
&lt;br /&gt;
==Contracts==&lt;br /&gt;
The contracts' conditions can be met to increase resource drops in the [[New Round|core game]].&lt;br /&gt;
The total resource drop multiplier is &amp;lt;code&amp;gt;Resource Drop Bonus per Fulfilled Contract^(Fulfilled Contracts+1)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Glass Cannon===&lt;br /&gt;
Conditions: Use max. 1 defensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Pacifist===&lt;br /&gt;
Conditions: Use max. 1 offensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Colorful===&lt;br /&gt;
Conditions: Use min. 1 [[Modules|module]] of each type (offensive, defensive, utility and ultimate).&lt;br /&gt;
&lt;br /&gt;
===Activist===&lt;br /&gt;
Conditions: Use min. 4 active [[Modules|modules]]&lt;br /&gt;
&lt;br /&gt;
===Elementalist===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with #tags from each element ('''#Fire, #Water, #Earth, #Air, #Nature, #Electricity, #Light, #Darkness''').&lt;br /&gt;
&lt;br /&gt;
*This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Neutralist===&lt;br /&gt;
Conditions: Use between 3 and 15 [[Modules|modules]] with a '''#Neutral''' tag.&lt;br /&gt;
&lt;br /&gt;
===Trickster===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with '''#Buff, #Aura, #Reactive and #Chance''' tags.&lt;br /&gt;
&lt;br /&gt;
*This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Annihilist===&lt;br /&gt;
Conditions: Use at least 5 [[Modules|modules]] with a '''#Universal''' tag; at least 3 modules with a '''#Area''' tag; and min. 5 Ultimate modules&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
&lt;br /&gt;
===Servers===&lt;br /&gt;
[[File:Server.png|thumb]] Servers must be purchased in order to hold more CPU and RAM. Servers increase in cost as more are owned. The player can have a maximum of 16 servers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Server!!Cost ({{resource|purple}})&lt;br /&gt;
|-&lt;br /&gt;
|1||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|2||{{number|1000}}&lt;br /&gt;
|-&lt;br /&gt;
|3||{{number|10000}}&lt;br /&gt;
|-&lt;br /&gt;
|4||{{number|100000}}&lt;br /&gt;
|-&lt;br /&gt;
|5||{{number|1e6}}&lt;br /&gt;
|-&lt;br /&gt;
|6||{{number|1e7}}&lt;br /&gt;
|-&lt;br /&gt;
|7||{{number|1e8}}&lt;br /&gt;
|-&lt;br /&gt;
|8||{{number|1e9}}&lt;br /&gt;
|-&lt;br /&gt;
|9||{{number|1e10}}&lt;br /&gt;
|-&lt;br /&gt;
|10||{{number|1e11}}&lt;br /&gt;
|-&lt;br /&gt;
|11||{{number|1e12}}&lt;br /&gt;
|-&lt;br /&gt;
|12||{{number|1e13}}&lt;br /&gt;
|-&lt;br /&gt;
|13||{{number|1e14}}&lt;br /&gt;
|-&lt;br /&gt;
|14||{{number|1e15}}&lt;br /&gt;
|-&lt;br /&gt;
|15||{{number|1e16}}&lt;br /&gt;
|-&lt;br /&gt;
|16||{{number|1e17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
[[File:CPU.png|thumb|link=Special:FilePath/CPU.png]] CPU increases the speed at which new technology is researched. Each server can hold a maximum of 27.49 THz CPU. You get 1 'flop' for each 20Hz, so the maximum amount of CPU possible (with 16 servers) is 21.99 T flops.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each CPU upgrade is {{Math|5&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 4}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of speed each tier grants is {{Math|4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 25}} Hz&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Speed!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Basic Onboard Circuit||25 Hz||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Cubical Series Basic||100 Hz||{{number|20}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Cubical Series X2||400 Hz||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical Series X4||1.6 KHz||{{number|500}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical Series X4-M||6.4 KHz||{{number|2500}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Phantom Series||25.6 KHz||{{number|12500}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Phantom Series II-M||102.4 KHz||{{number|62500}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Phantom Series X||409.6 KHz||{{number|312500}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Phantom Series Dual X||1.64 MHz||{{number|1.56e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Athlete Series Neo||6.55 MHz||{{number|7.81e6}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Athlete Series X2||26.21 MHz||{{number|3.906e7}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Athlete Series X4-FX||104.86 MHz||{{number|1.9531e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Athlete Series Titan||419.43 MHz||{{number|9.7656e8}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Fire Core i3||1.68 GHz||{{number|4.88e9}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Fire Core i5||6.71 GHz||{{number|2.441e10}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire Core i7||26.84 GHz||{{number|1.2207e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire Core i9||107.37 GHz||{{number|6.1035e11}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire Core i9-X||429.5 GHz||{{number|3.05e12}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix Series Quad-Core||1.72 THz||{{number|1.526e13}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix Series Octa-Core||6.87 THz||{{number|7.629e13}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix Series X16 Supernova||27.49 THz||{{number|3.8147e14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===RAM===&lt;br /&gt;
[[File:RAM.png|thumb|link=Special:FilePath/RAM.png]] RAM increases the maximum execution budget of the AI. Each server can hold a maximum of 1.1 PB RAM. The maximum amount of RAM possible (with 16 servers) is 17.59 PB, which allows a budget of 10000.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each RAM upgrade is {{Math|(6&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; / 0.6)}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of memory each tier grants is {{Math|(4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt;)}} KB&lt;br /&gt;
&lt;br /&gt;
The formula for the execution budget is {{Math|(⌊log&amp;lt;sub&amp;gt;1.459&amp;lt;/sub&amp;gt;(''totalRam'')⌋ + 1) * 100}}, where ''totalRam'' is in bytes (multiply by 1000).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Memory!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Small Onboard Chip||1 KB||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Basic Static RAM Chip||4 KB||{{number|10}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Basic Static RAM Chip X4||16 KB||{{number|60}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical DRAM Gen 1||64 KB||{{number|360}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical DRAM Gen 2||256 KB||{{number|2160}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Cubical DRAM Gen 8||1.02 MB||{{number|12960}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Cubical DRAM Extreme||4.1 MB||{{number|77760}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Lightning Series SDRAM||16.38 MB||{{number|466560}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Lightning Series SDRAM-XL||65.54 MB||{{number|2.8e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Lightning Series SDRAM VI||262.14 MB||{{number|1.68e7}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Lightning Series SDRAM Final||1.05 GB||{{number|1.0078e8}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Poseidon Series DDR2||4.19 GB||{{number|6.0466e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Poseidon Series DDR2 X4||16.78 GB||{{number|3.63e9}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Poseidon Series DDR2 Platinum||67.11 GB||{{number|2.177e10}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Poseidon Series DDR2 Platinum X4||268.44 GB||{{number|1.3061e11}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire RAM DDR3||1.07 TB||{{number|7.8364e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire RAM DDR3 X4||4.29 TB||{{number|4.7e12}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire RAM DDR3 Colossal||17.18 TB||{{number|2.821e13}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix DDR4 Experimental||68.72 TB||{{number|1.6927e14}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix DDR5 Collection||274.88 TB||{{number|1.02e15}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix DDR5 Gargantuan||1.1 PB||{{number|6.09e15}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
Install programs to speed up the core game. The programs are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Name!!Cost!!Time!!Description&lt;br /&gt;
|-&lt;br /&gt;
|Autoskip||{{number|50}}||2500000 flop-sec||When activated it removes the waiting time between waves once all enemies have spawned and therefore slightly speeds up wave progression on lower difficulties.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Streaming||{{number|2.5e5}}||12500 flop-days||Slowly accelerates enemies while at the same time decreasing the spawn interval duration yielding a much higher wave progression speed. (0.1 Wave Acceleration Factor (WAF) per second)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Surge||{{number|7.5e6}}||100000 flop-days||Improves wave streaming by increasing the maximum acceleration limit. After a certain amount of time entire waves are being skipped. ''Skipped waves do not trigger wave related module effects!'' (5x wave streaming speed)&lt;br /&gt;
|-&lt;br /&gt;
|Critical Wavejump||{{number|2.25e7}}||150000 flop-days||Provides a 1% chance to skip waves equal to 5% of your wave record of the current region and difficulty whenever you proceed to the next wave as long as you are below your previous record. Only works in [[Endless mode|endless mode]]!&lt;br /&gt;
|-&lt;br /&gt;
|[[AI|Facility AI]]||{{number|1.75e8}}||200000 flop-days||Unlocks the Facility AI which includes some basic programmable logic scripts.&lt;br /&gt;
|-&lt;br /&gt;
|Boots.dos||Hint: &amp;lt;sup&amp;gt;[[Headquarters#Footnotes|[1]]]&amp;lt;/sup&amp;gt; &amp;lt;spoiler&amp;gt;Debug the Overflow&amp;lt;/spoiler&amp;gt;{{number|3e8}}|| ||Enhances the AI with functions to draw on a canvas that spans over the AI overlay.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Momentum||{{number|5e8}}||250000 flop-days||Everytime the tower destroys an enemy in [[Endless mode|endless mode]] you gain one more wave the next time the wave counter changes. Afterwards the destroyed enemy counter resets. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Wave Storm||{{number|1.75e9}}||500000 flop-days||Increases the amount the counter of Wave Momentum increases whenever an enemy is being destroyed by 10% (Multiplicatively) for each completed normal mode. Additionally increases the wave acceleration factor by 0.25 whenever an enemy is being destroyed and Wave Streaming is active.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Persistence||{{number|3.75e9}}||1000000 flop-days||Improves Wave Momentum by resetting the destroyed enemy counter only to 90% of its previous value instead of zero.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Instability||{{number|5e12}}||2000000 flop-days||Improves Critical Wavejump by increasing its chance to trigger by another 4% and increases the skipped amount to 10% of your previous record.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Vortex||{{number|3e13}}||4000000 flop-days||Removes the warm-up time from Wave Streaming and further increases the wave acceleration speed. Can be combined with Wave Surge. (7.5x wave streaming speed)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Catalyst||{{number|1e14}}||5000000 flop-days||Increases the speed of Wave Streaming based on the amount of waves skipped everytime Critical Wavejump triggers. Has no effect if the wave acceleration factor already exceed 1B (1e9).&lt;br /&gt;
|-&lt;br /&gt;
|Wave Endurance||{{number|4e14}}||6250000 flop-days||Increases the acceleration of Wave Streaming by 5% per second. (This means that the acceleration gets accelerated over time.)&lt;br /&gt;
|-&lt;br /&gt;
|New Bounds||{{number|2e15}}|| ||[[Endless mode|Endless mode]] starts at [[Era]] 1 if the highest record in the current region and difficulty is equal to or bigger than Era 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Marathon||{{number|7.5e15}}|| ||Increases the acceleration factor of wave endurance by 100% (From 5% to 10%, 15%, 20%, ...) for each region and difficulty with a highscore equal or greater than era 1.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Compression||{{number|3e16}}|| ||Reduces the amount of spawn ticks per wave by 50% and increases the destroyed enemy counter of wave momentum exponentially by 0.4% everytime an enemy is being destroyed. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Era Surge||{{number|5e16}}|| ||Skips to the next [[Era]] every 10 times the wave counter changes. Only works if the current Era is at least 1.&lt;br /&gt;
|-&lt;br /&gt;
|Era Burst||{{number|3e17}}|| ||Skips (Total amount of waves skipped)^0.5 eras whenever the wave counter changes. If Era Surge is active then its effect will change to a 10% boost for Era Burst&lt;br /&gt;
|-&lt;br /&gt;
|Era Swirl||{{number|8e18}}|| ||Increases the amount of eras skipped the greater your gap to era {{number|1e11}} is. Has no effect if your current era is bigger than {{number|1e11}}. (log10(distance to 1e11))&lt;br /&gt;
|-&lt;br /&gt;
|Wave Horizon||{{number|9e19}}|| ||Multiplies the acceleration speed of wave streaming by 25 for each region and difficulty with a highscore equal or greater than era 1.&lt;br /&gt;
|-&lt;br /&gt;
|No Bounds||{{number|3e21}}|| ||Endless mode starts at [[Infinity]] 1 if the highest record in the current region and difficulty is equal to or bigger than Infinity 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Era Tunneling||{{number|1e22}}|| ||Increases the amount of eras skipped by 25% and by an additional +25% for each region where all difficulties in endless have a highscore of infinity 1 or greater.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Breach||{{number|5e22}}|| ||Boosts the accel gain from wave streaming based on the highest wave acceleration amount you have ever reached in any region. Formula for multiplier: Log10(10+Highest Acceleration/100)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Floor||{{number|5e22}}|| ||Prevents the wave counter from going below {{number|1e8}} if the highest era in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Floor||{{number|5e24}}||5e11 flop-hours||Prevents the era counter from going below {{number|1e8}} if the highest infinity in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Horizon||{{number|1.2e27}}||1e12 flop-hours||As long as this software is active, each difficulty in each region with a highscore equal to or greater than Infinity 1 multiplies the amount of eras skipped using era software by 4 (additively) and the exponent of era burst by 0.002 (additively). Removes the Era/Infinity restriction of Era Swirl as well.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Restart||{{number|5e28}}||1.5e12 flop-hours||If this software is active then a new round in tower testing will start at your previous record. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}. With this software you can technically push forever so use it wisely.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity Horizion||{{number|1.5e30}}||2e12 flop-hours||Turns era swirl into a constant multiplier with the same value as the &amp;quot;maximum bonus would have provided.&amp;quot; (11x) Also doubles the wave acceleration speed as well as the acceleration of the acceleration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is another technical limit for speed which is compensated by skipping waves leading to a higher resources/sec increase at the cost of missing out a few enemies.&lt;br /&gt;
&lt;br /&gt;
==Military==&lt;br /&gt;
{{Main|Military Tier}}&lt;br /&gt;
&lt;br /&gt;
In the military tab you can soft prestige after meeting certain requirements (unlocking regions, maxing out modules...), which change with every prestige.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reward the player with higher maximum modules tier, new buildings, software, bosses, and other features.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reset the level of all modules, as well as losing all your cubes. Cubes can be regained over a period of 4 hours (1 hour with the exotic skill '''Trustworthy Trust Fund'''). To compensate this, you are rewarded some gems or exotic gems.&lt;br /&gt;
&lt;br /&gt;
Prestiging will not make you lose gems, exotic gems, or non-cube building resources.&lt;br /&gt;
&lt;br /&gt;
You will start at Tier 0, and will eventually reach Tier 4, unlocking access to the [[AI]]. Upon reaching tier 8, you will unlock access to [[Era]] content. [[Infinity]] content is available at Tier 12.&lt;br /&gt;
&lt;br /&gt;
==Facility AI==&lt;br /&gt;
{{Main|AI}}&lt;br /&gt;
&lt;br /&gt;
The Facility AI is a section unlocked by attaining military prestige 4 and installing it from software section. The AI allows for multiple automation tasks to be performed, including refreshing [[Mine]] layers, combining power stones at the [[Museum]], using active modules automatically, or simply clicking at specific locations on the screen.&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Sponsoring''' - Decreases the resource conversion rate of the headquarters by 5 for each completed difficulty in normal mode. Takes all unlocked regions into account.&lt;br /&gt;
*'''Dealbreaker''' - Increases the base resource drop multiplier for each fulfilled contract by 0.5.&lt;br /&gt;
*'''Offline Installing''' - Allows the headquarters to continue installing software while the game is closed.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Trustworthy Trust Fund''' ({{Number|20|icon=[[File:Exotic gem.png|20px]]}}) - Reduces the total time it takes to regain all resources after a tier up by 3 hours.&lt;br /&gt;
*'''Foreign Contracts''' ({{Number|100|icon=[[File:Exotic gem.png|20px]]}}) - By establishing a connection with other islands we unlock 3 new contracts.&lt;br /&gt;
*'''Shard Database''' ({{Number|50|icon=[[File:Exotic gem.png|20px]]}}) - Increases the wave acceleration factor from software by 1% per regular building skill learned (multiplicative). Counts the building skills from all buildings and not just the headquarters.&lt;br /&gt;
&lt;br /&gt;
==Footnotes==&lt;br /&gt;
&lt;br /&gt;
#D0s's Secret &amp;lt;spoiler&amp;gt;Crash the AI while Debug Overlay is open&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3851</id>
		<title>Power Plant</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3851"/>
		<updated>2025-12-03T16:19:42Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Exotic Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=6|ConversionRate=800|Image=Powerplant.png|Color=Yellow|ColorCode=#E6C900}}&lt;br /&gt;
[[File:Yellow resource.png|left|link=Special:FilePath/Yellow_resource.png]]&lt;br /&gt;
The '''Power Plant''' is a building used to generate electricity to give speed boosts to other buildings.&lt;br /&gt;
[[File:PowerPlant.png|thumb|Power plant example]]&lt;br /&gt;
&lt;br /&gt;
{{Clear|left}}&lt;br /&gt;
==Power Grid==&lt;br /&gt;
The power grid is where you place components in order to generate and store energy.&lt;br /&gt;
&lt;br /&gt;
You can place components by selecting one from the list on the left of the screen, and then clicking an empty tile. The price of the placed component will increase by 1.5x (mul.) for each component of the same type on the grid, this is reverted if the component is sold.&lt;br /&gt;
&lt;br /&gt;
To sell a component, right-click the filled tile while not having any component selected from the list. Doing so will fully refund the resources you spent buying the component.&lt;br /&gt;
&lt;br /&gt;
Components must connect either orthogonally to a component they supply something to or via pipes if the component provides a fluid can be transported by one. Generators do not need to be connected to a battery, all battery storage and power production is simply added together for their final values. &lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
This is where you spend your energy to speed up other buildings:&lt;br /&gt;
&lt;br /&gt;
*[[Construction Firm]]: Reduces construction time for buildings.&lt;br /&gt;
*[[Factory]]: Speeds up shard refining, store reload, machine speed, and fabricator speed.&lt;br /&gt;
*[[Mine]]: Speeds up the drill, asteroid mining time, and asteroid scanning time.&lt;br /&gt;
*[[Headquarters]]: Speeds up download of software and how fast contracts run out.&lt;br /&gt;
*[[Shipyard]]: Speeds up shipments.&lt;br /&gt;
*[[Museum]]: speeds up artifact research time and offshore market refresh time.&lt;br /&gt;
*&amp;lt;spoiler&amp;gt;[[Workshop]]: To boost [[Workshop]] you need an [[Era]] artifact. Boosting the workshop is only relevant for Era-related activities.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Arcade]]: On its own, it only speeds up the cooldown timer of &amp;quot;Refresh Wheel.&amp;quot; To effectively boost the [[arcade]] you need to have something else (located in the spoiler below), which reduces the time between delays (such as time between stopping jumble rows) and increases the speed of the lucky wheel. &amp;lt;spoiler&amp;gt;The darkness [[infinity]] stone grants this power.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Trading Post]]: reduces the time between perk refreshes and the timer to reset trades&lt;br /&gt;
&lt;br /&gt;
The more energy you use, the longer and stronger the boost is. &lt;br /&gt;
&lt;br /&gt;
You can boost multiple buildings at the same time, but if they are boosted at &amp;lt;i&amp;gt;exactly&amp;lt;/i&amp;gt; the same time then they have to split the energy for the boost, and so the boosts will be weaker. If you are using workers to restart boosts this isn't a problem in practice, because the periods of each building are different, and so each building will end up boosted at a unique time.&lt;br /&gt;
&lt;br /&gt;
===Mechanics===&lt;br /&gt;
&lt;br /&gt;
Boosting applies a percentage of the total available energy (10%, 25%, 50% or 100% depending on your selection) towards boosting. If there are multiple buildings being boosted simultaneously, the energy is split between them. (This splitting will not be shown in the preview numbers before you boost, but it will be apparent afterwards.) Call this energy being allocated to boosting a building &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt; is divided between time and effectiveness based on the position of the slider. For effectiveness, the slider runs from 1% to 100% of &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;, and for time the slider runs from 100% to 1%. This does mean that the overall energy sums to 101%! Call the amount after the the slider &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For both time and effectiveness, &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt; is used as follows: &amp;lt;code&amp;gt;Result = log(PostSlider) * Perks * BaseValue&amp;lt;/code&amp;gt;. When displayed, &amp;lt;code&amp;gt;Result&amp;lt;/code&amp;gt; is rounded for effectiveness, but truncated for time. The base for the log is 10 normally, or 7 with the Super Boost skill. Perks include Town Perks, as well as the 1.25 multiplier from Max Power if at full power (only applies to effectiveness). The table of &amp;lt;code&amp;gt;BaseValues&amp;lt;/code&amp;gt; is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Building!!Time!!Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
|Construction Firm||4:00||20%&lt;br /&gt;
|-&lt;br /&gt;
|Factory||3:00||15%&lt;br /&gt;
|-&lt;br /&gt;
|Mine||3:20||18%&lt;br /&gt;
|-&lt;br /&gt;
|Headquarters||2:00||22%&lt;br /&gt;
|-&lt;br /&gt;
|Shipyard||5:00||10%&lt;br /&gt;
|-&lt;br /&gt;
|Museum||3:00||15%&lt;br /&gt;
|-&lt;br /&gt;
|{{Inline spoiler|Workshop}}||3:40||21%&lt;br /&gt;
|-&lt;br /&gt;
|Arcade||5:00||0.5%&lt;br /&gt;
|-&lt;br /&gt;
|Trading Post||3:00||15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
These are your components for use in the power grid.&lt;br /&gt;
&lt;br /&gt;
You can unlock more by upgrading the Power Plant in the Construction Firm and purchasing the technology level it unlocks.&lt;br /&gt;
&lt;br /&gt;
All components except the water pump and dyson node can be upgraded in the technology tab. All costs are rounded to the nearest resource. The power plant runs at 10 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: Free&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Water pump.png|center|frame|Water Pump]]&lt;br /&gt;
|Provides infinite water.&lt;br /&gt;
|{{Number|25|icon={{Resource|Yellow}}}}&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |None&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fluid pipe.png|center|thumb|Fluid Pipe]]&lt;br /&gt;
|Transports {{Number|1e3}}L of gas or fluid per tick.&lt;br /&gt;
Currently used to move water from a water pump to a coal boiler,&lt;br /&gt;
&lt;br /&gt;
and to move steam from a coal boiler to a steam turbine.&lt;br /&gt;
&lt;br /&gt;
The pipe is gray when empty, blue when filled with water,&lt;br /&gt;
&lt;br /&gt;
and white when filled with steam.&lt;br /&gt;
|{{Number|5}}{{Resource|Yellow}}&lt;br /&gt;
|Pipe Throughput&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;{{Number|1e3}} to pipe input, output and storage (add.)&lt;br /&gt;
|???&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Yellow battery.png|center|thumb|Yellow battery]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Adds +{{Number|2e3}} power capacity.&lt;br /&gt;
Can be placed anywhere, and is not &lt;br /&gt;
&lt;br /&gt;
needed to be connected to anything.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|50}}{{Resource|Yellow}}&lt;br /&gt;
|Capacity&lt;br /&gt;
| +50% battery capacity&lt;br /&gt;
|???&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|Deep Link&lt;br /&gt;
| +1% total power capacity per Yellow battery (add.)&lt;br /&gt;
Note that the Total Capacity bonus applies to &amp;lt;i&amp;gt;all&amp;lt;/i&amp;gt; batteries,&lt;br /&gt;
&lt;br /&gt;
as well as the base {{Number|1e3}} power! I.e. if you have fully &lt;br /&gt;
&lt;br /&gt;
upgraded Yellow Batteries and have 10 of them, they're providing +50% to all capacities.&lt;br /&gt;
|???&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 1===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Steam turbine.png|center|thumb|Steam Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Transforms 10L of steam into 30 power per tick.&lt;br /&gt;
Needs to be connected to an active coal boiler to generate energy.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|60}}{{Resource|Yellow}}&lt;br /&gt;
|Condensed turbines&lt;br /&gt;
| +100% power production (mult.) and&lt;br /&gt;
steam usage/tick&lt;br /&gt;
|{{Number|5e3}} × 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|Two-flow rotors&lt;br /&gt;
| -1 base steam usage/tick&lt;br /&gt;
|{{Number|1e7}} × 16&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Coal chest.png|center|thumb|Coal Chest]]&lt;br /&gt;
|Provides {{Number|2.5e3}}kg of coal.&lt;br /&gt;
Needs to be placed next to a coal boiler.&lt;br /&gt;
&lt;br /&gt;
Has to be replaced periodically, as it will run out of coal.&lt;br /&gt;
|{{Number|40}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +25% Coal (mul.)&lt;br /&gt;
|{{Number|2.5e4}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Coal boiler.png|center|thumb|Coal Boiler]]&lt;br /&gt;
|Turns 100L of water, and 4 kg of coal into 30L of steam.&lt;br /&gt;
Needs to be connected to a water pump and a coal chest to function.&lt;br /&gt;
|{{Number|150}}{{Resource|Yellow}}&lt;br /&gt;
|Denser coal&lt;br /&gt;
| +30L steam/tick,&lt;br /&gt;
+4kg coal usage/tick and&lt;br /&gt;
&lt;br /&gt;
+100L water usege/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:PowerPlantExample.png|thumb|Basic setup for tier 1.|link=Special:FilePath/PowerPlantExample.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tier 2===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Oil barrel.png|center|thumb|Oil Barrel|link=Special:FilePath/Oil_barrel.png]]&lt;br /&gt;
|Provides {{Number|1e4}}L of oil.&lt;br /&gt;
Can be placed anywhere, as long as a fluid pipe connects it to an oil furnace.&lt;br /&gt;
|{{Number|1000}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +20% Oil (mul.)&lt;br /&gt;
|{{Number|1e5}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Gas tank.png|center|thumb|Gas Tank|link=Special:FilePath/Gas_tank.png]]&lt;br /&gt;
|Provides {{Number|2e4}}L of gas.&lt;br /&gt;
Can be placed anywhere, as long as fluid pipes connect it to a gas turbine.&lt;br /&gt;
|{{Number|2e3}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +20% Gas (mul.)&lt;br /&gt;
|{{Number|1.25e5}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Oil furnace.png|center|thumb|Oil Furnace|link=Special:FilePath/Oil_furnace.png]]&lt;br /&gt;
|Turns 20L of oil and 200L of water into 100L of steam.&lt;br /&gt;
|{{Number|1.75e4}}{{Resource|Yellow}}&lt;br /&gt;
|Bigger heat chambers&lt;br /&gt;
| +100L steam/tick,&lt;br /&gt;
+20L oil usage and&lt;br /&gt;
&lt;br /&gt;
+200L water useage/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Gas turbine.png|center|thumb|Gas Turbine|link=Special:FilePath/Gas_turbine.png]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Turns 25L of gas into 100 power per tick.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|5e3}}{{Resource|Yellow}}&lt;br /&gt;
|Early ignition&lt;br /&gt;
| +100% power production and gas requirement&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Optimized pipes&lt;br /&gt;
| +1% power production (mul.) for gas turbines per regular pipe on the grid regardless if it's in use&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 3===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Solar panel.png|center|thumb|Solar Panel]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Produces 1 power per tick (0 when raining).&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|1e4}}{{Resource|Yellow}}&lt;br /&gt;
|Double sized panels&lt;br /&gt;
| +100% power production&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Aqua panels&lt;br /&gt;
|2% × lvl of power production well continue during rain&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Water turbine.png|center|thumb|Water Turbine|link=Special:FilePath/Water_turbine.png]]&lt;br /&gt;
|Uses 20L of water to provide 3 power per tick.&lt;br /&gt;
Can be connected with pipes or directly to a Water Pump&lt;br /&gt;
|{{Number|2e4}}{{Resource|Yellow}}&lt;br /&gt;
|Streamlined turbines&lt;br /&gt;
| +100% power production (mul.) and +20L water usage&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Wind turbine.png|center|thumb|Wind Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Produces 0~4 power per tick&lt;br /&gt;
(min. of 0 without wind and max of 4 when there is a hurricane).&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|1.25e4}}{{Resource|Yellow}}&lt;br /&gt;
|Extra long blades&lt;br /&gt;
| +100% power production&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Titanium rotors&lt;br /&gt;
|8x power generation during hurricanes&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Red battery.png|center|thumb|Red Battery]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Gives +{{Number|2.5e4}} to power capacity.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|2e3}}{{Resource|Yellow}}&lt;br /&gt;
|Capacity&lt;br /&gt;
| +100% power capacity&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|Deep link&lt;br /&gt;
| +1% power capacity per component that processes resources and/or&lt;br /&gt;
produces power times the number of red batteries (add.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 4===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Lava pump.png|center|thumb|Lava Pump]]&lt;br /&gt;
|Provides {{Number|1e7}}L of lava.&lt;br /&gt;
Lava can be moved with a fluid pipe.&lt;br /&gt;
|{{Number|2.5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +15% Lava (mul.)&lt;br /&gt;
|{{Number|1.5e6}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Thermal generator.png|center|thumb|Thermal Generator]]&lt;br /&gt;
|Turns 100L of lava and 100L of water into 200 power per tick.&lt;br /&gt;
Can be connected with a pipe or directly to a lava pump.&lt;br /&gt;
|{{Number|5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Turbine overheating&lt;br /&gt;
| +100% power production (mul.),&lt;br /&gt;
+100L water and lava usage/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 5===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Uranium box.png|center|thumb|Uranium Box|link=Special:FilePath/Uranium_box.png]]&lt;br /&gt;
|Provides {{Number|5e4}}Kg of Uranium.&lt;br /&gt;
|{{Number|7.5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +10% Uranium (mul.)&lt;br /&gt;
|{{Number|5e6}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fission reactor.png|center|thumb|Fission Reactor|link=Special:FilePath/Fission_reactor.png]]&lt;br /&gt;
|Transforms 1Kg of Uranium and 100L of water into 200L of steam.&lt;br /&gt;
|{{Number|1e5}}{{Resource|Yellow}}&lt;br /&gt;
|High Radiation&lt;br /&gt;
| +100% steam production (mul.)&lt;br /&gt;
+100% water and uranium requirement (mul.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Blue battery.png|center|thumb|Blue Battery]]&lt;br /&gt;
|Gives +{{Number|5e5}} to power capacity.&lt;br /&gt;
|{{Number|5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Deep link&lt;br /&gt;
| +1% total power capacity per component on the grid that emits resources &lt;br /&gt;
(including storage) times the number of blue batteries (add.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 6===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Plasma pipe.png|center|thumb|Plasma Pipe|link=Special:FilePath/Plasma_pipe.png]]&lt;br /&gt;
|Transport {{Number|1e3}}L of Plasma per tick&lt;br /&gt;
|{{Number|1e5}}{{Resource|Yellow}}&lt;br /&gt;
|Plasma Throughput&lt;br /&gt;
| +1000 Plasma input/output/storage (add.)&lt;br /&gt;
|{{Number|1e15}} * {{Number|1000}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Helium3 tank.png|center|thumb|Helium-3 Tank|link=Special:FilePath/Helium3_tank.png]]&lt;br /&gt;
|Provides {{Number|1e5}}L of He3&lt;br /&gt;
|{{Number|5e5}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +8% Gas (mul.)&lt;br /&gt;
|{{Number|2.5e7}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fusion reactor.png|center|thumb|Fusion Reactor]]&lt;br /&gt;
|Transforms 250L of He3 into 500L of Plasma&lt;br /&gt;
|{{Number|1.75e6}}{{Resource|Yellow}}&lt;br /&gt;
|Cold Fusion&lt;br /&gt;
| +500L Plasma Production (add.),&lt;br /&gt;
+250L Helium Requirement (add.)&lt;br /&gt;
|{{Number|1e14}} * {{Number|100}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |[[File:Plasma turbine.png|center|thumb|Plasma Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Transform 100L of Plasma into {{Number|5e3}} power per tick&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |{{Number|5e5}}{{Resource|Yellow}}&lt;br /&gt;
|Plasma Synergy&lt;br /&gt;
| +2% [plasma] Power Production (mul.) for every component on the grid that is not a plasma turbine regardless if it's in use,&lt;br /&gt;
+300L Plasma Requirement (add.)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +2% bonus is *additive* with increasing levels, i.e. at 3/3 levels it is a 1.06 multiplicative bonus.)&lt;br /&gt;
|{{Number|1e16}} * {{Number|1e8}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|Water Synergy&lt;br /&gt;
| +18% Plasma Turbine Power Production (add./mul.) for every water turbine on the grid regardless if it's in use, +80% Water Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
(Note: The +18% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +90% bonus per water turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Solar Synergy&lt;br /&gt;
| +10% Plasma Turbine Power Production (add./mul.) for every solar panel on the grid regardless if it's in use,&lt;br /&gt;
+50% Solar Panel Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
&lt;br /&gt;
(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per solar panel. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Wind Synergy&lt;br /&gt;
| +10% Plasma Turbine Power Production (add./mul.) for every wind turbine on the grid regardless if it's in use, +50% Wind Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per wind turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Special===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Requirement: Power Plant Floor 2&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Dyson node.png|center|thumb|Dyson Node|link=Special:FilePath/Dyson_node.png]]&lt;br /&gt;
|Provides aura and +X Power / Tick (depends on dyson power)&lt;br /&gt;
Dyson nodes cannot be placed in the 8 squares next to another node.&lt;br /&gt;
&lt;br /&gt;
Available as soon as Floor 2 is unlocked, regardless of Power Plant level.&lt;br /&gt;
&lt;br /&gt;
Power amount is &amp;lt;code&amp;gt;dyson_power&amp;lt;/code&amp;gt;&amp;lt;sup&amp;gt;0.25&amp;lt;/sup&amp;gt;. This maxes at {{Number|1.1892071e3}} power per tick.&lt;br /&gt;
|{{Number|1e12}}{{Resource|Yellow}}&lt;br /&gt;
|None&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Quantum Grid''' - Allows components on the power grid to connect to components on the opposite edge of the grid.&lt;br /&gt;
*'''Super Boost''' - Using more power for boosts has a higher impact on duration/effectivity. (Log10 -&amp;gt; Log7)&lt;br /&gt;
*'''Max. Power''' - Increases the effectiveness of all active boosts by 25% (multiplicative) if the current amount of power exceeds the maximum amount.&lt;br /&gt;
*'''Efficient Recycling''' - Lowers the base conversion rate from town resources to power plant resources to 600.&lt;br /&gt;
*'''Shutdown''' - Allows you to cancel boosts anytime. Does not refund any power!&lt;br /&gt;
*'''Yellowprints''' - Unlocks the ability to store up to 3 different layouts of the power plant as well as the functionality to import, export and apply them at any time. Additionally adds the an option to sell the entire grid.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Hibernation Mode''' ({{Number|50|icon=[[File:Exotic gem.png|20px]]}}) - Boosts stop losing their duration while the game is closed but still affect all buildings during that time as many they would normally do.&lt;br /&gt;
*'''Recursive Feedback''' ({{Number|100|icon=[[File:Exotic gem.png|20px]]}}) - Allows the power plant to boost itself. Power will charge correspondingly faster, although the power grid continues to tick at its regular speed. All other processes within the Power Plant are accelerated, just like in other buildings.&lt;br /&gt;
*'''Quantum Storage''' ({{Number|200|icon=[[File:Exotic gem.png|20px]]}}) - Enables charging beyond you max power at a reduced efficiency. Each order of magnitude (10x increase) in max power grants an additional 1% of your base charging rate during overcharge.&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
===Recommended Setups===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Starter Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[1]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|1.823e5|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|3.023e6}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|1.326e5|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;tZBBCsJADEWv4gm8wOxcCO4KeoG0Rh1IkzDNMMztla4M0jJI+1bJ/+GHRKVgUgK2IwncJVu48CNytHro&lt;br /&gt;
XjBh2JmKRFJOYIaphskQxltOfWT803I4R6Nik7J1xCBAV5MET5zrc04MAy7qBT5ndXlUp/5Ero+3LHU0&lt;br /&gt;
37b87g0ivLPWffMG&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Early.png|320x173px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mid-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[2]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Recommended&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Power Plant [[#Floor_2|Floor 2]]. 2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|6.935e10}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZW/DsIgEMbfyMWxm4urUV/gKlcluR4Nf9Lw9nZpIh1aaIrW6sR3BO6+30GgUS3qhoDtjhQI5WwhuZIsrS8qZ6TiM8LNKj0aeSRS7QGsRe2/Jorn2x57jr6sieGznSjJYZ8jRsc7aqEbrk6XkjFhW6qhd4HH6AA5R4ExIOGN4iMyatgk7YCv+wlMDX35cOkDSbp6f+k03JfzlgV44DUECSFHT1ij6FNOyiywKQYSbu58ykkZIC6ae&lt;br /&gt;
e6j9MdLwJMsVkWXIzKKQJ+AkQLel+k1uf2JDjwB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid Main.png|320x183px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Cheaper&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|3e18|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Power Plant [[#Floor_2|Floor 2]]. 1 of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|2.32e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZbLDsIgEEX/yI1Ldm7cGvUHpjJVEjo0PEL4e+uiSWliA30k1nY3cAfunCEEauVR1xLIHqQCrpxlgkpBwgbGg1F0RkINVmnWZJkK7k4XgrAvFtLhCaxFHb7GXhBvlxslQV+AUDIPjZoz39kmxTYHIxZLZ4SiK8Ljo71QClcdb00MzzTrFOJuzlzIvVJjjsnnOIU2LmUu3sSjj83/CzV22yqpRt6m5YTLQI4sZufb+dbKF1BK5dvMJUapzMtXEpv3npotNWL8H2qNnRj/txoUh27V744yCN8=&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid Cheaper.png|320x188px|link=Special:FilePath/Powerplant_Setup_Mid_Cheaper.png]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No-Dyson&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|1.873e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZbBDoIwDIbfyItHbjyBUV+gSNUlZSVjy8Lby4WEmaBsrOiBE38zUv6Pdltb9mhaAm0PxFCzs0VZ3F2nWJ8RbpZNRNQxgTmBRtpYphrukYh9Cdai6TNFw8/sGrg6UymNqUBhEgmbFTnMobN0gHxVYrHCAoT+nkjKNcfLoOHxvjhb/kwZDdajx68yFtrD8Bg/FASho/n3Qq9L88UwSZOmESzN90+kH2xu0p17UfeNutU57JWuf9jqMpftFCpWy9+48rPVGn75ASt1Jl1DlUsnen8B&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid No-Dyson.png|320x188px|link=Special:FilePath/Powerplant_Setup_Mid_No-Dyson.png]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Late-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[3]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|3e48|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Electricity [[Infinity#Infinity_Perks|Infinity Perk]] enabled. Power Plant [[#Floor_2|Floor 2]]. Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|3.046e18}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number| 2.266e15|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;5ZbNDoIwDMffyItHbl68GvUFiqu6ZHRkbFl4e/GA2RadY4IQva30498fZaG1tKhqAaRXQgKTRheczpy&lt;br /&gt;
4bgvWNpK2SKhAS1V0UU0FR6NKThg6WxRC2g1ojaqNWmfTcEl7hNM9L2ZZ6BJ6vfS09FaGAPpOX/GKgptqfejOcMEBDVhOrC/ZSAFqB4TCB1f&lt;br /&gt;
IHuHuczfeKZMuHnTtI400bN9yURLIg3eVAO8I5PYYoOZ+Wh+BR67BdODjXCmnkW9CZ/HnEj/XnQk3kTyd9a3M/KAvmWOUQ6ouCtE5/jNfKQz&lt;br /&gt;
2cVOc51QLfjq/hZq/SKXvfEuy8veqqHPqMU02Yt95Aw==&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Late Infinity Perk.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/781517486045921291/1130610612771246080 Early Power Plant Setup]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/1240795204089548809/1240795204089548809 Power plant guide v5]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/891636673744609280/908516244586639378 MT15 Power Plant (Post Electric Stone)]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Region.png&amp;diff=3821</id>
		<title>File:Region.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Region.png&amp;diff=3821"/>
		<updated>2025-07-24T18:54:43Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Region tag for use in the challenges tab&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3568</id>
		<title>AI</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3568"/>
		<updated>2024-11-09T12:21:47Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Add signatures for worker APIs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The facility AI (short for &amp;quot;Artificial Intelligence&amp;quot;) is a feature of the [[Headquarters]] that unlocks upon reaching [[Military Tier]] 4 and finishing the associated software. It is an extremely versatile tool that allows the user to automate almost any task in the game.  &lt;br /&gt;
&lt;br /&gt;
Compared to workers, AI scripts are far more versatile as they can interact with almost every system in the game and even for systems for which there is no current APIs that the AI could use to interact it can always perform mouse clicks to simulate such behavior. This is currently limited as the AI can only click on in-game UI buttons so things like region [[artifacts]] must still be performed manually, additionally the AI cannot perform right or middle mouse clicks. However AI cannot run while the game is closed (or more accurately during the simulated time when opening a save file) or interact with buildings which are not open. Workers can do both of these things, appear before AI (MT1 rather than MT4) and are far simpler to use without community assistance so while AI may have more power to automate the game, neither is a replacement for the other. &lt;br /&gt;
&lt;br /&gt;
To use the AI you must first obtain a script to execute. There are several ways to do this:&lt;br /&gt;
&lt;br /&gt;
*Create an AI script in the headquarters. For more information on learning how to create scripts, see [[Using the AI]].&lt;br /&gt;
*Obtain import codes for scripts that other players have written. For a list of available scripts, see the [https://discord.com/channels/488444879836413975/1093895780865163284 discord forum].&lt;br /&gt;
*Use machine learning (a macro system). This is done by pressing F7 while the AI overlay is active.&lt;br /&gt;
&lt;br /&gt;
==AI Script Format==&lt;br /&gt;
An AI script contains three sections that control its behavior:&lt;br /&gt;
&lt;br /&gt;
*Impulses&lt;br /&gt;
*Conditions&lt;br /&gt;
*Actions&lt;br /&gt;
&lt;br /&gt;
All scripts have a limit of impulses, conditions and actions. Impulses and conditions have a cap of 10, actions a cap pf 50.&lt;br /&gt;
&lt;br /&gt;
===Impulses===&lt;br /&gt;
An Impulse can refer to any button press or event that directly activates an AI script. It is not to be confused with the Basic:Execute command which is not considered an impulse, as it is not a way for a player to directly trigger an AI script, but rather a way of calling the script inside of another AI script much like helper methods in high level programming languages. Each impulse can trigger the AI script, regardless if it has already been triggered. It is possible that a script can trigger multiple times before it has finished execution. In this case multiple instances of this script can run in parallel.&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
A Condition is a requirement that has to be fulfilled in order for the script to start executing. If any condition in the script is false then the script will not be executed when an impulse is triggered by a player action. During the execution the specified conditions have no effect. All conditions are of data Type:Bool, and any expression that returns a bool can be used as a condition&lt;br /&gt;
&lt;br /&gt;
===Actions===&lt;br /&gt;
An Action is something that the AI does when the script becomes active. The Actions are executed one by one, in order from top to bottom. Actions will continue to be executed until either the AI menu is closed, or the script terminates normally. Within one instance of a script, as many actions as the script budget will allow can be executed in one frame. Atomic actions (those with a red symbol) cost 0 budget, all others cost 100. The script is executed in sequence until the budget is reached at which point execution is given to the next script.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[File:AI-Script-Editor.png|alt=AI-Script-Editor (Ingame)|none|thumb|362x362px|AI-Script-Editor (In game)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a maximum budget per script. This is determined by the total amount of RAM installed in all servers. &lt;br /&gt;
&lt;br /&gt;
To get a budget of 10,000 requires fully upgrading the RAM of all 16 servers.&lt;br /&gt;
&lt;br /&gt;
==AI Script Language==&lt;br /&gt;
&lt;br /&gt;
===Data Types===&lt;br /&gt;
There are various data types that are usable within AI scripts, all of which are incredibly versatile and useful in creating a script as complex or simple as one desires.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example Values&lt;br /&gt;
!Default Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|A integer that allows decimal precision. Can be positive or negative.&lt;br /&gt;
|3.2, 0.29, -10.2, 7.9999993&lt;br /&gt;
|0.0&lt;br /&gt;
|Doubles have a max value of approximately 1.797 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|A number that does not allow decimal precision. Can be positive or negative.&lt;br /&gt;
|20, 69, 420, -1029, 0&lt;br /&gt;
|0&lt;br /&gt;
|Ints range from -2147483648 to 2147483647&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|An array of characters. Basically a way to format and use text.&lt;br /&gt;
|&amp;quot;meow&amp;quot;, &amp;quot;hello&amp;quot;, &amp;quot; &amp;quot;, &amp;quot;I am a text&amp;quot;, &amp;quot;!BanBudE&amp;quot;&lt;br /&gt;
|&amp;quot;&amp;quot;&lt;br /&gt;
|The quotes in the examples are not included in the actual string value.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|A binary value that can either be true or false.&lt;br /&gt;
|true, false&lt;br /&gt;
|false&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Vector2&lt;br /&gt;
|A container type that contains two double values called x and y.&lt;br /&gt;
|(-30.0, 0.0), (28.38, 13)&lt;br /&gt;
|(0.0, 0.0)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Some datatypes can be converted to others by using a function. Check the table below to see which datatypes are currently interchangeable.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source / Target&lt;br /&gt;
!double&lt;br /&gt;
!int&lt;br /&gt;
!string&lt;br /&gt;
!bool&lt;br /&gt;
!Vector2&lt;br /&gt;
|-&lt;br /&gt;
!double&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|Partially&lt;br /&gt;
|-&lt;br /&gt;
!int&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!string&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!bool&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!Vector2&lt;br /&gt;
|Partially&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
(The table will be updated as soon as more AI features are available.)&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Any line in an AI script (apart from impulses) represents a function.&lt;br /&gt;
&lt;br /&gt;
There are two major types of functions:&lt;br /&gt;
&lt;br /&gt;
*Without a return value (= Actions)&lt;br /&gt;
*With a return value&lt;br /&gt;
&lt;br /&gt;
Functions without a return value appear as actions in the sidebar of the AI-script editor. In general these functions do something specific but require some sort of input. &lt;br /&gt;
&lt;br /&gt;
The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type.&lt;br /&gt;
&lt;br /&gt;
===APIs (Application Programming Interfaces) (as of v0.49)===&lt;br /&gt;
Function signatures have been slightly modified to conform with a C-like syntax for similarity with other function signatures. The special return type &amp;lt;code&amp;gt;impulse&amp;lt;/code&amp;gt; denotes a function is an input (rather than an action), actions which previously did not have a return type now have the &amp;lt;code&amp;gt;void&amp;lt;/code&amp;gt; return type and the colon between type and argument name is removed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Impulses&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Wake Up&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse wakeup()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the AI switches from inactive to active.&lt;br /&gt;
|-&lt;br /&gt;
|New Round&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse game.newround()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever a new [[Tower Testing]] round starts.&lt;br /&gt;
|-&lt;br /&gt;
|Open: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse open.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being opened (ex: Open: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|Close: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse close.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being closed (ex: Close: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Up&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.up()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Down&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.down()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Key: &amp;lt;0-9, A-Z&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse key.#()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the 0-9 or A-Z key is being pressed (case-insensitive, not numpad). (ex: Key: 0)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Script Execution Context&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Mouse: &amp;lt;Key&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;bool mouse.&amp;lt;key&amp;gt;.state()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the &amp;lt;key&amp;gt; mouse button is currently being held down.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Height&lt;br /&gt;
|&amp;lt;code&amp;gt;int height()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the height of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Width&lt;br /&gt;
|&amp;lt;code&amp;gt;int width()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the width of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|UI: Size&lt;br /&gt;
|&amp;lt;code&amp;gt;double ui.size()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the UI size option from from the options menu as a double ranging from 0.5 (50%) to 1.0 (100%)&lt;br /&gt;
|-&lt;br /&gt;
|Script: Triggering Impulse&lt;br /&gt;
|&amp;lt;code&amp;gt;string impulse()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the ID of the impulse which triggered this script instance. If the script was triggered by another script then this function will return the name of that script&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Remaining Budget&lt;br /&gt;
|&amp;lt;code&amp;gt;int budget()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the remaining execution budget of this script during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;int time.frame()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of frames since the start of the game.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.delta()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. Pausing or accelerating the game affects this value.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Scale&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.scale()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the factor at which the game is currently accelerated. (0 if the game is paused, 1 if the game runs at normal speed 2 if the game runs at 2x speed and so on)&lt;br /&gt;
|-&lt;br /&gt;
|Time: Unscaled Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.unscaled()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. This value is neither affected by pausing nor accelerating the game.&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double now()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current local time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: UTC Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double utcnow()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the UTC time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Execution Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto&lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt;. The first line in the script equals 1. Entering an invalid line number will result in the value being clamped between the min. and max. boundaries during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto-If&lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line, bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt; in the current script if &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True. First line equals 1.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Click&lt;br /&gt;
|&amp;lt;code&amp;gt;void click(vector2 pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Performs a mouse click at following location: &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Slider&lt;br /&gt;
|&amp;lt;code&amp;gt;void slider(vector2 where, double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the slider position &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; on the screen to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; with 0 being the leftmost and 1 being the rightmost end.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Scrollrect&lt;br /&gt;
|&amp;lt;code&amp;gt;void scrollbar(vector2 where, double horizontal, double vertical)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Scrolls within a scrollable container at &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;horizontal&amp;lt;/code&amp;gt; (horizontally) and &amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt; (vertically) with 0 being the left/lower end and 1 being the right/upper end. Use a negative value to ignore an axis.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait&lt;br /&gt;
|&amp;lt;code&amp;gt;void wait(double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|A simple wait function that stops the current script for a total of &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; seconds.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Until&lt;br /&gt;
|&amp;lt;code&amp;gt;void waituntil(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script until &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; becomes True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait While&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitwhile(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script as long as &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops execution of this script for this frame and continues in the next one.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute&lt;br /&gt;
|&amp;lt;code&amp;gt;void execute(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; without requiring an impulse. Conditions of the script called still have to be fulfilled. Executed scripts are put at the end of the script list, and because of this they (usually) will run their first action in the same frame, since the script list pointer is still on the calling script, earlier in the script list.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute (Sync)&lt;br /&gt;
|&amp;lt;code&amp;gt;void executesync(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; and waits until the execution is completed. Conditions of the script still have to be fulfilled.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Stop&lt;br /&gt;
|&amp;lt;code&amp;gt;void stop(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the execution of all scripts and script instances which are named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;. '''Important bug/feature:''' If a script stops ''itself'', the script list pointer is reset to the beginning, effectively giving everything before this script an &amp;quot;extra&amp;quot; cycle. Because scripts that have reached the end aren't cleaned up until the end-of-frame processing, this means that scripts on their last line (or that have jumped to 99) will re-execute their last line, which can cause bugs. This behavior is known as &amp;quot;Turbo Exec,&amp;quot; since it can be used to build programs that execute much faster than the typical one-action-per-frame.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T local.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the local variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T global.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the global variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Boolean Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Numerical Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Integer Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Double Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+String Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|String: Contains&lt;br /&gt;
|&amp;lt;code&amp;gt;bool contains(string str, string substr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the string &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; contains the string &amp;lt;code&amp;gt;substr&amp;lt;/code&amp;gt;. (ex: &amp;quot;Catch&amp;quot; Contains &amp;quot;Cat&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Vector Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Town APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool anyopen()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isopen(string: window)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the [[Buildings]] window is active and visible on the screen. (ex: [[Tower Testing]] is open)&lt;br /&gt;
|-&lt;br /&gt;
|Town: Open Window&lt;br /&gt;
|&amp;lt;code&amp;gt;void show(string building, bool open)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Opens the &amp;lt;code&amp;gt;building&amp;lt;/code&amp;gt; window if &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt;is True, otherwise it will be closed. Opening or closing windows this way does not play the transition animation!&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isBossFight()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isTowerTesting()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;double resource(string currency)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tower Testing APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Game: Is Paused&lt;br /&gt;
|&amp;lt;code&amp;gt;bool pause.get()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the game is currently paused during tower testing via the pause button. Outside tower testing this will always return false.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Set Pause&lt;br /&gt;
|&amp;lt;code&amp;gt;void pause.set(bool enable)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the pause state to &amp;lt;code&amp;gt;enable&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Pause&lt;br /&gt;
|&amp;lt;code&amp;gt;void pause()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pauses tower testing via the pause button if possible.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Unpause&lt;br /&gt;
|&amp;lt;code&amp;gt;void unpause()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unpauses tower testing via the pause button if possible.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Is Enabled&lt;br /&gt;
|&amp;lt;code&amp;gt;bool software.enabled(string software)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the software with id &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; has been enabled. Returns false is the software has not been toggled on or has not been researched yet.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Find ID&lt;br /&gt;
|&amp;lt;code&amp;gt;string software.find(string software)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the correct software ID of the software with the closest match to &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; (case-insensitive). This function is very slow. Avoid using it in performance critical sections.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Toggle&lt;br /&gt;
|&amp;lt;code&amp;gt;void software.toggle(string software, bool enabled)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enables software &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; if the condition &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true or disables it if the condition is false.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Number of Enemies&lt;br /&gt;
|&amp;lt;code&amp;gt;int enemies()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the numbers of enemy units which are currently present on the map. Returns 0 if tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Game: XP&lt;br /&gt;
|&amp;lt;code&amp;gt;double xp()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current amount of tower testing experience. Returns 0 if called outside of tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Wave Acceleration&lt;br /&gt;
|&amp;lt;code&amp;gt;double waveAcceleration()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current wave acceleration factor. (You can check the current value inside the stats menu during tower testing).&lt;br /&gt;
|-&lt;br /&gt;
|Game: Fixed Waves Per Interval&lt;br /&gt;
|&amp;lt;code&amp;gt;double fixedWavesPerInterval()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current amount of fixed waves per interval as seen in the stats menu during tower testing. Returns 0 if currently not tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Wave&lt;br /&gt;
|&amp;lt;code&amp;gt;double wave()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current wave during tower testing or 0 if tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Wave&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.wave(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the wave record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Era&lt;br /&gt;
|&amp;lt;code&amp;gt;double era()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current era during tower testing or 0 if tower testing is not active. Equivalent to &amp;lt;code&amp;gt;wave() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Era&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.era(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the era record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;. Equivalent to &amp;lt;code&amp;gt;wave() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Disable Cost&lt;br /&gt;
|&amp;lt;code&amp;gt;double disable.cost(string element)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the XP cost of the upgrade that disables the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies. Returns -1 outside of tower testing or if the upgrade is not available in the current region.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Disable Power&lt;br /&gt;
|&amp;lt;code&amp;gt;void disable.era(string element)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Tries to disable the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies by purchasing the according upgrade using xp.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Upgrade Divider&lt;br /&gt;
|&amp;lt;code&amp;gt;void upgrade.era(string divider, int times)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Attempts to upgrade the era &amp;lt;code&amp;gt;str (damage, health)&amp;lt;/code&amp;gt; divider a total of &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; times by using xp.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Infinity&lt;br /&gt;
|&amp;lt;code&amp;gt;double infinity()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current infinity during tower testing or 0 if tower testing is not active. Equivalent to &amp;lt;code&amp;gt;wave() / 1e22&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;era() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Infinity&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.infity(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the infinity record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;. Equivalent to &amp;lt;code&amp;gt;wave() / 1e22&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;era() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity: Secure Module Cost&lt;br /&gt;
|&amp;lt;code&amp;gt;double disable.inf.cost()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the amount of XP required in order to secure/disable a module during infinity phase.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity: Secure Module&lt;br /&gt;
|&amp;lt;code&amp;gt;void disable.inf(string moduleId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Attempts to secure the module with id  &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to prevent enemies from mimicking it during the infinity phase.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module Count&lt;br /&gt;
|&amp;lt;code&amp;gt;int active.count()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of active modules in the currently active blueprint of the tower. Returns 0 outside of tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module Index&lt;br /&gt;
|&amp;lt;code&amp;gt;int active.index(string moduleId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the index of the active module with ID &amp;lt;code&amp;gt;moduleId&amp;lt;/code&amp;gt; inside the active skills list. If the module is not inside the list or tower testing is not active then this function will return 0.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module ID&lt;br /&gt;
|&amp;lt;code&amp;gt;string active.id(int index)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the ID of the active module in slot &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; in the active modules list whereas 1 refers to the first module in the list. Returns an empty string if the slot index is invalid or tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Is Stunned&lt;br /&gt;
|&amp;lt;code&amp;gt;bool stunned()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the tower is stunned and false if the tower is either not stunned or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Negative Buffs&lt;br /&gt;
|&amp;lt;code&amp;gt;int negative()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of nagative buffs currently present on the tower or 0 if the tower has no negative buffs or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Health&lt;br /&gt;
|&amp;lt;code&amp;gt;double health(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current health of the tower or 0 if the tower is dead does not exist. Returns the value as a percentage of max health value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Health&lt;br /&gt;
|&amp;lt;code&amp;gt;double health.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum hitpoints of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Health Regeneration&lt;br /&gt;
|&amp;lt;code&amp;gt;double health.regen()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current health regeneration of the tower or 0 if the tower does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Energy&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current energy of the tower or 0 if the tower does not exist. Returns the value as a percentage of max energy value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Energy&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum energy of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Energy Regeneration&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy.regen()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current energy regeneration of the tower or 0 if the tower does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Shield&lt;br /&gt;
|&amp;lt;code&amp;gt;double shield(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current shieldpoints of the tower or 0 if the tower is dead or does not exist. Returns the value as a percentage of max shieldpoints value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Shield&lt;br /&gt;
|&amp;lt;code&amp;gt;double shield.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum shieldpoints of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Module Cooldown&lt;br /&gt;
|&amp;lt;code&amp;gt;double cooldown(int skill)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the remaining cooldown of the active module at slot &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; in seconds Slot 1 refers to the first module in the active modules list.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Attack Range&lt;br /&gt;
|&amp;lt;code&amp;gt;double tower.range()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the tower's current attack range. (Default attack range without any modules or buffs is 18).&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Use (Instantly)&lt;br /&gt;
|&amp;lt;code&amp;gt;void useinstant(int skill)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Orders the Tower to use the [[Modules]] at slot &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu. Entering an invalid slot will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Use (Position)&lt;br /&gt;
|&amp;lt;code&amp;gt;void useposition(int skill, vector2 pos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Orders the tower to use the module at slot  &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu at an offset of &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Restart&lt;br /&gt;
|&amp;lt;code&amp;gt;void restart()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Restarts the current [[Tower Testing]] run. Can only be can only be executing during or at the end of a run that took equal or longer than a second.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Exit&lt;br /&gt;
|&amp;lt;code&amp;gt;void exit()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Exits the current Tower Testing run.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Power Plant APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Powerplant: Sell&lt;br /&gt;
|&lt;br /&gt;
|Sells the [[Power Plant]] component at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; and automatically refunds a part of the selling price. If the selected slot is empty then nothing will happen. (0, 0) is the bottom left corner of the grid.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mine APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Mine: Dig&lt;br /&gt;
|&lt;br /&gt;
|Digs up the tile at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; of the currently selected resource in the [[Mine]] with (0, 0) being the top left corner. Only works if the [[Mine]] window is active!&lt;br /&gt;
|-&lt;br /&gt;
|Mine: New Layer&lt;br /&gt;
|&lt;br /&gt;
|Generates a new layer of the currently selected resource in the [[Mine]]. Only works if the [[Mine]] window is active!&lt;br /&gt;
|-&lt;br /&gt;
|Mine: Open Tab&lt;br /&gt;
|&lt;br /&gt;
|Opens the mining tab at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt;. Position 1 is the first tab (Orange) and position 12 is the last tab (Black).&lt;br /&gt;
|-&lt;br /&gt;
|Mine: Delete Cluster&lt;br /&gt;
|&lt;br /&gt;
|Removes the asteroid cluster at list position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; where 1 represents the first cluster in the list.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Factory APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Try Craft&lt;br /&gt;
|&lt;br /&gt;
|Tries to craft &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) a total of &amp;lt;code&amp;gt;double total&amp;lt;/code&amp;gt; times by using items inside the inventory or crafting grid. If that is not possible then no items are being crafted. Only works if the [[Factory]] screen is visible.&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Try Produce&lt;br /&gt;
|&lt;br /&gt;
|Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into machine &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt;. If too few items are available or the selected machine is currently busy with a different item type then nothing will happen. Ignores the tier if the selected item ID is rubber.&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Trash&lt;br /&gt;
|&lt;br /&gt;
|Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into the trash can of the [[Factory]]. If too few items are present in the inventory and the crafting grid of the [[Factory]] then it will still try to remove as many as possible. Ignores the tier for items that don't have a tier.&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Cancel Machine&lt;br /&gt;
|&lt;br /&gt;
|Stops production of the [[Factory]] machine with the id &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt; and ejects all items back to the inventory if possible.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Arcade APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Arcade: Spin Lucky Wheel&lt;br /&gt;
|&lt;br /&gt;
|Spins the Lucky Wheel with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Arcade: Jumble New Game&lt;br /&gt;
|&lt;br /&gt;
|Starts a new game of Jumble with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Arcade: Jumble Stop&lt;br /&gt;
|&lt;br /&gt;
|Stops the current column.&lt;br /&gt;
|-&lt;br /&gt;
|Adventure: Move&lt;br /&gt;
|&lt;br /&gt;
|Moves the player in the direction of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt; in Adventure.&lt;br /&gt;
|-&lt;br /&gt;
|Adventure: Wait&lt;br /&gt;
|&lt;br /&gt;
|Skips a turn in Adventure.&lt;br /&gt;
|-&lt;br /&gt;
|Adventure: Place Bomb&lt;br /&gt;
|&lt;br /&gt;
|Places a Bomb at the Player location in Adventure.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Trading Post APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Tradingpost: Refresh&lt;br /&gt;
|&lt;br /&gt;
|Generates a new set of offers in the [[Trading Post]]. '''Requires a specific upgrade for the [[Trading Post]] later in the game in order to be used!'''&lt;br /&gt;
|-&lt;br /&gt;
|Tradingpost: Trade&lt;br /&gt;
|&lt;br /&gt;
|Trades the offer at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; in the list of offers (first offer is at position 0) using &amp;lt;code&amp;gt;double percent&amp;lt;/code&amp;gt; (0.15 = 15%) of the available input resources.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Museum APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Buy&lt;br /&gt;
|&lt;br /&gt;
|Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone of tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Buy Range&lt;br /&gt;
|&lt;br /&gt;
|Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone between tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Combine&lt;br /&gt;
|&lt;br /&gt;
|Combine Power Stones with the usual combine rules up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; (&amp;lt;1 means no limit).&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Transmute&lt;br /&gt;
|&lt;br /&gt;
|Transmute Power Stones currently inside the Cubos Cube.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Move&lt;br /&gt;
|&lt;br /&gt;
|Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Move Slot&lt;br /&gt;
|&lt;br /&gt;
|Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Swap&lt;br /&gt;
|&lt;br /&gt;
|Swap the Power Stones in &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Sell&lt;br /&gt;
|&lt;br /&gt;
|Sell the Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Sell All&lt;br /&gt;
|&lt;br /&gt;
|Sell all Power Stones from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Set Preferred Tier&lt;br /&gt;
|&lt;br /&gt;
|Sets the preferred market tier to &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Set Preference&lt;br /&gt;
|&lt;br /&gt;
|Set the market preference for element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Market Refresh&lt;br /&gt;
|&lt;br /&gt;
|Refreshes Market Offers&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Buy Market&lt;br /&gt;
|&lt;br /&gt;
|Buy the Power Stone from market in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Lock Market Slot&lt;br /&gt;
|&lt;br /&gt;
|Set the lock state of Market slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Rebuy&lt;br /&gt;
|&lt;br /&gt;
|Rebuy the Power Stone from Trash slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Worker APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool worker.paused(string name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;int worker.group(int index)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;string worker.name(int index)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;string worker.task(string name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Toggle Group&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.toggleGroup(int group)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Toggles the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.) Colors: White (0), Red (1), Blue (2), Green(3), Yellow (4), Magenta (5)&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Pause Group&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.pauseGroup(int group, bool paused)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Toggle&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.toggleName(string name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Toggles the paused state of all workers with name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Pause&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.pauseName(string name, bool paused)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the paused state of all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Assign Group&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.assignGroup(string task, int subtask, int group)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Assigns the task with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the groups parameter to see which color belongs to which group.)&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Assign&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.assignName(string task, int subtask, string name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Assigns Task with ID &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;. [[Workers#Worker_Taskid.27s|TaskIDs]]&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Set Name&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.setName(int index, string name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the name of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Worker: Set Group&lt;br /&gt;
|&amp;lt;code&amp;gt;void worker.setGroup(int index, int group)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the group of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; (0 is the first worker) to the group with id &amp;lt;code&amp;gt;int id&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+User Interface APIs (requires boots.d0s)&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Draw Rect&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.rect(vector2 pos, vector2 size, string colour&amp;lt;/code&amp;gt;&lt;br /&gt;
|Draws a rectangle on the drawable canvas at location &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; with a size of &amp;lt;code&amp;gt;size&amp;lt;/code&amp;gt; and colored in &amp;lt;code&amp;gt;colour&amp;lt;/code&amp;gt;. (Accepts #RRGGBB and #RRGGBBAA as inputs for color.)&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Clear&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.clear()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Clears the drawable canvas instantly.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Create&lt;br /&gt;
|&amp;lt;code&amp;gt;void create(string windowId, string windowType)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates a window with the unique identifier &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; (used to address the new instance) of type &amp;lt;code&amp;gt;windowType&amp;lt;/code&amp;gt; (window name inside windows list).&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Text&lt;br /&gt;
|&amp;lt;code&amp;gt;void text.set(string windowId, string textElementId, string value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the content inside the window with the id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; of the text label with the id &amp;lt;code&amp;gt;textElementId&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Sprite&lt;br /&gt;
|&amp;lt;code&amp;gt;void sprite.set(string windowId, string elementId, string spriteId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the sprite inside the window with the id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; of the button/image with the id &amp;lt;code&amp;gt;elementId&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;spriteId&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Get Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;bool visibility.get(string windowId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;void visibility.set(string windowId, bool visible)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set the window with id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;visible&amp;lt;/code&amp;gt; is true. Otherwise it will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Get Child Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;bool child.visibility.get(string windowId, string childElementId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Child Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;void child.visibility.set(string windowId, string childElementId, bool visible)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set child of window with id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; with id &amp;lt;code&amp;gt;childElementId&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;visible&amp;lt;/code&amp;gt; is true. Otherwise window will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Position&lt;br /&gt;
|&amp;lt;code&amp;gt;void position.set(string windowId, vector2 position)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Changes the position of the window with id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;position&amp;lt;/code&amp;gt; based on the anchor of its root element. Per default the anchor is set to the center of the window and 0,0 represents the center of the screen.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy&lt;br /&gt;
|&amp;lt;code&amp;gt;void destroy(string windowId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Destroys the window with the unique identifier &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy All&lt;br /&gt;
|&amp;lt;code&amp;gt;void destroy.all()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Destroys all active windows.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3567</id>
		<title>AI</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3567"/>
		<updated>2024-11-09T12:04:54Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Move all actions into the tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The facility AI (short for &amp;quot;Artificial Intelligence&amp;quot;) is a feature of the [[Headquarters]] that unlocks upon reaching [[Military Tier]] 4 and finishing the associated software. It is an extremely versatile tool that allows the user to automate almost any task in the game.  &lt;br /&gt;
&lt;br /&gt;
Compared to workers, AI scripts are far more versatile as they can interact with almost every system in the game and even for systems for which there is no current APIs that the AI could use to interact it can always perform mouse clicks to simulate such behavior. This is currently limited as the AI can only click on in-game UI buttons so things like region [[artifacts]] must still be performed manually, additionally the AI cannot perform right or middle mouse clicks. However AI cannot run while the game is closed (or more accurately during the simulated time when opening a save file) or interact with buildings which are not open. Workers can do both of these things, appear before AI (MT1 rather than MT4) and are far simpler to use without community assistance so while AI may have more power to automate the game, neither is a replacement for the other. &lt;br /&gt;
&lt;br /&gt;
To use the AI you must first obtain a script to execute. There are several ways to do this:&lt;br /&gt;
&lt;br /&gt;
*Create an AI script in the headquarters. For more information on learning how to create scripts, see [[Using the AI]].&lt;br /&gt;
*Obtain import codes for scripts that other players have written. For a list of available scripts, see the [https://discord.com/channels/488444879836413975/1093895780865163284 discord forum].&lt;br /&gt;
*Use machine learning (a macro system). This is done by pressing F7 while the AI overlay is active.&lt;br /&gt;
&lt;br /&gt;
==AI Script Format==&lt;br /&gt;
An AI script contains three sections that control its behavior:&lt;br /&gt;
&lt;br /&gt;
*Impulses&lt;br /&gt;
*Conditions&lt;br /&gt;
*Actions&lt;br /&gt;
&lt;br /&gt;
All scripts have a limit of impulses, conditions and actions. Impulses and conditions have a cap of 10, actions a cap pf 50.&lt;br /&gt;
&lt;br /&gt;
===Impulses===&lt;br /&gt;
An Impulse can refer to any button press or event that directly activates an AI script. It is not to be confused with the Basic:Execute command which is not considered an impulse, as it is not a way for a player to directly trigger an AI script, but rather a way of calling the script inside of another AI script much like helper methods in high level programming languages. Each impulse can trigger the AI script, regardless if it has already been triggered. It is possible that a script can trigger multiple times before it has finished execution. In this case multiple instances of this script can run in parallel.&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
A Condition is a requirement that has to be fulfilled in order for the script to start executing. If any condition in the script is false then the script will not be executed when an impulse is triggered by a player action. During the execution the specified conditions have no effect. All conditions are of data Type:Bool, and any expression that returns a bool can be used as a condition&lt;br /&gt;
&lt;br /&gt;
===Actions===&lt;br /&gt;
An Action is something that the AI does when the script becomes active. The Actions are executed one by one, in order from top to bottom. Actions will continue to be executed until either the AI menu is closed, or the script terminates normally. Within one instance of a script, as many actions as the script budget will allow can be executed in one frame. Atomic actions (those with a red symbol) cost 0 budget, all others cost 100. The script is executed in sequence until the budget is reached at which point execution is given to the next script.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[File:AI-Script-Editor.png|alt=AI-Script-Editor (Ingame)|none|thumb|362x362px|AI-Script-Editor (In game)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a maximum budget per script. This is determined by the total amount of RAM installed in all servers. &lt;br /&gt;
&lt;br /&gt;
To get a budget of 10,000 requires fully upgrading the RAM of all 16 servers.&lt;br /&gt;
&lt;br /&gt;
==AI Script Language==&lt;br /&gt;
&lt;br /&gt;
===Data Types===&lt;br /&gt;
There are various data types that are usable within AI scripts, all of which are incredibly versatile and useful in creating a script as complex or simple as one desires.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example Values&lt;br /&gt;
!Default Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|A integer that allows decimal precision. Can be positive or negative.&lt;br /&gt;
|3.2, 0.29, -10.2, 7.9999993&lt;br /&gt;
|0.0&lt;br /&gt;
|Doubles have a max value of approximately 1.797 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|A number that does not allow decimal precision. Can be positive or negative.&lt;br /&gt;
|20, 69, 420, -1029, 0&lt;br /&gt;
|0&lt;br /&gt;
|Ints range from -2147483648 to 2147483647&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|An array of characters. Basically a way to format and use text.&lt;br /&gt;
|&amp;quot;meow&amp;quot;, &amp;quot;hello&amp;quot;, &amp;quot; &amp;quot;, &amp;quot;I am a text&amp;quot;, &amp;quot;!BanBudE&amp;quot;&lt;br /&gt;
|&amp;quot;&amp;quot;&lt;br /&gt;
|The quotes in the examples are not included in the actual string value.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|A binary value that can either be true or false.&lt;br /&gt;
|true, false&lt;br /&gt;
|false&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Vector2&lt;br /&gt;
|A container type that contains two double values called x and y.&lt;br /&gt;
|(-30.0, 0.0), (28.38, 13)&lt;br /&gt;
|(0.0, 0.0)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Some datatypes can be converted to others by using a function. Check the table below to see which datatypes are currently interchangeable.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source / Target&lt;br /&gt;
!double&lt;br /&gt;
!int&lt;br /&gt;
!string&lt;br /&gt;
!bool&lt;br /&gt;
!Vector2&lt;br /&gt;
|-&lt;br /&gt;
!double&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|Partially&lt;br /&gt;
|-&lt;br /&gt;
!int&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!string&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!bool&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!Vector2&lt;br /&gt;
|Partially&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
(The table will be updated as soon as more AI features are available.)&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Any line in an AI script (apart from impulses) represents a function.&lt;br /&gt;
&lt;br /&gt;
There are two major types of functions:&lt;br /&gt;
&lt;br /&gt;
*Without a return value (= Actions)&lt;br /&gt;
*With a return value&lt;br /&gt;
&lt;br /&gt;
Functions without a return value appear as actions in the sidebar of the AI-script editor. In general these functions do something specific but require some sort of input. &lt;br /&gt;
&lt;br /&gt;
The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type.&lt;br /&gt;
&lt;br /&gt;
===APIs (Application Programming Interfaces) (as of v0.49)===&lt;br /&gt;
Function signatures have been slightly modified to conform with a C-like syntax for similarity with other function signatures. The special return type &amp;lt;code&amp;gt;impulse&amp;lt;/code&amp;gt; denotes a function is an input (rather than an action), actions which previously did not have a return type now have the &amp;lt;code&amp;gt;void&amp;lt;/code&amp;gt; return type and the colon between type and argument name is removed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Impulses&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Wake Up&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse wakeup()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the AI switches from inactive to active.&lt;br /&gt;
|-&lt;br /&gt;
|New Round&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse game.newround()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever a new [[Tower Testing]] round starts.&lt;br /&gt;
|-&lt;br /&gt;
|Open: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse open.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being opened (ex: Open: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|Close: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse close.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being closed (ex: Close: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Up&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.up()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Down&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.down()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Key: &amp;lt;0-9, A-Z&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse key.#()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the 0-9 or A-Z key is being pressed (case-insensitive, not numpad). (ex: Key: 0)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Script Execution Context&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Mouse: &amp;lt;Key&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;bool mouse.&amp;lt;key&amp;gt;.state()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the &amp;lt;key&amp;gt; mouse button is currently being held down.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Height&lt;br /&gt;
|&amp;lt;code&amp;gt;int height()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the height of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Width&lt;br /&gt;
|&amp;lt;code&amp;gt;int width()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the width of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|UI: Size&lt;br /&gt;
|&amp;lt;code&amp;gt;double ui.size()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the UI size option from from the options menu as a double ranging from 0.5 (50%) to 1.0 (100%)&lt;br /&gt;
|-&lt;br /&gt;
|Script: Triggering Impulse&lt;br /&gt;
|&amp;lt;code&amp;gt;string impulse()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the ID of the impulse which triggered this script instance. If the script was triggered by another script then this function will return the name of that script&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Remaining Budget&lt;br /&gt;
|&amp;lt;code&amp;gt;int budget()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the remaining execution budget of this script during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;int time.frame()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of frames since the start of the game.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.delta()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. Pausing or accelerating the game affects this value.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Scale&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.scale()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the factor at which the game is currently accelerated. (0 if the game is paused, 1 if the game runs at normal speed 2 if the game runs at 2x speed and so on)&lt;br /&gt;
|-&lt;br /&gt;
|Time: Unscaled Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.unscaled()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. This value is neither affected by pausing nor accelerating the game.&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double now()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current local time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: UTC Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double utcnow()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the UTC time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Execution Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto&lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt;. The first line in the script equals 1. Entering an invalid line number will result in the value being clamped between the min. and max. boundaries during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto-If&lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line, bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt; in the current script if &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True. First line equals 1.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Click&lt;br /&gt;
|&amp;lt;code&amp;gt;void click(vector2 pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Performs a mouse click at following location: &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Slider&lt;br /&gt;
|&amp;lt;code&amp;gt;void slider(vector2 where, double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the slider position &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; on the screen to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; with 0 being the leftmost and 1 being the rightmost end.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Scrollrect&lt;br /&gt;
|&amp;lt;code&amp;gt;void scrollbar(vector2 where, double horizontal, double vertical)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Scrolls within a scrollable container at &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;horizontal&amp;lt;/code&amp;gt; (horizontally) and &amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt; (vertically) with 0 being the left/lower end and 1 being the right/upper end. Use a negative value to ignore an axis.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait&lt;br /&gt;
|&amp;lt;code&amp;gt;void wait(double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|A simple wait function that stops the current script for a total of &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; seconds.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Until&lt;br /&gt;
|&amp;lt;code&amp;gt;void waituntil(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script until &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; becomes True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait While&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitwhile(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script as long as &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops execution of this script for this frame and continues in the next one.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute&lt;br /&gt;
|&amp;lt;code&amp;gt;void execute(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; without requiring an impulse. Conditions of the script called still have to be fulfilled. Executed scripts are put at the end of the script list, and because of this they (usually) will run their first action in the same frame, since the script list pointer is still on the calling script, earlier in the script list.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute (Sync)&lt;br /&gt;
|&amp;lt;code&amp;gt;void executesync(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; and waits until the execution is completed. Conditions of the script still have to be fulfilled.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Stop&lt;br /&gt;
|&amp;lt;code&amp;gt;void stop(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the execution of all scripts and script instances which are named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;. '''Important bug/feature:''' If a script stops ''itself'', the script list pointer is reset to the beginning, effectively giving everything before this script an &amp;quot;extra&amp;quot; cycle. Because scripts that have reached the end aren't cleaned up until the end-of-frame processing, this means that scripts on their last line (or that have jumped to 99) will re-execute their last line, which can cause bugs. This behavior is known as &amp;quot;Turbo Exec,&amp;quot; since it can be used to build programs that execute much faster than the typical one-action-per-frame.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T local.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the local variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T global.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the global variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Boolean Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Numerical Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Integer Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Double Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+String Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|String: Contains&lt;br /&gt;
|&amp;lt;code&amp;gt;bool contains(string str, string substr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the string &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; contains the string &amp;lt;code&amp;gt;substr&amp;lt;/code&amp;gt;. (ex: &amp;quot;Catch&amp;quot; Contains &amp;quot;Cat&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Vector Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Town APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isopen(string: window)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the [[Buildings]] window is active and visible on the screen. (ex: [[Tower Testing]] is open)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isBossFight()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isTowerTesting()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;double resource(string currency)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Town: Open Window&lt;br /&gt;
|&lt;br /&gt;
|Opens the &amp;lt;code&amp;gt;str building&amp;lt;/code&amp;gt; window if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt;is True, otherwise it will be closed. Opening or closing windows this way does not play the transition animation!&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tower Testing APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Game: Is Paused&lt;br /&gt;
|&amp;lt;code&amp;gt;bool pause.get()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the game is currently paused during tower testing via the pause button. Outside tower testing this will always return false.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Set Pause&lt;br /&gt;
|&amp;lt;code&amp;gt;void pause.set(bool enable)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the pause state to &amp;lt;code&amp;gt;enable&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Pause&lt;br /&gt;
|&amp;lt;code&amp;gt;void pause()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pauses tower testing via the pause button if possible.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Unpause&lt;br /&gt;
|&amp;lt;code&amp;gt;void unpause()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unpauses tower testing via the pause button if possible.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Is Enabled&lt;br /&gt;
|&amp;lt;code&amp;gt;bool software.enabled(string software)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the software with id &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; has been enabled. Returns false is the software has not been toggled on or has not been researched yet.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Find ID&lt;br /&gt;
|&amp;lt;code&amp;gt;string software.find(string software)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the correct software ID of the software with the closest match to &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; (case-insensitive). This function is very slow. Avoid using it in performance critical sections.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Toggle&lt;br /&gt;
|&amp;lt;code&amp;gt;void software.toggle(string software, bool enabled)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enables software &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; if the condition &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true or disables it if the condition is false.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Number of Enemies&lt;br /&gt;
|&amp;lt;code&amp;gt;int enemies()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the numbers of enemy units which are currently present on the map. Returns 0 if tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Game: XP&lt;br /&gt;
|&amp;lt;code&amp;gt;double xp()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current amount of tower testing experience. Returns 0 if called outside of tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Wave Acceleration&lt;br /&gt;
|&amp;lt;code&amp;gt;double waveAcceleration()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current wave acceleration factor. (You can check the current value inside the stats menu during tower testing).&lt;br /&gt;
|-&lt;br /&gt;
|Game: Fixed Waves Per Interval&lt;br /&gt;
|&amp;lt;code&amp;gt;double fixedWavesPerInterval()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current amount of fixed waves per interval as seen in the stats menu during tower testing. Returns 0 if currently not tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Wave&lt;br /&gt;
|&amp;lt;code&amp;gt;double wave()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current wave during tower testing or 0 if tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Wave&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.wave(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the wave record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Era&lt;br /&gt;
|&amp;lt;code&amp;gt;double era()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current era during tower testing or 0 if tower testing is not active. Equivalent to &amp;lt;code&amp;gt;wave() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Era&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.era(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the era record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;. Equivalent to &amp;lt;code&amp;gt;wave() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Disable Cost&lt;br /&gt;
|&amp;lt;code&amp;gt;double disable.cost(string element)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the XP cost of the upgrade that disables the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies. Returns -1 outside of tower testing or if the upgrade is not available in the current region.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Disable Power&lt;br /&gt;
|&amp;lt;code&amp;gt;void disable.era(string element)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Tries to disable the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies by purchasing the according upgrade using xp.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Upgrade Divider&lt;br /&gt;
|&amp;lt;code&amp;gt;void upgrade.era(string divider, int times)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Attempts to upgrade the era &amp;lt;code&amp;gt;str (damage, health)&amp;lt;/code&amp;gt; divider a total of &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; times by using xp.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Infinity&lt;br /&gt;
|&amp;lt;code&amp;gt;double infinity()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current infinity during tower testing or 0 if tower testing is not active. Equivalent to &amp;lt;code&amp;gt;wave() / 1e22&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;era() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Infinity&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.infity(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the infinity record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;. Equivalent to &amp;lt;code&amp;gt;wave() / 1e22&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;era() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity: Secure Module Cost&lt;br /&gt;
|&amp;lt;code&amp;gt;double disable.inf.cost()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the amount of XP required in order to secure/disable a module during infinity phase.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity: Secure Module&lt;br /&gt;
|&amp;lt;code&amp;gt;void disable.inf(string moduleId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Attempts to secure the module with id  &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to prevent enemies from mimicking it during the infinity phase.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module Count&lt;br /&gt;
|&amp;lt;code&amp;gt;int active.count()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of active modules in the currently active blueprint of the tower. Returns 0 outside of tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module Index&lt;br /&gt;
|&amp;lt;code&amp;gt;int active.index(string moduleId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the index of the active module with ID &amp;lt;code&amp;gt;moduleId&amp;lt;/code&amp;gt; inside the active skills list. If the module is not inside the list or tower testing is not active then this function will return 0.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module ID&lt;br /&gt;
|&amp;lt;code&amp;gt;string active.id(int index)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the ID of the active module in slot &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; in the active modules list whereas 1 refers to the first module in the list. Returns an empty string if the slot index is invalid or tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Is Stunned&lt;br /&gt;
|&amp;lt;code&amp;gt;bool stunned()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the tower is stunned and false if the tower is either not stunned or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Negative Buffs&lt;br /&gt;
|&amp;lt;code&amp;gt;int negative()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of nagative buffs currently present on the tower or 0 if the tower has no negative buffs or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Health&lt;br /&gt;
|&amp;lt;code&amp;gt;double health(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current health of the tower or 0 if the tower is dead does not exist. Returns the value as a percentage of max health value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Health&lt;br /&gt;
|&amp;lt;code&amp;gt;double health.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum hitpoints of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Health Regeneration&lt;br /&gt;
|&amp;lt;code&amp;gt;double health.regen()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current health regeneration of the tower or 0 if the tower does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Energy&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current energy of the tower or 0 if the tower does not exist. Returns the value as a percentage of max energy value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Energy&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum energy of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Energy Regeneration&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy.regen()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current energy regeneration of the tower or 0 if the tower does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Shield&lt;br /&gt;
|&amp;lt;code&amp;gt;double shield(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current shieldpoints of the tower or 0 if the tower is dead or does not exist. Returns the value as a percentage of max shieldpoints value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Shield&lt;br /&gt;
|&amp;lt;code&amp;gt;double shield.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum shieldpoints of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Module Cooldown&lt;br /&gt;
|&amp;lt;code&amp;gt;double cooldown(int skill)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the remaining cooldown of the active module at slot &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; in seconds Slot 1 refers to the first module in the active modules list.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Attack Range&lt;br /&gt;
|&amp;lt;code&amp;gt;double tower.range()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the tower's current attack range. (Default attack range without any modules or buffs is 18).&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Use (Instantly)&lt;br /&gt;
|&amp;lt;code&amp;gt;void useinstant(int skill)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Orders the Tower to use the [[Modules]] at slot &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu. Entering an invalid slot will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Use (Position)&lt;br /&gt;
|&amp;lt;code&amp;gt;void useposition(int skill, vector2 pos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Orders the tower to use the module at slot  &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu at an offset of &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Restart&lt;br /&gt;
|&amp;lt;code&amp;gt;void restart()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Restarts the current [[Tower Testing]] run. Can only be can only be executing during or at the end of a run that took equal or longer than a second.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Exit&lt;br /&gt;
|&amp;lt;code&amp;gt;void exit()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Exits the current Tower Testing run.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Power Plant APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Powerplant: Sell&lt;br /&gt;
|&lt;br /&gt;
|Sells the [[Power Plant]] component at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; and automatically refunds a part of the selling price. If the selected slot is empty then nothing will happen. (0, 0) is the bottom left corner of the grid.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mine APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Mine: Dig&lt;br /&gt;
|&lt;br /&gt;
|Digs up the tile at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; of the currently selected resource in the [[Mine]] with (0, 0) being the top left corner. Only works if the [[Mine]] window is active!&lt;br /&gt;
|-&lt;br /&gt;
|Mine: New Layer&lt;br /&gt;
|&lt;br /&gt;
|Generates a new layer of the currently selected resource in the [[Mine]]. Only works if the [[Mine]] window is active!&lt;br /&gt;
|-&lt;br /&gt;
|Mine: Open Tab&lt;br /&gt;
|&lt;br /&gt;
|Opens the mining tab at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt;. Position 1 is the first tab (Orange) and position 12 is the last tab (Black).&lt;br /&gt;
|-&lt;br /&gt;
|Mine: Delete Cluster&lt;br /&gt;
|&lt;br /&gt;
|Removes the asteroid cluster at list position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; where 1 represents the first cluster in the list.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Factory APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Try Craft&lt;br /&gt;
|&lt;br /&gt;
|Tries to craft &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) a total of &amp;lt;code&amp;gt;double total&amp;lt;/code&amp;gt; times by using items inside the inventory or crafting grid. If that is not possible then no items are being crafted. Only works if the [[Factory]] screen is visible.&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Try Produce&lt;br /&gt;
|&lt;br /&gt;
|Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into machine &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt;. If too few items are available or the selected machine is currently busy with a different item type then nothing will happen. Ignores the tier if the selected item ID is rubber.&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Trash&lt;br /&gt;
|&lt;br /&gt;
|Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into the trash can of the [[Factory]]. If too few items are present in the inventory and the crafting grid of the [[Factory]] then it will still try to remove as many as possible. Ignores the tier for items that don't have a tier.&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Cancel Machine&lt;br /&gt;
|&lt;br /&gt;
|Stops production of the [[Factory]] machine with the id &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt; and ejects all items back to the inventory if possible.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Arcade APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Arcade: Spin Lucky Wheel&lt;br /&gt;
|&lt;br /&gt;
|Spins the Lucky Wheel with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Arcade: Jumble New Game&lt;br /&gt;
|&lt;br /&gt;
|Starts a new game of Jumble with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Arcade: Jumble Stop&lt;br /&gt;
|&lt;br /&gt;
|Stops the current column.&lt;br /&gt;
|-&lt;br /&gt;
|Adventure: Move&lt;br /&gt;
|&lt;br /&gt;
|Moves the player in the direction of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt; in Adventure.&lt;br /&gt;
|-&lt;br /&gt;
|Adventure: Wait&lt;br /&gt;
|&lt;br /&gt;
|Skips a turn in Adventure.&lt;br /&gt;
|-&lt;br /&gt;
|Adventure: Place Bomb&lt;br /&gt;
|&lt;br /&gt;
|Places a Bomb at the Player location in Adventure.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Trading Post APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Tradingpost: Refresh&lt;br /&gt;
|&lt;br /&gt;
|Generates a new set of offers in the [[Trading Post]]. '''Requires a specific upgrade for the [[Trading Post]] later in the game in order to be used!'''&lt;br /&gt;
|-&lt;br /&gt;
|Tradingpost: Trade&lt;br /&gt;
|&lt;br /&gt;
|Trades the offer at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; in the list of offers (first offer is at position 0) using &amp;lt;code&amp;gt;double percent&amp;lt;/code&amp;gt; (0.15 = 15%) of the available input resources.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Museum APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Buy&lt;br /&gt;
|&lt;br /&gt;
|Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone of tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Buy Range&lt;br /&gt;
|&lt;br /&gt;
|Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone between tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Combine&lt;br /&gt;
|&lt;br /&gt;
|Combine Power Stones with the usual combine rules up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; (&amp;lt;1 means no limit).&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Transmute&lt;br /&gt;
|&lt;br /&gt;
|Transmute Power Stones currently inside the Cubos Cube.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Move&lt;br /&gt;
|&lt;br /&gt;
|Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Move Slot&lt;br /&gt;
|&lt;br /&gt;
|Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Swap&lt;br /&gt;
|&lt;br /&gt;
|Swap the Power Stones in &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Sell&lt;br /&gt;
|&lt;br /&gt;
|Sell the Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Sell All&lt;br /&gt;
|&lt;br /&gt;
|Sell all Power Stones from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Set Preferred Tier&lt;br /&gt;
|&lt;br /&gt;
|Sets the preferred market tier to &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Set Preference&lt;br /&gt;
|&lt;br /&gt;
|Set the market preference for element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Market Refresh&lt;br /&gt;
|&lt;br /&gt;
|Refreshes Market Offers&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Buy Market&lt;br /&gt;
|&lt;br /&gt;
|Buy the Power Stone from market in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Lock Market Slot&lt;br /&gt;
|&lt;br /&gt;
|Set the lock state of Market slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Rebuy&lt;br /&gt;
|&lt;br /&gt;
|Rebuy the Power Stone from Trash slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Worker APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Toggle Group&lt;br /&gt;
|&lt;br /&gt;
|Toggles the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.) Colors: White (0), Red (1), Blue (2), Green(3), Yellow (4), Magenta (5)&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Pause Group&lt;br /&gt;
|&lt;br /&gt;
|Sets the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Toggle&lt;br /&gt;
|&lt;br /&gt;
|Toggles the paused state of all workers with name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Pause&lt;br /&gt;
|&lt;br /&gt;
|Sets the paused state of all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Assign Group&lt;br /&gt;
|&lt;br /&gt;
|Assigns the task with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the groups parameter to see which color belongs to which group.)&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Assign&lt;br /&gt;
|&lt;br /&gt;
|Assigns Task with ID &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;. [[Workers#Worker_Taskid.27s|TaskIDs]]&lt;br /&gt;
|-&lt;br /&gt;
|Workers: Set Name&lt;br /&gt;
|&lt;br /&gt;
|Sets the name of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Worker: Set Group&lt;br /&gt;
|&lt;br /&gt;
|Sets the group of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; (0 is the first worker) to the group with id &amp;lt;code&amp;gt;int id&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+User Interface APIs (requires boots.d0s)&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Draw Rect&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.rect(vector2 pos, vector2 size, string colour&amp;lt;/code&amp;gt;&lt;br /&gt;
|Draws a rectangle on the drawable canvas at location &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; with a size of &amp;lt;code&amp;gt;size&amp;lt;/code&amp;gt; and colored in &amp;lt;code&amp;gt;colour&amp;lt;/code&amp;gt;. (Accepts #RRGGBB and #RRGGBBAA as inputs for color.)&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Clear&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.clear()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Clears the drawable canvas instantly.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Create&lt;br /&gt;
|&amp;lt;code&amp;gt;void create(string windowId, string windowType)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates a window with the unique identifier &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; (used to address the new instance) of type &amp;lt;code&amp;gt;windowType&amp;lt;/code&amp;gt; (window name inside windows list).&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Text&lt;br /&gt;
|&amp;lt;code&amp;gt;void text.set(string windowId, string textElementId, string value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the content inside the window with the id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; of the text label with the id &amp;lt;code&amp;gt;textElementId&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Sprite&lt;br /&gt;
|&amp;lt;code&amp;gt;void sprite.set(string windowId, string elementId, string spriteId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the sprite inside the window with the id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; of the button/image with the id &amp;lt;code&amp;gt;elementId&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;spriteId&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Get Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;bool visibility.get(string windowId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;void visibility.set(string windowId, bool visible)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set the window with id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;visible&amp;lt;/code&amp;gt; is true. Otherwise it will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Get Child Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;bool child.visibility.get(string windowId, string childElementId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Child Visibility&lt;br /&gt;
|&amp;lt;code&amp;gt;void child.visibility.set(string windowId, string childElementId, bool visible)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set child of window with id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; with id &amp;lt;code&amp;gt;childElementId&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;visible&amp;lt;/code&amp;gt; is true. Otherwise window will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Position&lt;br /&gt;
|&amp;lt;code&amp;gt;void position.set(string windowId, vector2 position)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Changes the position of the window with id &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;position&amp;lt;/code&amp;gt; based on the anchor of its root element. Per default the anchor is set to the center of the window and 0,0 represents the center of the screen.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy&lt;br /&gt;
|&amp;lt;code&amp;gt;void destroy(string windowId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Destroys the window with the unique identifier &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy All&lt;br /&gt;
|&amp;lt;code&amp;gt;void destroy.all()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Destroys all active windows.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3566</id>
		<title>AI</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3566"/>
		<updated>2024-11-09T11:36:18Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Add all Tower Testing APIs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The facility AI (short for &amp;quot;Artificial Intelligence&amp;quot;) is a feature of the [[Headquarters]] that unlocks upon reaching [[Military Tier]] 4 and finishing the associated software. It is an extremely versatile tool that allows the user to automate almost any task in the game.  &lt;br /&gt;
&lt;br /&gt;
Compared to workers, AI scripts are far more versatile as they can interact with almost every system in the game and even for systems for which there is no current APIs that the AI could use to interact it can always perform mouse clicks to simulate such behavior. This is currently limited as the AI can only click on in-game UI buttons so things like region [[artifacts]] must still be performed manually, additionally the AI cannot perform right or middle mouse clicks. However AI cannot run while the game is closed (or more accurately during the simulated time when opening a save file) or interact with buildings which are not open. Workers can do both of these things, appear before AI (MT1 rather than MT4) and are far simpler to use without community assistance so while AI may have more power to automate the game, neither is a replacement for the other. &lt;br /&gt;
&lt;br /&gt;
To use the AI you must first obtain a script to execute. There are several ways to do this:&lt;br /&gt;
&lt;br /&gt;
*Create an AI script in the headquarters. For more information on learning how to create scripts, see [[Using the AI]].&lt;br /&gt;
*Obtain import codes for scripts that other players have written. For a list of available scripts, see the [https://discord.com/channels/488444879836413975/1093895780865163284 discord forum].&lt;br /&gt;
*Use machine learning (a macro system). This is done by pressing F7 while the AI overlay is active.&lt;br /&gt;
&lt;br /&gt;
==AI Script Format==&lt;br /&gt;
An AI script contains three sections that control its behavior:&lt;br /&gt;
&lt;br /&gt;
*Impulses&lt;br /&gt;
*Conditions&lt;br /&gt;
*Actions&lt;br /&gt;
&lt;br /&gt;
All scripts have a limit of impulses, conditions and actions. Impulses and conditions have a cap of 10, actions a cap pf 50.&lt;br /&gt;
&lt;br /&gt;
===Impulses===&lt;br /&gt;
An Impulse can refer to any button press or event that directly activates an AI script. It is not to be confused with the Basic:Execute command which is not considered an impulse, as it is not a way for a player to directly trigger an AI script, but rather a way of calling the script inside of another AI script much like helper methods in high level programming languages. Each impulse can trigger the AI script, regardless if it has already been triggered. It is possible that a script can trigger multiple times before it has finished execution. In this case multiple instances of this script can run in parallel.&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
A Condition is a requirement that has to be fulfilled in order for the script to start executing. If any condition in the script is false then the script will not be executed when an impulse is triggered by a player action. During the execution the specified conditions have no effect. All conditions are of data Type:Bool, and any expression that returns a bool can be used as a condition&lt;br /&gt;
&lt;br /&gt;
===Actions===&lt;br /&gt;
An Action is something that the AI does when the script becomes active. The Actions are executed one by one, in order from top to bottom. Actions will continue to be executed until either the AI menu is closed, or the script terminates normally. Within one instance of a script, as many actions as the script budget will allow can be executed in one frame. Atomic actions (those with a red symbol) cost 0 budget, all others cost 100. The script is executed in sequence until the budget is reached at which point execution is given to the next script.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[File:AI-Script-Editor.png|alt=AI-Script-Editor (Ingame)|none|thumb|362x362px|AI-Script-Editor (In game)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a maximum budget per script. This is determined by the total amount of RAM installed in all servers. &lt;br /&gt;
&lt;br /&gt;
To get a budget of 10,000 requires fully upgrading the RAM of all 16 servers.&lt;br /&gt;
&lt;br /&gt;
==AI Script Language==&lt;br /&gt;
&lt;br /&gt;
===Data Types===&lt;br /&gt;
There are various data types that are usable within AI scripts, all of which are incredibly versatile and useful in creating a script as complex or simple as one desires.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example Values&lt;br /&gt;
!Default Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|A integer that allows decimal precision. Can be positive or negative.&lt;br /&gt;
|3.2, 0.29, -10.2, 7.9999993&lt;br /&gt;
|0.0&lt;br /&gt;
|Doubles have a max value of approximately 1.797 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|A number that does not allow decimal precision. Can be positive or negative.&lt;br /&gt;
|20, 69, 420, -1029, 0&lt;br /&gt;
|0&lt;br /&gt;
|Ints range from -2147483648 to 2147483647&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|An array of characters. Basically a way to format and use text.&lt;br /&gt;
|&amp;quot;meow&amp;quot;, &amp;quot;hello&amp;quot;, &amp;quot; &amp;quot;, &amp;quot;I am a text&amp;quot;, &amp;quot;!BanBudE&amp;quot;&lt;br /&gt;
|&amp;quot;&amp;quot;&lt;br /&gt;
|The quotes in the examples are not included in the actual string value.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|A binary value that can either be true or false.&lt;br /&gt;
|true, false&lt;br /&gt;
|false&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Vector2&lt;br /&gt;
|A container type that contains two double values called x and y.&lt;br /&gt;
|(-30.0, 0.0), (28.38, 13)&lt;br /&gt;
|(0.0, 0.0)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Some datatypes can be converted to others by using a function. Check the table below to see which datatypes are currently interchangeable.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source / Target&lt;br /&gt;
!double&lt;br /&gt;
!int&lt;br /&gt;
!string&lt;br /&gt;
!bool&lt;br /&gt;
!Vector2&lt;br /&gt;
|-&lt;br /&gt;
!double&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|Partially&lt;br /&gt;
|-&lt;br /&gt;
!int&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!string&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!bool&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!Vector2&lt;br /&gt;
|Partially&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
(The table will be updated as soon as more AI features are available.)&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Any line in an AI script (apart from impulses) represents a function.&lt;br /&gt;
&lt;br /&gt;
There are two major types of functions:&lt;br /&gt;
&lt;br /&gt;
*Without a return value (= Actions)&lt;br /&gt;
*With a return value&lt;br /&gt;
&lt;br /&gt;
Functions without a return value appear as actions in the sidebar of the AI-script editor. In general these functions do something specific but require some sort of input. &lt;br /&gt;
&lt;br /&gt;
The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type.&lt;br /&gt;
&lt;br /&gt;
===APIs (Application Programming Interfaces) (as of v0.49)===&lt;br /&gt;
Function signatures have been slightly modified to conform with a C-like syntax for similarity with other function signatures. The special return type &amp;lt;code&amp;gt;impulse&amp;lt;/code&amp;gt; denotes a function is an input (rather than an action), actions which previously did not have a return type now have the &amp;lt;code&amp;gt;void&amp;lt;/code&amp;gt; return type and the colon between type and argument name is removed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Impulses&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Wake Up&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse wakeup()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the AI switches from inactive to active.&lt;br /&gt;
|-&lt;br /&gt;
|New Round&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse game.newround()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever a new [[Tower Testing]] round starts.&lt;br /&gt;
|-&lt;br /&gt;
|Open: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse open.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being opened (ex: Open: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|Close: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse close.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being closed (ex: Close: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Up&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.up()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Down&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.down()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Key: &amp;lt;0-9, A-Z&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse key.#()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the 0-9 or A-Z key is being pressed (case-insensitive, not numpad). (ex: Key: 0)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Script Execution Context&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Mouse: &amp;lt;Key&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;bool mouse.&amp;lt;key&amp;gt;.state()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the &amp;lt;key&amp;gt; mouse button is currently being held down.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Height&lt;br /&gt;
|&amp;lt;code&amp;gt;int height()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the height of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Width&lt;br /&gt;
|&amp;lt;code&amp;gt;int width()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the width of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|UI: Size&lt;br /&gt;
|&amp;lt;code&amp;gt;double ui.size()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the UI size option from from the options menu as a double ranging from 0.5 (50%) to 1.0 (100%)&lt;br /&gt;
|-&lt;br /&gt;
|Script: Triggering Impulse&lt;br /&gt;
|&amp;lt;code&amp;gt;string impulse()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the ID of the impulse which triggered this script instance. If the script was triggered by another script then this function will return the name of that script&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Remaining Budget&lt;br /&gt;
|&amp;lt;code&amp;gt;int budget()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the remaining execution budget of this script during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;int time.frame()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of frames since the start of the game.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.delta()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. Pausing or accelerating the game affects this value.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Scale&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.scale()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the factor at which the game is currently accelerated. (0 if the game is paused, 1 if the game runs at normal speed 2 if the game runs at 2x speed and so on)&lt;br /&gt;
|-&lt;br /&gt;
|Time: Unscaled Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.unscaled()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. This value is neither affected by pausing nor accelerating the game.&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double now()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current local time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: UTC Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double utcnow()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the UTC time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Execution Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto&lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt;. The first line in the script equals 1. Entering an invalid line number will result in the value being clamped between the min. and max. boundaries during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto-If&lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line, bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt; in the current script if &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True. First line equals 1.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Click&lt;br /&gt;
|&amp;lt;code&amp;gt;void click(vector2 pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Performs a mouse click at following location: &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Slider&lt;br /&gt;
|&amp;lt;code&amp;gt;void slider(vector2 where, double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the slider position &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; on the screen to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; with 0 being the leftmost and 1 being the rightmost end.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Scrollrect&lt;br /&gt;
|&amp;lt;code&amp;gt;void scrollbar(vector2 where, double horizontal, double vertical)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Scrolls within a scrollable container at &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;horizontal&amp;lt;/code&amp;gt; (horizontally) and &amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt; (vertically) with 0 being the left/lower end and 1 being the right/upper end. Use a negative value to ignore an axis.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait&lt;br /&gt;
|&amp;lt;code&amp;gt;void wait(double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|A simple wait function that stops the current script for a total of &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; seconds.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Until&lt;br /&gt;
|&amp;lt;code&amp;gt;void waituntil(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script until &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; becomes True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait While&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitwhile(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script as long as &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops execution of this script for this frame and continues in the next one.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute&lt;br /&gt;
|&amp;lt;code&amp;gt;void execute(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; without requiring an impulse. Conditions of the script called still have to be fulfilled. Executed scripts are put at the end of the script list, and because of this they (usually) will run their first action in the same frame, since the script list pointer is still on the calling script, earlier in the script list.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute (Sync)&lt;br /&gt;
|&amp;lt;code&amp;gt;void executesync(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; and waits until the execution is completed. Conditions of the script still have to be fulfilled.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Stop&lt;br /&gt;
|&amp;lt;code&amp;gt;void stop(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the execution of all scripts and script instances which are named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;. '''Important bug/feature:''' If a script stops ''itself'', the script list pointer is reset to the beginning, effectively giving everything before this script an &amp;quot;extra&amp;quot; cycle. Because scripts that have reached the end aren't cleaned up until the end-of-frame processing, this means that scripts on their last line (or that have jumped to 99) will re-execute their last line, which can cause bugs. This behavior is known as &amp;quot;Turbo Exec,&amp;quot; since it can be used to build programs that execute much faster than the typical one-action-per-frame.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T local.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the local variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T global.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the global variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Boolean Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Numerical Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Integer Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Double Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+String Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|String: Contains&lt;br /&gt;
|&amp;lt;code&amp;gt;bool contains(string str, string substr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the string &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; contains the string &amp;lt;code&amp;gt;substr&amp;lt;/code&amp;gt;. (ex: &amp;quot;Catch&amp;quot; Contains &amp;quot;Cat&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Vector Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Town APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isopen(string: window)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the [[Buildings]] window is active and visible on the screen. (ex: [[Tower Testing]] is open)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isBossFight()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isTowerTesting()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;double resource(string currency)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tower Testing APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Game: Is Paused&lt;br /&gt;
|&amp;lt;code&amp;gt;bool pause.get()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the game is currently paused during tower testing via the pause button. Outside tower testing this will always return false.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Set Pause&lt;br /&gt;
|&amp;lt;code&amp;gt;void pause.set(bool enable)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the pause state to &amp;lt;code&amp;gt;enable&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Pause&lt;br /&gt;
|&amp;lt;code&amp;gt;void pause()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pauses tower testing via the pause button if possible.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Unpause&lt;br /&gt;
|&amp;lt;code&amp;gt;void unpause()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unpauses tower testing via the pause button if possible.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Is Enabled&lt;br /&gt;
|&amp;lt;code&amp;gt;bool software.enabled(string software)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the software with id &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; has been enabled. Returns false is the software has not been toggled on or has not been researched yet.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Find ID&lt;br /&gt;
|&amp;lt;code&amp;gt;string software.find(string software)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the correct software ID of the software with the closest match to &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; (case-insensitive). This function is very slow. Avoid using it in performance critical sections.&lt;br /&gt;
|-&lt;br /&gt;
|Software: Toggle&lt;br /&gt;
|&amp;lt;code&amp;gt;void software.toggle(string software, bool enabled)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enables software &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; if the condition &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true or disables it if the condition is false.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Number of Enemies&lt;br /&gt;
|&amp;lt;code&amp;gt;int enemies()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the numbers of enemy units which are currently present on the map. Returns 0 if tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Game: XP&lt;br /&gt;
|&amp;lt;code&amp;gt;double xp()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current amount of tower testing experience. Returns 0 if called outside of tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Wave Acceleration&lt;br /&gt;
|&amp;lt;code&amp;gt;double waveAcceleration()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current wave acceleration factor. (You can check the current value inside the stats menu during tower testing).&lt;br /&gt;
|-&lt;br /&gt;
|Game: Fixed Waves Per Interval&lt;br /&gt;
|&amp;lt;code&amp;gt;double fixedWavesPerInterval()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current amount of fixed waves per interval as seen in the stats menu during tower testing. Returns 0 if currently not tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Wave&lt;br /&gt;
|&amp;lt;code&amp;gt;double wave()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current wave during tower testing or 0 if tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Wave&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.wave(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the wave record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Era&lt;br /&gt;
|&amp;lt;code&amp;gt;double era()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current era during tower testing or 0 if tower testing is not active. Equivalent to &amp;lt;code&amp;gt;wave() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Era&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.era(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the era record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;. Equivalent to &amp;lt;code&amp;gt;wave() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Disable Cost&lt;br /&gt;
|&amp;lt;code&amp;gt;double disable.cost(string element)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the XP cost of the upgrade that disables the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies. Returns -1 outside of tower testing or if the upgrade is not available in the current region. &lt;br /&gt;
|-&lt;br /&gt;
|Era: Disable Power&lt;br /&gt;
|&amp;lt;code&amp;gt;void disable.era(string element)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Tries to disable the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies by purchasing the according upgrade using xp.&lt;br /&gt;
|-&lt;br /&gt;
|Era: Upgrade Divider&lt;br /&gt;
|&amp;lt;code&amp;gt;void upgrade.era(string divider, int times)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Attempts to upgrade the era &amp;lt;code&amp;gt;str (damage, health)&amp;lt;/code&amp;gt; divider a total of &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; times by using xp.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Infinity&lt;br /&gt;
|&amp;lt;code&amp;gt;double infinity()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current infinity during tower testing or 0 if tower testing is not active. Equivalent to &amp;lt;code&amp;gt;wave() / 1e22&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;era() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Highscore: Infinity&lt;br /&gt;
|&amp;lt;code&amp;gt;double highscore.infity(string region, string difficulty&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the infinity record of region &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt; on difficulty &amp;lt;code&amp;gt;difficulty&amp;lt;/code&amp;gt;. Equivalent to &amp;lt;code&amp;gt;wave() / 1e22&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;era() / 1e11&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity: Secure Module Cost&lt;br /&gt;
|&amp;lt;code&amp;gt;double disable.inf.cost()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the amount of XP required in order to secure/disable a module during infinity phase.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity: Secure Module&lt;br /&gt;
|&amp;lt;code&amp;gt;void disable.inf(string moduleId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Attempts to secure the module with id  &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to prevent enemies from mimicking it during the infinity phase.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module Count&lt;br /&gt;
|&amp;lt;code&amp;gt;int active.count()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of active modules in the currently active blueprint of the tower. Returns 0 outside of tower testing.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module Index&lt;br /&gt;
|&amp;lt;code&amp;gt;int active.index(string moduleId)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the index of the active module with ID &amp;lt;code&amp;gt;moduleId&amp;lt;/code&amp;gt; inside the active skills list. If the module is not inside the list or tower testing is not active then this function will return 0.&lt;br /&gt;
|-&lt;br /&gt;
|Game: Active Module ID&lt;br /&gt;
|&amp;lt;code&amp;gt;string active.id(int index)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the ID of the active module in slot &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; in the active modules list whereas 1 refers to the first module in the list. Returns an empty string if the slot index is invalid or tower testing is not active.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Is Stunned&lt;br /&gt;
|&amp;lt;code&amp;gt;bool stunned()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the tower is stunned and false if the tower is either not stunned or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Negative Buffs&lt;br /&gt;
|&amp;lt;code&amp;gt;int negative()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of nagative buffs currently present on the tower or 0 if the tower has no negative buffs or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Health&lt;br /&gt;
|&amp;lt;code&amp;gt;double health(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current health of the tower or 0 if the tower is dead does not exist. Returns the value as a percentage of max health value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Health&lt;br /&gt;
|&amp;lt;code&amp;gt;double health.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum hitpoints of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Health Regeneration&lt;br /&gt;
|&amp;lt;code&amp;gt;double health.regen()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current health regeneration of the tower or 0 if the tower does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Energy&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current energy of the tower or 0 if the tower does not exist. Returns the value as a percentage of max energy value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Energy&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum energy of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Energy Regeneration&lt;br /&gt;
|&amp;lt;code&amp;gt;double energy.regen()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current energy regeneration of the tower or 0 if the tower does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Shield&lt;br /&gt;
|&amp;lt;code&amp;gt;double shield(bool percent)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current shieldpoints of the tower or 0 if the tower is dead or does not exist. Returns the value as a percentage of max shieldpoints value if &amp;lt;code&amp;gt;percent&amp;lt;/code&amp;gt; is true otherwise the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Max. Shield&lt;br /&gt;
|&amp;lt;code&amp;gt;double shield.max()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the maximum shieldpoints of the tower or 0 if the tower is either dead or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Module Cooldown&lt;br /&gt;
|&amp;lt;code&amp;gt;double cooldown(int skill)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the remaining cooldown of the active module at slot &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; in seconds Slot 1 refers to the first module in the active modules list.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Attack Range&lt;br /&gt;
|&amp;lt;code&amp;gt;double tower.range()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the tower's current attack range. (Default attack range without any modules or buffs is 18).&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Use (Instantly)&lt;br /&gt;
|&amp;lt;code&amp;gt;void useinstant(int skill)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Orders the Tower to use the [[Modules]] at slot &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu. Entering an invalid slot will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Use (Position)&lt;br /&gt;
|&amp;lt;code&amp;gt;void useposition(int skill, vector2 pos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Orders the tower to use the module at slot  &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu at an offset of &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Restart&lt;br /&gt;
|&amp;lt;code&amp;gt;void restart()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Restarts the current [[Tower Testing]] run. Can only be can only be executing during or at the end of a run that took equal or longer than a second.&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Exit&lt;br /&gt;
|&amp;lt;code&amp;gt;void exit()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Exits the current Tower Testing run.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Power Plant APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mine APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Factory APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Arcade APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Trading Post APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Museum APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Fill Inventory (deprecated)&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isfill()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current Fill Inventory state. Always returns false outside the museum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Worker APIs&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+User Interface APIs (requires boots.d0s)&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Draw Rect&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.rect(vector2 pos, vector2 size, string colour&amp;lt;/code&amp;gt;&lt;br /&gt;
|Draws a rectangle on the drawable canvas at location &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; with a size of &amp;lt;code&amp;gt;size&amp;lt;/code&amp;gt; and colored in &amp;lt;code&amp;gt;colour&amp;lt;/code&amp;gt;. (Accepts #RRGGBB and #RRGGBBAA as inputs for color.)&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Clear&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.clear()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Clears the drawable canvas instantly.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Create&lt;br /&gt;
|&amp;lt;code&amp;gt;void create(string windowId, string windowType)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates a window with the unique identifier &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; (used to address the new instance) of type &amp;lt;code&amp;gt;windowType&amp;lt;/code&amp;gt; (window name inside windows list).&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Text&lt;br /&gt;
|&lt;br /&gt;
|Sets the content inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the text label with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str text&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Sprite&lt;br /&gt;
|&lt;br /&gt;
|Sets the sprite inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the button/image with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str sprite&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Visibility&lt;br /&gt;
|&lt;br /&gt;
|Set the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise it will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Child Visibility&lt;br /&gt;
|&lt;br /&gt;
|Set child of window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise window will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Position&lt;br /&gt;
|&lt;br /&gt;
|Changes the position of the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; based on the anchor of its root element. Per default the anchor is set to the center of the window and 0,0 represents the center of the screen.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy&lt;br /&gt;
|&lt;br /&gt;
|Destroys the window with the unique identifier &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy All&lt;br /&gt;
|&lt;br /&gt;
|Destroys all active windows.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Action List:'''&lt;br /&gt;
&lt;br /&gt;
*Town: Open Window&lt;br /&gt;
**Opens the &amp;lt;code&amp;gt;str building&amp;lt;/code&amp;gt; window if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt;is True, otherwise it will be closed. Opening or closing windows this way does not play the transition animation!&lt;br /&gt;
*Workers: Toggle Group&lt;br /&gt;
**Toggles the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
**Colors: White (0), Red (1), Blue (2), Green(3), Yellow (4), Magenta (5)&lt;br /&gt;
*Workers: Pause Group&lt;br /&gt;
**Sets the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
*Workers: Toggle&lt;br /&gt;
**Toggles the paused state of all workers with name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Pause&lt;br /&gt;
**Sets the paused state of all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Assign Group&lt;br /&gt;
**Assigns the task with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the groups parameter to see which color belongs to which group.)&lt;br /&gt;
*Workers: Assign&lt;br /&gt;
**Assigns Task with ID &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
**[[Workers#Worker_Taskid.27s|TaskIDs]]&lt;br /&gt;
*Workers: Set Name&lt;br /&gt;
**Sets the name of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worker: Set Group&lt;br /&gt;
**Sets the group of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; (0 is the first worker) to the group with id &amp;lt;code&amp;gt;int id&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Mine: Dig&lt;br /&gt;
**Digs up the tile at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; of the currently selected resource in the [[Mine]] with (0, 0) being the top left corner. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: New Layer&lt;br /&gt;
**Generates a new layer of the currently selected resource in the [[Mine]]. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: Open Tab&lt;br /&gt;
**Opens the mining tab at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt;. Position 1 is the first tab (Orange) and position 12 is the last tab (Black).&lt;br /&gt;
*Mine: Delete Cluster&lt;br /&gt;
**Removes the asteroid cluster at list position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; where 1 represents the first cluster in the list.&lt;br /&gt;
*Arcade: Spin Lucky Wheel&lt;br /&gt;
**Spins the Lucky Wheel with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble New Game&lt;br /&gt;
**Starts a new game of Jumble with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble Stop&lt;br /&gt;
**Stops the current column.&lt;br /&gt;
*Adventure: Move&lt;br /&gt;
**Moves the player in the direction of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt; in Adventure.&lt;br /&gt;
*Adventure: Wait&lt;br /&gt;
**Skips a turn in Adventure.&lt;br /&gt;
*Adventure: Place Bomb&lt;br /&gt;
**Places a Bomb at the Player location in Adventure.&lt;br /&gt;
*Factory: Try Craft&lt;br /&gt;
**Tries to craft &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) a total of &amp;lt;code&amp;gt;double total&amp;lt;/code&amp;gt; times by using items inside the inventory or crafting grid. If that is not possible then no items are being crafted. Only works if the [[Factory]] screen is visible.&lt;br /&gt;
*Factory: Try Produce&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into machine &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt;. If too few items are available or the selected machine is currently busy with a different item type then nothing will happen. Ignores the tier if the selected item ID is rubber.&lt;br /&gt;
*Factory: Trash&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into the trash can of the [[Factory]]. If too few items are present in the inventory and the crafting grid of the [[Factory]] then it will still try to remove as many as possible. Ignores the tier for items that don't have a tier.&lt;br /&gt;
*Factory: Cancel Machine&lt;br /&gt;
**Stops production of the [[Factory]] machine with the id &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt; and ejects all items back to the inventory if possible.&lt;br /&gt;
*Powerplant: Sell&lt;br /&gt;
**Sells the [[Power Plant]] component at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; and automatically refunds a part of the selling price. If the selected slot is empty then nothing will happen. (0, 0) is the bottom left corner of the grid.&lt;br /&gt;
*Tradingpost: Refresh&lt;br /&gt;
**Generates a new set of offers in the [[Trading Post]]. '''Requires a specific upgrade for the [[Trading Post]] later in the game in order to be used!'''&lt;br /&gt;
*Tradingpost: Trade&lt;br /&gt;
**Trades the offer at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; in the list of offers (first offer is at position 0) using &amp;lt;code&amp;gt;double percent&amp;lt;/code&amp;gt; (0.15 = 15%) of the available input resources.&lt;br /&gt;
*Museum: Buy&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone of tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Buy Range&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone between tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Combine&lt;br /&gt;
**Combine Power Stones with the usual combine rules up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; (&amp;lt;1 means no limit).&lt;br /&gt;
*Museum: Transmute&lt;br /&gt;
**Transmute Power Stones currently inside the Cubos Cube.&lt;br /&gt;
*Museum: Move&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Move Slot&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Swap&lt;br /&gt;
**Swap the Power Stones in &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell &lt;br /&gt;
**Sell the Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell All&lt;br /&gt;
**Sell all Power Stones from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preferred Tier&lt;br /&gt;
**Sets the preferred market tier to &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preference&lt;br /&gt;
**Set the market preference for element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Market Refresh&lt;br /&gt;
**Refreshes Market Offers&lt;br /&gt;
*Museum: Buy Market&lt;br /&gt;
**Buy the Power Stone from market in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Lock Market Slot&lt;br /&gt;
**Set the lock state of Market slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Rebuy&lt;br /&gt;
**Rebuy the Power Stone from Trash slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Fill Inventory (Deprecated)&lt;br /&gt;
**Sets the Fill Inventory button to the &amp;lt;code&amp;gt;bool state&amp;lt;/code&amp;gt; state.&lt;br /&gt;
*Museum: Buy (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt;&lt;br /&gt;
*Museum: Buy Market (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3565</id>
		<title>AI</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3565"/>
		<updated>2024-11-08T17:37:04Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Begin to split the &amp;quot;all APIs&amp;quot; table into multiple tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The facility AI (short for &amp;quot;Artificial Intelligence&amp;quot;) is a feature of the [[Headquarters]] that unlocks upon reaching [[Military Tier]] 4 and finishing the associated software. It is an extremely versatile tool that allows the user to automate almost any task in the game.  &lt;br /&gt;
&lt;br /&gt;
Compared to workers, AI scripts are far more versatile as they can interact with almost every system in the game and even for systems for which there is no current APIs that the AI could use to interact it can always perform mouse clicks to simulate such behavior. This is currently limited as the AI can only click on in-game UI buttons so things like region [[artifacts]] must still be performed manually, additionally the AI cannot perform right or middle mouse clicks. However AI cannot run while the game is closed (or more accurately during the simulated time when opening a save file) or interact with buildings which are not open. Workers can do both of these things, appear before AI (MT1 rather than MT4) and are far simpler to use without community assistance so while AI may have more power to automate the game, neither is a replacement for the other. &lt;br /&gt;
&lt;br /&gt;
To use the AI you must first obtain a script to execute. There are several ways to do this:&lt;br /&gt;
&lt;br /&gt;
*Create an AI script in the headquarters. For more information on learning how to create scripts, see [[Using the AI]].&lt;br /&gt;
*Obtain import codes for scripts that other players have written. For a list of available scripts, see the [https://discord.com/channels/488444879836413975/1093895780865163284 discord forum].&lt;br /&gt;
*Use machine learning (a macro system). This is done by pressing F7 while the AI overlay is active.&lt;br /&gt;
&lt;br /&gt;
==AI Script Format==&lt;br /&gt;
An AI script contains three sections that control its behavior:&lt;br /&gt;
&lt;br /&gt;
*Impulses&lt;br /&gt;
*Conditions&lt;br /&gt;
*Actions&lt;br /&gt;
&lt;br /&gt;
All scripts have a limit of impulses, conditions and actions. Impulses and conditions have a cap of 10, actions a cap pf 50.&lt;br /&gt;
&lt;br /&gt;
===Impulses===&lt;br /&gt;
An Impulse can refer to any button press or event that directly activates an AI script. It is not to be confused with the Basic:Execute command which is not considered an impulse, as it is not a way for a player to directly trigger an AI script, but rather a way of calling the script inside of another AI script much like helper methods in high level programming languages. Each impulse can trigger the AI script, regardless if it has already been triggered. It is possible that a script can trigger multiple times before it has finished execution. In this case multiple instances of this script can run in parallel.&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
A Condition is a requirement that has to be fulfilled in order for the script to start executing. If any condition in the script is false then the script will not be executed when an impulse is triggered by a player action. During the execution the specified conditions have no effect. All conditions are of data Type:Bool, and any expression that returns a bool can be used as a condition&lt;br /&gt;
&lt;br /&gt;
===Actions===&lt;br /&gt;
An Action is something that the AI does when the script becomes active. The Actions are executed one by one, in order from top to bottom. Actions will continue to be executed until either the AI menu is closed, or the script terminates normally. Within one instance of a script, as many actions as the script budget will allow can be executed in one frame. Atomic actions (those with a red symbol) cost 0 budget, all others cost 100. The script is executed in sequence until the budget is reached at which point execution is given to the next script.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[File:AI-Script-Editor.png|alt=AI-Script-Editor (Ingame)|none|thumb|362x362px|AI-Script-Editor (In game)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a maximum budget per script. This is determined by the total amount of RAM installed in all servers. &lt;br /&gt;
&lt;br /&gt;
To get a budget of 10,000 requires fully upgrading the RAM of all 16 servers.&lt;br /&gt;
&lt;br /&gt;
==AI Script Language==&lt;br /&gt;
&lt;br /&gt;
===Data Types===&lt;br /&gt;
There are various data types that are usable within AI scripts, all of which are incredibly versatile and useful in creating a script as complex or simple as one desires.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example Values&lt;br /&gt;
!Default Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|A integer that allows decimal precision. Can be positive or negative.&lt;br /&gt;
|3.2, 0.29, -10.2, 7.9999993&lt;br /&gt;
|0.0&lt;br /&gt;
|Doubles have a max value of approximately 1.797 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|A number that does not allow decimal precision. Can be positive or negative.&lt;br /&gt;
|20, 69, 420, -1029, 0&lt;br /&gt;
|0&lt;br /&gt;
|Ints range from -2147483648 to 2147483647&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|An array of characters. Basically a way to format and use text.&lt;br /&gt;
|&amp;quot;meow&amp;quot;, &amp;quot;hello&amp;quot;, &amp;quot; &amp;quot;, &amp;quot;I am a text&amp;quot;, &amp;quot;!BanBudE&amp;quot;&lt;br /&gt;
|&amp;quot;&amp;quot;&lt;br /&gt;
|The quotes in the examples are not included in the actual string value.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|A binary value that can either be true or false.&lt;br /&gt;
|true, false&lt;br /&gt;
|false&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Vector2&lt;br /&gt;
|A container type that contains two double values called x and y.&lt;br /&gt;
|(-30.0, 0.0), (28.38, 13)&lt;br /&gt;
|(0.0, 0.0)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Some datatypes can be converted to others by using a function. Check the table below to see which datatypes are currently interchangeable.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source / Target&lt;br /&gt;
!double&lt;br /&gt;
!int&lt;br /&gt;
!string&lt;br /&gt;
!bool&lt;br /&gt;
!Vector2&lt;br /&gt;
|-&lt;br /&gt;
!double&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|Partially&lt;br /&gt;
|-&lt;br /&gt;
!int&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!string&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!bool&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!Vector2&lt;br /&gt;
|Partially&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
(The table will be updated as soon as more AI features are available.)&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Any line in an AI script (apart from impulses) represents a function.&lt;br /&gt;
&lt;br /&gt;
There are two major types of functions:&lt;br /&gt;
&lt;br /&gt;
*Without a return value (= Actions)&lt;br /&gt;
*With a return value&lt;br /&gt;
&lt;br /&gt;
Functions without a return value appear as actions in the sidebar of the AI-script editor. In general these functions do something specific but require some sort of input. &lt;br /&gt;
&lt;br /&gt;
The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type.&lt;br /&gt;
&lt;br /&gt;
=== APIs (Application Programming Interfaces) (as of v0.49) ===&lt;br /&gt;
Function signatures have been slightly modified to conform with a C-like syntax for similarity with other function signatures. The special return type &amp;lt;code&amp;gt;impulse&amp;lt;/code&amp;gt; denotes a function is an input (rather than an action), actions which previously did not have a return type now have the &amp;lt;code&amp;gt;void&amp;lt;/code&amp;gt; return type and the colon between type and argument name is removed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Impulses&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Wake Up&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse wakeup()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the AI switches from inactive to active.&lt;br /&gt;
|-&lt;br /&gt;
|New Round&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse game.newround()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever a new [[Tower Testing]] round starts.&lt;br /&gt;
|-&lt;br /&gt;
|Open: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse open.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being opened (ex: Open: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|Close: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse close.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being closed (ex: Close: Arcade)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Up&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.up()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Down&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse mouse.&amp;lt;id&amp;gt;.down()&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Key: &amp;lt;0-9, A-Z&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;impulse key.#()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the 0-9 or A-Z key is being pressed (case-insensitive, not numpad). (ex: Key: 0)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Script Execution Context&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Mouse: &amp;lt;Key&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;bool mouse.&amp;lt;key&amp;gt;.state()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the &amp;lt;key&amp;gt; mouse button is currently being held down.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Height&lt;br /&gt;
|&amp;lt;code&amp;gt;int height()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the height of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|Screen: Width&lt;br /&gt;
|&amp;lt;code&amp;gt;int width()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the width of the screen in pixels.&lt;br /&gt;
|-&lt;br /&gt;
|UI: Size&lt;br /&gt;
|&amp;lt;code&amp;gt;double ui.size()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the UI size option from from the options menu as a double ranging from 0.5 (50%) to 1.0 (100%)&lt;br /&gt;
|-&lt;br /&gt;
|Script: Triggering Impulse&lt;br /&gt;
|&amp;lt;code&amp;gt;string impulse()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the ID of the impulse which triggered this script instance. If the script was triggered by another script then this function will return the name of that script&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Remaining Budget&lt;br /&gt;
|&amp;lt;code&amp;gt;int budget()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the remaining execution budget of this script during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;int time.frame()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total number of frames since the start of the game.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.delta()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. Pausing or accelerating the game affects this value.&lt;br /&gt;
|-&lt;br /&gt;
|Time: Scale&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.scale()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the factor at which the game is currently accelerated. (0 if the game is paused, 1 if the game runs at normal speed 2 if the game runs at 2x speed and so on)&lt;br /&gt;
|-&lt;br /&gt;
|Time: Unscaled Delta&lt;br /&gt;
|&amp;lt;code&amp;gt;double time.unscaled()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the total time in seconds between the current frame and the last frame. This value is neither affected by pausing nor accelerating the game.&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double now()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current local time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|-&lt;br /&gt;
|Timestamp: UTC Now&lt;br /&gt;
|&amp;lt;code&amp;gt;double utcnow()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the UTC time in ticks representing the time from midnight , January 1st, 0001 until now. (UNIX time)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Execution Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto&lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt;. The first line in the script equals 1. Entering an invalid line number will result in the value being clamped between the min. and max. boundaries during execution.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Goto-If &lt;br /&gt;
|&amp;lt;code&amp;gt;void goto(int line, bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt; in the current script if &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True. First line equals 1.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Click&lt;br /&gt;
|&amp;lt;code&amp;gt;void click(vector2 pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Performs a mouse click at following location: &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Slider&lt;br /&gt;
|&amp;lt;code&amp;gt;void slider(vector2 where, double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets the slider position &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; on the screen to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; with 0 being the leftmost and 1 being the rightmost end.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Scrollrect&lt;br /&gt;
|&amp;lt;code&amp;gt;void scrollbar(vector2 where, double horizontal, double vertical)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Scrolls within a scrollable container at &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;horizontal&amp;lt;/code&amp;gt; (horizontally) and &amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt; (vertically) with 0 being the left/lower end and 1 being the right/upper end. Use a negative value to ignore an axis.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait &lt;br /&gt;
|&amp;lt;code&amp;gt;void wait(double value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|A simple wait function that stops the current script for a total of &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; seconds.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Until&lt;br /&gt;
|&amp;lt;code&amp;gt;void waituntil(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script until &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; becomes True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait While&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitwhile(bool condition)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the current script as long as &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Wait Frame&lt;br /&gt;
|&amp;lt;code&amp;gt;void waitframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops execution of this script for this frame and continues in the next one.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute&lt;br /&gt;
|&amp;lt;code&amp;gt;void execute(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; without requiring an impulse. Conditions of the script called still have to be fulfilled. Executed scripts are put at the end of the script list, and because of this they (usually) will run their first action in the same frame, since the script list pointer is still on the calling script, earlier in the script list.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Execute (Sync)&lt;br /&gt;
|&amp;lt;code&amp;gt;void executesync(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; and waits until the execution is completed. Conditions of the script still have to be fulfilled.&lt;br /&gt;
|-&lt;br /&gt;
|Basic: Stop&lt;br /&gt;
|&amp;lt;code&amp;gt;void stop(string script)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Stops the execution of all scripts and script instances which are named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;. '''Important bug/feature:''' If a script stops ''itself'', the script list pointer is reset to the beginning, effectively giving everything before this script an &amp;quot;extra&amp;quot; cycle. Because scripts that have reached the end aren't cleaned up until the end-of-frame processing, this means that scripts on their last line (or that have jumped to 99) will re-execute their last line, which can cause bugs. This behavior is known as &amp;quot;Turbo Exec,&amp;quot; since it can be used to build programs that execute much faster than the typical one-action-per-frame.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T local.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the local variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Local: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void local.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the local variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Get &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;T global.get(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the value of the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Set &amp;lt;T&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.set(string var, T value)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates or changes the the global variable &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Global: Unset&lt;br /&gt;
|&amp;lt;code&amp;gt;void global.unset(string var)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes the global variable with the name &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Boolean Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Numerical Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Integer Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Double Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+String Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|String: Contains&lt;br /&gt;
|&amp;lt;code&amp;gt;bool contains(string str, string substr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the string &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; contains the string &amp;lt;code&amp;gt;substr&amp;lt;/code&amp;gt;. (ex: &amp;quot;Catch&amp;quot; Contains &amp;quot;Cat&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Vector Primitives&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Town APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isopen(string: window)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the [[Buildings]] window is active and visible on the screen. (ex: [[Tower Testing]] is open)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tower Testing APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Tower: Is Stunned&lt;br /&gt;
|&amp;lt;code&amp;gt;bool stunned()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the tower is stunned and false if the tower is either not stunned or does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Power Plant APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mine APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Factory APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Arcade APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Trading Post APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Museum APIs&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Museum: Fill Inventory (deprecated)&lt;br /&gt;
|&amp;lt;code&amp;gt;bool isfill()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns the current Fill Inventory state. Always returns false outside the museum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Worker APIs&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+User Interface APIs (requires boots.d0s)&lt;br /&gt;
!Name&lt;br /&gt;
!Function Signature&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Draw Rect&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.rect(vector2 pos, vector2 size, string colour&amp;lt;/code&amp;gt;&lt;br /&gt;
|Draws a rectangle on the drawable canvas at location &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; with a size of &amp;lt;code&amp;gt;size&amp;lt;/code&amp;gt; and colored in &amp;lt;code&amp;gt;colour&amp;lt;/code&amp;gt;. (Accepts #RRGGBB and #RRGGBBAA as inputs for color.)&lt;br /&gt;
|-&lt;br /&gt;
|Canvas: Clear&lt;br /&gt;
|&amp;lt;code&amp;gt;void canvas.clear()&amp;lt;/code&amp;gt;&lt;br /&gt;
|Clears the drawable canvas instantly.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Create&lt;br /&gt;
|&amp;lt;code&amp;gt;void create(string windowId, string windowType)&amp;lt;/code&amp;gt;&lt;br /&gt;
|Creates a window with the unique identifier &amp;lt;code&amp;gt;windowId&amp;lt;/code&amp;gt; (used to address the new instance) of type &amp;lt;code&amp;gt;windowType&amp;lt;/code&amp;gt; (window name inside windows list).&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Text&lt;br /&gt;
|&lt;br /&gt;
|Sets the content inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the text label with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str text&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Sprite&lt;br /&gt;
|&lt;br /&gt;
|Sets the sprite inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the button/image with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str sprite&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Visibility&lt;br /&gt;
|&lt;br /&gt;
|Set the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise it will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Child Visibility&lt;br /&gt;
|&lt;br /&gt;
|Set child of window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise window will be hidden.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Set Position&lt;br /&gt;
|&lt;br /&gt;
|Changes the position of the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; based on the anchor of its root element. Per default the anchor is set to the center of the window and 0,0 represents the center of the screen.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy&lt;br /&gt;
|&lt;br /&gt;
|Destroys the window with the unique identifier &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Window: Destroy All&lt;br /&gt;
|&lt;br /&gt;
|Destroys all active windows.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Action List:'''&lt;br /&gt;
&lt;br /&gt;
*Tower: Use (Instantly)&lt;br /&gt;
**Orders the Tower to use the [[Modules]] at slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu. Entering an invalid slot will do nothing.&lt;br /&gt;
*Tower: Use (Position)&lt;br /&gt;
**Orders the tower to use the module at slot  &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu at an offset of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt;&lt;br /&gt;
*Tower: Restart&lt;br /&gt;
**Restarts the current [[Tower Testing]] run. Can only be can only be executing during or at the end of a run that took equal or longer than a second.&lt;br /&gt;
*Tower: Exit&lt;br /&gt;
**Exits the current Tower Testing run.&lt;br /&gt;
*Software: Toggle&lt;br /&gt;
**Enables software &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; if the condition &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true or disables it if the condition is false.&lt;br /&gt;
*Era: Disable Power&lt;br /&gt;
**Tries to disable the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies by purchasing the according upgrade using xp.&lt;br /&gt;
*Era: Upgrade Divider&lt;br /&gt;
**Attempts to upgrade the era &amp;lt;code&amp;gt;str (damage, health)&amp;lt;/code&amp;gt; divider a total of &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; times by using xp.&lt;br /&gt;
*Infinity: Secure Module&lt;br /&gt;
**Attempts to secure the module with id  &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to prevent enemies from mimicking it during the infinity phase.&lt;br /&gt;
*Town: Open Window&lt;br /&gt;
**Opens the &amp;lt;code&amp;gt;str building&amp;lt;/code&amp;gt; window if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt;is True, otherwise it will be closed. Opening or closing windows this way does not play the transition animation!&lt;br /&gt;
*Workers: Toggle Group&lt;br /&gt;
**Toggles the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
**Colors: White (0), Red (1), Blue (2), Green(3), Yellow (4), Magenta (5)&lt;br /&gt;
*Workers: Pause Group&lt;br /&gt;
**Sets the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
*Workers: Toggle&lt;br /&gt;
**Toggles the paused state of all workers with name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Pause&lt;br /&gt;
**Sets the paused state of all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Assign Group&lt;br /&gt;
**Assigns the task with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the groups parameter to see which color belongs to which group.)&lt;br /&gt;
*Workers: Assign&lt;br /&gt;
**Assigns Task with ID &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
**[[Workers#Worker_Taskid.27s|TaskIDs]]&lt;br /&gt;
*Workers: Set Name&lt;br /&gt;
**Sets the name of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worker: Set Group&lt;br /&gt;
**Sets the group of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; (0 is the first worker) to the group with id &amp;lt;code&amp;gt;int id&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Mine: Dig&lt;br /&gt;
**Digs up the tile at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; of the currently selected resource in the [[Mine]] with (0, 0) being the top left corner. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: New Layer&lt;br /&gt;
**Generates a new layer of the currently selected resource in the [[Mine]]. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: Open Tab&lt;br /&gt;
**Opens the mining tab at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt;. Position 1 is the first tab (Orange) and position 12 is the last tab (Black).&lt;br /&gt;
*Mine: Delete Cluster&lt;br /&gt;
**Removes the asteroid cluster at list position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; where 1 represents the first cluster in the list.&lt;br /&gt;
*Arcade: Spin Lucky Wheel&lt;br /&gt;
**Spins the Lucky Wheel with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble New Game&lt;br /&gt;
**Starts a new game of Jumble with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble Stop&lt;br /&gt;
**Stops the current column.&lt;br /&gt;
*Adventure: Move&lt;br /&gt;
**Moves the player in the direction of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt; in Adventure.&lt;br /&gt;
*Adventure: Wait&lt;br /&gt;
**Skips a turn in Adventure.&lt;br /&gt;
*Adventure: Place Bomb&lt;br /&gt;
**Places a Bomb at the Player location in Adventure.&lt;br /&gt;
*Factory: Try Craft&lt;br /&gt;
**Tries to craft &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) a total of &amp;lt;code&amp;gt;double total&amp;lt;/code&amp;gt; times by using items inside the inventory or crafting grid. If that is not possible then no items are being crafted. Only works if the [[Factory]] screen is visible.&lt;br /&gt;
*Factory: Try Produce&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into machine &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt;. If too few items are available or the selected machine is currently busy with a different item type then nothing will happen. Ignores the tier if the selected item ID is rubber.&lt;br /&gt;
*Factory: Trash&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into the trash can of the [[Factory]]. If too few items are present in the inventory and the crafting grid of the [[Factory]] then it will still try to remove as many as possible. Ignores the tier for items that don't have a tier.&lt;br /&gt;
*Factory: Cancel Machine&lt;br /&gt;
**Stops production of the [[Factory]] machine with the id &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt; and ejects all items back to the inventory if possible.&lt;br /&gt;
*Powerplant: Sell&lt;br /&gt;
**Sells the [[Power Plant]] component at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; and automatically refunds a part of the selling price. If the selected slot is empty then nothing will happen. (0, 0) is the bottom left corner of the grid.&lt;br /&gt;
*Tradingpost: Refresh&lt;br /&gt;
**Generates a new set of offers in the [[Trading Post]]. '''Requires a specific upgrade for the [[Trading Post]] later in the game in order to be used!'''&lt;br /&gt;
*Tradingpost: Trade&lt;br /&gt;
**Trades the offer at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; in the list of offers (first offer is at position 0) using &amp;lt;code&amp;gt;double percent&amp;lt;/code&amp;gt; (0.15 = 15%) of the available input resources.&lt;br /&gt;
*Museum: Buy&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone of tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Buy Range&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone between tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Combine&lt;br /&gt;
**Combine Power Stones with the usual combine rules up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; (&amp;lt;1 means no limit).&lt;br /&gt;
*Museum: Transmute&lt;br /&gt;
**Transmute Power Stones currently inside the Cubos Cube.&lt;br /&gt;
*Museum: Move&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Move Slot&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Swap&lt;br /&gt;
**Swap the Power Stones in &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell &lt;br /&gt;
**Sell the Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell All&lt;br /&gt;
**Sell all Power Stones from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preferred Tier&lt;br /&gt;
**Sets the preferred market tier to &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preference&lt;br /&gt;
**Set the market preference for element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Market Refresh&lt;br /&gt;
**Refreshes Market Offers&lt;br /&gt;
*Museum: Buy Market&lt;br /&gt;
**Buy the Power Stone from market in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Lock Market Slot&lt;br /&gt;
**Set the lock state of Market slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Rebuy&lt;br /&gt;
**Rebuy the Power Stone from Trash slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Fill Inventory (Deprecated)&lt;br /&gt;
**Sets the Fill Inventory button to the &amp;lt;code&amp;gt;bool state&amp;lt;/code&amp;gt; state.&lt;br /&gt;
*Museum: Buy (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt;&lt;br /&gt;
*Museum: Buy Market (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3564</id>
		<title>AI</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3564"/>
		<updated>2024-11-07T17:57:40Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Begin to reformat the AI page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The facility AI (short for &amp;quot;Artificial Intelligence&amp;quot;) is a feature of the [[Headquarters]] that unlocks upon reaching [[Military Tier]] 4 and finishing the associated software. It is an extremely versatile tool that allows the user to automate almost any task in the game.  &lt;br /&gt;
&lt;br /&gt;
Compared to workers, AI scripts are far more versatile as they can interact with almost every system in the game and even for systems for which there is no current APIs that the AI could use to interact it can always perform mouse clicks to simulate such behavior. This is currently limited as the AI can only click on in-game UI buttons so things like region [[artifacts]] must still be performed manually, additionally the AI cannot perform right or middle mouse clicks. However AI cannot run while the game is closed (or more accurately during the simulated time when opening a save file) or interact with buildings which are not open. Workers can do both of these things, appear before AI (MT1 rather than MT4) and are far simpler to use without community assistance so while AI may have more power to automate the game, neither is a replacement for the other. &lt;br /&gt;
&lt;br /&gt;
To use the AI you must first obtain a script to execute. There are several ways to do this:&lt;br /&gt;
&lt;br /&gt;
*Create an AI script in the headquarters. For more information on learning how to create scripts, see [[Using the AI]].&lt;br /&gt;
*Obtain import codes for scripts that other players have written. For a list of available scripts, see the [https://discord.com/channels/488444879836413975/1093895780865163284 discord forum].&lt;br /&gt;
*Use machine learning (a macro system). This is done by pressing F7 while the AI overlay is active.&lt;br /&gt;
&lt;br /&gt;
==AI Script Format==&lt;br /&gt;
An AI script contains three sections that control its behavior:&lt;br /&gt;
&lt;br /&gt;
*Impulses&lt;br /&gt;
*Conditions&lt;br /&gt;
*Actions&lt;br /&gt;
&lt;br /&gt;
The function signatures (combination of the return type and types of the arguments for the function) for each function in the external editor are expressed in this way &amp;lt;code&amp;gt;&amp;lt;Return type&amp;gt; &amp;lt;namespace?&amp;gt;.&amp;lt;function&amp;gt;(type: arg1 ...)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For consistency with common function signature formats the signatures here have been rewritten into the following Python-like format &amp;lt;code&amp;gt;&amp;lt;namespace?&amp;gt;.&amp;lt;function&amp;gt;(arg1: type) -&amp;gt; ReturnType&amp;lt;/code&amp;gt;. Impulses return the special type &amp;lt;code&amp;gt;impulse&amp;lt;/code&amp;gt; and functions that no not return a value (a &amp;quot;void&amp;quot; type) are not followed by a return type. Namespaces and function names are unchanged. &lt;br /&gt;
&lt;br /&gt;
===Impulse===&lt;br /&gt;
An Impulse can refer to any button press or event that directly activates an AI script. It is not to be confused with the Basic:Execute command which is not considered an impulse, as it is not a way for a player to directly trigger an AI script, but rather a way of calling the script inside of another AI script much like helper methods in high level programming languages. An AI script can contain up to 10 impulses, each of which can trigger the AI script, regardless if it has already been triggered. It is possible that a script can trigger multiple times before it has finished execution. In this case multiple instances of this script can run in parallel.&lt;br /&gt;
&lt;br /&gt;
===Condition===&lt;br /&gt;
A Condition is a requirement that has to be fulfilled in order for the script to start executing. An AI script can contain up to 10 conditions of which if any is false then the script will not be executed when an impulse is triggered by a player action. During the execution the specified conditions have no effect. All conditions are of data Type:Bool, and any expression that returns a bool can be used as a condition&lt;br /&gt;
&lt;br /&gt;
===Action===&lt;br /&gt;
An Action is something that the AI does when the script becomes active. The Actions are executed one by one, in order from top to bottom. Actions will continue to be executed until either the AI menu is closed, or the script terminates normally. Within one instance of a script, as many actions as the script budget will allow can be executed in one frame. Atomic actions (those with a red symbol) cost 0 budget, all others cost 100. The script is executed in sequence until the budget is reached at which point execution is given to the next script. A script can have up to 50 actions.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[File:AI-Script-Editor.png|alt=AI-Script-Editor (Ingame)|none|thumb|362x362px|AI-Script-Editor (In game)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a maximum budget per script. This is determined by the total amount of RAM installed in all servers. The amounts you get from your RAM are &amp;lt;code&amp;gt;floor(7 + Log&amp;lt;sub&amp;gt;7.98&amp;lt;/sub&amp;gt;(RAM))&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;floor(1 + (actions / 7))&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;floor(1 + (actions / 11))&amp;lt;/code&amp;gt; bytes, rounded up. Here is a Desmos Graph that displays it for you https://www.desmos.com/calculator/12aiwozkjj&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!RAM (bytes)!!Actions!!Conditions!!Impulses&lt;br /&gt;
|-&lt;br /&gt;
|1||7||2||1&lt;br /&gt;
|-&lt;br /&gt;
|8||8||2||1&lt;br /&gt;
|-&lt;br /&gt;
|64||9||2||1&lt;br /&gt;
|-&lt;br /&gt;
|509||10||2||1&lt;br /&gt;
|-&lt;br /&gt;
|4056||11||2||2&lt;br /&gt;
|-&lt;br /&gt;
|32361||12||2||2&lt;br /&gt;
|-&lt;br /&gt;
|2.5823e5||13||2||2&lt;br /&gt;
|-&lt;br /&gt;
|2.0607e6||14||2||2&lt;br /&gt;
|-&lt;br /&gt;
|1.6445e7||15||2||2&lt;br /&gt;
|-&lt;br /&gt;
|1.3123e8||16||2||2&lt;br /&gt;
|-&lt;br /&gt;
|1.0472e9||17||2||2&lt;br /&gt;
|-&lt;br /&gt;
|8.3566e9||18||2||2&lt;br /&gt;
|-&lt;br /&gt;
|6.6686e10||19||2||2&lt;br /&gt;
|-&lt;br /&gt;
|5.3215e11||20||2||2&lt;br /&gt;
|-&lt;br /&gt;
|4.2466e12||21||3||2&lt;br /&gt;
|-&lt;br /&gt;
|3.3888e13||22||3||3&lt;br /&gt;
|-&lt;br /&gt;
|2.7042e14||23||3||3&lt;br /&gt;
|-&lt;br /&gt;
|2.1580e15||24||3||3&lt;br /&gt;
|-&lt;br /&gt;
|1.7221e16||25||3||3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To get all 25 actions requires fully upgrading the RAM of all 16 servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AI Script Language ==&lt;br /&gt;
&lt;br /&gt;
===Data Types===&lt;br /&gt;
There are various data types that are usable within AI scripts, all of which are incredibly versatile and useful in creating a script as complex or simple as one desires.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example Values&lt;br /&gt;
!Default Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|A integer that allows decimal precision. Can be positive or negative.&lt;br /&gt;
|3.2, 0.29, -10.2, 7.9999993&lt;br /&gt;
|0.0&lt;br /&gt;
|Doubles have a max value of approximately 1.797 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|A number that does not allow decimal precision. Can be positive or negative.&lt;br /&gt;
|20, 69, 420, -1029, 0&lt;br /&gt;
|0&lt;br /&gt;
|Ints range from -2147483648 to 2147483647&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|An array of characters. Basically a way to format and use text.&lt;br /&gt;
|&amp;quot;meow&amp;quot;, &amp;quot;hello&amp;quot;, &amp;quot; &amp;quot;, &amp;quot;I am a text&amp;quot;, &amp;quot;!BanBudE&amp;quot;&lt;br /&gt;
|&amp;quot;&amp;quot;&lt;br /&gt;
|The quotes in the examples are not included in the actual string value.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|A binary value that can either be true or false.&lt;br /&gt;
|true, false&lt;br /&gt;
|false&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Vector2&lt;br /&gt;
|A container type that contains two double values called x and y.&lt;br /&gt;
|(-30.0, 0.0), (28.38, 13)&lt;br /&gt;
|(0.0, 0.0)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Some datatypes can be converted to others by using a function. Check the table below to see which datatypes are currently interchangeable.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source / Target&lt;br /&gt;
!double&lt;br /&gt;
!int&lt;br /&gt;
!string&lt;br /&gt;
!bool&lt;br /&gt;
!Vector2&lt;br /&gt;
|-&lt;br /&gt;
!double&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|Partially&lt;br /&gt;
|-&lt;br /&gt;
!int&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!string&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!bool&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!Vector2&lt;br /&gt;
|Partially&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
(The table will be updated as soon as more AI features are available.)&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Any line in an AI script (apart from impulses) represents a function.&lt;br /&gt;
&lt;br /&gt;
There are two major types of functions:&lt;br /&gt;
&lt;br /&gt;
*Without a return value (= Actions)&lt;br /&gt;
*With a return value&lt;br /&gt;
&lt;br /&gt;
Functions without a return value appear as actions in the sidebar of the AI-script editor. In general these functions do something specific but require some sort of input. &lt;br /&gt;
&lt;br /&gt;
The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== APIs (Application Programming Interfaces) ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible&amp;quot;&lt;br /&gt;
|+List of all AI APIs (as of v0.49 [2024:11:5])&lt;br /&gt;
!Name&lt;br /&gt;
!External editor code&lt;br /&gt;
!Description&lt;br /&gt;
!Type&lt;br /&gt;
|-&lt;br /&gt;
|Wake Up&lt;br /&gt;
|&amp;lt;code&amp;gt;wakeup() -&amp;gt; impulse&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the AI switches from inactive to active.&lt;br /&gt;
|Impulse&lt;br /&gt;
|-&lt;br /&gt;
|New Round&lt;br /&gt;
|&amp;lt;code&amp;gt;game.newround() -&amp;gt; impulse&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever a new [[Tower Testing]] round starts.&lt;br /&gt;
|Impulse&lt;br /&gt;
|-&lt;br /&gt;
|Open: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;open.&amp;amp;lt;building&amp;amp;gt;() -&amp;gt; impulse&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being opened (ex: Open: Arcade)&lt;br /&gt;
|Impulse&lt;br /&gt;
|-&lt;br /&gt;
|Close: &amp;lt;[[Buildings|Building]]&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;close.&amp;amp;lt;building&amp;amp;gt;() -&amp;gt; impulse&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the window of the building is being closed (ex: Close: Arcade)&lt;br /&gt;
|Impulse&lt;br /&gt;
|-&lt;br /&gt;
|Key: &amp;lt;0-9, A-Z&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;key.#() -&amp;gt; impulse&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers whenever the 0-9 or A-Z key is being pressed (case-insensitive, not numpad). (ex: Key: 0)&lt;br /&gt;
|Impulse&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Up&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;mouse.&amp;lt;id&amp;gt;.up() -&amp;gt; impulse&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Impulse&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Mouse: &amp;lt;Left|Middle|Right&amp;gt; Down&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;mouse.&amp;lt;id&amp;gt;.down() -&amp;gt; impulse&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Triggers whenever the &amp;lt;left|middle|right&amp;gt; mouse button is being pressed down. (ex: Mouse: Left Down)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Impulse&lt;br /&gt;
|-&lt;br /&gt;
|Comparison: Bool&lt;br /&gt;
|&amp;lt;code&amp;gt;comparison.bool(lhs: bool, op_comp: string, rhs: bool) -&amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Compares two boolean values based on the selected operator. Allowed operators are &amp;quot;==&amp;quot;/&amp;quot;=&amp;quot; (Equals), &amp;quot;!=&amp;quot; (Not Equal), &amp;quot;&amp;amp;&amp;amp;&amp;quot;/&amp;quot;&amp;amp;&amp;quot; (Both must be true), &amp;quot;||&amp;quot;/&amp;quot;|&amp;quot; (Either has to be true).&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Condition&lt;br /&gt;
|-&lt;br /&gt;
|Comparison: Int/Double&lt;br /&gt;
|&amp;lt;code&amp;gt;comparison.&amp;amp;lt;type&amp;amp;gt;(lhs: type, op_comp: string, rhs: type) -&amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
|Compares two &amp;amp;lt;type&amp;amp;gt; values based on the selected operator. Allowed operators are &amp;quot;==&amp;quot;/&amp;quot;=&amp;quot; (Equals), &amp;quot;!=&amp;quot; (Not Equal), &amp;quot;&amp;gt;&amp;quot;, &amp;quot;&amp;gt;=&amp;quot;, &amp;quot;&amp;lt;&amp;quot;, &amp;quot;&amp;lt;=&amp;quot;.&lt;br /&gt;
|Condition&lt;br /&gt;
|-&lt;br /&gt;
|Comparison: String&lt;br /&gt;
|&amp;lt;code&amp;gt;comparison.string(lhs: string, op_comp: string, rhs: string) -&amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
|Compares two string values based on the selected operator. Allowed operators are &amp;quot;==&amp;quot;/&amp;quot;=&amp;quot; (Equals), &amp;quot;!=&amp;quot; (Not Equal).&lt;br /&gt;
|Condition&lt;br /&gt;
|-&lt;br /&gt;
|Factory: Is Processing&lt;br /&gt;
|&amp;lt;code&amp;gt;active(machine: string) -&amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the machine with ID [[Machine]] is currently processing items. (ex: Factory: Is Processing (Oven)). Always returns false outside the factory.&lt;br /&gt;
|Condition&lt;br /&gt;
|-&lt;br /&gt;
|Mine: Has Layers&lt;br /&gt;
|&amp;lt;code&amp;gt;hasLayers() -&amp;gt; bool&amp;lt;/code&amp;gt;&lt;br /&gt;
|Returns true if the current active mining tab can generate at least 1 layer. Always returns false outside the mine.&lt;br /&gt;
|Condition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Museum: Fill Inventory (&amp;lt;code&amp;gt;bool isfill()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns the current Fill Inventory state. Always returns false outside the museum.&lt;br /&gt;
*String: Contains (&amp;lt;code&amp;gt;bool contains(string: str, string: substr)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the string &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; contains the string &amp;lt;code&amp;gt;substr&amp;lt;/code&amp;gt;. (ex: &amp;quot;Catch&amp;quot; Contains &amp;quot;Cat&amp;quot;)&lt;br /&gt;
*Tower: Is Stunned (&amp;lt;code&amp;gt;bool stunned()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the tower is stunned and false if the tower is either not stunned or does not exist.&lt;br /&gt;
*Town: Window Open (&amp;lt;code&amp;gt;bool isopen(string: window)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the [[Buildings]] window is active and visible on the screen. (ex: [[Tower Testing]] is open)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Action List:'''&lt;br /&gt;
&lt;br /&gt;
*Basic: Goto (&amp;lt;code&amp;gt;goto(int: line)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt;. The first line in the script equals 1. Entering an invalid line number will result in the value being clamped between the min. and max. boundaries during execution.&lt;br /&gt;
*Basic: Goto-If (&amp;lt;code&amp;gt;goto(int: line, bool: condition)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt; in the current script if &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True. First line equals 1.&lt;br /&gt;
*Basic: Click (&amp;lt;code&amp;gt;click(vector: pos)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Performs a mouse click at following location: &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Basic: Slider (&amp;lt;code&amp;gt;slider(vector: where, double: value)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Sets the slider position &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; on the screen to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; with 0 being the leftmost and 1 being the rightmost end.&lt;br /&gt;
*Basic: Scrollrect (&amp;lt;code&amp;gt;scrollbar(vector: where, double: horizontal, double: vertical)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Scrolls within a scrollable container at &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;horizontal&amp;lt;/code&amp;gt; (horizontally) and &amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt; (vertically) with 0 being the left/lower end and 1 being the right/upper end. Use a negative value to ignore an axis.&lt;br /&gt;
*Basic: Wait (&amp;lt;code&amp;gt;wait(double: value)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**A simple wait function that stops the current script for a total of &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; seconds.&lt;br /&gt;
*Basic: Wait Until (&amp;lt;code&amp;gt;waituntil(bool: condition)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Stops the current script until &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; becomes True.&lt;br /&gt;
*Basic: Wait While (&amp;lt;code&amp;gt;waitwhile(bool: condition)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Stops the current script as long as &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True.&lt;br /&gt;
*Basic: Execute (&amp;lt;code&amp;gt;execute(string: script)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; without requiring an impulse. Conditions of the script called still have to be fulfilled. Executed scripts are put at the end of the script list, and because of this they (usually) will run their first action in the same frame, since the script list pointer is still on the calling script, earlier in the script list.&lt;br /&gt;
*Basic: Execute (Sync) (&amp;lt;code&amp;gt;executesync(string: script)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; and waits until the execution is completed. Conditions of the script still have to be fulfilled. '''As of 0.9.2, this has some bugs:''' If the conditions of the script are ''not'' fulfilled, &amp;lt;code&amp;gt;executesync&amp;lt;/code&amp;gt; will wait forever without running anything. Also, if the executed script is killed with &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt;, execution will not continue.&lt;br /&gt;
*Basic: Stop (&amp;lt;code&amp;gt;stop(string: script)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Stops the execution of all scripts and script instances which are named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;. '''Important bug/feature:''' If a script stops ''itself'', the script list pointer is reset to the beginning, effectively giving everything before this script an &amp;quot;extra&amp;quot; cycle. Because scripts that have reached the end aren't cleaned up until the end-of-frame processing, this means that scripts on their last line (or that have jumped to 99) will re-execute their last line, which can cause bugs. This behavior is known as &amp;quot;Turbo Exec,&amp;quot; since it can be used to build programs that execute much faster than the typical one-action-per-frame.&lt;br /&gt;
*Global: Set (Double / Int / String / Bool / Vector)&lt;br /&gt;
**Creates or changes the global variable &amp;lt;code&amp;gt;str variable&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;double/int/string/bool/vector2 value&amp;lt;/code&amp;gt; .&lt;br /&gt;
*Global (Unset)&lt;br /&gt;
**Deletes the global variable with the name  &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Local: Set (Double / Int / String / Bool / Vector))&lt;br /&gt;
**Creates or changes the local variable &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;double/int/string/bool/vector2 value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Local: (Unset)&lt;br /&gt;
**Deletes the local variable with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Canvas: Draw Rect&lt;br /&gt;
**Draws a rectangle on the drawable canvas at location &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; with a size of &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; and colored in &amp;lt;code&amp;gt;str color&amp;lt;/code&amp;gt;. (Accepts #RRGGBB and #RRGGBBAA as inputs for color.)&lt;br /&gt;
*Canvas: Clear&lt;br /&gt;
**Clears the drawable canvas instantly.&lt;br /&gt;
*Window: Create&lt;br /&gt;
**Creates a window with the unique identifier &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; (used to address the new instance) of type &amp;lt;code&amp;gt;str type&amp;lt;/code&amp;gt; (window name inside windows list).&lt;br /&gt;
*Window: Set Text&lt;br /&gt;
**Sets the content inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the text label with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str text&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Window: Set Sprite&lt;br /&gt;
**Sets the sprite inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the button/image with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str sprite&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Window: Set Visibility&lt;br /&gt;
**Set the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise it will be hidden.&lt;br /&gt;
*Window: Set Child Visibility&lt;br /&gt;
**Set child of window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise window will be hidden.&lt;br /&gt;
*Window: Set Position&lt;br /&gt;
**Changes the position of the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; based on the anchor of its root element. Per default the anchor is set to the center of the window and 0,0 represents the center of the screen.&lt;br /&gt;
*Window: Destroy&lt;br /&gt;
**Destroys the window with the unique identifier &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Window: Destroy All&lt;br /&gt;
**Destroys all active windows.&lt;br /&gt;
*Tower: Use (Instantly)&lt;br /&gt;
**Orders the Tower to use the [[Modules]] at slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu. Entering an invalid slot will do nothing.&lt;br /&gt;
*Tower: Use (Position)&lt;br /&gt;
**Orders the tower to use the module at slot  &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu at an offset of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt;&lt;br /&gt;
*Tower: Restart&lt;br /&gt;
**Restarts the current [[Tower Testing]] run. Can only be can only be executing during or at the end of a run that took equal or longer than a second.&lt;br /&gt;
*Tower: Exit&lt;br /&gt;
**Exits the current Tower Testing run.&lt;br /&gt;
*Software: Toggle&lt;br /&gt;
**Enables software &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; if the condition &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true or disables it if the condition is false.&lt;br /&gt;
*Era: Disable Power&lt;br /&gt;
**Tries to disable the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies by purchasing the according upgrade using xp.&lt;br /&gt;
*Era: Upgrade Divider&lt;br /&gt;
**Attempts to upgrade the era &amp;lt;code&amp;gt;str (damage, health)&amp;lt;/code&amp;gt; divider a total of &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; times by using xp.&lt;br /&gt;
*Infinity: Secure Module&lt;br /&gt;
**Attempts to secure the module with id  &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to prevent enemies from mimicking it during the infinity phase.&lt;br /&gt;
*Town: Open Window&lt;br /&gt;
**Opens the &amp;lt;code&amp;gt;str building&amp;lt;/code&amp;gt; window if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt;is True, otherwise it will be closed. Opening or closing windows this way does not play the transition animation!&lt;br /&gt;
*Workers: Toggle Group&lt;br /&gt;
**Toggles the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
**Colors: White (0), Red (1), Blue (2), Green(3), Yellow (4), Magenta (5)&lt;br /&gt;
*Workers: Pause Group&lt;br /&gt;
**Sets the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
*Workers: Toggle&lt;br /&gt;
**Toggles the paused state of all workers with name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Pause&lt;br /&gt;
**Sets the paused state of all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Assign Group&lt;br /&gt;
**Assigns the task with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the groups parameter to see which color belongs to which group.)&lt;br /&gt;
*Workers: Assign&lt;br /&gt;
**Assigns Task with ID &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
**[[Workers#Worker_Taskid.27s|TaskIDs]]&lt;br /&gt;
*Workers: Set Name&lt;br /&gt;
**Sets the name of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worker: Set Group&lt;br /&gt;
**Sets the group of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; (0 is the first worker) to the group with id &amp;lt;code&amp;gt;int id&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Mine: Dig&lt;br /&gt;
**Digs up the tile at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; of the currently selected resource in the [[Mine]] with (0, 0) being the top left corner. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: New Layer&lt;br /&gt;
**Generates a new layer of the currently selected resource in the [[Mine]]. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: Open Tab&lt;br /&gt;
**Opens the mining tab at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt;. Position 1 is the first tab (Orange) and position 12 is the last tab (Black).&lt;br /&gt;
*Mine: Delete Cluster&lt;br /&gt;
**Removes the asteroid cluster at list position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; where 1 represents the first cluster in the list.&lt;br /&gt;
*Arcade: Spin Lucky Wheel&lt;br /&gt;
**Spins the Lucky Wheel with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble New Game&lt;br /&gt;
**Starts a new game of Jumble with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble Stop&lt;br /&gt;
**Stops the current column.&lt;br /&gt;
*Adventure: Move&lt;br /&gt;
**Moves the player in the direction of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt; in Adventure.&lt;br /&gt;
*Adventure: Wait&lt;br /&gt;
**Skips a turn in Adventure.&lt;br /&gt;
*Adventure: Place Bomb&lt;br /&gt;
**Places a Bomb at the Player location in Adventure.&lt;br /&gt;
*Factory: Try Craft&lt;br /&gt;
**Tries to craft &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) a total of &amp;lt;code&amp;gt;double total&amp;lt;/code&amp;gt; times by using items inside the inventory or crafting grid. If that is not possible then no items are being crafted. Only works if the [[Factory]] screen is visible.&lt;br /&gt;
*Factory: Try Produce&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into machine &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt;. If too few items are available or the selected machine is currently busy with a different item type then nothing will happen. Ignores the tier if the selected item ID is rubber.&lt;br /&gt;
*Factory: Trash&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into the trash can of the [[Factory]]. If too few items are present in the inventory and the crafting grid of the [[Factory]] then it will still try to remove as many as possible. Ignores the tier for items that don't have a tier.&lt;br /&gt;
*Factory: Cancel Machine&lt;br /&gt;
**Stops production of the [[Factory]] machine with the id &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt; and ejects all items back to the inventory if possible.&lt;br /&gt;
*Powerplant: Sell&lt;br /&gt;
**Sells the [[Power Plant]] component at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; and automatically refunds a part of the selling price. If the selected slot is empty then nothing will happen. (0, 0) is the bottom left corner of the grid.&lt;br /&gt;
*Tradingpost: Refresh&lt;br /&gt;
**Generates a new set of offers in the [[Trading Post]]. '''Requires a specific upgrade for the [[Trading Post]] later in the game in order to be used!'''&lt;br /&gt;
*Tradingpost: Trade&lt;br /&gt;
**Trades the offer at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; in the list of offers (first offer is at position 0) using &amp;lt;code&amp;gt;double percent&amp;lt;/code&amp;gt; (0.15 = 15%) of the available input resources.&lt;br /&gt;
*Museum: Buy&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone of tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Buy Range&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone between tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Combine&lt;br /&gt;
**Combine Power Stones with the usual combine rules up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; (&amp;lt;1 means no limit).&lt;br /&gt;
*Museum: Transmute&lt;br /&gt;
**Transmute Power Stones currently inside the Cubos Cube.&lt;br /&gt;
*Museum: Move&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Move Slot&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Swap&lt;br /&gt;
**Swap the Power Stones in &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell &lt;br /&gt;
**Sell the Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell All&lt;br /&gt;
**Sell all Power Stones from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preferred Tier&lt;br /&gt;
**Sets the preferred market tier to &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preference&lt;br /&gt;
**Set the market preference for element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Market Refresh&lt;br /&gt;
**Refreshes Market Offers&lt;br /&gt;
*Museum: Buy Market&lt;br /&gt;
**Buy the Power Stone from market in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Lock Market Slot&lt;br /&gt;
**Set the lock state of Market slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Rebuy&lt;br /&gt;
**Rebuy the Power Stone from Trash slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Fill Inventory (Deprecated)&lt;br /&gt;
**Sets the Fill Inventory button to the &amp;lt;code&amp;gt;bool state&amp;lt;/code&amp;gt; state.&lt;br /&gt;
*Museum: Buy (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt;&lt;br /&gt;
*Museum: Buy Market (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3563</id>
		<title>AI</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=AI&amp;diff=3563"/>
		<updated>2024-11-07T16:33:52Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Add more information on AI vs workers and add reference to machine learning (F7)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The facility AI (short for &amp;quot;Artificial Intelligence&amp;quot;) is a feature of the [[Headquarters]] that unlocks upon reaching [[Military Tier]] 4 and finishing the associated software. It is an extremely versatile tool that allows the user to automate almost any task in the game.  &lt;br /&gt;
&lt;br /&gt;
Compared to workers, AI scripts are far more versatile as they can interact with almost every system in the game and even for systems for which there is no current APIs that the AI could use to interact it can always perform mouse clicks to simulate such behavior. This is currently limited as the AI can only click on in-game UI buttons so things like region [[artifacts]] must still be performed manually, additionally the AI cannot perform right or middle mouse clicks. However AI cannot run while the game is closed (or more accurately during the simulated time when opening a save file) or interact with buildings which are not open. Workers can do both of these things, appear before AI (MT1 rather than MT4) and are far simpler to use without community assistance so while AI may have more power to automate the game, neither is a replacement for the other. &lt;br /&gt;
&lt;br /&gt;
To use the AI you must first obtain a script to execute. There are several ways to do this:&lt;br /&gt;
&lt;br /&gt;
* Create an AI script in the headquarters. For more information on learning how to create scripts, see [[Using the AI]].&lt;br /&gt;
* Obtain import codes for scripts that other players have written. For a list of available scripts, see the [https://discord.com/channels/488444879836413975/1093895780865163284 discord forum].&lt;br /&gt;
* Use machine learning (a macro system). This is done by pressing F7 while the AI overlay is active.&lt;br /&gt;
&lt;br /&gt;
==AI Scripts==&lt;br /&gt;
An AI script contains three sections that control its behavior:&lt;br /&gt;
&lt;br /&gt;
*Impulses&lt;br /&gt;
*Conditions&lt;br /&gt;
*Actions&lt;br /&gt;
&lt;br /&gt;
===Impulse===&lt;br /&gt;
An Impulse can refer to any button press or event that directly activates an AI script. It is not to be confused with the Basic:Execute command which is not considered an impulse, as it is not a way for a player to directly trigger an AI script, but rather a way of calling the script inside of another AI script much like helper methods in high level programming languages. An AI script can contain 0 - 3 impulses, each of which can trigger the AI script, regardless if it has already been triggered. It is possible that a script can trigger multiple times before it has finished execution. In this case multiple instances of this script can run in parallel.&lt;br /&gt;
&lt;br /&gt;
'''Impulse List:'''&lt;br /&gt;
&lt;br /&gt;
*Wake Up (&amp;lt;code&amp;gt;impulse wakeup()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Triggers whenever the AI switches from inactive to active.&lt;br /&gt;
*New Round (&amp;lt;code&amp;gt;impulse game.newround()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Triggers whenever a new [[Tower Testing]] round starts.&lt;br /&gt;
*Open: [[Buildings]] (&amp;lt;code&amp;gt;impulse open.&amp;amp;lt;building&amp;amp;gt;()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Triggers whenever the window of the building is being opened (ex: Open: Arcade)&lt;br /&gt;
*Key: 0-9, A-Z (&amp;lt;code&amp;gt;impulse key.#()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Triggers whenever the 0-9 or A-Z key is being pressed (not numpad). (ex: Key: 0)&lt;br /&gt;
&lt;br /&gt;
===Condition===&lt;br /&gt;
A Condition is a requirement that has to be fulfilled in order for the script to start executing. If any of the specified conditions is not met then the whole script will not be executed once it is triggered by an impulse. During the execution the specified conditions have no effect. All conditions are of data Type:Bool, and any expression that returns a bool can be used as a condition.&lt;br /&gt;
&lt;br /&gt;
'''Condition List:'''&lt;br /&gt;
&lt;br /&gt;
*Comparison: Bool (&amp;lt;code&amp;gt;bool comparison.bool(bool: lhs, string: op_comp, bool: rhs&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Compares two boolean values based on the selected operator. Allowed operators are &amp;quot;==&amp;quot;/&amp;quot;=&amp;quot; (Equals), &amp;quot;!=&amp;quot; (Not Equal), &amp;quot;&amp;amp;&amp;amp;&amp;quot;/&amp;quot;&amp;amp;&amp;quot; (Both must be true), &amp;quot;||&amp;quot;/&amp;quot;|&amp;quot; (Either has to be true).&lt;br /&gt;
*Comparison: Int/Double (&amp;lt;code&amp;gt;bool comparison.&amp;amp;lt;type&amp;amp;gt;(type: lhs, string: op_comp, type: rhs&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Compares two &amp;amp;lt;type&amp;amp;gt; values based on the selected operator. Allowed operators are &amp;quot;==&amp;quot;/&amp;quot;=&amp;quot; (Equals), &amp;quot;!=&amp;quot; (Not Equal), &amp;quot;&amp;gt;&amp;quot;, &amp;quot;&amp;gt;=&amp;quot;, &amp;quot;&amp;lt;&amp;quot;, &amp;quot;&amp;lt;=&amp;quot;.&lt;br /&gt;
*Comparison: String (&amp;lt;code&amp;gt;bool comparison.string(string: lhs, string: op_comp, string: rhs&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Compares two string values based on the selected operator. Allowed operators are &amp;quot;==&amp;quot;/&amp;quot;=&amp;quot; (Equals), &amp;quot;!=&amp;quot; (Not Equal).&lt;br /&gt;
*Factory: Is Processing (&amp;lt;code&amp;gt;bool active(string: machine)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the machine with ID [[Machine]] is currently processing items. (ex: Factory: Is Processing (Oven)). Always returns false outside the factory.&lt;br /&gt;
*Mine: Has Layers (&amp;lt;code&amp;gt;bool hasLayers()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the current active mining tab can generate at least 1 layer. Always returns false outside the mine.&lt;br /&gt;
*Museum: Fill Inventory (&amp;lt;code&amp;gt;bool isfill()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns the current Fill Inventory state. Always returns false outside the museum.&lt;br /&gt;
*String: Contains (&amp;lt;code&amp;gt;bool contains(string: str, string: substr)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the string &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; contains the string &amp;lt;code&amp;gt;substr&amp;lt;/code&amp;gt;. (ex: &amp;quot;Catch&amp;quot; Contains &amp;quot;Cat&amp;quot;)&lt;br /&gt;
*Tower: Is Stunned (&amp;lt;code&amp;gt;bool stunned()&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the tower is stunned and false if the tower is either not stunned or does not exist.&lt;br /&gt;
*Town: Window Open (&amp;lt;code&amp;gt;bool isopen(string: window)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Returns true if the [[Buildings]] window is active and visible on the screen. (ex: [[Tower Testing]] is open)&lt;br /&gt;
&lt;br /&gt;
===Action===&lt;br /&gt;
An Action is something that the AI does when the script becomes active. The Actions are executed one by one, in order from top to bottom. Actions will continue to be executed until either the AI menu is closed, or the script terminates normally. Within one instance of a script, there is no way to execute more than one Action at a time (but by launching multiple copies of a script, this can be achieved).&lt;br /&gt;
&lt;br /&gt;
'''Action List:'''&lt;br /&gt;
&lt;br /&gt;
*Basic: Goto (&amp;lt;code&amp;gt;goto(int: line)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt;. The first line in the script equals 1. Entering an invalid line number will result in the value being clamped between the min. and max. boundaries during execution.&lt;br /&gt;
*Basic: Goto-If (&amp;lt;code&amp;gt;goto(int: line, bool: condition)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Jumps to line &amp;lt;code&amp;gt;line&amp;lt;/code&amp;gt; in the current script if &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True. First line equals 1.&lt;br /&gt;
*Basic: Click (&amp;lt;code&amp;gt;click(vector: pos)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Performs a mouse click at following location: &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Basic: Slider (&amp;lt;code&amp;gt;slider(vector: where, double: value)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Sets the slider position &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; on the screen to &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; with 0 being the leftmost and 1 being the rightmost end.&lt;br /&gt;
*Basic: Scrollrect (&amp;lt;code&amp;gt;scrollbar(vector: where, double: horizontal, double: vertical)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Scrolls within a scrollable container at &amp;lt;code&amp;gt;where&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;horizontal&amp;lt;/code&amp;gt; (horizontally) and &amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt; (vertically) with 0 being the left/lower end and 1 being the right/upper end. Use a negative value to ignore an axis.&lt;br /&gt;
*Basic: Wait (&amp;lt;code&amp;gt;wait(double: value)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**A simple wait function that stops the current script for a total of &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; seconds.&lt;br /&gt;
*Basic: Wait Until (&amp;lt;code&amp;gt;waituntil(bool: condition)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Stops the current script until &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; becomes True.&lt;br /&gt;
*Basic: Wait While (&amp;lt;code&amp;gt;waitwhile(bool: condition)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Stops the current script as long as &amp;lt;code&amp;gt;condition&amp;lt;/code&amp;gt; is True.&lt;br /&gt;
*Basic: Execute (&amp;lt;code&amp;gt;execute(string: script)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; without requiring an impulse. Conditions of the script called still have to be fulfilled. Executed scripts are put at the end of the script list, and because of this they (usually) will run their first action in the same frame, since the script list pointer is still on the calling script, earlier in the script list.&lt;br /&gt;
*Basic: Execute (Sync) (&amp;lt;code&amp;gt;executesync(string: script)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Executes the first script in the list which is named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt; and waits until the execution is completed. Conditions of the script still have to be fulfilled. '''As of 0.9.2, this has some bugs:''' If the conditions of the script are ''not'' fulfilled, &amp;lt;code&amp;gt;executesync&amp;lt;/code&amp;gt; will wait forever without running anything. Also, if the executed script is killed with &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt;, execution will not continue.&lt;br /&gt;
*Basic: Stop (&amp;lt;code&amp;gt;stop(string: script)&amp;lt;/code&amp;gt;)&lt;br /&gt;
**Stops the execution of all scripts and script instances which are named &amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;. '''Important bug/feature:''' If a script stops ''itself'', the script list pointer is reset to the beginning, effectively giving everything before this script an &amp;quot;extra&amp;quot; cycle. Because scripts that have reached the end aren't cleaned up until the end-of-frame processing, this means that scripts on their last line (or that have jumped to 99) will re-execute their last line, which can cause bugs. This behavior is known as &amp;quot;Turbo Exec,&amp;quot; since it can be used to build programs that execute much faster than the typical one-action-per-frame.&lt;br /&gt;
*Global: Set (Double / Int / String / Bool / Vector)&lt;br /&gt;
**Creates or changes the global variable &amp;lt;code&amp;gt;str variable&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;double/int/string/bool/vector2 value&amp;lt;/code&amp;gt; .&lt;br /&gt;
*Global (Unset)&lt;br /&gt;
**Deletes the global variable with the name  &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Local: Set (Double / Int / String / Bool / Vector))&lt;br /&gt;
**Creates or changes the local variable &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to contain the value &amp;lt;code&amp;gt;double/int/string/bool/vector2 value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Local: (Unset)&lt;br /&gt;
**Deletes the local variable with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Canvas: Draw Rect&lt;br /&gt;
**Draws a rectangle on the drawable canvas at location &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; with a size of &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; and colored in &amp;lt;code&amp;gt;str color&amp;lt;/code&amp;gt;. (Accepts #RRGGBB and #RRGGBBAA as inputs for color.)&lt;br /&gt;
*Canvas: Clear&lt;br /&gt;
**Clears the drawable canvas instantly.&lt;br /&gt;
*Window: Create&lt;br /&gt;
**Creates a window with the unique identifier &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; (used to address the new instance) of type &amp;lt;code&amp;gt;str type&amp;lt;/code&amp;gt; (window name inside windows list).&lt;br /&gt;
*Window: Set Text&lt;br /&gt;
**Sets the content inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the text label with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str text&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Window: Set Sprite&lt;br /&gt;
**Sets the sprite inside the window with the id &amp;lt;code&amp;gt;str identifier&amp;lt;/code&amp;gt; of the button/image with the id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str sprite&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Window: Set Visibility&lt;br /&gt;
**Set the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise it will be hidden.&lt;br /&gt;
*Window: Set Child Visibility&lt;br /&gt;
**Set child of window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to visible if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true. Otherwise window will be hidden.&lt;br /&gt;
*Window: Set Position&lt;br /&gt;
**Changes the position of the window with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;vector x, y&amp;lt;/code&amp;gt; based on the anchor of its root element. Per default the anchor is set to the center of the window and 0,0 represents the center of the screen.&lt;br /&gt;
*Window: Destroy&lt;br /&gt;
**Destroys the window with the unique identifier &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Window: Destroy All&lt;br /&gt;
**Destroys all active windows.&lt;br /&gt;
*Tower: Use (Instantly)&lt;br /&gt;
**Orders the Tower to use the [[Modules]] at slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu. Entering an invalid slot will do nothing.&lt;br /&gt;
*Tower: Use (Position)&lt;br /&gt;
**Orders the tower to use the module at slot  &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; where slot 1 refers to the module at the very top of the skill menu at an offset of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt;&lt;br /&gt;
*Tower: Restart&lt;br /&gt;
**Restarts the current [[Tower Testing]] run. Can only be can only be executing during or at the end of a run that took equal or longer than a second.&lt;br /&gt;
*Tower: Exit&lt;br /&gt;
**Exits the current Tower Testing run.&lt;br /&gt;
*Software: Toggle&lt;br /&gt;
**Enables software &amp;lt;code&amp;gt;software&amp;lt;/code&amp;gt; if the condition &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt; is true or disables it if the condition is false.&lt;br /&gt;
*Era: Disable Power&lt;br /&gt;
**Tries to disable the era powers of &amp;lt;code&amp;gt;element&amp;lt;/code&amp;gt; enemies by purchasing the according upgrade using xp.&lt;br /&gt;
*Era: Upgrade Divider&lt;br /&gt;
**Attempts to upgrade the era &amp;lt;code&amp;gt;str (damage, health)&amp;lt;/code&amp;gt; divider a total of &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; times by using xp.&lt;br /&gt;
*Infinity: Secure Module&lt;br /&gt;
**Attempts to secure the module with id  &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; to prevent enemies from mimicking it during the infinity phase.&lt;br /&gt;
*Town: Open Window&lt;br /&gt;
**Opens the &amp;lt;code&amp;gt;str building&amp;lt;/code&amp;gt; window if &amp;lt;code&amp;gt;bool condition&amp;lt;/code&amp;gt;is True, otherwise it will be closed. Opening or closing windows this way does not play the transition animation!&lt;br /&gt;
*Workers: Toggle Group&lt;br /&gt;
**Toggles the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
**Colors: White (0), Red (1), Blue (2), Green(3), Yellow (4), Magenta (5)&lt;br /&gt;
*Workers: Pause Group&lt;br /&gt;
**Sets the paused state of all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;. (Click on the parameter to see which color belongs to which group id.)&lt;br /&gt;
*Workers: Toggle&lt;br /&gt;
**Toggles the paused state of all workers with name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Pause&lt;br /&gt;
**Sets the paused state of all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Workers: Assign Group&lt;br /&gt;
**Assigns the task with id &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers in group &amp;lt;code&amp;gt;int group&amp;lt;/code&amp;gt;. (Click on the groups parameter to see which color belongs to which group.)&lt;br /&gt;
*Workers: Assign&lt;br /&gt;
**Assigns Task with ID &amp;lt;code&amp;gt;str id&amp;lt;/code&amp;gt; and optional parameter &amp;lt;code&amp;gt;int param&amp;lt;/code&amp;gt; (0 is the leftmost) to all workers with the name &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
**[[Workers#Worker_Taskid.27s|TaskIDs]]&lt;br /&gt;
*Workers: Set Name&lt;br /&gt;
**Sets the name of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str name&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worker: Set Group&lt;br /&gt;
**Sets the group of the worker at index &amp;lt;code&amp;gt;int index&amp;lt;/code&amp;gt; (0 is the first worker) to the group with id &amp;lt;code&amp;gt;int id&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Mine: Dig&lt;br /&gt;
**Digs up the tile at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; of the currently selected resource in the [[Mine]] with (0, 0) being the top left corner. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: New Layer&lt;br /&gt;
**Generates a new layer of the currently selected resource in the [[Mine]]. Only works if the [[Mine]] window is active!&lt;br /&gt;
*Mine: Open Tab&lt;br /&gt;
**Opens the mining tab at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt;. Position 1 is the first tab (Orange) and position 12 is the last tab (Black).&lt;br /&gt;
*Mine: Delete Cluster&lt;br /&gt;
**Removes the asteroid cluster at list position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; where 1 represents the first cluster in the list.&lt;br /&gt;
*Arcade: Spin Lucky Wheel&lt;br /&gt;
**Spins the Lucky Wheel with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble New Game&lt;br /&gt;
**Starts a new game of Jumble with a wager of &amp;lt;code&amp;gt;double wager&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Arcade: Jumble Stop&lt;br /&gt;
**Stops the current column.&lt;br /&gt;
*Adventure: Move&lt;br /&gt;
**Moves the player in the direction of &amp;lt;code&amp;gt;vector x,y&amp;lt;/code&amp;gt; in Adventure.&lt;br /&gt;
*Adventure: Wait&lt;br /&gt;
**Skips a turn in Adventure.&lt;br /&gt;
*Adventure: Place Bomb&lt;br /&gt;
**Places a Bomb at the Player location in Adventure.&lt;br /&gt;
*Factory: Try Craft&lt;br /&gt;
**Tries to craft &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) a total of &amp;lt;code&amp;gt;double total&amp;lt;/code&amp;gt; times by using items inside the inventory or crafting grid. If that is not possible then no items are being crafted. Only works if the [[Factory]] screen is visible.&lt;br /&gt;
*Factory: Try Produce&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into machine &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt;. If too few items are available or the selected machine is currently busy with a different item type then nothing will happen. Ignores the tier if the selected item ID is rubber.&lt;br /&gt;
*Factory: Trash&lt;br /&gt;
**Tries to put &amp;lt;code&amp;gt;double amount&amp;lt;/code&amp;gt; x &amp;lt;code&amp;gt;str item&amp;lt;/code&amp;gt; (T&amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;) into the trash can of the [[Factory]]. If too few items are present in the inventory and the crafting grid of the [[Factory]] then it will still try to remove as many as possible. Ignores the tier for items that don't have a tier.&lt;br /&gt;
*Factory: Cancel Machine&lt;br /&gt;
**Stops production of the [[Factory]] machine with the id &amp;lt;code&amp;gt;str machine&amp;lt;/code&amp;gt; and ejects all items back to the inventory if possible.&lt;br /&gt;
*Powerplant: Sell&lt;br /&gt;
**Sells the [[Power Plant]] component at X: &amp;lt;code&amp;gt;int x&amp;lt;/code&amp;gt; and Y: &amp;lt;code&amp;gt;int y&amp;lt;/code&amp;gt; and automatically refunds a part of the selling price. If the selected slot is empty then nothing will happen. (0, 0) is the bottom left corner of the grid.&lt;br /&gt;
*Tradingpost: Refresh&lt;br /&gt;
**Generates a new set of offers in the [[Trading Post]]. '''Requires a specific upgrade for the [[Trading Post]] later in the game in order to be used!'''&lt;br /&gt;
*Tradingpost: Trade&lt;br /&gt;
**Trades the offer at position &amp;lt;code&amp;gt;int position&amp;lt;/code&amp;gt; in the list of offers (first offer is at position 0) using &amp;lt;code&amp;gt;double percent&amp;lt;/code&amp;gt; (0.15 = 15%) of the available input resources.&lt;br /&gt;
*Museum: Buy&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone of tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Buy Range&lt;br /&gt;
**Buys a &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; Power Stone between tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; from the shop or market &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Combine&lt;br /&gt;
**Combine Power Stones with the usual combine rules up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt; (&amp;lt;1 means no limit).&lt;br /&gt;
*Museum: Transmute&lt;br /&gt;
**Transmute Power Stones currently inside the Cubos Cube.&lt;br /&gt;
*Museum: Move&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Move Slot&lt;br /&gt;
**Move a Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Swap&lt;br /&gt;
**Swap the Power Stones in &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell &lt;br /&gt;
**Sell the Power Stone from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt; in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Sell All&lt;br /&gt;
**Sell all Power Stones from &amp;lt;code&amp;gt;str location&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preferred Tier&lt;br /&gt;
**Sets the preferred market tier to &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Set Preference&lt;br /&gt;
**Set the market preference for element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Market Refresh&lt;br /&gt;
**Refreshes Market Offers&lt;br /&gt;
*Museum: Buy Market&lt;br /&gt;
**Buy the Power Stone from market in slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;int amount&amp;lt;/code&amp;gt; times.&lt;br /&gt;
*Museum: Lock Market Slot&lt;br /&gt;
**Set the lock state of Market slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bool value&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Rebuy&lt;br /&gt;
**Rebuy the Power Stone from Trash slot &amp;lt;code&amp;gt;int slot&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Museum: Fill Inventory (Deprecated)&lt;br /&gt;
**Sets the Fill Inventory button to the &amp;lt;code&amp;gt;bool state&amp;lt;/code&amp;gt; state.&lt;br /&gt;
*Museum: Buy (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt;&lt;br /&gt;
*Museum: Buy Market (Deprecated)&lt;br /&gt;
**Buy Power Stone(s) with element &amp;lt;code&amp;gt;str element&amp;lt;/code&amp;gt; up to Tier &amp;lt;code&amp;gt;int tier&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[File:AI-Script-Editor.png|alt=AI-Script-Editor (Ingame)|none|thumb|362x362px|AI-Script-Editor (In game)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a maximum limit of actions per script, also often called &amp;quot;maximum lines.&amp;quot; This is determined by the total amount of RAM installed in all servers. The amounts you get from your RAM are &amp;lt;code&amp;gt;floor(7 + Log&amp;lt;sub&amp;gt;7.98&amp;lt;/sub&amp;gt;(RAM))&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;floor(1 + (actions / 7))&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;floor(1 + (actions / 11))&amp;lt;/code&amp;gt; bytes, rounded up. Here is a Desmos Graph that displays it for you https://www.desmos.com/calculator/12aiwozkjj&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!RAM (bytes)!!Actions!!Conditions!!Impulses&lt;br /&gt;
|-&lt;br /&gt;
|1||7||2||1&lt;br /&gt;
|-&lt;br /&gt;
|8||8||2||1&lt;br /&gt;
|-&lt;br /&gt;
|64||9||2||1&lt;br /&gt;
|-&lt;br /&gt;
|509||10||2||1&lt;br /&gt;
|-&lt;br /&gt;
|4056||11||2||2&lt;br /&gt;
|-&lt;br /&gt;
|32361||12||2||2&lt;br /&gt;
|-&lt;br /&gt;
|2.5823e5||13||2||2&lt;br /&gt;
|-&lt;br /&gt;
|2.0607e6||14||2||2&lt;br /&gt;
|-&lt;br /&gt;
|1.6445e7||15||2||2&lt;br /&gt;
|-&lt;br /&gt;
|1.3123e8||16||2||2&lt;br /&gt;
|-&lt;br /&gt;
|1.0472e9||17||2||2&lt;br /&gt;
|-&lt;br /&gt;
|8.3566e9||18||2||2&lt;br /&gt;
|-&lt;br /&gt;
|6.6686e10||19||2||2&lt;br /&gt;
|-&lt;br /&gt;
|5.3215e11||20||2||2&lt;br /&gt;
|-&lt;br /&gt;
|4.2466e12||21||3||2&lt;br /&gt;
|-&lt;br /&gt;
|3.3888e13||22||3||3&lt;br /&gt;
|-&lt;br /&gt;
|2.7042e14||23||3||3&lt;br /&gt;
|-&lt;br /&gt;
|2.1580e15||24||3||3&lt;br /&gt;
|-&lt;br /&gt;
|1.7221e16||25||3||3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To get all 25 actions requires fully upgrading the RAM of all 16 servers.&lt;br /&gt;
&lt;br /&gt;
==Data Types==&lt;br /&gt;
There are various data types that are usable within AI scripts, all of which are incredibly versatile and useful in creating a script as complex or simple as one desires.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example Values&lt;br /&gt;
!Default Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|A integer that allows decimal precision. Can be positive or negative.&lt;br /&gt;
|3.2, 0.29, -10.2, 7.9999993&lt;br /&gt;
|0.0&lt;br /&gt;
|Doubles have a max value of approximately 1.797 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|A number that does not allow decimal precision. Can be positive or negative.&lt;br /&gt;
|20, 69, 420, -1029, 0&lt;br /&gt;
|0&lt;br /&gt;
|Ints range from -2147483648 to 2147483647&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|An array of characters. Basically a way to format and use text.&lt;br /&gt;
|&amp;quot;meow&amp;quot;, &amp;quot;hello&amp;quot;, &amp;quot; &amp;quot;, &amp;quot;I am a text&amp;quot;, &amp;quot;!BanBudE&amp;quot;&lt;br /&gt;
|&amp;quot;&amp;quot;&lt;br /&gt;
|The quotes in the examples are not included in the actual string value.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|A binary value that can either be true or false.&lt;br /&gt;
|true, false&lt;br /&gt;
|false&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Vector2&lt;br /&gt;
|A container type that contains two double values called x and y.&lt;br /&gt;
|(-30.0, 0.0), (28.38, 13)&lt;br /&gt;
|(0.0, 0.0)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Some datatypes can be converted to others by using a function. Check the table below to see which datatypes are currently interchangeable.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source / Target&lt;br /&gt;
!double&lt;br /&gt;
!int&lt;br /&gt;
!string&lt;br /&gt;
!bool&lt;br /&gt;
!Vector2&lt;br /&gt;
|-&lt;br /&gt;
!double&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|Partially&lt;br /&gt;
|-&lt;br /&gt;
!int&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|Yes&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!string&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!bool&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
!Vector2&lt;br /&gt;
|Partially&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
|No&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
(The table will be updated as soon as more AI features are available.)&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
Any line in an AI script (apart from impulses) represents a function.&lt;br /&gt;
&lt;br /&gt;
There are two major types of functions:&lt;br /&gt;
&lt;br /&gt;
*Without a return value (= Actions)&lt;br /&gt;
*With a return value&lt;br /&gt;
&lt;br /&gt;
Functions without a return value appear as actions in the sidebar of the AI-script editor. In general these functions do something specific but require some sort of input. &lt;br /&gt;
&lt;br /&gt;
The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type.&lt;br /&gt;
&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3562</id>
		<title>Headquarters</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3562"/>
		<updated>2024-11-07T16:13:59Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Software */ Update wave horizon/wave breach for v0.49&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=8|ConversionRate=750|Image=Hq.png|Color=Purple|ColorCode=purple}}&lt;br /&gt;
[[File:Purple resource.png|left|link=Special:FilePath/Purple_resource.png]]&lt;br /&gt;
The '''Headquarters''' is a building where you can upgrade your [[Military Tier]], purchase and install software to speed up [[Tower Testing]], or access the [[AI]] scripting feature.&lt;br /&gt;
&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
==Building Tiers==&lt;br /&gt;
Each tier adds 2 extra server slots and unlocks a new contract.&lt;br /&gt;
&lt;br /&gt;
==Contracts==&lt;br /&gt;
The contracts' conditions can be met to increase resource drops in the [[New Round|core game]].&lt;br /&gt;
The total resource drop multiplier is &amp;lt;code&amp;gt;Resource Drop Bonus per Fulfilled Contract^(Fulfilled Contracts+1)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Glass Cannon===&lt;br /&gt;
Conditions: Use max. 1 defensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Pacifist===&lt;br /&gt;
Conditions: Use max. 1 offensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Colorful===&lt;br /&gt;
Conditions: Use min. 1 [[Modules|module]] of each type (offensive, defensive, utility and ultimate).&lt;br /&gt;
&lt;br /&gt;
===Activist===&lt;br /&gt;
Conditions: Use min. 4 active [[Modules|modules]]&lt;br /&gt;
&lt;br /&gt;
===Elementalist===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with #tags from each element ('''#Fire, #Water, #Earth, #Air, #Nature, #Electricity, #Light, #Darkness''').&lt;br /&gt;
&lt;br /&gt;
*This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Neutralist===&lt;br /&gt;
Conditions: Use between 3 and 15 [[Modules|modules]] with a '''#Neutral''' tag.&lt;br /&gt;
&lt;br /&gt;
===Trickster===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with '''#Buff, #Aura, #Reactive and #Chance''' tags.&lt;br /&gt;
&lt;br /&gt;
*This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Annihilist===&lt;br /&gt;
Conditions: Use at least 5 [[Modules|modules]] with a '''#Universal''' tag; at least 3 modules with a '''#Area''' tag; and min. 5 Ultimate modules&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
&lt;br /&gt;
===Servers===&lt;br /&gt;
[[File:Server.png|thumb]] Servers must be purchased in order to hold more CPU and RAM. Servers increase in cost as more are owned. The player can have a maximum of 16 servers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Server!!Cost ({{resource|purple}})&lt;br /&gt;
|-&lt;br /&gt;
|1||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|2||{{number|1000}}&lt;br /&gt;
|-&lt;br /&gt;
|3||{{number|10000}}&lt;br /&gt;
|-&lt;br /&gt;
|4||{{number|100000}}&lt;br /&gt;
|-&lt;br /&gt;
|5||{{number|1e6}}&lt;br /&gt;
|-&lt;br /&gt;
|6||{{number|1e7}}&lt;br /&gt;
|-&lt;br /&gt;
|7||{{number|1e8}}&lt;br /&gt;
|-&lt;br /&gt;
|8||{{number|1e9}}&lt;br /&gt;
|-&lt;br /&gt;
|9||{{number|1e10}}&lt;br /&gt;
|-&lt;br /&gt;
|10||{{number|1e11}}&lt;br /&gt;
|-&lt;br /&gt;
|11||{{number|1e12}}&lt;br /&gt;
|-&lt;br /&gt;
|12||{{number|1e13}}&lt;br /&gt;
|-&lt;br /&gt;
|13||{{number|1e14}}&lt;br /&gt;
|-&lt;br /&gt;
|14||{{number|1e15}}&lt;br /&gt;
|-&lt;br /&gt;
|15||{{number|1e16}}&lt;br /&gt;
|-&lt;br /&gt;
|16||{{number|1e17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
[[File:CPU.png|thumb|link=Special:FilePath/CPU.png]] CPU increases the speed at which new technology is researched. Each server can hold a maximum of 27.49 THz CPU. You get 1 'flop' for each 20Hz, so the maximum amount of CPU possible (with 16 servers) is 21.99 T flops.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each CPU upgrade is {{Math|5&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 4}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of speed each tier grants is {{Math|4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 25}} Hz&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Speed!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Basic Onboard Circuit||25 Hz||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Cubical Series Basic||100 Hz||{{number|20}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Cubical Series X2||400 Hz||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical Series X4||1.6 KHz||{{number|500}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical Series X4-M||6.4 KHz||{{number|2500}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Phantom Series||25.6 KHz||{{number|12500}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Phantom Series II-M||102.4 KHz||{{number|62500}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Phantom Series X||409.6 KHz||{{number|312500}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Phantom Series Dual X||1.64 MHz||{{number|1.56e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Athlete Series Neo||6.55 MHz||{{number|7.81e6}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Athlete Series X2||26.21 MHz||{{number|3.906e7}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Athlete Series X4-FX||104.86 MHz||{{number|1.9531e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Athlete Series Titan||419.43 MHz||{{number|9.7656e8}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Fire Core i3||1.68 GHz||{{number|4.88e9}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Fire Core i5||6.71 GHz||{{number|2.441e10}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire Core i7||26.84 GHz||{{number|1.2207e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire Core i9||107.37 GHz||{{number|6.1035e11}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire Core i9-X||429.5 GHz||{{number|3.05e12}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix Series Quad-Core||1.72 THz||{{number|1.526e13}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix Series Octa-Core||6.87 THz||{{number|7.629e13}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix Series X16 Supernova||27.49 THz||{{number|3.8147e14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===RAM===&lt;br /&gt;
[[File:RAM.png|thumb|link=Special:FilePath/RAM.png]] RAM increases the number of lines that an AI Script can hold. Each server can hold a maximum of 1.1 PB RAM. The maximum amount of RAM possible (with 16 servers) is 17.59 PB, which allows 25 lines per AI script.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each RAM upgrade is {{Math|(6&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; / 0.6)}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of memory each tier grants is {{Math|(4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt;)}} KB&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Memory!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Small Onboard Chip||1 KB||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Basic Static RAM Chip||4 KB||{{number|10}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Basic Static RAM Chip X4||16 KB||{{number|60}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical DRAM Gen 1||64 KB||{{number|360}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical DRAM Gen 2||256 KB||{{number|2160}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Cubical DRAM Gen 8||1.02 MB||{{number|12960}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Cubical DRAM Extreme||4.1 MB||{{number|77760}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Lightning Series SDRAM||16.38 MB||{{number|466560}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Lightning Series SDRAM-XL||65.54 MB||{{number|2.8e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Lightning Series SDRAM VI||262.14 MB||{{number|1.68e7}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Lightning Series SDRAM Final||1.05 GB||{{number|1.0078e8}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Poseidon Series DDR2||4.19 GB||{{number|6.0466e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Poseidon Series DDR2 X4||16.78 GB||{{number|3.63e9}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Poseidon Series DDR2 Platinum||67.11 GB||{{number|2.177e10}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Poseidon Series DDR2 Platinum X4||268.44 GB||{{number|1.3061e11}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire RAM DDR3||1.07 TB||{{number|7.8364e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire RAM DDR3 X4||4.29 TB||{{number|4.7e12}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire RAM DDR3 Colossal||17.18 TB||{{number|2.821e13}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix DDR4 Experimental||68.72 TB||{{number|1.6927e14}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix DDR5 Collection||274.88 TB||{{number|1.02e15}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix DDR5 Gargantuan||1.1 PB||{{number|6.09e15}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
Install programs to speed up the core game. The programs are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Name!!Cost!!Time!!Description&lt;br /&gt;
|-&lt;br /&gt;
|Autoskip||{{number|50}}||2500000 flop-sec||When activated it removes the waiting time between waves once all enemies have spawned and therefore slightly speeds up wave progression on lower difficulties.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Streaming||{{number|2.5e5}}||12500 flop-days||Slowly accelerates enemies while at the same time decreasing the spawn interval duration yielding a much higher wave progression speed.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Surge||{{number|7.5e6}}||100000 flop-days||Improves wave streaming by increasing the maximum acceleration limit. After a certain amount of time entire waves are being skipped. ''Skipped waves do not trigger wave related module effects!''&lt;br /&gt;
|-&lt;br /&gt;
|Critical Wavejump||{{number|2.25e7}}||150000 flop-days||Provides a 1% chance to skip waves equal to 5% of your wave record of the current region and difficulty whenever you proceed to the next wave as long as you are below your previous record. Only works in [[Endless mode|endless mode]]!&lt;br /&gt;
|-&lt;br /&gt;
|[[AI|Facility AI]]||{{number|1.75e8}}||200000 flop-days||Unlocks the Facility AI which includes some basic programmable logic scripts.&lt;br /&gt;
|-&lt;br /&gt;
|Boots.dos||Hint: &amp;lt;sup&amp;gt;[[Headquarters#Footnotes|[1]]]&amp;lt;/sup&amp;gt; &amp;lt;spoiler&amp;gt;Debug the Overflow&amp;lt;/spoiler&amp;gt;{{number|3e8}}|| ||Enhances the AI with functions to draw on a canvas that spans over the AI overlay.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Momentum||{{number|5e8}}||250000 flop-days||Everytime the tower destroys an enemy in [[Endless mode|endless mode]] you gain one more wave the next time the wave counter changes. Afterwards the destroyed enemy counter resets. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Wave Storm||{{number|1.75e9}}||500000 flop-days||Increases the amount the counter of Wave Momentum increases whenever an enemy is being destroyed by 10% (Multiplicatively) for each completed normal mode. Additionally increases the wave acceleration factor by 0.25 whenever an enemy is being destroyed and Wave Streaming is active.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Persistence||{{number|3.75e9}}||1000000 flop-days||Improves Wave Momentum by resetting the destroyed enemy counter only to 90% of its previous value instead of zero.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Instability||{{number|5e12}}||2000000 flop-days||Improves Critical Wavejump by increasing its chance to trigger by another 4% and increases the skipped amount to 10% of your previous record.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Vortex||{{number|3e13}}||4000000 flop-days||Removes the warm-up time from Wave Streaming and further increases the wave acceleration speed. Can be combined with Wave Surge.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Catalyst||{{number|1e14}}||5000000 flop-days||Increases the speed of Wave Streaming based on the amount of waves skipped everytime Critical Wavejump triggers. Has no effect if the wave acceleration factor already exceed 1B (1e9).&lt;br /&gt;
|-&lt;br /&gt;
|Wave Endurance||{{number|4e14}}||6250000 flop-days||Increases the acceleration of Wave Streaming by 5% per second. (This means that the acceleration gets accelerated over time.)&lt;br /&gt;
|-&lt;br /&gt;
|New Bounds||{{number|2e15}}|| ||[[Endless mode|Endless mode]] starts at [[Era]] 1 if the highest record in the current region and difficulty is equal to or bigger than Era 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Marathon||{{number|7.5e15}}|| ||Increases the acceleration factor of wave endurance by 100% (From 5% to 10%, 15%, 20%, ...) for each region and difficulty with a highscore equal or greater than era 1.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Compression||{{number|3e16}}|| ||Reduces the amount of spawn ticks per wave by 50% and increases the destroyed enemy counter of wave momentum exponentially by 0.4% everytime an enemy is being destroyed. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Era Surge||{{number|5e16}}|| ||Skips to the next [[Era]] every 10 times the wave counter changes. Only works if the current Era is at least 1.&lt;br /&gt;
|-&lt;br /&gt;
|Era Burst||{{number|3e17}}|| ||Skips (Total amount of waves skipped)^0.5 eras whenever the wave counter changes. If Era Surge is active then its effect will change to a 10% boost for Era Burst&lt;br /&gt;
|-&lt;br /&gt;
|Era Swirl||{{number|8e18}}|| ||Increases the amount of eras skipped the greater your gap to era {{number|1e11}} is. Has no effect if your current era is bigger than {{number|1e11}}.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Horizon||{{number|9e19}}|| ||Multiplies the acceleration speed of wave streaming by 25 for each region and difficulty with a highscore equal or greater than era 1.&lt;br /&gt;
|-&lt;br /&gt;
|No Bounds||{{number|3e21}}|| ||Endless mode starts at [[Infinity]] 1 if the highest record in the current region and difficulty is equal to or bigger than Infinity 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Era Tunneling||{{number|1e22}}|| ||Increases the amount of eras skipped by 25% and by an additional +25% for each region where all difficulties in endless have a highscore of infinity 1 or greater.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Breach||{{number|5e22}}|| ||Boosts the accel gain from wave streaming based on the highest wave acceleration amount you have ever reached in any region. Formula for multiplier: Log10(10+Highest Acceleration/100)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Floor||{{number|5e22}}|| ||Prevents the wave counter from going below {{number|1e8}} if the highest era in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Floor||{{number|5e24}}||5e11 flop-hours||Prevents the era counter from going below {{number|1e8}} if the highest infinity in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Horizon||{{number|1.2e27}}||1e12 flop-hours||As long as this software is active, each difficulty in each region with a highscore equal to or greater than Infinity 1 multiplies the amount of eras skipped using era software by 4 (additively) and the exponent of era burst by 0.002 (additively). Removes the Era/Infinity restriction of Era Swirl as well.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Restart||{{number|5e28}}||1.5e12 flop-hours||If this software is active then a new round in tower testing will start at your previous record. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}. With this software you can technically push forever so use it wisely.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity Horizion||{{number|1.5e30}}||2e12 flop-hours||Turns era swirl into a constant multiplier with the same value as the &amp;quot;maximum bonus would have provided.&amp;quot; (11x) Also doubles the wave acceleration speed as well as the acceleration of the acceleration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is another technical limit for speed which is compensated by skipping waves leading to a higher resources/sec increase at the cost of missing out a few enemies.&lt;br /&gt;
&lt;br /&gt;
==Military==&lt;br /&gt;
{{Main|Military Tier}}&lt;br /&gt;
&lt;br /&gt;
In the military tab you can soft prestige after meeting certain requirements (unlocking regions, maxing out modules...), which change with every prestige.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reward the player with higher maximum modules tier, new buildings, software, bosses, and other features.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reset the level of all modules, as well as losing all your cubes. Cubes can be regained over a period of 4 hours (1 hour with the exotic skill '''Trustworthy Trust Fund'''). To compensate this, you are rewarded some gems or exotic gems.&lt;br /&gt;
&lt;br /&gt;
Prestiging will not make you lose gems, exotic gems, or non-cube building resources.&lt;br /&gt;
&lt;br /&gt;
You will start at Tier 0, and will eventually reach Tier 4, unlocking access to the [[AI]]. Upon reaching tier 8, you will unlock access to [[Era]] content. [[Infinity]] content is available at Tier 12.&lt;br /&gt;
&lt;br /&gt;
==Facility AI==&lt;br /&gt;
{{Main|AI}}&lt;br /&gt;
&lt;br /&gt;
The Facility AI is a section unlocked by attaining military prestige 4 and installing it from software section. The AI allows for multiple automation tasks to be performed, including refreshing [[Mine]] layers, combining power stones at the [[Museum]], using active modules automatically, or simply clicking at specific locations on the screen.&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Sponsoring''' - Decreases the resource conversion rate of the headquarters by 5 for each completed difficulty in normal mode. Takes all unlocked regions into account.&lt;br /&gt;
*'''Dealbreaker''' - Allows you to cancel non-forever contracts. Does not refund any resources!&lt;br /&gt;
*'''Offline Installing''' - Allows the headquarters to continue installing software while the game is closed.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Trustworthy Trust Fund''' ({{Number|20|icon=[[File:Exotic gem.png|20px]]}}) - Reduces the total time it takes to regain all resources after a tier up by 3 hours.&lt;br /&gt;
&lt;br /&gt;
==Footnotes==&lt;br /&gt;
&lt;br /&gt;
#D0s's Secret &amp;lt;spoiler&amp;gt;Crash the AI while Debug Overlay is open&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3561</id>
		<title>Power Plant</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3561"/>
		<updated>2024-11-07T16:07:44Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Replace references to &amp;quot;structures&amp;quot; with components and mention the 1.5x cost scaling of components&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=6|ConversionRate=800|Image=Powerplant.png|Color=Yellow|ColorCode=#E6C900}}&lt;br /&gt;
[[File:Yellow resource.png|left|link=Special:FilePath/Yellow_resource.png]]&lt;br /&gt;
The '''Power Plant''' is a building used to generate electricity to give speed boosts to other buildings.&lt;br /&gt;
[[File:PowerPlant.png|thumb|Power plant example]]&lt;br /&gt;
&lt;br /&gt;
{{Clear|left}}&lt;br /&gt;
==Power Grid==&lt;br /&gt;
The power grid is where you place components in order to generate and store energy.&lt;br /&gt;
&lt;br /&gt;
You can place components by selecting one from the list on the left of the screen, and then clicking an empty tile. The price of the placed component will increase by 1.5x (mul.) for each component of the same type on the grid, this is reverted if the component is sold.&lt;br /&gt;
&lt;br /&gt;
To sell a component, right-click the filled tile while not having any component selected from the list. Doing so will fully refund the resources you spent buying the component.&lt;br /&gt;
&lt;br /&gt;
Components must connect either orthogonally to a component they supply something to or via pipes if the component provides a fluid can be transported by one. Generators do not need to be connected to a battery, all battery storage and power production is simply added together for their final values. &lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
This is where you spend your energy to speed up other buildings:&lt;br /&gt;
&lt;br /&gt;
*[[Construction Firm]]: Reduces construction time for buildings.&lt;br /&gt;
*[[Factory]]: Speeds up shard refining, store reload, machine speed, and fabricator speed.&lt;br /&gt;
*[[Mine]]: Speeds up the drill, asteroid mining time, and asteroid scanning time.&lt;br /&gt;
*[[Headquarters]]: Speeds up download of software and how fast contracts run out.&lt;br /&gt;
*[[Shipyard]]: Speeds up shipments.&lt;br /&gt;
*[[Museum]]: speeds up artifact research time and offshore market refresh time.&lt;br /&gt;
*&amp;lt;spoiler&amp;gt;[[Workshop]]: To boost [[Workshop]] you need an [[Era]] artifact. Boosting the workshop is only relevant for Era-related activities.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Arcade]]: On its own, it only speeds up the cooldown timer of &amp;quot;Refresh Wheel.&amp;quot; To effectively boost the [[arcade]] you need to have something else (located in the spoiler below), which reduces the time between delays (such as time between stopping jumble rows) and increases the speed of the lucky wheel. &amp;lt;spoiler&amp;gt;The darkness [[infinity]] stone grants this power.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Trading Post]]: reduces the time between perk refreshes and the timer to reset trades&lt;br /&gt;
&lt;br /&gt;
The more energy you use, the longer and stronger the boost is. &lt;br /&gt;
&lt;br /&gt;
You can boost multiple buildings at the same time, but if they are boosted at &amp;lt;i&amp;gt;exactly&amp;lt;/i&amp;gt; the same time then they have to split the energy for the boost, and so the boosts will be weaker. If you are using workers to restart boosts this isn't a problem in practice, because the periods of each building are different, and so each building will end up boosted at a unique time.&lt;br /&gt;
&lt;br /&gt;
===Mechanics===&lt;br /&gt;
&lt;br /&gt;
Boosting applies a percentage of the total available energy (10%, 25%, 50% or 100% depending on your selection) towards boosting. If there are multiple buildings being boosted simultaneously, the energy is split between them. (This splitting will not be shown in the preview numbers before you boost, but it will be apparent afterwards.) Call this energy being allocated to boosting a building &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt; is divided between time and effectiveness based on the position of the slider. For effectiveness, the slider runs from 1% to 100% of &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;, and for time the slider runs from 100% to 1%. This does mean that the overall energy sums to 101%! Call the amount after the the slider &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For both time and effectiveness, &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt; is used as follows: &amp;lt;code&amp;gt;Result = log(PostSlider) * Perks * BaseValue&amp;lt;/code&amp;gt;. When displayed, &amp;lt;code&amp;gt;Result&amp;lt;/code&amp;gt; is rounded for effectiveness, but truncated for time. The base for the log is 10 normally, or 7 with the Super Boost skill. Perks include Town Perks, as well as the 1.25 multiplier from Max Power if at full power (only applies to effectiveness). The table of &amp;lt;code&amp;gt;BaseValues&amp;lt;/code&amp;gt; is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Building!!Time!!Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
|Construction Firm||4:00||20%&lt;br /&gt;
|-&lt;br /&gt;
|Factory||3:00||15%&lt;br /&gt;
|-&lt;br /&gt;
|Mine||3:20||18%&lt;br /&gt;
|-&lt;br /&gt;
|Headquarters||2:00||22%&lt;br /&gt;
|-&lt;br /&gt;
|Shipyard||5:00||10%&lt;br /&gt;
|-&lt;br /&gt;
|Museum||3:00||15%&lt;br /&gt;
|-&lt;br /&gt;
|{{Inline spoiler|Workshop}}||3:40||21%&lt;br /&gt;
|-&lt;br /&gt;
|Arcade||5:00||0.5%&lt;br /&gt;
|-&lt;br /&gt;
|Trading Post||3:00||15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
These are your components for use in the power grid.&lt;br /&gt;
&lt;br /&gt;
You can unlock more by upgrading the Power Plant in the Construction Firm and purchasing the technology level it unlocks.&lt;br /&gt;
&lt;br /&gt;
All components except the water pump and dyson node can be upgraded in the technology tab. All costs are rounded to the nearest resource. The power plant runs at 10 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: Free&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Water pump.png|center|frame|Water Pump]]&lt;br /&gt;
|Provides infinite water.&lt;br /&gt;
|{{Number|25|icon={{Resource|Yellow}}}}&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |None&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fluid pipe.png|center|thumb|Fluid Pipe]]&lt;br /&gt;
|Transports {{Number|1e3}}L of gas or fluid per tick.&lt;br /&gt;
Currently used to move water from a water pump to a coal boiler,&lt;br /&gt;
&lt;br /&gt;
and to move steam from a coal boiler to a steam turbine.&lt;br /&gt;
&lt;br /&gt;
The pipe is gray when empty, blue when filled with water,&lt;br /&gt;
&lt;br /&gt;
and white when filled with steam.&lt;br /&gt;
|{{Number|5}}{{Resource|Yellow}}&lt;br /&gt;
|Pipe Throughput&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;{{Number|1e3}} to pipe input, output and storage (add.)&lt;br /&gt;
|???&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Yellow battery.png|center|thumb|Yellow battery]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Adds +{{Number|2e3}} power capacity.&lt;br /&gt;
Can be placed anywhere, and is not &lt;br /&gt;
&lt;br /&gt;
needed to be connected to anything.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|50}}{{Resource|Yellow}}&lt;br /&gt;
|Capacity&lt;br /&gt;
| +50% battery capacity&lt;br /&gt;
|???&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|Deep Link&lt;br /&gt;
| +1% total power capacity per Yellow battery (add.)&lt;br /&gt;
Note that the Total Capacity bonus applies to &amp;lt;i&amp;gt;all&amp;lt;/i&amp;gt; batteries,&lt;br /&gt;
&lt;br /&gt;
as well as the base {{Number|1e3}} power! I.e. if you have fully &lt;br /&gt;
&lt;br /&gt;
upgraded Yellow Batteries and have 10 of them, they're providing +50% to all capacities.&lt;br /&gt;
|???&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 1===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Steam turbine.png|center|thumb|Steam Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Transforms 10L of steam into 30 power per tick.&lt;br /&gt;
Needs to be connected to an active coal boiler to generate energy.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|60}}{{Resource|Yellow}}&lt;br /&gt;
|Condensed turbines&lt;br /&gt;
| +100% power production (mult.) and&lt;br /&gt;
steam usage/tick&lt;br /&gt;
|{{Number|5e3}} × 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|Two-flow rotors&lt;br /&gt;
| -1 base steam usage/tick&lt;br /&gt;
|{{Number|1e7}} × 16&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Coal chest.png|center|thumb|Coal Chest]]&lt;br /&gt;
|Provides {{Number|2.5e3}}kg of coal.&lt;br /&gt;
Needs to be placed next to a coal boiler.&lt;br /&gt;
&lt;br /&gt;
Has to be replaced periodically, as it will run out of coal.&lt;br /&gt;
|{{Number|40}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +25% Coal (mul.)&lt;br /&gt;
|{{Number|2.5e4}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Coal boiler.png|center|thumb|Coal Boiler]]&lt;br /&gt;
|Turns 100L of water, and 4 kg of coal into 30L of steam.&lt;br /&gt;
Needs to be connected to a water pump and a coal chest to function.&lt;br /&gt;
|{{Number|150}}{{Resource|Yellow}}&lt;br /&gt;
|Denser coal&lt;br /&gt;
| +30L steam/tick,&lt;br /&gt;
+4kg coal usage/tick and&lt;br /&gt;
&lt;br /&gt;
+100L water usege/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:PowerPlantExample.png|thumb|Basic setup for tier 1.|link=Special:FilePath/PowerPlantExample.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tier 2===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Oil barrel.png|center|thumb|Oil Barrel|link=Special:FilePath/Oil_barrel.png]]&lt;br /&gt;
|Provides {{Number|1e4}}L of oil.&lt;br /&gt;
Can be placed anywhere, as long as a fluid pipe connects it to an oil furnace.&lt;br /&gt;
|{{Number|1000}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +20% Oil (mul.)&lt;br /&gt;
|{{Number|1e5}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Gas tank.png|center|thumb|Gas Tank|link=Special:FilePath/Gas_tank.png]]&lt;br /&gt;
|Provides {{Number|2e4}}L of gas.&lt;br /&gt;
Can be placed anywhere, as long as fluid pipes connect it to a gas turbine.&lt;br /&gt;
|{{Number|2e3}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +20% Gas (mul.)&lt;br /&gt;
|{{Number|1.25e5}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Oil furnace.png|center|thumb|Oil Furnace|link=Special:FilePath/Oil_furnace.png]]&lt;br /&gt;
|Turns 20L of oil and 200L of water into 100L of steam.&lt;br /&gt;
|{{Number|1.75e4}}{{Resource|Yellow}}&lt;br /&gt;
|Bigger heat chambers&lt;br /&gt;
| +100L steam/tick,&lt;br /&gt;
+20L oil usage and&lt;br /&gt;
&lt;br /&gt;
+200L water useage/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Gas turbine.png|center|thumb|Gas Turbine|link=Special:FilePath/Gas_turbine.png]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Turns 25L of gas into 100 power per tick.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|5e3}}{{Resource|Yellow}}&lt;br /&gt;
|Early ignition&lt;br /&gt;
| +100% power production and gas requirement&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Optimized pipes&lt;br /&gt;
| +1% power production (mul.) for gas turbines per regular pipe on the grid regardless if it's in use&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 3===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Solar panel.png|center|thumb|Solar Panel]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Produces 1 power per tick (0 when raining).&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|1e4}}{{Resource|Yellow}}&lt;br /&gt;
|Double sized panels&lt;br /&gt;
| +100% power production&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Aqua panels&lt;br /&gt;
|2% × lvl of power production well continue during rain&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Water turbine.png|center|thumb|Water Turbine|link=Special:FilePath/Water_turbine.png]]&lt;br /&gt;
|Uses 20L of water to provide 3 power per tick.&lt;br /&gt;
Can be connected with pipes or directly to a Water Pump&lt;br /&gt;
|{{Number|2e4}}{{Resource|Yellow}}&lt;br /&gt;
|Streamlined turbines&lt;br /&gt;
| +100% power production (mul.) and +20L water usage&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Wind turbine.png|center|thumb|Wind Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Produces 0~4 power per tick&lt;br /&gt;
(min. of 0 without wind and max of 4 when there is a hurricane).&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|1.25e4}}{{Resource|Yellow}}&lt;br /&gt;
|Extra long blades&lt;br /&gt;
| +100% power production&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Titanium rotors&lt;br /&gt;
|8x power generation during hurricanes&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Red battery.png|center|thumb|Red Battery]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Gives +{{Number|2.5e4}} to power capacity.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|2e3}}{{Resource|Yellow}}&lt;br /&gt;
|Capacity&lt;br /&gt;
| +100% power capacity&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|Deep link&lt;br /&gt;
| +1% power capacity per component that processes resources and/or&lt;br /&gt;
produces power times the number of red batteries (add.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 4===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Lava pump.png|center|thumb|Lava Pump]]&lt;br /&gt;
|Provides {{Number|1e7}}L of lava.&lt;br /&gt;
Lava can be moved with a fluid pipe.&lt;br /&gt;
|{{Number|2.5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +15% Lava (mul.)&lt;br /&gt;
|{{Number|1.5e6}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Thermal generator.png|center|thumb|Thermal Generator]]&lt;br /&gt;
|Turns 100L of lava and 100L of water into 200 power per tick.&lt;br /&gt;
Can be connected with a pipe or directly to a lava pump.&lt;br /&gt;
|{{Number|5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Turbine overheating&lt;br /&gt;
| +100% power production (mul.),&lt;br /&gt;
+100L water and lava usage/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 5===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Uranium box.png|center|thumb|Uranium Box|link=Special:FilePath/Uranium_box.png]]&lt;br /&gt;
|Provides {{Number|5e4}}Kg of Uranium.&lt;br /&gt;
|{{Number|7.5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +10% Uranium (mul.)&lt;br /&gt;
|{{Number|5e6}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fission reactor.png|center|thumb|Fission Reactor|link=Special:FilePath/Fission_reactor.png]]&lt;br /&gt;
|Transforms 1Kg of Uranium and 100L of water into 200L of steam.&lt;br /&gt;
|{{Number|1e5}}{{Resource|Yellow}}&lt;br /&gt;
|High Radiation&lt;br /&gt;
| +100% steam production (mul.)&lt;br /&gt;
+100% water and uranium requirement (mul.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Blue battery.png|center|thumb|Blue Battery]]&lt;br /&gt;
|Gives +{{Number|5e5}} to power capacity.&lt;br /&gt;
|{{Number|5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Deep link&lt;br /&gt;
| +1% total power capacity per component on the grid that emits resources &lt;br /&gt;
(including storage) times the number of blue batteries (add.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 6===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Plasma pipe.png|center|thumb|Plasma Pipe|link=Special:FilePath/Plasma_pipe.png]]&lt;br /&gt;
|Transport {{Number|1e3}}L of Plasma per tick&lt;br /&gt;
|{{Number|1e5}}{{Resource|Yellow}}&lt;br /&gt;
|Plasma Throughput&lt;br /&gt;
| +1000 Plasma input/output/storage (add.)&lt;br /&gt;
|{{Number|1e15}} * {{Number|1000}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Helium3 tank.png|center|thumb|Helium-3 Tank|link=Special:FilePath/Helium3_tank.png]]&lt;br /&gt;
|Provides {{Number|1e5}}L of He3&lt;br /&gt;
|{{Number|5e5}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +8% Gas (mul.)&lt;br /&gt;
|{{Number|2.5e7}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fusion reactor.png|center|thumb|Fusion Reactor]]&lt;br /&gt;
|Transforms 250L of He3 into 500L of Plasma&lt;br /&gt;
|{{Number|1.75e6}}{{Resource|Yellow}}&lt;br /&gt;
|Cold Fusion&lt;br /&gt;
| +500L Plasma Production (add.),&lt;br /&gt;
+250L Helium Requirement (add.)&lt;br /&gt;
|{{Number|1e14}} * {{Number|100}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |[[File:Plasma turbine.png|center|thumb|Plasma Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Transform 100L of Plasma into {{Number|5e3}} power per tick&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |{{Number|5e5}}{{Resource|Yellow}}&lt;br /&gt;
|Plasma Synergy&lt;br /&gt;
| +2% [plasma] Power Production (mul.) for every component on the grid that is not a plasma turbine regardless if it's in use,&lt;br /&gt;
+300L Plasma Requirement (add.)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +2% bonus is *additive* with increasing levels, i.e. at 3/3 levels it is a 1.06 multiplicative bonus.)&lt;br /&gt;
|{{Number|1e16}} * {{Number|1e8}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|Water Synergy&lt;br /&gt;
| +18% Plasma Turbine Power Production (add./mul.) for every water turbine on the grid regardless if it's in use, +80% Water Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
(Note: The +18% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +90% bonus per water turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Solar Synergy&lt;br /&gt;
| +10% Plasma Turbine Power Production (add./mul.) for every solar panel on the grid regardless if it's in use,&lt;br /&gt;
+50% Solar Panel Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
&lt;br /&gt;
(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per solar panel. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Wind Synergy&lt;br /&gt;
| +10% Plasma Turbine Power Production (add./mul.) for every wind turbine on the grid regardless if it's in use, +50% Wind Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per wind turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Special===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Requirement: Power Plant Floor 2&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Dyson node.png|center|thumb|Dyson Node|link=Special:FilePath/Dyson_node.png]]&lt;br /&gt;
|Provides aura and +X Power / Tick (depends on dyson power)&lt;br /&gt;
Dyson nodes cannot be placed in the 8 squares next to another node.&lt;br /&gt;
&lt;br /&gt;
Available as soon as Floor 2 is unlocked, regardless of Power Plant level.&lt;br /&gt;
&lt;br /&gt;
Power amount is &amp;lt;code&amp;gt;dyson_power&amp;lt;/code&amp;gt;&amp;lt;sup&amp;gt;0.25&amp;lt;/sup&amp;gt;. This maxes at {{Number|1.1892071e3}} power per tick.&lt;br /&gt;
|{{Number|1e12}}{{Resource|Yellow}}&lt;br /&gt;
|None&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Quantum Grid''' - Allows components on the power grid to connect to components on the opposite edge of the grid.&lt;br /&gt;
*'''Super Boost''' - Using more power for boosts has a higher impact on duration/effectivity. (Log10 -&amp;gt; Log7)&lt;br /&gt;
*'''Max. Power''' - Increases the effectiveness of all active boosts by 25% (multiplicative) if the current amount of power exceeds the maximum amount.&lt;br /&gt;
*'''Efficient Recycling''' - Lowers the base conversion rate from town resources to power plant resources to 600.&lt;br /&gt;
*'''Shutdown''' - Allows you to cancel boosts anytime. Does not refund any power!&lt;br /&gt;
*'''Yellowprints''' - Unlocks the ability to store up to 3 different layouts of the power plant as well as the functionality to import, export and apply them at any time. Additionally adds the an option to sell the entire grid.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Hibernation Mode''' ({{Number|50|icon=[[File:Exotic gem.png|20px]]}}) - Boosts stop losing their duration while the game is closed but still affect all buildings during that time as many they would normally do.&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
===Recommended Setups===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Starter Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[1]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|1.823e5|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|3.023e6}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|1.326e5|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;tZBBCsJADEWv4gm8wOxcCO4KeoG0Rh1IkzDNMMztla4M0jJI+1bJ/+GHRKVgUgK2IwncJVu48CNytHro&lt;br /&gt;
XjBh2JmKRFJOYIaphskQxltOfWT803I4R6Nik7J1xCBAV5MET5zrc04MAy7qBT5ndXlUp/5Ero+3LHU0&lt;br /&gt;
37b87g0ivLPWffMG&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Early.png|320x173px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mid-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[2]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Recommended&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Power Plant [[#Floor_2|Floor 2]]. 2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|6.935e10}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZW/DsIgEMbfyMWxm4urUV/gKlcluR4Nf9Lw9nZpIh1aaIrW6sR3BO6+30GgUS3qhoDtjhQI5WwhuZIsrS8qZ6TiM8LNKj0aeSRS7QGsRe2/Jorn2x57jr6sieGznSjJYZ8jRsc7aqEbrk6XkjFhW6qhd4HH6AA5R4ExIOGN4iMyatgk7YCv+wlMDX35cOkDSbp6f+k03JfzlgV44DUECSFHT1ij6FNOyiywKQYSbu58ykkZIC6ae&lt;br /&gt;
e6j9MdLwJMsVkWXIzKKQJ+AkQLel+k1uf2JDjwB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid Main.png|320x183px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Cheaper&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|3e18|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Power Plant [[#Floor_2|Floor 2]]. 1 of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|2.32e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZbLDsIgEEX/yI1Ldm7cGvUHpjJVEjo0PEL4e+uiSWliA30k1nY3cAfunCEEauVR1xLIHqQCrpxlgkpBwgbGg1F0RkINVmnWZJkK7k4XgrAvFtLhCaxFHb7GXhBvlxslQV+AUDIPjZoz39kmxTYHIxZLZ4SiK8Ljo71QClcdb00MzzTrFOJuzlzIvVJjjsnnOIU2LmUu3sSjj83/CzV22yqpRt6m5YTLQI4sZufb+dbKF1BK5dvMJUapzMtXEpv3npotNWL8H2qNnRj/txoUh27V744yCN8=&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid Cheaper.png|320x188px|link=Special:FilePath/Powerplant_Setup_Mid_Cheaper.png]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No-Dyson&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|1.873e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZbBDoIwDIbfyItHbjyBUV+gSNUlZSVjy8Lby4WEmaBsrOiBE38zUv6Pdltb9mhaAm0PxFCzs0VZ3F2nWJ8RbpZNRNQxgTmBRtpYphrukYh9Cdai6TNFw8/sGrg6UymNqUBhEgmbFTnMobN0gHxVYrHCAoT+nkjKNcfLoOHxvjhb/kwZDdajx68yFtrD8Bg/FASho/n3Qq9L88UwSZOmESzN90+kH2xu0p17UfeNutU57JWuf9jqMpftFCpWy9+48rPVGn75ASt1Jl1DlUsnen8B&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid No-Dyson.png|320x188px|link=Special:FilePath/Powerplant_Setup_Mid_No-Dyson.png]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Late-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[3]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|3e48|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Electricity [[Infinity#Infinity_Perks|Infinity Perk]] enabled. Power Plant [[#Floor_2|Floor 2]]. Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|3.046e18}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number| 2.266e15|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;5ZbNDoIwDMffyItHbl68GvUFiqu6ZHRkbFl4e/GA2RadY4IQva30498fZaG1tKhqAaRXQgKTRheczpy&lt;br /&gt;
4bgvWNpK2SKhAS1V0UU0FR6NKThg6WxRC2g1ojaqNWmfTcEl7hNM9L2ZZ6BJ6vfS09FaGAPpOX/GKgptqfejOcMEBDVhOrC/ZSAFqB4TCB1f&lt;br /&gt;
IHuHuczfeKZMuHnTtI400bN9yURLIg3eVAO8I5PYYoOZ+Wh+BR67BdODjXCmnkW9CZ/HnEj/XnQk3kTyd9a3M/KAvmWOUQ6ouCtE5/jNfKQz&lt;br /&gt;
2cVOc51QLfjq/hZq/SKXvfEuy8veqqHPqMU02Yt95Aw==&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Late Infinity Perk.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/781517486045921291/1130610612771246080 Early Power Plant Setup]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/1240795204089548809/1240795204089548809 Power plant guide v5]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/891636673744609280/908516244586639378 MT15 Power Plant (Post Electric Stone)]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3559</id>
		<title>Power Plant</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3559"/>
		<updated>2024-11-06T18:37:07Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Overhaul technology section. Things done: added icons, tables, Number templates, a missing upgrade and fixed misc typos.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=6|ConversionRate=800|Image=Powerplant.png|Color=Yellow|ColorCode=#E6C900}}&lt;br /&gt;
[[File:Yellow resource.png|left]]&lt;br /&gt;
The '''Power Plant''' is a building used to generate electricity to give speed boosts to other buildings.&lt;br /&gt;
[[File:PowerPlant.png|thumb|Power plant example]]&lt;br /&gt;
&lt;br /&gt;
{{Clear|left}}&lt;br /&gt;
==Power Grid==&lt;br /&gt;
The power grid is where you place structures in order to generate and store energy.&lt;br /&gt;
&lt;br /&gt;
You can place structures by selecting one from the list on the left of the screen, and then clicking an empty tile.&lt;br /&gt;
&lt;br /&gt;
To delete a structure, right-click the filled tile while not having any structure selected from the list. Doing so will refund you 25% of the resource you spent buying the component. This can be increased to 50% if you have Component Recycling Skill.&lt;br /&gt;
&lt;br /&gt;
Structures can connect with each other without the use of pipes, but pipes can be used to use resources more efficiently at times. &lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
This is where you spend your energy to speed up other buildings:&lt;br /&gt;
&lt;br /&gt;
*[[Construction Firm]]: Reduces construction time for buildings.&lt;br /&gt;
*[[Factory]]: Speeds up shard refining, store reload, machine speed, and fabricator speed.&lt;br /&gt;
*[[Mine]]: Speeds up the drill, asteroid mining time, and asteroid scanning time.&lt;br /&gt;
*[[Headquarters]]: Speeds up download of software and how fast contracts run out.&lt;br /&gt;
*[[Shipyard]]: Speeds up shipments.&lt;br /&gt;
*[[Museum]]: speeds up artifact research time and offshore market refresh time.&lt;br /&gt;
*&amp;lt;spoiler&amp;gt;[[Workshop]]: To boost [[Workshop]] you need an [[Era]] artifact. Boosting the workshop is only relevant for Era-related activities.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Arcade]]: On its own, it only speeds up the cooldown timer of &amp;quot;Refresh Wheel.&amp;quot; To effectively boost the [[arcade]] you need to have something else (located in the spoiler below), which reduces the time between delays (such as time between stopping jumble rows) and increases the speed of the lucky wheel. &amp;lt;spoiler&amp;gt;The darkness [[infinity]] stone grants this power.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Trading Post]]: reduces the time between perk refreshes and the timer to reset trades&lt;br /&gt;
&lt;br /&gt;
The more energy you use, the longer and stronger the boost is. &lt;br /&gt;
&lt;br /&gt;
You can boost multiple buildings at the same time, but if they are boosted at &amp;lt;i&amp;gt;exactly&amp;lt;/i&amp;gt; the same time then they have to split the energy for the boost, and so the boosts will be weaker. If you are using workers to restart boosts this isn't a problem in practice, because the periods of each building are different, and so each building will end up boosted at a unique time.&lt;br /&gt;
&lt;br /&gt;
===Mechanics===&lt;br /&gt;
&lt;br /&gt;
Boosting applies a percentage of the total available energy (10%, 25%, 50% or 100% depending on your selection) towards boosting. If there are multiple buildings being boosted simultaneously, the energy is split between them. (This splitting will not be shown in the preview numbers before you boost, but it will be apparent afterwards.) Call this energy being allocated to boosting a building &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt; is divided between time and effectiveness based on the position of the slider. For effectiveness, the slider runs from 1% to 100% of &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;, and for time the slider runs from 100% to 1%. This does mean that the overall energy sums to 101%! Call the amount after the the slider &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For both time and effectiveness, &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt; is used as follows: &amp;lt;code&amp;gt;Result = log(PostSlider) * Perks * BaseValue&amp;lt;/code&amp;gt;. When displayed, &amp;lt;code&amp;gt;Result&amp;lt;/code&amp;gt; is rounded for effectiveness, but truncated for time. The base for the log is 10 normally, or 7 with the Super Boost skill. Perks include Town Perks, as well as the 1.25 multiplier from Max Power if at full power (only applies to effectiveness). The table of &amp;lt;code&amp;gt;BaseValues&amp;lt;/code&amp;gt; is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Building!!Time!!Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
|Construction Firm||4:00||20%&lt;br /&gt;
|-&lt;br /&gt;
|Factory||3:00||15%&lt;br /&gt;
|-&lt;br /&gt;
|Mine||3:20||18%&lt;br /&gt;
|-&lt;br /&gt;
|Headquarters||2:00||22%&lt;br /&gt;
|-&lt;br /&gt;
|Shipyard||5:00||10%&lt;br /&gt;
|-&lt;br /&gt;
|Museum||3:00||15%&lt;br /&gt;
|-&lt;br /&gt;
|{{Inline spoiler|Workshop}}||3:40||21%&lt;br /&gt;
|-&lt;br /&gt;
|Arcade||5:00||0.5%&lt;br /&gt;
|-&lt;br /&gt;
|Trading Post||3:00||15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
These are your components for use in the power grid.&lt;br /&gt;
&lt;br /&gt;
You can unlock more by upgrading the Power Plant in the Construction Firm and purchasing the technology level it unlocks.&lt;br /&gt;
&lt;br /&gt;
All components except the water pump can be upgraded in the technology tab. All costs are rounded to the nearest resource. The power plant runs at 10 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: Free&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Water pump.png|center|frame|Water Pump]]&lt;br /&gt;
|Provides infinite water.&lt;br /&gt;
|{{Number|25}}{{Resource|Yellow}}&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |None&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fluid pipe.png|center|thumb|Fluid Pipe]]&lt;br /&gt;
|Transports {{Number|1e3}}L of gas or fluid per tick.&lt;br /&gt;
Currently used to move water from a water pump to a coal boiler,&lt;br /&gt;
&lt;br /&gt;
and to move steam from a coal boiler to a steam turbine.&lt;br /&gt;
&lt;br /&gt;
The pipe is gray when empty, blue when filled with water,&lt;br /&gt;
&lt;br /&gt;
and white when filled with steam.&lt;br /&gt;
|{{Number|5}}{{Resource|Yellow}}&lt;br /&gt;
|Pipe Throughput&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;{{Number|1e3}} to pipe input, output and storage (add.)&lt;br /&gt;
|???&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Yellow battery.png|center|thumb|Yellow battery]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Adds +{{Number|2e3}} power capacity.&lt;br /&gt;
Can be placed anywhere, and is not &lt;br /&gt;
&lt;br /&gt;
needed to be connected to anything.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|50}}{{Resource|Yellow}}&lt;br /&gt;
|Capacity&lt;br /&gt;
| +50% battery capacity&lt;br /&gt;
|???&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|Deep Link&lt;br /&gt;
| +1% total power capacity per Yellow battery (add.)&lt;br /&gt;
Note that the Total Capacity bonus applies to &amp;lt;i&amp;gt;all&amp;lt;/i&amp;gt; batteries,&lt;br /&gt;
&lt;br /&gt;
as well as the base {{Number|1e3}} power! I.e. if you have fully &lt;br /&gt;
&lt;br /&gt;
upgraded Yellow Batteries and have 10 of them, they're providing +50% to all capacities.&lt;br /&gt;
|???&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 1===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Steam turbine.png|center|thumb|Steam Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Transforms 10L of steam into 30 power per tick.&lt;br /&gt;
Needs to be connected to an active coal boiler to generate energy.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|60}}{{Resource|Yellow}}&lt;br /&gt;
|Condensed turbines&lt;br /&gt;
| +100% power production (mult.) and&lt;br /&gt;
steam usage/tick&lt;br /&gt;
|{{Number|5e3}} × 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|Two-flow rotors&lt;br /&gt;
| -1 base steam usage/tick&lt;br /&gt;
|{{Number|1e7}} × 16&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Coal chest.png|center|thumb|Coal Chest]]&lt;br /&gt;
|Provides {{Number|2.5e3}}kg of coal.&lt;br /&gt;
Needs to be placed next to a coal boiler.&lt;br /&gt;
&lt;br /&gt;
Has to be replaced periodically, as it will run out of coal.&lt;br /&gt;
|{{Number|40}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +25% Coal (mul.)&lt;br /&gt;
|{{Number|2.5e4}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Coal boiler.png|center|thumb|Coal Boiler]]&lt;br /&gt;
|Turns 100L of water, and 4 kg of coal into 30L of steam.&lt;br /&gt;
Needs to be connected to a water pump and a coal chest to function.&lt;br /&gt;
|{{Number|150}}{{Resource|Yellow}}&lt;br /&gt;
|Denser coal&lt;br /&gt;
| +30L steam/tick,&lt;br /&gt;
+4kg coal usage/tick and&lt;br /&gt;
&lt;br /&gt;
+100L water usege/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:PowerPlantExample.png|thumb|Basic setup for tier 1.]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tier 2===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Oil barrel.png|center|thumb|Oil Barrel]]&lt;br /&gt;
|Provides {{Number|1e4}}L of oil.&lt;br /&gt;
Can be placed anywhere, as long as a fluid pipe connects it to an oil furnace.&lt;br /&gt;
|{{Number|1000}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +20% Oil (mul.)&lt;br /&gt;
|{{Number|1e5}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Gas tank.png|center|thumb|Gas Tank]]&lt;br /&gt;
|Provides {{Number|2e4}}L of gas.&lt;br /&gt;
Can be placed anywhere, as long as fluid pipes connect it to a gas turbine.&lt;br /&gt;
|{{Number|2e3}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +20% Gas (mul.)&lt;br /&gt;
|{{Number|1.25e5}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Oil furnace.png|center|thumb|Oil Furnace]]&lt;br /&gt;
|Turns 20L of oil and 200L of water into 100L of steam.&lt;br /&gt;
|{{Number|1.75e4}}{{Resource|Yellow}}&lt;br /&gt;
|Bigger heat chambers&lt;br /&gt;
| +100L steam/tick,&lt;br /&gt;
+20L oil usage and&lt;br /&gt;
&lt;br /&gt;
+200L water useage/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Gas turbine.png|center|thumb|Gas Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Turns 25L of gas into 100 power per tick.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|5e3}}{{Resource|Yellow}}&lt;br /&gt;
|Early ignition&lt;br /&gt;
| +100% power production and gas requirement&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Optimized pipes&lt;br /&gt;
| +1% power production (mul.) for gas turbines per regular pipe on the grid regardless if it's in use&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tier 3 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Solar panel.png|center|thumb|Solar Panel]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Produces 1 power per tick (0 when raining).&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|1e4}}{{Resource|Yellow}}&lt;br /&gt;
|Double sized panels&lt;br /&gt;
| +100% power production&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Aqua panels&lt;br /&gt;
|2% × lvl of power production well continue during rain&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Water turbine.png|center|thumb|Water Turbine]]&lt;br /&gt;
|Uses 20L of water to provide 3 power per tick.&lt;br /&gt;
Can be connected with pipes or directly to a Water Pump&lt;br /&gt;
|{{Number|2e4}}{{Resource|Yellow}}&lt;br /&gt;
|Streamlined turbines&lt;br /&gt;
| +100% power production (mul.) and +20L water usage&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Wind turbine.png|center|thumb|Wind Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Produces 0~4 power per tick&lt;br /&gt;
(min. of 0 without wind and max of 4 when there is a hurricane).&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|1.25e4}}{{Resource|Yellow}}&lt;br /&gt;
|Extra long blades&lt;br /&gt;
| +100% power production&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Titanium rotors&lt;br /&gt;
|8x power generation during hurricanes&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |[[File:Red battery.png|center|thumb|Red Battery]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Gives +{{Number|2.5e4}} to power capacity.&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{Number|2e3}}{{Resource|Yellow}}&lt;br /&gt;
|Capacity&lt;br /&gt;
| +100% power capacity&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|Deep link&lt;br /&gt;
| +1% power capacity per component that processes resources and/or&lt;br /&gt;
produces power times the number of red batteries (add.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 4===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Lava pump.png|center|thumb|Lava Pump]]&lt;br /&gt;
|Provides {{Number|1e7}}L of lava.&lt;br /&gt;
Lava can be moved with a fluid pipe.&lt;br /&gt;
|{{Number|2.5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +15% Lava (mul.)&lt;br /&gt;
|{{Number|1.5e6}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Thermal generator.png|center|thumb|Thermal Generator]]&lt;br /&gt;
|Turns 100L of lava and 100L of water into 200 power per tick.&lt;br /&gt;
Can be connected with a pipe or directly to a lava pump.&lt;br /&gt;
|{{Number|5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Turbine overheating&lt;br /&gt;
| +100% power production (mul.),&lt;br /&gt;
+100L water and lava usage/tick&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 5===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Uranium box.png|center|thumb|Uranium Box]]&lt;br /&gt;
|Provides {{Number|5e4}}Kg of Uranium.&lt;br /&gt;
|{{Number|7.5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +10% Uranium (mul.)&lt;br /&gt;
|{{Number|5e6}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fission reactor.png|center|thumb|Fission Reactor]]&lt;br /&gt;
|Transforms 1Kg of Uranium and 100L of water into 200L of steam.&lt;br /&gt;
|{{Number|1e5}}{{Resource|Yellow}}&lt;br /&gt;
|High Radiation&lt;br /&gt;
| +100% steam production (mul.)&lt;br /&gt;
+100% water and uranium requirement (mul.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Blue battery.png|center|thumb|Blue Battery]]&lt;br /&gt;
|Gives +{{Number|5e5}} to power capacity.&lt;br /&gt;
|{{Number|5e4}}{{Resource|Yellow}}&lt;br /&gt;
|Deep link&lt;br /&gt;
| +1% total power capacity per component on the grid that emits resources &lt;br /&gt;
(including storage) times the number of blue batteries (add.)&lt;br /&gt;
|???{{Resource|Yellow}}&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tier 6===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Cost: ???{{Resource|Yellow}}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Cost&lt;br /&gt;
!Max Level&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Plasma pipe.png|center|thumb|Plasma Pipe]]&lt;br /&gt;
|Transport {{Number|1e3}}L of Plasma per tick&lt;br /&gt;
|{{Number|1e5}}{{Resource|Yellow}}&lt;br /&gt;
|Plasma Throughput&lt;br /&gt;
| +1000 Plasma input/output/storage (add.)&lt;br /&gt;
|{{Number|1e15}} * {{Number|1000}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Helium3 tank.png|center|thumb|Helium-3 Tank]]&lt;br /&gt;
|Provides {{Number|1e5}}L of He3&lt;br /&gt;
|{{Number|5e5}}{{Resource|Yellow}}&lt;br /&gt;
|Storage&lt;br /&gt;
| +8% Gas (mul.)&lt;br /&gt;
|{{Number|2.5e7}} * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Fusion reactor.png|center|thumb|Fusion Reactor]]&lt;br /&gt;
|Transforms 250L of He3 into 500L of Plasma&lt;br /&gt;
|{{Number|1.75e6}}{{Resource|Yellow}}&lt;br /&gt;
|Cold Fusion&lt;br /&gt;
| +500L Plasma Production (add.),&lt;br /&gt;
+250L Helium Requirement (add.)&lt;br /&gt;
|{{Number|1e14}} * {{Number|100}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |[[File:Plasma turbine.png|center|thumb|Plasma Turbine]]&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Transform 100L of Plasma into {{Number|5e3}} power per tick&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |{{Number|5e5}}{{Resource|Yellow}}&lt;br /&gt;
|Plasma Synergy&lt;br /&gt;
| +2% [plasma] Power Production (mul.) for every component on the grid that is not a plasma turbine regardless if it's in use,&lt;br /&gt;
+300L Plasma Requirement (add.)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +2% bonus is *additive* with increasing levels, i.e. at 3/3 levels it is a 1.06 multiplicative bonus.)&lt;br /&gt;
|{{Number|1e16}} * {{Number|1e8}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|Water Synergy&lt;br /&gt;
| +18% Plasma Turbine Power Production (add./mul.) for every water turbine on the grid regardless if it's in use, +80% Water Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
(Note: The +18% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +90% bonus per water turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Solar Synergy&lt;br /&gt;
| +10% Plasma Turbine Power Production (add./mul.) for every solar panel on the grid regardless if it's in use,&lt;br /&gt;
+50% Solar Panel Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
&lt;br /&gt;
(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per solar panel. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Wind Synergy&lt;br /&gt;
| +10% Plasma Turbine Power Production (add./mul.) for every wind turbine on the grid regardless if it's in use, +50% Wind Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use&lt;br /&gt;
(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per wind turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
|{{Number|1e18}} * {{Number|1e6}}&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;{{Resource|Yellow}}&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Requirement: Power Plant Floor 2&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Component&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Upgrades&lt;br /&gt;
|-&lt;br /&gt;
!Icon&lt;br /&gt;
!Description&lt;br /&gt;
!Base Cost&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Dyson node.png|center|thumb|Dyson Node]]&lt;br /&gt;
|Provides aura and +X Power / Tick (depends on dyson power)&lt;br /&gt;
Dyson nodes cannot be placed in the 8 squares next to another node.&lt;br /&gt;
&lt;br /&gt;
Available as soon as Floor 2 is unlocked, regardless of Power Plant level.&lt;br /&gt;
&lt;br /&gt;
Power amount is &amp;lt;code&amp;gt;dyson_power&amp;lt;/code&amp;gt;&amp;lt;sup&amp;gt;0.25&amp;lt;/sup&amp;gt;. This maxes at {{Number|1.1892071e3}} power per tick.&lt;br /&gt;
|{{Number|1e12}}{{Resource|Yellow}}&lt;br /&gt;
|None&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Quantum Grid''' - Allows components on the power grid to connect to components on the opposite edge of the grid.&lt;br /&gt;
*'''Super Boost''' - Using more power for boosts has a higher impact on duration/effectivity. (Log10 -&amp;gt; Log7)&lt;br /&gt;
*'''Max. Power''' - Increases the effectiveness of all active boosts by 25% (multiplicative) if the current amount of power exceeds the maximum amount.&lt;br /&gt;
*'''Efficient Recycling''' - Lowers the base conversion rate from town resources to power plant resources to 600.&lt;br /&gt;
*'''Shutdown''' - Allows you to cancel boosts anytime. Does not refund any power!&lt;br /&gt;
*'''Yellowprints''' - Unlocks the ability to store up to 3 different layouts of the power plant as well as the functionality to import, export and apply them at any time. Additionally adds the an option to sell the entire grid.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
&lt;br /&gt;
*'''Hibernation Mode''' ({{Number|50|icon=[[File:Exotic gem.png|20px]]}}) - Boosts stop losing their duration while the game is closed but still affect all buildings during that time as many they would normally do.&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
===Recommended Setups===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Starter Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[1]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|1.823e5|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|3.023e6}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|1.326e5|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;tZBBCsJADEWv4gm8wOxcCO4KeoG0Rh1IkzDNMMztla4M0jJI+1bJ/+GHRKVgUgK2IwncJVu48CNytHro&lt;br /&gt;
XjBh2JmKRFJOYIaphskQxltOfWT803I4R6Nik7J1xCBAV5MET5zrc04MAy7qBT5ndXlUp/5Ero+3LHU0&lt;br /&gt;
37b87g0ivLPWffMG&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Early.png|320x173px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mid-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[2]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Recommended&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Power Plant [[#Floor_2|Floor 2]]. 2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|6.935e10}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZW/DsIgEMbfyMWxm4urUV/gKlcluR4Nf9Lw9nZpIh1aaIrW6sR3BO6+30GgUS3qhoDtjhQI5WwhuZIsrS8qZ6TiM8LNKj0aeSRS7QGsRe2/Jorn2x57jr6sieGznSjJYZ8jRsc7aqEbrk6XkjFhW6qhd4HH6AA5R4ExIOGN4iMyatgk7YCv+wlMDX35cOkDSbp6f+k03JfzlgV44DUECSFHT1ij6FNOyiywKQYSbu58ykkZIC6ae&lt;br /&gt;
e6j9MdLwJMsVkWXIzKKQJ+AkQLel+k1uf2JDjwB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid Main.png|320x183px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Cheaper&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|3e18|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Power Plant [[#Floor_2|Floor 2]]. 1 of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|2.32e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZbLDsIgEEX/yI1Ldm7cGvUHpjJVEjo0PEL4e+uiSWliA30k1nY3cAfunCEEauVR1xLIHqQCrpxlgkpBwgbGg1F0RkINVmnWZJkK7k4XgrAvFtLhCaxFHb7GXhBvlxslQV+AUDIPjZoz39kmxTYHIxZLZ4SiK8Ljo71QClcdb00MzzTrFOJuzlzIvVJjjsnnOIU2LmUu3sSjj83/CzV22yqpRt6m5YTLQI4sZufb+dbKF1BK5dvMJUapzMtXEpv3npotNWL8H2qNnRj/txoUh27V744yCN8=&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid Cheaper.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No-Dyson&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|1.873e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;7ZbBDoIwDIbfyItHbjyBUV+gSNUlZSVjy8Lby4WEmaBsrOiBE38zUv6Pdltb9mhaAm0PxFCzs0VZ3F2nWJ8RbpZNRNQxgTmBRtpYphrukYh9Cdai6TNFw8/sGrg6UymNqUBhEgmbFTnMobN0gHxVYrHCAoT+nkjKNcfLoOHxvjhb/kwZDdajx68yFtrD8Bg/FASho/n3Qq9L88UwSZOmESzN90+kH2xu0p17UfeNutU57JWuf9jqMpftFCpWy9+48rPVGn75ASt1Jl1DlUsnen8B&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Mid No-Dyson.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Late-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[3]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; |Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Cost&lt;br /&gt;
|{{Number|3e48|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Requirements&lt;br /&gt;
|Electricity [[Infinity#Infinity_Perks|Infinity Perk]] enabled. Power Plant [[#Floor_2|Floor 2]]. Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Power Capacity&lt;br /&gt;
|{{Number|3.046e18}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Average Power Production&lt;br /&gt;
|{{Number| 2.266e15|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Import Code&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;5ZbNDoIwDMffyItHbl68GvUFiqu6ZHRkbFl4e/GA2RadY4IQva30498fZaG1tKhqAaRXQgKTRheczpy&lt;br /&gt;
4bgvWNpK2SKhAS1V0UU0FR6NKThg6WxRC2g1ojaqNWmfTcEl7hNM9L2ZZ6BJ6vfS09FaGAPpOX/GKgptqfejOcMEBDVhOrC/ZSAFqB4TCB1f&lt;br /&gt;
IHuHuczfeKZMuHnTtI400bN9yURLIg3eVAO8I5PYYoOZ+Wh+BR67BdODjXCmnkW9CZ/HnEj/XnQk3kTyd9a3M/KAvmWOUQ6ouCtE5/jNfKQz&lt;br /&gt;
2cVOc51QLfjq/hZq/SKXvfEuy8veqqHPqMU02Yt95Aw==&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |Preview&lt;br /&gt;
|[[File:Powerplant Setup Late Infinity Perk.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/781517486045921291/1130610612771246080 Early Power Plant Setup]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/1240795204089548809/1240795204089548809 Power plant guide v5]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/891636673744609280/908516244586639378 MT15 Power Plant (Post Electric Stone)]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Dyson_node.png&amp;diff=3558</id>
		<title>File:Dyson node.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Dyson_node.png&amp;diff=3558"/>
		<updated>2024-11-06T18:28:21Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Wind_turbine.png&amp;diff=3557</id>
		<title>File:Wind turbine.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Wind_turbine.png&amp;diff=3557"/>
		<updated>2024-11-06T17:26:34Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Water_turbine.png&amp;diff=3556</id>
		<title>File:Water turbine.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Water_turbine.png&amp;diff=3556"/>
		<updated>2024-11-06T17:26:26Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Uranium_box.png&amp;diff=3555</id>
		<title>File:Uranium box.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Uranium_box.png&amp;diff=3555"/>
		<updated>2024-11-06T17:26:12Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Thermal_generator.png&amp;diff=3554</id>
		<title>File:Thermal generator.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Thermal_generator.png&amp;diff=3554"/>
		<updated>2024-11-06T17:26:04Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Steam_turbine.png&amp;diff=3553</id>
		<title>File:Steam turbine.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Steam_turbine.png&amp;diff=3553"/>
		<updated>2024-11-06T17:25:54Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Solar_panel.png&amp;diff=3552</id>
		<title>File:Solar panel.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Solar_panel.png&amp;diff=3552"/>
		<updated>2024-11-06T17:25:42Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Red_battery.png&amp;diff=3551</id>
		<title>File:Red battery.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Red_battery.png&amp;diff=3551"/>
		<updated>2024-11-06T17:25:26Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Plasma_turbine.png&amp;diff=3550</id>
		<title>File:Plasma turbine.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Plasma_turbine.png&amp;diff=3550"/>
		<updated>2024-11-06T17:25:10Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Plasma_pipe.png&amp;diff=3549</id>
		<title>File:Plasma pipe.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Plasma_pipe.png&amp;diff=3549"/>
		<updated>2024-11-06T17:25:00Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Oil_furnace.png&amp;diff=3548</id>
		<title>File:Oil furnace.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Oil_furnace.png&amp;diff=3548"/>
		<updated>2024-11-06T17:24:44Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Oil_barrel.png&amp;diff=3547</id>
		<title>File:Oil barrel.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Oil_barrel.png&amp;diff=3547"/>
		<updated>2024-11-06T17:24:24Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Lava_pump.png&amp;diff=3546</id>
		<title>File:Lava pump.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Lava_pump.png&amp;diff=3546"/>
		<updated>2024-11-06T17:24:15Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Helium3_tank.png&amp;diff=3545</id>
		<title>File:Helium3 tank.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Helium3_tank.png&amp;diff=3545"/>
		<updated>2024-11-06T17:23:58Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Gas_turbine.png&amp;diff=3544</id>
		<title>File:Gas turbine.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Gas_turbine.png&amp;diff=3544"/>
		<updated>2024-11-06T17:23:32Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Gas_tank.png&amp;diff=3543</id>
		<title>File:Gas tank.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Gas_tank.png&amp;diff=3543"/>
		<updated>2024-11-06T17:23:15Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Fusion_reactor.png&amp;diff=3542</id>
		<title>File:Fusion reactor.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Fusion_reactor.png&amp;diff=3542"/>
		<updated>2024-11-06T17:22:56Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Fission_reactor.png&amp;diff=3541</id>
		<title>File:Fission reactor.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Fission_reactor.png&amp;diff=3541"/>
		<updated>2024-11-06T17:22:42Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Coal_chest.png&amp;diff=3540</id>
		<title>File:Coal chest.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Coal_chest.png&amp;diff=3540"/>
		<updated>2024-11-06T17:22:26Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Blue_battery.png&amp;diff=3539</id>
		<title>File:Blue battery.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Blue_battery.png&amp;diff=3539"/>
		<updated>2024-11-06T17:22:08Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Coal_boiler.png&amp;diff=3538</id>
		<title>File:Coal boiler.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Coal_boiler.png&amp;diff=3538"/>
		<updated>2024-11-06T17:21:56Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Fluid_pipe.png&amp;diff=3537</id>
		<title>File:Fluid pipe.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Fluid_pipe.png&amp;diff=3537"/>
		<updated>2024-11-06T16:55:05Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Yellow_battery.png&amp;diff=3536</id>
		<title>File:Yellow battery.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Yellow_battery.png&amp;diff=3536"/>
		<updated>2024-11-06T16:54:27Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Water_pump.png&amp;diff=3535</id>
		<title>File:Water pump.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Water_pump.png&amp;diff=3535"/>
		<updated>2024-11-06T16:53:59Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3534</id>
		<title>Power Plant</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3534"/>
		<updated>2024-11-06T16:30:43Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* References */ Update references for power plant setups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=6|ConversionRate=800|Image=Powerplant.png|Color=Yellow|ColorCode=#E6C900}}&lt;br /&gt;
[[File:Yellow resource.png|left]]&lt;br /&gt;
The '''Power Plant''' is a building used to generate electricity to give speed boosts to other buildings.&lt;br /&gt;
[[File:PowerPlant.png|thumb|Power plant example]]&lt;br /&gt;
&lt;br /&gt;
{{Clear|left}}&lt;br /&gt;
==Power Grid==&lt;br /&gt;
The power grid is where you place structures in order to generate and store energy.&lt;br /&gt;
&lt;br /&gt;
You can place structures by selecting one from the list on the left of the screen, and then clicking an empty tile.&lt;br /&gt;
&lt;br /&gt;
To delete a structure, right-click the filled tile while not having any structure selected from the list. Doing so will refund you 25% of the resource you spent buying the component. This can be increased to 50% if you have Component Recycling Skill.&lt;br /&gt;
&lt;br /&gt;
Structures can connect with each other without the use of pipes, but pipes can be used to use resources more efficiently at times. &lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
This is where you spend your energy to speed up other buildings:&lt;br /&gt;
&lt;br /&gt;
*[[Construction Firm]]: Reduces construction time for buildings.&lt;br /&gt;
*[[Factory]]: Speeds up shard refining, store reload, machine speed, and fabricator speed.&lt;br /&gt;
*[[Mine]]: Speeds up the drill, asteroid mining time, and asteroid scanning time.&lt;br /&gt;
*[[Headquarters]]: Speeds up download of software and how fast contracts run out.&lt;br /&gt;
*[[Shipyard]]: Speeds up shipments.&lt;br /&gt;
*[[Museum]]: speeds up artifact research time and offshore market refresh time.&lt;br /&gt;
* &amp;lt;spoiler&amp;gt;[[Workshop]]: To boost [[Workshop]] you need an [[Era]] artifact. Boosting the workshop is only relevant for Era-related activities.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Arcade]]: On its own, it only speeds up the cooldown timer of &amp;quot;Refresh Wheel.&amp;quot; To effectively boost the [[arcade]] you need to have something else (located in the spoiler below), which reduces the time between delays (such as time between stopping jumble rows) and increases the speed of the lucky wheel. &amp;lt;spoiler&amp;gt;The darkness [[infinity]] stone grants this power.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Trading Post]]: reduces the time between perk refreshes and the timer to reset trades&lt;br /&gt;
&lt;br /&gt;
The more energy you use, the longer and stronger the boost is. &lt;br /&gt;
&lt;br /&gt;
You can boost multiple buildings at the same time, but if they are boosted at &amp;lt;i&amp;gt;exactly&amp;lt;/i&amp;gt; the same time then they have to split the energy for the boost, and so the boosts will be weaker. If you are using workers to restart boosts this isn't a problem in practice, because the periods of each building are different, and so each building will end up boosted at a unique time.&lt;br /&gt;
&lt;br /&gt;
===Mechanics===&lt;br /&gt;
&lt;br /&gt;
Boosting applies a percentage of the total available energy (10%, 25%, 50% or 100% depending on your selection) towards boosting. If there are multiple buildings being boosted simultaneously, the energy is split between them. (This splitting will not be shown in the preview numbers before you boost, but it will be apparent afterwards.) Call this energy being allocated to boosting a building &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt; is divided between time and effectiveness based on the position of the slider. For effectiveness, the slider runs from 1% to 100% of &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;, and for time the slider runs from 100% to 1%. This does mean that the overall energy sums to 101%! Call the amount after the the slider &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For both time and effectiveness, &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt; is used as follows: &amp;lt;code&amp;gt;Result = log(PostSlider) * Perks * BaseValue&amp;lt;/code&amp;gt;. When displayed, &amp;lt;code&amp;gt;Result&amp;lt;/code&amp;gt; is rounded for effectiveness, but truncated for time. The base for the log is 10 normally, or 7 with the Super Boost skill. Perks include Town Perks, as well as the 1.25 multiplier from Max Power if at full power (only applies to effectiveness). The table of &amp;lt;code&amp;gt;BaseValues&amp;lt;/code&amp;gt; is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Building !! Time !! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| Construction Firm || 4:00 || 20%&lt;br /&gt;
|-&lt;br /&gt;
| Factory || 3:00 || 15%&lt;br /&gt;
|-&lt;br /&gt;
| Mine || 3:20 || 18%&lt;br /&gt;
|-&lt;br /&gt;
| Headquarters || 2:00 || 22%&lt;br /&gt;
|-&lt;br /&gt;
| Shipyard || 5:00 || 10%&lt;br /&gt;
|-&lt;br /&gt;
| Museum || 3:00 || 15%&lt;br /&gt;
|-&lt;br /&gt;
| {{Inline spoiler|Workshop}} || 3:40 || 21%&lt;br /&gt;
|-&lt;br /&gt;
| Arcade || 5:00 || 0.5%&lt;br /&gt;
|-&lt;br /&gt;
| Trading Post || 3:00 || 15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
These are your structures for use in the power grid.&lt;br /&gt;
&lt;br /&gt;
You can unlock more by upgrading the Power Plant in the Construction Firm.&lt;br /&gt;
&lt;br /&gt;
You can upgrade structures if they are upgradeable. All costs are rounded to the nearest resource. The power plant runs at 10 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
====Water Pump====&lt;br /&gt;
Provides infinite water.&lt;br /&gt;
&lt;br /&gt;
Cost: 25 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;[[File:PowerPlantExample.png|thumb|Basic setup for tier 1.]]&lt;br /&gt;
&lt;br /&gt;
====Fluid Pipe====&lt;br /&gt;
Transports 1000L of gas or fluid per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 5 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently used to move water from a water pump to a coal boiler, and to move steam from a coal boiler to a steam turbine.&lt;br /&gt;
&lt;br /&gt;
The pipe is gray when empty, blue when filled with water, and white when filled with steam.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Pipe Throughput (9 levels): +1000 to pipe input, output and storage (add.)&lt;br /&gt;
&lt;br /&gt;
====Yellow Battery====&lt;br /&gt;
Adds +2000 power capacity.&lt;br /&gt;
&lt;br /&gt;
Cost: 50 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be placed anywhere, and is not needed to be connected to anything.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Capacity (15 levels): +50% battery capacity&lt;br /&gt;
&lt;br /&gt;
Deep link (5 levels): +1% total power capacity per Yellow battery (add.)&lt;br /&gt;
&lt;br /&gt;
Note that the Total Capacity bonus applies to &amp;lt;i&amp;gt;all&amp;lt;/i&amp;gt; batteries, as well as the base 1000 power! I.e. if you have fully upgraded Yellow Batteries and have 10 of them, they're providing +50% to all capacities.&lt;br /&gt;
&lt;br /&gt;
===Tier 1===&lt;br /&gt;
&lt;br /&gt;
====Coal Chest====&lt;br /&gt;
Provides 2500kg of coal.&lt;br /&gt;
&lt;br /&gt;
Cost: 40 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Needs to be placed next to a coal boiler.&lt;br /&gt;
&lt;br /&gt;
Has to be replaced periodically, as it will run out of coal.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels) +25% Coal (mul.) (Cost: 25000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Coal Boiler====&lt;br /&gt;
Turns 100L of water, and 4 kg of coal into 30L of steam.&lt;br /&gt;
&lt;br /&gt;
Cost: 150 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Needs to be connected to a water pump and a coal chest to function.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Denser coal (9 levels): +30L steam/tick, +4kg coal useage/tick and +100L water useage/tick&lt;br /&gt;
&lt;br /&gt;
====Steam Turbine====&lt;br /&gt;
Transforms 10L of steam into 30 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 60 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Needs to be connected to an active coal boiler to generate energy.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Condensed turbines (6 levels): +100% power production (mult.) and steam useage/tick (Cost: 5000 × 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Two-flow rotors (6 levels): -1 base steam useage/tick (Cost: 10,000,000 × 16&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Tier 2===&lt;br /&gt;
&lt;br /&gt;
====Oil Barrel====&lt;br /&gt;
Provides 10000L of oil&lt;br /&gt;
&lt;br /&gt;
Cost: 1000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be placed anywhere, as long as a fluid pipe connects it to an oil furnace.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +20% Oil (mul.) (Cost: 100000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Oil Furnace====&lt;br /&gt;
Turns 20L of oil and 200L of water into 100L of steam.&lt;br /&gt;
&lt;br /&gt;
Cost: 17500 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Bigger heat chambers (9 levels): +100L steam/tick, +20L oil usage and +200L water useage/tick&lt;br /&gt;
&lt;br /&gt;
====Gas Tank====&lt;br /&gt;
provides 20000L of gas.&lt;br /&gt;
&lt;br /&gt;
Cost: 2000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
can be placed anywhere, as long as fluid pipes connect it to a gas turbine.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +20% Gas (mul.) (Cost: 125000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Gas Turbine====&lt;br /&gt;
Turns 25L of gas into 100 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 5000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Early ignition (5 levels): +100% power production and gas requirement&lt;br /&gt;
&lt;br /&gt;
Optimized pipes (2 levels): +1% power production (mul.) for gas turbines per regular pipe on the grid regardless if it's in use&lt;br /&gt;
&lt;br /&gt;
===Tier 3===&lt;br /&gt;
&lt;br /&gt;
====Water Turbine====&lt;br /&gt;
Uses 20L of water to provide 3 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 20000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be connected with pipes or directly to a Water Pump&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Streamlined turbines (9 levels): +100% power production (mul.) and +20L water useage&lt;br /&gt;
&lt;br /&gt;
====Solar Panel====&lt;br /&gt;
Produces 1 power per tick (0 when raining).&lt;br /&gt;
&lt;br /&gt;
Cost: 10000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Double sized panels (10 levels): +100% power production&lt;br /&gt;
&lt;br /&gt;
Aqua panels (5 levels): 2% × lvl of power production well continue during rain&lt;br /&gt;
&lt;br /&gt;
====Wind Turbine====&lt;br /&gt;
Produces 0~4 power per tick (min. of 0 without wind and max of 4 when there is a hurricane).&lt;br /&gt;
&lt;br /&gt;
Cost: 12500 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Extra long blades (10 levels): +100% power production&lt;br /&gt;
&lt;br /&gt;
Titanium rotors: 8x power generation during hurricanes&lt;br /&gt;
&lt;br /&gt;
====Red Battery====&lt;br /&gt;
Gives +25000 to power capacity.&lt;br /&gt;
&lt;br /&gt;
Cost: 2000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Capacity (4 levels): +100% power capacity&lt;br /&gt;
&lt;br /&gt;
Deep link (3 levels): +1% power capacity per component that processes resources and/or produces power times the number of red batteries (add.)&lt;br /&gt;
&lt;br /&gt;
===Tier 4===&lt;br /&gt;
&lt;br /&gt;
====Lava Pump====&lt;br /&gt;
Provides 10M L of lava.&lt;br /&gt;
&lt;br /&gt;
Cost: 25000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lava can be moved with a fluid pipe.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +15% Lava (mul.) (Cost: 1500000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Thermal Generator====&lt;br /&gt;
Turns 100L of lava and 100L of water into 200 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 50000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be connected with a pipe or directly to a lava pump.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Turbine overheating (4 levels): +100% power production (mul.), +100L water and lava useage/tick&lt;br /&gt;
&lt;br /&gt;
===Tier 5===&lt;br /&gt;
&lt;br /&gt;
====Fission Reactor====&lt;br /&gt;
Transforms 1Kg of Uranium and 100L of water into 200L of steam.&lt;br /&gt;
&lt;br /&gt;
Cost: 100000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Uranium Box====&lt;br /&gt;
Provides 50000Kg of Uranium.&lt;br /&gt;
&lt;br /&gt;
Cost: 75000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +10% Uranium (mul.) (Cost: 5000000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Blue Battery====&lt;br /&gt;
Gives +500000 to power capacity.&lt;br /&gt;
&lt;br /&gt;
Cost: 50000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Deep link (4 levels): +1% total power capacity per component on the grid that emits resources (imcluding storage) times the number of blue batteries (add.)&lt;br /&gt;
&lt;br /&gt;
===Tier 6===&lt;br /&gt;
&lt;br /&gt;
====Fusion Reactor====&lt;br /&gt;
Transforms 250L of He3 into 500L of Plasma&lt;br /&gt;
&lt;br /&gt;
Cost: 1750000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Cold Fusion (9 levels): +500L Plasma Production (add.), +250L Helium Requirement (add.) (Cost: 1e14 * 100&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Helium3 Tank====&lt;br /&gt;
Provides 100000L of He3&lt;br /&gt;
&lt;br /&gt;
Cost: 500000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +8% Gas (mul.) (Cost: 25000000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Plasma Pipe====&lt;br /&gt;
Transport 1000L of Plasma per tick&lt;br /&gt;
&lt;br /&gt;
Cost: 100000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Plasma Throughput (9 levels): +1000 Plasma input/output/storage (add.) (Cost: 1e15 * 1000&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Plasma Turbine====&lt;br /&gt;
Transform 100L of Plasma into 5000 power per tick&lt;br /&gt;
&lt;br /&gt;
Cost: 500000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Plasma Synergy (3 levels): +2% [plasma] Power Production (mul.) for every component on the grid that is not a plasma turbine regardless if it's in use, +300L Plasma Requirement (add.) (Cost: 1e16 * 1e8&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +2% bonus is *additive* with increasing levels, i.e. at 3/3 levels it is a 1.06 multiplicative bonus.)&lt;br /&gt;
&lt;br /&gt;
Water Synergy (5 levels): +18% Plasma Turbine Power Production (add./mul.) for every water turbine on the grid regardless if it's in use, +80% Water Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use (Cost: 1e18 * 1e6&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +18% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +90% bonus per water turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
&lt;br /&gt;
Solar Synergy (5 levels): +10% Plasma Turbine Power Production (add./mul.) for every solar panel on the grid regardless if it's in use, +50% Solar Panel Power Production (add.) for every plasma turbine on the grid regardless if it's in use (Cost: 1e18 * 1e6&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per solar panel. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
&lt;br /&gt;
Wind Synergy (5 levels): +10% Plasma Turbine Power Production (add./mul.) for every wind turbine on the grid regardless if it's in use, +50% Wind Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use (Cost: 1e18 * 1e6&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per water turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
&lt;br /&gt;
===Floor 2===&lt;br /&gt;
&lt;br /&gt;
====Dyson Node====&lt;br /&gt;
Provides aura and +X Power / Tick (depends on dyson power)&lt;br /&gt;
&lt;br /&gt;
Cost: 1e12 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dyson nodes cannot be placed in the 8 squares next to another node. Available as soon as Floor 2 is unlocked, regardless of Power Plant level.&lt;br /&gt;
&lt;br /&gt;
Power amount is &amp;lt;code&amp;gt;dyson_power&amp;lt;/code&amp;gt;&amp;lt;sup&amp;gt;0.25&amp;lt;/sup&amp;gt;. This maxes at 1189.2071 power per tick.&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Quantum Grid''' - Allows components on the power grid to connect to components on the opposite edge of the grid.&lt;br /&gt;
*'''Super Boost''' - Using more power for boosts has a higher impact on duration/effectivity. (Log10 -&amp;gt; Log7)&lt;br /&gt;
*'''Max. Power''' - Increases the effectiveness of all active boosts by 25% (multiplicative) if the current amount of power exceeds the maximum amount.&lt;br /&gt;
*'''Efficient Recycling''' - Lowers the base conversion rate from town resources to power plant resources to 600.&lt;br /&gt;
*'''Shutdown''' - Allows you to cancel boosts anytime. Does not refund any power!&lt;br /&gt;
*'''Yellowprints''' - Unlocks the ability to store up to 3 different layouts of the power plant as well as the functionality to import, export and apply them at any time. Additionally adds the an option to sell the entire grid.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
*'''Hibernation Mode''' ({{Number|50|icon=[[File:Exotic gem.png|20px]]}}) - Boosts stop losing their duration while the game is closed but still affect all buildings during that time as many they would normally do.&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
===Recommended Setups===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Starter Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[1]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|1.823e5|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|3.023e6}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|1.326e5|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;tZBBCsJADEWv4gm8wOxcCO4KeoG0Rh1IkzDNMMztla4M0jJI+1bJ/+GHRKVgUgK2IwncJVu48CNytHro&lt;br /&gt;
XjBh2JmKRFJOYIaphskQxltOfWT803I4R6Nik7J1xCBAV5MET5zrc04MAy7qBT5ndXlUp/5Ero+3LHU0&lt;br /&gt;
37b87g0ivLPWffMG&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Early.png|320x173px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mid-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[2]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Recommended&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Power Plant [[#Floor_2|Floor 2]]. 2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|6.935e10}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;7ZW/DsIgEMbfyMWxm4urUV/gKlcluR4Nf9Lw9nZpIh1aaIrW6sR3BO6+30GgUS3qhoDtjhQI5WwhuZIsrS8qZ6TiM8LNKj0aeSRS7QGsRe2/Jorn2x57jr6sieGznSjJYZ8jRsc7aqEbrk6XkjFhW6qhd4HH6AA5R4ExIOGN4iMyatgk7YCv+wlMDX35cOkDSbp6f+k03JfzlgV44DUECSFHT1ij6FNOyiywKQYSbu58ykkZIC6ae&lt;br /&gt;
e6j9MdLwJMsVkWXIzKKQJ+AkQLel+k1uf2JDjwB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Mid Main.png|320x183px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Cheaper&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|3e18|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Power Plant [[#Floor_2|Floor 2]]. 1 of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|2.32e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;7ZbLDsIgEEX/yI1Ldm7cGvUHpjJVEjo0PEL4e+uiSWliA30k1nY3cAfunCEEauVR1xLIHqQCrpxlgkpBwgbGg1F0RkINVmnWZJkK7k4XgrAvFtLhCaxFHb7GXhBvlxslQV+AUDIPjZoz39kmxTYHIxZLZ4SiK8Ljo71QClcdb00MzzTrFOJuzlzIvVJjjsnnOIU2LmUu3sSjj83/CzV22yqpRt6m5YTLQI4sZufb+dbKF1BK5dvMJUapzMtXEpv3npotNWL8H2qNnRj/txoUh27V744yCN8=&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Mid Cheaper.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No-Dyson&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| 2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|1.873e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;7ZbBDoIwDIbfyItHbjyBUV+gSNUlZSVjy8Lby4WEmaBsrOiBE38zUv6Pdltb9mhaAm0PxFCzs0VZ3F2nWJ8RbpZNRNQxgTmBRtpYphrukYh9Cdai6TNFw8/sGrg6UymNqUBhEgmbFTnMobN0gHxVYrHCAoT+nkjKNcfLoOHxvjhb/kwZDdajx68yFtrD8Bg/FASho/n3Qq9L88UwSZOmESzN90+kH2xu0p17UfeNutU57JWuf9jqMpftFCpWy9+48rPVGn75ASt1Jl1DlUsnen8B&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Mid No-Dyson.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Late-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[3]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|3e48|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Electricity [[Infinity#Infinity_Perks|Infinity Perk]] enabled. Power Plant [[#Floor_2|Floor 2]]. Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|3.046e18}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number| 2.266e15|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;5ZbNDoIwDMffyItHbl68GvUFiqu6ZHRkbFl4e/GA2RadY4IQva30498fZaG1tKhqAaRXQgKTRheczpy&lt;br /&gt;
4bgvWNpK2SKhAS1V0UU0FR6NKThg6WxRC2g1ojaqNWmfTcEl7hNM9L2ZZ6BJ6vfS09FaGAPpOX/GKgptqfejOcMEBDVhOrC/ZSAFqB4TCB1f&lt;br /&gt;
IHuHuczfeKZMuHnTtI400bN9yURLIg3eVAO8I5PYYoOZ+Wh+BR67BdODjXCmnkW9CZ/HnEj/XnQk3kTyd9a3M/KAvmWOUQ6ouCtE5/jNfKQz&lt;br /&gt;
2cVOc51QLfjq/hZq/SKXvfEuy8veqqHPqMU02Yt95Aw==&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Late Infinity Perk.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/781517486045921291/1130610612771246080 Early Power Plant Setup]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/1240795204089548809/1240795204089548809 Power plant guide v5]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/891636673744609280/908516244586639378 MT15 Power Plant (Post Electric Stone)]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3533</id>
		<title>Power Plant</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Power_Plant&amp;diff=3533"/>
		<updated>2024-11-06T16:28:59Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Recommended Setups */ Update recommended setups for plasma component upgrades update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=6|ConversionRate=800|Image=Powerplant.png|Color=Yellow|ColorCode=#E6C900}}&lt;br /&gt;
[[File:Yellow resource.png|left]]&lt;br /&gt;
The '''Power Plant''' is a building used to generate electricity to give speed boosts to other buildings.&lt;br /&gt;
[[File:PowerPlant.png|thumb|Power plant example]]&lt;br /&gt;
&lt;br /&gt;
{{Clear|left}}&lt;br /&gt;
==Power Grid==&lt;br /&gt;
The power grid is where you place structures in order to generate and store energy.&lt;br /&gt;
&lt;br /&gt;
You can place structures by selecting one from the list on the left of the screen, and then clicking an empty tile.&lt;br /&gt;
&lt;br /&gt;
To delete a structure, right-click the filled tile while not having any structure selected from the list. Doing so will refund you 25% of the resource you spent buying the component. This can be increased to 50% if you have Component Recycling Skill.&lt;br /&gt;
&lt;br /&gt;
Structures can connect with each other without the use of pipes, but pipes can be used to use resources more efficiently at times. &lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
This is where you spend your energy to speed up other buildings:&lt;br /&gt;
&lt;br /&gt;
*[[Construction Firm]]: Reduces construction time for buildings.&lt;br /&gt;
*[[Factory]]: Speeds up shard refining, store reload, machine speed, and fabricator speed.&lt;br /&gt;
*[[Mine]]: Speeds up the drill, asteroid mining time, and asteroid scanning time.&lt;br /&gt;
*[[Headquarters]]: Speeds up download of software and how fast contracts run out.&lt;br /&gt;
*[[Shipyard]]: Speeds up shipments.&lt;br /&gt;
*[[Museum]]: speeds up artifact research time and offshore market refresh time.&lt;br /&gt;
* &amp;lt;spoiler&amp;gt;[[Workshop]]: To boost [[Workshop]] you need an [[Era]] artifact. Boosting the workshop is only relevant for Era-related activities.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Arcade]]: On its own, it only speeds up the cooldown timer of &amp;quot;Refresh Wheel.&amp;quot; To effectively boost the [[arcade]] you need to have something else (located in the spoiler below), which reduces the time between delays (such as time between stopping jumble rows) and increases the speed of the lucky wheel. &amp;lt;spoiler&amp;gt;The darkness [[infinity]] stone grants this power.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
*[[Trading Post]]: reduces the time between perk refreshes and the timer to reset trades&lt;br /&gt;
&lt;br /&gt;
The more energy you use, the longer and stronger the boost is. &lt;br /&gt;
&lt;br /&gt;
You can boost multiple buildings at the same time, but if they are boosted at &amp;lt;i&amp;gt;exactly&amp;lt;/i&amp;gt; the same time then they have to split the energy for the boost, and so the boosts will be weaker. If you are using workers to restart boosts this isn't a problem in practice, because the periods of each building are different, and so each building will end up boosted at a unique time.&lt;br /&gt;
&lt;br /&gt;
===Mechanics===&lt;br /&gt;
&lt;br /&gt;
Boosting applies a percentage of the total available energy (10%, 25%, 50% or 100% depending on your selection) towards boosting. If there are multiple buildings being boosted simultaneously, the energy is split between them. (This splitting will not be shown in the preview numbers before you boost, but it will be apparent afterwards.) Call this energy being allocated to boosting a building &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt; is divided between time and effectiveness based on the position of the slider. For effectiveness, the slider runs from 1% to 100% of &amp;lt;code&amp;gt;BoostEnergy&amp;lt;/code&amp;gt;, and for time the slider runs from 100% to 1%. This does mean that the overall energy sums to 101%! Call the amount after the the slider &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For both time and effectiveness, &amp;lt;code&amp;gt;PostSlider&amp;lt;/code&amp;gt; is used as follows: &amp;lt;code&amp;gt;Result = log(PostSlider) * Perks * BaseValue&amp;lt;/code&amp;gt;. When displayed, &amp;lt;code&amp;gt;Result&amp;lt;/code&amp;gt; is rounded for effectiveness, but truncated for time. The base for the log is 10 normally, or 7 with the Super Boost skill. Perks include Town Perks, as well as the 1.25 multiplier from Max Power if at full power (only applies to effectiveness). The table of &amp;lt;code&amp;gt;BaseValues&amp;lt;/code&amp;gt; is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Building !! Time !! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| Construction Firm || 4:00 || 20%&lt;br /&gt;
|-&lt;br /&gt;
| Factory || 3:00 || 15%&lt;br /&gt;
|-&lt;br /&gt;
| Mine || 3:20 || 18%&lt;br /&gt;
|-&lt;br /&gt;
| Headquarters || 2:00 || 22%&lt;br /&gt;
|-&lt;br /&gt;
| Shipyard || 5:00 || 10%&lt;br /&gt;
|-&lt;br /&gt;
| Museum || 3:00 || 15%&lt;br /&gt;
|-&lt;br /&gt;
| {{Inline spoiler|Workshop}} || 3:40 || 21%&lt;br /&gt;
|-&lt;br /&gt;
| Arcade || 5:00 || 0.5%&lt;br /&gt;
|-&lt;br /&gt;
| Trading Post || 3:00 || 15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
These are your structures for use in the power grid.&lt;br /&gt;
&lt;br /&gt;
You can unlock more by upgrading the Power Plant in the Construction Firm.&lt;br /&gt;
&lt;br /&gt;
You can upgrade structures if they are upgradeable. All costs are rounded to the nearest resource. The power plant runs at 10 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
====Water Pump====&lt;br /&gt;
Provides infinite water.&lt;br /&gt;
&lt;br /&gt;
Cost: 25 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;[[File:PowerPlantExample.png|thumb|Basic setup for tier 1.]]&lt;br /&gt;
&lt;br /&gt;
====Fluid Pipe====&lt;br /&gt;
Transports 1000L of gas or fluid per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 5 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently used to move water from a water pump to a coal boiler, and to move steam from a coal boiler to a steam turbine.&lt;br /&gt;
&lt;br /&gt;
The pipe is gray when empty, blue when filled with water, and white when filled with steam.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Pipe Throughput (9 levels): +1000 to pipe input, output and storage (add.)&lt;br /&gt;
&lt;br /&gt;
====Yellow Battery====&lt;br /&gt;
Adds +2000 power capacity.&lt;br /&gt;
&lt;br /&gt;
Cost: 50 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be placed anywhere, and is not needed to be connected to anything.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Capacity (15 levels): +50% battery capacity&lt;br /&gt;
&lt;br /&gt;
Deep link (5 levels): +1% total power capacity per Yellow battery (add.)&lt;br /&gt;
&lt;br /&gt;
Note that the Total Capacity bonus applies to &amp;lt;i&amp;gt;all&amp;lt;/i&amp;gt; batteries, as well as the base 1000 power! I.e. if you have fully upgraded Yellow Batteries and have 10 of them, they're providing +50% to all capacities.&lt;br /&gt;
&lt;br /&gt;
===Tier 1===&lt;br /&gt;
&lt;br /&gt;
====Coal Chest====&lt;br /&gt;
Provides 2500kg of coal.&lt;br /&gt;
&lt;br /&gt;
Cost: 40 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Needs to be placed next to a coal boiler.&lt;br /&gt;
&lt;br /&gt;
Has to be replaced periodically, as it will run out of coal.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels) +25% Coal (mul.) (Cost: 25000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Coal Boiler====&lt;br /&gt;
Turns 100L of water, and 4 kg of coal into 30L of steam.&lt;br /&gt;
&lt;br /&gt;
Cost: 150 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Needs to be connected to a water pump and a coal chest to function.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Denser coal (9 levels): +30L steam/tick, +4kg coal useage/tick and +100L water useage/tick&lt;br /&gt;
&lt;br /&gt;
====Steam Turbine====&lt;br /&gt;
Transforms 10L of steam into 30 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 60 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Needs to be connected to an active coal boiler to generate energy.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Condensed turbines (6 levels): +100% power production (mult.) and steam useage/tick (Cost: 5000 × 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Two-flow rotors (6 levels): -1 base steam useage/tick (Cost: 10,000,000 × 16&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Tier 2===&lt;br /&gt;
&lt;br /&gt;
====Oil Barrel====&lt;br /&gt;
Provides 10000L of oil&lt;br /&gt;
&lt;br /&gt;
Cost: 1000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be placed anywhere, as long as a fluid pipe connects it to an oil furnace.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +20% Oil (mul.) (Cost: 100000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Oil Furnace====&lt;br /&gt;
Turns 20L of oil and 200L of water into 100L of steam.&lt;br /&gt;
&lt;br /&gt;
Cost: 17500 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Bigger heat chambers (9 levels): +100L steam/tick, +20L oil usage and +200L water useage/tick&lt;br /&gt;
&lt;br /&gt;
====Gas Tank====&lt;br /&gt;
provides 20000L of gas.&lt;br /&gt;
&lt;br /&gt;
Cost: 2000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
can be placed anywhere, as long as fluid pipes connect it to a gas turbine.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +20% Gas (mul.) (Cost: 125000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Gas Turbine====&lt;br /&gt;
Turns 25L of gas into 100 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 5000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Early ignition (5 levels): +100% power production and gas requirement&lt;br /&gt;
&lt;br /&gt;
Optimized pipes (2 levels): +1% power production (mul.) for gas turbines per regular pipe on the grid regardless if it's in use&lt;br /&gt;
&lt;br /&gt;
===Tier 3===&lt;br /&gt;
&lt;br /&gt;
====Water Turbine====&lt;br /&gt;
Uses 20L of water to provide 3 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 20000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be connected with pipes or directly to a Water Pump&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Streamlined turbines (9 levels): +100% power production (mul.) and +20L water useage&lt;br /&gt;
&lt;br /&gt;
====Solar Panel====&lt;br /&gt;
Produces 1 power per tick (0 when raining).&lt;br /&gt;
&lt;br /&gt;
Cost: 10000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Double sized panels (10 levels): +100% power production&lt;br /&gt;
&lt;br /&gt;
Aqua panels (5 levels): 2% × lvl of power production well continue during rain&lt;br /&gt;
&lt;br /&gt;
====Wind Turbine====&lt;br /&gt;
Produces 0~4 power per tick (min. of 0 without wind and max of 4 when there is a hurricane).&lt;br /&gt;
&lt;br /&gt;
Cost: 12500 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Extra long blades (10 levels): +100% power production&lt;br /&gt;
&lt;br /&gt;
Titanium rotors: 8x power generation during hurricanes&lt;br /&gt;
&lt;br /&gt;
====Red Battery====&lt;br /&gt;
Gives +25000 to power capacity.&lt;br /&gt;
&lt;br /&gt;
Cost: 2000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Capacity (4 levels): +100% power capacity&lt;br /&gt;
&lt;br /&gt;
Deep link (3 levels): +1% power capacity per component that processes resources and/or produces power times the number of red batteries (add.)&lt;br /&gt;
&lt;br /&gt;
===Tier 4===&lt;br /&gt;
&lt;br /&gt;
====Lava Pump====&lt;br /&gt;
Provides 10M L of lava.&lt;br /&gt;
&lt;br /&gt;
Cost: 25000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lava can be moved with a fluid pipe.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +15% Lava (mul.) (Cost: 1500000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Thermal Generator====&lt;br /&gt;
Turns 100L of lava and 100L of water into 200 power per tick.&lt;br /&gt;
&lt;br /&gt;
Cost: 50000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be connected with a pipe or directly to a lava pump.&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Turbine overheating (4 levels): +100% power production (mul.), +100L water and lava useage/tick&lt;br /&gt;
&lt;br /&gt;
===Tier 5===&lt;br /&gt;
&lt;br /&gt;
====Fission Reactor====&lt;br /&gt;
Transforms 1Kg of Uranium and 100L of water into 200L of steam.&lt;br /&gt;
&lt;br /&gt;
Cost: 100000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Uranium Box====&lt;br /&gt;
Provides 50000Kg of Uranium.&lt;br /&gt;
&lt;br /&gt;
Cost: 75000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +10% Uranium (mul.) (Cost: 5000000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Blue Battery====&lt;br /&gt;
Gives +500000 to power capacity.&lt;br /&gt;
&lt;br /&gt;
Cost: 50000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Deep link (4 levels): +1% total power capacity per component on the grid that emits resources (imcluding storage) times the number of blue batteries (add.)&lt;br /&gt;
&lt;br /&gt;
===Tier 6===&lt;br /&gt;
&lt;br /&gt;
====Fusion Reactor====&lt;br /&gt;
Transforms 250L of He3 into 500L of Plasma&lt;br /&gt;
&lt;br /&gt;
Cost: 1750000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Cold Fusion (9 levels): +500L Plasma Production (add.), +250L Helium Requirement (add.) (Cost: 1e14 * 100&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Helium3 Tank====&lt;br /&gt;
Provides 100000L of He3&lt;br /&gt;
&lt;br /&gt;
Cost: 500000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Storage (30 levels): +8% Gas (mul.) (Cost: 25000000 * 3&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Plasma Pipe====&lt;br /&gt;
Transport 1000L of Plasma per tick&lt;br /&gt;
&lt;br /&gt;
Cost: 100000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Plasma Throughput (9 levels): +1000 Plasma input/output/storage (add.) (Cost: 1e15 * 1000&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Plasma Turbine====&lt;br /&gt;
Transform 100L of Plasma into 5000 power per tick&lt;br /&gt;
&lt;br /&gt;
Cost: 500000 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrades:&lt;br /&gt;
&lt;br /&gt;
Plasma Synergy (3 levels): +2% [plasma] Power Production (mul.) for every component on the grid that is not a plasma turbine regardless if it's in use, +300L Plasma Requirement (add.) (Cost: 1e16 * 1e8&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +2% bonus is *additive* with increasing levels, i.e. at 3/3 levels it is a 1.06 multiplicative bonus.)&lt;br /&gt;
&lt;br /&gt;
Water Synergy (5 levels): +18% Plasma Turbine Power Production (add./mul.) for every water turbine on the grid regardless if it's in use, +80% Water Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use (Cost: 1e18 * 1e6&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +18% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +90% bonus per water turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
&lt;br /&gt;
Solar Synergy (5 levels): +10% Plasma Turbine Power Production (add./mul.) for every solar panel on the grid regardless if it's in use, +50% Solar Panel Power Production (add.) for every plasma turbine on the grid regardless if it's in use (Cost: 1e18 * 1e6&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per solar panel. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
&lt;br /&gt;
Wind Synergy (5 levels): +10% Plasma Turbine Power Production (add./mul.) for every wind turbine on the grid regardless if it's in use, +50% Wind Turbine Power Production (add.) for every plasma turbine on the grid regardless if it's in use (Cost: 1e18 * 1e6&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;(Note: The +10% bonus is additive with increasing levels, and also additive with number of components. I.e. at 5/5 levels it is a +50% bonus per water turbine. This applies independently/in addition to Plasma Synergy.)&lt;br /&gt;
&lt;br /&gt;
===Floor 2===&lt;br /&gt;
&lt;br /&gt;
====Dyson Node====&lt;br /&gt;
Provides aura and +X Power / Tick (depends on dyson power)&lt;br /&gt;
&lt;br /&gt;
Cost: 1e12 * 1.5&amp;lt;sup&amp;gt;qty&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dyson nodes cannot be placed in the 8 squares next to another node. Available as soon as Floor 2 is unlocked, regardless of Power Plant level.&lt;br /&gt;
&lt;br /&gt;
Power amount is &amp;lt;code&amp;gt;dyson_power&amp;lt;/code&amp;gt;&amp;lt;sup&amp;gt;0.25&amp;lt;/sup&amp;gt;. This maxes at 1189.2071 power per tick.&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Quantum Grid''' - Allows components on the power grid to connect to components on the opposite edge of the grid.&lt;br /&gt;
*'''Super Boost''' - Using more power for boosts has a higher impact on duration/effectivity. (Log10 -&amp;gt; Log7)&lt;br /&gt;
*'''Max. Power''' - Increases the effectiveness of all active boosts by 25% (multiplicative) if the current amount of power exceeds the maximum amount.&lt;br /&gt;
*'''Efficient Recycling''' - Lowers the base conversion rate from town resources to power plant resources to 600.&lt;br /&gt;
*'''Shutdown''' - Allows you to cancel boosts anytime. Does not refund any power!&lt;br /&gt;
*'''Yellowprints''' - Unlocks the ability to store up to 3 different layouts of the power plant as well as the functionality to import, export and apply them at any time. Additionally adds the an option to sell the entire grid.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
*'''Hibernation Mode''' ({{Number|50|icon=[[File:Exotic gem.png|20px]]}}) - Boosts stop losing their duration while the game is closed but still affect all buildings during that time as many they would normally do.&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
===Recommended Setups===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Starter Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[1]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|1.823e5|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|3.023e6}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|1.326e5|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;tZBBCsJADEWv4gm8wOxcCO4KeoG0Rh1IkzDNMMztla4M0jJI+1bJ/+GHRKVgUgK2IwncJVu48CNytHro&lt;br /&gt;
XjBh2JmKRFJOYIaphskQxltOfWT803I4R6Nik7J1xCBAV5MET5zrc04MAy7qBT5ndXlUp/5Ero+3LHU0&lt;br /&gt;
37b87g0ivLPWffMG&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Early.png|320x173px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mid-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[2]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Recommended&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Power Plant [[#Floor_2|Floor 2]]. 2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|6.935e10}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;7ZW/DsIgEMbfyMWxm4urUV/gKlcluR4Nf9Lw9nZpIh1aaIrW6sR3BO6+30GgUS3qhoDtjhQI5WwhuZIsrS8qZ6TiM8LNKj0aeSRS7QGsRe2/Jorn2x57jr6sieGznSjJYZ8jRsc7aqEbrk6XkjFhW6qhd4HH6AA5R4ExIOGN4iMyatgk7YCv+wlMDX35cOkDSbp6f+k03JfzlgV44DUECSFHT1ij6FNOyiywKQYSbu58ykkZIC6ae&lt;br /&gt;
e6j9MdLwJMsVkWXIzKKQJ+AkQLel+k1uf2JDjwB&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Mid Main.png|320x183px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Cheaper&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|3e18|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Power Plant [[#Floor_2|Floor 2]]. 1 of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|2.32e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;7ZbLDsIgEEX/yI1Ldm7cGvUHpjJVEjo0PEL4e+uiSWliA30k1nY3cAfunCEEauVR1xLIHqQCrpxlgkpBwgbGg1F0RkINVmnWZJkK7k4XgrAvFtLhCaxFHb7GXhBvlxslQV+AUDIPjZoz39kmxTYHIxZLZ4SiK8Ljo71QClcdb00MzzTrFOJuzlzIvVJjjsnnOIU2LmUu3sSjj83/CzV22yqpRt6m5YTLQI4sZufb+dbKF1BK5dvMJUapzMtXEpv3npotNWL8H2qNnRj/txoUh27V744yCN8=&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Mid Cheaper.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No-Dyson&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|4e24|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| 2 levels of each plasma turbine upgrade in [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|1.873e12}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number|???|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;7ZbBDoIwDIbfyItHbjyBUV+gSNUlZSVjy8Lby4WEmaBsrOiBE38zUv6Pdltb9mhaAm0PxFCzs0VZ3F2nWJ8RbpZNRNQxgTmBRtpYphrukYh9Cdai6TNFw8/sGrg6UymNqUBhEgmbFTnMobN0gHxVYrHCAoT+nkjKNcfLoOHxvjhb/kwZDdajx68yFtrD8Bg/FASho/n3Qq9L88UwSZOmESzN90+kH2xu0p17UfeNutU57JWuf9jqMpftFCpWy9+48rPVGn75ASt1Jl1DlUsnen8B&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Mid No-Dyson.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Late-game Power Plant Setup &amp;lt;sup&amp;gt;[[#References|[3]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;white-space:nowrap;text-align:left;font-weight:normal;&amp;quot; | Yellowprint&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Cost&lt;br /&gt;
| {{Number|3e48|icon={{Resource|Yellow}}}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Requirements&lt;br /&gt;
| Electricity [[Infinity#Infinity_Perks|Infinity Perk]] enabled. Power Plant [[#Floor_2|Floor 2]]. Fully upgraded components via [[#Technology|Technology]] tab.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Power Capacity&lt;br /&gt;
| {{Number|3.046e18}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Average Power Production&lt;br /&gt;
| {{Number| 2.266e15|suffix=/sec}}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Import Code&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=text&amp;gt;5ZbNDoIwDMffyItHbl68GvUFiqu6ZHRkbFl4e/GA2RadY4IQva30498fZaG1tKhqAaRXQgKTRheczpy&lt;br /&gt;
4bgvWNpK2SKhAS1V0UU0FR6NKThg6WxRC2g1ojaqNWmfTcEl7hNM9L2ZZ6BJ6vfS09FaGAPpOX/GKgptqfejOcMEBDVhOrC/ZSAFqB4TCB1f&lt;br /&gt;
IHuHuczfeKZMuHnTtI400bN9yURLIg3eVAO8I5PYYoOZ+Wh+BR67BdODjXCmnkW9CZ/HnEj/XnQk3kTyd9a3M/KAvmWOUQ6ouCtE5/jNfKQz&lt;br /&gt;
2cVOc51QLfjq/hZq/SKXvfEuy8veqqHPqMU02Yt95Aw==&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;&amp;quot; | Preview&lt;br /&gt;
| [[File:Powerplant Setup Late Infinity Perk.png|320x188px]]&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/781517486045921291/1130610612771246080 Early Power Plant Setup]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/781517590123905064/855970304631636012 Power plant guide v4]&lt;br /&gt;
#Discord: [https://discord.com/channels/488444879836413975/891636673744609280/1160062279467941981 MT15 Power Plant (Post Electric Stone)]&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Mid_No-Dyson.png&amp;diff=3532</id>
		<title>File:Powerplant Setup Mid No-Dyson.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Mid_No-Dyson.png&amp;diff=3532"/>
		<updated>2024-11-06T16:17:10Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Archercatneo4 uploaded a new version of File:Powerplant Setup Mid No-Dyson.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Mid_Cheaper.png&amp;diff=3531</id>
		<title>File:Powerplant Setup Mid Cheaper.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Mid_Cheaper.png&amp;diff=3531"/>
		<updated>2024-11-06T16:15:23Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Archercatneo4 uploaded a new version of File:Powerplant Setup Mid Cheaper.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Late_Infinity_Perk.png&amp;diff=3530</id>
		<title>File:Powerplant Setup Late Infinity Perk.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Late_Infinity_Perk.png&amp;diff=3530"/>
		<updated>2024-11-06T16:13:12Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Archercatneo4 uploaded a new version of File:Powerplant Setup Late Infinity Perk.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Mid_Main.png&amp;diff=3529</id>
		<title>File:Powerplant Setup Mid Main.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:Powerplant_Setup_Mid_Main.png&amp;diff=3529"/>
		<updated>2024-11-06T16:10:00Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Archercatneo4 uploaded a new version of File:Powerplant Setup Mid Main.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Experiment:_Nature&amp;diff=3514</id>
		<title>Experiment: Nature</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Experiment:_Nature&amp;diff=3514"/>
		<updated>2024-09-30T16:20:57Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Plants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NatureExperiment.png|thumb|The Nature Experiment|link=Special:FilePath/NatureExperiment.png]]&lt;br /&gt;
[[File:Experiment Nature icon.png|left|link=Special:FilePath/Experiment_Nature_icon.png]]&lt;br /&gt;
The '''Nature experiment''' is one of 12 experiments of the [[laboratory]], available at laboratory tier 2.&lt;br /&gt;
&lt;br /&gt;
The goal of the experiment is to grow a variety of different plants by altering the temperature, daylight and surrounding plants.&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
=Mechanic=&lt;br /&gt;
[[File:Plant list t1-5.png|thumb|Plant types listed above from left to right|link=Special:FilePath/Plant_list_t1-5.png]]&lt;br /&gt;
&lt;br /&gt;
Plant seeds in the grid, water and then wait for plants to grow. Click the plants with an empty mouse to harvest when ready, and use the shovel to delete seeds/plants.&lt;br /&gt;
&lt;br /&gt;
Flowers grow into a number of different mutations depending on a combination of the following factors:&lt;br /&gt;
&lt;br /&gt;
*Time of day (day or night)&lt;br /&gt;
*Temperature (hot, cold or neutral) of its own tile&lt;br /&gt;
*Temperature of 1 or more of the surrounding tiles&lt;br /&gt;
*Number and type(s) of the plants in surrounding tiles&lt;br /&gt;
&lt;br /&gt;
The player must experiment with the above factors to find all mutations and unlock the rewards.&lt;br /&gt;
&lt;br /&gt;
=Plants=&lt;br /&gt;
&lt;br /&gt;
==Basic Flower (T1)==&lt;br /&gt;
Base Plant Points per harvest: 1&lt;br /&gt;
&lt;br /&gt;
Cost to plant: {{cost|100|Green}}&lt;br /&gt;
&lt;br /&gt;
Harvest Time (base): 5:50 ''(350 seconds)''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mutations&lt;br /&gt;
!Given Hint &amp;amp; Solution&lt;br /&gt;
!Additional Hints&lt;br /&gt;
!Point Mult.&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I am what I am: Solution&lt;br /&gt;
|Anything that doesn't match the others, such as a t1 seed on a neutral tile during the day&lt;br /&gt;
[[File:I am what i am.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;I'm a normie!&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like cold nights: Solution&lt;br /&gt;
|t1 seed on cold tile during the night&lt;br /&gt;
[[File:I like cold nights.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;I'm shivering in the dark&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like it cold: Solution&lt;br /&gt;
|t1 seed on cold tile during the day&lt;br /&gt;
[[File:I like it cold.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;It can't match &amp;quot;I like cold nights&amp;quot;&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like it hot: Solution&lt;br /&gt;
|t1 seed on hot tile during the night&lt;br /&gt;
[[File:I like it hot.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;It can't match &amp;quot;I like hot days&amp;quot;&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like it dark: Solution&lt;br /&gt;
|t1 seed on neutral tile during the night&lt;br /&gt;
[[File:I like it dark.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;The moon is staring at me&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like hot days: Solution&lt;br /&gt;
|t1 seed on hot tile during the day&lt;br /&gt;
[[File:I like hot days.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|N/A&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want one friend in the night: Solution&lt;br /&gt;
|2 t1 seeds on touching tiles during the night&lt;br /&gt;
[[File:I want 1 friend in the night.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|N/A&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want some friends: Solution&lt;br /&gt;
|5-7 t1 seeds, 1 seed in a 3x3 area surrounded by the other 4-6&lt;br /&gt;
[[File:I want some friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;I want a few friends, not too much&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need cold friends: Solution&lt;br /&gt;
|5 t1 seeds in a + shape with the outside plants on cold tiles&lt;br /&gt;
[[File:I need cold friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;Same idea as &amp;quot;I want some friends,&amp;quot; but they're cold.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need hot friends: Solution&lt;br /&gt;
|5 t1 seeds in a + shape with the outside plants on hot tiles&lt;br /&gt;
[[File:I need hot friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;Same idea as &amp;quot;I want some friends,&amp;quot; but they're hot.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want many friends: Solution&lt;br /&gt;
|1 t1 seed surrounded by 8 seeds all on neutral tiles&lt;br /&gt;
[[File:I want many friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;Surround me with friends&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need a chilly friend: Solution&lt;br /&gt;
|2 t1 seeds next to each other, with 1 of them on a cold tile&lt;br /&gt;
[[File:I need a chilly friend.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|N/A&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need a hot buddy: Solution&lt;br /&gt;
|2 t1 seeds next to each other, with 1 of them on a hot tile&lt;br /&gt;
[[File:I need a hot buddy.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|N/A&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want one friend during the day: Solution&lt;br /&gt;
|2 t1 seeds next to each other during the day&lt;br /&gt;
[[File:I want 1 friend during the day.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|N/A&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want to be hot among cool friends: Solution&lt;br /&gt;
|5 t1 seeds in a + shape with the middle seed on hot tile, and outer seeds on a cold tile&lt;br /&gt;
[[File:I want to be cool among hot friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;Same idea as &amp;quot;I need cold friends,&amp;quot; but with a twist.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want strong friends: Solution&lt;br /&gt;
|t1 seed surrounded by 8 t4 seeds&lt;br /&gt;
[[File:I want strong friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;It's not enough to be a little bit strong. I want to be surrounded by protective friends.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want the strongest friends: Solution&lt;br /&gt;
|t1 seed surrounded by 8 t5 seeds&lt;br /&gt;
[[File:I want the strongest friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|N/A&lt;br /&gt;
|2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need different friends: Solution&lt;br /&gt;
|t1 seed surrounded by 2 of every other seed type on neutral tiles&lt;br /&gt;
[[File:I need different friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;Not just one type of different friends...&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|5&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want a hot party in the night: Solution&lt;br /&gt;
|9 seeds in a 3x3 pattern on hot tiles during the night&lt;br /&gt;
[[File:I want a hot party in the night.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;How many friends does it take to make a party?&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want to chill at day with many friends: Solution&lt;br /&gt;
|9 seeds in a 3x3 pattern on cold tiles during the day&lt;br /&gt;
[[File:I want to chill at day with many friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|N/A&lt;br /&gt;
|4&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|This is our realm now (Non 3x3 pattern): Solution&lt;br /&gt;
|One of each plant in the board.&lt;br /&gt;
[[File:This is our realm now.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|'''Second Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;We are one, we are five.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Third Hint:'''&lt;br /&gt;
&amp;lt;spoiler&amp;gt;There's only one of us, different friends. This is our realm.&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Cauliflower (T2)==&lt;br /&gt;
&lt;br /&gt;
Cost to plant: {{cost|2,500|Green}}&lt;br /&gt;
&lt;br /&gt;
Harvest Time (base): 11:40 ''(700 seconds)''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mutations&lt;br /&gt;
!Given Hint &amp;amp; Solution&lt;br /&gt;
!Additional Hints&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I am what I am: Solution&lt;br /&gt;
|t2 seed on neutral tile during the day&lt;br /&gt;
[[File:I am what I am .png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I drained their heat: Solution&lt;br /&gt;
|t2 seeds in a 3x3 pattern, with the middle tile hot and the outer tiles cold&lt;br /&gt;
[[File:I drained their heat .png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|Drained the heat from &amp;lt;i&amp;gt;many&amp;lt;/i&amp;gt; of them.&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like it cold: Solution&lt;br /&gt;
|t2 seed next to another t2 seed during the night&lt;br /&gt;
[[File:I like it cold t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like it hot: Solution&lt;br /&gt;
|t2 seed on hot tile during the day&lt;br /&gt;
[[File:I like it hot t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need to be alone in the dark: Solution&lt;br /&gt;
|t2 seed on neutral tile during the night&lt;br /&gt;
[[File:Alone in dark t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need different friends: Solution&lt;br /&gt;
|t2 seed surrounded by 2 of every other seed type on neutral tiles&lt;br /&gt;
[[File:Diff friends t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want some friends: Solution&lt;br /&gt;
|5-7 t2 seeds, 1 seed in a 3x3 area surrounded by the other 4-6 seeds all on neutral tiles&lt;br /&gt;
[[File:Some friends t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want many friends: Solution&lt;br /&gt;
|1 t2 seed surrounded by 8 t2 seeds all on neutral tiles&lt;br /&gt;
[[File:Many friends t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I need weak friends: Solution&lt;br /&gt;
|1 t2 seed surrounded by 8 seeds all on neutral tiles&lt;br /&gt;
[[File:Weak friends t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want slightly stronger friends: Solution&lt;br /&gt;
|1 t2 seed surrounded by 8 t3 seeds all on neutral tiles&lt;br /&gt;
[[File:Slight stronger friends t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want a cold army: Solution&lt;br /&gt;
|1 t2 seed surrounded by 8 t1 seeds on cold tiles&lt;br /&gt;
[[File:Cold army t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want a hot army: Solution&lt;br /&gt;
|1 t2 seed surrounded by 8 t1 seeds on hot tiles&lt;br /&gt;
[[File:Hot army t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want a cold army I can trust: Solution&lt;br /&gt;
|1 t2 seed surrounded by 8 t2 seeds on cold tiles&lt;br /&gt;
[[File:Cold army trust t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want a hot army I can trust: Solution&lt;br /&gt;
|1 t2 seed surrounded by 8 t2 seeds on hot tiles&lt;br /&gt;
[[File:Hot army trust t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want balanced soil in the night: Solution&lt;br /&gt;
|a checkers pattern with hot/cold tiles in a 3x3 area(NO SEEDS NEEDED), with a t2 seed in center&lt;br /&gt;
[[File:Balanced soil night t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like cold days: Solution&lt;br /&gt;
|t2 seed on cold tile during the day&lt;br /&gt;
[[File:Cold days t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I like hot nights: Solution&lt;br /&gt;
|2 t2 seeds next to each other, with at least 1 on a hot tile during the night&lt;br /&gt;
[[File:Hot nights t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|They drained my heat: Solution&lt;br /&gt;
|t2 seed on cold tile surrounded by 8 t2 seeds on hot tiles&lt;br /&gt;
[[File:Drained heat t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want the strongest friends: Solution&lt;br /&gt;
|t2 seed surrounded by at least 5 t5 seeds&lt;br /&gt;
[[File:Strongest friends t2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|I want some hot spots for my cold friends in the night: Solution&lt;br /&gt;
|In the night, t2 seed surrounded by 8 t2 seeds, with corner tiles cold and the tiles up, down, left, and right hot&lt;br /&gt;
[[File:Hot Cold Friends T2.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{collapsible&lt;br /&gt;
|This is our realm now (Non 3x3 pattern): Solution&lt;br /&gt;
|One of each plant in the board.&lt;br /&gt;
[[File:This is our realm now.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|We are one, we are five.}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Third Hint&lt;br /&gt;
|There's only one of us, different friends. This is our realm.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Bell Plant (T3)==&lt;br /&gt;
&lt;br /&gt;
Cost to plant: {{cost|75,000|Green}}&lt;br /&gt;
&lt;br /&gt;
Harvest Time (base): 20:00 ''(1200 seconds)''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mutations&lt;br /&gt;
!Given Hint &amp;amp; Solution&lt;br /&gt;
!Additional Hints&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I am what I am&lt;br /&gt;
|Solution: t3 seed on neutral tile during the night&lt;br /&gt;
[[File:I am what I am t3.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Boil Me&lt;br /&gt;
|Solution: T3 seed on a hot tile surrounded by 8 T2 or t5 seeds on hot tiles during the day.&lt;br /&gt;
[[File:boil me.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|It's not enough for just the tile it's on to be hot...&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I like it very cold&lt;br /&gt;
|Solution: T3 seed on a cold tile surrounded by 8 any non-t4 seeds on cold tiles during the night.&lt;br /&gt;
[[File:very cold.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Present me a hot commoner at night&lt;br /&gt;
|Solution: T3 seed on any tile and a T1 seed on a hot tile next to each other at night.&lt;br /&gt;
[[File:hot commoner.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want a cold commoner next to me&lt;br /&gt;
|Solution: T3 seed on a neutral tile and a T1 seed on a cold tile next to each other&lt;br /&gt;
[[File:cold commoner.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Commoners refer to me and my other mutations as the &amp;quot;Bell Plant&amp;quot;. They fuel this mutation with their presence.&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 8 T1 seeds on neutral tiles&lt;br /&gt;
[[File:commoners fuel.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I need different friends&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 2 of each other tier seeds on neutral tiles&lt;br /&gt;
[[File:different friends t3.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want some friends&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 2-4 T3 seeds on neutral tiles&lt;br /&gt;
[[File:some friends t3.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want many friends&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 8 T3 seeds on neutral tiles&lt;br /&gt;
[[File:many friends t3.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: The sound of cold bells in the night empowers me.&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 8 T3 seeds on cold tiles at night.&lt;br /&gt;
[[File:cold bells.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: The sound of hot bells makes my day brighter.&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 8 T3 seeds on hot tiles during the day.&lt;br /&gt;
[[File:hot bells.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Lonely noon serenade&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile during the day.&lt;br /&gt;
[[File:noon serenade.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: The commoners and I shall freeze at night.&lt;br /&gt;
|Solution: 1 T3 seed on a cold tile surrounded by 8 T1 seeds on cold tiles during the night.&lt;br /&gt;
[[File:commoners freeze.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Provide me a hot worthy audience of my kind at night.&lt;br /&gt;
|Solution: 1 T3 seed on a hot tile surrounded by 8 T3 seeds on hot tiles during the night.&lt;br /&gt;
[[File:hot worthy.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I prefer a balanced crowd.&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile with T3 seeds on neutral tiles neighboring it, and T1 seeds in the corners during the day.&lt;br /&gt;
[[File:balanced crowd.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I prefer a more &amp;quot;worthy&amp;quot; audience.&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 6 T3 seeds and 2 T1 seeds on neutral tiles during the day.&lt;br /&gt;
[[File:more worthy.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: All commoners will bow at my presence.&lt;br /&gt;
|Solution: 1 T3 seed on a neutral tile surrounded by 24 T1 seeds during the day.&lt;br /&gt;
[[File:commoners bow.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I prefer hot soil as far as I can see.&lt;br /&gt;
|Solution: 1 T3 seed on a tile surrounded by 24 empty hot tiles during the day.&lt;br /&gt;
[[File:HotSsoil Bell.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I prefer cold soil as far as I can see.&lt;br /&gt;
|Solution: 1 T3 seed on a tile surrounded by 24 empty cold tiles during the night.&lt;br /&gt;
[[File:cold Soil Bell.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Sing the bells bells bells bells bells bells bells bells Bells of [EXPUNGED]&lt;br /&gt;
|Solution: 25 T3 seeds on neutral tiles during the day.&lt;br /&gt;
[[File:bells bells.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{collapsible&lt;br /&gt;
|Hint: This is our realm now.&lt;br /&gt;
|Solution: One of each plant in the board.&lt;br /&gt;
[[File:This is our realm now.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|We are one, we are five.}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Third Hint&lt;br /&gt;
|There's only one of us, different friends. This is our realm.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Bush Plant (T4)==&lt;br /&gt;
&lt;br /&gt;
Cost to plant: {{cost|9,250,000|Green}}&lt;br /&gt;
&lt;br /&gt;
Harvest Time (base): 33:20 ''(2000 seconds)''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mutations&lt;br /&gt;
!Given Hint &amp;amp; Solution&lt;br /&gt;
!Additional Hints&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I am what I am&lt;br /&gt;
|Solution: T4 seed on neutral tile&lt;br /&gt;
[[File:I am what I am T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Freeze me in the sun&lt;br /&gt;
|Solution: T4 seed on cold tile surrounded by 4 T1 seeds on cold tiles&lt;br /&gt;
[[File:Freeze me in the sun T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Melt me in the dark&lt;br /&gt;
|Solution: T4 seed on hot tile surrounded by 4 T1 seeds on hot tiles at night&lt;br /&gt;
[[File:Melt me in the dark T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I only need myself and coldness&lt;br /&gt;
|Solution: T4 seed on cold tile surrounded by 8 cold tiles&lt;br /&gt;
[[File:I only need myself and coldness T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want a clean lonely throne surrounded by hot soil&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 8 hot tiles&lt;br /&gt;
[[File:I want a clean lonely throne surrounded by hot soil T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want to be very lonely in the dark&lt;br /&gt;
|Solution: T4 seed on neutral tile at night&lt;br /&gt;
[[File:I want to be very lonely in the dark T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I like mixed soil&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 4 cold tiles and 4 hot tiles&lt;br /&gt;
[[File:I like mixed soil T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I need different friends&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 2 of each other tier&lt;br /&gt;
[[File:I need different friends T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want some friends&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 4 T4 seeds&lt;br /&gt;
[[File:I want some friends T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want many friends&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 8 T4 seeds&lt;br /&gt;
[[File:I want many friends T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Grow all of us in darkness&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 8 T4 seeds at night&lt;br /&gt;
[[File:Grow all of us in darkness T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|&amp;quot;All of us&amp;quot; doesn't mean &amp;quot;different friends&amp;quot;.&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: In a full round there are two of us for each of our stronger brothers&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 3 T5 seeds and 5 T4 seeds&lt;br /&gt;
[[File:In a full round there are two of us for each of our stronger brothers T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Hide me in broad daylight behind a hot wall of my kind&lt;br /&gt;
|Solution: In day mode. A T4 seed on the center neutral tile surround by 8 T4 seeds on hot tiles.&lt;br /&gt;
[[File:Hide me in broad daylight behind a hot wall of my kind T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I like cold bells at night&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by 8 T3 seeds on cold tiles at night&lt;br /&gt;
[[File:I like cold bells at night T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I like hot bells at night ... but not too close&lt;br /&gt;
|Solution: T4 seed on neutral tile surrounded by empty neutral tiles and 16 T3 seeds on hot tiles at night&lt;br /&gt;
[[File:I like hot bells at night ... but not to close T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: At noon when the 9 commoners bowed before their bells I froze&lt;br /&gt;
|Solution: During the day, T4 seed on cold tile with 9 T1 and T3 seeds next to each other&lt;br /&gt;
[[File:At noon when the 9 commoners bowed before their bells I froze T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Hearing the 8 bells consume cauliflowers at night made me hot (Non 3x3 pattern)&lt;br /&gt;
|Solution: During the night, place a T4 seed on center hot tile surrounded by a ring of 8 T3 seeds and 8+ T2 seeds anywhere on the outer ring.&lt;br /&gt;
[[File:Hearing the 8 bells consume cauliflowers at night made me hot T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: In broad daylight I am the center of attention in a neutral world full of ignorance (Non 3x3 pattern)&lt;br /&gt;
|Solution: during the day, place a T4 seed on middle with t1 seeds filling up the rest of the board&lt;br /&gt;
[[File:In broad daylight I am the center of attention in a neutral world full of ignorance T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: We only exist within a burning hell (Non 3x3 pattern)&lt;br /&gt;
|Solution: In day mode. A T4 seed on the center hot tile surround by a full grid of T4 seeds on hot tiles.&lt;br /&gt;
[[File:We only exist within a burning hell T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: We only exist within a frozen hell (Non 3x3 pattern)&lt;br /&gt;
|Solution: In night mode. A T4 seed on the center cold tile surround by a full grid of T4 seeds on cold tiles.&lt;br /&gt;
[[File:We only exist within a frozen hell T4.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{collapsible&lt;br /&gt;
|Hint: This is our realm now (Non 3x3 pattern)&lt;br /&gt;
|Solution: One of each plant in the board.&lt;br /&gt;
[[File:This is our realm now.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|We are one, we are five.}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Third Hint&lt;br /&gt;
|There's only one of us, different friends. This is our realm.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Brain Plant (T5)==&lt;br /&gt;
&lt;br /&gt;
Cost to plant: {{cost|8,000,000,000|Green}}&lt;br /&gt;
&lt;br /&gt;
Harvest Time (base): 1:06:40 ''(4000 seconds)''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mutations&lt;br /&gt;
!Given Hint &amp;amp; Solution&lt;br /&gt;
!Additional Hints&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I am what I am&lt;br /&gt;
|Solution: T5 seed on neutral tile&lt;br /&gt;
[[File:I am what I am T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: The soil shall become lava&lt;br /&gt;
|Solution: In day mode. A grid of 9 hot tiles with a T5 seed on the center tile.&lt;br /&gt;
[[File:The soil shall become lava T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: There is nothing colder than me&lt;br /&gt;
|Solution: During night, one T5 seed on cold tile surrounded by 8 cold tiles.&lt;br /&gt;
[[File:There is nothing colder than me.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|There's nothing colder, but there might be things that are as cold...&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I am surrounded by my weakest friends&lt;br /&gt;
|Solution: One T5 seed surrounded by 8 T1 seeds.&lt;br /&gt;
[[File:I am surrounded by my weakest friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I sweat at night while my friends freeze&lt;br /&gt;
|Solution: During night, one T5 seed on hot tile surrounded by 8 T1 seeds on cold tiles.&lt;br /&gt;
[[File:I sweat at night while my friends freeze.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I warm my weak friends&lt;br /&gt;
|Solution: One T5 seed on hot tile surrounded by 1 seed of each tier on cold tiles.&lt;br /&gt;
[[File:I warm my weak friends.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: A crowd of hot cauliflowers froze my heart&lt;br /&gt;
|Solution: One T5 seed on cold tile surrounded by 8 T2 seeds on hot tiles.&lt;br /&gt;
[[File:A crowd of hot cauliflowers froze my heart.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I need different friends&lt;br /&gt;
|Solution: T5 seed on neutral tile surrounded by 2 of each other tier.&lt;br /&gt;
[[File:I need different friends T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want some friends&lt;br /&gt;
|Solution: One T5 seed surrounded by 4 T5 seeds.&lt;br /&gt;
[[File:I want some friends T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want many friends&lt;br /&gt;
|Solution: One T5 seed surrounded by 8 T5 seeds.&lt;br /&gt;
[[File:I want many friends T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I like hot bells and I can not lie&lt;br /&gt;
|Solution: One T5 seed surrounded by 8 T3 seeds.&lt;br /&gt;
[[File:I like hot bells and i can not lie T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I hang with my hot siblings at night&lt;br /&gt;
|Solution: During night, one T5 seed on neutral ground surrounded by 8 T5 seeds on hot tiles.&lt;br /&gt;
[[File:I hang with my hot siblings at night T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I want everything to be balanced and equal (Non 3x3 pattern)&lt;br /&gt;
|Solution: One T5 seed on neutral ground, surrounded by 2 seeds of each tier, each on one cold and one hot tile.&lt;br /&gt;
[[File:I want everything to be balanced and equal T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I am nothing but a shadow of my cold friend&lt;br /&gt;
|Solution: During day, two T5 seeds on cold tiles next to each other.&lt;br /&gt;
[[File:I am nothing but a shadow of my cold friend T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: All my friends are here and the stronger they are the more there are (Non 3x3 pattern)&lt;br /&gt;
|Solution: Needs 1 T1, 2 T2, 3 T3, 4 T4, 5 T5 and then one more T5 in the middle.&lt;br /&gt;
[[File:All my friends are here and the stronger they are the more there are T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: A couple of my friends like it cold like me while a dozen of them are the opposite (Non 3x3 pattern)&lt;br /&gt;
|Solution: 3 T5 seeds in the middle on cold tiles, surrounded by 12 T5 seeds on hot tiles.&lt;br /&gt;
[[File:A couple of my friends like it cold like me while a dozen of them are the opposite T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: My sister is on the other side (Non 3x3 pattern)&lt;br /&gt;
|Solution: Two T5 seeds on opposite corners.&lt;br /&gt;
[[File:My sister is on the other side T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: Bushes try to freeze me at night, but we fight back (Non 3x3 pattern)&lt;br /&gt;
|Solution: During the night, one T5 seed in the middle on cold tiles, surrounded by 8 T4 seeds on cold tiles, surrounded by 16 T5 seeds on hot tiles.&lt;br /&gt;
[[File:Bushes try to freeze me at night but we fight back T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: At night my heat is the center of attention in a cold world (Non 3x3 pattern)&lt;br /&gt;
|Solution: During night, one T5 seed on a hot tile with T1 seeds on cold tiles on the whole board.&lt;br /&gt;
[[File:At night my heat is the center of attention in a cold world T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Hint: I am the cold center of this hot empty place (Non 3x3 pattern)&lt;br /&gt;
|Solution: In day mode. A T5 seed on a center cold tile surround by a full empty hot tiles.&lt;br /&gt;
[[File:I am the cold center of this hot empty place T5.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |{{collapsible&lt;br /&gt;
|Hint: This is our realm now (Non 3x3 pattern)&lt;br /&gt;
|Solution: One of each plant in the board.&lt;br /&gt;
[[File:This is our realm now.png|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Second Hint&lt;br /&gt;
|We are one, we are five.}}&lt;br /&gt;
|-&lt;br /&gt;
|{{collapsible&lt;br /&gt;
|Third Hint&lt;br /&gt;
|There's only one of us, different friends. This is our realm.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Upgrades=&lt;br /&gt;
Harvesting plants also rewards points that can be spent on various upgrades.&lt;br /&gt;
&lt;br /&gt;
[[File:Watering can.png|link=Special:FilePath/Watering_can.png]] '''Watering can''' - Increase the time which watering lasts (max of 1:17:30 or 4650 seconds). Time: next_lvl*150 sec, Cost: &amp;lt;code&amp;gt;floor(10*1.2&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Auto replant.png|link=Special:FilePath/Auto_replant.png]] '''Auto replant''' - Enable plants to automatically harvest and replant every time it grows. Cost: 200&lt;br /&gt;
&lt;br /&gt;
[[File:Fertilize.png|link=Special:FilePath/Fertilize.png]] '''Prestige''' - Removes all the plants from the grid (without the exotic skill) and increases plants growth speed by 10% (multiplicative). Cost: 100*1.1&amp;lt;sup&amp;gt;lvl&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Rewards=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Mutations&amp;lt;br&amp;gt;discovered!!Reward&lt;br /&gt;
|-&lt;br /&gt;
!3&lt;br /&gt;
|{{Module|Offensive|size=30px}} Nature Taste&lt;br /&gt;
|-&lt;br /&gt;
!6&lt;br /&gt;
|{{Module|Defensive|size=30px}} Adaptive Regeneration&lt;br /&gt;
|-&lt;br /&gt;
!9&lt;br /&gt;
|{{Module|Defensive|size=30px}} Shield of Nature&lt;br /&gt;
|-&lt;br /&gt;
!12&lt;br /&gt;
|{{Module|Offensive|size=30px}} Violent Seeds&lt;br /&gt;
|-&lt;br /&gt;
!16&lt;br /&gt;
|{{Module|Ultimate|size=30px}} Rejuvenate&lt;br /&gt;
|-&lt;br /&gt;
!22&lt;br /&gt;
|{{Module|Offensive|size=30px}} Gaia's path&lt;br /&gt;
|-&lt;br /&gt;
!26&lt;br /&gt;
|{{Module|Offensive|size=30px}} Nature's wrath&lt;br /&gt;
|-&lt;br /&gt;
!30&lt;br /&gt;
|{{Module|Offensive|size=30px}} Daybloom&lt;br /&gt;
|-&lt;br /&gt;
!35&lt;br /&gt;
|{{Module|Offensive|size=30px}} Gigantic vines&lt;br /&gt;
|-&lt;br /&gt;
!Varies (Max. 104)&lt;br /&gt;
| +% Nature damage (Max. 200%)&lt;br /&gt;
|-&lt;br /&gt;
!Varies (Max. 103)&lt;br /&gt;
| +% Nature resistance (Max. 99%)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Navbox experiments|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=File:This_is_our_realm_now.png&amp;diff=3513</id>
		<title>File:This is our realm now.png</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=File:This_is_our_realm_now.png&amp;diff=3513"/>
		<updated>2024-09-30T16:11:22Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: Archercatneo4 uploaded a new version of File:This is our realm now.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is our realm now plant solution&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
	<entry>
		<id>https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3504</id>
		<title>Headquarters</title>
		<link rel="alternate" type="text/html" href="https://www.perfecttower2.com/wiki/index.php?title=Headquarters&amp;diff=3504"/>
		<updated>2024-09-02T11:35:03Z</updated>

		<summary type="html">&lt;p&gt;Archercatneo4: /* Software */ Add cost of wave breach&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Building|Tier=8|ConversionRate=750|Image=Hq.png|Color=Purple|ColorCode=purple}}&lt;br /&gt;
[[File:Purple resource.png|left|link=Special:FilePath/Purple_resource.png]]&lt;br /&gt;
The '''Headquarters''' is a building where you can upgrade your [[Military Tier]], purchase and install software to speed up [[Tower Testing]], or access the [[AI]] scripting feature.&lt;br /&gt;
&lt;br /&gt;
{{clear|left}}&lt;br /&gt;
==Building Tiers==&lt;br /&gt;
Each tier adds 2 extra server slots and unlocks a new contract.&lt;br /&gt;
&lt;br /&gt;
==Contracts==&lt;br /&gt;
The contracts' conditions can be met to increase resource drops in the [[New Round|core game]].&lt;br /&gt;
The total resource drop multiplier is &amp;lt;code&amp;gt;Resource Drop Bonus per Fulfilled Contract^(Fulfilled Contracts+1)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Glass Cannon===&lt;br /&gt;
Conditions: Use max. 1 defensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Pacifist===&lt;br /&gt;
Conditions: Use max. 1 offensive [[Modules|module]].&lt;br /&gt;
&lt;br /&gt;
===Colorful===&lt;br /&gt;
Conditions: Use min. 1 [[Modules|module]] of each type (offensive, defensive, utility and ultimate).&lt;br /&gt;
&lt;br /&gt;
===Activist===&lt;br /&gt;
Conditions: Use min. 4 active [[Modules|modules]]&lt;br /&gt;
&lt;br /&gt;
===Elementalist===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with #tags from each element ('''#Fire, #Water, #Earth, #Air, #Nature, #Electricity, #Light, #Darkness''').&lt;br /&gt;
* This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Neutralist===&lt;br /&gt;
Conditions: Use between 3 and 15 [[Modules|modules]] with a '''#Neutral''' tag.&lt;br /&gt;
&lt;br /&gt;
===Trickster===&lt;br /&gt;
Conditions: Include [[Modules|modules]] with '''#Buff, #Aura, #Reactive and #Chance''' tags.&lt;br /&gt;
* This means that each tag must appear in the blueprint at least once, but doesn't have to be on a singular module.&lt;br /&gt;
&lt;br /&gt;
===Annihilist===&lt;br /&gt;
Conditions: Use at least 5 [[Modules|modules]] with a '''#Universal''' tag; at least 3 modules with a '''#Area''' tag; and min. 5 Ultimate modules&lt;br /&gt;
&lt;br /&gt;
==Technology==&lt;br /&gt;
&lt;br /&gt;
===Servers===&lt;br /&gt;
[[File:Server.png|thumb]] Servers must be purchased in order to hold more CPU and RAM. Servers increase in cost as more are owned. The player can have a maximum of 16 servers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Server!!Cost ({{resource|purple}})&lt;br /&gt;
|-&lt;br /&gt;
|1||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|2||{{number|1000}}&lt;br /&gt;
|-&lt;br /&gt;
|3||{{number|10000}}&lt;br /&gt;
|-&lt;br /&gt;
|4||{{number|100000}}&lt;br /&gt;
|-&lt;br /&gt;
|5||{{number|1e6}}&lt;br /&gt;
|-&lt;br /&gt;
|6||{{number|1e7}}&lt;br /&gt;
|-&lt;br /&gt;
|7||{{number|1e8}}&lt;br /&gt;
|-&lt;br /&gt;
|8||{{number|1e9}}&lt;br /&gt;
|-&lt;br /&gt;
|9||{{number|1e10}}&lt;br /&gt;
|-&lt;br /&gt;
|10||{{number|1e11}}&lt;br /&gt;
|-&lt;br /&gt;
|11||{{number|1e12}}&lt;br /&gt;
|-&lt;br /&gt;
|12||{{number|1e13}}&lt;br /&gt;
|-&lt;br /&gt;
|13||{{number|1e14}}&lt;br /&gt;
|-&lt;br /&gt;
|14||{{number|1e15}}&lt;br /&gt;
|-&lt;br /&gt;
|15||{{number|1e16}}&lt;br /&gt;
|-&lt;br /&gt;
|16||{{number|1e17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
[[File:CPU.png|thumb|link=Special:FilePath/CPU.png]] CPU increases the speed at which new technology is researched. Each server can hold a maximum of 27.49 THz CPU. You get 1 'flop' for each 20Hz, so the maximum amount of CPU possible (with 16 servers) is 21.99 T flops.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each CPU upgrade is {{Math|5&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 4}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of speed each tier grants is {{Math|4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; × 25}} Hz&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Speed!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Basic Onboard Circuit||25 Hz||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Cubical Series Basic||100 Hz||{{number|20}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Cubical Series X2||400 Hz||{{number|100}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical Series X4||1.6 KHz||{{number|500}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical Series X4-M||6.4 KHz||{{number|2500}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Phantom Series||25.6 KHz||{{number|12500}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Phantom Series II-M||102.4 KHz||{{number|62500}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Phantom Series X||409.6 KHz||{{number|312500}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Phantom Series Dual X||1.64 MHz||{{number|1.56e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Athlete Series Neo||6.55 MHz||{{number|7.81e6}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Athlete Series X2||26.21 MHz||{{number|3.906e7}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Athlete Series X4-FX||104.86 MHz||{{number|1.9531e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Athlete Series Titan||419.43 MHz||{{number|9.7656e8}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Fire Core i3||1.68 GHz||{{number|4.88e9}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Fire Core i5||6.71 GHz||{{number|2.441e10}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire Core i7||26.84 GHz||{{number|1.2207e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire Core i9||107.37 GHz||{{number|6.1035e11}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire Core i9-X||429.5 GHz||{{number|3.05e12}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix Series Quad-Core||1.72 THz||{{number|1.526e13}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix Series Octa-Core||6.87 THz||{{number|7.629e13}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix Series X16 Supernova||27.49 THz||{{number|3.8147e14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===RAM===&lt;br /&gt;
[[File:RAM.png|thumb|link=Special:FilePath/RAM.png]] RAM increases the number of lines that an AI Script can hold. Each server can hold a maximum of 1.1 PB RAM. The maximum amount of RAM possible (with 16 servers) is 17.59 PB, which allows 25 lines per AI script.&lt;br /&gt;
&lt;br /&gt;
The formula for the cost of each RAM upgrade is {{Math|(6&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt; / 0.6)}}&lt;br /&gt;
&lt;br /&gt;
The formula for the amount of memory each tier grants is {{Math|(4&amp;lt;sup&amp;gt;''tier''&amp;lt;/sup&amp;gt;)}} KB&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tier!!Name!!Memory!!Cost&lt;br /&gt;
|-&lt;br /&gt;
|0||Small Onboard Chip||1 KB||-&lt;br /&gt;
|-&lt;br /&gt;
|1||Basic Static RAM Chip||4 KB||{{number|10}}&lt;br /&gt;
|-&lt;br /&gt;
|2||Basic Static RAM Chip X4||16 KB||{{number|60}}&lt;br /&gt;
|-&lt;br /&gt;
|3||Cubical DRAM Gen 1||64 KB||{{number|360}}&lt;br /&gt;
|-&lt;br /&gt;
|4||Cubical DRAM Gen 2||256 KB||{{number|2160}}&lt;br /&gt;
|-&lt;br /&gt;
|5||Cubical DRAM Gen 8||1.02 MB||{{number|12960}}&lt;br /&gt;
|-&lt;br /&gt;
|6||Cubical DRAM Extreme||4.1 MB||{{number|77760}}&lt;br /&gt;
|-&lt;br /&gt;
|7||Lightning Series SDRAM||16.38 MB||{{number|466560}}&lt;br /&gt;
|-&lt;br /&gt;
|8||Lightning Series SDRAM-XL||65.54 MB||{{number|2.8e6}}&lt;br /&gt;
|-&lt;br /&gt;
|9||Lightning Series SDRAM VI||262.14 MB||{{number|1.68e7}}&lt;br /&gt;
|-&lt;br /&gt;
|10||Lightning Series SDRAM Final||1.05 GB||{{number|1.0078e8}}&lt;br /&gt;
|-&lt;br /&gt;
|11||Poseidon Series DDR2||4.19 GB||{{number|6.0466e8}}&lt;br /&gt;
|-&lt;br /&gt;
|12||Poseidon Series DDR2 X4||16.78 GB||{{number|3.63e9}}&lt;br /&gt;
|-&lt;br /&gt;
|13||Poseidon Series DDR2 Platinum||67.11 GB||{{number|2.177e10}}&lt;br /&gt;
|-&lt;br /&gt;
|14||Poseidon Series DDR2 Platinum X4||268.44 GB||{{number|1.3061e11}}&lt;br /&gt;
|-&lt;br /&gt;
|15||Fire RAM DDR3||1.07 TB||{{number|7.8364e11}}&lt;br /&gt;
|-&lt;br /&gt;
|16||Fire RAM DDR3 X4||4.29 TB||{{number|4.7e12}}&lt;br /&gt;
|-&lt;br /&gt;
|17||Fire RAM DDR3 Colossal||17.18 TB||{{number|2.821e13}}&lt;br /&gt;
|-&lt;br /&gt;
|18||Phoenix DDR4 Experimental||68.72 TB||{{number|1.6927e14}}&lt;br /&gt;
|-&lt;br /&gt;
|19||Phoenix DDR5 Collection||274.88 TB||{{number|1.02e15}}&lt;br /&gt;
|-&lt;br /&gt;
|20||Phoenix DDR5 Gargantuan||1.1 PB||{{number|6.09e15}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
Install programs to speed up the core game. The programs are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Name!!Cost!!Time!!Description&lt;br /&gt;
|-&lt;br /&gt;
|Autoskip||{{number|50}}||2500000 flop-sec||When activated it removes the waiting time between waves once all enemies have spawned and therefore slightly speeds up wave progression on lower difficulties.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Streaming||{{number|2.5e5}}||12500 flop-days||Slowly accelerates enemies while at the same time decreasing the spawn interval duration yielding a much higher wave progression speed.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Surge||{{number|7.5e6}}||100000 flop-days||Improves wave streaming by increasing the maximum acceleration limit. After a certain amount of time entire waves are being skipped. ''Skipped waves do not trigger wave related module effects!''&lt;br /&gt;
|-&lt;br /&gt;
|Critical Wavejump||{{number|2.25e7}}||150000 flop-days||Provides a 1% chance to skip waves equal to 5% of your wave record of the current region and difficulty whenever you proceed to the next wave as long as you are below your previous record. Only works in [[Endless mode|endless mode]]!&lt;br /&gt;
|-&lt;br /&gt;
|[[AI|Facility AI]]||{{number|1.75e8}}||200000 flop-days||Unlocks the Facility AI which includes some basic programmable logic scripts.&lt;br /&gt;
|-&lt;br /&gt;
|Boots.dos||Hint: &amp;lt;sup&amp;gt;[[Headquarters#Footnotes|[1]]]&amp;lt;/sup&amp;gt; &amp;lt;spoiler&amp;gt;Debug the Overflow&amp;lt;/spoiler&amp;gt;{{number|3e8}}|| ||Enhances the AI with functions to draw on a canvas that spans over the AI overlay.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Momentum||{{number|5e8}}||250000 flop-days||Everytime the tower destroys an enemy in [[Endless mode|endless mode]] you gain one more wave the next time the wave counter changes. Afterwards the destroyed enemy counter resets. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Wave Storm||{{number|1.75e9}}||500000 flop-days||Increases the amount the counter of Wave Momentum increases whenever an enemy is being destroyed by 10% (Multiplicatively) for each completed normal mode. Additionally increases the wave acceleration factor by 0.25 whenever an enemy is being destroyed and Wave Streaming is active.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Persistence||{{number|3.75e9}}||1000000 flop-days||Improves Wave Momentum by resetting the destroyed enemy counter only to 90% of its previous value instead of zero.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Instability||{{number|5e12}}||2000000 flop-days||Improves Critical Wavejump by increasing its chance to trigger by another 4% and increases the skipped amount to 10% of your previous record.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Vortex||{{number|3e13}}||4000000 flop-days||Removes the warm-up time from Wave Streaming and further increases the wave acceleration speed. Can be combined with Wave Surge.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Catalyst||{{number|1e14}}||5000000 flop-days||Increases the speed of Wave Streaming based on the amount of waves skipped everytime Critical Wavejump triggers. Has no effect if the wave acceleration factor already exceed 1B (1e9).&lt;br /&gt;
|-&lt;br /&gt;
|Wave Endurance||{{number|4e14}}||6250000 flop-days||Increases the acceleration of Wave Streaming by 5% per second. (This means that the acceleration gets accelerated over time.)&lt;br /&gt;
|-&lt;br /&gt;
|New Bounds||{{number|2e15}}|| ||[[Endless mode|Endless mode]] starts at [[Era]] 1 if the highest record in the current region and difficulty is equal to or bigger than Era 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Marathon||{{number|7.5e15}}|| ||Increases the acceleration factor of wave endurance by 100% (From 5% to 10%, 15%, 20%, ...) for each region and difficulty with a highscore equal or greater than era 1.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Compression||{{number|3e16}}|| ||Reduces the amount of spawn ticks per wave by 50% and increases the destroyed enemy counter of wave momentum exponentially by 0.4% everytime an enemy is being destroyed. Only works in endless mode!&lt;br /&gt;
|-&lt;br /&gt;
|Era Surge||{{number|5e16}}|| ||Skips to the next [[Era]] every 10 times the wave counter changes. Only works if the current Era is at least 1.&lt;br /&gt;
|-&lt;br /&gt;
|Era Burst||{{number|3e17}}|| ||Skips (Total amount of waves skipped)^0.5 eras whenever the wave counter changes. If Era Surge is active then its effect will change to a 10% boost for Era Burst&lt;br /&gt;
|-&lt;br /&gt;
|Era Swirl||{{number|8e18}}|| ||Increases the amount of eras skipped the greater your gap to era {{number|1e11}} is. Has no effect if your current era is bigger than {{number|1e11}}.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Horizon||{{number|9e19}}|| ||Multiplies the acceleration speed of wave streaming by 25 for each region and difficulty with a highscore equal or greater than era 1. Only works if current era is below {{number|1e11}}.&lt;br /&gt;
|-&lt;br /&gt;
|No Bounds||{{number|3e21}}|| ||Endless mode starts at [[Infinity]] 1 if the highest record in the current region and difficulty is equal to or bigger than Infinity 1. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}.&lt;br /&gt;
|-&lt;br /&gt;
|Era Tunneling||{{number|1e22}}|| ||Increases the amount of eras skipped by 25% and by an additional +25% for each region where all difficulties in endless have a highscore of infinity 1 or greater.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Breach||{{number|5e22}}|| ||Removes the infinity based limitation of wave horizon and boosts the accel gain from wave streaming based on the highest wave acceleration amount you have ever reached in any region. Formula for multiplier: Log10(10+Highest Acceleration/100)&lt;br /&gt;
|-&lt;br /&gt;
|Wave Floor||{{number|5e22}}|| ||Prevents the wave counter from going below {{number|1e8}} if the highest era in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Floor||{{number|5e24}}||5e11 flop-hours||Prevents the era counter from going below {{number|1e8}} if the highest infinity in the current region is bigger than 0.&lt;br /&gt;
|-&lt;br /&gt;
|Era Horizon||{{number|1.2e27}}||1e12 flop-hours||As long as this software is active, each difficulty in each region with a highscore equal to or greater than Infinity 1 multiplies the amount of eras skipped using era software by 4 (additively) and the exponent of era burst by 0.002 (additively). Removes the Era/Infinity restriction of Era Swirl as well.&lt;br /&gt;
|-&lt;br /&gt;
|Wave Restart||{{number|5e28}}||1.5e12 flop-hours||If this software is active then a new round in tower testing will start at your previous record. If wave catalyst is active at the same time then the wave acceleration factor will be set to {{number|1e9}}. With this software you can technically push forever so use it wisely.&lt;br /&gt;
|-&lt;br /&gt;
|Infinity Horizion||{{number|1.5e30}}||2e12 flop-hours||Turns era swirl into a constant multiplier with the same value as the &amp;quot;maximum bonus would have provided.&amp;quot; (11x) Also doubles the wave acceleration speed as well as the acceleration of the acceleration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is another technical limit for speed which is compensated by skipping waves leading to a higher resources/sec increase at the cost of missing out a few enemies.&lt;br /&gt;
&lt;br /&gt;
==Military==&lt;br /&gt;
{{Main|Military Tier}}&lt;br /&gt;
&lt;br /&gt;
In the military tab you can soft prestige after meeting certain requirements (unlocking regions, maxing out modules...), which change with every prestige.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reward the player with higher maximum modules tier, new buildings, software, bosses, and other features.&lt;br /&gt;
&lt;br /&gt;
Prestiging will reset the level of all modules, as well as losing all your cubes. Cubes can be regained over a period of 4 hours (1 hour with the exotic skill '''Trustworthy Trust Fund'''). To compensate this, you are rewarded some gems or exotic gems.&lt;br /&gt;
&lt;br /&gt;
Prestiging will not make you lose gems, exotic gems, or non-cube building resources.&lt;br /&gt;
&lt;br /&gt;
You will start at Tier 0, and will eventually reach Tier 4, unlocking access to the [[AI]]. Upon reaching tier 8, you will unlock access to [[Era]] content. [[Infinity]] content is available at Tier 12.&lt;br /&gt;
&lt;br /&gt;
==Facility AI==&lt;br /&gt;
{{Main|AI}}&lt;br /&gt;
&lt;br /&gt;
The Facility AI is a section unlocked by attaining military prestige 4 and installing it from software section. The AI allows for multiple automation tasks to be performed, including refreshing [[Mine]] layers, combining power stones at the [[Museum]], using active modules automatically, or simply clicking at specific locations on the screen.&lt;br /&gt;
&lt;br /&gt;
==Skills==&lt;br /&gt;
{{See also|Skills (Upgrade)}}&lt;br /&gt;
&lt;br /&gt;
*'''Sponsoring''' - Decreases the resource conversion rate of the headquarters by 5 for each completed difficulty in normal mode. Takes all unlocked regions into account.&lt;br /&gt;
*'''Dealbreaker''' - Allows you to cancel non-forever contracts. Does not refund any resources!&lt;br /&gt;
*'''Offline Installing''' - Allows the headquarters to continue installing software while the game is closed.&lt;br /&gt;
&lt;br /&gt;
==Exotic Skills==&lt;br /&gt;
{{See also|Exotic Skills}}&lt;br /&gt;
*'''Trustworthy Trust Fund''' ({{Number|20|icon=[[File:Exotic gem.png|20px]]}}) - Reduces the total time it takes to regain all resources after a tier up by 3 hours.&lt;br /&gt;
&lt;br /&gt;
==Footnotes==&lt;br /&gt;
&lt;br /&gt;
#D0s's Secret &amp;lt;spoiler&amp;gt;Crash the AI while Debug Overlay is open&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Navbox buildings|state=expanded}}&lt;br /&gt;
{{PerfectNavigation}}&lt;br /&gt;
[[Category:Buildings]]&lt;/div&gt;</summary>
		<author><name>Archercatneo4</name></author>
		
	</entry>
</feed>