This post is a wiki, anyone can edit it. Please correct any mistakes or missing content.
Credits
To @someguy for asking me about this
and @popstarfreas for allowing me to share this
Default Values
T will represent the tier of the sentry.
Max HP | 100 | |
Damage | Usually applied to weapon | 0 |
Knockback | Usually applied to weapon | 0 |
Upgrade Cost | 200T^3 + 1000 | |
Repair Amount | HP healed when within Repair Range | \max(15, \frac{\text{Max HP}}{16}) |
Repair Range | Maximum distance from sentry to heal it | \text{ 3 Blocks} |
Minigun Sentry
A | B |
---|---|
Loadout | Minigun Sentry |
Max HP | 10(T - 1)^2 + 100 |
Damage | \max(5, \ T^2 - 3) |
Knockback | \max(0, \ T - 4) |
Trigger(Weapon) Distance | \text{25 Blocks} |
Bullet | \text{Bullet Type}=\begin{cases} \text{Musket Ball} & \text{if} \ T < 3\\ \text{Meteor bullet} & \text{if} \ T<8 \\\text{Crystal Bullet} & \text{if} \ T < 11\\ \text{Exploding Bullet} & \text{if} \ T>=11\end{cases} |
Sniper Sentry
Loadout | Snipe Sentry |
Damage | \text{Damage}=\begin{cases} T^2 + 25 & \text{if} \ T \le 10\\ 8T + 100 & \text{if} \ T> 10 \end{cases} |
Trigger(Weapon) Distance | \text{100 Blocks} |
Bullet | \text{Bullet Type}=\begin{cases} \text{High Velocity Bullet} & \text{if} \ T \le 10\\ \text{Luminite Bullet} & \text{if} \ T> 10 \end{cases} |
Frequency | \left(\frac{60}{\max(6, \ 80 - 5T)}\right)\text{bullets per second} |
Emitter Sentry
Loadout | Emitter Sentry |
Trigger(Buff) Distance | (T+8) \ \text{Blocks} |
Buff Distance | (T+20) \ \text{Blocks} |
Buff Cooldown | 5T \ \text{Seconds} |
Trigger Distance vs Buff Distance
First the Emitter tries to look for a mob within its trigger distance. If it finds one, it activates and debuffs that mob. Only when it’s activated do all mobs in the bigger buff distance also receive debuffs
Advanced Buffing
All mobs have a number attached to them that says “Hey! Check me out first”. This number goes from 1 to 400(max mobs)
Assume we have 2 mobs(N_1, N_2), and the number on N_1 is 1, while it’s 2 for N_2. N_1 is in the Emitter’s buff distance but not trigger distance, while N_2 is in the trigger distance. Because N_2 has the number 2, it means N_1 will be checked first. But the Emitter is neither activated nor activatable because N_1 is not in its trigger distance. So it ignores N_1. Then it sees N_2 which is in its trigger distance, so it debuffs it. We’re now left with a clean N_1 and a debuffed N_2
Nade Sentry
Loadout | Nade Sentry |
Damage | 8T |
Knockback | 2T+ 15 |
Trigger(Weapon) Distance | \text{20 Blocks} |
Frequency | \left(\frac{60}{\max(20,\ 250 - 5T^2)}\right)\text{nades per second} |
Nades
Tier | Weapon | Projectile | Ammo |
---|---|---|---|
1 | Grenade Launcher | Rocket III | |
2-3 | Grenade Launcher | Cluster Rocket I | |
4-5 | Proximity Mine Launcher | Rocket I | |
6-7 | Proximity Mine Launcher | Mini Nuke I | |
8-9 | Snowman Cannon | Cluster Rocket I | |
10+ | Snowman Cannon | Mini Nuke I |
Bank Sentry
Loadout | Bank Sentry |
Max HP | 100 + 50 *\text{Round #} |
Bank $ Distance | (T+14) \ \text{Blocks} |
Interest Rate | \text{30%} |
Score Deposited | \operatorname{round}\left(\max\left(1000,\frac{9}{100}x\right)\right) |
Upgrades
Instead of upgrading, score is deposited into the bank through the formula above.
Applications of banking
At the end of each round, 30% of the score stored in the bank is given to the player, while it retains its value. For example, a bank with 9,000 score gives the player 2,700 but still holds 9,000. In other words, score is gained by depositing into a bank, at the cost of delayed equipment and the 1.75x pricing from the sentry ability. Once the bank dies, all the score is returned to the player.
Score Stealing
Score Stolen vs Score Gained
Score Stolen is how much s decreases, while Score Gained is how much the bank gains.
What is ceil(x)?
It’s a function that rounds up if x has a decimal value. ceil(4) = 4 while ceil(4.0001) = 5 and ceil(4.6) = 5.
Assume s is the points gained from hitting a mob. Score stolen is then ceil(\frac{s}{4}). However, score gained is ceil(\frac{s}{4}) \cdot 2. If there’s a decimal value, it’s always rounded up. s is then passed to the next bank. This means that s decreases as it goes from one bank to another.
For example: s is 360. Bank 1 will steal \frac{1}{4} of that(90, but gain 180), leaving 270. Bank 2 will steal \frac{1}{4} of that(68, but gain 136), leaving 202, and so on.
Repair Sentry
Loadout | Repair Sentry |
|
Health | 300T+ 500 | |
Repair Range | \text{0 (Unrepairable)} | |
Repair Others Amount | Maximum HP it can heal(a sentry) in one repair | 50T \space \text{HP} |
Repair Others Distance | Maximum distance from sentry to heal it | (T+15) \ \text {Blocks} |
Repair Cooldown | \text{1 Second} |
Repair Mechanics
If the Repair’s HP falls below 100, it waits until 25% of its max health till it repairs again.
It first finds all bots within range. If the bot is either a Repair or Tank, it skips it. Otherwise it heals it. The maximum HP it can heal a sentry is Repair Others Amount. If it heals less than 6HP, it is considered as healing 10HP.
It then calculates how much it healed, and takes damage.
Tank Sentry
Loadout | Tank Sentry |
Health | 100(T - 1)^2 + 100 |
Damage | 2T |
Trigger(Weapon) Distance | \text{5 blocks} |
Frequency | \approx2\ \text{attacks per second} \ (\text{1 attack per} \ \frac{27}{60} \ \text{or 0.45 Seconds}) |
Upgrades
Tier | Item(s) | |
---|---|---|
5 | Hero Shield | |
6 | Berserker Glove | |
8 | Turtle Armor | |
12 | Solar Flare Armor |