113 lines
6.3 KiB
Common Lisp
113 lines
6.3 KiB
Common Lisp
*start
|
||
|
||
[if exp="sprite.lastSpriteId==stDamage2"]
|
||
[eval exp="mp.damageHeight = int(mp.damageHeight*0.9)"]
|
||
[else]
|
||
[if exp="sprite.HP > 0"]
|
||
[playse storage=soldier_damage2_1]
|
||
[else]
|
||
[playse storage=soldier_dead]
|
||
[endif]
|
||
[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.rescueFlag = false;
|
||
if(sprite.damageFrom !== void && isvalid sprite.damageFrom){
|
||
mp.damageFromKind = sprite.damageFrom.kind;
|
||
if((sprite.lastSpriteId==stClinching || sprite.lastSpriteId==stBackClinch) && mp.clinchPlayer !== void && isvalid mp.clinchPlayer){
|
||
if(mp.damageFromKind != mp.clinchPlayer.kind && sprite.damageFrom === bao.nowSelectingPlayer){
|
||
mp.rescueFlag = true;
|
||
}
|
||
}
|
||
}
|
||
[endscript]
|
||
|
||
[if exp="mp.rescueFlag"]
|
||
[eval exp="sf.clinchedRescueCount++"]
|
||
[if exp="sf.clinchedRescueCount >= 5"]
|
||
[eval exp="bao.checkMission('抱き付き救助')"]
|
||
[endif]
|
||
[endif]
|
||
|
||
[playse storage=se204]
|
||
[image num=1]
|
||
[dispsize width=122 height=88]
|
||
[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=(11,30,123,90)][wait frame=10]
|
||
|
||
[image num=2]
|
||
[dispsize width=134 height=34]
|
||
|
||
[disp left=0 top=1 opacity=255][hit rect=(2,33,120,34)]
|
||
[wait frame=1]
|
||
[s cond="sprite.altitude>0"]
|
||
|
||
*landing1
|
||
[image num=2]
|
||
[dispsize width=134 height=34]
|
||
[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=0 opacity=255][hit rect=(2,33,120,34)][wait frame=4]
|
||
[disp left=0 top=1 opacity=255][hit rect=(2,33,120,34)]
|
||
[wait frame=1]
|
||
[s cond="sprite.altitude>0"]
|
||
|
||
*landing2
|
||
[image num=2]
|
||
[dispsize width=134 height=34]
|
||
[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][hit rect=(2,33,120,34)]
|
||
[wait frame=1]
|
||
[s cond="sprite.altitude>0"]
|
||
|
||
*landing3
|
||
[disp left=0 top=0 opacity=255][hit rect=(2,33,120,34)]
|
||
|
||
[if exp="sprite.HP > 0"]
|
||
[wait frame=30]
|
||
[load id="stStandUp"]
|
||
[endif]
|
||
|
||
[eval exp="sprite.scriptQueue=[]"]
|
||
[wait frame=20]
|
||
|
||
[eval exp="sf.cloneKillCount++"]
|
||
[eval exp="sf.enemyKillCount++"]
|
||
|
||
[if exp="f.inBattleMode && sf.bmEnemyHPInfinite"]
|
||
[eval exp="sprite.HP = sprite.maxHP"]
|
||
[load id="stStandUp"]
|
||
[endif]
|
||
|
||
[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]
|
||
|