Enemies: Difference between revisions
Corrections: dry factual tone, code-verified facts, removed cut content and First-appearance rows |
Restore revision 364: my previous edit clobbered the Cut Enemies gallery by publishing from a stale draft Tag: Manual revert |
||
| (12 intermediate revisions by the same user not shown) | |||
| Line 38: | Line 38: | ||
<div class="dw-grid"> | <div class="dw-grid"> | ||
<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">[[Eyefish|<span class="dw-sprite" data-sprite="enemies/eyefish.png"></span><span class="dw-grid__label">Eyefish</span>]]</div> | <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/neonobake.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/neonmohawk.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/neonsquid.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> | |||
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 enemy exists only as art: the <code>sprKidEyeflap</code> sheets (idle, walk, attack, damage and dead animations) have no matching object anywhere in the code; it was never programmed at all. | |||
One boss clone, <code>neonSkull</code>, is fully implemented but the [[Final Boss]]'s phase-cycling code never selects it, so it never appears. | |||
<div class="dw-thumbrow"> | |||
<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/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> | |||
<div class="dw-thumb"><span class="dw-sprite" data-sprite="enemies/eyeflap.png"></span><div class="dw-thumb__cap">"Kid Eyeflap": <code>sprKidEyeflap*</code> sprites only, no object.</div></div> | |||
</div></div> | |||
[[Category:Enemies]] | [[Category:Enemies]] | ||
Latest revision as of 04:51, 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[edit]
Catacombs[edit]
Aquifer[edit]
Limbo[edit]
Boss[edit]
The Final Boss spawns pale clones of earlier enemies (the neon* objects), matching the section of the Abyss the fight has reached.
Cut Enemies[edit]
enmVfrog.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 enemy exists only as art: the sprKidEyeflap sheets (idle, walk, attack, damage and dead animations) have no matching object anywhere in the code; it was never programmed at all.
One boss clone, neonSkull, is fully implemented but the Final Boss's phase-cycling code never selects it, so it never appears.
enmAngryFace, enmLunger, and enmUpshoot.enmDownSkull / enmDskull / enmDarkWander.enmRat.enmSkullSoul.enmBabyObake.enmStg1; the sprite is literally named "sprmeh".enmCrawlbot.enmFishred / enmFishredWander.enmNbar.enmLeapon.enmSporeSpawn.enmUnichan.enmGatherer.sprKidEyeflap* sprites only, no object.