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

155 lines
8.7 KiB
Common Lisp
Raw 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 = 34"]
[endif]
[eval exp="mp.damageHeight = 15" cond="mp.damageHeight < 15"]
[eval exp="mp.path1='(-51,0,'+mp.damageHeight+')'"]
[eval exp="mp.path2='(-25,0,-'+mp.damageHeight+')'"]
[iscript]
mp.damage2++;
mp.w1 = 15 - (mp.damage2 - 1) * 8;
if(mp.w1 < 0) mp.w1 = 0;
mp.w2 = 15 - mp.w1;
[endscript]
[playdamagese]
[if exp="sprite.HP == 0"]
[voice storage="c9011"]
[eval exp="bao.players[0].invincibleCount+=90" cond="bao.players[0].layer.opacity2==100"]
[if exp="bao.players.count>1"]
[eval exp="bao.players[1].invincibleCount+=90" cond="bao.players[1].layer.opacity2==100"]
[endif]
[if exp="bao.players[0].invincibleCount > 90"]
[eval exp="bao.players[0].invincibleCount=90"]
[endif]
[if exp="bao.players.count>1 && bao.players[1].invincibleCount > 90"]
[eval exp="bao.players[1].invincibleCount=90"]
[endif]
[else]
[if exp="sprite.lastSpriteId!=stDamage2"]
[voice storage="c9010"]
[endif]
[eval exp="bao.players[0].invincibleCount+=3" cond="bao.players[0].layer.opacity2==100"]
[if exp="bao.players.count>1"]
[eval exp="bao.players[1].invincibleCount+=3" 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=106 height=94 centerpos=53 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=(2,2,104,80)]
[eval exp="mp.wait = 10"]
[call target=*wait]
[image num=2]
[dispsize width=126 height=38 centerpos=63 baseline=2]
[disp left=0 top=0 opacity=255][hit rect=(2,37,124,38)]
[eval exp="mp.wait = 5"]
[call target=*wait]
[s cond="int(sprite.altitude)>0"]
*landing1
[image num=2]
[dispsize width=126 height=38 centerpos=63 baseline=2]
[ontrigger name=landing target=*landing2]
[playse storage=se211]
[move path=(-17,0,17) haccel=-1 frame=5]
[move path=(-17,0,-17) haccel=1 frame=5]
[disp left=0 top=1 opacity=255][hit rect="(2,37,120,38)"][wait frame=5]
[disp left=0 top=3 opacity=255][hit rect="(2,37,120,38)"]
[s]
*landing2
[image num=2]
[dispsize width=126 height=38 centerpos=63 baseline=2]
[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=2 opacity=255][hit rect="(2,37,120,38)"][wait frame=5]
[disp left=0 top=3 opacity=255][hit rect="(2,37,120,38)"][wait frame=5]
[disp left=0 top=4 opacity=255]
[s]
*landing3
[if exp="sprite.HP > 0"]
[disp left=0 top=3 opacity=255][hit rect="(2,37,120,38)"]
[wait frame=15]
[load id="stStandUp"]
[endif]
;[ontrigger name=erase target=*erase]
[eval exp="sprite.scriptQueue=[]"]
[jump target=*erase cond="f.inBattleMode"]
[del]
[eval exp="sf.enemyKillCount++"]
[load id=stDown]
;*wait
;[disp left=0 top=4 opacity=255]
;[s]
;
*erase
[eval exp="sprite.isBoss = false"]
[del]
[disp left=0 top=3 opacity=235][wait frame=3]
[disp left=0 top=3 opacity=215][wait frame=3]
[disp left=0 top=3 opacity=195][wait frame=3]
[disp left=0 top=3 opacity=175][wait frame=3]
[disp left=0 top=3 opacity=155][wait frame=3]
[disp left=0 top=3 opacity=135][wait frame=3]
[disp left=0 top=3 opacity=115][wait frame=3]
[disp left=0 top=3 opacity= 95][wait frame=3]
[disp left=0 top=3 opacity= 75][wait frame=3]
[disp left=0 top=3 opacity= 55][wait frame=3]
[disp left=0 top=3 opacity= 35][wait frame=3]
[disp left=0 top=3 opacity= 15][wait frame=3]
[disp left=0 top=3 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"]
[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]