赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 598 |
最后登录 | 2013-5-8 |
在线时间 | 0 小时 |
Lv1.梦旅人 今、空を見上げ
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 0 小时
- 注册时间
- 2007-8-11
- 帖子
- 2022
|
- ]#--------------------------------------------------------------------------
- # ● 计算普通攻击造成的伤害
- # 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.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
复制代码
这里是计算普通攻击伤害的地方.以
伤害 = 攻击*4 - 防御*2
我打圣火徽章的时候,敌人受到的伤害是(我的攻击-敌人防御),如果我的攻击小于敌人防御,伤害值一律为1
这个问题很好解决
damage = attacker.atk - self.def
if damage == 0
damage = 1
只用改这2句就行
然后是 物理技能对人的伤害计算是
伤害 = 基本伤害
+ (使用特技(或物品)的攻撃力 × 4 × 打撃関係度 ÷ 100)
+ (使用特技(或物品)的精神力 × 2 × 精神関係度 ÷ 100)
- (对象防御力 × 2 × 打撃関係度 ÷ 100)
- (对象精神力 × 1 × 精神関係度 ÷ 100)
这里是F1里的内容
以下是经过修改的脚本
直接替换进Game_Battler里的同样的地方就可以
- #--------------------------------------------------------------------------
- # ● 计算普通攻击造成的伤害
- # attacker : 攻击者
- # 结果代入 @hp_damage。
- #--------------------------------------------------------------------------
- def make_attack_damage_value(attacker)
- damage = attacker.atk - self.def # 基本计算
- damage = 0 if damage < 0 # 减少为 0
- damage *= elements_max_rate(attacker.element_set) # 修正属性
- damage /= 100
- if damage == 0 # 伤害为 0
- damage = 1 # 伤害为 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
复制代码 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|