| 
 
| 赞 | 0 |  
| VIP | 6 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 63789 |  
| 最后登录 | 2017-9-7 |  
| 在线时间 | 12 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间12 小时注册时间2006-5-21帖子773 | 
| #-------------------------------------------------------------------------- # ● 计算普通攻击造成的伤害
 #     attacker : 攻击者
 #    结果代入 @hp_damage。
 #--------------------------------------------------------------------------
 def make_attack_damage_value(attacker)
 damage = attacker.atk * 4 - self.def * 2        # 基本计算
 damage = 0 if damage < 0                        # 减少为 0
 damage *= elements_max_rate(attacker, attacker.element_set)   # 修正属性
 damage /= 100
 if damage == 0                                  # 伤害为 0
 damage = rand(2)                              # 1/2 概率为伤害 1
 elsif damage > 0                                # 伤害为正数
 @critical = (rand(100) < attacker.cri)        # 判断会心一击
 @critical = false if prevent_critical         # 防止会心一击?
 damage *= 3 if @critical                      # 会心一击修正
 end
 damage = apply_variance(damage, 20)             # 分散
 damage = apply_guard(damage)                    # 防御修正
 @hp_damage = damage                             # HP 伤害
 end
 #--------------------------------------------------------------------------
 # ● 计算特技以及物品造成的伤害
 #     user : 使用特技以及物品的人
 #     obj  : 特技以及物品
 #    将结果代入 @hp_damage 或 @mp_damage。
 #--------------------------------------------------------------------------
 def make_obj_damage_value(user, obj)
 damage = obj.base_damage                        # 获取基本伤害
 if damage > 0                                   # 伤害为正数
 damage += user.atk * 4 * obj.atk_f / 100      # 打击关系度: 使用者
 damage += user.spi * 2 * obj.spi_f / 100      # 精神关系度: 使用者
 unless obj.ignore_defense                     # 无视防御力以外
 damage -= self.def * 2 * obj.atk_f / 100    # 打击关系度: 对象者
 damage -= self.spi * 1 * obj.spi_f / 100    # 精神关系度: 对象者
 end
 damage = 0 if damage < 0                      # 减少为 0
 elsif damage < 0                                # 伤害为负数
 damage -= user.atk * 4 * obj.atk_f / 100      # 打击关系度: 使用者
 damage -= user.spi * 2 * obj.spi_f / 100      # 精神关系度: 使用者
 end
 damage *= elements_max_rate(user, obj.element_set)    # 属性修正
 damage /= 100
 damage = apply_variance(damage, obj.variance)   # 分散
 damage = apply_guard(damage)                    # 防御修正
 if obj.damage_to_mp
 @mp_damage = damage                           # MP 伤害
 else
 @hp_damage = damage                           # HP 伤害
 end
 end
 
 普通攻击和技能的伤害计算
 可以发现单看普通攻击,伤害=攻击者的攻击力*4-对方防御*2
 可以这么加上一句
 damage *= $game_variables[n]  伤害乘上某变量加成。
 | 
 |