109 lines
5.8 KiB
Common Lisp
109 lines
5.8 KiB
Common Lisp
*start
|
||
[eval exp="sprite.nowRollingAttack=false"]
|
||
|
||
[iscript]
|
||
mp.damage2++;
|
||
mp.w1 = 15 - (mp.damage2 - 1) * 5;
|
||
if(mp.w1 < 0) mp.w1 = 0;
|
||
mp.w2 = 15 - mp.w1;
|
||
[endscript]
|
||
|
||
[state enablemove=false enableattack=false]
|
||
[playdamagese]
|
||
[image num=1]
|
||
[dispsize width=122 height=98 centerpos=61 baseline=0]
|
||
|
||
[ontrigger name=landing target=*landing1]
|
||
|
||
;[move path=(-40,0,27) haccel=-1 frame=10]
|
||
;[move path=(-20,0,-27) xaccel=-0.2 frame=5]
|
||
|
||
[if exp="sprite.lastSpriteId==stDamage2"]
|
||
[eval exp="mp.damageHeight = int(mp.damageHeight*0.9)"]
|
||
[else]
|
||
; [if exp="sprite.HP > 0"]
|
||
; [playse storage=se9104]
|
||
; [else]
|
||
; [playse storage=soldier_damage2_1]
|
||
; [endif]
|
||
[eval exp="mp.damageHeight = 30"]
|
||
[endif]
|
||
[eval exp="mp.damageHeight = 12" cond="mp.damageHeight < 12"]
|
||
[eval exp="mp.path1='(-46,0,'+mp.damageHeight+')'"]
|
||
[eval exp="mp.path2='(-22,0,-'+mp.damageHeight+')'"]
|
||
[move path=&mp.path1 haccel=-1 frame=10]
|
||
[move path=&mp.path2 xaccel=-0.2 frame=5]
|
||
|
||
[disp left=0 top=0 opacity=255][hit rect="(8,0,120,90)"][wait frame=10]
|
||
|
||
[image num=2]
|
||
[dispsize width=134 height=42 baseline=2]
|
||
|
||
[disp left=0 top=0 opacity=255][hit rect="(0,41,134,42)"]
|
||
[wait frame=1]
|
||
[s cond="sprite.altitude>0"]
|
||
|
||
*landing1
|
||
[eval exp="sprite.invincibleCount=20"]
|
||
[image num=2]
|
||
[dispsize width=134 height=42 baseline=2]
|
||
[ontrigger name=landing target=*landing2]
|
||
|
||
;[playse storage=se268]
|
||
[playse storage=se278]
|
||
[quake frame=10 vmax=5]
|
||
[disp left=0 top=1 opacity=255][hit rect="(0,41,134,42)"]
|
||
[move path=(-13,0,13) haccel=-1 frame=5][wait frame=5]
|
||
[disp left=0 top=0 opacity=255][hit rect="(0,41,134,42)"]
|
||
[move path=(-13,0,-13) haccel=1 frame=5]
|
||
[s]
|
||
|
||
*landing2
|
||
[ontrigger name=landing target=*landing3]
|
||
|
||
[disp left=0 top=1 opacity=255][hit rect="(0,41,134,42)"]
|
||
[move path=(-3,0,4) haccel=-1 frame=5][wait frame=5]
|
||
[disp left=0 top=0 opacity=255][hit rect="(0,41,134,42)"]
|
||
[move path=(-3,0,-4) haccel=1 frame=5]
|
||
[s]
|
||
|
||
*landing3
|
||
|
||
[wait frame=1]
|
||
[if exp="sprite.HP > 0"]
|
||
[disp left=0 top=0 opacity=255][hit rect="(0,41,134,42)"]
|
||
[wait frame=15]
|
||
[load id="stStandUp"]
|
||
[endif]
|
||
|
||
*dead
|
||
[eval exp="sprite.scriptQueue=[]"]
|
||
[jump target=*erase cond="f.inBattleMode"]
|
||
|
||
[wait frame=20]
|
||
|
||
[del]
|
||
[eval exp="sf.enemyKillCount++"]
|
||
|
||
[load id=stDown]
|
||
|
||
*erase
|
||
[eval exp="sprite.isBoss = false"]
|
||
[del]
|
||
|
||
[disp left=0 top=0 opacity=235][wait frame=3]
|
||
[disp left=0 top=0 opacity=215][wait frame=3]
|
||
[disp left=0 top=0 opacity=195][wait frame=3]
|
||
[disp left=0 top=0 opacity=175][wait frame=3]
|
||
[disp left=0 top=0 opacity=155][wait frame=3]
|
||
[disp left=0 top=0 opacity=135][wait frame=3]
|
||
[disp left=0 top=0 opacity=115][wait frame=3]
|
||
[disp left=0 top=0 opacity= 95][wait frame=3]
|
||
[disp left=0 top=0 opacity= 75][wait frame=3]
|
||
[disp left=0 top=0 opacity= 55][wait frame=3]
|
||
[disp left=0 top=0 opacity= 35][wait frame=3]
|
||
[disp left=0 top=0 opacity= 15][wait frame=3]
|
||
[disp left=0 top=0 opacity= 0][wait frame=3]
|
||
|
||
[s]
|
||
|