Guest User

Weapon Upgrade Item Requirement addon

a guest
Apr 17th, 2023
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.69 KB | None | 0 0
  1. =begin
  2.  
  3.   Addon to Selchar's Weapon Level Up + Weapon Upgrade Scene
  4.   Allows setting up item requirement for weapon levelling
  5.  
  6.   by Ekhart
  7.  
  8. =end
  9.  
  10. module TH_Instance
  11.   module Scene_EquipUpgrade
  12.    
  13.     # Upgrade Cost Array
  14.     # UpgradeCost = { level => [item_ID, item_Quantity]}
  15.     UpgradeCost = {
  16.       1 => [90,1],
  17.       2 => [90,1],
  18.       3 => [90,2],
  19.       4 => [90,2],
  20.       5 => [90,3],
  21.       6 => [91,1],
  22.       7 => [91,1],
  23.       8 => [91,2],
  24.       9 => [91,3],
  25.       10 => [92,1]
  26.     }
  27.   end
  28.  
  29. end
  30.  
  31. class Window_EquipUpgradeSelect < Window_Selectable
  32.  
  33.   def enable?(item)
  34.     if item.is_a?(RPG::EquipItem) && item.can_level && item.level < item.max_level &&
  35.       $game_party.gold >=  item.level_upgrade_price && has_material?(item.level)
  36.       return true
  37.     else
  38.       return false
  39.     end
  40.   end
  41.  
  42.   def has_material?(item_level)
  43.     # Check for Upgrade Material and Quantity
  44.     material = TH_Instance::Scene_EquipUpgrade::UpgradeCost[item_level+1][0]
  45.     material_quantity = TH_Instance::Scene_EquipUpgrade::UpgradeCost[item_level+1][1]
  46.     return $game_party.items.include?($data_items[material]) &&
  47.       $game_party.item_number($data_items[material]) >= material_quantity
  48.   end
  49. end
  50.  
  51. class RPG::EquipItem
  52.  
  53.   #Call this to increase an equip's level
  54.   def level_up
  55.     return unless can_level
  56.     return if @level == @max_level
  57.     @level += 1
  58.     # Removes QTY of Upgrade Material, then levels up the weapon
  59.     material = TH_Instance::Scene_EquipUpgrade::UpgradeCost[@level][0]
  60.     amount = TH_Instance::Scene_EquipUpgrade::UpgradeCost[@level][1]
  61.     $game_party.lose_item($data_items[material], amount)
  62.     level_update
  63.   end
  64. end
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment