mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-15 08:27:41 +00:00
ootw: can now get shot by aliens
This commit is contained in:
@@ -2,7 +2,8 @@ TODO Before release:
|
|||||||
====================
|
====================
|
||||||
|
|
||||||
|
|
||||||
l2/l4 -- have aliens shoot
|
l2/l4 -- let physicist get show
|
||||||
|
l2/l4 -- balance alien shooting behavior
|
||||||
|
|
||||||
l2 -- move doors to final behavior (break room one needs to
|
l2 -- move doors to final behavior (break room one needs to
|
||||||
be locked)
|
be locked)
|
||||||
|
@@ -248,6 +248,38 @@ calc_gun_right_friend_continue:
|
|||||||
done_calc_gun_right_friend_collision:
|
done_calc_gun_right_friend_collision:
|
||||||
|
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; adjust for physicist
|
||||||
|
|
||||||
|
calc_gun_right_physicist:
|
||||||
|
|
||||||
|
lda COLLISION_X
|
||||||
|
cmp PHYSICIST_X
|
||||||
|
bcs calc_gun_right_physicist_continue ; bge
|
||||||
|
|
||||||
|
; only if closer than previous found
|
||||||
|
lda RIGHT_SHOOT_LIMIT
|
||||||
|
cmp PHYSICIST_X
|
||||||
|
bcc calc_gun_right_physicist_continue ; blt
|
||||||
|
|
||||||
|
lda PHYSICIST_STATE
|
||||||
|
cmp #P_DISINTEGRATING
|
||||||
|
beq calc_gun_right_physicist_continue
|
||||||
|
|
||||||
|
calc_gun_right_physicist_there:
|
||||||
|
|
||||||
|
lda PHYSICIST_X
|
||||||
|
sta RIGHT_SHOOT_LIMIT
|
||||||
|
|
||||||
|
; set target if hit
|
||||||
|
lda #TARGET_PHYSICIST
|
||||||
|
sta RIGHT_SHOOT_TARGET
|
||||||
|
|
||||||
|
calc_gun_right_physicist_continue:
|
||||||
|
done_calc_gun_right_physicist_collision:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; adjust for alien
|
; adjust for alien
|
||||||
|
|
||||||
@@ -459,6 +491,40 @@ calc_gun_left_friend_continue:
|
|||||||
done_calc_gun_left_friend_collision:
|
done_calc_gun_left_friend_collision:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; adjust for physicist
|
||||||
|
|
||||||
|
calc_gun_left_physicist:
|
||||||
|
|
||||||
|
lda COLLISION_X
|
||||||
|
cmp PHYSICIST_X
|
||||||
|
beq calc_gun_left_physicist_continue ; ble (not w self)
|
||||||
|
bcc calc_gun_left_physicist_continue ; blt
|
||||||
|
|
||||||
|
; only if closer than previous found
|
||||||
|
lda LEFT_SHOOT_LIMIT
|
||||||
|
cmp PHYSICIST_X
|
||||||
|
bcs calc_gun_left_physicist_continue ; bge
|
||||||
|
|
||||||
|
lda PHYSICIST_STATE
|
||||||
|
cmp #P_DISINTEGRATING
|
||||||
|
beq calc_gun_left_physicist_continue
|
||||||
|
|
||||||
|
calc_gun_left_physicist_there:
|
||||||
|
|
||||||
|
lda PHYSICIST_X
|
||||||
|
sta LEFT_SHOOT_LIMIT
|
||||||
|
; set target if hit
|
||||||
|
lda #TARGET_PHYSICIST
|
||||||
|
sta LEFT_SHOOT_TARGET
|
||||||
|
|
||||||
|
calc_gun_left_physicist_continue:
|
||||||
|
done_calc_gun_left_physicist_collision:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; adjust for alien
|
; adjust for alien
|
||||||
|
|
||||||
|
@@ -304,6 +304,9 @@ hit_something_common:
|
|||||||
cmp #TARGET_FRIEND
|
cmp #TARGET_FRIEND
|
||||||
beq laser_hit_friend
|
beq laser_hit_friend
|
||||||
|
|
||||||
|
cmp #TARGET_PHYSICIST
|
||||||
|
beq laser_hit_physicist
|
||||||
|
|
||||||
; FIXME: reduce shields if hit them?
|
; FIXME: reduce shields if hit them?
|
||||||
|
|
||||||
jmp done_hit_something
|
jmp done_hit_something
|
||||||
|
@@ -420,7 +420,7 @@ no_collapse_progress:
|
|||||||
physicist_disintegrating:
|
physicist_disintegrating:
|
||||||
|
|
||||||
lda GAIT
|
lda GAIT
|
||||||
cmp #18
|
cmp #28
|
||||||
bne disintegrate_not_done
|
bne disintegrate_not_done
|
||||||
|
|
||||||
disintegrate_really_dead:
|
disintegrate_really_dead:
|
||||||
@@ -438,7 +438,7 @@ disintegrate_not_done:
|
|||||||
sta INH
|
sta INH
|
||||||
|
|
||||||
lda FRAMEL
|
lda FRAMEL
|
||||||
and #$1f
|
and #$7
|
||||||
bne no_disintegrate_progress
|
bne no_disintegrate_progress
|
||||||
|
|
||||||
inc GAIT
|
inc GAIT
|
||||||
|
Reference in New Issue
Block a user