| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 12 | 
 
| 积分 | 1 | 
 
| 经验 | 5827 | 
 
| 最后登录 | 2020-5-5 | 
 
| 在线时间 | 116 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 55 
 
        - 在线时间
 - 116 小时
 
        - 注册时间
 - 2008-5-12
 
        - 帖子
 - 264
 
 
 
 | 
	
这个东西问的人很多了,其实你只要一搜索就能找到了- #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 
 - #_/    ◆ パッシブスキル - KGC_PassiveSkill ◆ VX ◆
 
 - #_/    ◇ Last update : 2008/11/16 ◇
 
 - #_/----------------------------------------------------------------------------
 
 - #_/  習得するだけで能力値上昇効果を発揮するスキルを作成します。
 
 - #_/============================================================================
 
 - #_/ 【基本機能】≪200x/XP 機能再現≫ より下に導入してください。
 
 - #_/ 【装備】≪装備品オプション追加≫ より下に導入してください。
 
 - #_/ 【装備】≪装備拡張≫ より下に導入してください。
 
 - #_/   <パッシブスキル>
 
 - #_/   MAXHP +10%
 
 - #_/   MAXMP -5%
 
 - #_/   攻撃力 +30
 
 - #_/   攻撃属性 10,11
 
 - #_/   付加ステート 2
 
 - #_/   無効化ステート 3,4,5
 
 - #_/   クリティカル防止
 
 - #_/   全体攻撃
 
 - #_/   4回攻撃
 
 - #_/   属性耐性 10:50%
 
 - #_/   属性耐性 15:-100%
 
 - #_/   ステート耐性 2:50%
 
 - #_/   </パッシブスキル>
 
 - #_/
 
 - #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 
  
- $imported = {} if $imported == nil
 
 - $imported["PassiveSkill"] = true
 
  
- module KGC
 
 - module PassiveSkill
 
 -   # パッシブスキル用パラメータリスト
 
 -   PARAMS = {
 
 -     :maxhp => "MAXHP|最大HP",
 
 -     :maxmp => "MAXMP|最大MP",
 
 -     :atk   => "ATK|攻击力",
 
 -     :def   => "DEF|防御力",
 
 -     :spi   => "SPI|智谋力",
 
 -     :agi   => "AGI|敏捷力",
 
 -     :hit   => "HIT|命中率",
 
 -     :eva   => "EVA|回避率",
 
 -     :cri   => "CRI|爆击率",
 
 -     :odds  => "ODDS|受击率",
 
 -   }
 
  
-   # パッシブスキル用属性・ステートリスト
 
 -   ARRAYS = {
 
 -     :attack_element => "ATTACK_ELEMENT|攻击属性",
 
 -     :plus_state     => "PLUS_STATE|付加状态",
 
 -     :invalid_state  => "INVALID_STATE|无效化状态",
 
 -     :auto_state     => "AUTO_STATE|自动状态",
 
 -   }
 
  
-   # パッシブスキル用耐性リスト
 
 -   RESISTANCES = {
 
 -     # ≪装備品オプション追加≫
 
 -     :element => "ELEMENT_RESISTANCE|属性耐性",
 
 -     :state   => "STATE_RESISTANCE|状态耐性",
 
 -   }
 
  
-   # パッシブスキル用特殊効果リスト
 
 -   EFFECTS = {
 
 -     # デフォ
 
 -     :two_swords_style => "TWO_SWORDS_STYLE|二刀流",
 
 -     :auto_battle      => "AUTO_BATTLE|自动战斗",
 
 -     :super_guard      => "SUPER_GUARD|强力防御",
 
 -     :pharmacology     => "PHARMACOLOGY|药物知识",
 
 -     :fast_attack      => "FAST_ATTACK|回合内内先制",
 
 -     :dual_attack      => "DUAL_ATTACK|连续攻击",
 
 -     :critical_bonus   => "CRITICAL_BONUS|爆击频发",
 
 -     :prevent_critical => "PREVENT_CRITICAL|爆击防止",
 
 -     :half_mp_cost     => "HALF_MP_COST|消耗MP减半",
 
 -     :double_exp_gain  => "DOUBLE_EXP_GAIN|取得经验值[2]倍",
 
 -     # ≪200x/XP 機能再現≫
 
 -     :whole_attack => "WHOLE_ATTACK|全体攻击",
 
 -     :ignore_eva   => "IGNORE_EVA|回避无视",
 
 -     # ≪装備品オプション追加≫
 
 -     :multi_attack_count => '(\d+)\s*(?:TIMES_ATTACK|回攻撃)',
 
 -   }
 
  
