设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2568|回复: 5
打印 上一主题 下一主题

[有事请教] 如何制作一个能够让敌人持续损失MP的状态效果。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
4 小时
注册时间
2019-4-5
帖子
4
跳转到指定楼层
1
发表于 2019-4-25 21:32:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
通过修改连续伤害脚本可以做到扣蓝,但我想和连续伤害区分开来,那么如何让一个处于指定的状态下的敌人持续损失MP呢。

Lv2.观梦者

梦石
0
星屑
582
在线时间
917 小时
注册时间
2013-3-13
帖子
557
4
发表于 2019-6-25 10:01:15 | 只看该作者
  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
复制代码
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
353
在线时间
15 小时
注册时间
2019-4-14
帖子
31
3
发表于 2019-4-25 23:04:26 | 只看该作者
  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连续伤害,对敌对友都有效果
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1057
在线时间
208 小时
注册时间
2019-4-11
帖子
59
2
发表于 2019-4-25 22:04:53 | 只看该作者
盲猜一下可以可以通过这每个敌群设置一个回合结束时触发一次判定的效果?1号敌人处于x号状态时减少x点mp,我三年前就是这么制作被动技能的(虽然楼主是扣mp)

点评

我当时就是复制事件+公共事件,设计一个敌群就设置一个不嫌累的www  发表于 2019-4-26 19:37
每个敌群都设置一次真的好吗...  发表于 2019-4-26 09:04
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 00:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表