My game called "Asteros", created by myself (Alydius)

~~Drawing
Outlines (stroke or border) of tanks, weapons, projectiles, accessories, foods, bosses are 3 px with color is darkened by 25%.

Shape model ("ShapeModel" in code):
* Trap: 3-pointed polygram with X-offset spoke ratio is 0.8x apothem.
* Gleaming: 3-pointed polygram with X-offset spoke ratio is 0.3x apothem.
* Lustrous: 3-pointed polygram with X-offset spoke ratio is 0.8x apothem, but it's negatively curved (sparkle-like).
* Mine: 4-pointed polygram with X-offset spoke ratio is 0.4x apothem.
* SpecialPolygram: 3-pointed polygram with X-offset spoke ratio is 0.5x apothem.
* GigaTrap: Pentagram with X-offset spoke ratio is 0.84x apothem.

~~Weapons
~Cannons
The cannons (also called barrels) are a type of weapon found on many tanks. They shoot bullets, which pass through cannons. When firing, cannons move back and forth, in a sort of piston motion. To fire, press space, left click, or turn on auto fire by pressing E. They can appear in different shapes and sizes and shoot bullets in a variety of ways.

Types of Cannons:
-Normal: These are the most common out of all the cannons. They appear on most tanks. They take on a small, rectangular shape and fire normal-sized Bullets. They are found on, for example, basic tanks, flank guards, tri-angles, and quad tanks.
-Sniper: These cannons are found on sniper-class tanks. They are very long, rectangular cannons and look like normal cannons, with a decreased reload and increased bullet speed/bullet damage stats. The ranger’s cannon has a trapezoidal base.
-Destroyer: These cannons shoot the largest and the slowest bullets in the game. Only the annihilator, destroyer, and hybrid have these. They take on a wide, rectangular appearance. The destroyer dominator’s cannon has a trapezoidal base.
-Deployer: These cannons launch missiles, which are high-damaging projectiles (albeit dealing less damage than a destroyer bullet) with cannons on them which shoot small bullets to propel the missile forward or damage other tanks. They are only found on rocketeers, skimmers, and gliders. They have very little recoil compared to destroyer cannons. There are three known types of missiles. The rocketeer fires missiles with a small machine gun barrel on the back. The skimmer fires missiles that spin and have two cannons on either side of the missile, like a flank guard. The glider fires missiles with two cannons behind them.
-Machine gun: These cannons are found on the machine gun and sprayer. They rapidly shoot bullets with a large spread. They take on a wide, trapezoidal shape, very similar to that of a drone spawner, but slightly longer. A small Machine gun cannon is also found on missiles fired by rocketeers.
-Gunner: Gunner cannons shoot the smallest bullets. They are found on most gunner branch-offs, the sprayer, the spread shot, the auto gunner, and gunner trapper. They take on a very small, rectangular shape, similar to normal cannons.
-Overlapping: These are multiple cannons that overlap each other. Only the predator, hunter, sprayer, and streamliner have these. The sprayer has a variant which is a gunner cannon overlapped by a machine gun cannon.
-Stalker: These cannons are only seen on the stalker. Apart from their appearance, they work just like regular sniper cannons. They take on a long, inverted trapezoidal shape and taper on to the tip of the cannon; much the same design as battleship spawners, albeit being much larger. There is no statistical advantage of having a stalker cannon.
--Note: Typically trapezoid bases on cannons indicate increased range/FoV, such as with the ranger, and predator.

~Deployers
Deployers are a type of weapon that launches missiles, which are high-damaging projectiles (albeit dealing less damage than a destroyer bullet) with cannons on them which shoot small bullets. They have very little recoil -- about as much as a launcher. A deployer has varying designs, the skimmers looks like a shorter destroyer cannon overlapping a shorter machine gun cannon. They look like wider hunter cannons since the shorter machine gun-like cannon looks like a wide tank cannon.

~Launchers
Launchers are a unique type of weapon that shoot traps, which disappear over time and deal great amounts of damage when an enemy touches it. Launchers have reduced recoil compared to cannons. Regardless, all trap launchers behave the same.

Types of launchers:
-Normal: This launcher features a small rectangular base with an upside-down trapezoid at the end. This launcher shoots tiny traps that can be used as a defense and close-range ammunition. The Trapper, Overtrapper, Auto Trapper and Tri-Trapper bear this. The Defender use this type of launcher too.
-Mega: This launcher lays bigger and more durable traps, with extra penetration and damage, but with slightly less speed. The upgraded traps allow stronger defenses and longer-lasting walls. Only Mega Trappers use these launchers. This is the only launcher that shoots traps that are the same size as the tank's body.
-Medium: Although these launchers look the same as mega launchers, the traps they fire are about half as big. Their traps move slightly slower than normal. This launcher is only seen on the Gunner Trapper, along with the two upgraded Gunner Cannons.

~Spawners
Spawners are a type of weapon that spawn drones.

Appearance:
Spawners look like gray trapezoids and appear on certain tanks and bosses. Some may appear narrower or tapered such as the case for Battleship respectively.

~Auto turrets
Auto turrets or simply as turrets, are weapons that Defenders, Auto 5s, Auto 3s, Auto Gunners, Auto Smashers, Auto Trappers, Auto Tanks use. Auto turrets are gray circles with cannons on them, attached to or on top of a tank that fire at nearby targets automatically without needing player input. When attached to the side of a tank (as seen on the Auto 3 and the Auto 5) only half of the circle beneath the cannon can be seen, because of the tank's body covering some of the turret.

## Technical:
# Artificial intelligence:
When AI-controlled:
* The auto turrets will attack the closest target and keep attacking it until it dies or goes out of range.
* The auto turrets prioritize tanks over polygons.
* The auto turrets don’t attack projectiles.
* The auto turrets seem to prioritize the most aggressive thing near you. Example: You are in the polygon nest, and there is an alpha polygon nearby, with a crasher coming after you. The auto turrets will almost always attack the crasher.
* In game modes with teams, auto turrets will not target players on your team, they will only target players on the enemy teams. Though if a glitch occurs causing the auto turrets to target a player on your team, the bullets will, however, go through the player, as bullets do not hurt players on your team.

When it was possible to take control of them:
* Players could control the auto turrets closest to their mouse (if more than one existed), by left-clicking, pressing space or having auto fire turned on (does not apply to tanks which have alternative firepower).
* Right-clicking or pressing shift would instead fire from the auto turret most far away from the cursor (does not apply to tanks which have an alternative firepower). Also, auto turrets closest to their mouse would fire in the opposite direction, giving a boost.
* Multiple turrets could be controlled if both were close enough to the mouse (only applied to Auto 3 and Auto 5).
* Auto turrets that are located in the middle of a tank (not including the Auto 3 or Auto 5) would slowly revolve around the tank when unable to focus on any entity.
* Pressing V (standing for passive mode) would disable auto turrets, turrets never attack or shoot.

# Properties
* Auto turrets fire Bullets which are slightly smaller than that of other tanks.
** They have unnaturally high Bullet Penetration for their size but move slightly slower.
* Auto turrets on the Auto Tanks can only turn their cannons a certain total angle.
** This is why you take control of different turrets as you move your cursor around the tank.
** Should an object leave their angle range, the next turret will take over.
** Exceptions are Auto Gunners and other tanks with uncontrollable auto turrets, as they can fire in any direction.

~~Ammunitions
~Bullets
Bullets are the most common form of ammunition in Asteros. They are fired from cannons and auto turrets.

In Free For All game modes, the player’s bullets are blue, but enemy bullets are red. In the team gamemode, the color of the player’s bullets depends on the color of their team.

The size of a bullet depends on the level and class of the tank from which it originated, as further elaborated below.

Some classes of tanks use other types of ammunition as well: Drones (summoned by spawners), traps (laid by launchers), and base drones (found in bases and summoned by Motherships).

Types of bullets:
-Normal: Average-sized Bullets that are fired from most classes of tanks, typically from normal rectangular Cannons, such as that found on the Basic Tank, with no buffs or debuffs. Some bullets are propelled faster than others, some do more damage than others.
-Large: Large bullets, also called Destroyer bullets, are used by the Destroyer, Hybrid. They deal greater damage and possess greater penetration than the normal and small bullets, though they travel considerably slower.
-Small: The Gunner branch, Factory drones use these. They have the weakest penetration of all of the types of ammunition, though they travel fast. Their bullet damage varies from class to class, but they tend to hit hard for their size, especially when their damage stacks with multiple Bullets.
-Auto: Bullets fired by auto turrets have a slightly higher amount of penetration than normal bullets, but also a slower speed and smaller size. It is also the second smallest, as shown in the image.
-Multi-shot: Multiple different-sized bullets are fired in order. This type of bullet is generally used by tanks in the Hunter branch, as well as the Sprayer and Spread Shot.
-Huge: These bullets are only used by the Annihilator. They have the same penetration and damage as the large bullets, but it’s easier to kill other tanks with them because of their size. They have the highest knockback for a bullet controlled by a player tank.
-Missile bullets: Those bullets are shot not from individual tanks, but from missiles. They deal 80% of the damage of a single Gunner bullet, and usually only exist to propel the missile forward.

~Missiles
Missiles are high-damage projectiles that are launched out of deployers. Missiles shoot smaller, Gunner-sized bullets through their blue cannons. The bullets they fire deal about half of the damage of a normal Destroyer bullet. Missiles can travel up to four seconds before disappearing, unlike the usual three-second disappearance of normal bullets. An alternative version of the missile used by the Rocketeer has a single Machine Gun barrel on the missile’s back.

Skimmer missiles:
The Skimmer's missiles are used exclusively by the Skimmer and features two cannons positioned 180 degrees apart, similar to the positioning Flank Guard's cannons. The missiles spin clockwise, firing small bullets that create a vortex-shaped pattern. If the player holds right-click when firing, the missile will spin counterclockwise. Skimmer missiles stay alive for approximately five seconds before despawning.

Rocketeer missile:
The Rocketeer's missiles are used exclusively by the Rocketeer and features a Machine Gun cannon mounted at the back, propelling the missile forwards. Due to this, the Rocketeer's missiles are very fast. However, as soon as the bullet leaves the barrel, there is a slight delay before the Machine Gun cannon will start firing the mini bullets. Rocketeer missiles stay alive for approximately four seconds before despawning.

Glider missile:
The Glider's missiles are used exclusively by the Glider and features two cannons at mounted at the back of the missile, positioned like the Tri-Angle's back cannons. Those cannons propel the missile forward, as well as slightly damaging nearby enemies that are next to the missile's line of fire. Glider missiles stay alive for approximately five seconds before despawning.

~Traps
Traps are a type of ammunition, fired from a launcher. Traps are shaped like concave hexagons or three-pointed stars.

Technical:
* Traps move forward, quickly losing velocity before becoming stationary.
* Traps last for a long time: 24 seconds for traps spawned from the Trapper, Mega Trapper, Overtrapper and Auto Trapper, though only 10 seconds for Tri-Trapper. Trap lifetimes are fixed and are not affected by any stats.
* Traps can be shot to move them, but only by enemy tanks (and the launcher of the trap for a limited amount of time).
* If playing on team gamemode, traps created by a player cannot hurt members of their team.
* Traps do have health, and if they take enough damage, (i.e. from bullets), they will fade away and disappear.

Types:
-Small: They have the power of exactly two bullets of the Basic Tank. Trapper, Tri-Trapper, Auto Trapper and Overtrapper use these traps, they have the longest lifespan, except the Tri-Trapper’s traps which last only slightly longer than the Mega Trapper’s.
-Medium: The Gunner Trapper’s traps are slightly bigger than the Trapper, Tri-Trapper, and Overtrapper’s traps, but are smaller than the Mega Trapper’s. However, it does equal damage as a small trap.
-Mega: The size of the trap it uses is similar to the size of an Annihilator’s bullet. They are more than twice as strong as small traps, and they have a power of more than 5 bullets of the Basic Tank. It is rarely worthwhile to destroy these traps, as they will often die on their own before you can fully deplete their health. This trap is exclusive to the Mega Trapper.

