Project1

标题: (内详)如何添加技能目标选择的运算处理? [打印本页]

作者: saturnfjh    时间: 2015-9-6 11:49
标题: (内详)如何添加技能目标选择的运算处理?
其实不太看得明白默认系统在选择了技能目标后是怎么决定target,请教一下系统运算机制

如果我想达到这样的效果:

一个我方单体的技能,在选择了目标后,如果另一名角色A满足某个条件,就把角色A一同加入目标列表。

应该如何动脚本?
作者: Silentever    时间: 2015-9-6 20:33
  1.   #--------------------------------------------------------------------------
  2.   # ● 生成目标数组
  3.   #--------------------------------------------------------------------------
  4.   def make_targets
  5.     if !forcing && subject.confusion?
  6.       [confusion_target]
  7.     elsif item.for_opponent?
  8.       targets_for_opponents
  9.     elsif item.for_friend?
  10.       targets_for_friends
  11.     else
  12.       []
  13.     end
  14.   end
复制代码
在Game_Action里面处理的,关于Item的方法参考F1文档。
玩家输入的时候会先设置target_index,然后实际执行前会用上面的方法生成对象的数组。
调用的地方是Scene_Battle
  1.   #--------------------------------------------------------------------------
  2.   # ● 使用技能/物品
  3.   #--------------------------------------------------------------------------
  4.   def use_item
  5.     item = @subject.current_action.item
  6.     @log_window.display_use_item(@subject, item)
  7.     @subject.use_item(item)
  8.     refresh_status
  9.     targets = @subject.current_action.make_targets.compact
  10.     show_animation(targets, item.animation_id)
  11.     targets.each {|target| item.repeats.times { invoke_item(target, item) } }
  12.   end
复制代码





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