本帖最后由 后知后觉 于 2011-6-4 11:51 编辑 那个 table 只是给 属性有效度 用的 属性防御是直接 / 2 的. 全局搜索(Shift+Ctrl+F)
在角色的定义里有2行 result /= 2 把这2行 result /= 2 改成
把敌人的那行 result /= 2 也改成上面那样. 当然了.你用的不是默认系统.所以在搜索出来不只2个结果的时候就需要在更靠近 Main 的地方进行修改. 不过要注意这个 result 是百分比 而不是直接值. 这样直接设置为 0 的话 虽然直接结果是等于 0 了. 不过也把 其他的一些 伤害吸收(加血)的效果给屏蔽了(同时携带时). 该怎么改你自己试试吧. |
本帖最后由 jhhuang 于 2011-6-4 00:52 编辑 越是了解深入的东西...过往的基础就忘记了= = 上面那个发错了...那个是职业代入的属性有效度伤害. 下面那句 # 状态能防御本属性的情况下效果减半 for i in @states if $data_states.guard_element_set.include?(element_id) result /= 2 end end ---------------------------------------------------- result /= 2 改成 result = 0 Game_Enemy类是敌人的,也是 result /= 2 改成 result = 0 [0,200,150,100,50,0,-100] 这东西是人物职业或敌人设置的属性有效度.... A=200%B=150%C=100%D=50E=0F=负100% 就是当受到那个属性时受到的伤害. |
楼上……假若我们使用默认的elements_rate table = [0,200,150,100,50,0,-100] 从装备/状态上获得的属性防御,不是如你所说的那么计算…… 用你举的例子,一个火属性魔法,打某人(该人物的火属性有效度=C[100%]) 假定伤害为 1000 这个人穿着盔甲,赋予火属性防御 -----> 受到伤害 500 这个人被附加状态,火属性防御 ------> 受到伤害 250 这个人又穿着一盾牌,赋予火属性防御 --> 受到伤害 125 综上可以得到结论: 属性防御,所做的是根据 table里面 D 等级的数量进行修正,每次防御多修正一次。 上述例子有3件火属性防御(注意,并非人物设置里面的那个等级,而是装备/状态栏划勾的属性防御) 则,对于1000点火属性伤害进行属性修正: 根据table D [50%] 3次修正 1000*0.5*0.5*0.5 = 125 |
Game_Actor类 # 获取对应属性有效度的数值 table = [0,200,150,100,50,0,-100] 改成 # 获取对应属性有效度的数值 table = [0,200,150,100,0,0,-100],那样一件装备属性防御伤害就变成0% |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-29 18:18
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.