~Drones
Drones are weapons used by the Overseer branches and the Hybrid. Most drones look like smaller versions of triangles, with the only exceptions being the Necromancer’s drones, which are tinted squares, and the Factory’s, which look like small Basic Tank.

# Technical:
Behavior:
All drones (with the exceptions of Hybrid’s and Overtrapper’s AI-controlled ones and the Factory’s minions, which exhibit more complex behavior) can be controlled via left-clicking or by pressing E to enable auto-fire. This forces them to follow the player’s cursor. Right-clicking or pressing Shift will force drones to move away from it. Pressing V to disable drones, drones never attack.

If not controlled, all the drones regardless of their type will automatically seek the nearest enemy in their immediate area. If no target is available, they’ll become "idle" and passively orbit around their tank.

The Mothership and the Battleship present both controllable drones and uncontrollable drones. (Presumably, due to their exceptionally high drone count). The latter, automatically protecting the tanks from enemy users.

Stats:
Drones are affected by these stats:
* Bullet penetration increases their max health.
* Bullet damage increases their body damage
* Bullet speed increase their movement speed.
* Reload increases their respawn rate (or drone limit in the case of undead drones)
Note that in Factory’s case the mentioned Stats also modify these traits:
* Bullet penetration increases their bullet penetration.
* Bullet damage increases their bullet damage.
* Bullet speed increases their bullet speed.
* Reload increases their bullet reload.

Necromancer drones:
These drones, also known as undead drones, are only accessible by the Necromancer. They are essentially the same, except:
* They are presented in far greater numbers, but in return, they take full damage instead of only 25% like other drones.
* They have a square shape and somewhat reduced speed.
* All the tanks that use this type of drone have a square base.
* The Necromancer must collect its drones by infecting squares.
* Unlike other types of drones, you can get points (10 EXP) by destroying a Necromancer drone. If the drone is converted from a shiny (level 1) square however, you will get 1000 EXP.
* They are considered shapes (or more specifically, squares) by the game.
* Note: The Summoner's drones are almost identical to the Necromancer's drones, except for the fact that the Summoner's drones are generated via four spawners, as well as do not give any EXP upon destroying. They are also considered drones rather than shapes like regular Necromancer's drones.

Factory drones:
These drones are exclusive to the Factory. They are also known as minions. They present some singular characteristics in the sense that:
* They move at roughly half the speed of normal triangle drones.
* They are twice as strong as normal triangle drones.
* They are the only type of drones in which their body isn’t their main offensive weapon.
* They are smaller than level 1 tanks and have a similar appearance to the Basic Tank.
* They do not chiefly use melee attacks — they keep their distance and shoot, like miniature tanks.
# Technical:
* Both the Factory’s projectile types are affected by the same stats. (e.g. bullet damage increases both the Minion’s body damage and their bullet damage)
* When idle, the minions will orbit the player, similar to other drones but further away from the player’s body.
* When using Left-Click the minions will go, and fire, in the cursor’s direction. Given a certain distance, the drones will start orbiting around the pointer while shooting at it.
* When using Right-Click, and depending on their position with the cursor, the minions will either orbit the cursor while shooting outwards, clump together in a star formation, or go away from it like normal repelled drones.

~~Mechanics
~Auto fire
It can be used by any tank. The feature is activated by pressing E on the keyboard and is deactivated the same way.

Function:
Auto fire allows the player to continuously fire bullets without the need to click their mouse or press space. There is a notification near the top of the screen that notifies the player that auto fire has been turned on/off when the E key is pressed.

Classes that use drones, such as the Overseer, Overlord, Manager or Necromancer will have auto fire cause their drones to continually follow the mouse pointer. Shift (or right-click) will still make them fly away from the cursor, even with auto-fire on. This does not happen with the Battleship, however, as firing is required to summon drones.

Note that although there will always be a message when enabling auto fire, there will not always be an effect. For example, the Smasher branch, which does not fire bullets (except for the Auto-Smasher), is not affected by futo aire. Auto turrets, which always fire automatically, are also not affected.

~Auto spin
It can be toggled on/off by pressing C.

Function:
Auto spin allows the player to spin around at a set speed without moving the mouse. It is activated by pressing C. When activated, a notification appears at the top of the screen, much like when auto fire is turned on. When auto spin is on, the tank will begin spinning clockwise automatically, making a full revolution in just under 6 seconds. For tanks that have controllable drones (Overseer, Overlord, Necromancer, Manager, Battleship), they too will spin clockwise.

~Invisibility
Invisibility is an ability exclusive to the Manager, Stalker, and Landmine, and is used for defense, evasion, or deception. It is activated only when a player is not moving or firing.

Technical:
Invisibility engages when the player is stationary and not firing, but disengages slightly when the player moves or shoots. Once engaged, the tank will become transparent (along with the health bar, although the player will be able to see it). Damaging the tank dispels the invisibility a bit. When positioning the cursor close to the tank, the player may see themselves without any other players seeing them.

Crashers will not be able to see invisible tanks and will seek out other targets should it become invisible. However, Crashers can still hit invisible tanks if they are in the way of its target, dissipating the invisibility and alerting other Crashers (and enemy tanks) to the invisible tank’s presence. Since there are often a great many Crashers moving around the polygon nest, this makes it a poor place to hide.

~Levels
Levels are a game mechanic in Asteros. Players level up by gaining score, killing other players, destroying foods and Crashers. The player's total score and level are represented by two bars below their name, as shown on the right. The numbers on the top bar represent the player's total score whilst comparing the player's score as a percentage of the score of the leader (the player at the top of the scoreboard) - as such, when the player is the leader, this bar is full. Another difference between these two bars is that the score bar can fluctuate up and down, while the level bar can only increase. The bottom bar represents the player's current level and their current progress to the next level; once this bar is full, they gain a level. This system terminates at level 45, as no higher levels can be reached.

Mechanics:
For every level gained, up to Level 28, a skill point is received (after which a skill point is received at Level 30, and then every 3 levels afterward up to level 45). Skill points are used to upgrade the player's Stats. In the skill tree, shown to the right, up to 7 total skill-points may be invested into a stat, with there being eight stats. Four stats can be maxed out (or filled), with another receiving the last five points. An exception to this is the Smasher branch, which can use up to 10 points, but only 4 stats. The Auto Smasher, however, has all 8 stats with a maximum of 10 points. There is a maximum of 33 skill points, so use them wisely, or the player will end up with an ineffective build.

Even two of the same tanks can vary widely based on how its skill points are distributed; these different skill point distributions are known as Builds. They vary between strict melee builds and ranged builds.

For every 15 levels, up to 45, the player may go up to the next Tier, which drastically improves the characteristics of the player's tank and its Barrels, Spawners, Trap layers, or other attributes.

As the player levels up:
* The size of the player's tank and its ammunition size will increase by 1% per level above level 1.
* The tank’s health will increase by 2 HP per level.
* The field of view (FoV) will increase.
* The movement speed will decrease.

Should the player die, they will respawn at a lower level, which fully depends on their level before they died. It is usually half of the player's level, but below Level 12 they will go down only one level, when they are Level 15 they will get Level 12, and upwards to 30 it depends on score, then level.

Formula for tank body size: [Diameter of body] * 1.01^{Level - 1}
* 40 px * 1.01^{45 - 1} = 61.972702860619 px in diameter.
* It have effects on scale of tank design, weapons, accessories, projectiles.

Formula for EXP need: round{(frac{40/9} * 1.06^{Level - 1}) * Level}
* Level 1 tank has 0/4 EXP to become level 2.

~Stats
Stats are a core game mechanic in Asteros. Along with customizing the class of a tank, players can also modify their tank’s Stats to master their own play style.

Mechanics:
As the player levels up, they begin to earn Skill Points, which are used to upgrade stats. Skill Points can be spent either through clicking the + button next to a stat bar (shown at right) or by pressing the corresponding number key. Tanks gain 1 Skill Point for every Level until Level 28, after which one Skill Point is obtained at level 30, and then one Skill Point every three Levels until they reach Level 45. The maximum number of skill points is 33, and a stat can be upgraded 7 times before maxing it out fully (with exception to the Smasher branch - the maximum is 10 upgrades for each stat).

Note: Percentages and statistics on this page are merely approximate. These values are not 100% accurate. However, in many of the 8 stats, converting to 4 stat points or 7 stat points from 3 and 6, respectively, gives a higher overall buff in the respective stat.

# Stats and their Effects:
Health regen:
Short for health regeneration. Any tank, who does not receive damage after a certain amount of time, begins to regenerate any lost health. When this stat is upgraded, it will decrease the amount of time needed to fully restore your tank’s health. The more points invested in health regeneration will, the faster that normal health regeneration will heal your tank. The rate of regeneration greatly increases after approximately 30 seconds. Increasing maximum health will not slow down the healing rate. Health regeneration does not apply to a tank’s bullets and drones.

A study conducted in the sandbox shows the results of upgrading the health regen stats a certain number of times. It is the amount of time taken for a level 45 Basic Tank to fully restore its health after ramming into a pentagon, no other stats considered.

Records show that having 9 or more points in regeneration allows regeneration to full health under the 30 seconds timespan, before the great increase in regeneration comes into play.

Formula:
* Regeneration per 60FPS (Scratch.mit.edu): (4.6 * (0.03 + (0.12 * Health regeneration stat))) / 60
* Heal timespan in seconds: 30 - Health regeneration stat

Max health:
Max health determines the maximum health pool of your tank. You also passively gain more health for every level you gain. With no health upgrades, A level 1 tank has 50 HP, while a max level tank (level 45) has 138 HP.

Formula:
* Base HP: (50 + (20 * Max health stat)) + (2 * (Level - 1))

Body damage:
This stat determines how much damage a tank will inflict upon another object on collision. Body damage will also lessen damage from other objects. This is determined by how much damage it can give to the object, namely ammunitions’ health (penetration), so that it gets destroyed faster before reaching the maximum amount of collisions. Body damage is increased by 50% when affecting tanks and decreased by 75% when affecting projectiles (Bullets, traps, drones)
|Number of skill points|Damage per hit (Shape/tank collision)|Damage per hit (Tank/tank collision)|Damage per hit (Projectile/tank collision)|
|-|-|-|-|
|-3 points (Square, triangle)|8 HP|-|-|
|-2 points (Pentagon)|12 HP|-|-|
|-1 points|16 HP|-|-|
|0 points (Alpha pentagon)|20 HP|30 HP|5 HP|
|1 point|24 HP|36 HP|6 HP|
|2 points (0 for Spike)|28 HP|42 HP|7 HP|
|3 points (1 for Spike)|32 HP|48 HP|8 HP|
|4 points (2 for Spike)|36 HP|54 HP|9 HP|
|5 points (3 for Spike)|40 HP|60 HP|10 HP|
|6 points (4 for Spike)|44 HP|66 HP|11 HP|
|7 points (5 for Spike)|48 HP|72 HP|12 HP|
|8 points* (6 for Spike)|52 HP|78 HP|13 HP|
|9 points* (7 for Spike)|56 HP|84 HP|14 HP|
|10 points* (8 for Spike)|60 HP|90 HP|15 HP|
|(9 Points for Spike)|64 HP|96 HP|16 HP|
|(10 Points for Spike)|68 HP|102 HP|17 HP|
*Smasher class types only

At max body damage, a tank can kill a pentagon by tapping it three times. Colliding at full speed will trigger all three impacts in the same instant.

Some tank builds use body damage as their primary method of attack. One Destroyer technique involves hurling their body at opponents using the recoil of their massive cannon. Fast-moving Tri-Angles and Boosters also use body damage to ram unarmored opponents.

