加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 魔法☆梅莉 于 2017-11-16 00:45 编辑
#脚本功能:将已知命中率乘以一个参数,该参数与你角色或敌人的属性有关。 #属性公式由脚本使用者自行定义、书写。 #命中率和闪避率分开判定,命中率由使用技能方判定,而闪避率由接受技能方判定。 #作者:梅林 #可以不标注作者就使用。需要功能修改的话可以联系我。 class Game_Battler < Game_BattlerBase #计算技能/物品的成功几率 alias merlin20171022_item_hit item_hit def item_hit(user, item) rate = item.success_rate * 0.01 # 获取成功几率 rate *= user.hit if item.physical? # 物理攻击:计算成功几率的乘积 #如果在note中书写公式,则实现概率与公式相同 if item.note.include?('<hits') a = eval($1.to_s) if item.note =~ /<hits=\s*(\S.*)>/ rate *= a #eg:使用18号技能:麻痹时命中率与MP正比 #在18号技能的note中书写以下代码:<hits=user.mp*1.0/user.mmp> end return rate # 返回计算后的成功几率 end #计算技能/物品的闪避几率 alias merlin20171022_item_eva item_eva def item_eva(user, item) #技能效果补正 if item.physical? a = eva if item.note.include?('<hits') b = eval($1.to_s) if item.note =~ /<hits=\s*(\S.*)>/#注意,虽然是接受技能方,仍然写作user而不是target a *= b end return a end if item.magical? b = mev if item.note.include?('<hits') a *= eval($1.to_s) if item.note =~ /<hits=\s*(\S.*)>/ b *= a end return b end return 0 end end
#脚本功能:将已知命中率乘以一个参数,该参数与你角色或敌人的属性有关。
#属性公式由脚本使用者自行定义、书写。
#命中率和闪避率分开判定,命中率由使用技能方判定,而闪避率由接受技能方判定。
#作者:梅林
#可以不标注作者就使用。需要功能修改的话可以联系我。
class Game_Battler < Game_BattlerBase
#计算技能/物品的成功几率
alias merlin20171022_item_hit item_hit
def item_hit(user, item)
rate = item.success_rate * 0.01 # 获取成功几率
rate *= user.hit if item.physical? # 物理攻击:计算成功几率的乘积
#如果在note中书写公式,则实现概率与公式相同
if item.note.include?('<hits')
a = eval($1.to_s) if item.note =~ /<hits=\s*(\S.*)>/
rate *= a #eg:使用18号技能:麻痹时命中率与MP正比
#在18号技能的note中书写以下代码:<hits=user.mp*1.0/user.mmp>
end
return rate # 返回计算后的成功几率
end
#计算技能/物品的闪避几率
alias merlin20171022_item_eva item_eva
def item_eva(user, item)
#技能效果补正
if item.physical?
a = eva
if item.note.include?('<hits')
b = eval($1.to_s) if item.note =~ /<hits=\s*(\S.*)>/#注意,虽然是接受技能方,仍然写作user而不是target
a *= b
end
return a
end
if item.magical?
b = mev
if item.note.include?('<hits')
a *= eval($1.to_s) if item.note =~ /<hits=\s*(\S.*)>/
b *= a
end
return b
end
return 0
end
end
|