加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
看到MV区的ye屁插件整合清单就对着做了
【汉化】YEP.89 – State Categories - 简书
http://www.jianshu.com/p/35004d654cc6
这个插件允许你设置状态的分类,他们可以属于一个分类,也可以是多个甚至没有。
这样,这个插件就可以提供通过分类来消除状态的功能,或者忽略特定状态,
例如死亡自动移除或者全体恢复
VA数据库里,状态没有分类,用这个脚本可以给你的状态增加分类(这种分类如果放到DOTA2的话,就是可以驱散、仅强驱散、无法驱散)
添加多类型状态以后可以用这个脚本里面设定好的方法移除包含指定类型的状态
state类方法
types:输出指定状态包含的所有类型的数组
types_n:输出指定状态包含的所有类型的名字的数组
battler类方法
remove_state_type(tid):移除指定单位所持有状态中属于tid类型的状态(tid为该类型的编号)
=begin 给一个状态多种类型分类 =end module Vocab STATE_TYPE_NAME=["增益状态","减益状态","物理","魔法"] end module State Type = { 1=>[2], 20=>[0,3], } end (1..999).each{|i|State::Type[i]||=[]} class RPG::State def types State::Type[self.id].uniq end def types_n n=[] self.types.each{|i|n.push(Vocab::STATE_TYPE_NAME[i])} n end end #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ # 处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。 #============================================================================== class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 解除指定类型的状态 #-------------------------------------------------------------------------- def remove_state_type(tid) states.each{|i| if state?(i.id) and i.types.include?(tid) revive if i.id == death_state_id erase_state(i.id) refresh @result.removed_states.push(i.id).uniq! end } end end
=begin
给一个状态多种类型分类
=end
module Vocab
STATE_TYPE_NAME=["增益状态","减益状态","物理","魔法"]
end
module State
Type = {
1=>[2],
20=>[0,3],
}
end
(1..999).each{|i|State::Type[i]||=[]}
class RPG::State
def types
State::Type[self.id].uniq
end
def types_n
n=[]
self.types.each{|i|n.push(Vocab::STATE_TYPE_NAME[i])}
n
end
end
#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
# 处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。
#==============================================================================
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● 解除指定类型的状态
#--------------------------------------------------------------------------
def remove_state_type(tid)
states.each{|i|
if state?(i.id) and i.types.include?(tid)
revive if i.id == death_state_id
erase_state(i.id)
refresh
@result.removed_states.push(i.id).uniq!
end
}
end
end
|