#============================================================================== # ■ RGSS3 TP増加反転&分散値設定 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # そのアイテム/スキルに設定されたTP増加を減少効果にする「TP増加反転」と # TP増加に分散度を適用する「TP増加分散度」を設定できるようになります。 # これにより、本来設定できない「TP減少攻撃」等が作成可能になります。 #============================================================================== # ★設定例 #------------------------------------------------------------------------------ # アイテム/スキルにと書き込んだ場合 # そのアイテム/スキルでのTP増加効果はマイナスとして扱われます。 #------------------------------------------------------------------------------ # 特徴を有する項目にと書き込んだ場合 # TP増加の効果に分散度50が適用されます。 #============================================================================== module TPR_E_CHANGE #TP増加反転設定用のキーワードを指定する。 WORD1 = "TP増加反転" #TP増加分散度設定用のキーワードを指定する。 WORD2 = "TP増加分散度" end class RPG::UsableItem < RPG::BaseItem #-------------------------------------------------------------------------- # TP増加反転 #-------------------------------------------------------------------------- def tpr_reverse #キャッシュが存在する場合はキャッシュを返す。 (@tpr_reverse ||= self.note.include?(TPR_E_CHANGE::WORD1) ? 1 : 0) == 1 end #-------------------------------------------------------------------------- # TP増加分散度 #-------------------------------------------------------------------------- def tpr_variance #キャッシュが存在する場合はキャッシュを返す。 @tpr_variance ||= /<#{TPR_E_CHANGE::WORD2}[::](\d+)>/ =~ note ? $1.to_i : 0 end end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # 使用効果[TP 増加] #-------------------------------------------------------------------------- alias item_effect_gain_tp_tpr_rev_var item_effect_gain_tp def item_effect_gain_tp(user, item, effect) #効果を複製する。 neo_effect = effect.clone #反転する場合は-1で効果値を乗算する。 neo_effect.value1 *= -1 if item.tpr_reverse #TP増加分散度を適用する。 neo_effect.value1 = apply_variance(neo_effect.value1, item.tpr_variance) #本来の処理を実行する。 item_effect_gain_tp_tpr_rev_var(user, item, neo_effect) end end