-   # 正規表現
 
 -   module Regexp
 
 -     # スキル
 
 -     module Skill
 
 -       # パッシブスキル開始
 
 -       BEGIN_PASSIVE = /<(?:PASSIVE_SKILL|パッシブスキル)>/i
 
 -       # パッシブスキル終了
 
 -       END_PASSIVE = /<\/(?:PASSIVE_SKILL|パッシブスキル)>/i
 
  
-       # パラメータ修正
 
 -       #  MAXHP +20  など
 
 -       PASSIVE_PARAMS = /^\s*([^:\+\-\d\s]+)\s*([\+\-]\d+)([%%])?\s*$/
 
 -       # 属性・ステートリスト
 
 -       #  攻撃属性 1,2,3  など
 
 -       PASSIVE_ARRAYS = /^\s*([^:\+\-\d\s]+)\s*(\d+(?:\s*,\s*\d+)*)\s*$/
 
 -       # 耐性
 
 -       PASSIVE_RESISTANCES = /^\s*([^:\+\-\d\s]+)\s(\d+):(\-?\d+)[%%]?\s*$/
 
 -       # 特殊効果
 
 -       PASSIVE_EFFECTS = /^\s*([^:\+\-\d\s]+)/
 
 -     end
 
 -   end
 
 - end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # □ KGC::Commands
 
 - #==============================================================================
 
  
- module KGC
 
 - module Commands
 
 -   module_function
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの修正値を再設定
 
 -   #--------------------------------------------------------------------------
 
 -   def restore_passive_rev
 
 -     (1...$data_actors.size).each { |i|
 
 -       actor = $game_actors[i]
 
 -       actor.restore_passive_rev
 
 -     }
 
 -   end
 
 - end
 
 - end
 
  
- class Game_Interpreter
 
 -   include KGC::Commands
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ RPG::Skill
 
 - #==============================================================================
 
  
- class RPG::Skill < RPG::UsableItem
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルのキャッシュを生成
 
 -   #--------------------------------------------------------------------------
 
 -   def create_passive_skill_cache
 
 -     @__passive = false
 
 -     @__passive_params = {}
 
 -     @__passive_params_rate = {}
 
 -     @__passive_arrays = {}
 
 -     @__passive_resistances = {}
 
 -     @__passive_effects = { :multi_attack_count => 1 }
 
  
