影之克隆:(免疫注销的完善分身)
只拎出主干,动画特效和技能条等其他细节就不涉及了。
————————————————————————————————————————本体召唤分身helper
注意,必须helpertype = player,类型为player型。
[State 3000, Helper]; ---- Shadow Clone Igniz
type = Helper
triggerall = !numhelper(97864)
trigger1 = animelem = 10, >=61
helpertype = player
name = "Shadow Clone Igniz"
ID = 97864 ; ---- MUST NOT change this !
stateno = 3099
pos = 60,0
postype = p1 ;p2,front,back,left,right
facing = 1
keyctrl = 1
ownpal = 1
supermovetime = 172
pausemovetime = 172
在分身helper的初始化state里(这里是3099),再创建一个“重建系统”helper
[State 3099, Helper]; ---- Shadow Clone Igniz recreater system helper
type = Helper
triggerall = !root,NumHelper(46879)
trigger1 = 1
helpertype = normal
name = "Shadow Clone Igniz recreater system helper"
ID = 46879 ; ---- MUST NOT change this !
stateno = 3098
pos = 0,0
postype = p1 ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
“重建系统”helper常时绑定位置到父helper(即parent)
这里必须明确:重建helper和分身helper是“子与父”关系。重建系统helper里常时检测其父是否存在,如果不存在,那么分身helper就是被注销了(被敌人当身反转了)
如果检测到了,那么重新创建分身helper。
创建位置为重建系统helper的位置。由于重建系统helper始终和之前的分身绑定位置,所以看上去新的分身位置不变。被重新创建的新的分身helper,进入一个无敌的“假”挨打动作。
其血量则通过之前的变量记录,保证重建过程分身的血量不变。当新的分身创建完毕后,【旧的分身创建的那个“重建系统helper”】自我注销。
新的分身再创建属于它自己的【新的“重建系统helper”】
如此确保,分身永远是其对应的重建系统的“父”,否则重建系统的检测不便。值得注意的是,几种情况下分身消失了却不应该重建,
比如非战斗roundstate != 2,分身确实的死亡(生命0且stateno = 5150)等。
———————————————————————————————————————
-2下应该设置一些必要的系统:
当分身死亡时,应selfstate到挨打动作。变量记录血量,以便重建时使用。
值得注意的是,mugen容易引起一些BUG,比如分身奇怪的将本体抓入无效的p2state,或者反之本体抓了分身。
这时候用target,ID判断是不是抓错人了,用targetstate纠错一下。
另外mugen每一局结束时应该消除所有helper,但是偶尔BUG会导致没消除, 于是下一局开场roundstate<2时注销一下。
————————————————————————————————————————
其他全局细节:
由于player型helper会触发所有-1 -2 -3,因此-1 -2 -3【全部】控制器必须检查一遍
检查当控制器被分身helper而非本体执行时,是否产生问题。
如果不产生问题,则无所谓。如果产生问题,须增加!ishelper条件以区分。如果写有AI,AI不增加!ishelper条件,则AI将同时作用于分身。此即分身共享了本体的AI。
如果分身AI有特别要求,就以ishelper作为大前提条件,编写额外AI。
另外,【所有】招式代码里,含有诸如绑定位置到root的设置,必须按本体和分身helper加以区分
否则会造成“分身发出飞行道具,却从本体的位置出现”等瑕疵。
区分办法为ishelper、!ishelper时,分别绑定到parent。
招式中对某个【独有】helper、proj等有条件要求的,也必须按本体和分身helper加以区分
否则会造成“本体圣光之刃命中,允许梦幻取消,分身却也被允许取消”等瑕疵。
区分办法为创建的时候,本体和分身使用不同的helper ID、proj ID等。
————————————————————————————————————————
关于神代码:
分身重建机制对于通过【混线】来取得任意非开幕永久helper的神角色代码无效。