A tank affected by spawn invincibility will deal with body damage as normal to enemies while taking no damage themselves.

The Spike’s base body damage +2 higher than other tanks, and thus is +8 higher than the standard 20, or +12 higher than the standard 30 in tank vs. tank situations. Its body damage ranges from 28 HP to 68 HP, or from 42 HP to 102 HP when it collides with a tank.

Shapes have negative body damage stats to match their respective body damage. An alpha pentagon deals the same damage as a tank with 0 points.

Bullet speed:
This stat determines the movement speed of the projectiles shot by tanks, and thus also increases how far they travel during their lifespan... Putting points into this stat increases the potential of surprising an opponent. Not only are they a sudden damage point on enemies, but they also may not even see it coming if maxed out. Increasing bullet speed makes bullets harder to dodge as well, and Destroyers with high bullet speed become extremely dangerous.

Bullet speed can slightly decrease the overall damage, as when a bullet is too fast it'll pass through a tank without providing all its potential damage. Turns into drone speed if you upgrade to an Overseer or any other drone tank (except for the Factory).

Formula:
* Bullet speed + ((Bullet speed * Bullet speed stat) ÷ 6)

Unavailable to Smashers, Spikes, and Landmines as they lack bullets.

Bullet penetration:
Could be called bullet health. Each point put into bullet penetration increases its “health", or how many objects a bullet can pass through before its health reaches 0. This includes polygons, tanks and other bullets. If it hits a large tank or shape and it has high penetration, the bullets will bounce off it. If bullets with equal bullet penetration and bullet damage hit each other, they both get destroyed. If a bullet hits another bullet with lower bullet penetration then the penetrating bullet has its life lowered and therefore it will pass through fewer objects. If a bullet hits a tank with high body damage, the bullet will deal less damage because the tank has lowered the bullet’s health to 0 before it can reach the maximum amount of damage it can receive.

This is a supplement to bullet damage, due to the fact the bullet has more health, which allows the bullet to do more damage. Each point in bullet penetration increases a bullet's HP value by 75% of its base value. The following chart shows HP value of a basic Tank's bullet.

Formula: Bullet penetration + (Bullet penetration * Bullet penetration stat)

Collisions with bullets will knock back the object hit and deflect the bullet in the process. If a tank with high health and body damage deflects a bullet (by being hit at the side) then the bullet only deals a specific amount of damage controlled by bullet damage, while a direct hit allows a bullet to damage the tank numerous times due to its high bullet penetration. Turns into drone health if the player upgrades to an Overseer or any other drone tank (except for the Factory).

Unavailable to Smashers, Spikes, and Landmines as they lack bullets.

Bullet damage:
Bullet damage determines how much damage a bullet will deal in a single collision. Each point in bullet damage increases this amount. If you upgrade your bullet damage with all 7 skill points that they can fit in, it deals four times more damage per hit than a bullet without bullet damage at maximum. When bullets from the same types of tanks (and some others) with equal penetration collide, the bullet with the higher bullet damage will destroy the other. Each point in bullet damage increases a bullet's damage value by roughly 42.857% of its base value. Bullet damage is decreased by 75% when affecting bullets and traps. When 2 projectiles hit, if at least one of them is a drone, then they will both deal their full damage (unless if the other one is a Necromancer drone, in which case the Necro drone will deal 75% less damage while the other deals its full damage). The following chart shows maximum damage per hit with a basic Tank.

Formula:
* For projectiles: Bullet damage + ((Bullet damage * Bullet damage stat) ÷ 2)
* For auras: Aura damage + (Aura damage * Bullet damage stat)

It turns into drone damage if you upgrade to an Overseer or any other drone tank.

Unavailable to Smashers, Spikes, and Landmines as they lack bullets.

When a bullet has lower health than the target's damage per hit, the bullet's damage per hit is multiplied by the ratio of the bullet's current HP with the target's base damage per hit. When the bullet has higher or equal health comparing to the base damage per hit of the target, the bullet will deal its full damage per hit.

Reload time:
Reload time determines how fast a tank will fire bullets. The Basic Tank class has a base firing speed of 100 bullets per minute. Many class upgrades multiply this firing speed, while others reduce it.

A high firing rate increases a tank’s ability to hit strafing targets and increases its damage per second. Additionally, firing more bullets increases recoil which can be used to propel certain classes of tanks.

For all drone-based classes featuring drone spawners, Reload affects the rate at which new drones are created. The Factory class gains extra utility from this stat, as it affects both minion spawning rate and minion firing rate.

For the Necromancer class, the reload speed stat changes to drone count, increasing the amount of square drones the tank can control.

Unavailable to Smashers, Spikes, and Landmines as they lack Bullets.

Formula: Reload time - (Reload time stat * 0.04) sec

Movement speed:
This stat determines how fast a tank moves, not including recoil. Naturally, the more points put into this stat, the faster a tank will move. Low-level players can upgrade this stat early to get out of dangerous situations or outrun more powerful opponents. Lower-level tanks are significantly smaller, so a level 8 tank with 7 movement speed moves even faster than other fast tanks like Boosters. However, Destroyers, Annihilators, and Hybrids might catch up with low-level tanks with high speed by using recoil.

Movement speed is passively lowered as your tank levels up, i.e. a level 1 tank is significantly faster than a level 45 tank.

This can increase the power of a body damage build covering more distance than the target will equal more collisions under a second which can mean the difference between a 1 hit or a 3 hit kill.

For Smashers, Spikes, Landmines, and Auto Smashers, there are 10 skill points available for movement speed.

Formula: (0.2 * 2.55) * 1.07^[Movement speed stat] / 1.015^{Level - 1} = 0.51 px (Level 1)

# Hidden stats and their effects:
Hidden stats are stats that can’t be upgraded directly from the bottom-left menu but can also affect a tank’s ability and playstyle. Most of these can only increase/decrease by selecting different classes.

Bullet accuracy/bullet spread
Bullet Accuracy determines how straight a barrel fires out bullets, while bullet spread refers to the angle that bullets are fired within. A high bullet spread has a high angle and vice versa.

For example, a Streamliner or a Ranger has much more bullet accuracy, or much less bullet spread, compared to a Sprayer or a Machine Gun.

Recoil:
Recoil is how far a tank gets pushed backward when firing. While recoil slows down a tank that is moving forward, towards its ammunition, it can be used strategically or for a faster retreat. The tank with the highest recoil per shot is the Annihilator (6.8 background squares per shot). On the other hand, some Snipers, Spread Shot and the Gunner have so little recoil that it normally cannot be noticed.

All upgrades of the Flank Guard, with the exception of the Tri-Angle and Auto 3/Auto 5 branch, have their cannons evenly distributed over the whole 360°, making each cannon cancel the recoil of the other cannons out, and thus making the tank have virtually no recoil overall.

Examples of recoil usage are:
* For Destroyers, Hybrids, and Annihilators: providing a large speed advantage to either ram, get in close for a good shot, or allow a quicker retreat.
* For Tri-Angles and its upgrades: as a permanent speed boost, because they have more back cannons than front cannons. Their forward-facing cannon can also shoot bullets for offense and/or defense while the backward-facing cannons do the pushing. Sandbox tests have shown that the Booster has the largest overall recoil with any given build, just slightly edging out the Annihilator.
* For multi-shot tanks: particularly the Penta Shot, to move in with the enemy faster and deny them precious ground (or otherwise kill stragglers). Though not having the highest amount of recoil, this type of tank can drastically benefit from it when used safely.

Knockback resistance:
Knockback resistance is the reduction of how far a tank gets nudged from a collision, either with a bullet/drone/trap/base drone or another tank’s body. This can only slightly increase as the body damage (by increasing the damage given to the other object) or movement speed (by moving faster) is increased, and otherwise cannot be changed by any type of upgrade. This used to be able to increase by upgrading to the Smasher.

Deceleration:
Deceleration is the reduction of velocity of an entity with respect to time. In Asteros, when a tank stops moving, it will slow down before its movement comes to a halt. Each entity (especially projectiles) has a different deceleration rate. Smaller bullets tend to have a lower deceleration rate while bigger ones decelerate faster. Trapper's traps have a very high deceleration rate.

There's a limit on how slow an entity can be. When that limit is reached, they can't decelerate any further. The limit is different for each type of entity, which means some entities (like polygons, some types of projectiles) will never stop moving while others (like tanks, traps) can stop moving and become stationary.

Field of view (FoV):
Field of view, or field of vision (FoV for short), is how large a player’s camera is. The field of vision will slightly increase as a tank levels up while upgrading to Sniper and/or its upgrades can also increase the FoV by a large margin. As the FoV of a tank increase, more area will be visible from the camera of that tank, which results in everything seemly to have shrunk as the computer screen size is always consistent.

Compared to other tanks, the Sniper branch shows a strength in their wider FoV, allowing them to see further than other tanks can.

Formula: (100% / 1.01^{(Level - 1)/ 2}) / [FoV of class]

~Freezing
Ice hexagon has invisible radial freezing aura, aura will freeze players when players approached to it. It give player with debuff "frozen" when player touched it. Debuff "frozen" harms (called frostbiting) player's health, it stops move, rotation, fire. Its health bar is #00ffff than #ff0000 (for non-icy).

Stat info of icy foods:
|Name|Freezing aura radius (px)|Ice power of aura (units per frames in freeze effect)|Ice power of freezing players when players collided with it (units in freeze effect)|
|Ice Hexagon|1.5 * Hitbox radius|0.5|5|
|Alpha Hexagon|2 * Hitbox radius|1|25|
|Frostbiter|(2 * Hitbox radius) * (1 + Speed)|0.3 * (1 + Speed)|3 * (1 + Speed)|
|Small Frostbiter|(2 * Hitbox radius) * (1 + Speed)|0.25 * (1 + Speed)|2 * (1 + Speed)|
|Freezer|(2 * Hitbox radius) * (1 + Speed)|0.6 * (1 + Speed)|4 * (1 + Speed)|
|Snowmine|(4 * Hitbox radius), it's nerfed makes players better to sense coldness|1.5|250|
* Freezer's kite: |(2 * Hitbox radius) * (1 + (Speed / 10))|0.6 * (1 + Speed)|4 * (1 + Speed)|0.9|15|

Freezing mechanics in players:
* Recovery: -1 per frames in freeze effect without touching aura of ice hexagons
* Critical point for freeze effect: 100 units
* Formula for players high in freeze effect before reaching critical point: "Base * (1 - (freeze effect / 100)^2)". Affects bases such as movement speed, rotation, regeneration, heal time.
* Formula for players are frostbiting when players reached critical point: "-0.5 HP * ((freeze effect - 100) / 10)" per frames.
* When players reached critical point of freeze effect, move, rotation, fire are stopped.

Color #73fffc is associated with freezing abilities. Alpha hexagons have large and potent aura. Frostbiters, freezers, freezer's kites, exploding snowmines have powerful ice power (both aura/collision) due to Einsteinian energy comes from speed.

~~Foods
Foods (also known as shapes) are naturally-spawning shapes that inhabit the arena. They serve as and are regularly harvested sources of a score. They are an essential feature of the game. Some foods, like Crashers, only spawn in the Polygon Nest.

Polygons:
|Name|Color and design|HP|XP|Body damage|Hitbox radius (px)|Rarity|Info|
|Square|#ffe869 (Yellow) square with 44 px in circumcircle diameter|10|10|8|15.5563491864|Very common in field of foods; common in the Square Nest|Passive|
|Triangle|#fc7677 (Red) triangle with 44 px in circumcircle diameter|30|25|8|16.5|Common in field of foods; common in the Triangle Nest|Passive|
|Pentagon|#768dfc (Blue) pentagon with 60 px in circumcircle diameter|100|130|12|24.270509831738302|Uncommon in field of foods; common in the Pentagon Nest|Passive|
|Ice hexagon|#73fffc (Cyan) hexagon with 71.2 px in circumcircle diameter|180|220|12|30.830504374172033|Uncommon in field of foods; common in the Ice Hexagon Nest|Passive|
|Heptagon|#9f6cff (Violet) heptagon with 81.6 px in circumcircle diameter|300|400|12|36.75952980950581|Uncommon in field of foods; common in the Heptagon Nest|Passive|
|Octagon|#ffa568 (Orange) octagon with 92.8 px in circumcircle diameter|480|640|16|42.86801030964987|Very uncommon in field of foods; common in the Octagon Nest|Passive|

