-
Notifications
You must be signed in to change notification settings - Fork 4
GameObjects
This page documents the built in classes deriving from SKX.GameObject
and their implementation.
| Class | ObjType | Enemy Class | Rewards |
|---|---|---|---|
| Burns | Burns | 50 | |
| Dana | Dana | 50 | |
| Demonhead | Demonhead | 0 | 500, 1K, 2K, Gold Crystal |
| Dragon | Dragon | 3 | 100, Gold Crystal, Scroll, 1-Up |
| Droplet | Droplet | 10 | |
| EnemyFireball | EnemyFireball | 10 | |
| Fireball | Fireball | 50 | |
| Fairy | Fairy | 10 | |
| Gargoyle | Gargoyle | 2 | 2K, 5K, 10K, Spell Upgrade |
| Ghost | Ghost | 2 | 100, 200, 1K, 2K, Gold Crystal |
| Goblin | Goblin | 3 | 500, 1K, 2K, Spell Upgrade |
| Jack | Jack | 10 | |
| PanelMonster | PanelMonster | 1 | 2K, 5K, 10K, Gold Crystal |
| Remains | Effect | 50 | |
| Reward | Effect | 50 | |
| Salamander | Salamander | 0 | 1K, 2K, 5K, Spell Upgrade |
| Sparky | Sparky | 2 | 100, 200 |
| StarCircle | Effect | 50 | |
| StarPath | Effect | 50 | |
| Superscript | Effect | 50 | |
| Twinkle | Effect | 50 |
This is the base class for all game objects and every other object type derives from it directly or indirectly.
This base class provides logic for checking if Dana is within a specific proximity both in front and behind the enemy, and breathes fire on Dana as needed.
The Dragon and Salamander classes inherit from FireBreather.
This base class provides logic for moving around the room by rolling along solid surfaces, hugging inside and outside corners.
The Sparky and Fireball classes inherit from Wallhugger.
Flame enemy that just sits there. If Dana casts magic on it, it will reduce in size for a limited amount of time.
The red variant can be killed by making them fall.
They will melt frozen blocks if they fall on them.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Blue Burns |
Right | Any | Any |
Red Burns |
Left | Any | Any |
The Demonhead is a basic enemy that almost always spawns from a mirror, falls until it lands on a solid surface, then moves in the direction it was in until it hits a block, at which point it will change directions (while destroying the block it touched, if it's breakable).
Demonheads will disappear after their TTL (time to live) reaches zero, or if they fall off the bottom of the level.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Blue Demonhead |
Left or Right | Any | None |
White Demonhead |
Left or Right | Any | AltGraphics |
The Gargoyle is an enemy that will walk back and forth on its platform and will stop and shoot a fireball in the direction of Dana if he is within 2 blocks of the Gargoyle vertically and in the direction the Gargoyle is facing.
Gargoyles can be killed by making them fall.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Gargoyle |
Left or Right | Any | None |
The Ghost is a simple enemy that moves back and forth (or up and down), reversing direction when it runs into a solid wall (while breaking it, if it's breakable).
- Nuels are Ghosts with the Direction set to Up or Down. Nuels always face Dana.
- Wyverns are Ghosts with the AltGraphics flag set.
If there is no wall to stop a ghost (or ceiling/floor to stop a Nuel) it will continue to wrap around the level in one direction indefinitely.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Ghost |
Left or Right | Any | None |
Wyvern |
Left or Right | Any | AltGraphics |
Nuel |
Up or Down | Any | None |
The goblin will walk back and forth on its platform similar to a Gargoyle, but instead of firing at Dana, the Goblin will charge toward him if Dana is vertically at the same level as the Goblin and the Goblin is facing Dana.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Goblin |
Left or Right | Any | None |
Wizard |
Left or Right | Any | AltGraphics |
The Panel Monster is a stationary monster that just sits on the wall or ceiling
and attacks Dana from where it is. The fire-shooting variant simply shoots fireballs
repeatedly at a set rate (Speed) while the fire-breathing variant will sit idle until
Dana or a breakable block pass in front of it.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Fire-shooting Panel Monster |
Up, Down, Left, or Right | Any | None |
Fire-breathing Panel Monster |
Up, Down, Left, or Right | Any | Clockwise |
Salamanders are like Demonhead in that they typically spawn from mirrors and disappear after a finite lifetime, however they always turn to face Dana when hitting the ground, and will attack Dana by breathing fire on him if he comes within proximity.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Salamander |
Left or Right | Any | None |
Sparkies are electrical enemies that crawl along walls at varying speeds.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Counter-clockwise Sparky |
Up, Down, Left, or Right | Any | None |
Clockwise Sparky |
Up, Down, Left, or Right | Any | Clockwise |
These are spawned from enemies that shoot fireballs and travel in their initial direction until they hit a solid object or are destroyed by one of Dana's fireballs.
If an Enemy Fireball hits a breakable block it will destroy it (and itself) immediately. If an Enemy Fireball hits a frozen block it will thaw it.
The Enemy Fireball has an EnemyClass of 10 so it can be destroyed with
Dana's fireballs.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
EnemyFireball |
Left or Right | Any | None |
EnemyFireball |
Up or Down | Any | None |
Spawns from enemies that breathe fire for a moment while the monster is breathing. Will destroy any breakable blocks it collides with. Has no effect on ice.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Tongue |
Left or Right | Any | None |
Dana is the player character and is controlled using the input key and button
bindings. Dana is spawned at the proper location when the level loads and
typically doesn't unload unless the level is reset. Dana's class is responsible
for virtually all of the control, collision, and item collection routines in the game,
as well as transient variables such as current Life remaining.
One of Dana's fireballs. It inherits WallHugger, so Dana's fireballs will fly in
the direction they are fired until they hit a solid surface at which point they
will hug the wall until they run out of range.
The range of Dana's fireball is determined by how many Blue/Gold Crystals of Rad he's collected and this is stored in the Sesh. Red Crystals of Rad determine how many fireballs Dana can spawn concurrently in the world at the same time. Initially, Dana can only have one concurrent fireball spell active.
Fireballs will kill any object with an EnemyClass of 10 or lower (including fairies and Mighty Bomb Jack), and will thaw any frozen blocks they come in contact with, and will not hug onto frozen blocks at all.
Fairies are spawned at the door when Dana collects a bell. On rare occasion Dana can find them already freed frollicking around a room.
If Dana collects a bell when no doors are accessible (because they're hidden, frozen, or encased in a block) the fairy will be queued until such time that the door is cleared. Fairies will fly a pseudo-random path towards Dana changing path when colliding into walls.
Normal fairies increase Dana's fairy count (stored in the Sesh), and yield a 1-up when this counter reaches 10, but a very special Fairy variant, Princess Lihita, exits the room when collected by Dana.
| Variant | Direction | Speed | Flags |
|---|---|---|---|
Fairy |
Left or Right | Any | None |
Princess |
Left or Right | Any | DropKey |
Droplets are 8x8 sprites that spawn from a Spawn point and serve as an obstacle or tool. Droplets do not hurt or interact with Dana other than that hey prevent him from creating blocks in their position (just like any other object). Dana can use droplets to extinguish Burns (flame) enemies.
Spawn points generate droplets based upon Droplet Rate (how many ticks in between attempts to spawn a new droplet), Droplet Chance what % chance a droplet will spawn at any given opportunity (based on Droplet Rate), and Droplet Type which determines what type of droplet is spawned.
See Droplets for more information about Droplet Types.
Mighty Bomb Jack is an easter egg from the original NES game and can be
unlocked in certain rooms via very obtuse rituals. Jack flails around the room
jumping up and down in the general direction of Dana. If Dana touches Jack,
all enemies (technically all objects that are neither Dana nor Jack) are turned
into Fairies (including existing fairies).
This object is used when a sparkling effect needs to be animated from one point
to another, such as when Dana collects a key or when Dana warps.
This object is used when a circle of swirling stars needs to be animated, such
as during the intro sequence to a room.
This object is used briefly when an enemy (or Fairy or Jack) is burned by a fireball,
jar of medicine, etc. It animates as fiery ember thrown from the point where
the enemy exploded and will fall until it hits a solid block at which point it will
either turn into a reward or disappear (if the object destroyed doesn't yield a reward,
such as a fairy or enemy fireball).
This object is used when the game spawns a collectible item outside the
cell grid, including rewards spawned from killing enemies with fireballs or
medicine jars, as well as keys dropped by enemies killed other ways.
Reward items disappear after a short delay unless they're a key.
The Superscript object is used briefly when the game animates a "1-Up" or "5-Up"
annotation when collecting certain items.
The Twinkle object is used briefly when an animation needs to be shown in the game, such as the brief animations that play when Dana creates or destroys blocks.

Blue Burns
Red Burns
Blue Demonhead
White Demonhead
Gargoyle
Ghost
Wyvern
Nuel
Goblin
Wizard
Fire-shooting Panel Monster
Salamander
Counter-clockwise Sparky
Clockwise Sparky
EnemyFireball
EnemyFireball
Tongue
Fairy
Princess