Prev: 53060 Up: Map Next: 53302
53266: Update Vat
Used by the routine at Update_Miscellaneous_Entities.
Animate the vat entity for the current room: bubble state, contained objects and whether Berk can interact.
Update_Vat 53266 LD HL,(29395) Load HL with the Drutt script-position pointer (Pointer_DruttScriptPosition).
53269 LD (29391),HL Store HL in the active script cursor (Pointer_ActiveScriptCursor).
53272 LD IX,36809 Point IX at the crusher entity (StateData_Complex_16).
53276 LD A,(IX+0) Fetch the current entity's type for the type test.
53279 CP 12 Is the current entity's entity type equal to 12? If not, jump to Update_Vat_TestEventAndDirBit0.
53281 JR NZ,Update_Vat_TestEventAndDirBit0
53283 BIT 7,(IX+1) Is bit 7 of the current entity's flags byte 1 set? If so, jump to Update_Drutt_RunScript.
53287 JR NZ,Update_Drutt_RunScript
53289 BIT 0,(IX+2) Is bit 0 of the current entity's flags byte 2 set? If not, jump to AdvanceScriptInstruction.
53293 JP Z,AdvanceScriptInstruction
Run the Drutt script at Data_DruttScripts for an active type-12 entity.
Update_Drutt_RunScript 53296 LD HL,53060 Point HL at the Drutt script (Data_DruttScripts).
53299 JP ScriptInstruction Jump to ScriptInstruction to execute the script instruction at HL.
Prev: 53060 Up: Map Next: 53302