Project1
标题:
战斗升级,改进版【已解决】
[打印本页]
作者:
间桐樱
时间:
7 天前
标题:
战斗升级,改进版【已解决】
本帖最后由 间桐樱 于 2025-6-17 09:40 编辑
原贴
https://rpg.blue/thread-496243-1-1.html
以前求助过大佬,在取消等级后,每击败一名敌人自身全属性+1,但考虑到打败boss和打败杂兵都是全属性+1,付出和收获太不匹配,于是改进了,变成打败敌人后,自身全属性增加敌人全属性1%
然后问题又来了,死亡判定失败(.dead?,self.dead?,target.dead?),不是不生效就是报错,不加又不行,会变成每攻击一次敌人,自身全属性增加敌人属性的1%,太bug了,求帮助呀
#--------------------------------------------------------------------------
# ● 计算伤害
#--------------------------------------------------------------------------
def make_damage_value(user, item)
value = item.damage.eval(user, self, $game_variables)
value *= item_element_rate(user, item)
value *= pdr if item.physical?
value *= mdr if item.magical?
value *= rec if item.damage.recover?
value = apply_critical(value) if @result.critical
value = apply_variance(value, item.damage.variance)
value = apply_guard(value)
@result.make_damage(value.to_i, item)
if user.actor? && user.id == 1
user.add_param(0, self.mhp * 0.01)
user.add_param(1, self.mmp * 0.01)
user.add_param(2, self.atk * 0.01)
user.add_param(3, self.def * 0.01)
user.add_param(4, self.mat * 0.01)
user.add_param(5, self.mdf * 0.01)
user.add_param(6, self.agi * 0.01)
user.add_param(7, self.luk * 0.01)
end
end
作者:
百里_飞柳
时间:
7 天前
因为这个方法里只是计算了技能所造成的伤害值,并把数字写入了@result里,但还并没有真正应用伤害,所以敌人也就不存在什么死亡
你需要在这个方法里修改
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● 处理伤害
# 调用前需要设置好
# @result.hp_damage @result.mp_damage
# @result.hp_drain @result.mp_drain
#--------------------------------------------------------------------------
def execute_damage(user)
on_damage(@result.hp_damage) if @result.hp_damage > 0
self.hp -= @result.hp_damage
self.mp -= @result.mp_damage
user.hp += @result.hp_drain
user.mp += @result.mp_drain
# 这里之后才完成了伤害结算
if user.actor? && user.id == 1 && enemy? && dead?
# 这里增加你想要的 1 号角色使用技能击杀当前敌人(self)后的处理
end
end
end
复制代码
作者:
间桐樱
时间:
6 天前
百里_飞柳 发表于 2025-6-16 22:12
因为这个方法里只是计算了技能所造成的伤害值,并把数字写入了@result里,但还并没有真正应用伤害,所以敌 ...
已解决,非常感谢
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1