请问如何让属性达到一定值后会有特殊属性提升? 比如:角色A的幸运值达到50后,提升暴击率2%,物理闪避率2%?
#-------------------------------------------------------------------------------## 普通属性带动特殊属性提升 ##-------------------------------------------------------------------------------## mhp 生命上限 mmp 精神上限# atk 物理攻击 def 物理防御 # mat 魔法攻击 mdf 魔法防御 # agi 敏 捷 值 luk 幸 运 值# hit 成功几率 eva 物理闪避几率 cri 必杀几率 # cev 闪避必杀几率 mev 魔法闪避几率 # mrf 反射魔法几率 cnt 物理反击几率 # hrg 生命再生速度 mrg 精神再生速度 trg 潜力再生速度 # tgr 受到攻击几率 grd 防御效果比率# rec 恢复效果比率 pha 药理知识 # mcr 精神消费率 tcr 潜力消耗率 # pdr 物理伤害加成 mdr 魔法伤害加成# fdr 地形伤害加成 exr 经验获得加成##-------------------------------------------------------------------------------#范例:#class Game_BattlerBase# alias_method :cri_20150701, :cri# def cri# cri_20150701 + (luk >= 50 ? 0.2 : 0)# end# # alias_method :eva_20150701, :eva# def eva# eva_20150701 + (luk >= 50 ? 0.2 : 0)# end#end##------------------------------------------------------------------------------- class Game_BattlerBase #基本属性提升 alias_method :hrg, :hrg #生命恢复 def hrg hrg + (mhp >= 150 ? 0.01 : 0) hrg + (mhp >= 250 ? 0.03 : 0) hrg + (mhp >= 350 ? 0.05 : 0) end alias_method :mrg, :mrg #精神恢复 def mrg mrg + (mmp >= 100 ? 0.01 : 0) mrg + (mmp >= 200 ? 0.03 : 0) mrg + (mmp >= 300 ? 0.05 : 0) end alias_method :pdr, :pdr #物理伤害加成 def pdr pdr + (atk >= 50 ? 0.05 : 0) pdr + (atk >= 90 ? 0.1 : 0) pdr + (atk >= 130 ? 0.15 : 0) pdr + (atk >= 170 ? 0.2 : 0) end alias_method :mdr, :mdr #魔法输出加成 def mdr mdr + (mtk >= 50 ? 0.05 : 0) mdr + (mtk >= 90 ? 0.1 : 0) mdr + (mtk >= 130 ? 0.15 : 0) mdr + (mtk >= 170 ? 0.2 : 0) end alias_method :eva, :eva #物理闪避(速度) def eva eva + (agi >= 50 ? 0.05 : 0) eva + (agi >= 90 ? 0.1 : 0) eva + (agi >= 130 ? 0.15 : 0) eva + (agi >= 170 ? 0.2 : 0) end alias_method :mev, :mev #魔法闪避(速度) def mev mev + (agi >= 50 ? 0.05 : 0) mev + (agi >= 90 ? 0.1 : 0) mev + (agi >= 130 ? 0.15 : 0) mev + (agi >= 170 ? 0.2 : 0) end alias_method :trg, :trg #潜力激发(速度) def trg trg + (agi >= 130 ? 0.05 : 0) trg + (agi >= 170 ? 0.1 : 0) end alias_method :cri, :cri #必杀 def cri cri + (luk >= 50 ? 0.05 : 0) cri + (luk >= 90 ? 0.10 : 0) cri + (luk >= 130 ? 0.15 : 0) cri + (luk >= 170 ? 0.2 : 0) end alias_method :eva, :eva #物理闪避(幸运) def eva eva + (luk >= 50 ? 0.05 : 0) eva + (luk >= 90 ? 0.1 : 0) end alias_method :mev, :mev #魔法闪避(幸运) def mev mev + (luk >= 50 ? 0.05 : 0) mev + (luk >= 90 ? 0.1 : 0) end alias_method :hit, :hit #命中 def hit hit + (luk >= 50 ? 0.05 : 0) hit + (luk >= 90 ? 0.1 : 0) hit + (luk >= 130 ? 0.15 : 0) hit + (luk >= 170 ? 0.2 : 0) end #特殊加成 alias_method :cri, :cri #必杀机率(生命) def cri cri + (hp <= 20 ? 0.2 : 0) cri + (hp <= 10 ? 0.5 : 0) cri + (hp <= 5 ? 1 : 0) end alias_method :hrg, :hrg #生命急救(生命) def hrg hrg + (hp <= 25 ? 0.1 : 0) hrg + (hp <= 10 ? 0.2 : 0) hrg + (hp <= 5 ? 0.3 : 0) end alias_method :mcr, :mcr #精神消耗 def mcr mcr + (mmp >= 100 ? 0.90 : 0) mcr + (mmp >= 200 ? 0.80 : 0) mcr + (mmp >= 300 ? 0.70 : 0) end alias_method :tcr, :tcr #潜力消耗 def mcr tcr + (tp >= 50 ? 0.90 : 0) tcr + (tp >= 70 ? 0.80 : 0) tcr + (tp >= 100 ? 0.70 : 0) endend
#------------------------------------------------------------------------------- # # 普通属性带动特殊属性提升 # #------------------------------------------------------------------------------- # # mhp 生命上限 mmp 精神上限 # atk 物理攻击 def 物理防御 # mat 魔法攻击 mdf 魔法防御 # agi 敏 捷 值 luk 幸 运 值 # hit 成功几率 eva 物理闪避几率 cri 必杀几率 # cev 闪避必杀几率 mev 魔法闪避几率 # mrf 反射魔法几率 cnt 物理反击几率 # hrg 生命再生速度 mrg 精神再生速度 trg 潜力再生速度 # tgr 受到攻击几率 grd 防御效果比率 # rec 恢复效果比率 pha 药理知识 # mcr 精神消费率 tcr 潜力消耗率 # pdr 物理伤害加成 mdr 魔法伤害加成 # fdr 地形伤害加成 exr 经验获得加成 # #------------------------------------------------------------------------------- #范例: #class Game_BattlerBase # alias_method :cri_20150701, :cri # def cri # cri_20150701 + (luk >= 50 ? 0.2 : 0) # end # # alias_method :eva_20150701, :eva # def eva # eva_20150701 + (luk >= 50 ? 0.2 : 0) # end #end # #------------------------------------------------------------------------------- class Game_BattlerBase #基本属性提升 alias_method :hrg, :hrg #生命恢复 def hrg hrg + (mhp >= 150 ? 0.01 : 0) hrg + (mhp >= 250 ? 0.03 : 0) hrg + (mhp >= 350 ? 0.05 : 0) end alias_method :mrg, :mrg #精神恢复 def mrg mrg + (mmp >= 100 ? 0.01 : 0) mrg + (mmp >= 200 ? 0.03 : 0) mrg + (mmp >= 300 ? 0.05 : 0) end alias_method :pdr, :pdr #物理伤害加成 def pdr pdr + (atk >= 50 ? 0.05 : 0) pdr + (atk >= 90 ? 0.1 : 0) pdr + (atk >= 130 ? 0.15 : 0) pdr + (atk >= 170 ? 0.2 : 0) end alias_method :mdr, :mdr #魔法输出加成 def mdr mdr + (mtk >= 50 ? 0.05 : 0) mdr + (mtk >= 90 ? 0.1 : 0) mdr + (mtk >= 130 ? 0.15 : 0) mdr + (mtk >= 170 ? 0.2 : 0) end alias_method :eva, :eva #物理闪避(速度) def eva eva + (agi >= 50 ? 0.05 : 0) eva + (agi >= 90 ? 0.1 : 0) eva + (agi >= 130 ? 0.15 : 0) eva + (agi >= 170 ? 0.2 : 0) end alias_method :mev, :mev #魔法闪避(速度) def mev mev + (agi >= 50 ? 0.05 : 0) mev + (agi >= 90 ? 0.1 : 0) mev + (agi >= 130 ? 0.15 : 0) mev + (agi >= 170 ? 0.2 : 0) end alias_method :trg, :trg #潜力激发(速度) def trg trg + (agi >= 130 ? 0.05 : 0) trg + (agi >= 170 ? 0.1 : 0) end alias_method :cri, :cri #必杀 def cri cri + (luk >= 50 ? 0.05 : 0) cri + (luk >= 90 ? 0.10 : 0) cri + (luk >= 130 ? 0.15 : 0) cri + (luk >= 170 ? 0.2 : 0) end alias_method :eva, :eva #物理闪避(幸运) def eva eva + (luk >= 50 ? 0.05 : 0) eva + (luk >= 90 ? 0.1 : 0) end alias_method :mev, :mev #魔法闪避(幸运) def mev mev + (luk >= 50 ? 0.05 : 0) mev + (luk >= 90 ? 0.1 : 0) end alias_method :hit, :hit #命中 def hit hit + (luk >= 50 ? 0.05 : 0) hit + (luk >= 90 ? 0.1 : 0) hit + (luk >= 130 ? 0.15 : 0) hit + (luk >= 170 ? 0.2 : 0) end #特殊加成 alias_method :cri, :cri #必杀机率(生命) def cri cri + (hp <= 20 ? 0.2 : 0) cri + (hp <= 10 ? 0.5 : 0) cri + (hp <= 5 ? 1 : 0) end alias_method :hrg, :hrg #生命急救(生命) def hrg hrg + (hp <= 25 ? 0.1 : 0) hrg + (hp <= 10 ? 0.2 : 0) hrg + (hp <= 5 ? 0.3 : 0) end alias_method :mcr, :mcr #精神消耗 def mcr mcr + (mmp >= 100 ? 0.90 : 0) mcr + (mmp >= 200 ? 0.80 : 0) mcr + (mmp >= 300 ? 0.70 : 0) end alias_method :tcr, :tcr #潜力消耗 def mcr tcr + (tp >= 50 ? 0.90 : 0) tcr + (tp >= 70 ? 0.80 : 0) tcr + (tp >= 100 ? 0.70 : 0) end end
class Game_BattlerBase alias_method :cri_20150701, :cri def cri cri_20150701 + (luk >= 50 ? 0.02 : 0) end alias_method :eva_20150701, :eva def eva eva_20150701 + (luk >= 50 ? 0.02 : 0) endend
class Game_BattlerBase alias_method :cri_20150701, :cri def cri cri_20150701 + (luk >= 50 ? 0.02 : 0) end alias_method :eva_20150701, :eva def eva eva_20150701 + (luk >= 50 ? 0.02 : 0) end end
查看全部评分
折叠内容标题(非必须)
折叠内容
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-1 22:27
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.