#============================================================================== # ■ XP-RGSS-69 合成術 [Ver.1.0.0] by Claimh #------------------------------------------------------------------------------ # 特定のスキルを習得していた場合に合成術を使用することができるようになります。 #============================================================================== module MixSkill MIXSKILL = [ # [[必要スキルID, …], 合成スキルID] [[ 1, 2], 3], # ヒール + ヒール+ ⇒ ヒールΩ [[22, 58], 59], # ウィンド + フェイント ⇒ ハリケーン [[13, 61], 63], # サンダー + レッグスイープ ⇒ サンダーピアス [[16, 65], 67], # ウォーター + パワーブレイク ⇒ アクアバスター [[ 7, 77], 78], # ファイア + シルバーバレット ⇒ バーニングショット [[11, 77], 78], # アイス+ + シルバーバレット ⇒ フロストショット [[69, 70, 71], 72], # ポイズンエッジ+イーグルクロー+イリュージョン ⇒ デッドリーダンス [[7,10,13,16,19,22], 31], # ファイア+アイス+サンダー+ウォーター+アース+ウィンド ⇒ バースト ] # 注意 : 合成スキルは必要スキルには指定できません end #============================================================================== # ■ MixSkill #============================================================================== module MixSkill #-------------------------------------------------------------------------- # ● 習得する合成術 #-------------------------------------------------------------------------- def self.learn_mixskill(actor, skill_id) list = [] for i in 0...MIXSKILL.size d = MIXSKILL[i] next unless d[0].include?(skill_id) flag = false for s_id in d[0] break unless (flag = actor.skill_learn?(s_id)) end list.push(d[1]) if flag and !actor.skill_learn?(d[1]) end return list end #-------------------------------------------------------------------------- # ● 忘却する合成術 #-------------------------------------------------------------------------- def self.forget_mixskill(actor, skill_id) list = [] for i in 0...MIXSKILL.size d = MIXSKILL[i] list.push(d[1]) if d[0].include?(skill_id) and actor.skill_learn?(d[1]) end return list 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) list = MixSkill.learn_mixskill(self, skill_id) for id in list # 合成術を覚える learn_skill_mixskill(id) end end #-------------------------------------------------------------------------- # ● スキルを忘れる #-------------------------------------------------------------------------- alias forget_skill_mixskill forget_skill def forget_skill(skill_id) @skills.delete(skill_id) list = MixSkill.forget_mixskill(self, skill_id) for id in list # 合成術を忘れる forget_skill_mixskill(id) end end end