#;;>>@Config.Tag_Command>>
#; Tag-Mode Command:: "Change","Partner-Assist" (v48)
#; タッグモード時操作コマンド
#;>>sys::tag_mode_cmd_reset
ignorehitpause if var(48) { var(48):=0; }
#;; change [v48=11] ; 交替
#;>>sys::tag_mode_cmd_change
ignorehitpause if roundstate=2 && numpartner && var(22)=4 && !var(48) && map(i_Assist_Interval)=0 {
ignorehitpause if var(15)!=var(49) && playeridexist(var(49)) {
ignorehitpause if ((playerid(var(49)),stateno=190192) && (playeridexist(var(15))) && (playerid(var(15)),stateno!=[2999,3999])) || (((playeridexist(var(15))) && (playerid(var(15)),stateno=[2999,3999])) && (playerid(var(15)),movetype=A)) {
##;;--- player-controlled ;; 操作交替
ignorehitpause if root,name!="BAGAN" && ((root,command="shift_fwd") || (root,command="shift_back")) {
ignorehitpause if var(51)<1 && var(28)>200 && (var(7)&1024) {
var(48):=11;
}}
##;;--- ai
if var(51)>0 && var(28)>200 && (var(7)&1024) {
if playerid(var(15)),sysfvar(4)<1 && (random%50=0) && playerid(var(15)),life<playerid(var(49)),life {
var(48):=11;
}}
##;;--- forced change (not-alive, stand-by) ;; 強制交替(終止、待機中)
if playeridexist(var(15)) {
if (playerid(var(15)),alive=0 && playerid(var(15)),stateno=5150) || (playerid(var(15)),stateno=[190191,190192]) {
var(48):=11;
}}
}}}
#;; change-interrupted [v48=21] ; 割り込み交替
#;>>sys::tag_mode_cmd_change_interrupted
#;; "Switch-Canceling"
ignorehitpause if var(48)=11 && var(15)!=var(49) && playeridexist(var(49)) {
ignorehitpause if playerid(var(49)),stateno=190192 && power>=500 {
ignorehitpause if playerid(var(15)),sysfvar(4)<1 && playerid(var(15)),alive && playerid(var(15)),stateno<3000 && playerid(var(15)),time>2 {
ignorehitpause if playerid(var(15)),movetype=A && playerid(var(15)),gethitvar(isbound)=0 && playerid(var(15)),movecontact{
var(48):=21;
}}}}
#hyper-cancel-all team members alive
if power >= 1000 && teamside = 1 && (playerID(56),Alive && playerID(57),Alive && playerID(58),Alive){
ignorehitpause if var(48)=11 && var(15)!=var(49) && playeridexist(var(49)) {
ignorehitpause if playerid(var(15)),sysfvar(4)<1 && playerid(var(15)),alive && playerid(var(15)),stateno=[2999,4000] {
ignorehitpause if playerid(var(15)),movetype=A{
var(48):=15;
}}}}
#hyper-cancel-one member or more is not alive
if power >= 1000 {
ignorehitpause if var(48)=11 && var(15)!=var(49) && playeridexist(var(49)) {
ignorehitpause if playerid(var(49)),stateno=[190190,190192] {
ignorehitpause if playerid(var(15)),sysfvar(4)<1 && playerid(var(15)),alive && playerid(var(15)),stateno=[2999,4000] {
ignorehitpause if playerid(var(15)),movetype=A{
var(48):=15;
}}}}}
#;>>sys::partner_id_search_change1
ignorehitpause if (var(48)=11 || var(48)=21 || var(48)=15) { ####will search for partner if hyper cancel var(48)=15##
let iKeyD = ifelse( root,command="shift_fwd" || root,command="assist_fwd", -1, 1);
if numpartner>0 {
let iIDme = call Fnc_IsPartnerID3(var(15)+$iKeyD);
if $iIDme { var(49):=$iIDme; }
else if numpartner>1 {
let iIDme = call Fnc_IsPartnerID3(var(15)+$iKeyD*2);
if $iIDme { var(49):=$iIDme; }
else if numpartner>2 {
let iIDme = call Fnc_IsPartnerID3(var(15)+$iKeyD*3);
if $iIDme { var(49):=$iIDme; }
else if numpartner>3 {
let iIDme = call Fnc_IsPartnerID3(var(15)+$iKeyD*4);
if $iIDme { var(49):=$iIDme; }
else if numpartner>4 {
let iIDme = call Fnc_IsPartnerID3(var(15)+$iKeyD*5);
if $iIDme { var(49):=$iIDme; }
else if numpartner>5 {
let iIDme = call Fnc_IsPartnerID3(var(15)+$iKeyD*6);
if $iIDme { var(49):=$iIDme; }
else if numpartner>6 {
let iIDme = call Fnc_IsPartnerID3(var(15)+$iKeyD*7);
if $iIDme { var(49):=$iIDme; }
}}}}}}}
}
then to the next point...#hyper-cancel _
if name="CharacterName" && power >= 1000 &&
!time && sysfvar(4)=0 && sysvar(0)>0 && playeridexist(sysvar(0)) {
if playerid(sysvar(0)),sysfvar(4)=3 {changestate{ value:3001; ctrl:1;}}
}
#;sys::-2::partners_standby
##...then theres a bunch of code right after this line, but I add in a line for the new sysfvar(4)=3, signaling hyper cancel has just happened##
ignorehitpause if (sysfvar(4)=3) && ( ctrl || stateno != [3000,4000]) { selfstate{value:190190 } }
##then this is a new loop not in the loop above##
#;sys::-2::partners_change_interrupted ; ���荞���
ignorehitpause if !ishelper && numpartner && roundstate=2 && alive && sysfvar(0)>0 && playeridexist(floor(sysfvar(0))) {
ignorehitpause if playerid(floor(sysfvar(0))),var(0)=90900 && playerid(floor(sysfvar(0))),var(48)=21 && sysfvar(4)<1 {
sysfvar(4):=2; ##;; (0:main / 1:assist / 2:switch-canceling/ 3:Hyper Cancel)
}}
#sys::-2::hyper-cancel
ignorehitpause if power>=1000 && !ishelper && numpartner && roundstate=2 && alive && sysfvar(0)>0 && playeridexist(floor(sysfvar(0))) {
ignorehitpause if playerid(floor(sysfvar(0))),var(0)=90900 && playerid(floor(sysfvar(0))),var(48)=15 && sysfvar(4)<1 {
sysfvar(4):=3; ##;; (0:main / 1:assist / 2:switch-canceling/ 3: Hyper Cancel)
}}
Basically,exit if you are no longer in state 3000-3999 (designated hyper states) if you called to cancel into your next partner.if power >= 1000 && !time && sysfvar(4)=0 && sysvar(0)>0 && playeridexist(sysvar(0)) {
if playerid(sysvar(0)),sysfvar(4)=3 {
palfx{ time:20; add:256,0,-256}
poweradd{value:0}
superpause{time:20; movetime:20; pausebg:1; darken:1}
#;sys::player_cost_sc0 ;; �p���[�����
}}