Project1
标题:
自订技能伤害计算公式
[打印本页]
作者:
zh99998
时间:
2008-5-24 21:51
标题:
自订技能伤害计算公式
怎么自定技能伤害计算公式,就是不用VX自带的公式,而是自己编,比如
设置一个技能,可以
伤害对方HP = 物理攻击伤害 * [变量001]
或者
伤害对方HP = 主角当前HP
之类的
3楼的,看不懂。。。。。。。。。。是在公共事件里加脚本吗 [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
越前リョーマ
时间:
2008-5-24 22:26
MS很难吧……
LZ是要用系统自带的那种战斗系统咯?
那样的话改起来就麻烦了……
如果是事件自制战斗就简单了……(全是废话……)
作者:
Beside
时间:
2008-5-24 22:54
#--------------------------------------------------------------------------
# ● 计算普通攻击造成的伤害
# 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] 伤害乘上某变量加成。
作者:
lyl2008
时间:
2008-5-25 01:43
提示:
作者被禁止或删除 内容自动屏蔽
作者:
zh99998
时间:
2008-5-25 15:27
3楼的,看不懂。。。。。。。。。。是在公共事件里加脚本吗
作者:
天仙玉女
时间:
2008-5-25 15:48
提示:
作者被禁止或删除 内容自动屏蔽
作者:
天蚁
时间:
2008-5-25 17:09
3楼的,看不懂。。。。。。。。。。是在公共事件里加脚本吗
[LINE]1,#dddddd[/LINE]
版主对此帖的评论:『純引=灌水』,积分『-5』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者:
zh99998
时间:
2008-5-25 18:57
以下引用
天仙玉女于2008-5-25 7:48:26
的发言:
放在Game_Battler最後一個end前面
还是看不懂…………这怎么在技能设定里体现出来
作者:
lyl2008
时间:
2008-5-28 04:37
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1