|
本帖最后由 百里_飞柳 于 2019-6-7 11:07 编辑
- class Scene_Battle
- #--------------------------------------------------------------------------
- # ● 使用技能/物品
- #--------------------------------------------------------------------------
- def use_item
- item = @subject.current_action.item
- @log_window.display_use_item(@subject, item)
- @subject.use_item(item)
- refresh_status
- targets = @subject.current_action.make_targets.compact
- show_animation(targets, item.animation_id)
- targets.each {|target| item.repeats.times { invoke_item(target, item) } }
- end
- end
复制代码
这里面,当前角色 @subject 的当前行动 current_action 调用了生成目标的方法,获得了目标角色的数组,并且去掉了nil
然后该方法在 Game_Action#make_targets,可以看到里面充斥着 Game_Unit#random_target 方法,也就是粗暴地取随机一人……
当然这个取随机是对于 敌人行动 或 多目标技能 的判定,
对于我方角色使用的 单目标技能,是依靠敌人/角色选择窗口获取目标,并记录在了 Game_Action 的 @target_index 里
对于这个变量,在 Game_Action#make_targets 所调用的方法里也可以找到很多处判定
|
评分
-
查看全部评分
|