装备等级限制脚本

module RPG
class Weapon
    def level
     return 1 if @description.split(/LV/)[1] == nil
     return @description.split(/LV/)[1]
   end
   def str
     return 1 if @description.split(/STR/)[1] == nil
     return @description.split(/STR/)[1]
   end
   def dex
     return 1 if @description.split(/DEX/)[1] == nil
     return @description.split(/DEX/)[1]
   end
   def agi
     return 1 if @description.split(/AGI/)[1] == nil
     return @description.split(/AGI/)[1]
   end
   def int
     return 1 if @description.split(/INT/)[1] == nil
     return @description.split(/INT/)[1]
   end
#    def description     
#      return @description.split(/LV/)[0] + "{装备等级" + level + "}"
#    end
end
class Armor
    def level
     return 1 if @description.split(/LV/)[1] == nil
     return @description.split(/LV/)[1]
   end
   def str
     return 1 if @description.split(/STR/)[1] == nil
     return @description.split(/STR/)[1]
   end
   def dex
     return 1 if @description.split(/DEX/)[1] == nil
     return @description.split(/DEX/)[1]
   end
   def agi
     return 1 if @description.split(/AGI/)[1] == nil
     return @description.split(/AGI/)[1]
   end
   def int
     return 1 if @description.split(/INT/)[1] == nil
     return @description.split(/INT/)[1]
   end
#    def description     
#      return @description.split(/LV/)[0] + "{装备等级" + level + "}"
#    end
end
end

class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 可以装备判定
#     item : 物品
#--------------------------------------------------------------------------
def equipable?(item)
   # 武器的情况
   if item.is_a?(RPG::Weapon)
     # 包含当前的职业可以装备武器的场合
     if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level
       if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
       return true
       end
     end
   end
   # 防具的情况
   if item.is_a?(RPG::Armor)
     # 不包含当前的职业可以装备武器的场合
     if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<=@level
       if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
       return true
       end
     end
   end
   return false
end
end
#==============================================================================
# ■ Window_EquipItem
#------------------------------------------------------------------------------
#  装备画面、显示浏览变更装备的候补物品的窗口。
#==============================================================================

class Window_EquipItem < Window_Selectable
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    # 添加可以装备的武器
    if @equip_type == 0
      weapon_set = $data_classes[@actor.class_id].weapon_set
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])
          @data.push($data_weapons[i])
        end
      end
    end
    # 添加可以装备的防具
    if @equip_type != 0
      armor_set = $data_classes[@actor.class_id].armor_set
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])
          if $data_armors[i].kind == @equip_type-1
            @data.push($data_armors[i])
          end
        end
      end
    end
    # 添加空白
    @data.push(nil)
    # 生成位图、描绘全部项目
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)
    for i in 0...@item_max-1
      draw_item(i)
    end
end
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值