Project1

标题: [結帖]幸運值如何隨機? [打印本页]

作者: david_ng223    时间: 2016-2-27 05:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: taroxd    时间: 2016-2-27 06:57
写在 setup 方法里面
作者: 传说中di    时间: 2016-2-27 16:28
加入角色用变量代入随机幸运值
作者: 寒冷魔王    时间: 2016-2-27 23:42
本帖最后由 寒冷魔王 于 2016-2-28 00:28 编辑

修改增添两个地方即可:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取幸运随机数  # 增添
  3.   #--------------------------------------------------------------------------
  4.   def get_luck_rand
  5.     @luck_rand ||= rand(255) + 1 # 1 ~ 255
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   # ● 获取普通能力的基础值(重写)
  9.   #--------------------------------------------------------------------------
  10.   alias tan_quality_param_base param_base
  11.   def param_base(param_id)
  12.     case param_id
  13.     when 0
  14.       v = 2
  15.       v *= tan_quality_param_base(param_id)
  16.       i = @tan_quality_param[param_id] if @tan_quality_param
  17.       v += ActorQuality::QUALITY_CHANGE[i].to_f if i
  18.       v *= self.level
  19.       v /= 100
  20.       v += 10
  21.       v += self.level
  22.       return v.to_i
  23.     when 1
  24.       v = 2
  25.       v *= tan_quality_param_base(param_id)
  26.       i = @tan_quality_param[param_id] if @tan_quality_param
  27.       v += ActorQuality::QUALITY_CHANGE[i].to_f if i
  28.       v *= self.level
  29.       v /= 100
  30.       v += 10
  31.       v += self.level
  32.       return v.to_i
  33.     when 7
  34.       v = get_luck_rand # 修改
  35.       v *= 2
  36.       i = @tan_quality_param[param_id] if @tan_quality_param
  37.       v += ActorQuality::QUALITY_CHANGE[i].to_f if i
  38.       v *= self.level
  39.       v /= 100
  40.       v += 5
  41.       return v.to_i
  42.     else
  43.       v = 2
  44.       v *= tan_quality_param_base(param_id)
  45.       i = @tan_quality_param[param_id] if @tan_quality_param
  46.       v += ActorQuality::QUALITY_CHANGE[i].to_f if i
  47.       v *= self.level
  48.       v /= 100
  49.       v += 5
  50.       return v.to_i
  51.     end
  52.   end


三个测试点:
1.“状态”画面,每次打开,值是不变的
2. 存档后读档,值不变
3. 新建游戏,值改变
测试成功。

另外,用于敌人的话,和角色是相同的修改手段。
不过请注意,由于敌人是在Game_Troop中实例化的,所以在战斗中,相同的敌人编号会有不同的幸运值。
作者: david_ng223    时间: 2016-2-27 23:46
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1