参考请注明Credits:ES泽洛,如有bug请反馈。
23.08.29修改以兼容ZUD
1.在脚本编辑器中找到PBEffects,在122行附近添加。注意,后面的数字视情况而定,一般比它上面一行大就行。
2.找到Battler_Initialize,在279行附近添加。上方和此处的作用为,声明一个状态用于存储当前形态编号,并初始化为0。
3.找到Battler_UseMove,在195行附近添加。此段作用为选择技能时,如果是代欧奇希斯,就选择需要切换的形态,为后续做准备。
4.还是在Battler_UseMove,在368行附近添加。此段作用为判断是否为代欧奇希斯,然后根据之前选择的形态进行切换。
5.找到FormHandlers,在最末端添加。此段作用为结束战斗时将代欧奇希斯恢复成普通形态,以避免潜在的问题。如果不想恢复,可不加此段,并自行调试可能出现的问题。
23.08.29修改以兼容ZUD
1.在脚本编辑器中找到PBEffects,在122行附近添加。注意,后面的数字视情况而定,一般比它上面一行大就行。
Ruby:
DeoxysForm = 117
2.找到Battler_Initialize,在279行附近添加。上方和此处的作用为,声明一个状态用于存储当前形态编号,并初始化为0。
Ruby:
@effects[PBEffects::DeoxysForm] = 0
3.找到Battler_UseMove,在195行附近添加。此段作用为选择技能时,如果是代欧奇希斯,就选择需要切换的形态,为后续做准备。
Ruby:
#代欧奇希斯变形态前置
if isSpecies?(:DEOXYS)
if self.effects[PBEffects::DeoxysForm] == self.form
forms = [0,1,2,3]
formNames = ["普通","攻击","防御","速度"]
i = 0
for f in 0...forms.length
if f == self.form
i = f
break
end
end
forms.delete_at(i)
formNames.delete_at(i)
index = pbMessage(_INTL("想要让{1}变成什么形态?",pbThis),formNames,-1)
if index != -1
self.effects[PBEffects::DeoxysForm] = forms[index]
end
end
end
4.还是在Battler_UseMove,在368行附近添加。此段作用为判断是否为代欧奇希斯,然后根据之前选择的形态进行切换。
Ruby:
#代欧奇希斯变形态
if isSpecies?(:DEOXYS) && user.effects[PBEffects::DeoxysForm] != user.form
newForm = user.effects[PBEffects::DeoxysForm]
formNames = ["普通","攻击","防御","速度"]
pbChangeForm(newForm,_INTL("{1}变为了{2}形态!",pbThis, formNames[newForm]))
user.effects[PBEffects::DeoxysForm] = user.form
end
5.找到FormHandlers,在最末端添加。此段作用为结束战斗时将代欧奇希斯恢复成普通形态,以避免潜在的问题。如果不想恢复,可不加此段,并自行调试可能出现的问题。
Ruby:
MultipleForms.register(:DEOXYS, {
"getFormOnLeavingBattle" => proc { |pkmn, battle, usedInBattle, endBattle|
next 0
}
})
最后编辑: