Enemies: Difference between revisions

From Downwiki
Jump to navigation Jump to search
Kid Eyeflap (sprite-only cut, no object exists) + em dash sweep
Cut Enemies section (atlas hotspots link here)
Line 53: Line 53:
<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/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/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/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/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/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/neonsquid.png"></span><span class="dw-grid__label">Neon Squid</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>
[[Category:Enemies]]


== 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>
The code contains 57 enemy objects that are never spawned by any level pattern, spawner table, or the boss. Their art is visible in the [[Assets|texture atlas]], which links back to this section.
 
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>.
{| class="wikitable"
 
! Internal object !! Default sprite
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>.
|-
 
| <code>enmAngryFace</code> || sprBoringball
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>.
|-
 
| <code>enmAscend</code> || sprBatAsc
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.
|-
 
| <code>enmBabyObake</code> || sprBabyObake
One boss clone, <code>neonSkull</code>, is fully implemented but the [[Final Boss]]'s phase-cycling code never selects it, so it never appears.
|-
 
| <code>enmBug</code> || sprBug
<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>
| <code>enmBulRanged</code> || sprBulScatter1
<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>
| <code>enmCrawlbot</code> || sprCrawlbot
<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>
| <code>enmDarkWander</code> || sprDarksoulEyes1
<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>
| <code>enmDarksoulW</code> || sprDarksoulEyes1
<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>
| <code>enmDodger</code> || sprGemcopter
<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>
| <code>enmDodgeshot</code> || sprGemcopter
<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>
| <code>enmDownSkull</code> || sprDskull
<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>
| <code>enmDskull</code> || sprDskull
 
|-
[[Category:Enemies]]
| <code>enmFirebat</code> || sprBatRed
|-
| <code>enmFishred</code> || sprFishRed
|-
| <code>enmFishredWander</code> || sprFishRed
|-
| <code>enmFlamewisp</code> || sprEyefish
|-
| <code>enmFriends</code> || sprEyefish
|-
| <code>enmGateTurret</code> || sprEnmBubble
|-
| <code>enmGatherer</code> || sprGatherer
|-
| <code>enmGuntle</code> || sprGuntleIdle
|-
| <code>enmJellofish</code> || sprJellofish
|-
| <code>enmJellyAir</code> || sprEnmWhiteJelly
|-
| <code>enmLeapon</code> || sprLeapon
|-
| <code>enmLunger</code> || sprBoringball
|-
| <code>enmNbar</code> || sprNbarShoot
|-
| <code>enmPoofer</code> || sprPooferD
|-
| <code>enmRat</code> || sprRat
|-
| <code>enmSTG1</code> || sprmeh
|-
| <code>enmSamball</code> || sprTwinBall
|-
| <code>enmShooter</code> || sprMohawk6
|-
| <code>enmSkullSoul</code> || sprEnmMoya
|-
| <code>enmSpider</code> || sprSpiderIdle
|-
| <code>enmSporeSpawn</code> || sprSporenIdle
|-
| <code>enmStraightBall</code> || sprTwinBall
|-
| <code>enmTadpole</code> || sprMohawk6
|-
| <code>enmTentacleye</code> || sprTentacleye
|-
| <code>enmTentacrab</code> || sprTentacrab
|-
| <code>enmTwinbot</code> || sprEyefish
|-
| <code>enmUnichan</code> || sprUnichan
|-
| <code>enmUpshoot</code> || sprBoringball
|-
| <code>enmVfrog</code> || sprSmileSlime
|-
| <code>enmWallCrawler</code> || sprCrawler
|-
| <code>enmWallLurker</code> || sprCrawler
|-
| <code>enmXchaser</code> || sprEyefish
|-
| <code>gasAscend</code> || sprDescentDrill
|-
| <code>gasAscend2</code> || sprDescentDrill
|-
| <code>gasBounce</code> || sprDarksoulEyes1
|-
| <code>gasChaserDodge</code> || sprDescentSphere
|-
| <code>gasCircle</code> || sprDarksoulEyes1
|-
| <code>gasDescend</code> || sprDescentDrill
|-
| <code>gasDescendSlow</code> || sprNeonEllipse
|-
| <code>gasWanderUp</code> || sprGasSpin
|-
| <code>limboChaser</code> || sprDarksoulEyes1
|-
| <code>limboWander</code> || sprDarksoulEyes1
|-
| <code>neonFloat</code> || sprNeonEllipse
|-
| <code>neonRedJelly</code> || sprRedJelly
|-
| <code>neonSkull</code> || sprSkullCalm
|}

Revision as of 04:48, 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

The code contains 57 enemy objects that are never spawned by any level pattern, spawner table, or the boss. Their art is visible in the texture atlas, which links back to this section.

Internal object Default sprite
enmAngryFace sprBoringball
enmAscend sprBatAsc
enmBabyObake sprBabyObake
enmBug sprBug
enmBulRanged sprBulScatter1
enmCrawlbot sprCrawlbot
enmDarkWander sprDarksoulEyes1
enmDarksoulW sprDarksoulEyes1
enmDodger sprGemcopter
enmDodgeshot sprGemcopter
enmDownSkull sprDskull
enmDskull sprDskull
enmFirebat sprBatRed
enmFishred sprFishRed
enmFishredWander sprFishRed
enmFlamewisp sprEyefish
enmFriends sprEyefish
enmGateTurret sprEnmBubble
enmGatherer sprGatherer
enmGuntle sprGuntleIdle
enmJellofish sprJellofish
enmJellyAir sprEnmWhiteJelly
enmLeapon sprLeapon
enmLunger sprBoringball
enmNbar sprNbarShoot
enmPoofer sprPooferD
enmRat sprRat
enmSTG1 sprmeh
enmSamball sprTwinBall
enmShooter sprMohawk6
enmSkullSoul sprEnmMoya
enmSpider sprSpiderIdle
enmSporeSpawn sprSporenIdle
enmStraightBall sprTwinBall
enmTadpole sprMohawk6
enmTentacleye sprTentacleye
enmTentacrab sprTentacrab
enmTwinbot sprEyefish
enmUnichan sprUnichan
enmUpshoot sprBoringball
enmVfrog sprSmileSlime
enmWallCrawler sprCrawler
enmWallLurker sprCrawler
enmXchaser sprEyefish
gasAscend sprDescentDrill
gasAscend2 sprDescentDrill
gasBounce sprDarksoulEyes1
gasChaserDodge sprDescentSphere
gasCircle sprDarksoulEyes1
gasDescend sprDescentDrill
gasDescendSlow sprNeonEllipse
gasWanderUp sprGasSpin
limboChaser sprDarksoulEyes1
limboWander sprDarksoulEyes1
neonFloat sprNeonEllipse
neonRedJelly sprRedJelly
neonSkull sprSkullCalm