本帖最后由 纯属小虫 于 2022-6-28 12:52 编辑 第一,角色无法攻击敌人 第一种方法比较简单,就是直接在对应状态里选择“什么都不做”,就行了 但不知道你所谓的“无法攻击敌人”是不是这个意思 如果要实现无法使用“攻击”,以及一切“攻击技能”,那估计有的调的了.... 有一个思路,可能要在技能的can_use?里面动手脚,添加条件:actor拥有这个状态,且技能的威力>0,则该技能判定不可使用 第二,不会受到敌人的伤害 如果只是“不会受到敌人攻击或技能的伤害” 在Game_Battler 3 里面找到 “HP 的伤害计算”注释 ————注意,有三处这个判定::一个是普通攻击判定,一个是特技判定,一个是使用物品判定;这种情况应该只要改前两者的就行 self.hp -= self.damage 在其【前面】添加 if self.states.include?(状态id) self.damage = 0 end 如果还要添加,毒之类的持续伤害免疫的话 还要在slip_damage_effect 定义(应用连续伤害效果)里修改 在self.hp -= self.damage 之前添加 if self.states.include?(状态id) self.damage = 0 end 如果不想显示伤害数字或者想要魔改伤害数字的话 把红字部分改成 self.damage = "" 或 self.damage = "I am your dad!" 然后把橙字改成 self.hp -= self.damage unless self.damage.is_a?(String) 如果还要考虑是否对【恢复】性质的技能免疫的话 则对 self.damage 再进行一个>=0 和 <0 的判断; self.damage >=0 的时候才会执行 if self.states.include?(状态id) self.damage = 0 end 这样一来,无敌状态不会扣血,但是能够回血 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-28 10:21
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.