#============================================================================== # ○ダメージ変数倍 Ver1.01 # for RGSS2 # 西瓜 / Space not far # http://muspell.raindrop.jp/ # スキルの基本ダメージを指定した変数倍にするスクリプトです。 #============================================================================== # ■更新履歴 # Ver1.01 # ・変数加算の機能を追加。 #============================================================================== # 変数倍したいスキルのメモ欄に<変数倍or変数%:変数ID> # という形式で記述してください。 # 「変数倍」なら指定IDの変数の値が乗算され、 # 「変数%」なら乗算された後100で除算され、 # 「変数加算」なら加算されます。 # 変数に歩数を代入し、基本ダメージを「1」に、 # 分散度と各関係度を「0」にすることで、FFの歩数ダメージが作れたりします。 =begin ●設定例 <変数倍:10>  → 基本ダメージに\V[10]倍になる <変数%:25>  → 基本ダメージが\V[25]%になる <変数加算:50>  → 基本ダメージに+\V[50]される =end class Game_Battler VARIABLE_BASEDAMAGE_WORD = "変数倍" VARIABLE_BASEDAMAGE_WORD2 = "変数%" VARIABLE_BASEDAMAGE_WORD3 = "変数加算" #-------------------------------------------------------------------------- # ● スキルまたはアイテムによるダメージ計算 # user : スキルまたはアイテムの使用者 # obj : スキルまたはアイテム # 結果は @hp_damage または @mp_damage に代入する。 #-------------------------------------------------------------------------- alias snf_variable_make_obj_damage_value make_obj_damage_value def make_obj_damage_value(user, obj) default_base_damage = obj.base_damage memo = obj.note.scan(/<#{VARIABLE_BASEDAMAGE_WORD}:(\S+)>/) memo = memo.flatten if memo != nil and not memo.empty? # 変数倍 obj.base_damage *= $game_variables[memo[0].to_i] end memo = obj.note.scan(/<#{VARIABLE_BASEDAMAGE_WORD2}:(\S+)>/) memo = memo.flatten if memo != nil and not memo.empty? # 変数% obj.base_damage *= $game_variables[memo[0].to_i] obj.base_damage /= 100 end memo = obj.note.scan(/<#{VARIABLE_BASEDAMAGE_WORD3}:(\S+)>/) memo = memo.flatten if memo != nil and not memo.empty? # 変数加算 obj.base_damage += $game_variables[memo[0].to_i] end snf_variable_make_obj_damage_value(user, obj) obj.base_damage = default_base_damage end end