赞 | 1 |
VIP | 16 |
好人卡 | 23 |
积分 | 0 |
经验 | 49509 |
最后登录 | 2016-1-9 |
在线时间 | 2459 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 48
- 在线时间
- 2459 小时
- 注册时间
- 2011-12-18
- 帖子
- 1484
|
在脚本编辑器的Game_Battler中找到这两段
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
elsif damage > 0 # 若伤害为正数
@critical = (rand(100) < attacker.cri) # 会心一击判断
@critical = false if prevent_critical # 防止会心一击判断
damage *= 3 if @critical # 会心一击校正
end
if self.is_a?(Game_Enemy) and self.id == xx ##这里的xx就是敌人数据库中BOSS的ID
if damage > 20000 ##当伤害超过20000时
damage = 20000 ##将伤害调整为20000
end
end
damage = apply_variance(damage, 20) # 分散度
damage = apply_guard(damage) # 防御校正
@hp_damage = damage # 体力伤害
end
#--------------------------------------------------------------------------
# ● 计算技能/物品伤害
# user : 技能或物品的使用者
# obj : 使用的技能或物品
# 计算结果赋值入 @hp_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(obj.element_set) # 属性校正
damage /= 100
damage = apply_variance(damage, obj.variance) # 分散度
damage = apply_guard(damage) # 防御校正
if self.is_a?(Game_Enemy) and self.id == xx ##这里的xx就是敌人数据库中BOSS的ID
if damage > 20000 ##当伤害超过20000时
damage = 20000 ##将伤害调整为20000
end
end
if obj.damage_to_mp
@mp_damage = damage # 伤害魔力
else
@hp_damage = damage # 伤害体力
end
end |
评分
-
查看全部评分
|