Foods from polygon nest:
|Name|Color and design|HP|XP|Body damage|Hitbox radius|Rarity|Info|
|Crasher|#f177dd (Magenta) triangle with 44 px in circumcircle diameter|30|25|8|16.5|Common in Square/Triangle/Pentagon/Heptagon/Octagon Nests|Aggressively move towards to players, 1.3 px velocity per frames (max velocity: 13 px)|
|Small Crasher|#f177dd (Magenta) triangle with 28 px in circumcircle diameter|10|15|8|10.5|Very common in Square/Triangle/Pentagon/Heptagon/Octagon Nests|Aggressively move towards to players, 1.3 px velocity per frames (max velocity: 13 px)|
|Alpha Pentagon|#768dfc (Blue) pentagon with 160 px in circumcircle diameter|3000|3000|20|64.72135955130213|Rare in the Pentagon Nest|Passive|
|Frostbiter|#73fffc (Cyan) triangle with 44 px in circumcircle diameter|30|25|8|16.5|Common in Ice Hexagon Nest|Aggressively move towards to players, 1.3 px velocity per frames (max velocity: 13 px)|
|Small frostbiter|#73fffc (Cyan) triangle with 28 px in circumcircle diameter|10|15|8|10.5|Very common in Ice Hexagon Nest|Aggressively move towards to players, 1.3 px velocity per frames (max velocity: 13 px)|
|Sentry|#f177dd (Magenta) triangle with 60 px in circumcircle diameter|150|150|8|22.5|Common in Square/Triangle/Pentagon/Heptagon/Octagon Nests|Aggressively move towards to players, 1.3 px velocity per frames (max velocity: 13 px)|
|Freezer|#73fffc (Cyan) triangle with 60 px in circumcircle diameter|150|150|8|22.5|Common in Ice Hexagon Nests|Aggressively move towards to players, 1.3 px velocity per frames (max velocity: 13 px)|
|Alpha Square|#ffe869 (Yellow) square with 117.33333333333333 px in circumcircle diameter|2000|2000|16|41.4835978304|Rare in the Square Nest|Passive|
|Alpha Triangle|#fc7677 (Red) triangle with 117.33333333333333 px in circumcircle diameter|2500|2500|16|44|Rare in the Triangle Nest|Passive|
|Alpha Hexagon|#73fffc (Cyan) hexagon with 189.86666666666667 px in circumcircle diameter|3500|3500|20|82.21467833112543|Rare in the Ice Hexagon Nest|Passive|
|Alpha Heptagon|#9f6cff (Violet) heptagon with 217.6 px in circumcircle diameter|4500|4500|20|98.02541282534882|Rare in the Heptagon Nest|Passive|
|Alpha Octagon|#ffa568 (Orange) octagon with 247.46666666666664 px in circumcircle diameter|6000|6000|24|114.31469415906632|Rare in the Octagon Nest|Passive|
|Nest landmine|#8e8e8e (Gray) ShapeModel:Mine with 38.4 px in circumcircle diameter, and 0.4 in Inkscape spoke ratio|15|20|150|13.57645019904|Common in Square/Triangle/Pentagon/Heptagon/Octagon Nests|Passive, never rotating, angle is locked, vertex of polygram is always toward to angle 90°. Invisible but becomes very slightly visible when players approach to it|
|Snowmine|#73fffc (Cyan) ShapeModel:Mine with 38.4 px in circumcircle diameter, and 0.4 in Inkscape spoke ratio|15|20|150|13.57645019904|Common in Ice Hexagon Nest|Passive, never rotating, angle is locked, vertex of polygram is always toward to angle 90°. Invisible but becomes very slightly visible when players approach to it|

## Sentry code info:
1. FoodBody: Layer 1
2. Accessory #1: [Type: Auto turret|X-offset: 0 px|Attack range radius: 800 px|Field of view: 360°], layer 2
# Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 23 per frames|Bullet penetration: 50 HP|Bullet damage: 8.4|Recoil: 0.32 sec], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as food Square]

## Freezer code info:
1. FoodBody: Layer 1
2. Accessory #1: [Type: Auto turret|X-offset: 0 px|Attack range radius: 800 px|Field of view: 360°], layer 2
# Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 23 per frames|Bullet penetration: 50 HP|Bullet damage: 8.4|Recoil: 0.32 sec], projectile code: [Shape: Kite|Geometrical fill: (0, 5.88), (5.88, 0), (0, -5.88), (-14.881, 0)|Color: Same as food Ice Hexagon]

~Shiny foods
Shiny foods have all variations. Shiny hexagons/alpha hexagons lack freeze ability. Chance of shiny shapes is 1 in 5000, HP and XP is multipled by shininess level. Frostbiters, freezers, snowmines were spawned in ice hexagon nest with chanced to become shiny, losing freeze ability and now become crashers, sentries, nest landmines. Shiny landmines are still invisible but radiant landmines can't be invisible due to radiance.

