shiny-cuty-excel-chiffon/data/macrodefine2.ks
2024-10-22 14:54:09 -05:00

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]