Fire does not move, and thus only damages players who walk into it. It starts with 6 HP and takes one damage from each of fire extinguisher, pop cans, and squirt gun. Ironically, it also takes damage from flamethrower, since it shares the same sprite type as pop cans. It will also take damage from the unused sprite type 0x65. If the fire goes off screen, then the entity is deleted and will be created again when it comes back on screen. This will reset the fire's HP since the entity is recreated.
Fire has 4 different animation frames, and there are 6 frames between each one. During the first animation frame of each cycle, the fire is set to sprite type 2, which will allow the player to walk through it and not be damaged. The rest of the time, it is set to sprite type 3.
RAM map
Entity arguments
Address
Length
Type
Description
$00
2
int16
X position
$02
2
int16
Y position
$04
2
uint16
Extra data (unused)
$06
2
uint16
Victim/one-shot monster index
Entity memory
Address
Length
Type
Description
$08
2
pointer16
Pointer to sprite
$0A
2
uint16
Current animation frame
$0C
2
uint16
Number of 2 frame cycles until next animation frame - 1