-     passive_flag = false
 
 -     self.note.each_line { |line|
 
 -       case line
 
 -       when KGC::PassiveSkill::Regexp::Skill::BEGIN_PASSIVE
 
 -         # パッシブスキル定義開始
 
 -         passive_flag = true
 
 -         @__passive = true
 
 -       when KGC::PassiveSkill::Regexp::Skill::END_PASSIVE
 
 -         # パッシブスキル定義終了
 
 -         passive_flag = false
 
 -       when KGC::PassiveSkill::Regexp::Skill::PASSIVE_PARAMS
 
 -         # 能力値修正
 
 -         if passive_flag
 
 -           apply_passive_params($1, $2.to_i, $3 != nil)
 
 -         end
 
 -       when KGC::PassiveSkill::Regexp::Skill::PASSIVE_ARRAYS
 
 -         # 属性・ステート
 
 -         if passive_flag
 
 -           apply_passive_arrays($1, $2.scan(/\d+/))
 
 -         end
 
 -       when KGC::PassiveSkill::Regexp::Skill::PASSIVE_RESISTANCES
 
 -         # 耐性
 
 -         if passive_flag
 
 -           apply_passive_resistances($1, $2.to_i, $3.to_i)
 
 -         end
 
 -       else
 
 -         # 特殊効果
 
 -         if passive_flag
 
 -           apply_passive_effects(line)
 
 -         end
 
 -       end
 
 -     }
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの能力値修正を適用
 
 -   #     param : 対象パラメータ
 
 -   #     value : 修正値
 
 -   #     rate  : true なら % 指定
 
 -   #--------------------------------------------------------------------------
 
 -   def apply_passive_params(param, value, rate)
 
 -     KGC::PassiveSkill::PARAMS.each { |k, v|
 
 -       if param =~ /(?:#{v})/i
 
 -         if rate
 
 -           @__passive_params_rate[k] = 0 if @__passive_params_rate[k] == nil
 
 -           @__passive_params_rate[k] += value
 
 -         else
 
 -           @__passive_params[k] = 0 if @__passive_params[k] == nil
 
 -           @__passive_params[k] += value
 
 -         end
 
 -         break
 
 -       end
 
 -     }
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの追加属性・ステートを適用
 
 -   #     param : 対象パラメータ
 
 -   #     list  : 属性・ステート一覧
 
 -   #--------------------------------------------------------------------------
 
 -   def apply_passive_arrays(param, list)
 
 -     KGC::PassiveSkill::ARRAYS.each { |k, v|
 
 -       if param =~ /(?:#{v})/i
 
 -         values = []
 
 -         list.each { |num| values << num.to_i }
 
 -         @__passive_arrays[k] = [] if @__passive_arrays[k] == nil
 
 -         @__passive_arrays[k] |= values
 
 -         break
 
 -       end
 
 -     }
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの耐性を適用
 
 -   #     param : 対象パラメータ
 
 -   #     id    : 属性・ステート ID
 
 -   #     rate  : 変動率
 
 -   #--------------------------------------------------------------------------
 
 -   def apply_passive_resistances(param, id, rate)
 
 -     KGC::PassiveSkill::RESISTANCES.each { |k, v|
 
 -       if param =~ /(?:#{v})/i
 
 -         if @__passive_resistances[k] == nil
 
 -           @__passive_resistances[k] = []
 
 -         end
 
 -         n = @__passive_resistances[k][id]
 
 -         n = 100 if n == nil
 
 -         @__passive_resistances[k][id] = n + rate - 100
 
 -         break
 
 -       end
 
 -     }
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの特殊効果を適用
 
 -   #     effect : 対象効果
 
 -   #--------------------------------------------------------------------------
 
 -   def apply_passive_effects(effect)
 
 -     KGC::PassiveSkill::EFFECTS.each { |k, v|
 
 -       if effect =~ /^\s*(#{v})/i
 
 -         case k
 
 -         when :multi_attack_count
 
 -           # 攻撃回数
 
 -           $1 =~ /#{v}/i
 
 -           @__passive_effects[k] = [ $1.to_i, @__passive_effects[k] ].max
 
 -         else
 
 -           @__passive_effects[k] = true
 
 -         end
 
 -         break
 
 -       end
 
 -     }
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルであるか
 
 -   #--------------------------------------------------------------------------
 
 -   def passive
 
 -     create_passive_skill_cache if @__passive == nil
 
 -     return @__passive
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの能力値修正 (即値)
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_params
 
 -     create_passive_skill_cache if @__passive_params == nil
 
 -     return @__passive_params
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの能力値修正 (割合)
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_params_rate
 
 -     create_passive_skill_cache if @__passive_params_rate == nil
 
 -     return @__passive_params_rate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの属性・ステートリスト
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_arrays
 
 -     create_passive_skill_cache if @__passive_arrays == nil
 
 -     return @__passive_arrays
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの耐性リスト
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_resistances
 
 -     create_passive_skill_cache if @__passive_resistances == nil
 
 -     return @__passive_resistances
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの特殊効果リスト
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_effects
 
 -     create_passive_skill_cache if @__passive_effects == nil
 
 -     return @__passive_effects
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ Game_Actor
 
 - #==============================================================================
 
  
- class Game_Actor < Game_Battler
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ クラス変数
 
 -   #--------------------------------------------------------------------------
 
 -   @@passive_equip_test = false  # パッシブスキル用装備テストフラグ
 
 -   #--------------------------------------------------------------------------
 
 -   # ● セットアップ
 
 -   #     actor_id : アクター ID
 
 -   #--------------------------------------------------------------------------
 
 -   alias setup_KGC_PassiveSkill setup
 
 -   def setup(actor_id)
 
 -     reset_passive_rev
 
  
-     setup_KGC_PassiveSkill(actor_id)
 
  
-     restore_passive_rev
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの修正値を初期化
 
 -   #--------------------------------------------------------------------------
 
 -   def reset_passive_rev
 
 -     @passive_params = {}
 
 -     @passive_params_rate = {}
 
 -     @passive_arrays = {}
 
 -     @passive_resistances = {}
 
 -     @passive_effects = {}
 
 -     KGC::PassiveSkill::PARAMS.each_key { |k|
 
 -       @passive_params[k] = 0
 
 -       @passive_params_rate[k] = 100
 
 -     }
 
 -     KGC::PassiveSkill::ARRAYS.each_key { |k| @passive_arrays[k] = [] }
 
 -     KGC::PassiveSkill::RESISTANCES.each_key { |k| @passive_resistances[k] = [] }
 
 -     KGC::PassiveSkill::EFFECTS.each_key { |k| @passive_effects[k] = false }
 
 -     @passive_effects[:multi_attack_count] = 1
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルの修正値を再設定
 
 -   #--------------------------------------------------------------------------
 
 -   def restore_passive_rev
 
 -     return if @__passive_rev_restoring
 
  
-     # 修正前の値を保持
 
 -     last_effects = @passive_effects.clone if @passive_effects != nil
 
  
-     reset_passive_rev
 
  
-     # ≪スキルCP制≫ の併用を考慮し、戦闘中フラグを一時的にオン
 
 -     last_in_battle = $game_temp.in_battle
 
 -     $game_temp.in_battle = true
 
 -     # 修正値を取得
 
 -     self.skills.each { |skill|
 
 -       next unless skill.passive
 
  
-       skill.passive_params.each { |k, v| @passive_params[k] += v }
 
 -       skill.passive_params_rate.each { |k, v| @passive_params_rate[k] += v }
 
 -       skill.passive_arrays.each { |k, v| @passive_arrays[k] |= v }
 
 -       skill.passive_resistances.each { |k, v|
 
 -         v.each_with_index { |n, i|
 
 -           next if n == nil
 
 -           @passive_resistances[k][i] = 100 if @passive_resistances[k][i] == nil
 
 -           @passive_resistances[k][i] += n - 100
 
 -         }
 
 -       }
 
 -       skill.passive_effects.each { |k, v|
 
 -         case k
 
 -         when :multi_attack_count
 
 -           @passive_effects[k] = [ v, @passive_effects[k] ].max
 
 -         else
 
 -           @passive_effects[k] |= v
 
 -         end
 
 -       }
 
 -     }
 
 -     $game_temp.in_battle = last_in_battle
 
  
-     @__passive_rev_restoring = true
 
 -     # HP/MP を修正
 
 -     self.hp = self.hp
 
 -     self.mp = self.mp
 
  
-     # 二刀流違反を修正
 
 -     if !two_swords_style_KGC_PassiveSkill &&
 
 -         last_effects[:two_swords_style] != nil &&
 
 -         last_effects[:two_swords_style] != two_swords_style
 
 -       @__one_time_two_swords_style = last_effects[:two_swords_style]
 
 -       change_equip(1, nil, @@passive_equip_test)
 
 -       @__one_time_two_swords_style = nil
 
 -     end
 
 -     @__passive_rev_restoring = nil
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルによるパラメータ修正値 (即値)
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_params
 
 -     restore_passive_rev if @passive_params == nil
 
 -     return @passive_params
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルによるパラメータ修正値 (割合)
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_params_rate
 
 -     restore_passive_rev if @passive_params_rate == nil
 
 -     return @passive_params_rate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルによる追加属性・ステート
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_arrays
 
 -     restore_passive_rev if @passive_arrays == nil
 
 -     return @passive_arrays
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルによる耐性
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_resistances
 
 -     restore_passive_rev if @passive_resistances == nil
 
 -     return @passive_resistances
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ パッシブスキルによる特殊効果
 
 -   #--------------------------------------------------------------------------
 
 -   def passive_effects
 
 -     restore_passive_rev if @passive_effects == nil
 
 -     return @passive_effects
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 装備の変更 (オブジェクトで指定)
 
 -   #     equip_type : 装備部位 (0..4)
 
 -   #     item       : 武器 or 防具 (nil なら装備解除)
 
 -   #     test       : テストフラグ (戦闘テスト、または装備画面での一時装備)
 
 -   #--------------------------------------------------------------------------
 
 -   alias change_equip_KGC_PassiveSkill change_equip
 
 -   def change_equip(equip_type, item, test = false)
 
 -     @@passive_equip_test = test
 
  
-     change_equip_KGC_PassiveSkill(equip_type, item, test)
 
  
-     restore_passive_rev
 
 -     @@passive_equip_test = false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 装備の破棄
 
 -   #     item : 破棄する武器 or 防具
 
 -   #    武器/防具の増減で「装備品も含める」のとき使用する。
 
 -   #--------------------------------------------------------------------------
 
 -   alias discard_equip_KGC_PassiveSkill discard_equip
 
 -   def discard_equip(item)
 
 -     discard_equip_KGC_PassiveSkill(item)
 
  
-     restore_passive_rev
 
 -   end
 
  
-   if $imported["AddEquipmentOptions"]
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 属性耐性の取得
 
 -   #     element_id : 属性 ID
 
 -   #--------------------------------------------------------------------------
 
 -   alias element_resistance_KGC_PassiveSkill element_resistance
 
 -   def element_resistance(element_id)
 
 -     n = element_resistance_KGC_PassiveSkill(element_id)
 
 -     rate = passive_resistances[:element][element_id]
 
 -     n += (rate == nil ? 100 : rate) - 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ ステート耐性の取得
 
 -   #     state_id : ステート ID
 
 -   #--------------------------------------------------------------------------
 
 -   alias state_resistance_KGC_PassiveSkill state_resistance
 
 -   def state_resistance(state_id)
 
 -     n = state_resistance_KGC_PassiveSkill(state_id)
 
 -     rate = passive_resistances[:state][state_id]
 
 -     n += (rate == nil ? 100 : rate) - 100
 
 -     return [n, 0].max
 
 -   end
 
 -   end  # <-- if $imported["AddEquipmentOptions"]
 
  
-   #--------------------------------------------------------------------------
 
 -   # ● ステート無効化判定
 
 -   #     state_id : ステート ID
 
 -   #--------------------------------------------------------------------------
 
 -   alias state_resist_KGC_PassiveSkill? state_resist?
 
 -   def state_resist?(state_id)
 
 -     return true if passive_arrays[:invalid_state].include?(state_id)
 
  
-     return state_resist_KGC_PassiveSkill?(state_id)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 通常攻撃の属性取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias element_set_KGC_PassiveSkill element_set
 
 -   def element_set
 
 -     return (element_set_KGC_PassiveSkill | passive_arrays[:attack_element])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 通常攻撃の追加効果 (ステート変化) 取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias plus_state_set_KGC_PassiveSkill plus_state_set
 
 -   def plus_state_set
 
 -     return (plus_state_set_KGC_PassiveSkill | passive_arrays[:plus_state])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 基本 MaxHP の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias base_maxhp_KGC_PassiveSkill base_maxhp
 
 -   def base_maxhp
 
 -     n = base_maxhp_KGC_PassiveSkill + passive_params[:maxhp]
 
 -     n = n * passive_params_rate[:maxhp] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 基本 MaxMP の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias base_maxmp_KGC_PassiveSkill base_maxmp
 
 -   def base_maxmp
 
 -     n = base_maxmp_KGC_PassiveSkill + passive_params[:maxmp]
 
 -     n = n * passive_params_rate[:maxmp] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 基本攻撃力の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias base_atk_KGC_PassiveSkill base_atk
 
 -   def base_atk
 
 -     n = base_atk_KGC_PassiveSkill + passive_params[:atk]
 
 -     n = n * passive_params_rate[:atk] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 基本防御力の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias base_def_KGC_PassiveSkill base_def
 
 -   def base_def
 
 -     n = base_def_KGC_PassiveSkill + passive_params[:def]
 
 -     n = n * passive_params_rate[:def] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 基本精神力の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias base_spi_KGC_PassiveSkill base_spi
 
 -   def base_spi
 
 -     n = base_spi_KGC_PassiveSkill + passive_params[:spi]
 
 -     n = n * passive_params_rate[:spi] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 基本敏捷性の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias base_agi_KGC_PassiveSkill base_agi
 
 -   def base_agi
 
 -     n = base_agi_KGC_PassiveSkill + passive_params[:agi]
 
 -     n = n * passive_params_rate[:agi] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 命中率の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias hit_KGC_PassiveSkill hit
 
 -   def hit
 
 -     n = hit_KGC_PassiveSkill + passive_params[:hit]
 
 -     n = n * passive_params_rate[:hit] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 回避率の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias eva_KGC_PassiveSkill eva
 
 -   def eva
 
 -     n = eva_KGC_PassiveSkill + passive_params[:eva]
 
 -     n = n * passive_params_rate[:eva] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● クリティカル率の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias cri_KGC_PassiveSkill cri
 
 -   def cri
 
 -     n = cri_KGC_PassiveSkill + passive_params[:cri]
 
 -     n = n * passive_params_rate[:cri] / 100
 
 -     n += 4 if passive_effects[:critical_bonus]
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 狙われやすさの取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias odds_KGC_PassiveSkill odds
 
 -   def odds
 
 -     n = odds_KGC_PassiveSkill + passive_params[:odds]
 
 -     n = n * passive_params_rate[:odds] / 100
 
 -     return n
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オプション [二刀流] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias two_swords_style_KGC_PassiveSkill two_swords_style
 
 -   def two_swords_style
 
 -     return @__one_time_two_swords_style if @__one_time_two_swords_style != nil
 
  
-     return (two_swords_style_KGC_PassiveSkill ||
 
 -       passive_effects[:two_swords_style])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オプション [自動戦闘] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias auto_battle_KGC_PassiveSkill auto_battle
 
 -   def auto_battle
 
 -     return (auto_battle_KGC_PassiveSkill || passive_effects[:auto_battle])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オプション [強力防御] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias super_guard_KGC_PassiveSkill super_guard
 
 -   def super_guard
 
 -     return (super_guard_KGC_PassiveSkill || passive_effects[:super_guard])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オプション [薬の知識] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias pharmacology_KGC_PassiveSkill pharmacology
 
 -   def pharmacology
 
 -     return (pharmacology_KGC_PassiveSkill || passive_effects[:pharmacology])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 武器オプション [ターン内先制] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias fast_attack_KGC_PassiveSkill fast_attack
 
 -   def fast_attack
 
 -     return (fast_attack_KGC_PassiveSkill || passive_effects[:fast_attack])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 武器オプション [連続攻撃] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias dual_attack_KGC_PassiveSkill dual_attack
 
 -   def dual_attack
 
 -     if $imported["AddEquipmentOptions"]
 
 -       # 2回攻撃以上なら無視
 
 -       return false if passive_effects[:multi_attack_count] >= 2
 
 -     end
 
  
-     return (dual_attack_KGC_PassiveSkill || passive_effects[:dual_attack])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 防具オプション [クリティカル防止] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias prevent_critical_KGC_PassiveSkill prevent_critical
 
 -   def prevent_critical
 
 -     return (prevent_critical_KGC_PassiveSkill ||
 
 -       passive_effects[:prevent_critical])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 防具オプション [消費 MP 半分] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias half_mp_cost_KGC_KGC_PassiveSkill half_mp_cost
 
 -   def half_mp_cost
 
 -     return (half_mp_cost_KGC_KGC_PassiveSkill ||
 
 -       passive_effects[:half_mp_cost])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 防具オプション [取得経験値 2 倍] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias double_exp_gain_KGC_PassiveSkill double_exp_gain
 
 -   def double_exp_gain
 
 -     return (double_exp_gain_KGC_PassiveSkill ||
 
 -       passive_effects[:double_exp_gain])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● スキルを覚える
 
 -   #     skill_id : スキル ID
 
 -   #--------------------------------------------------------------------------
 
 -   alias learn_skill_KGC_PassiveSkill learn_skill
 
 -   def learn_skill(skill_id)
 
 -     learn_skill_KGC_PassiveSkill(skill_id)
 
  
-     restore_passive_rev
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● スキルを忘れる
 
 -   #     skill_id : スキル ID
 
 -   #--------------------------------------------------------------------------
 
 -   alias forget_skill_KGC_PassiveSkill forget_skill
 
 -   def forget_skill(skill_id)
 
 -     forget_skill_KGC_PassiveSkill(skill_id)
 
  
-     restore_passive_rev
 
 -   end
 
  
- if $imported["ReproduceFunctions"]
 
  
-   #--------------------------------------------------------------------------
 
 -   # ○ オートステートの配列を取得
 
 -   #     id_only : ID のみを取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias auto_states_KGC_PassiveSkill auto_states
 
 -   def auto_states(id_only = false)
 
 -     result = auto_states_KGC_PassiveSkill(id_only)
 
  
-     passive_arrays[:auto_state].each { |i|
 
 -       result << (id_only ? i : $data_states[i])
 
 -     }
 
 -     result.uniq!
 
 -     return result
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 装備オプション [全体攻撃] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias whole_attack_KGC_PassiveSkill whole_attack
 
 -   def whole_attack
 
 -     return (whole_attack_KGC_PassiveSkill || passive_effects[:whole_attack])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 装備オプション [回避無視] の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias ignore_eva_KGC_PassiveSkill ignore_eva
 
 -   def ignore_eva
 
 -     return (ignore_eva_KGC_PassiveSkill || passive_effects[:ignore_eva])
 
 -   end
 
  
- end  # <-- if $imported["ReproduceFunctions"]
 
  
- if $imported["AddEquipmentOptions"]
 
  
-   #--------------------------------------------------------------------------
 
 -   # ○ 攻撃回数の取得
 
 -   #--------------------------------------------------------------------------
 
 -   alias multi_attack_count_KGC_PassiveSkill multi_attack_count
 
 -   def multi_attack_count
 
 -     n = multi_attack_count_KGC_PassiveSkill
 
 -     return [ n, passive_effects[:multi_attack_count] ].max
 
 -   end
 
  
- end  # <-- if $imported["AddEquipmentOptions"]
 
  
- end  # <-- class
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ Window_EquipItem
 
 - #==============================================================================
 
  
- class Window_EquipItem < Window_Item
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #     x          : ウィンドウの X 座標
 
 -   #     y          : ウィンドウの Y 座標
 
 -   #     width      : ウィンドウの幅
 
 -   #     height     : ウィンドウの高さ
 
 -   #     actor      : アクター
 
 -   #     equip_type : 装備部位 (0~4)
 
 -   #--------------------------------------------------------------------------
 
 -   alias initialize_KGC_PassiveSkill initialize unless $@
 
 -   def initialize(x, y, width, height, actor, equip_type)
 
 -     @original_equip_type = equip_type
 
  
-     initialize_KGC_PassiveSkill(x, y, width, height, actor, equip_type)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● リフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   alias refresh_KGC_PassiveSkill refresh unless $@
 
 -   def refresh
 
 -     if @original_equip_type == 1
 
 -       @equip_type = (@actor.two_swords_style ? 0 : 1)
 
 -     end
 
  
-     refresh_KGC_PassiveSkill
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ Scene_File
 
 - #==============================================================================
 
  
- class Scene_File < Scene_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ● セーブデータの読み込み
 
 -   #     file : 読み込み用ファイルオブジェクト (オープン済み)
 
 -   #--------------------------------------------------------------------------
 
 -   alias read_save_data_KGC_PassiveSkill read_save_data
 
 -   def read_save_data(file)
 
 -     read_save_data_KGC_PassiveSkill(file)
 
  
-     KGC::Commands.restore_passive_rev
 
 -     Graphics.frame_reset
 
 -   end
 
 - end
 
 
  复制代码 使用方法就是技能设置为不可用,然后在技能的背猪栏上写 
<passive_skill> 
CRI +9 
EVA +10 
</passive_skill> 
这样学会这个技能爆击就+9% 闪避就+10%了 另外还能提升其他能力 你自己仔细看看脚本应该就明白了 |   
 
 
 
 |