#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆无敌状态 - KGC_Invincible◆ #_/---------------------------------------------------------------------------- #_/ 在状态中设置个“无敌”二字的状态即可使用。 #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ $imported = {} if $imported == nil $imported["Invincible"] = true if $game_special_states == nil $game_special_states = {} $data_states = load_data("Data/States.rxdata") end # 無敵状態ステートIDa取得 state = $data_states.compact.find { |s| s.name == "无敌" } $game_special_states["invincible"] = state != nil ? state.id : 0 #============================================================================== # ■ Game_Battler (分割定義 2) #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● ステート [無敵] 判定 # act : 処理対象 #-------------------------------------------------------------------------- def invincible?(act = nil) # ステート[無敵]が付加されている場合 if self.states.include?($game_special_states["invincible"]) # 処理対象で分岐 case act when RPG::Skill return true if act.scope == 1 || act.scope == 2 when RPG::Item return true if act.scope == 1 || act.scope == 2 when nil return true end end return false end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Game_Battler (分割定義 3) #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● 通常攻撃の効果適用 #-------------------------------------------------------------------------- alias attack_effect_KGC_Invincible attack_effect def attack_effect(attacker) # 無敵状態の場合 if self.invincible? # ダメージに "Miss" を設定 self.damage = "Miss" # クリティカルフラグをクリア self.critical = false # 偽を返す return false end # 元の処理を実行 return attack_effect_KGC_Invincible(attacker) end #-------------------------------------------------------------------------- # ● スキルの効果適用 #-------------------------------------------------------------------------- alias skill_effect_KGC_Invincible skill_effect def skill_effect(user, skill) # 無敵状態の場合 if self.invincible?(skill) # ダメージに "Miss" を設定 self.damage = "Miss" # クリティカルフラグをクリア self.critical = false # 偽を返す return false end # 元の処理を実行 return skill_effect_KGC_Invincible(user, skill) end #-------------------------------------------------------------------------- # ● アイテムの効果適用 #-------------------------------------------------------------------------- alias item_effect_KGC_Invincible item_effect def item_effect(item) # 無敵状態の場合 if self.invincible?(item) # ダメージに "Miss" を設定 self.damage = "Miss" # クリティカルフラグをクリア self.critical = false # 偽を返す return false end # 元の処理を実行 return item_effect_KGC_Invincible(item) end end