Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # BaseItem Level Requirements
- # Version 1.1
- # By Szyu
- #
- # About:
- # Get level requirements for weapon/armor equipment and item usage
- #
- # Instructions:
- # - Place below "▼ Materials" but above "▼ Main Process".
- #
- # How to Use:
- # Add "<rlvl: x>" to the notes of an item, weapon, armor to set the required level to x
- #==============================================================
- # * Configuration
- #==============================================================
- # Shows the level requirements in the item description
- SHOW_LVL_REQ_IN_DESCRIPTION = true
- # Term for item description
- DESCRIPTION_LVL_REQ_TERM = "Lv: "
- #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- #==============================================================
- # * Game_BattlerBase
- #==============================================================
- class Game_BattlerBase
- attr_reader :level
- alias equippable_lvl_req equippable?
- def equippable?(item)
- result = equippable_lvl_req(item)
- return false if item.nil?
- if (!item.required_level.nil?)
- return false if @level < item.required_level
- end
- return result
- end
- alias usable_lvl_req usable_item_conditions_met?
- def usable_item_conditions_met?(item)
- result = usable_lvl_req(item)
- return false if item.nil?
- if (!item.required_level.nil?)
- return false if @level < item.required_level
- end
- return result
- end
- end
- #==============================================================
- # * DataManager
- #==============================================================
- class << DataManager
- alias load_lv_rq_sz_crafting load_database
- def load_database
- load_lv_rq_sz_crafting
- load_lvl_req_item_notetags
- end
- def load_lvl_req_item_notetags
- groups = [$data_items, $data_weapons, $data_armors]
- for group in groups
- for obj in group
- next if obj.nil?
- obj.load_lvl_requirements
- end
- end
- end
- end
- #==============================================================
- # * BaseItems
- #==============================================================
- class RPG::BaseItem
- attr_accessor :required_level
- def load_lvl_requirements
- @required_level = 1
- self.note.split(/[\r\n]+/).each do |line|
- next unless line =~ /<rlvl:\s*?(\d*)>/i
- @required_level = $1.to_i
- @description += sprintf("(%s%d)", DESCRIPTION_LVL_REQ_TERM, @required_level) if SHOW_LVL_REQ_IN_DESCRIPTION
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement