Advertisement
vindaca510

V's Passive Items v0.3

Aug 20th, 2013
588
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.85 KB | None | 0 0
  1. #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#
  2. #                                                                              #
  3. #                              V's  Passive Items                              #
  4. #                                 Version  0.3                                 #
  5. #                                                                              #
  6. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
  7. #                                Written By:  V                                #
  8. #                          Last Edited: August 24, 2013                        #
  9. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
  10. #                                                                              #
  11. #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#
  12.  
  13.  
  14. #==============================================================================#
  15. #------------------------------------------------------------------------------#
  16. # ** Disclaimer                                                                #
  17. #------------------------------------------------------------------------------#
  18. #                                                                              #
  19. # This script was intended for Non-commercial use only, if you wish to use     #
  20. # this script in a commercial game please PM me at which ever site you found   #
  21. # this script. Either way please give me credit in your game script as the     #
  22. # writer of this script, and send me a PM abuot the release of the game/demo.  #
  23. #                                                                              #
  24. #------------------------------------------------------------------------------#
  25. # ** How To Use                                                                #
  26. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
  27. #                                                                              #
  28. # * This script is pretty much plug-and-play.                                  #
  29. #                                                                              #
  30. # * Notetag all item you want to be passive with this tag:                     #
  31. #                        <ItemParams: Hp, Mp, Atk, Def, Mat, Mdf, Agi, Luk>    #
  32. #                                       (Replace the words with numbers)       #
  33. #                                                                              #
  34. #------------------------------------------------------------------------------#
  35. # ** Description                                                               #
  36. #------------------------------------------------------------------------------#
  37. #                                                                              #
  38. #  v0.1                                                                        #
  39. # ~=~=~=~                                                                      #
  40. #                                                                              #
  41. # If you have ever played D2 or D2: LOD or any mods for those games then       #
  42. # you'll know exsactly what I'm talking about. For everyone else this script   #
  43. # basically gives passive stat bonuses to items as long as they're in your     #
  44. # inventory. Nuff Said.                                                        #
  45. #                                                                              #
  46. #  v0.2                                                                        #
  47. # ~=~=~=~                                                                      #
  48. #                                                                              #
  49. # I added a few spots for Add-Ons                                              #
  50. #                                                                              #
  51. #  v0.3                                                                        #
  52. # ~=~=~=~                                                                      #
  53. #                                                                              #
  54. # Fixed a bug where the params were not staying with battle_member[0]          #
  55. #                                                                              #
  56. #------------------------------------------------------------------------------#
  57. #==============================================================================#
  58.    
  59.  
  60.  
  61. #******************************************************************************#
  62. #------------------------------------------------------------------------------#
  63. #                              Available Add-Ons:                              #
  64. #------------------------------------------------------------------------------#
  65. #******************************************************************************#
  66. #------------------------------------------------------------------------------#
  67. #                                                                              #
  68. #  ** X and S Parameter Bonuses                                                #
  69. #                                                                              #
  70. #------------------------------------------------------------------------------#
  71. #******************************************************************************#
  72.  
  73.  
  74. #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#
  75. #                                                                              #
  76. #         DO NOT EDIT PAST THIS POINT UNLESS YOU KNOW WHAT YOUR DOING.         #
  77. #                                                                              #
  78. #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#
  79.    
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115. $imported = {} if $imported.nil?
  116. $imported["V's  Passive Items "] = true
  117. class Game_Actor < Game_Battler
  118.   attr_accessor :item_param
  119.   alias :old_init78373524214222 :initialize
  120.   def initialize(actor_id)
  121.     super()
  122.     @item_param = [0, 0, 0, 0, 0, 0, 0, 0]
  123.     old_init78373524214222(actor_id)
  124.   end
  125.   alias :old_param_base5637386796435 :param_base
  126.   def param_base(param_id)
  127.     old_param_base5637386796435(param_id) + @item_param[param_id]
  128.   end  
  129. end
  130. class Game_Party < Game_Unit
  131.   alias :gain_item589831004 :gain_item
  132.   def gain_item(item, amount, include_equip = false)
  133.     gain_item589831004(item, amount, include_equip = false)
  134.     note = /<ItemParams\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)>/i
  135.     ip = item.note[note] if item != nil
  136.     gain_item_params(item, amount) if ip != nil
  137.   end
  138.   def gain_item_params(item, amount)
  139.     note = /<ItemParams:\s*(\d*),\s*(\d*),\s*(\d*),\s*(\d*),\s*(\d*),\s*(\d*),\s*(\d*),\s*(\d*)>/i
  140.     ip = item.note.scan(note) if item != nil
  141.     8.times {|i| $game_party.members[0].item_param[i] += (ip[0][i].to_i * amount) }
  142.     $game_party.members[0].hp += (ip[0][0].to_i * amount) if ip != nil
  143.     $game_party.members[0].mp += (ip[0][1].to_i * amount) if ip != nil
  144.   end
  145.   alias :lose_item5637386796435 :lose_item
  146.   def lose_item(item, amount, include_equip = false)
  147.     lose_item5637386796435(item, amount, include_equip = false)
  148.     note = /<ItemParams\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)>/i
  149.     ip = item.note[note] if item != nil
  150.     lose_item_params(item, amount) if ip != nil && ip[0][0] != nil
  151.   end
  152.   def lose_item_params(item, amount)
  153.     note = /<ItemParams\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)\S*\s*(\d*)>/i
  154.     ip = item.note[note] if item != nil
  155.     8.times {|i| $game_party.members[0].item_param[i] -= (ip[0][i].to_i * amount) }
  156.   end
  157.  
  158.   alias :swap_order5637386796435 :swap_order
  159.   def swap_order(index1, index2)
  160.     tip = $game_party.battle_members[0].item_param
  161.     $game_party.battle_members[0].item_param = [0, 0, 0, 0, 0, 0, 0, 0]
  162.     if $game_party.battle_members[0].hp > $game_party.battle_members[0].mhp
  163.       $game_party.battle_members[0].hp = $game_party.battle_members[0].mhp
  164.     end
  165.     if $game_party.battle_members[0].mp > $game_party.battle_members[0].mmp
  166.       $game_party.battle_members[0].mp = $game_party.battle_members[0].mmp
  167.     end
  168.     swap_order5637386796435(index1, index2)
  169.     $game_party.battle_members[0].item_param = tip
  170.     $game_party.battle_members[0].hp += $game_party.battle_members[0].item_param[0]
  171.     if $game_party.battle_members[0].hp > $game_party.battle_members[0].mhp
  172.       $game_party.battle_members[0].hp = $game_party.battle_members[0].mhp
  173.     end
  174.     $game_party.battle_members[0].mp += $game_party.battle_members[0].item_param[1]
  175.     if $game_party.battle_members[0].mp > $game_party.battle_members[0].mmp
  176.       $game_party.battle_members[0].mp = $game_party.battle_members[0].mmp
  177.     end
  178.     $game_player.refresh
  179.   end
  180. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement