diff options
Diffstat (limited to 'entity/fimsh.gbasm')
-rw-r--r-- | entity/fimsh.gbasm | 91 |
1 files changed, 13 insertions, 78 deletions
diff --git a/entity/fimsh.gbasm b/entity/fimsh.gbasm index 49c4f53..e5f6190 100644 --- a/entity/fimsh.gbasm +++ b/entity/fimsh.gbasm @@ -1,3 +1,11 @@ +Fimsh_Drop: + PUSH DE + LD D, $6C + LD E, $07 + CALL =Spawn_object + POP DE + RET + Fimsh_Turn: LD A, $mem_map_loading_flags BIT 3, A @@ -14,86 +22,13 @@ Fimsh_Turn: LD A, (HL+) LD D, A - .Health_check: - LD A, L - AND $f0 - ADD $06 - LD L, A - - LD A, (HL) - CP $00 - JR NZ, =.Health_check.end - - LD A, L - AND $f0 - LD L, A - - LD (HL), $00 - LD A, $mem_enemies_alive_count - DEC A - LD $mem_enemies_alive_count, A - - PUSH DE - LD D, $6C - LD E, $07 - CALL =Spawn_object - POP DE - - JP =.Skip_turn - .Health_check.end: - - .Freeze_shiver: - LD A, $mem_moving_animation_step - CP $00 - JP NZ, =.Freeze_shiver.end - LD A, L - AND $f0 - ADD $08 - LD L, A - LD A, $01 - CP (HL) - JR NZ, =.Freeze_shiver.end - LD A, D - AND $07 - LD D, A - CALL =RNG_Step - CP $55 - JP NC, =.Skip_turn - LD A, D - OR $40 - LD D, A - - CALL =RNG_Step - CP $55 - JP NC, =.Skip_turn - - LD A, $00 - LD (HL-), A - RES 1, (HL) - JP =.Skip_turn - .Freeze_shiver.end: - - .Should_turn_be_skipped: - LD A, L - AND $f0 - ADD $08 - LD L, A + .ENTITY_HEALTH_CHECK =.Skip_turn =Fimsh_Drop + .ENTITY_FREEZE_SHIVER =.Skip_turn + .ENTITY_STATUS_SKIP_TURN =.Skip_turn - BIT 0, (HL) - JP NZ, =.Skip_turn + .RESET_BLINKING_MODE - .End_movement: - LD A, $mem_moving_animation_step - CP $0f - JP NZ, =.End_movement.end - LD A, D - AND $07 - BIT 3, D - LD D, A - JR Z, =.End_movement.end - LD A, $01 - .ADD_A_TO_DIRECTION_BC - .End_movement.end: + CALL =Entity_End_movement .Skip_Turn: LD A, L |