430 lines
23 KiB
Text
430 lines
23 KiB
Text
|
|
[macro name=ljump]
|
|
[if exp="sf.language!==Ja"]
|
|
[eval exp="mp.tmp=lStr[sf.language]+'_'+mp.storage"]
|
|
[if exp="Storages.isExistentStorage(mp.tmp)"]
|
|
[eval exp="mp.storage=mp.tmp"]
|
|
[endif]
|
|
[endif]
|
|
[if exp="mp.target!==void"]
|
|
[jump storage=&mp.storage target=%target]
|
|
[else]
|
|
[jump storage=&mp.storage]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
[macro name=lcall]
|
|
[if exp="sf.language!==Ja"]
|
|
[eval exp="mp.tmp=lStr[sf.language]+'_'+mp.storage"]
|
|
[if exp="Storages.isExistentStorage(mp.tmp)"]
|
|
[eval exp="mp.storage=mp.tmp"]
|
|
[endif]
|
|
[endif]
|
|
[if exp="mp.target!==void"]
|
|
[call storage=&mp.storage target=%target]
|
|
[else]
|
|
[call storage=&mp.storage]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=loadstage]
|
|
[eval exp="tf.isExistBoss = false"]
|
|
[eval exp="tf.doubleKO = false"]
|
|
[if exp="sf.alternativeStageScenario!==void && Storages.isExistentStorage(mp.storage.substring(0,mp.storage.indexOf('.ssd'))+sf.alternativeStageScenario+'.ssd')"]
|
|
[eval exp="bao.loadStage(mp.storage.substring(0,mp.storage.indexOf('.ssd'))+sf.alternativeStageScenario+'.ssd', mp.target)"]
|
|
[else]
|
|
[eval exp="bao.loadStage(mp.storage, mp.target)"]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
[macro name=runstage]
|
|
[if exp="sf.adjSinglePlayMode && bao.players.count==2"]
|
|
[if exp="bao.nowSelectingPlayerId != sf.selectCharacter"]
|
|
[eval exp="bao.exchangePlayer()"]
|
|
[endif]
|
|
[endif]
|
|
|
|
[if exp="bao.players.count==1 && bao.players[0].chara == chrChocolat && sf.inputAtChocolatOnly"]
|
|
[eval exp="bao.players[0].input = bao.inputs[1]"]
|
|
[eval exp="bao.players[0].pc.pIn = bao.inputs[1]"]
|
|
[endif]
|
|
|
|
|
|
[eval exp="inputSetting()"]
|
|
[eval exp="bao.scenarioRun()"]
|
|
[endmacro]
|
|
|
|
[macro name=waitstage]
|
|
[eval exp="kag.setMenuAccessibleAll()"]
|
|
[eval exp="mp.tmp=(kag.currentLabel.indexOf(':'))"]
|
|
[eval exp="f.nowStorage=kag.conductor.curStorage"]
|
|
[eval exp="f.nowLabel=kag.currentLabel" cond="mp.tmp==-1"]
|
|
[eval exp="f.nowLabel=kag.currentLabel.substring(0,mp.tmp)" cond="mp.tmp!=-1"]
|
|
[waittrig name="bao_trig"]
|
|
[jump target=*missed cond="bao.returnState=='miss'"]
|
|
; [jump target=*gameover cond="f.playerNum == 0"]
|
|
[jump target=*clear cond="bao.returnState=='clear'"]
|
|
[jump target=*jump cond="bao.returnState=='jump'"]
|
|
[jump target=*fall cond="bao.returnState=='fall'"]
|
|
[endmacro]
|
|
|
|
[macro name=playerstate]
|
|
[eval exp="bao.tag_setPlayerState(mp)"]
|
|
[endmacro]
|
|
|
|
[macro name=enemystate]
|
|
[eval exp="bao.setAllEnemiesState(mp)"]
|
|
[endmacro]
|
|
|
|
[macro name=DeleteDho]
|
|
[if exp="typeof(global.dho) != 'undefined' && isvalid global.dho"]
|
|
[eval exp="dho.hide()"]
|
|
[eval exp="kag.removePlugin(dho)"]
|
|
[eval exp="invalidate dho"]
|
|
; [eval exp="delete dho"]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
[macro name=ClearHistory]
|
|
[eval exp="kag.historyOfStore = []"]
|
|
[eval exp="kag.historyOfStore2 = []"]
|
|
[eval exp="f.skipTarget=''"]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=setSkipTarget]
|
|
[eval exp="tf.skipNextFlag = false"]
|
|
[if exp="mp.storage === void"]
|
|
[eval exp="f.skipStorage = kag.conductor.curStorage"]
|
|
[else]
|
|
[eval exp="f.skipStorage = mp.storage"]
|
|
[endif]
|
|
|
|
[eval exp="f.skipTarget = mp.target"]
|
|
|
|
[eval exp="f.skipCondExp = mp.condexp"]
|
|
; [eval exp="dm('f.skipStorage : ' + f.skipStorage)"]
|
|
; [eval exp="dm('f.skipTarget : ' + f.skipTarget)"]
|
|
[endmacro]
|
|
|
|
[macro name=setSkipEnableFlag]
|
|
[scenarioend]
|
|
[if exp="mp.label === void"]
|
|
[eval exp="sf.scenarioPass[kag.conductor.curLabel] = true"]
|
|
[else]
|
|
[eval exp="sf.scenarioPass[mp.label] = true"]
|
|
[endif]
|
|
[if exp="kag.conductor === kag.extraConductor"]
|
|
[eval exp="skipNext()"]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=SetSsdAtSkipNext]
|
|
[if exp="tf.skipNextFlag"]
|
|
[fadeoutbgm time=500 cond="mp.bgm!==void && mp.bgm!=kag.bgm.currentStorage"]
|
|
|
|
[backlay]
|
|
[sysbtopt backvisible=false cond="!(mp.sysbuttonstay!==void && +mp.sysbuttonstay==true)"]
|
|
[layopt layer=0 page=back visible=false]
|
|
[layopt layer=1 page=back visible=false]
|
|
[layopt layer=2 page=back visible=false]
|
|
[layopt layer=message0 page=back visible=false]
|
|
[layopt layer=message1 page=back visible=false]
|
|
[layopt layer=message2 page=back visible=false]
|
|
|
|
[if exp="bao.enabled"]
|
|
[eval exp="bao.enabled = false"]
|
|
[image page=fore layer=0 storage="_tr" visible=true]
|
|
[eval exp="kag.fore.layers[0].type = ltOpaque"]
|
|
[eval exp="kag.fore.layers[0].copyRect(0,0,bao.dispLayer2,0,0,bao.width*bao.zoomRate,bao.height*bao.zoomRate)"]
|
|
|
|
[else]
|
|
[BgSet storage="_black"]
|
|
[image page=back layer=0 storage="_black" visible=true]
|
|
[UpDate time=300 canskip=false]
|
|
[endif]
|
|
|
|
[loadStage storage=&mp.storage target=&mp.target]
|
|
[runstage]
|
|
[waitstage]
|
|
[freeimage page=back layer=0]
|
|
[UpDate time=500 canskip=false]
|
|
[eval exp="kag.fore.layers[0].type = ltAlpha"]
|
|
[eval exp="kag.back.layers[0].type = ltAlpha"]
|
|
[eval exp="tf.skipNextFlag = false"]
|
|
[playbgm storage=&mp.bgm cond="mp.bgm !== void"]]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=Drain]
|
|
[Sound storage="se003" buf=0]
|
|
[backlay]
|
|
[image page=fore layer=3 storage="_tr" visible=true]
|
|
[image page=back layer=3 storage="_tr" visible=true]
|
|
[layopt layer=3 page=fore visible=true opacity=255]
|
|
[eval exp="kag.fore.layers[3].visible = true"]
|
|
[eval exp="kag.fore.layers[3].opacity = 255"]
|
|
[eval exp="evilEyeEffect(3, '(0,0,1366,768,128,48,27,1270,714,80)', 150)"]
|
|
[wm layer=3]
|
|
[eval exp="evilEyeEffect(3, '(48,27,1270,714,80,0,0,1366,768,50)' , 600)"]
|
|
[wm layer=3]
|
|
[eval exp="kag.back.layers[3].visible = false"]
|
|
[eval exp="kag.fore.layers[3].visible = false"]
|
|
[backlay]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=Magic]
|
|
[Sound storage="se025" buf=0]
|
|
[backlay]
|
|
[image page=fore layer=3 storage="_tr" visible=true]
|
|
[image page=back layer=3 storage="_tr" visible=true]
|
|
[layopt layer=3 page=fore visible=true opacity=255]
|
|
[eval exp="kag.fore.layers[3].visible = true"]
|
|
[eval exp="kag.fore.layers[3].opacity = 255"]
|
|
[eval exp="evilEyeEffect(3, '(0,0,1366,768,128,32,18,1302,732,100)', 200)"]
|
|
[wm layer=3]
|
|
[eval exp="evilEyeEffect(3, '(32,18,1302,732,100,0,0,1366,768,50)' , 400)"]
|
|
[wm layer=3]
|
|
[eval exp="kag.back.layers[3].visible = false"]
|
|
[eval exp="kag.fore.layers[3].visible = false"]
|
|
[backlay]
|
|
[endmacro]
|
|
|
|
|
|
[iscript]
|
|
//function setSsd(){
|
|
// if(f.skipStorageSsd !== void) bao.conductor.loadScenario(f.skipStorageSsd);
|
|
// if(f.skipTargetSsd !== void){
|
|
// bao.conductor.goToLabel(f.skipTargetSsd);
|
|
// bao.conductor.run();
|
|
// }
|
|
//}
|
|
|
|
function skipNext(){
|
|
|
|
kag.mainConductor.loadScenario(f.skipStorage);
|
|
kag.mainConductor.goToLabel(f.skipTarget);
|
|
|
|
// kag.returnExtraConductor();
|
|
kag.extraConductor.sleep();
|
|
kag.extraConductor.interrupt();
|
|
kag.usingExtraConductor = false;
|
|
|
|
kag.conductor = kag.mainConductor;
|
|
kag.conductor.run();
|
|
}
|
|
|
|
|
|
function copyAnimeLayer(l=0, vi=true){
|
|
kag.fore.layers[l].setSize(bao.width * bao.zoomRate, bao.height * bao.zoomRate);
|
|
// kag.fore.layers[l].stretchCopy(0, 0, bao.width * bao.zoomRate, bao.height * bao.zoomRate, dho.srcLayer, 0, 0, dho.srcLayer.width, dho.srcLayer.height);
|
|
kag.fore.layers[l].copyRect(0, 0, bao.dispLayer2, 0, 0, bao.dispLayer2.width, bao.dispLayer2.height);
|
|
kag.fore.layers[l].visible = vi;
|
|
kag.fore.layers[l].opacity = 255;
|
|
}
|
|
|
|
|
|
function drainEffect(l=0, path, time)
|
|
{
|
|
var w = kag.fore.base.width;
|
|
var h = kag.fore.base.height;
|
|
|
|
kag.back.layers[l].setSize(w, h);
|
|
kag.back.layers[l].stretchCopy(0, 0, w, h, dho.srcLayer, 0, 0, dho.srcLayer.width, dho.srcLayer.height);
|
|
|
|
var e = %[];
|
|
e.clipx = 0;
|
|
e.clipy = 0;
|
|
e.clipw = w;
|
|
e.cliph = h;
|
|
e.path = path;
|
|
e.withalpha = true;
|
|
e.time = time;
|
|
e.accel = 0;
|
|
kag.fore.layers[l].beginZoomingMove(e, kag.back.layers[l]);
|
|
}
|
|
|
|
function dhoSetStep(num){
|
|
for(var i=0; i<dho.players.count; i++){
|
|
if(dho.players[i]!==void && isvalid dho.players[i]){
|
|
dho.players[i].layer.conductor.mp.step = num;
|
|
}
|
|
}
|
|
}
|
|
|
|
function omakeAnimeFade(sprite){
|
|
|
|
//if(sprite === dho.players[0]){
|
|
// dm("シフォン側");
|
|
//}else{
|
|
// dm("ショコラ側");
|
|
//}
|
|
|
|
// if(!f.inHScene) {
|
|
if(tf.fadeCtrl !== void && isvalid tf.fadeCtrl){
|
|
if(tf.fadeCtrl.layer.conductor.mp.running){
|
|
var o = tf.fadeCtrl.layer.conductor.mp.i;
|
|
var l0 = kag.fore.layers[0];
|
|
var l1 = kag.fore.layers[1];
|
|
l1.visible = false;
|
|
l1.setSize(l0.width, l0.height);
|
|
l1.copyRect(0, 0, l0, 0, 0, l0.width, l0.height);
|
|
copyAnimeLayer();
|
|
omakeAnimeFadeSub();
|
|
l0.operateRect(0, 0, l1, 0, 0, l1.width, l1.height, omAlpha, o);
|
|
tf.fadeCtrl.layer.conductor.goToLabel('*start2');
|
|
}else{
|
|
copyAnimeLayer();
|
|
omakeAnimeFadeSub();
|
|
tf.fadeCtrl.layer.conductor.goToLabel('*start');
|
|
}
|
|
}else{
|
|
copyAnimeLayer();
|
|
omakeAnimeFadeSub();
|
|
dho.setObject(%['storage'=>'fadeoutcontrol','shadow'=>false,'return'=>'tf.fadeCtrl'], sprite);
|
|
}
|
|
// }
|
|
}
|
|
|
|
function omakeAnimeFadeSub(){
|
|
|
|
var lf = kag.fore.layers[0];
|
|
var lb = kag.back.layers[0];
|
|
|
|
lb.setSize(lf.width, lf.height);
|
|
lb.copyRect(0, 0, lf, 0, 0, lf.width, lf.height);
|
|
lb.visible = true;
|
|
|
|
}
|
|
|
|
|
|
function resetEnemyGauge(){
|
|
for(var i=0; i<bao.enemies.count; i++){
|
|
var e = bao.enemies[i];
|
|
bao.informLayer.enemyGaugeLayers[i].resetGauge(e.maxHP, e.name[sf.language]);
|
|
}
|
|
}
|
|
|
|
|
|
function resetWinningPose(){
|
|
if(bao.enabled){
|
|
for(var i=0; i < bao.players.count; i++){
|
|
var p = bao.players[i];
|
|
if(p.nowSpriteId == stWinning){
|
|
p.loadSprite(stStanding);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
[endscript]
|
|
|
|
|
|
[macro name=dhoAnten]
|
|
[image page=back layer=0 storage="_black" visible=true opacity=255]
|
|
[ChrReset1]
|
|
[Update canskip=false time=300 cond="kag.skipMode==0"]
|
|
[Update canskip=false time=100 cond="kag.skipMode==4"]
|
|
[eval exp="dho.resetObjects()" cond="!mp.noterase"]
|
|
[eval exp="f.nowShowingCg2 = ''"]
|
|
[eval exp="f.nowAnten = true"]
|
|
[endmacro]
|
|
|
|
[macro name=dhoAntenAke]
|
|
[eval exp="f.nowAnten = false"]
|
|
[freeimage image page=back layer=0]
|
|
[Update canskip=false time=300 cond="kag.skipMode==0"]
|
|
[Update canskip=false time=100 cond="kag.skipMode==4"]
|
|
[endmacro]
|
|
|
|
[macro name=CgSet2]
|
|
[if exp="sf.showCgInAnimeHScene"]
|
|
[backlay]
|
|
[CgSet storage=%storage layer=1]
|
|
[Update cond="+mp.update"]
|
|
[endif]
|
|
[eval exp="f.nowShowingCg2 = mp.storage"]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=dhoSetCamera]
|
|
[eval exp="mp.z = mp.zoom" cond="mp.zoom===void"]
|
|
[eval exp="mp.f = mp.frame" cond="mp.frame===void"]
|
|
[eval exp="mp.f = 15" cond="mp.f===void"]
|
|
[eval exp="dho.moveCamera(mp.x, mp.y, mp.z, mp.f)"]
|
|
[endmacro]
|
|
|
|
[macro name=dhoSetStep]
|
|
[eval exp="dho.setStep(+mp.num)"]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=dhoResetCamera]
|
|
[eval exp="mp.f = 15" cond="mp.f===void"]
|
|
[eval exp="dho.moveCamera(0, 0, 1, mp.f)"]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=dhoPlayerLoad]
|
|
[eval exp="dho.players[+mp.num].loadImages(%['storage'=>mp.storage,'inverse'=>+mp.inverse])"]
|
|
; [eval exp="sf.animeHOpenFlag[mp.storage] = true"]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=name006enemy]
|
|
[if exp="tf.killedByKind[0] == '戦闘員'"]
|
|
【Combatant】[CR]
|
|
[else]
|
|
【Ordinary Person】[CR]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=face006enemy]
|
|
[if exp="tf.killedByKind[0] == '戦闘員'"]
|
|
[Face storage=&"('f_f' + mp.storage)"]
|
|
[else]
|
|
[Face storage=&"('f_p' + mp.storage)"]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=revive]
|
|
[Sound storage="se030" buf=0 volume=65]
|
|
[if exp="kag.skipMode!=4 && sf.effectFlash==1 && !f.nowExecKaisou"]
|
|
;フラッシュ
|
|
[ChrSet0 storage="_white"]
|
|
[UpDate time=200]
|
|
[image page=back layer=0 storage="_black" visible=true]
|
|
[Update canskip=false]
|
|
[else]
|
|
[wait time=250]
|
|
[endif]
|
|
[endmacro]
|
|
|
|
|
|
[macro name=waitstable]
|
|
[call storage=macrodefine2.ks target=*loop]
|
|
[endmacro]
|
|
[return]
|
|
|
|
|
|
*loop
|
|
[eval exp="tf.s = !bao.checkSpritesStabled()"]
|
|
[jump target=*wait cond="tf.s"]
|
|
|
|
*endwait|
|
|
|
|
[return]
|
|
|
|
|
|
*wait
|
|
[wait time=100]
|
|
[jump target=*loop]
|
|
|
|
|
|
|