#==============================================================================
# ■ [Skill Scope] 技能增强-技能范围扩展 v1.0 by SailCat
# /req [Battle Static] 战斗增强静态核心 v1.0
# /req [Data Note] 数据库通用备注接口 v2.3
# /aft [Window Info]
#------------------------------------------------------------------------------
# 方法:本脚本插入到Main之前、并在所有依赖项之后使用
# 依赖:
# 1. 数据库通用备注接口插件(狂野模式打开)
# 2. 战斗增强静态核心插件
# 版本:v1.0 (Build 220202)
# 效果:
# 1. 除默认的8种外,可额外设定13种技能(包括特技、道具、普攻)的作用范围
# 2. 当战斗者的限制为[普通攻击敌人]或[普通攻击同伴]时,可以智能调整作用范围
# 即[普通攻击敌人]会将指向对象改为随机对象,[普通攻击同伴]除将指向对象改
# 为随机对象外,还会将敌我双方的概念反转或者泛化
# 配置:
# 1. 是否对作用范围智能调整
# 2. 作用范围的说明词汇(需要窗口增强-详情窗口插件的支持)
# 冲突:其他同类脚本
# 说明:
# 1. 技能范围扩展在数据库的“特技”、“道具”、“武器”选项卡中设定,方法为
# scope=范围
# 范围的有效取值表见下表说明
# 以下说明的“限制为[普通攻击敌人]”和“限制为[普通攻击同伴]”的范围,
# 需要打开插件中的“范围智能调整”配置项,否则按基础引擎默认的范围来处理
# 有效范围值 默认作用对象 限制为[普通攻击敌人] 限制为[普通攻击同伴]
# ----------------------------------------------------------------------
# -3 战场脚本指定 战场脚本指定 战场脚本指定
# -2 我方脚本指定 我方脚本指定 敌方脚本指定
# -1 敌方脚本指定 敌方脚本指定 我方脚本指定
# 0 无效 无效 无效
# 1 敌方选定单体 敌方随机单体 我方随机单体
# 2 敌方全体 敌方全体 我方全体
# 3 我方选定单体 我方随机单体 敌方随机单体
# 4 我方全体 我方全体 敌方全体
# 5 我方选定HP0 我方随机HP0 敌方随机HP0
# 6 我方全体HP0 我方全体HP0 敌方全体HP0
# 7 自己 自己 敌方随机单体
# 8 敌方全体HP0 敌方全体HP0 我方全体HP0
# 9 战场全体 战场全体 战场全体
# 10 战场全体HP0 战场全体HP0 战场全体HP0
# 11 敌方全体除选定 敌方全体去随机一人 我方全体去随机一人
# 12,22,32..敌方随机 n 人 敌方随机 n 人 我方随机 n 人
# 13 我方全体除选定 我方全体去随机一人 敌方全体去随机一人
# 14,24,34..我方随机 n 人 我方随机 n 人 敌方随机 n 人
# 15 我全体HP0除选定我全体HP0去随机一人 敌全体HP0去随机一人
# 16,26,36..我随机HP0 n 人 我随机HP0 n 人 敌随机HP0 n 人
# 17 我方其他人 我方其他人 敌方全体去随机一人
# 18,28,38..敌随机HP0 n 人 敌随机HP0 n 人 我随机HP0 n 人
# 19,29,39..战场随机 n 人 战场随机 n 人 战场随机 n 人
# 20,30,40..战场随机HP0 n人战场随机HP0 n人 战场随机HP0 n人
# 21 战场全体除选敌 战场全体去敌随机一人 战场全体去我随机一人
# 23 战场全体除选我 战场全体去我随机一人 战场全体去敌随机一人
# 25 战场HP0除选我 战场HP0除选我 战场HP0去敌随机HP0
# 27 战场其他人 战场其他人 战场全体去敌随机一人
# ----------------------------------------------------------------------
# 注:如果打开“范围智能调整”并打开“混乱泛在化”,则[普通攻击同伴]的限
# 制会忽略敌我双方的分别,上表右列中的“我方/敌方”都会变成“战场”
# 2. 当技能范围的值被设为负数时,需要备注一个用来指定选择范围的脚本,方法为
# sf:范围选择脚本
# 脚本需要能返回true或false的值,如果执行失败会默认为false
# 脚本的执行上下文是Game_Battler,注意并不是Game_Actor或Game_Enemy
# 脚本中可以使用a来表示技能的执行者,s表示开关,v表示变量
# 如以下皆为可以合法执行的选择脚本:
# hp < maxhp # 属性和属性取值比较,HP不满
# @hp >= a.hp # 对象和执行者取值比较,HP在执行者HP以上
# index == v[6] # 队列位置和6号变量的值等同
# weapon_id == 5 # 需注意weapon_id对己方和对敌方内涵有区别
# state?(16) # 可直接调用内建的能返回true/false的判定函数
# @immortal # 可直接调用内建的能返回true/false的成员变量
# 脚本的执行逻辑是对指定的范围(-1/-2/-3)中的所有对象(不做存活性筛选)
# 逐一通过指定的脚本进行判定,判定返回true者,会作为对象来处理
# 一个都判定不通过的情况下,技能将因无作用对象而执行失败(公共事件除外)
#==============================================================================