#============================================================================== # ■ RGSS3 ターゲット使用者化アイテム/スキル Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 一定確率でターゲットが使用者に強制変更される # アイテム/スキルを作成できるようになります。 # 呪われたアイテム/スキル等の作成に向いているかもしれません。 #============================================================================== # アイテム/スキルのメモ欄を使用します。 #------------------------------------------------------------------------------ # <ターゲット使用者化確率:50> # # このアイテム/スキル使用時、50%の確率で # 本来のターゲットではなく使用者自身にアイテム/スキルを発動させます。 #------------------------------------------------------------------------------ # <ターゲット使用者化確率:100-a.level> # # このアイテム/スキル使用時、100-使用者レベルの確率で # 本来のターゲットではなく使用者自身にアイテム/スキルを発動させます。 # ※敵にレベルの概念を追加していない場合、敵が使用すると正常に動作しません。 #------------------------------------------------------------------------------ # <ターゲット使用者化確率:b.luk-a.luk> # # このアイテム/スキル使用時、対象の運-使用者の運の確率で # 本来のターゲットではなく使用者自身にアイテム/スキルを発動させます。 #============================================================================== module TargetSelfChange #ターゲット使用者化確率のキーワード設定。 Word = "ターゲット使用者化確率" end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # アイテム/スキルのターゲット使用者化判定 #-------------------------------------------------------------------------- def target_self_change(target,item) a = self b = target begin r = eval(item.target_self_change) rescue p item.name + "使用時のターゲット使用者化確率に問題があります。確認して下さい。" p "エラーの出た計算式は「" + item.target_self_change + "」です。" r = 0 end r > rand(100) ? a : b end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # アイテム/スキルの発動 #-------------------------------------------------------------------------- alias invoke_item_target_self_change invoke_item def invoke_item(target, item) true_target = @subject.target_self_change(target,item) invoke_item_target_self_change(true_target, item) end end class RPG::UsableItem < RPG::BaseItem #-------------------------------------------------------------------------- # ターゲット使用者化確率 #-------------------------------------------------------------------------- def target_self_change @target_self_change ||= /<#{TargetSelfChange::Word}[::](\S+)>/ =~ note ? $1.to_s : "0" end end