Enemies: Difference between revisions
Pattern-script swap corrections: gasSpin and Clam are in the game; Eyefish is hard-mode only |
Add right-floated sprite thumbnails for the funnier cut enemies |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 40: | Line 40: | ||
<div class="dw-grid__tile">[[Gas|<span class="dw-sprite" data-sprite="enemies/gasdrill.png"></span><span class="dw-grid__label">Gas</span>]]</div> | <div class="dw-grid__tile">[[Gas|<span class="dw-sprite" data-sprite="enemies/gasdrill.png"></span><span class="dw-grid__label">Gas</span>]]</div> | ||
<div class="dw-grid__tile">[[Gas|<span class="dw-sprite" data-sprite="enemies/gasspin.png"></span><span class="dw-grid__label">Gas (spin)</span>]]</div> | <div class="dw-grid__tile">[[Gas|<span class="dw-sprite" data-sprite="enemies/gasspin.png"></span><span class="dw-grid__label">Gas (spin)</span>]]</div> | ||
<div class="dw-grid__tile">[[Eyefish|<span class="dw-sprite" data-sprite="enemies/eyefish.png"></span><span class="dw-grid__label">Eyefish | <div class="dw-grid__tile">[[Eyefish|<span class="dw-sprite" data-sprite="enemies/eyefish.png"></span><span class="dw-grid__label">Eyefish</span>]]</div> | ||
<div class="dw-grid__tile">[[Darksoul|<span class="dw-sprite" data-sprite="enemies/darksoul.png"></span><span class="dw-grid__label">Darksoul</span>]]</div> | <div class="dw-grid__tile">[[Darksoul|<span class="dw-sprite" data-sprite="enemies/darksoul.png"></span><span class="dw-grid__label">Darksoul</span>]]</div> | ||
</div> | </div> | ||
== Boss == | == Boss == | ||
The [[Final Boss]] spawns pale clones of earlier enemies (the <code>neon*</code> objects), matching the section of the [[Abyss]] the fight has reached. | |||
<div class="dw-grid"> | <div class="dw-grid"> | ||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="areas/abyss.png"></span><span class="dw-grid__label">Final Boss</span>]]</div> | <div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="areas/abyss.png"></span><span class="dw-grid__label">Final Boss</span>]]</div> | ||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="enemies/neonbat.png"></span><span class="dw-grid__label">Neon Bat</span>]]</div> | |||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="enemies/neonjelly.png"></span><span class="dw-grid__label">Neon Jelly</span>]]</div> | |||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="enemies/neonredball.png"></span><span class="dw-grid__label">Neon Red Ball</span>]]</div> | |||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="enemies/obake.png"></span><span class="dw-grid__label">Neon Obake</span>]]</div> | |||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="enemies/neongaschaser.png"></span><span class="dw-grid__label">Neon Gas Chaser</span>]]</div> | |||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="enemies/mohawkmon.png"></span><span class="dw-grid__label">Neon Mohawk</span>]]</div> | |||
<div class="dw-grid__tile">[[Final Boss|<span class="dw-sprite" data-sprite="enemies/squid.png"></span><span class="dw-grid__label">Neon Squid</span>]]</div> | |||
</div> | </div> | ||
== Cut Enemies == | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/smileslime.png"></span><div class="dw-thumb__cap">Smile Slime — <code>enmVfrog</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/boringball.png"></span><div class="dw-thumb__cap">"Boring Ball" — reused by <code>enmAngryFace</code>, <code>enmLunger</code>, and <code>enmUpshoot</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/dskull.png"></span><div class="dw-thumb__cap"><code>enmDownSkull</code> / <code>enmDskull</code> / <code>enmDarkWander</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/rat.png"></span><div class="dw-thumb__cap"><code>enmRat</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/moya.png"></span><div class="dw-thumb__cap">"Moya" — <code>enmSkullSoul</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/babyobake.png"></span><div class="dw-thumb__cap"><code>enmBabyObake</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/meh.png"></span><div class="dw-thumb__cap"><code>enmStg1</code> — the sprite is literally named "sprmeh".</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/twinball.png"></span><div class="dw-thumb__cap">Reused by <code>enmFriends</code>, <code>enmSamball</code>, and <code>enmTwinbot</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/crawlbot.png"></span><div class="dw-thumb__cap"><code>enmCrawlbot</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/fishred.png"></span><div class="dw-thumb__cap"><code>enmFishred</code> / <code>enmFishredWander</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/nbar.png"></span><div class="dw-thumb__cap"><code>enmNbar</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/leapon.png"></span><div class="dw-thumb__cap"><code>enmLeapon</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/sporenidle.png"></span><div class="dw-thumb__cap"><code>enmSporeSpawn</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/unichan.png"></span><div class="dw-thumb__cap"><code>enmUnichan</code>.</div></div> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/gatherer.png"></span><div class="dw-thumb__cap"><code>enmGatherer</code>.</div></div> | |||
These enemy objects exist in the game's code but are never spawned anywhere in the shipped game — leftovers from development that never made it into (or were removed from) a level. | |||
A legacy ambient-spawner object, <code>obj_spawner</code>, is superseded by the actual spawner system (<code>Spawner</code> + <code>spawnerSet1</code>–<code>5</code>) wired into level generation and is itself never placed, orphaning everything it alone references: <code>enmDodger</code>, <code>enmPoofer</code>, <code>enmDarksoulW</code>, <code>enmGuntle</code> (and its projectile, <code>guntleBubble</code>). | |||
A handful of enemies are only ever spawned by another object that is itself never placed: <code>enmAscend</code> (by <code>ascend_spawner</code>), <code>enmBug</code> (by <code>bugbugbug</code>), <code>enmStraightBall</code> (by <code>ball_spawner</code>), <code>enmTentacrab</code> and the tendril it spawns, <code>enmTentacleye</code>, plus <code>swarm</code>, <code>morphBomb</code>, and <code>Spore</code>. | |||
A whole cut mechanic — a locked gate guarded by a turret — never appears in any level layout: <code>Gate</code>, <code>GateSwitch</code>, <code>enmGateTurret</code>. | |||
The rest have no references anywhere in the shipped code at all, beyond an internal (and unreliable) name table: <code>enmAngryFace</code>, <code>enmBabyObake</code>, <code>enmCrawlbot</code>, <code>enmDarkWander</code>, <code>enmDodgeshot</code>, <code>enmDownSkull</code>, <code>enmDskull</code>, <code>enmFirebat</code>, <code>enmFishred</code>, <code>enmFishredWander</code>, <code>enmFlamewisp</code>, <code>enmFriends</code>, <code>enmGatherer</code>, <code>enmJellyAir</code>, <code>enmLeapon</code>, <code>enmLunger</code>, <code>enmNbar</code>, <code>enmRat</code>, <code>enmSamball</code>, <code>enmSkullSoul</code>, <code>enmSporeSpawn</code>, <code>enmStg1</code>, <code>enmTadpole</code>, <code>enmTwinbot</code>, <code>enmUnichan</code>, <code>enmUpshoot</code>, <code>enmVfrog</code>, <code>enmWallCrawler</code>, <code>enmWallLurker</code>, <code>enmXchaser</code>, <code>limboChaser</code>, <code>limboWander</code>, <code>neonFloat</code>, <code>neonRedJelly</code>, and <code>uniDead</code> — plus a set of [[Limbo]]-style gas variants superseded by the "fast" ones that actually spawn: <code>gasAscend</code>, <code>gasAscend2</code>, <code>gasBounce</code>, <code>gasChaserDodge</code>, <code>gasCircle</code>, <code>gasDescend</code>, <code>gasDescendSlow</code>, <code>gasWanderUp</code>. | |||
One boss clone, <code>neonSkull</code>, is fully implemented but the [[Final Boss]]'s phase-cycling code simply never selects it — a defined clone that's dead weight in a switch statement. | |||
[[Category:Enemies]] | [[Category:Enemies]] | ||
Revision as of 04:18, 5 July 2026
Enemies appear randomly throughout each level and may actively attack or passively damage the player. Killing multiple enemies between landing on the ground will result in combos and can yield bonuses. Most enemies can be stomped on which will kill them and recharge the player's gunboots. However, some enemies will damage the player if stomped on; these enemies generally display the secondary color (default red) along their top side as a reminder that they should not be stepped on.
Caverns
Catacombs
Aquifer
Limbo
Boss
The Final Boss spawns pale clones of earlier enemies (the neon* objects), matching the section of the Abyss the fight has reached.
Cut Enemies
enmVfrog.enmAngryFace, enmLunger, and enmUpshoot.enmDownSkull / enmDskull / enmDarkWander.enmRat.enmSkullSoul.enmBabyObake.enmStg1 — the sprite is literally named "sprmeh".enmFriends, enmSamball, and enmTwinbot.enmCrawlbot.enmFishred / enmFishredWander.enmNbar.enmLeapon.enmSporeSpawn.enmUnichan.enmGatherer.These enemy objects exist in the game's code but are never spawned anywhere in the shipped game — leftovers from development that never made it into (or were removed from) a level.
A legacy ambient-spawner object, obj_spawner, is superseded by the actual spawner system (Spawner + spawnerSet1–5) wired into level generation and is itself never placed, orphaning everything it alone references: enmDodger, enmPoofer, enmDarksoulW, enmGuntle (and its projectile, guntleBubble).
A handful of enemies are only ever spawned by another object that is itself never placed: enmAscend (by ascend_spawner), enmBug (by bugbugbug), enmStraightBall (by ball_spawner), enmTentacrab and the tendril it spawns, enmTentacleye, plus swarm, morphBomb, and Spore.
A whole cut mechanic — a locked gate guarded by a turret — never appears in any level layout: Gate, GateSwitch, enmGateTurret.
The rest have no references anywhere in the shipped code at all, beyond an internal (and unreliable) name table: enmAngryFace, enmBabyObake, enmCrawlbot, enmDarkWander, enmDodgeshot, enmDownSkull, enmDskull, enmFirebat, enmFishred, enmFishredWander, enmFlamewisp, enmFriends, enmGatherer, enmJellyAir, enmLeapon, enmLunger, enmNbar, enmRat, enmSamball, enmSkullSoul, enmSporeSpawn, enmStg1, enmTadpole, enmTwinbot, enmUnichan, enmUpshoot, enmVfrog, enmWallCrawler, enmWallLurker, enmXchaser, limboChaser, limboWander, neonFloat, neonRedJelly, and uniDead — plus a set of Limbo-style gas variants superseded by the "fast" ones that actually spawn: gasAscend, gasAscend2, gasBounce, gasChaserDodge, gasCircle, gasDescend, gasDescendSlow, gasWanderUp.
One boss clone, neonSkull, is fully implemented but the Final Boss's phase-cycling code simply never selects it — a defined clone that's dead weight in a switch statement.