查看: 3661|回复: 2

[已经解决] 可否修改角色特性里面的状态附加几率

[复制链接]
梦石
0
星屑
4627
在线时间
818 小时
注册时间
2017-7-14
回帖
116

开拓者

发表于 2018-5-20 23:09:21 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我只能用  $game_actors[9].atk_states_rate(1)  来获取特性状态附加几率
那可否通过脚本来改这个几率呢?
比如我特性里面有个攻击附加1号状态,几率为10%,,可否通过脚本改这个10%?

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2018-5-20 23:46:43 | 显示全部楼层
  1. class Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取攻击附加状态的发动几率
  4.   #--------------------------------------------------------------------------
  5.   def atk_states_rate(state_id)
  6.     features_sum(FEATURE_ATK_STATE, state_id)
  7.   end
  8. end
复制代码

只能说不好改,因为默认这种封装是考虑到数据库中各种类型的附加值
其实你可以附加个隐藏的优先级为0的无图标的状态,再在状态的特性里附加修改
然后再加上死亡后保留状态的修改(状态备注栏里写上 <remain when die> ,死亡时则不会清除该状态)
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 死亡
  4.   #--------------------------------------------------------------------------
  5.   alias eagle_remain_states_die die
  6.   def die
  7.     states_remain = states.select { |s| s.note =~ /<remain when die>/ }
  8.     eagle_remain_states_die
  9.     states_remain.each { |s| @states.push(s.id) }
  10.     sort_states
  11.   end
  12. end
复制代码

当然还是挺邪教的,毕竟懒得去改它辣么完美的整合……

点评

嗯,这也是个好方法,就是要多做几个状态了,谢谢你。  发表于 2018-5-21 00:38
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部