#============================================================================== # 装備品を消耗するスキル #  # スキルコストに装備品を指定するスクリプトです。 #  # 前提スクリプト #  汎用タグ #  装備の強制変更 #  # 起動方法 #  スキルのメモ欄に以下のように指定してください #   <装備コスト [type,id]> #    type:武器、もしくは防具を指定してください。文字列で判別をしています #    id:IDを指定してください。 #     #  例 #   <装備コスト ["武器",2]> #    この場合、武器の2番を消費します。 # # 利用規約 #  連絡不要 #  商用可 # 改造可 # 再配布可(無改造の場合はクレジットを消さないでください) # アダルト可 #  利用された際、クレジットはあると喜びます  # #                       by 3dpose #                       http://customsaga.wiki.fc2.com/ # #                       GY. Materials #                       http://gymaterials.jp/ # #============================================================================== # ■ Game_BattlerBase #------------------------------------------------------------------------------ #  バトラーを扱う基本のクラスです。主に能力値計算のメソッドを含んでいます。こ # のクラスは Game_Battler クラスのスーパークラスとして使用されます。 #============================================================================== class Game_BattlerBase #-------------------------------------------------------------------------- # ● スキル使用コストの支払い #-------------------------------------------------------------------------- def pay_skill_cost(skill) self.mp -= skill_mp_cost(skill) self.tp -= skill_tp_cost(skill) skill_equip_cost(skill) end #-------------------------------------------------------------------------- # ● スキル使用コスト(装備品) #  潜在的なバグ。 #  装備品以外でスキルを習得すると2発目でエラーが出ると思います。 #  敵がスキルを使用した場合も同様にエラーが出ると思います。 #  スキルの習得に必要な装備と、消費する装備は同一にしてください。 #-------------------------------------------------------------------------- def skill_equip_cost(skill) return if skill.get_tag("装備コスト") == nil cost = skill.get_tag("装備コスト") item_id = cost[1] slot_id = $data_weapons[item_id].etype_id if cost[0] == "武器" slot_id = $data_armors [item_id].etype_id if cost[0] == "防具" force_change_equip_by_id(slot_id, 0) end end