Advertisement
Demonicskyers

Więcej przedmiotów za potwory

Oct 22nd, 2013
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.93 KB | None | 0 0
  1. #===================================================================
  2. # Dodatkowe przedmioty za potwory XP
  3. # by Ayene
  4. # 06.09.2010 ver 1.0
  5. # www.ultimateam.pl
  6. #===================================================================
  7.  
  8. module Ayene
  9.   ITEM = {# ID potwora => [%, id przedmiotu],[%, id przedmiotu], itd.]
  10.   1 => [[100, 2],[100, 23],[100, 24]],
  11.   2 => [[100, 3],[100, 23]],
  12.   5 => [[3, 23]]
  13.   }
  14.   WEAPON = {# ID potwora => [%, id broni],[%, id broni], itd.]
  15.   1 => [[100, 2]],
  16.   2 => [[100, 3],[100, 23]],
  17.   }
  18.   ARMOR = {# ID potwora => [%, id pancerza],[%, id pancerza], itd.]
  19.   1 => [[100, 2],[100, 23]],
  20.   2 => [[100, 3],[100, 23]],
  21.   }
  22.   # Maksymalna liczba przedmiotów to 6.  
  23. end
  24.  
  25. class Scene_Battle
  26.   def start_phase5
  27.     @phase = 5
  28.     $game_system.me_play($game_system.battle_end_me)
  29.     $game_system.bgm_play($game_temp.map_bgm)
  30.     exp = 0
  31.     gold = 0
  32.     treasures = []
  33.     for enemy in $game_troop.enemies
  34.       unless enemy.hidden
  35.         exp += enemy.exp
  36.         gold += enemy.gold
  37.         if rand(100) < enemy.treasure_prob
  38.           if enemy.item_id > 0
  39.             treasures.push($data_items[enemy.item_id])          
  40.           end
  41.           if enemy.weapon_id > 0
  42.             treasures.push($data_weapons[enemy.weapon_id])
  43.           end
  44.           if enemy.armor_id > 0
  45.             treasures.push($data_armors[enemy.armor_id])
  46.           end
  47.         end  
  48.         if Ayene::ITEM.include?(enemy.id)
  49.           for i in 0..Ayene::ITEM[enemy.id].size-1
  50.             if rand(100) < Ayene::ITEM[enemy.id][i][0]
  51.               treasures.push($data_items[Ayene::ITEM[enemy.id][i][1]])
  52.             end
  53.           end
  54.         end
  55.         if Ayene::WEAPON.include?(enemy.id)
  56.           for i in 0..Ayene::WEAPON[enemy.id].size-1
  57.             if rand(100) < Ayene::WEAPON[enemy.id][i][0]
  58.               treasures.push($data_weapons[Ayene::WEAPON[enemy.id][i][1]])
  59.             end
  60.           end
  61.         end
  62.         if Ayene::ARMOR.include?(enemy.id)
  63.           for i in 0..Ayene::ARMOR[enemy.id].size-1
  64.             if rand(100) < Ayene::ARMOR[enemy.id][i][0]
  65.               treasures.push($data_armors[Ayene::ARMOR[enemy.id][i][1]])
  66.             end
  67.           end
  68.         end
  69.       end    
  70.     end
  71.     treasures = treasures[0..5]
  72.     for i in 0...$game_party.actors.size
  73.       actor = $game_party.actors[i]
  74.       if actor.cant_get_exp? == false
  75.         last_level = actor.level
  76.         actor.exp += exp
  77.         if actor.level > last_level
  78.           @status_window.level_up(i)
  79.         end
  80.       end
  81.     end
  82.     $game_party.gain_gold(gold)
  83.     for item in treasures
  84.       case item
  85.       when RPG::Item
  86.         $game_party.gain_item(item.id, 1)
  87.       when RPG::Weapon
  88.         $game_party.gain_weapon(item.id, 1)
  89.       when RPG::Armor
  90.         $game_party.gain_armor(item.id, 1)
  91.       end
  92.     end
  93.     @result_window = Window_BattleResult.new(exp, gold, treasures)
  94.     @phase5_wait_count = 100
  95.   end
  96. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement