Prev: B865 Up: Map Next: B8C8
B8A9: Spawn Cauldron Bubbles
Used by the routine at RunGame.
Starts the bubbles that rise out of the cauldron. Nothing happens unless the player is in the cauldron room, the second slot for special objects is empty and the final animation is not under way. The bubbles are copied into the slot from CauldronBubbles.
Copy the bubbles into the empty special-object slot.
SpawnCauldronBubbles B8A9 LD A,($5C10) Fetch the room that the player is in.
B8AC CP $88 Compare it with the number of the cauldron room.
B8AE RET NZ Return if the player is in another room.
B8AF LD DE,$5C68 Point DE at ObjectsTable_SecondSpecial.
B8B2 LD A,(DE) Fetch the graphic number of the object.
B8B3 AND A Test whether the slot is empty.
B8B4 RET NZ Return if it is in use.
B8B5 LD A,($5BC3) Fetch the flag that is set when the final animation starts from FinalAnimationFlag.
B8B8 AND A Test it.
B8B9 RET NZ Return if the final animation has started.
B8BA LD HL,$B8C8 Point HL at CauldronBubbles.
B8BD LD BC,$0012 Set the number of bytes to copy to 12.
B8C0 PUSH DE Copy DE to IX (using the stack).
B8C1 POP IX
B8C3 LDIR Copy the bubbles into the slot.
B8C5 JP SetPixelAdjustments_Sparkle Set the pixel adjustments of a sparkle.
Prev: B865 Up: Map Next: B8C8