Project1

标题: 如何制作一个能够让敌人持续损失MP的状态效果。 [打印本页]

作者: lxw2008    时间: 2019-4-25 21:32
标题: 如何制作一个能够让敌人持续损失MP的状态效果。
通过修改连续伤害脚本可以做到扣蓝,但我想和连续伤害区分开来,那么如何让一个处于指定的状态下的敌人持续损失MP呢。
作者: sxjkjly8010    时间: 2019-4-25 22:04
盲猜一下可以可以通过这每个敌群设置一个回合结束时触发一次判定的效果?1号敌人处于x号状态时减少x点mp,我三年前就是这么制作被动技能的(虽然楼主是扣mp)
作者: 活气寒露    时间: 2019-4-25 23:04
  1. #==============================================================================
  2. # ** Game_Battler
  3. #------------------------------------------------------------------------------
  4. #  這個類專門用來處理參戰者。 是用於 Game_Actor和 Game_Enemy 的超級類。
  5. #==============================================================================
  6. class Game_Battler
  7.   #--------------------------------------------------------------------------
  8.   # * 應用連續傷害效果(MP)
  9.   #--------------------------------------------------------------------------
  10.   def slip_damage_effect_mp
  11.     if slip_damage? && state?(18)
  12.       @mp_damage = apply_variance(maxmp / 10, 10)
  13.       @mp_damage = @mp - 1 if @mp_damage >= @mp
  14.       self.mp -= @mp_damage
  15.     end
  16.   end
  17. end
  18. #==============================================================================
  19. # ** Game_Unit
  20. #------------------------------------------------------------------------------
  21. #  這個類專門用來操控隊伍。
  22. #  這個類作為 Game_Party 類和 Game_Troop 類的父類使用。
  23. #==============================================================================
  24. class Game_Unit
  25.   #--------------------------------------------------------------------------
  26.   # * 應用連續傷害效果(MP)
  27.   #--------------------------------------------------------------------------
  28.   def slip_damage_effect_mp
  29.     for member in members
  30.       member.slip_damage_effect_mp
  31.     end
  32.   end
  33. end
  34. #==============================================================================
  35. # ** Scene_Battle
  36. #------------------------------------------------------------------------------
  37. #  這個類用來執行顯示作戰畫面的程式。
  38. #==============================================================================
  39. class Scene_Battle < Scene_Base
  40.   #--------------------------------------------------------------------------
  41.   # * 回合結束
  42.   #--------------------------------------------------------------------------
  43.   def turn_end
  44.     $game_troop.turn_ending = true
  45.     $game_party.slip_damage_effect
  46.     $game_troop.slip_damage_effect
  47.     $game_party.slip_damage_effect_mp
  48.     $game_troop.slip_damage_effect_mp
  49.     $game_party.do_auto_recovery
  50.     $game_troop.preemptive = false
  51.     $game_troop.surprise = false
  52.     process_battle_event
  53.     $game_troop.turn_ending = false
  54.     start_party_command_selection
  55.   end
  56. end
复制代码

18号为mp连续伤害,对敌对友都有效果
作者: crow2006    时间: 2019-6-25 10:01
  1. class Game_Enemy < Game_Battler
  2. def sx15 #魔法回复
  3. n = 0
  4. n -= 10 if self.state?(20) #20号状态每回合扣蓝10点
  5. return n
  6. end
  7. end
  8. #我是分界线----------------------------
  9. 在class Scene_Battle < Scene_Base
  10. def turn_end 里面加入:
  11. for member in $game_troop.members
  12.   member.mp += member.sx15
  13. end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1