shiny-cuty-excel-chiffon/data/e160_damage2.asd

162 lines
9 KiB
Common Lisp
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*start
[if exp="sprite.lastSpriteId==stDamage2"]
[eval exp="mp.damageHeight = int(mp.damageHeight*0.9)"]
[else]
[eval exp="mp.damageHeight = 30"]
[endif]
[eval exp="mp.damageHeight = 12" cond="mp.damageHeight < 12"]
[eval exp="mp.path1='(-51,0,'+mp.damageHeight+')'"]
[eval exp="mp.path2='(-25,0,-'+mp.damageHeight+')'"]
[eval exp="mp.recoveryFlag = false"]
[if exp="sprite.targetPlayer.nowSpriteId==stHolding && sprite.HP > 0"]
; [load id=stRecovery]
[eval exp="mp.recoveryFlag = true"]
[endif]
[iscript]
mp.damage2++;
mp.w1 = 15 - (mp.damage2 - 1) * 10;
if(mp.w1 < 0) mp.w1 = 0;
mp.w2 = 15 - mp.w1;
[endscript]
[playdamagese]
[if exp="sprite.HP == 0 && !f.inBattleMode"]
[playse storage=se890]
[eval exp="bao.players[0].invincibleCount+=150" cond="bao.players[0].layer.opacity2==100"]
[if exp="bao.players.count>1"]
[eval exp="bao.players[1].invincibleCount+=150" cond="bao.players[1].layer.opacity2==100"]
[endif]
[if exp="bao.players[0].invincibleCount > 150"]
[eval exp="bao.players[0].invincibleCount=150"]
[endif]
[if exp="bao.players.count>1 && bao.players[1].invincibleCount > 150"]
[eval exp="bao.players[1].invincibleCount=150"]
[endif]
[else]
[eval exp="bao.players[0].invincibleCount+=5" cond="bao.players[0].layer.opacity2==100"]
[if exp="bao.players.count>1"]
[eval exp="bao.players[1].invincibleCount+=5" cond="bao.players[1].layer.opacity2==100"]
[endif]
[if exp="bao.players[0].invincibleCount > 30"]
[eval exp="bao.players[0].invincibleCount=30"]
[endif]
[if exp="bao.players.count>1 && bao.players[1].invincibleCount > 30"]
[eval exp="bao.players[1].invincibleCount=30"]
[endif]
[endif]
[image num=1]
[dispsize width=168 height=128 centerpos=84 baseline=0]
[state enablemove=false enableAttack=false]
[ontrigger name=landing target=*landing1]
[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="(5,5,164,117)"][wait frame=10]
[if exp="mp.recoveryFlag"]
[load id=stRecovery]
[endif]
[image num=2]
[dispsize width=196 height=64 centerpos=98 baseline=8]
[disp left=0 top=1 opacity=255][hit rect=(7,55,189,56)]
[wait frame=1]
[call target=*wait]
;[s cond="sprite.altitude>0"]
*landing1
[image num=2]
[dispsize width=196 height=64 centerpos=98 baseline=8]
[ontrigger name=landing target=*landing2]
[playse storage="se268"]
[quake frame=10 vmax=5]
[move path=(-17,0,17) haccel=-1 frame=5]
[move path=(-17,0,-17) haccel=1 frame=5]
[disp left=0 top=0 opacity=255][hit rect=(7,55,189,56)][wait frame=4]
[disp left=0 top=1 opacity=255][hit rect=(7,55,189,56)]
[wait frame=1]
[s cond="sprite.altitude>0"]
*landing2
[image num=2]
[dispsize width=196 height=64 centerpos=98 baseline=8]
[ontrigger name=landing target=*landing3]
[move path=(-4,0,5) haccel=-1 frame=5]
[move path=(-4,0,-5) haccel=1 frame=5]
[disp left=0 top=0 opacity=255]
[wait frame=1]
[s cond="sprite.altitude>0"]
*landing3
[disp left=0 top=0 opacity=255]
[if exp="sprite.HP > 0"]
[disp left=0 top=0 opacity=255][hit rect="(20,63,176,64)"][wait frame=15]
[disp left=0 top=0 opacity=255][wait frame=15]
[load id="stStandUp"]
[endif]
[eval exp="sprite.scriptQueue=[]"]
[jump target=*erase cond="f.inBattleMode"]
[wait frame=10]
[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]
*wait
[eval exp="mp.i=0"]
*loop
[if exp="sprite.targetPlayer !== void"]
[if exp="sprite.HP > 0 && sprite.MP > sprite.escapeMP && intrandom(0,100)<sprite.guardRate && sprite.targetPlayer.nowSpriteId !== stHolding && sprite.targetPlayer.nowSpriteId !== stHolding2 && sprite.targetPlayer.nowSpriteId !== stSpecial2"]
[eval exp="sprite.MP -= sprite.escapeMP"]
[load id=stRecovery]
[endif]
[endif]
[eval exp="mp.i++"]
[if exp="mp.i == mp.wait"]
[return]
[endif]
[wait frame=1]
[jump target=*loop]