Advertisement
Fomar0153

Fomar0153 - Grouped Item Drops 1.0

Aug 7th, 2012
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.04 KB | None | 0 0
  1. =begin
  2. Grouped Item Drops
  3. by Fomar0153
  4. Version 1.0
  5. ----------------------
  6. Notes
  7. ----------------------
  8. Groups item drops.
  9. ----------------------
  10. Instructions
  11. ----------------------
  12. Plug and play edit the vocab if you want.
  13. ----------------------
  14. Known bugs
  15. ----------------------
  16. None
  17. =end
  18.  
  19. module Vocab
  20.   ObtainItem      = "%sx%s found!"
  21. end
  22.  
  23.  
  24. module BattleManager
  25.   #--------------------------------------------------------------------------
  26.   # * Dropped Item Acquisition and Display
  27.   #--------------------------------------------------------------------------
  28.   def self.gain_drop_items
  29.     items = {}
  30.     weapons = {}
  31.     armours = {}
  32.     $game_troop.make_drop_items.each do |item|
  33.       if item.is_a?(RPG::Item)
  34.         items[item.id] = 0 unless items[item.id]
  35.         items[item.id] += 1
  36.       end
  37.       if item.is_a?(RPG::Weapon)
  38.         weapons[item.id] = 0 unless weapons[item.id]
  39.         weapons[item.id] += 1
  40.       end
  41.       if item.is_a?(RPG::Armor)
  42.         armours[item.id] = 0 unless armours[item.id]
  43.         armours[item.id] += 1
  44.       end
  45.     end
  46.     items.each_key {|key|
  47.       $game_party.gain_item($data_items[key], items[key])
  48.       if items[key] == 1
  49.         $game_message.add(sprintf(Vocab::ObtainItem, $data_items[key].name))
  50.       else
  51.         $game_message.add(sprintf(Vocab::ObtainItem, $data_items[key].name, items[key]))
  52.       end
  53.     }
  54.     weapons.each_key {|key|
  55.       $game_party.gain_item($data_items[key], weapons[key])
  56.       if items[key] == 1
  57.         $game_message.add(sprintf(Vocab::ObtainItem, $data_weapons[key].name))
  58.       else
  59.         $game_message.add(sprintf(Vocab::ObtainItem, $data_weapons[key].name, weapons[key]))
  60.       end
  61.     }
  62.     armours.each_key {|key|
  63.       $game_party.gain_item($data_items[key], armours[key])
  64.       if items[key] == 1
  65.         $game_message.add(sprintf(Vocab::ObtainItem, $data_armors[key].name))
  66.       else
  67.         $game_message.add(sprintf(Vocab::ObtainItem, $data_armors[key].name, armours[key]))
  68.       end
  69.     }
  70.     wait_for_message
  71.   end
  72. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement