![]() |
Pokes |
POKE ABC5,18
JR Z into an absolute JR, so the delay
gate is skipped and Berk always continues into the rest of the update.
| AC7D | LD A,(Flag_LearnerBerkMode) | If Learner Berk mode is clear (Super Berk), jump to the fired / ratings restart at Update_Berk_State_PrintStatusAndRestart. |
| AC80 | OR A | |
| AC81 | JP Z,Update_Berk_State_PrintStatusAndRestart |
POKE C389,00
DEC A at C389. This NOPs that decrease, so the timer value
stops falling and the countdown side-effects no longer advance.
| C37B | LD A,(TaskThreeTimer) | Load the task-three timer and, when it is non-zero, decrease it. |
| C37E | OR A | |
| C37F | JR Z,Update_Task_Three_Entities_RunStateMachine | |
| C389 | DEC A |
| C389 | NOP |
POKE Flag_LearnerBerkMode,00
POKE Flag_LearnerBerkMode,01
POKE CurrentTaskIndex,nn
POKE AC6B,18
JR C at AC6B only
skips ahead to the attribute-strip path at Update_Berk_State_AttrStripFromSeed when the timer is below that
threshold; otherwise control falls into the fanfare / timeout path at AC6D
(and can reach the "YOU'RE FIRED" restart at Update_Berk_State_PrintStatusAndRestart). This changes that
instruction into an absolute JR, so the timeout path is always
skipped.
POKE ACDB,00
DEC HL at ACDB before reprinting it via Initialise_Room_Display_HeldEntity. That word
is the bonus. This NOPs the decrease, so the bonus no longer drains on each
tick.
| ACD5 | LD HL,(Pointer_BerkHeldEntity) | If the bonus is non-zero, decrease it and reprint it via Initialise_Room_Display_HeldEntity. |
| ACD8 | LD A,H | |
| ACD9 | OR L | |
| ACDA | RET Z | |
| ACDB | DEC HL |
| ACDB | NOP |