#============================================================================== # ○HP依存スキルダメージ Ver1.01 # for RGSS2 # 西瓜 / Space not far # http://muspell.raindrop.jp/ # 術者の残HPもしくは減HPによって威力が増減するスキルを設定します。 # (※HPダメージのみ) #============================================================================== # ■更新履歴 # Ver1.01 # ・p命令が残っていたので削除。 #============================================================================== # スキルのメモ欄に以下の四タイプのいずれかの記述を行ってください。 # ・<減HP%依存> # 残りHPが 0 に近づくほど、データベースで設定された本来の威力を # 発揮するようになります。 # 例:残りHPが30% => 70%の威力 # ・<残HP%依存> # 減HP依存とは逆に、HPが最大HPに近いほど本来の威力を # 発揮するようになります。 # 例:残りHPが30% => 30%の威力 # ・<威力+減HP:n> # 本来の威力に加えて、減ったHP量 * nがダメージに加算されます。 # 例:<威力+減HP:4>で30ダメージを受けている => ダメージ+120 # ・<威力+残HP:n> # やはり上とは逆に、残りHP量 * nがダメージに加算されます。 # 例:<威力+残HP:4>で残りHPが50 => ダメージ+200 class Game_Battler CALCULATE_DAMAGE_RATE_WORD = "減HP%依存" CALCULATE_HP_RATE_WORD = "残HP%依存" CALCULATE_DAMAGE_PLUS_WORD = "威力+減HP" CALCULATE_HP_PLUS_WORD = "威力+残HP" alias snf_utsurogaeshi_make_obj_damage_value make_obj_damage_value def make_obj_damage_value(user, obj) snf_utsurogaeshi_make_obj_damage_value(user, obj) # 減HP%依存 memo = obj.note.scan(/<#{CALCULATE_DAMAGE_RATE_WORD}>/) memo = memo.flatten if memo != nil and not memo.empty? @hp_damage = @hp_damage * (100 - (user.hp * 100) / user.maxhp) @hp_damage /= 100 end # 残HP%依存 memo = obj.note.scan(/<#{CALCULATE_HP_RATE_WORD}>/) memo = memo.flatten if memo != nil and not memo.empty? @hp_damage = @hp_damage * ((user.hp * 100) / user.maxhp) @hp_damage /= 100 end # 威力+減HP memo = obj.note.scan(/<#{CALCULATE_DAMAGE_PLUS_WORD}:(\S+)>/) memo = memo.flatten if memo != nil and not memo.empty? @hp_damage += memo[0].to_i * (user.maxhp - user.hp ) # 定数*術者ダメージ end # 威力+残HP memo = obj.note.scan(/<#{CALCULATE_HP_PLUS_WORD}:(\S+)>/) memo = memo.flatten if memo != nil and not memo.empty? @hp_damage += memo[0].to_i * user.hp # 定数*術者残りHP end end end