#============================================================================== # ■ RGSS3 アニメーション後効果対象変更 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # アイテム・スキルの本来の指定対象にアニメーション表示後 # 効果対象を「使用者」もしくは「なし」に変更します。 # 敵全体に煙のアニメーションを発生させた後 # 味方全体を逃走(戦闘の中断)させるようなコモンイベントを設定することで # 『煙玉』のようなアイテムを作成することができます。 # # 例1 # アイテム・スキルのメモ欄に<使用者ターゲット化1>と書き込んだ場合 # アイテム・スキルで本来指定した対象にアニメーションが発生した後 # その効果は使用対象に一度だけ発生する。 # なお、この場合はアイテム・スキルの連続回数は無視される。 # # 例2 # アイテム・スキルのメモ欄に<使用者ターゲット化2>と書き込んだ場合 # アイテム・スキルで本来指定した対象にアニメーションが発生した後 # その効果は使用対象に一度だけ発生する。 # <使用者ターゲット化1>の場合と違い # 本来の効果発生回数分だけ効果が発生する。 # (ターゲット数2・連続回数2の場合4回発生) # # 例3 # アイテム・スキルのメモ欄に<ターゲットなし>と書き込んだ場合 # アイテム・スキルで本来指定した対象にアニメーションが発生した後 # 誰に対しても本来の効果は発揮されない。 # (ただし、コモンイベントは発生する) # #============================================================================== module EX_TC WORD1 = "<使用者ターゲット化1>" WORD2 = "<使用者ターゲット化2>" WORD3 = "<ターゲットなし>" end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● スキル/アイテムの発動 #-------------------------------------------------------------------------- alias invoke_item_self_change invoke_item def invoke_item(target, item) if @number_limit == nil invoke_item_self_change(target, item) elsif @number_limit == -1 invoke_item_self_change(@subject, item) elsif @number_limit == 0 return elsif @number_limit == 1 @number_limit -= 1 return if @subject == nil invoke_item_self_change(@subject, item) end end #-------------------------------------------------------------------------- # ● スキル/アイテムの使用 #-------------------------------------------------------------------------- alias use_item_self_change use_item def use_item if @subject.current_action.item.extc == 1 @number_limit = 1 elsif @subject.current_action.item.extc == 2 @number_limit = -1 elsif @subject.current_action.item.extc == 3 @number_limit = 0 end use_item_self_change @number_limit = nil end end class RPG::UsableItem < RPG::BaseItem def extc return @extc if @extc != nil if self.note.include?(EX_TC::WORD1) @extc = 1 elsif self.note.include?(EX_TC::WORD2) @extc = 2 elsif self.note.include?(EX_TC::WORD3) @extc = 3 else @extc = false end return @extc end end