Mines, Molotovs, and a Cooldown on Catching Fire
Two towers joined the roster this week, Zap Mines and Molotov, and the Flame tower lost the ability to ignite an entire wave at once. Underneath all three sits a change to how status effects work: fire, poison, frost, stun, confusion and hex now all declare a duration and a cooldown in one file, and an enemy that just recovered from an effect is briefly immune to it. Balance work, mostly, which is the kind that never shows up in a trailer and decides whether the game is any good.
Zap Mines
The Zap Mines tower places up to three electric mines anywhere inside its range. When an enemy walks into a mine's 48px radius, the mine detonates and hits up to three random enemies in that radius with split electric damage plus the same STUN the Tesla applies. Damage scales from 48 at level 1 to 640 at level 100.
What makes it interesting is that it is the first tower whose coverage is not a circle around itself. The mines sit where the path bends, the tower can be tucked behind them, and the damage lands when the enemy chooses to arrive rather than on a fire-rate timer. It currently borrows the Spike Factory sprites, so it looks like a placeholder because it is one. Unlock cost: 20 gold.
Molotov
Molotov fires like the Cannon (and reuses its sprites for now) but deals FIRE damage. On impact, every enemy within 0.5 world units (32px) takes the full damage and the burn effect, with no splash falloff: everyone in the blast takes the same hit, not a gradient from the center.
That flat profile is the point. The Cannon rewards hitting the center of a pack; the Molotov rewards hitting the pack at all, and then keeps working through the burn after the impact. Two very different answers to the same crowd. Unlockable in the meta shop for 20 coins.
The Flame tower stopped burning everything
The Flame tower used the cone behavior, which applied burn to every enemy inside the arc on every shot. Combined with the Wildfire upgrade, which spreads burns, this produced runaway coverage: light one wave and the whole thing is on fire forever, no positioning required.
Fire is now single-target: the Flame tower deals damage and applies burn only to its primary aim target per shot. Everything about the fire system stayed, it just stopped being applied to a dozen enemies at once by a tower that costs almost nothing.
Both new towers also shipped effectively unbuyable, which took a while to notice. They were in the unlock shop and purchasable, but absent from every stage's availableTowerTypes list, and the tower roll filters against that list. You could own a Molotov and never once be offered one. Adding zapMines and molotov to every stage fixed it. Anything that exists in two lists will eventually exist in only one of them.
Every effect has a duration and a cooldown
The status effects had grown organically, each with its own bespoke fields and its own idea of stacking. All the non-intrinsic ones (fire, poison, frost, stun, confusion, hex) now declare duration and cooldown in statusEffects.json. After an effect expires, that enemy is immune to that specific effect for the cooldown window, 2 seconds by default.
The cooldown is the interesting half. Without it, a fast tower simply re-applies its effect the instant it lapses, which makes "permanently stunned" the default state of anything a Tesla can see, and turns the status system into a soft crowd-control ceiling nobody can tune. With it, effects have rhythm: an enemy burns, stops burning, and is briefly fireproof, so overlapping two fire towers on one lane is genuinely worse than spreading them.
Implementation-wise this added burnCooldownRemaining and poisonCooldownRemaining to StatusState, with the slow, confusion and hex cooldowns tracked in the movement and status systems respectively.
Potent and Lingering Afflictions
With effect strength frozen at the tower level (the three numbers rule from last time), the only way to grow a status effect is an upgrade card. Two global ones landed:
- Potent Afflictions scales
statusPowerMult, from +10% at level 1 to 5x at level 100. All status effects hit harder. - Lingering Afflictions scales
statusDurationMult, from +10% to 4x. All status effects last longer.
They multiply through everywhere an effect is created: the poison dart's payload at projectile spawn, the flame tower's burn DPS and duration, the Tesla's stun duration, the Illusion tower's confusion. Lingering Afflictions also lifts the hard 6 second burn cap by the same factor, otherwise the upgrade would silently do nothing past a certain level, which is the worst kind of upgrade.
Poison and Illusion got real art
Two more towers stopped being placeholders, following the same pattern as the rest of the tower art pass: a 128x64 sheet holding two 64x64 frames, idle and firing, with the firing frame showing for a fixed window after each shot.
The Poison tower's hex-shaped body is fixed (it never rotates to face a target) and it finally has a real projectile: a 64x64 potion drawn at half size that spins as it flies, following the same slow arc the ricochet disc uses, from the tower center to its single target.
The Illusion tower is radially symmetric, so it is fixed too, and it fires no projectile at all, its behavior is confuse. The projectile field just points at its own texture, which is never drawn. Small oddity, worth a comment in the code so nobody deletes the "wrong" assignment later.
Next: every screen learns to say what is happening.