Prev: 35687 Up: Map Next: 35735
35689: Update state of Berk and store current position in script data
Used by the routine at 34438.
35689 LD IX,(34240) Load IX with address of complex state data (current level) for Berk
35693 CALL 53848 Store room size data for Berk's current room
35696 BIT 5,(IX+9) If Berk's do-not-update-state flag is set...
35700 RET NZ ...then return
35701 LD HL,(35687) Load current position in Berk's script data from 35687 into HL...
35704 LD (34277),HL ...and store at 34277 as position in script currently running
35707 CALL 35735 Update state of Berk depending upon currently selected character, control input and currently active power
35710 LD HL,(34277) Store address (current position in script data) stored at 34277...
35713 LD (35687),HL ...at 35687 as current position in Berk's script data
35716 LD A,(34220) If Berk's current power is not invisibility (level 3)...
35719 CP 11 ...
35721 RET NZ ...then return
Current power is invisibility (level 3)
35722 LD BC,50800 Load BC with address of blank graphic layout data...
35725 LD (IX+2),C ...and set this as Berk's current graphic layout data address...
35728 LD (IX+3),B ...
35731 CALL 48388 Decrease remaining time for current power and if zero, exit this routine and run script data for removal of power
35734 RET Return
Prev: 35687 Up: Map Next: 35735