查看: 1612|回复: 1

[已经过期] 怎么把状态对防御的加成设定成“按基础防御计算”

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-3-18 12:57:13 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 yang1zhi 于 2016-3-18 22:59 编辑

默认的是第一个算了,第二个接着第一个的算。
我想要每个都是按基础的算。

[pre lang="ruby"]  #--------------------------------------------------------------------------
  # ● 获取物理防御
  #--------------------------------------------------------------------------
  def pdef
    #标记
    n = base_pdef
    for i in @states
     n *= $data_states.pdef_rate / 100.0
   end
    return Integer(n)
  end
[/pre]



可以了。
哎,数学伤脑,总不想计算
[pre lang="ruby"]  #--------------------------------------------------------------------------
  # ● 获取物理防御
  #--------------------------------------------------------------------------
  def pdef
    #标记
    n = base_pdef
    for i in @states
     m = base_pdef * $data_states.pdef_rate / 100.0 - base_pdef
     n += m
     
   end
    return Integer(n)
  end
[/pre]
梦石
0
星屑
1788
在线时间
1313 小时
注册时间
2012-8-4
回帖
724
发表于 2016-3-18 14:13:29 | 显示全部楼层
本帖最后由 夜狠简单 于 2016-3-18 14:14 编辑

#--------------------------------------------------------------------------
  # ● 获取基本物理防御
  #--------------------------------------------------------------------------
  def base_pdef
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    pdef1 = weapon != nil ? weapon.pdef : 0
    pdef2 = armor1 != nil ? armor1.pdef : 0
    pdef3 = armor2 != nil ? armor2.pdef : 0
    pdef4 = armor3 != nil ? armor3.pdef : 0
    pdef5 = armor4 != nil ? armor4.pdef : 0
    return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
  end
把装备全卸防御力是0

点评

不是说装备。是说状态,比如状态1加攻击,状态2也加攻击。那么攻击就是先加上状态一的加成,然后状态2再在这之上进行加成。问题应该出在FOR循环  发表于 2016-3-18 19:23
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部