#============================================================================== # ■ RGSS3 アイテム/スキル別被ダメージTPチャージ率 Ver1.02 by 星潟 #------------------------------------------------------------------------------ # アイテム/スキルでダメージを与えた際 # 相手が得るTPの増加率を個別に増減させる設定が可能になります。 #------------------------------------------------------------------------------ # ★設定方法 #------------------------------------------------------------------------------ #  アイテム/スキルのメモ欄に<被ダメージTPチャージ率:50>と書き込む事で # このアイテム/スキルによる被ダメージTPチャージ率は50%に低下します。 #------------------------------------------------------------------------------ #  アイテム/スキルのメモ欄に<被ダメージTPチャージ率:200>と書き込む事で # このアイテム/スキルによる被ダメージTPチャージ率は200%に増加します。 #============================================================================== # Ver1.01 キャッシュの存在を無視していた問題を修正。 #============================================================================== module IS_TPGAIN_RATE WORD = "被ダメージTPチャージ率" end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ダメージ計算 #-------------------------------------------------------------------------- alias make_damage_value_is_tpgain_rate make_damage_value def make_damage_value(user, item) #アイテムから被ダメージTPチャージ率を取得。 @is_tpgain_rate = item.is_tpgain_rate #本来の処理を実行。 make_damage_value_is_tpgain_rate(user, item) end #-------------------------------------------------------------------------- # 被ダメージによる TP チャージ #-------------------------------------------------------------------------- alias charge_tp_by_damage_is_tpgain_rate charge_tp_by_damage def charge_tp_by_damage(damage_rate) #ダメージレートが0ではなく、被ダメージによるTPチャージ率が100でない場合 #ダメージレートに被ダメージによるTPチャージ率を適用する。 if damage_rate != 0 && @is_tpgain_rate != 100 damage_rate = damage_rate * @is_tpgain_rate damage_rate = (damage_rate.to_f / 100) unless damage_rate == 0 end #本来の処理を実行。 charge_tp_by_damage_is_tpgain_rate(damage_rate) end end class RPG::UsableItem < RPG::BaseItem #-------------------------------------------------------------------------- # 被ダメージによるTPチャージ率 #-------------------------------------------------------------------------- def is_tpgain_rate #キャッシュが存在する場合はキャッシュを返す。 @is_tpgain_rate ||= /<#{IS_TPGAIN_RATE::WORD}[::](\S+)>/ =~ note ? $1.to_i : 100 end end