#============================================================================== # ■ VXAce-RGSS3-35 合成術 [Ver.1.0.0] by Claimh #------------------------------------------------------------------------------ # 特定のスキルを習得していた場合に合成術を使用することができるようになります。 #============================================================================== module MixSkill MIXSKILL = { # 合成スキル => [[必要スキルID, …], 5 => [3, 4], # 3回攻撃 = 連続攻撃 + 2回攻撃 57 => [55, 67], # ブリザード = アイス + ウィンド 73 => [51, 63] # バースト = ファイア + ウォーター } # 注意 : 合成スキルは必要スキルには指定できません end #============================================================================== # ■ MixSkill #============================================================================== module MixSkill #-------------------------------------------------------------------------- # ● 習得・忘却対象のスキル #-------------------------------------------------------------------------- def self.check(actor, skill_id) list = [] MIXSKILL.each do |key, val| next if !val.include?(skill_id) list.push(key) if val.all? {|id| actor.skill_learn?($data_skills[id])} end list end #-------------------------------------------------------------------------- # ● 合成術習得 #-------------------------------------------------------------------------- def self.learn_mixskill(actor, skill_id) check(actor, skill_id).each {|id| actor.learn_skill(id)} end #-------------------------------------------------------------------------- # ● 合成術忘却 #-------------------------------------------------------------------------- def self.forget_mixskill(actor, skill_id) check(actor, skill_id).each {|id| actor.forget_skill(id)} end end #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● スキルを覚える #-------------------------------------------------------------------------- alias learn_skill_mixskill learn_skill def learn_skill(skill_id) learn_skill_mixskill(skill_id) MixSkill.learn_mixskill(self, skill_id) end #-------------------------------------------------------------------------- # ● スキルを忘れる #-------------------------------------------------------------------------- alias forget_skill_mixskill forget_skill def forget_skill(skill_id) MixSkill.forget_mixskill(self, skill_id) forget_skill_mixskill(skill_id) end end