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

Project1

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

关于战斗特殊效果中的援助:如何固定援助的对象

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
90
在线时间
216 小时
注册时间
2007-9-5
帖子
370
跳转到指定楼层
1
发表于 2008-11-25 20:26:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何让援助的对象只限于1号角色,也就是说只有$game_actors[1]才是援助对象,其他角色不会被援助



战斗特殊效果
http://rpg.blue/web/htm/news184.htm



好像这一段是描写关于援助的:
  1. class Scene_Battle
  2. #追加
  3. attr_reader :active_battler
  4. #ここまで
  5. ##新メソッド
  6. def make_cover_skill_action_result
  7. cover_num = 0
  8. cover_bool = false
  9. for i in @skill.element_set
  10. if !($data_system.elements[i][/^#{ELEMENT_NAME_COVER}/].nil?)
  11. cover_bool = true
  12. elm_num = $data_system.elements[i][/([+-]*[0-9]+)/]
  13. if !(elm_num.nil?)
  14. cover_num += elm_num.to_i
  15. end
  16. end
  17. end

  18. if cover_bool.equal?(true)
  19. ##自分のみが対象だった場合は味方からランダムに1人をかばう
  20. if @target_battlers.include?(@active_battler)
  21. if @target_battlers.size == 1
  22. if @target_battlers[0].is_a?(Game_Actor)
  23. friends = $game_party.actors.dup
  24. friends.delete(@active_battler)
  25. @target_battlers = [friends[rand(friends.size)]]
  26. elsif @target_battlers[0].is_a?(Game_Enemy)
  27. friends = $game_troop.enemies.dup
  28. friends.delete(@active_battler)
  29. @target_battlers = [friends[rand(friends.size)]]
  30. end
  31. else
  32. @target_battlers.delete(@active_battler)
  33. end
  34. end

  35. @active_battler.covered_friends = @target_battlers.dup
  36. @active_battler.add_state(get_cover_state_id())##ステート付加時にデフォルト回数で発動回数が設定される
  37. if (cover_num > 0)
  38. @active_battler.cover_remain = cover_num#発動回数が有った場合はその回数で上書き
  39. end
  40. for target in @target_battlers
  41. target.damage = COVER_EFFECT_CHAR
  42. end
  43. end
  44. end
  45. ##ここまで
  46. end

  47. class Game_Party
  48. ##追加エイリアス
  49. include Cover_Module
  50. #--------------------------------------------------------------------------
  51. # ● 対象アクターのスムーズな決定
  52. # actor_index : アクターインデックス
  53. #--------------------------------------------------------------------------

  54. alias before_cover_original_smooth_target_actor smooth_target_actor

  55. def smooth_target_actor(actor_index)
  56. if $scene.is_a?(Scene_Battle)
  57. battler = $scene.active_battler()
  58. else
  59. battler = nil
  60. end

  61. target = [before_cover_original_smooth_target_actor(actor_index)]
  62. get_target_battlers_after_cover!(target, battler)

  63. return target[0]
  64. end
  65. ##ここまで
  66. end

  67. class Game_Troop
  68. ##追加エイリアス
  69. include Cover_Module
  70. #--------------------------------------------------------------------------
  71. # ● 対象エネミーのスムーズな決定
  72. # enemy_index : エネミーインデックス
  73. #--------------------------------------------------------------------------

  74. alias before_cover_original_smooth_target_enemy smooth_target_enemy

  75. def smooth_target_enemy(enemy_index)
  76. if $scene.is_a?(Scene_Battle)
  77. battler = $scene.active_battler()
  78. else
  79. battler = nil
  80. end

  81. target = [before_cover_original_smooth_target_enemy(enemy_index)]
  82. get_target_battlers_after_cover!(target, battler)

  83. return target[0]
  84. end
  85. ##ここまで
  86. end
复制代码
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2025-1-21 04:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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