Advertisement
Fomar0153

Fomar0153 - Equipment Requirements 1.1

Feb 14th, 2012
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.40 KB | None | 0 0
  1. =begin
  2. Equipment Requirements
  3. by Fomar0153
  4. Version 1.1
  5. ----------------------
  6. Notes
  7. ----------------------
  8. Adds a level requirement to equipment.
  9. ----------------------
  10. Instructions
  11. ----------------------
  12. Notetag the weapons/armors like so:
  13. <levelreq x>
  14. <mhpreq x>
  15. <mmpreq x>
  16. <atkreq x>
  17. <defreq x>
  18. <matreq x>
  19. <mdfreq x>
  20. <agireq x>
  21. <lukreq x>
  22. ----------------------
  23. Change Log
  24. ----------------------
  25. 1.0 -> 1.1 Added stat requirements
  26.            Changed script name from Equipment Level Requirements
  27.            to just Equipment Requirements
  28. ----------------------
  29. Known bugs
  30. ----------------------
  31. None
  32. =end
  33.  
  34. class Game_BattlerBase
  35.   #--------------------------------------------------------------------------
  36.   # ● If set to true then it compares the requirement with the actor's base
  37.   #   stat rather than their current.
  38.   #--------------------------------------------------------------------------
  39.   EQUIPREQ_USE_BASE_STAT = true
  40.   #--------------------------------------------------------------------------
  41.   # ● Check the requirements
  42.   #--------------------------------------------------------------------------
  43.   alias level_equippable? equippable?
  44.   def equippable?(item)
  45.     return false unless item.is_a?(RPG::EquipItem)
  46.     return false if @level < item.levelreq
  47.     return false if reqstat(0) < item.mhpreq
  48.     return false if reqstat(1) < item.mmpreq
  49.     return false if reqstat(2) < item.atkreq
  50.     return false if reqstat(3) < item.defreq
  51.     return false if reqstat(4) < item.matreq
  52.     return false if reqstat(5) < item.mdfreq
  53.     return false if reqstat(6) < item.agireq
  54.     return false if reqstat(7) < item.lukreq
  55.     return level_equippable?(item)
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● New Method
  59.   #--------------------------------------------------------------------------
  60.   def reqstat(id)
  61.     if EQUIPREQ_USE_BASE_STAT
  62.       return param_base(id)
  63.     else
  64.       return param(id)
  65.     end
  66.   end
  67. end
  68.  
  69. module RPG
  70.   #--------------------------------------------------------------------------
  71.   # ● Equip Item is inherited by both Weapon and Armor
  72.   #--------------------------------------------------------------------------
  73.   class EquipItem
  74.     def levelreq
  75.       if self.note =~ /<levelreq (.*)>/i
  76.         return $1.to_i
  77.       else
  78.         return 0
  79.       end
  80.     end
  81.     def mhpreq
  82.       if self.note =~ /<mhpreq (.*)>/i
  83.         return $1.to_i
  84.       else
  85.         return 0
  86.       end
  87.     end
  88.     def mmpreq
  89.       if self.note =~ /<mmpreq (.*)>/i
  90.         return $1.to_i
  91.       else
  92.         return 0
  93.       end
  94.     end
  95.     def atkreq
  96.       if self.note =~ /<atkreq (.*)>/i
  97.         return $1.to_i
  98.       else
  99.         return 0
  100.       end
  101.     end
  102.     def defreq
  103.       if self.note =~ /<defreq (.*)>/i
  104.         return $1.to_i
  105.       else
  106.         return 0
  107.       end
  108.     end
  109.     def matreq
  110.       if self.note =~ /<matreq (.*)>/i
  111.         return $1.to_i
  112.       else
  113.         return 0
  114.       end
  115.     end
  116.     def mdfreq
  117.       if self.note =~ /<mdfreq (.*)>/i
  118.         return $1.to_i
  119.       else
  120.         return 0
  121.       end
  122.     end
  123.     def agireq
  124.       if self.note =~ /<agireq (.*)>/i
  125.         return $1.to_i
  126.       else
  127.         return 0
  128.       end
  129.     end
  130.     def lukreq
  131.       if self.note =~ /<lukreq (.*)>/i
  132.         return $1.to_i
  133.       else
  134.         return 0
  135.       end
  136.     end
  137.   end
  138. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement