A | Data from byte 255 of water animation table |
H | 214 (water's buffer) |
64077 | 3D | DEC A | Is the water at the right stage to fill a cup? |
64078 | 202E | JR NZ,64126 | Jump if not |
64080 | 2E02 | LD L,2 | |
64082 | 7E | LD A,(HL) | A=water's y-coordinate |
64083 | D60E | SUB 14 | All cups have y-coordinate of 14 |
64085 | C0 | RET NZ | Return if the water's not at the right height |
64086 | 6F | LD L,A | L=0 |
64087 | 3D | DEC A | A=255 |
64088 | CB7E | BIT 7,(HL) | Is the water travelling to the left? |
64090 | 2802 | JR Z,64094 | Jump if so |
64092 | 3E03 | LD A,3 | |
64094 | 2C | INC L | L=1 |
64095 | 86 | ADD A,(HL) | A=x-coordinate of spot where water is falling |
64096 | CD0976 | CALL 30217 | Is this the x-coordinate of one of the cups? |
64099 | C0 | RET NZ | Return if not |
64100 | 21EB7F | LD HL,32747 | |
64103 | CB66 | BIT 4,(HL) | Is there sherry in the pistol? |
64105 | 2177DC | LD HL,56439 | H=220, L=119 |
64108 | 2802 | JR Z,64112 | Jump if not |
64110 | 2E7C | LD L,124 | |
64112 | 24 | INC H | Point HL at a cup data table |
64113 | BE | CP (HL) | Is this the right data table for the cup? |
64114 | 20FC | JR NZ,64112 | Jump back to check the next table if not |
64116 | 2D | DEC L | Point HL to start of data table (56694/56699, 56950/56955, 57206/57211 or 57462/57467) |
64117 | CD186C | CALL 27672 | Alter UDG and attribute references in play area to show filled cup |
64120 | E1 | POP HL | Drop the return address from the stack |
64121 | 26D6 | LD H,214 | 214=water's buffer |
64123 | C3CF74 | JP 29903 |
64126 | 35 | DEC (HL) | |
64127 | CD4F77 | CALL 30543 | Has the water/sherry hit the floor yet? |
64130 | 200F | JR NZ,64147 | Jump if not |
64132 | FE11 | CP 17 | Did it hit the bottom floor? |
64134 | 28F0 | JR Z,64120 | Jump back to terminate the water if so |
64136 | 2D | DEC L | |
64137 | 7E | LD A,(HL) | A=water's x-coordinate |
64138 | FE60 | CP 96 | Jump back to terminate the water/sherry if A<96 (inside boys' skool) or A≥160 (inside girls' skool) |
64140 | 38EA | JR C,64120 | |
64142 | FEA0 | CP 160 | |
64144 | 30E6 | JR NC,64120 | |
64146 | C9 | RET |
64147 | CD86F9 | CALL 63878 | Has the water/sherry hit a plant pot? |
64150 | C0 | RET NZ | Return if not |
64151 | 3AEB7F | LD A,(32747) | Inventory flags |
64154 | CB67 | BIT 4,A | Has the pistol got sherry in it? |
64156 | 20DA | JR NZ,64120 | Jump back to terminate the sherry if so |
64158 | D1 | POP DE | Drop the return address from the stack |
64159 | CDB461 | CALL 25012 | Update SRB for water's current animatory state and location |
64162 | 14 | INC D | |
64163 | 2E13 | LD L,19 | |
64165 | 3616 | LD (HL),22 | Set parameter governing time before plant grows |
64167 | 2C | INC L | L=20 |
64168 | 73 | LD (HL),E | Fill in x-coordinate of plant |
64169 | 1E00 | LD E,0 | |
64171 | 7B | LD A,E | |
64172 | CD4677 | CALL 30534 | Place address 64175 in plant's buffer and update SRB |
64175 | 2E13 | LD L,19 | |
64177 | 35 | DEC (HL) | Is the plant ready to die? |
64178 | 200F | JR NZ,64195 | Jump if not |
64180 | 3AED7F | LD A,(32749) | |
64183 | FE02 | CP 2 | Is ERIC standing on the plant? |
64185 | 2005 | JR NZ,64192 | Jump if not |
64187 | 3E10 | LD A,16 | ERIC is standing on a plant that's about to die |
64189 | 32ED7F | LD (32749),A | |
64192 | C3CF74 | JP 29903 | Kill the plant |
64195 | 7E | LD A,(HL) | |
64196 | FE08 | CP 8 | Is it time for the plant to start growing? |
64198 | 2009 | JR NZ,64209 | Jump if not |
64200 | 2C | INC L | |
64201 | 5E | LD E,(HL) | E=x-coordinate of plant |
64202 | 2E02 | LD L,2 | |
64204 | 56 | LD D,(HL) | D=y-coordinate of plant |
64205 | 3E2A | LD A,42 | 42: flower, half-grown |
64207 | 1807 | JR 64216 | |
64209 | FE04 | CP 4 | Is it time for the plant to reach full height? |
64211 | C0 | RET NZ | Return if not |
64212 | CDB461 | CALL 25012 | Update SRB for plant's current animatory state |
64215 | 3C | INC A | A=43: flower, fully grown |
64216 | CD3061 | CALL 24880 | Update SRB for plant's new animatory state |
64219 | 3AED7F | LD A,(32749) | |
64222 | FE02 | CP 2 | Is ERIC standing on a plant? |
64224 | C0 | RET NZ | Return if not |
64225 | 3A01D2 | LD A,(53761) | A=ERIC's x-coordinate |
64228 | 2E01 | LD L,1 | |
64230 | BE | CP (HL) | Is ERIC standing on this plant? |
64231 | C0 | RET NZ | Return if not |
64232 | 26D2 | LD H,210 | 210=ERIC |
64234 | CDB461 | CALL 25012 | Update SRB for ERIC's current animatory state and location |
64237 | 15 | DEC D | ERIC will rise one level |
64238 | C33061 | JP 24880 | Update SRB for ERIC's new location |