Skip to content

GameObjects

Nill edited this page Feb 26, 2021 · 5 revisions

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

Abstract

GameObject

This is the base class for all game objects and every other object type derives from it directly or indirectly.

FireBreather

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.

Wallhugger

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.

Enemies

Burns

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

Demonhead

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

Gargoyle

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

Ghost

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

Goblin

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

Panel Monster

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

Salamander

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

Sparky

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

EnemyFireball

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

Tongue

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

Non-Enemies

Dana

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.

Fireball

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.

Fairy

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

Droplet

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.

Jack

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).

StarPath

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.

StarCircle

This object is used when a circle of swirling stars needs to be animated, such as during the intro sequence to a room.

Remains

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).

Reward

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.

Superscript

The Superscript object is used briefly when the game animates a "1-Up" or "5-Up" annotation when collecting certain items.

Twinkle

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.

Clone this wiki locally