# # スキルを受けると解除するステート #  (C)2007 TYPE74RX-T # # ★ カスタマイズポイント:9行目 module RX_T SKILL_REMOVE_NAME = "スキル解除" # ★ 属性名はお好みで変更して下さい。 #-------------------------------------------------------------------------- # ● 配列に指定名を含む属性と数値があれば配列内の数値を返す #-------------------------------------------------------------------------- def RX_T.get_num_from_element(el_set, state_name) numeric = 1 for i in 0...el_set.size if $data_system.elements[el_set[i]].include?(state_name) # ステート名から数字を抜き出す numeric = $data_system.elements[el_set[i]].scan(/[\d\-]+/) # 抜き出した数字文字列を数値に変える numeric = numeric[0].to_i break end end return numeric end end #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ #  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ # スのスーパークラスとして使用されます。 #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● スキルの効果適用 # user : スキルの使用者 (バトラー) # skill : スキル #-------------------------------------------------------------------------- alias rx_rgssb17_skill_effect skill_effect def skill_effect(user, skill) # ★ ステート解除処理 for i in self.states.clone # スキルを受けると解除する属性(属性防御)が含まれていれば解除率を取得 rx_remove_pst = RX_T.get_num_from_element($data_states[i].guard_element_set, RX_T::SKILL_REMOVE_NAME) # ステートを特定の確率で解除 if rand(100) < rx_remove_pst self.remove_state(i) end end # メソッドを呼び戻す rx_rgssb17_skill_effect(user, skill) end end