Fire

From MZXWiki
Jump to navigation Jump to search
Fire # 63 Id63.png
Robotic name Fire
Default color c0c (red on black)
Default param 0
ID char 0 (#63)
ID damage 5 (#390)
ID anim. chars Fire animation chars
(#266-#271)
ID anim. colors Fire animation colors
(#272-#277)
Attributes Floor
Active
Effect when
stood on
Player takes damage unless Firewalker is active

Fire is a MegaZeux built-in element. Fire is a special floor: whenever the Player starts the cycle standing on Fire and the Firewalker effect is not currently active, they will take damage and the special damage SFX 43 (Fire Ouch) will play, and the message "Ough!" will display.

Fire spreads to adjacent positions and extinguishes itself, becoming Floor. The details of this are configurable via various board settings (see below).

Fire acts as a barrier to most Enemies, but projectiles and Eye, Ghost, and Dragon can move over it.

If a Fire is placed on top of Still Water, N Water, S Water, E Water, W Water, or Lava, it is extinguished immediately. If Fire is placed on top of Ice, it is extinguished immediately and the Ice is replaced with Still Water. (Fire does not have this property for Goop.)

Behavior

The entire parameter of Fire is the current animation Stage.

Every cycle, Fire has a 20/256 chance of not updating its Stage; otherwise, it will advance its Stage by one, unless its current Stage is 5, in which case it will reset to 0.

Regardless of Stage, Fire will check for other Elements beneath it and extinguish (if necessary). Fire has a 1/32 chance to spread; if this happens, it will turn into a color 8 Floor (unless the board setting Fire burns forever is enabled), and then attempt to spread to all four adjacent positions.

The current display character of Fire is determined by position parameter + 266 of the ID animations. The current display color of Fire is determined by position parameter + 272 of the ID animations.

MegaZeux 1.00 until 2.80

The spreading logic has an implementation bug that causes disabling Fire burns space or Fire burns fakes to prevent Fire from burning a brown Space or floor ID, and causes disabling Fire burns brown to prevent Fire from burning a brown Tree.

Unintended behavior

Fire with a Stage of 6 or greater can be created. These Stage values continuously increment the parameter until the Stage overflows to 0. This results in buggy animations referencing other ID animation and ID damage values, the specifics of which are version-dependent and unsupported.