## Shininess level 1 - Shiny foods
* HP: HP * 10
* XP: XP * 100
* Chance: 1 in 5000 of ordinary shapes
Code info:
1. FoodBody: [Shape: Same polygon|Color:#8afe69]

## Shininess level 2 - Radiant foods
* HP: Shiny HP * 1.5^1
* XP: Shiny XP * 4^1
* Chance: 1 in 3 of shiny foods
Code info:
1. FoodBody: [Shape: Same polygon|Color: #8afe69|Effect: Rainbow (hue is always changing from radiant effect)], Scratch.mit.edu script [Radiant effect: random(0 to 200)|Radiant effect: ((Radiant effect + 2) mod 200) per frames], layer 1, emitting particles
2. Particle: Layer 2, heart-shaped, moving, short lifespan, it vanishes when reached lifespan.

## Shininess level 3 - Luminous foods
* HP: Shiny HP * 1.5^2
* XP: Shiny XP * 4^2
* Chance: 1 in 3 of radiant foods
Code info:
1. FoodBody: [Shape: Same polygon|Color: #8afe69|Effect: Rainbow (hue is always changing from radiant effect)], Scratch.mit.edu script [Radiant effect: random(0 to 200)|Radiant effect: ((Radiant effect + 2) mod 200) per frames], layer 1, emitting particles
2. Particle: Layer 2, heart-shaped, moving, short lifespan, it vanishes when reached lifespan.
3. Luminosity: [Shape: Same polygon|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 25%|Circumcircle diameter: Same * (1 + (1 * ((cos(Luminous effect) + 1) / 2)))], Scratch script [Luminous effect: random(0 to 360)|Luminous effect: ((Luminous effect + 6.25) mod 360) per frames], layer 0

## Shininess level 4 - Gleaming foods
* HP: Shiny HP * 1.5^3
* XP: Shiny XP * 4^3
* Chance: 1 in 3 of luminous foods
Code info:
1. FoodBody: [Shape: Same polygon|Color: #8afe69|Effect: Rainbow (hue is always changing from radiant effect)], Scratch.mit.edu script [Radiant effect: random(0 to 200)|Radiant effect: ((Radiant effect + 2) mod 200) per frames], layer 1, emitting particles
2. Particle: Layer 2, heart-shaped, moving, short lifespan, it vanishes when reached lifespan.
3. Luminosity: [Shape: Same polygon|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 25%|Circumcircle diameter: Same * (1 + (1 * ((cos(Luminous effect) + 1) / 2)))], Scratch script [Luminous effect: random(0 to 360)|Luminous effect: ((Luminous effect + 6.25) mod 360) per frames], layer 0
4. Gleam: [ShapeModel:Gleaming|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 40%|Circumcircle diameter: (82px * (1 + (1 * ((cos(Gleaming effect) + 1) / 2)))) * (Food's hitbox radius / 20)|Rotation speed: 4.8 per frames|Lock angle: Yes], Scratch script [Gleaming effect: random(0 to 360)|Gleaming effect: ((Gleaming effect + 3.5) mod 360) per frames], layer -1

## Shininess level 5 - Lustrous foods
* HP: Shiny HP * 1.5^4
* XP: Shiny XP * 4^4
* Chance: 1 in 3 of gleaming foods
Code info:
1. FoodBody: [Shape: Same polygon|Color: #8afe69|Effect: Rainbow (hue is always changing from radiant effect)], Scratch.mit.edu script [Radiant effect: random(0 to 200)|Radiant effect: ((Radiant effect + 2) mod 200) per frames], layer 1, emitting particles
2. Particle: Layer 2, heart-shaped, moving, short lifespan, it vanishes when reached lifespan.
3. Luminosity: [Shape: Same polygon|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 25%|Circumcircle diameter: Same * (1 + (1 * ((cos(Luminous effect) + 1) / 2)))], Scratch script [Luminous effect: random(0 to 360)|Luminous effect: ((Luminous effect + 6.25) mod 360) per frames], layer 0
4. Gleam: [ShapeModel:Gleaming|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 40%|Circumcircle diameter: (82px * (1 + (1 * ((cos(Gleaming effect) + 1) / 2)))) * (Food's hitbox radius / 20)|Rotation speed: 4.8 per frames|Lock angle: Yes], Scratch script [Gleaming effect: random(0 to 360)|Gleaming effect: ((Gleaming effect + 3.5) mod 360) per frames], layer -1
5. Luster: [ShapeModel:Lustrous|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 40%|Circumcircle diameter: (60px * (1 + (1.1 * ((cos(Lustrous effect) + 1) / 2)))) * (Food's hitbox radius / 20)|Rotation speed: 3.9 per frames|Lock angle: Yes], Scratch script [Lustrous effect: random(0 to 360)|Lustrous effect: ((Lustrous effect + 2.4) mod 360) per frames], layer -2

## Shininess level 6 - Shimmering foods
* HP: Shiny HP * 1.5^5
* XP: Shiny XP * 4^5
* Chance: 1 in 4 of lustrous foods
Code info:
1. FoodBody: [Shape: Same polygon|Color: #8afe69|Effect: Rainbow (hue is always changing from radiant effect)], Scratch.mit.edu script [Radiant effect: random(0 to 200)|Radiant effect: ((Radiant effect + 2) mod 200) per frames], layer 1, emitting particles
2. Particle: Layer 2, heart-shaped, moving, short lifespan, it vanishes when reached lifespan.
3. Luminosity: [Shape: Same polygon|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 25%|Circumcircle diameter: Same * (1 + (1 * ((cos(Luminous effect) + 1) / 2)))], Scratch script [Luminous effect: random(0 to 360)|Luminous effect: ((Luminous effect + 6.25) mod 360) per frames], layer 0
4. Gleam: [ShapeModel:Gleaming|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 40%|Circumcircle diameter: (82px * (1 + (1 * ((cos(Gleaming effect) + 1) / 2)))) * (Food's hitbox radius / 20)|Rotation speed: 4.8 per frames|Lock angle: Yes], Scratch script [Gleaming effect: random(0 to 360)|Gleaming effect: ((Gleaming effect + 3.5) mod 360) per frames], layer -1
5. Luster: [ShapeModel:Lustrous|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 40%|Circumcircle diameter: (60px * (1 + (1.1 * ((cos(Lustrous effect) + 1) / 2)))) * (Food's hitbox radius / 20)|Rotation speed: 3.9 per frames|Lock angle: Yes], Scratch script [Lustrous effect: random(0 to 360)|Lustrous effect: ((Lustrous effect + 2.4) mod 360) per frames], layer -2
6. Gleam2: [ShapeModel:Gleaming|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 10%|Circumcircle diameter: (82px * (1 + (2.4 * ((cos(Gleaming effect) + 1) / 2)))) * (Food's hitbox radius / 20)|Rotation speed: 4.8 per frames (angle is always as Gleam)|Lock angle: Yes], layer -3
7. Luster2: [ShapeModel:Lustrous|Color: #afff99|Effect: Rainbow (hue is always changing from radiant effect)|Opacity: 10%|Circumcircle diameter: (60px * (1 + (2 * ((cos(Lustrous effect) + 1) / 2)))) * (Food's hitbox radius / 20)|Rotation speed: 3.9 per frames (angle is always as Luster)|Lock angle: Yes], layer -4

~Polyhedra
Polyhedra are non-hostile foods, chance of polyhedra is 1 in 1000 of ordinary foods. Rarity chance of shiny polyhedra is 1 in 50 of ordinary/alpha polyhedra, will spawn in both field of foods and random polygon nests. Rarity chance of alpha polyhedra is 1 in 8 of ordinary/shiny polyhedra, will spawn in random polygon nests.

Ordinary polyhedra:
|Name|Color and design|HP|XP|Body damage|Hitbox radius (px)|
|Cube|#74c6fc (Azure) cube with 15.5563491864 px in apothem radius|200|300|8|Same as apothem radius|
|Tetrahedron|#fffe72 (deep lemon) tetrahedron with 22 px in apothem radius|340|550|8|16.5|
|Octahedron|#c771ed (orchid) octahedron with 19.0525588836 px in apothem radius|580|900|8|Same as apothem radius|
|Icosahedron|#70461c (chocolate) icosahedron with 30.83169621075599 px in apothem radius|800|1400|12|Same as apothem radius|
|Rhombicuboctahedron|#23235b (midnight) rhombicuboctahedron with 37.55613820580688 px in apothem radius|1100|2300|12|Same as apothem radius|
|Dodecahedron|#c4f269 (chartreuse) dodecahedron with 46.164653715642 px in apothem radius|1400|3400|16|Same as apothem radius|

Alpha polyhedra:
|Name|Color and design|HP|XP|Body damage|Hitbox radius (px)|
|Alpha Cube|#74c6fc (Azure) cube with 41.4835978304 px in apothem radius|4000|4000|16|Same as apothem radius|
|Alpha Tetrahedron|#fffe72 (deep lemon) tetrahedron with 58.666666666666666 px in apothem radius|6500|6500|16|44|
|Alpha Octahedron|#c771ed (orchid) octahedron with 50.8068236896 px in apothem radius|9000|9000|16|Same as apothem radius|
|Alpha Icosahedron|#70461c (chocolate) icosahedron with 82.21785656201597 px in apothem radius|11500|11500|20|Same as apothem radius|
|Alpha Rhombicuboctahedron|#23235b (midnight) rhombicuboctahedron with 100.14970188215167 px in apothem radius|14000|14000|20|Same as apothem radius|
|Alpha Dodecahedron|#c4f269 (chartreuse) dodecahedron with 123.10574324171199 px in apothem radius|16500|16500|24|Same as apothem radius|

~~Bosses
Bosses are large AI-controlled tanks that target players, can be found in any Game Mode.

~Alpha Crasher
Info:
* Health regen: 0.09 per frame
* HP: 3000
* Body damage: 40
* Movement speed: 2.5 px per frame
* Field of view: 1000 px
* XP: 30000
* Drone max count: 24
* Aggressively move towards to players

Code info:
1. TankBody: [Shape: Triangle|Angle: Vertex of polygon toward to 90°|Circumcircle diameter: 108 px|Color: #f177dd], layer 1
2. Weapon #1: [Size: 40 px|Width: 28.56 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 28.56), (40, 50)], layer 0, [Projectile type: Drone|Bullet speed: 1.5 velocity per frame (Max velocity: 15)|Bullet penetration: 25 HP|Bullet damage: 3.92|Reload time: 0.12 sec|Bullet lifespan: Eternal], projectile code: [Shape: Triangle|Polygonal side length: 20.16 px|Color: #f177dd|Attack range radius: 1000 px]

~Summoner
Info:
* Health regen: 0.09 per frame
* HP: 3000
* Body damage: 40
* Movement speed: 2.5 px per frame
* Field of view: 1000 px
* XP: 30000
* Drone max count: 28
* Aggressively move towards to players

Code info:
1. TankBody: [Shape: Square|Angle: Side of polygon toward to 90°|Circumcircle diameter: 120 px|Color: #ffe869], layer 1
2. Weapon #1: [Size: 54 px|Width: 28.56 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 28.56), (54, 51.408)], layer 0, [Projectile type: Drone|Bullet speed: 1.5 velocity per frame (Max velocity: 15)|Bullet penetration: 25 HP|Bullet damage: 3.92|Reload time: 0.12 sec|Bullet lifespan: Eternal], projectile code: [Shape: Square|Circumcircle diameter: Same as food "Square"|Color: #fcc376|Attack range radius: 1000 px]
3. Weapon #2: [Size: 54 px|Width: 28.56 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 28.56), (54, 51.408)], layer -1, [Projectile type: Drone|Bullet speed: 1.5 velocity per frame (Max velocity: 15)|Bullet penetration: 25 HP|Bullet damage: 3.92|Reload time: 0.12 sec|Bullet lifespan: Eternal], projectile code: [Shape: Square|Circumcircle diameter: Same as food "Square"|Color: #fcc376|Attack range radius: 1000 px]
4. Weapon #3: [Size: 54 px|Width: 28.56 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 28.56), (54, 51.408)], layer -2, [Projectile type: Drone|Bullet speed: 1.5 velocity per frame (Max velocity: 15)|Bullet penetration: 25 HP|Bullet damage: 3.92|Reload time: 0.12 sec|Bullet lifespan: Eternal], projectile code: [Shape: Square|Circumcircle diameter: Same as food "Square"|Color: #fcc376|Attack range radius: 1000 px]
5. Weapon #4: [Size: 54 px|Width: 28.56 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 28.56), (54, 51.408)], layer -3, [Projectile type: Drone|Bullet speed: 1.5 velocity per frame (Max velocity: 15)|Bullet penetration: 25 HP|Bullet damage: 3.92|Reload time: 0.12 sec|Bullet lifespan: Eternal], projectile code: [Shape: Square|Circumcircle diameter: Same as food "Square"|Color: #fcc376|Attack range radius: 1000 px]

~Defender
Info:
* Health regen: 0.09 per frame
* HP: 3000
* Body damage: 40
* Movement speed: 2.5 px per frame
* Field of view: 1000 px
* XP: 30000
* Aggressively move towards to players

Code info:
1. TankBody: [Shape: Triangle|Angle: Side of polygon toward to 90°|Circumcircle diameter: 120 px|Color: #fc7677], layer 1
2. Accessory #1: [Type: Auto turret|Angle: -90°|X-offset: 24.4 px|Attack range radius: 800 px|Field of view: 360°], layer 2
3. Accessory #2: [Type: Auto turret|Angle: 150°|X-offset: 24.4 px|Attack range radius: 800 px|Field of view: 360°], layer 3
4. Accessory #3: [Type: Auto turret|Angle: 30°|X-offset: 24.4 px|Attack range radius: 800 px|Field of view: 360°], layer 4
5. Weapon #1: [Size: 48 px|Width: 28.56 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer 0, [Projectile type: Trap|Bullet speed: 18 per frame|Bullet penetration: 70 HP|Bullet damage: 40|Reload time: 1.44 sec|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Circumcircle diameter: (Same as width of weapon * 1.25) * 0.8|Color: #ffe869]
6. Weapon #2: [Size: 48 px|Width: 28.56 px|Angle: -150°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer -1, [Projectile type: Trap|Bullet speed: 18 per frame|Bullet penetration: 70 HP|Bullet damage: 40|Reload time: 1.44 sec|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Circumcircle diameter: (Same as width of weapon * 1.25) * 0.8|Color: #ffe869]
7. Weapon #3: [Size: 48 px|Width: 28.56 px|Angle: -30°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer -2, [Projectile type: Trap|Bullet speed: 18 per frame|Bullet penetration: 70 HP|Bullet damage: 40|Reload time: 1.44 sec|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Circumcircle diameter: (Same as width of weapon * 1.25) * 0.8|Color: #ffe869]

Code info of auto turret:
1. AccessoryBody #1: [Shape: Perfect circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 23 per frames|Bullet penetration: 50 HP|Bullet damage: 8.4|Recoil: 0.32 sec], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: #ffe869]

~~Tanks
~Overview
Tanks are entities in Asteros that can shoot projectiles such as free-moving bullets, drones, traps, missiles, or minions. They can be controlled either by a player or AI.

Design:
All tanks consist of a body and one or more weapons/accessories attached to the tank. The size and placement of the cannons depends on the level and class of the tank respectively.

Components:
Classes are commonly composed out of three, very distinct parts: The tank itself or ‘the body’; its weapons (cannons, spawners, launchers, etc); and the projectiles or ‘the ammunition’ that is spawned from it.

Body:
The body of a tank, it has the same base durability regardless of class or shape. It is only modifiable through the tank’s body damage, max health, and regeneration stats. The only exception to this being the spike tank, which sports additional base body damage. Almost all playable tanks have a circular body. The only exceptions to this being the necromancer, and the factory, which are square-shaped. The game revolves around destroying this part of the tank. If it despawns, the tank dies.

Weapon:
Weapons appear in different shapes, sizes, and numbers. they are not tangible parts of the tank, and their primary function is to let the player aim and control where its ammunition spawns. The most common types of weapons are cannons, followed by spawners, launchers, and deployers. The ammunition that each of these types spawns being bullets, drones, traps, and missiles respectively.

Ammunition:
Bullets, drones, traps and missiles are tangible entities spawned from the weapon's location, whose primary job is to destroy the enemy bodies by colliding with them. Depending on the class and weapon type, the ammunition may present different traits such as speed, durability, size, and Lifespan. Additionally, special ammunition types such as drones are the only entities whose trajectory is not fixed, and can thus be updated to make it more difficult to block/dodge.

Color:
* The color of a tank’s body is based on its team gamemode’s color (#00b2e1 - blue, #f14e54 - red, #bf7ff5 - violet, #00e16e - green, #d68165 - brown, #c0c0c0 - silver).
** Your tank is colored blue in FFA gamemode, while everyone else’s is red.
** The outlines of tanks and cannons are slightly darker than the body, width of outlines is 3 px in Inkscape.
* Cannons are always colored dark grey.
* Projectiles are usually the same color as the tank who fired them.

# Technical:
Movement:
All controllable tanks can move their bodies with the arrow or WASD keys. They can move their cannons, which always points at the cursor, with the mouse. Pressing C will make the tank spin automatically.

Shooting traps or bullets:
To shoot ammunition, a player can press SPACE, or left click with their mouse. Pressing E will enable the tank to fire automatically. However, smasher and its upgrades (except auto smasher) cannot shoot bullets.

Controlling drones:
For any tank that utilizes controllable drones, left-clicking (or SPACEBAR) will bring the drones towards the mouse cursor. This is always on if auto fire is enabled. Right-clicking (or SHIFT) will repel them away from the cursor. Otherwise, the drones will return to the tank and orbit it, unless there is a polygon, a boss or another enemy tank nearby. In the case of you using factory, your minions shoot to your cursor when left-clicking or auto fire is on and looks away, or if close, gets dragged (only if the cursor is close to the minions) if right-clicking.

Other Controls:
Some tanks have additional controls as well. For example, right-clicking while playing as the predator will extend its focus in the direction of the mouse.

Spawning:
Spawning is the act of being born into the arena. It is done by pressing enter on the computer version, or by pressing the green arrow button below the player's name, in the mobile version. A player will always spawn as a basic tank. The player will spawn in their base in team gamemode. In FFA gamemode, the player will spawn at a random point on the map.

When the player spawns, they rotate for a second. Their body also flashes slightly for approximately 15 seconds. During this time the player cannot be harmed. In this time, if they collide with crashers, polygons, bullets, tanks, or any other entities, the entity will be destroyed, at no health cost to the player. Undisturbed, this period of invincibility lasts for approx. 15 seconds, however, if the player moves or fires, then the period is stopped. However, a player can select upgrades, or fill in the stat bar during this time. This feature was created to prevent tanks from being spawn killed.

Levels:
* Tier 1 - Level 1
* Tier 2 - Level 15
* Tier 3 - Level 30
* Tier 4 - Level 45

~Basic Tank
Tier: 1
Upgrade to:
-Level 15: Twin, Sniper, Machine Gun, Flank Guard
-Level 30: Smasher, Hearth
-Level 45: Auto Tank
Weapons: 1 cannon.
Accessories: None.

The Tank, usually called the Basic Tank or simply Basic, is the tank the player spawns as. It is equipped with one cannon which shoots one bullet at a time in a straight path, with slight recoil. At level 1, with no upgrades, it has 50 HP.

At level 15, four upgrade choices will be given to the player: Twin (adding an extra cannon next to the existent cannon, both larger than the starter tank's), Sniper (turning the normal cannon into a Sniper cannon), Machine Gun (turning the normal cannon into a Machine Gun cannon) and Flank Guard (like the twin, but instead adding a shorter cannon to the back of the tank). At level 30, the choice for the Smasher upgrade will be available. Level 30 and 45 will once again prompt the player with options of other “sub-categories” of tanks.

Code info:
Universal: [Health regen: 0.0023 per frame|HP: 50|Body damage: 20 (tank-shape collision), 30 (tank-tank collision)|Movement speed: 0.51 px per frame (Max velocity: 10.2 px)|Field of view: 100%|Knockback resistance: 0%|Scope distance: 0|Invisibility: No|Cold resistance (collision): 0|Cold resistance (icy radial aura): 0|Defreeze recovery speed: 1x], [Stat max limit: Health regeneration - 7, max health - 7, body damage - 7, bullet speed - 7, bullet penetration - 7, bullet damage - 7, reload time - 7, movement speed - 7, view distance - 7]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle (Scratch.mit.edu): 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 10 px per frame|Bullet penetration: 6.5 HP|Bullet damage: 6.5|Reload time: 0.6 sec|Bullet accuracy: 5°|Bullet lifespan: 88 frames|Deceleration: 1x|Recoil: 0.41666666666666666 px velocity], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Twin
Tier: 2
Upgrade from: Basic Tank
Upgrade to: Triple Shot, Quad Tank, Twin Flank, Gunner
Weapons: 2 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 10.4 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
3. Weapon #2: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: -10.4 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.62x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Sniper
Tier: 2
Upgrade from: Basic Tank
Upgrade to: Assassin, Overseer, Hunter, Trapper, Shotgun
Weapons: 1 cannon.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 44 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.3x|Bullet damage: 1.1x|Reload time: (0.92 / 0.6)x|Bullet accuracy: 1.5°|Recoil: 3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Machine Gun
Tier: 2
Upgrade from: Basic Tank
Upgrade to:
-Level 30: Destroyer, Gunner, Shotgun
-Level 45: Sprayer
Weapons: 1 cannon.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (38, 30.24)], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Reload time: (0.32 / 0.6)x|Bullet accuracy: 15°], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Flank Guard
Tier: 2
Upgrade from: Basic Tank
Upgrade to: Tri-Angle, Quad Tank, Twin Flank, Auto 3
Weapons: 2 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
3. Weapon #2: [Size: 32 px|Width: 16.8 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Auto 3
Tier: 3
Upgrade from: Flank Guard
Upgrade to: Auto 5, Auto Tank, Auto Gunner, Auto Smasher, Auto Trapper
Weapons: None.
Accessories: 3 controllable auto turrets.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Rotation #1: [Rotation speed: 1.5 per frame], layer 0
3. Accessory #1: [Type: Auto turret|Angle: 90°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -1, part of Rotation #1
4. Accessory #2: [Type: Auto turret|Angle: -150°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -2, part of Rotation #1
5. Accessory #3: [Type: Auto turret|Angle: -30°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -3, part of Rotation #1

Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.4x|Recoil: 0.4x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Assassin
Tier: 3
Upgrade from: Sniper
Upgrade to: Ranger, Stalker
Weapons: 1 cannon.
Accessories: None.

Code info:
Universal: [Field of view: 125%]
1. TankBody [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 48 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.43x|Bullet damage: 1.1x|Reload time: 2x|Bullet accuracy: 1.5°|Recoil: 3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Destroyer
Tier: 3
Upgrade from: Machine Gun
Upgrade to: Hybrid, Annihilator, Skimmer, Rocketeer, Glider, Mega Trapper
Weapons: 1 cannon.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 28.56 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 0.7x|Bullet penetration: 3x|Bullet damage: 3x|Reload time: 4x|Recoil: 15x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Gunner
Tier: 3
Upgrade from: Twin, Machine Gun
Upgrade to: Auto Gunner, Gunner Trapper, Streamliner
Weapons: 4 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 34 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: 6.8 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 34 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: -6.8 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 26 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: 12.8 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #4: [Size: 26 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: -12.8 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Hunter
Tier: 3
Upgrade from: Sniper
Upgrade to: Predator, Streamliner
Weapons: 2 cannons.
Accessories: None.

Code info:
Universal: [Field of view: 117.6%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 22.68 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.4x|Bullet damage: 0.75x|Reload time: (1.52 / 0.6)x|Bullet accuracy: 1.5°|Recoil: 0.3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]
3. Weapon #2: [Size: 44 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet speed: 1.4x|Bullet damage: 0.75x|Reload time: (1.52 / 0.6)x|Delay: 0.304 sec|Bullet accuracy: 1.5°|Recoil: 0.3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]

~Overseer
Tier: 3
Upgrade from: Sniper
Upgrade to: Overlord, Necromancer, Manager, Overtrapper, Battleship, Factory, Hybrid
Weapons: 2 spawners.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Drone max count: 8]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer 0, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]
3. Weapon #2: [Size: 28 px|Width: 16.8 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -1, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]

~Quad Tank
Tier: 3
Upgrade from: Twin, Flank Guard
Upgrade to: Auto 5, Octo Tank
Weapons: 4 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 38 px|Width: 16.8 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 38 px|Width: 16.8 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #4: [Size: 38 px|Width: 16.8 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Smasher
Tier: 3
Upgrade from: Basic Tank
Upgrade to: Landmine, Spike, Auto Smasher
Weapons: None.
Accessories: 1 smasher shell.

Code info:
Universal: [Field of view: 111.1%], [Stat max limit: Health regeneration - 10, max health - 10, body damage - 10, bullet speed - 0, bullet penetration - 0, bullet damage - 0, reload time - 0, movement speed - 10, view distance - 10]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Accessory #1: [Shape: Hexagon|Circumcircle diameter: 49.6 px|Color: #555|Rotation speed: 6 per frame|Lock angle: Yes], layer 0

~Trapper
Tier: 3
Upgrade from: Sniper
Upgrade to: Tri-Trapper, Mega Trapper, Gunner Trapper, Overtrapper, Auto Trapper
Weapons: 1 launcher.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 24 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer 0, [Projectile type: Trap|Bullet penetration: 2x|Reload time: (0.92 / 0.6)x|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]

~Tri-Angle
Tier: 3
Upgrade from: Flank Guard
Upgrade to: Fighter, Booster
Weapons: 3 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 32 px|Width: 16.8 px|Angle: -60°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 32 px|Width: 16.8 px|Angle: -120°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Triple Shot
Tier: 3
Upgrade from: Twin
Upgrade to: Triplet, Penta Shot, Spread Shot
Weapons: 3 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 38 px|Width: 16.8 px|Angle: 45°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.62x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 38 px|Width: 16.8 px|Angle: 135°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.62x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Twin Flank
Tier: 3
Upgrade from: Twin, Flank Guard
Upgrade to: Triple Twin, Battleship
Weapons: 4 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 10.4 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
3. Weapon #2: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: -10.4 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 38 px|Width: 16.8 px|Angle: -90°|Color: #999|Y-offset: 10.4 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
5. Weapon #4: [Size: 38 px|Width: 16.8 px|Angle: -90°|Color: #999|Y-offset: -10.4 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Hearth
Tier: 3
Upgrade from: Basic Tank
Upgrade to: Inferno, Aura Overseer, Aura Trapper
Weapons: 1 cannon.
Accessories: 1 aura.

Basic Tank but with weak aura.

Code info:
Universal: [Cold resistance (collision): 4|Cold resistance (icy radial aura): 0.4|Defreeze recovery speed: 1.5x]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle (Scratch.mit.edu): 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Accessory #1: [Shape: Circle|Aura range diameter: 5x diameter of tank's body|Color: 50% same as tank's body + 50% #fff (#999 when disabled by passive mode is on)|Opacity: 20%|Aura damage: -0.4 HP per frames], layer 2

~Annihilator
Tier: 4
Upgrade from: Destroyer
Weapons: 1 cannon.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 38.64 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 0.7x|Bullet penetration: 3.5x|Bullet damage: 3.5x|Reload time: 4x|Recoil: 17x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Auto 5
Tier: 4
Upgrade from: Auto 3, Quad Tank
Weapons: None.
Accessories: 5 controllable auto turrets.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Rotation #1: [Rotation speed: 1.5 per frame], layer 0
3. Accessory #1: [Type: Auto turret|Angle: 90°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -1, part of Rotation #1
4. Accessory #2: [Type: Auto turret|Angle: 162°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -2, part of Rotation #1
5. Accessory #3: [Type: Auto turret|Angle: -126°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -3, part of Rotation #1
6. Accessory #4: [Type: Auto turret|Angle: -54°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -4, part of Rotation #1
7. Accessory #5: [Type: Auto turret|Angle: 18°|X-offset: 16 px|Attack range radius: 500 px|Field of view: 80°|Controllability: Yes], layer -5, part of Rotation #1

Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.4x|Recoil: 0.4x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Auto Gunner
Tier: 4
Upgrade from: Auto 3, Gunner
Weapons: 4 cannons.
Accessories: 1 uncontrollable auto turret.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Accessory #1: [Type: Auto turret|X-offset: 0 px|Attack range radius: 500 px|Field of view: 360°|Controllability: No], layer 2
3. Weapon #1: [Size: 34 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: 6.8 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #2: [Size: 34 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: -6.8 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #3: [Size: 26 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: 12.8 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
6. Weapon #4: [Size: 26 px|Width: 10.08 px|Angle: 90°|Color: #999|Y-offset: -12.8 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.45x|Bullet damage: 0.5x|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.4x|Recoil: 0.4x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Auto Smasher
Tier: 4
Upgrade from: Auto 3, Smasher
Weapons: None.
Accessories: 1 controllable auto turret, smasher shell.

Code info:
Universal: [Field of view: 111.1%], [Stat max limit: Health regeneration - 10, max health - 10, body damage - 10, bullet speed - 10, bullet penetration - 10, bullet damage - 10, reload time - 10, movement speed - 10, view distance - 10]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Accessory #1: [Type: Auto turret|X-offset: 0 px|Attack range radius: 500 px|Field of view: 360°|Controllability: Yes], layer 2
3. Accessory #2: [Shape: Hexagon|Circumcircle diameter: 49.6 px|Color: #555|Rotation speed: 6 per frame|Lock angle: Yes], layer 0

Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 3x|Bullet damage: 3x|Recoil: 0.4x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Auto Tank
Tier: 4
Upgrade from: Basic Tank, Auto 3
Weapons: 1 cannon.
Accessories: 1 uncontrollable auto turret.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Accessory #1: [Type: Auto turret|X-offset: 0 px|Attack range radius: 500 px|Field of view: 360°|Controllability: No], layer 2
3. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.4x|Recoil: 0.4x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Auto Trapper
Tier: 4
Upgrade from: Auto 3, Trapper
Weapons: 1 launcher.
Accessories: 1 uncontrollable auto turret.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Accessory #1: [Type: Auto turret|X-offset: 0 px|Attack range radius: 500 px|Field of view: 360°|Controllability: No], layer 2
3. Weapon #1: [Size: 24 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer 0, [Projectile type: Trap|Bullet penetration: 2x|Reload time: (0.92 / 0.6)x|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]

Code info of auto turret:
1. AccessoryBody #1: [Shape: Circle|Diameter: 20 px|Color: 999#], layer 1
2. Weapon #1: [Size: 22 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.4x|Recoil: 0.4x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Battleship
Tier: 4
Upgrade from: Overseer, Twin Flank
Weapons: 4 spawners.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Drone max count: Infinity]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 30 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: 8 px|Segment: Trapezoidal - (0, 20.580), (30, 11.76)], layer 0, [Projectile type: Drone|Bullet damage: 0.15x|Bullet lifespan: 88 frames|Recoil: 0x|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: (Same as width of weapon * 1.2) * 0.7|Color: Same as tank's body|Attack range radius: 425 px]
3. Weapon #2: [Size: 30 px|Width: 11.76 px|Angle: -90°|Color: #999|Y-offset: -8 px|Segment: Trapezoidal - (0, 20.580), (30, 11.76)], layer 0, [Projectile type: Drone|Bullet damage: 0.15x|Bullet lifespan: 88 frames|Recoil: 0x|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: (Same as width of weapon * 1.2) * 0.7|Color: Same as tank's body|Attack range radius: 425 px]
4. Weapon #3: [Size: 30 px|Width: 11.76 px|Angle: 90°|Color: #999|Y-offset: -8 px|Segment: Trapezoidal - (0, 20.580), (30, 11.76)], layer 0, [Projectile type: Drone|Bullet damage: 0.15x|Bullet lifespan: 88 frames|Recoil: 0x|Drone controllability: No], projectile code: [Shape: Triangle|Polygonal side length: (Same as width of weapon * 1.2) * 0.7|Color: Same as tank's body|Attack range radius: 425 px]
5. Weapon #4: [Size: 30 px|Width: 11.76 px|Angle: -90°|Color: #999|Y-offset: 8 px|Segment: Trapezoidal - (0, 20.580), (30, 11.76)], layer 0, [Projectile type: Drone|Bullet damage: 0.15x|Bullet lifespan: 88 frames|Recoil: 0x|Drone controllability: No], projectile code: [Shape: Triangle|Polygonal side length: (Same as width of weapon * 1.2) * 0.7|Color: Same as tank's body|Attack range radius: 425 px]

~Booster
Tier: 4
Upgrade from: Tri-Angle
Weapons: 5 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 32 px|Width: 16.8 px|Angle: -60°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 32 px|Width: 16.8 px|Angle: -120°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #4: [Size: 28 px|Width: 16.8 px|Angle: -45°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
6. Weapon #5: [Size: 28 px|Width: 16.8 px|Angle: -135°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -4, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Factory
Tier: 4
Upgrade from: Overseer
Weapons: 1 spawner.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Drone max count: 6|Special: In team gamemode, spawner will spawn level 1 players with same team as you]
1. TankBody: [Shape: Square|Polygonal side length: 26 * sqrt{2}|Color: Based on teams], layer 1
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer 0, [Projectile type: Minion|Bullet speed: 0.56x|Bullet penetration: 4x|Reload time: 3x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Model:Minion|Attack range radius: 425 px]

Code info of minion:
1. TankBody: [Shape: Circle|Diameter: width of Weapon #1 * 1.2|Color: Same as tank's body], layer 1
2. Weapon #1: [Size: 17.136 px|Width: 10.161 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 0.8x|Bullet penetration: 0.4x|Bullet damage: 0.4x|Recoil: 1.35x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Fighter
Tier: 4
Upgrade from: Tri-Angle
Weapons: 5 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 32 px|Width: 16.8 px|Angle: -60°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 32 px|Width: 16.8 px|Angle: -120°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.2x|Bullet lifespan: 44 frames|Recoil: 2.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #4: [Size: 32 px|Width: 16.8 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet damage: 0.8x|Reload time: (0.92 / 0.6)x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
6. Weapon #5: [Size: 32 px|Width: 16.8 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -4, [Projectile type: Bullet|Bullet damage: 0.8x|Reload time: (0.92 / 0.6)x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Gunner Trapper
Tier: 4
Upgrade from: Gunner, Trapper
Weapons: 2 cannons, 1 launcher.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 30 px|Width: 8.4 px|Angle: 90°|Color: #999|Y-offset: 6.4 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.6x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 30 px|Width: 8.4 px|Angle: 90°|Color: #999|Y-offset: -6.4 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.6x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 24 px|Width: 21.84 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer -2, [Projectile type: Trap|Bullet penetration: 2x|Reload time: 3x|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]

~Hybrid
Tier: 4
Upgrade from: Destroyer, Overseer
Weapons: 1 cannon, 1 spawner.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Drone max count: 4]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 28.56 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 0.7x|Bullet penetration: 3x|Bullet damage: 3x|Reload time: 4x|Recoil: 15x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 28 px|Width: 16.8 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -1, [Projectile type: Drone|Bullet speed: 0.9x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]

~Landmine
Tier: 4
Upgrade from: Smasher
Weapons: None.
Accessories: 2 smasher shells.

Code info:
Universal: [Field of view: 111.1%|Invisibility: Yes|Cloak transition time without moving: 0.3% per frame|Cloak reveal time when moving: -30% per frame], [Stat max limit: Health regeneration - 10, max health - 10, body damage - 10, bullet speed - 0, bullet penetration - 0, bullet damage - 0, reload time - 0, movement speed - 10, view distance - 10]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Accessory #1: [Shape: Hexagon|Circumcircle diameter: 49.6 px|Color: #555|Rotation speed: 6 per frame|Lock angle: Yes], layer 0
3. Accessory #2: [Shape: Hexagon|Circumcircle diameter: 49.6 px|Color: #555|Rotation speed: 3 per frame|Lock angle: Yes], layer -1

~Manager
Tier: 4
Upgrade from: Overseer
Weapons: 1 spawner.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Invisibility: Yes|Cloak transition time without moving: 1% per frame|Cloak reveal time when moving: -30% per frame|Drone max count: 8]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer 0, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 3x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]

~Mega Trapper
Tier: 4
Upgrade from: Destroyer, Trapper
Weapons: 1 launcher.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 24 px|Width: 21.84 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer 0, [Projectile type: Trap|Bullet speed: 0.86x|Bullet penetration: 3.2x|Bullet damage: 1.6x|Reload time: (2 / 0.6)x|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 1.28|Color: Same as tank's body]

~Necromancer
Tier: 4
Upgrade from: Overseer
Weapons: 2 spawners.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Drone max count: 22 + (Reload time stat * 2)|Can convert food Square into drone when food is killed by players or drones: Yes]
1. TankBody: [Shape: Square|Polygonal side length: 26 * sqrt{2}|Color: Based on teams], layer 1
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer 0, [Projectile type: Drone|Bullet penetration: 2x|Bullet damage: 0.62x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Square|Circumcircle diameter: Same as food Square|Affected by tank's size from level?: No|Color: Same as tank's body|Attack range radius: 425 px]
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer 0, [Projectile type: Drone|Bullet penetration: 2x|Bullet damage: 0.62x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Square|Circumcircle diameter: Same as food Square|Affected by tank's size from level?: No|Color: Same as tank's body|Attack range radius: 425 px]

~Octo Tank
Tier: 4
Upgrade from: Quad Tank
Weapons: 8 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 38 px|Width: 16.8 px|Angle: 45°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 38 px|Width: 16.8 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #4: [Size: 38 px|Width: 16.8 px|Angle: -45°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
6. Weapon #5: [Size: 38 px|Width: 16.8 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
7. Weapon #6: [Size: 38 px|Width: 16.8 px|Angle: -135°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
8. Weapon #7: [Size: 38 px|Width: 16.8 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
9. Weapon #8: [Size: 38 px|Width: 16.8 px|Angle: 135°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Overlord
Tier: 4
Upgrade from: Overseer
Weapons: 4 spawners.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Drone max count: 8]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer 0, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]
3. Weapon #2: [Size: 28 px|Width: 16.8 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -1, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]
4. Weapon #3: [Size: 28 px|Width: 16.8 px|Angle: -90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -2, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]
5. Weapon #4: [Size: 28 px|Width: 16.8 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -3, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]

~Overtrapper
Tier: 4
Upgrade from: Overseer, Trapper
Weapons: 1 launcher, 2 spawners.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%|Drone max count: 6]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 24 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer 0, [Projectile type: Trap|Bullet penetration: 2x|Reload time: (0.92 / 0.6)x|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]
3. Weapon #2: [Size: 28 px|Width: 16.8 px|Angle: -150°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -1, [Projectile type: Drone|Bullet speed: 0.9x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]
4. Weapon #3: [Size: 28 px|Width: 16.8 px|Angle: -30°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -2, [Projectile type: Drone|Bullet speed: 0.9x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]

~Penta Shot
Tier: 4
Upgrade from: Triple Shot
Weapons: 5 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 44 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0.7x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 38 px|Width: 16.8 px|Angle: 112.5°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0.7x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 38 px|Width: 16.8 px|Angle: 67.5°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0.7x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #4: [Size: 32 px|Width: 16.8 px|Angle: 135°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0.7x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
6. Weapon #5: [Size: 32 px|Width: 16.8 px|Angle: 45°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -4, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0.7x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Predator
Tier: 4
Upgrade from: Hunter
Weapons: 3 cannons.
Accessories: None.

Code info:
Universal: [Field of view: 117.6%|Scope distance: 460 px]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 32 px|Width: 28.56 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.4x|Bullet damage: 0.75x|Reload time: 3x|Delay: 0.72 sec|Bullet accuracy: 1.5°|Recoil: 0.3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]
3. Weapon #2: [Size: 38 px|Width: 22.68 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet speed: 1.4x|Bullet damage: 0.75x|Reload time: 3x|Delay: 0.36 sec|Bullet accuracy: 1.5°|Recoil: 0.3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]
4. Weapon #3: [Size: 44 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet speed: 1.4x|Bullet damage: 0.75x|Reload time: 3x|Bullet accuracy: 1.5°|Recoil: 0.3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]

~Ranger
Tier: 4
Upgrade from: Assassin
Weapons: 1 cannon.
Accessories: None.

Code info:
Universal: [Field of view: 142.8%]
1. TankBody [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 48 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, 33.6), (26, 16.8), (48, 16.8)], layer 0, [Projectile type: Bullet|Bullet speed: 1.43x|Bullet damage: 1.1x|Reload time: 2x|Bullet accuracy: 1.5°|Recoil: 3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Rocketeer
Tier: 4
Upgrade from: Destroyer
Weapons: 1 deployer.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 32 px|Width: 21 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 36.75), (32, 21)], layer 0, [Projectile type: Missile|Bullet speed: 0.3x|Bullet penetration: 5x|Reload time: 4x|Recoil: 3x], projectile code: [Model:Missile]
3. WeaponPart: [Color: #999|Segment: Trapezoidal - (0, 13.8), (37, 23.5)], underlapped by Weapon #1, part of Weapon #1

Code info of missile:
1. TankBody: [Shape: Circle|Diameter: width of Weapon #1|Color: Same as tank's body], layer 1
2. Weapon #1: [Size: 14.7 px|Width: 9.759 px|Angle: -90°|Color: Same as tank's body|Y-offset: 0 px|Segment: Trapezoidal - (0, 9.759), (14.7, 17.325)], layer 0, [Projectile type: Bullet|Bullet speed: 1.5x|Bullet penetration: 0.3x|Bullet damage: 0.6x|Reload time: 0.2x|Delay: 1 sec|Bullet accuracy: 25°|Bullet lifespan: 9 frames|Recoil: 3.3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Skimmer
Tier: 4
Upgrade from: Destroyer
Weapons: 1 deployer.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 32 px|Width: 28.56 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Missile|Bullet speed: 0.5x|Bullet penetration: 3x|Reload time: 4x|Bullet lifespan: 114 frames|Recoil: 3x], projectile code: [Model:Missile|Rotation speed: 6 per frames]
3. WeaponPart: [Color: #999|Segment: Trapezoidal - (0, 13.8), (37, 23.5)], underlapped by Weapon #1, part of Weapon #1

Code info of missile:
1. TankBody: [Shape: Circle|Diameter: width of Weapon #1|Color: Same as tank's body], layer 1
2. Weapon #1: [Size: 19.992 px|Width: 11.995 px|Angle: 90°|Color: Same as tank's body|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.3x|Bullet damage: 0.6x|Reload time: 0.4x|Bullet lifespan: 22 frames|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 19.992 px|Width: 11.995 px|Angle: -90°|Color: Same as tank's body|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet penetration: 0.3x|Bullet damage: 0.6x|Reload time: 0.4x|Bullet lifespan: 22 frames|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Spike
Tier: 4
Upgrade from: Smasher
Weapons: None.
Accessories: 1 smasher shell.

Code info:
Universal: [Body damage: +1 stat|Field of view: 111.1%], [Stat max limit: Health regeneration - 10, max health - 10, body damage - 10, bullet speed - 0, bullet penetration - 0, bullet damage - 0, reload time - 0, movement speed - 10, view distance - 10]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Spike #1: [Shape: Triangle|Circumcircle diameter: 52 px|Angle: 90°|Color: #555|Rotation speed: 20.4 per frame|Lock angle: Yes], layer 0
3. Spike #2: [Shape: Triangle|Circumcircle diameter: 52 px|Angle: 0°|Color: #555|Rotation speed: 20.4 per frame|Lock angle: Yes], layer -1
4. Spike #3: [Shape: Triangle|Circumcircle diameter: 52 px|Angle: -90°|Color: #555|Rotation speed: 20.4 per frame|Lock angle: Yes], layer -2
5. Spike #4: [Shape: Triangle|Circumcircle diameter: 52 px|Angle: 180°|Color: #555|Rotation speed: 20.4 per frame|Lock angle: Yes], layer -3

~Sprayer
Tier: 4
Upgrade from: Machine Gun
Weapons: 2 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (38, 30.24)], layer 0, [Projectile type: Bullet|Bullet damage: 0.7x|Reload time: (0.32 / 0.6)x|Bullet accuracy: 15°], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 44 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.2x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]

~Spread Shot
Tier: 4
Upgrade from: Triple Shot
Weapons: 11 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 35.6 px|Width: 11.76 px|Angle: 105°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 33.2 px|Width: 11.76 px|Angle: 120°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
5. Weapon #4: [Size: 30.8 px|Width: 11.76 px|Angle: 135°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
6. Weapon #5: [Size: 28.4 px|Width: 11.76 px|Angle: 150°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -4, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
7. Weapon #6: [Size: 26 px|Width: 11.76 px|Angle: 165°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -5, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
8. Weapon #7: [Size: 35.6 px|Width: 11.76 px|Angle: 75°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -6, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
9. Weapon #8: [Size: 33.2 px|Width: 11.76 px|Angle: 60°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -7, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
10. Weapon #9: [Size: 30.8 px|Width: 11.76 px|Angle: 45°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -8, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
11. Weapon #10: [Size: 28.4 px|Width: 11.76 px|Angle: 30°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -9, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
12. Weapon #11: [Size: 26 px|Width: 11.76 px|Angle: 15°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -10, [Projectile type: Bullet|Bullet damage: 0.6x|Reload time: 2x|Recoil: 0.1x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Stalker
Tier: 4
Upgrade from: Assassin
Weapons: 1 cannon.
Accessories: None.

Code info:
Universal: [Field of view: 125%|Invisibility: Yes|Cloak transition time without moving: 1% per frame|Cloak reveal time when moving: -30% per frame]
1. TankBody [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 48 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 29.4), (48, 16.8)], layer 0, [Projectile type: Bullet|Bullet speed: 1.43x|Bullet damage: 1.1x|Reload time: 2x|Bullet accuracy: 1.5°|Recoil: 3x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Streamliner
Tier: 4
Upgrade from: Gunner, Hunter
Weapons: 5 cannons.
Accessories: None.

Code info:
Universal: [Field of view: 117.6%]
1. TankBody [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.2x|Delay: 0.48 sec|Bullet accuracy: 1.5°|Bullet lifespan: 70 frames|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]
3. Weapon #2: [Size: 32 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.2x|Delay: 0.36 sec|Bullet accuracy: 1.5°|Bullet lifespan: 70 frames|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]
4. Weapon #3: [Size: 36 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.2x|Delay: 0.24 sec|Bullet accuracy: 1.5°|Bullet lifespan: 70 frames|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]
5. Weapon #4: [Size: 40 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.2x|Delay: 0.12 sec|Bullet accuracy: 1.5°|Bullet lifespan: 70 frames|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]
6. Weapon #5: [Size: 44 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer -4, [Projectile type: Bullet|Bullet speed: 1.1x|Bullet damage: 0.2x|Bullet accuracy: 1.5°|Bullet lifespan: 70 frames|Recoil: 0.2x], projectile code: [Shape: Circle|Diameter: Same as width of weapon * 0.7|Color: Same as tank's body]

~Tri-Trapper
Tier: 4
Upgrade from: Trapper
Weapons: 3 launchers.
Accessories: None.

Code info:
Universal: [Field of view: 111.1%]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 24 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer 0, [Projectile type: Trap|Bullet penetration: 2x|Reload time: (0.92 / 0.6)x|Bullet lifespan: 282 frames|Deceleration: 0.9x|Recoil: 0x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]
3. Weapon #2: [Size: 24 px|Width: 16.8 px|Angle: -150°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer -1, [Projectile type: Trap|Bullet penetration: 2x|Reload time: (0.92 / 0.6)x|Bullet lifespan: 282 frames|Deceleration: 0.9x|Recoil: 0x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]
4. Weapon #3: [Size: 24 px|Width: 16.8 px|Angle: -30°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer -2, [Projectile type: Trap|Bullet penetration: 2x|Reload time: (0.92 / 0.6)x|Bullet lifespan: 282 frames|Deceleration: 0.9x|Recoil: 0x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]

~Triple Twin
Tier: 4
Upgrade from: Twin Flank
Weapons: 6 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 10.4 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
3. Weapon #2: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: -10.4 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
4. Weapon #3: [Size: 38 px|Width: 16.8 px|Angle: -150°|Color: #999|Y-offset: 10.4 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
5. Weapon #4: [Size: 38 px|Width: 16.8 px|Angle: -150°|Color: #999|Y-offset: -10.4 px|Segment: Rectangular], layer -3, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
6. Weapon #5: [Size: 38 px|Width: 16.8 px|Angle: -30°|Color: #999|Y-offset: 10.4 px|Segment: Rectangular], layer -4, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
7. Weapon #6: [Size: 38 px|Width: 16.8 px|Angle: -30°|Color: #999|Y-offset: -10.4 px|Segment: Rectangular], layer -5, [Projectile type: Bullet|Bullet damage: 0.62x|Recoil: 0x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Triplet
Tier: 4
Upgrade from: Triple Shot
Weapons: 3 cannons.
Accessories: None.

Code info:
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet|Bullet penetration: 0.7x|Bullet damage: 0.6x|Recoil: 0.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Weapon #2: [Size: 32 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 10.4 px|Segment: Rectangular], layer -1, [Projectile type: Bullet|Bullet penetration: 0.7x|Bullet damage: 0.6x|Recoil: 0.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as body]
4. Weapon #3: [Size: 32 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: -10.4 px|Segment: Rectangular], layer -2, [Projectile type: Bullet|Bullet penetration: 0.7x|Bullet damage: 0.6x|Recoil: 0.5x], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]

~Inferno
Tier: 4
Upgrade from: Hearth
Weapons: 1 cannon.
Accessories: 1 aura.

Ice hexagons can't chill players due to cold resistance is exceeded to its ice power.

Code info:
Universal: [Cold resistance (collision): 8.5|Cold resistance (icy radial aura): 0.85|Defreeze recovery speed: 2.2x]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 38 px|Width: 16.8 px|Angle (Scratch.mit.edu): 90°|Color: #999|Y-offset: 0 px|Segment: Rectangular], layer 0, [Projectile type: Bullet], projectile code: [Shape: Circle|Diameter: Same as width of weapon|Color: Same as tank's body]
3. Accessory #1: [Shape: Circle|Aura range diameter: 10x diameter of tank's body|Color: 50% same as tank's body + 50% #fff (#999 when disabled by passive mode is on)|Opacity: 20%|Aura damage: -1 HP per frames], layer 2

~Aura Overseer
Tier: 4
Upgrade from: Hearth, Overseer
Weapons: 2 spawners.
Accessories: 1 aura.

Code info:
Universal: [Field of view: 111.1%|Cold resistance (collision): 5|Cold resistance (icy radial aura): 0.5|Defreeze recovery speed: 1.6x|Drone max count: 8]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 28 px|Width: 16.8 px|Angle: 0°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer 0, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]
3. Weapon #2: [Size: 28 px|Width: 16.8 px|Angle: 180°|Color: #999|Y-offset: 0 px|Segment: Trapezoidal - (0, 16.8), (28, 30.24)], layer -1, [Projectile type: Drone|Bullet speed: 0.9x|Bullet penetration: 2x|Reload time: 6x|Bullet lifespan: Eternal|Drone controllability: Yes], projectile code: [Shape: Triangle|Polygonal side length: Same as width of weapon * 1.2|Color: Same as tank's body|Attack range radius: 425 px]
4. Accessory #1: [Shape: Circle|Aura range diameter: 6x diameter of tank's body|Color: 50% same as tank's body + 50% #fff (#999 when disabled by passive mode is on)|Opacity: 20%|Aura damage: -0.5 HP per frames], layer 2

~Aura Trapper
Tier: 4
Upgrade from: Hearth, Trapper
Weapons: 1 launcher.
Accessories: 1 aura.

Code info:
Universal: [Field of view: 111.1%|Cold resistance (collision): 5|Cold resistance (icy radial aura): 0.5|Defreeze recovery speed: 1.6x]
1. TankBody: [Shape: Circle|Diameter: 40 px|Color: Based on teams], layer 1
2. Weapon #1: [Size: 24 px|Width: 16.8 px|Angle: 90°|Color: #999|Y-offset: 0 px|Segment: (0, width), (size, width), ((width / 2.1), (width * (29.5 / 16.8)))], layer 0, [Projectile type: Trap|Bullet penetration: 2x|Reload time: (0.92 / 0.6)x|Bullet lifespan: 704 frames|Deceleration: 0.9x], projectile code: [ShapeModel:Trap|Polygonal side length: (Same as width of weapon * 1.25) * 0.8|Color: Same as tank's body]
3. Accessory #1: [Shape: Circle|Aura range diameter: 6x diameter of tank's body|Color: 50% same as tank's body + 50% #fff (#999 when disabled by passive mode is on)|Opacity: 20%|Aura damage: -0.5 HP per frames], layer 2