Project1

标题: 某BOSS每隔6回合变成第二形态,第二形态受到伤害是0并反击 [打印本页]

作者: qq19750508    时间: 2015-3-6 18:18
标题: 某BOSS每隔6回合变成第二形态,第二形态受到伤害是0并反击
标题太长。

就是说我要一个BOSS,这个BOSS每隔6回合会变身为第二形态,且3回合后变回第一形态
第一形态可以被攻击,造成伤害,且使用技能也不一定;
第二形态的话呢,就是如果它被攻击,伤害是0,并且用y号技能攻击任意一个目标。(但是只有被攻击的话,第二形态才会发动y号技能。在平常,没有被攻击的时候第二形态是不会发动y号技能的。)
第二形态介绍的“被攻击”包括被技能攻击,请注意。
作者: taroxd    时间: 2015-3-6 18:29
“敌人变身”可以满足条件啊。
第二形态只要大量提高防御力就好了。或者搜索一下“无敌状态”之类的关键词
作者: qq19750508    时间: 2015-3-8 13:11
@VIPArcher @taroxd 求具体方法
作者: 三途亚梦    时间: 2015-3-8 14:42
本帖最后由 三途亚梦 于 2015-3-8 14:45 编辑

{
RUBY 代码复制
  1. #==============================================================================
  2. # +++ 自定义敌人反击技能的id +++
  3. #==============================================================================
  4. # 提问区应求脚本 By 三途亚梦
  5. # 脚本原地址:[url]https://rpg.blue/thread-377264-1-1.html[/url]
  6. #==============================================================================
  7. # ★ 在数据库敌人中备注 反击技能:x 就是将该敌人反击时所使用的技能变成id为x的技能。
  8. # 备注:反击技能:20 就是该敌人的反击技能是扫堂腿。
  9. #==============================================================================
  10. class RPG::Enemy < RPG::BaseItem
  11.   #--------------------------------------------------------------------------
  12.   # ● 获取敌人的反击技能ID
  13.   #--------------------------------------------------------------------------
  14.   def invoke_skill_id
  15.     self.note.each_line{|line|
  16.       return $1.to_i if line =~ /反击技能:(\d+)/i
  17.     }
  18.     return 1
  19.   end
  20. end
  21. #==============================================================================
  22. # ■ Scene_Battle
  23. #------------------------------------------------------------------------------
  24. #  战斗画面
  25. #==============================================================================
  26. class Scene_Battle < Scene_Base
  27.   #--------------------------------------------------------------------------
  28.   # ● 发动反击
  29.   #--------------------------------------------------------------------------
  30.   alias amu_20150308_invoke_counter_attack invoke_counter_attack
  31.   def invoke_counter_attack(target, item)
  32.     if target.is_a?(Game_Enemy)
  33.       @log_window.display_counter(target, item)
  34.       skill = $data_skills[$data_enemies[target.enemy_id].invoke_skill_id]
  35.       @subject.item_apply(target, skill)
  36.       refresh_status
  37.       @log_window.display_action_results(@subject, skill)
  38.     else
  39.       amu_20150308_invoke_counter_attack(target, item)
  40.     end
  41.   end
  42. end

作者: qq19750508    时间: 2015-3-8 16:40
最后是事件的零碎处理
感谢三途亚梦大神!
问题已经解决
作者: taroxd    时间: 2015-3-8 16:43
三途亚梦 发表于 2015-3-8 14:42
{#==============================================================================
# +++ 自定义敌人反 ...


原来是要这个功能……我还以为要写好整个系统呢

http://taroxd.github.io/rgss/%E6 ... 89%A9%E5%B1%95.html

这不就是嘛………………




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