133 lines
7.6 KiB
Common Lisp
133 lines
7.6 KiB
Common Lisp
*start
|
||
[eval exp="sprite.nowRollingAttack=false"]
|
||
|
||
[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]
|
||
|
||
;[eval exp="dm(sprite.clinchPlayer)"]
|
||
[if exp="sprite.clinchPlayer!==void && sprite.clinchPlayer.nowSpriteId==stDummy"]
|
||
[eval exp="sprite.clinchPlayer.loadSprite(stRecovery)"]
|
||
[eval exp="sprite.clinchPlayer.layer.conductor.mp.noEffectAtRecovery = true"]
|
||
[eval exp="sprite.clinchPlayer = void"]
|
||
[endif]
|
||
|
||
|
||
[state enablemove=false enableattack=false]
|
||
[playdamagese]
|
||
[image num=1]
|
||
[dispsize width=136 height=90 centerpos=68 baseline=0]
|
||
|
||
[ontrigger name=landing target=*landing1]
|
||
|
||
[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 = 27"]
|
||
[endif]
|
||
[eval exp="mp.damageHeight = 10" cond="mp.damageHeight < 10"]
|
||
[eval exp="mp.path1='(-40,0,'+mp.damageHeight+')'"]
|
||
[eval exp="mp.path2='(-20,0,-'+mp.damageHeight+')'"]
|
||
|
||
;[move path=(-40,0,27) haccel=-1 frame=10]
|
||
;[move path=(-20,0,-27) xaccel=-0.2 frame=5]
|
||
[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,130,80)"][wait frame=10]
|
||
|
||
[image num=2]
|
||
[dispsize width=158 height=54]
|
||
|
||
[disp left=0 top=0 opacity=255][hit rect="(17,53,145,54)"]
|
||
[wait frame=1]
|
||
[s cond="sprite.altitude>0"]
|
||
|
||
*landing1
|
||
[image num=2]
|
||
[dispsize width=158 height=54]
|
||
[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="(17,53,145,54)"]
|
||
[move path=(-13,0,13) haccel=-1 frame=5][wait frame=5]
|
||
[disp left=0 top=0 opacity=255][hit rect="(17,53,145,54)"]
|
||
[move path=(-13,0,-13) haccel=1 frame=5]
|
||
[s]
|
||
|
||
*landing2
|
||
[ontrigger name=landing target=*landing3]
|
||
[eval exp="sprite.invincibleCount=30"]
|
||
|
||
[disp left=0 top=1 opacity=255][hit rect="(17,53,145,54)"]
|
||
[move path=(-3,0,4) haccel=-1 frame=5][wait frame=5]
|
||
[disp left=0 top=0 opacity=255][hit rect="(17,53,145,54)"]
|
||
[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="(17,53,145,54)"]
|
||
[wait frame=15]
|
||
[load id="stStandUp"]
|
||
[endif]
|
||
|
||
*dead
|
||
[eval exp="sprite.scriptQueue=[]"]
|
||
[jump target=*erase cond="f.inBattleMode"]
|
||
|
||
[if exp="tf.deathorc !== void && isvalid tf.deathorc && tf.deathorc.HP > 0"]
|
||
[eval exp="sprite.isBoss = false"]
|
||
[else]
|
||
[del]
|
||
[endif]
|
||
[wait frame=20]
|
||
|
||
[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]
|
||
|