设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3492|回复: 8
打印 上一主题 下一主题

[已经过期] 想請教VA有沒有辦法做到限制抗性上限

[复制链接]

Lv5.捕梦者

梦石
0
星屑
24477
在线时间
5077 小时
注册时间
2016-3-8
帖子
1623
1
发表于 2021-2-3 11:46:16 | 显示全部楼层
本帖最后由 alexncf125 于 2021-2-3 12:14 编辑

咱们搜属性抗性,搜到:
  1. #---------------------------------------------- ----------------------------
  2.   # ● 获取属性抗性
  3.   #------------------------------------------------- -------------------------
  4.   def element_rate(element_id)
  5.     features_pi(FEATURE_ELEMENT_RATE, element_id)
  6.   end
复制代码

接着搜features_pi,搜到:
  1. #---------------------------------------------- ----------------------------
  2.   # ● 计算特性值的乘积
  3.   #------------------------------------------------- -------------------------
  4.   def features_pi(code, id)
  5.     features_with_id(code, id).inject(1.0) {|r, ft| r *= ft.value }
  6.   end
复制代码

咱们p一下ft,p出它有code, data_id, value这三个,其中data_id就是属性的ID
火属性的ID是3,那咱把代码改成这样子:
def features_pi(code, id)
  features_with_id(code, id).inject(1.0) {|r, ft|
  if ft.data_id == 3
    [r *= ft.value, 0.5].max
  else
    r *= ft.value
  end
  }
end
改好后就会发现, 火属性抗性最大值只能抵抗50%了

不足之处就是...
不只装备, 其他会影响火属性抗性的都不会低过50%...
敌人的火属性抗性都不会低过50%...
然而我不懂得如何改下去了...
也或许我的思路从根本上就错误了...

点评

唔 真糟糕,會連同敵人也一起被限制嗎  发表于 2021-2-4 00:03
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
24477
在线时间
5077 小时
注册时间
2016-3-8
帖子
1623
2
发表于 2021-2-4 01:07:44 | 显示全部楼层
本帖最后由 alexncf125 于 2021-2-4 01:09 编辑
唔 真糟糕,會連同敵人也一起被限制嗎

啊~现在才想起...这个类是Game_BattlerBase
那么可以改成这样子:

def features_pi(code, id)
  features_with_id(code, id).inject(1.0) {|r, ft|
  if ft.data_id == 3 && self.actor?
    [r *= ft.value, 0.5].max
  else
    r *= ft.value
  end
  }
end

ps.依旧是不只装备, 其他会影响火属性抗性的都不会低过50%...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-17 06:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表