Prev: 86C3 Up: Map Next: 873C
86EF: Turmoil spell.
turmoil_spell 86EF LD A,(computer_player_flag) Jump to TURART if player is human.
86F2 OR A
86F3 JR NZ,TURART
86F5 CALL TUR_DO Else call TUR_DO and return.
86F8 RET
TURART 86F9 LD HL,(D_ADD) Copy D_ADD into TEMADD.
86FC LD (TEMADD),HL
86FF CALL EN_AN Call EN_AN.
8702 LD HL,(TEMADD) Copy TEMADD to D_ADD.
8705 LD (D_ADD),HL
8708 LD HL,INBUF Set BUFPNT to address of INBUF.
870B LD (BUFPNT),HL
870E LD A,(SRTCNT) Load SRTCNT to A and add 1.
8711 INC A
8712 CALL SORT Call SORT.
8715 LD A,$00 Set STRENG to zero.
8717 LD (STRENG),A
LOOTUR 871A LD HL,(BUFPNT) Load BUFPNT into HL.
871D LD A,(HL) Load byte from address in BUFPNT.
871E INC HL Increment address in BUFPNT.
871F LD (BUFPNT),HL
8722 OR A If byte read is not zero jump to ADD_ON.
8723 JR NZ,ADD_ON
8725 LD A,$00 Else set unknown10 to zero and return.
8727 LD (unknown10),A
872A RET
ADD_ON 872B LD HL,(STRENG) Add value in A to ADD_ON.
872E ADD A,(HL)
872F LD (HL),A
8730 CP $1E If ADD_ON < 30 then jump back to LOOTUR.
8732 JP M,LOOTUR
8735 CALL display_wizard_spell_range Display wizard name, spell being cast, and spell casting range.
8738 CALL TUR_DO Call TUR_DO and return.
873B RET
Prev: 86C3 Up: Map Next: 873C