Enemies: Difference between revisions

From Downwiki
Jump to navigation Jump to search
Cut-enemy gallery: captioned image cards (dw-thumbrow) instead of link-styled grid tiles
Add Jellofish (secret Aquifer enemy) to the grid
 
(5 intermediate revisions by the same user not shown)
Line 33: Line 33:
<div class="dw-grid__tile">[[Squid|<span class="dw-sprite" data-sprite="enemies/squid.png"></span><span class="dw-grid__label">Squid</span>]]</div>
<div class="dw-grid__tile">[[Squid|<span class="dw-sprite" data-sprite="enemies/squid.png"></span><span class="dw-grid__label">Squid</span>]]</div>
<div class="dw-grid__tile">[[Mohawkmon|<span class="dw-sprite" data-sprite="enemies/mohawkmon.png"></span><span class="dw-grid__label">Mohawkmon</span>]]</div>
<div class="dw-grid__tile">[[Mohawkmon|<span class="dw-sprite" data-sprite="enemies/mohawkmon.png"></span><span class="dw-grid__label">Mohawkmon</span>]]</div>
<div class="dw-grid__tile">[[Jellofish|<span class="dw-sprite" data-sprite="enemies/jellofish.png"></span><span class="dw-grid__label">Jellofish</span>]]</div>
</div>
</div>


Line 61: Line 62:
== Cut Enemies ==
== 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/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.
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 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>).
Line 69: Line 70:
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 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>.
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>.
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.
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-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/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/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/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/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/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/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/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/fishred.png"></span><div class="dw-thumb__cap"><code>enmFishred</code> / <code>enmFishredWander</code>.</div></div>
Line 90: Line 92:
<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/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/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>
</div></div>


[[Category:Enemies]]
[[Category:Enemies]]

Latest revision as of 05:38, 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]

Smile Slime: 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 + spawnerSet15) 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.

"Boring Ball": reused by enmAngryFace, enmLunger, and enmUpshoot.
enmDownSkull / enmDskull / enmDarkWander.
enmRat.
"Moya": enmSkullSoul.
enmBabyObake.
enmStg1; the sprite is literally named "sprmeh".
enmCrawlbot.
enmFishred / enmFishredWander.
enmNbar.
enmLeapon.
enmSporeSpawn.
enmUnichan.
enmGatherer.
"Kid Eyeflap": sprKidEyeflap* sprites only, no object.