Enemies: Difference between revisions
Add Cut Enemies section: objects fully coded but never spawned in the shipped game, traced through spawner chains and numeric spawner-table IDs |
Add Jellofish (secret Aquifer enemy) to the grid |
||
| (9 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 53: | Line 54: | ||
<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/ | <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/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/ | <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/ | <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 == | == Cut Enemies == | ||
These enemy objects exist in the game's code but are never spawned anywhere in the shipped game | <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 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 67: | 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 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]] | ||