参考请注明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
  }
})
	
			
				最后编辑: