[Decompilation] [th01] Elis: Pattern 8/13

The one where Elis' bat form fires fast 2-spreads every 4 frames,
randomly switching between narrow and wide angles.

Part of P0195, funded by Yanga.
This commit is contained in:
nmlgc 2022-05-15 17:52:53 +02:00
parent 1ea836f4b7
commit 4e9c39c9f7
2 changed files with 13 additions and 42 deletions

View File

@ -1360,3 +1360,14 @@ void pattern_bat_slow_spreads(void)
form_fire_group(F_BAT, group, 3.5f);
}
}
void pattern_bat_alternating_narrow_and_wide_2_spreads(void)
{
if((boss_phase_frame % 4) == 0) {
if(rand() & 1) {
form_fire_group(F_BAT, PG_2_SPREAD_NARROW_AIMED, 5.5f);
} else {
form_fire_group(F_BAT, PG_2_SPREAD_WIDE_AIMED, 5.5f);
}
}
}

View File

@ -17415,51 +17415,11 @@ ELIS_BASE_TOP = (PLAYFIELD_TOP + ((PLAYFIELD_H / 21) * 5) - (ELIS_GIRL_H / 2))
extern @transform_bat_to_girl$qv:proc
extern @bat_fly_random$qmit1:proc
extern @pattern_bat_slow_spreads$qv:proc
extern @pattern_bat_alternating_narrow_a$qv:proc
main_35_TEXT ends
main_35__TEXT segment byte public 'CODE' use16
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_26E49 proc far
push bp
mov bp, sp
mov ax, _boss_phase_frame
mov bx, 4
cwd
idiv bx
or dx, dx
jnz short loc_26E8A
call IRand
test al, 1
jz short loc_26E6A
push PG_2_SPREAD_NARROW_AIMED or (((5 shl 4) + 8) shl 16)
jmp short loc_26E70
; ---------------------------------------------------------------------------
loc_26E6A:
push PG_2_SPREAD_WIDE_AIMED or (((5 shl 4) + 8) shl 16)
loc_26E70:
mov ax, elis_bat.BE_cur_top
add ax, 12
push ax
mov ax, elis_bat.BE_cur_left
add ax, 20
push ax
push ds
push offset _Pellets
call @CPellets@add_group$qii14pellet_group_ti
add sp, 0Ch
loc_26E8A:
pop bp
retf
sub_26E49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
@ -18732,7 +18692,7 @@ loc_27BCF:
; ---------------------------------------------------------------------------
loc_27BD5:
call sub_26E49
call @pattern_bat_alternating_narrow_a$qv
pop bp
retf
; ---------------------------------------------------------------------------