- module XAS_BA_ENEMY
- #
- #A=>B
- #A = enemy Id
- #B = number of drops
- #
- ENEMY_DROPS = {
- }
- end
- module XAS_BA_ItemDrop
- def defeat_process
- super
- if XAS_BA_ENEMY::ENEMY_DROPS[self.battler.id] == nil
- drops = 1
- else
- drops = XAS_BA_ENEMY::ENEMY_DROPS[self.battler.id]
- end
- $game_variables[1] = drops
- for i in 0...drops
- if self.battler.is_a?(Game_Enemy) and self.battler.dead?
- treasure = nil
- enemy = self.battler
- if rand(100) < enemy.treasure_prob and
- self.battler.steal == false
- if enemy.item_id > 0
- treasure = $data_items[enemy.item_id]
- end
- if enemy.weapon_id > 0
- treasure = $data_weapons[enemy.weapon_id]
- end
- if enemy.armor_id > 0
- treasure = $data_armors[enemy.armor_id]
- end
- else
- item_2treasure = XAS_BA_ENEMY::ENEMY_2TREASURE[enemy.id]
- if item_2treasure != nil
- treasure_type = item_2treasure[0]
- treasure_id = item_2treasure[1]
- treasure_prob = item_2treasure[2]
- if rand(100) < treasure_prob
- if treasure_type == 0
- treasure = $data_items[treasure_id]
- end
- if treasure_type == 1
- treasure = $data_weapons[treasure_id]
- end
- if treasure_type == 2
- treasure = $data_armors[treasure_id]
- end
- else
- item_3treasure = XAS_BA_ENEMY::ENEMY_3TREASURE[enemy.id]
- if item_3treasure != nil
- treasure_type = item_3treasure[0]
- treasure_id = item_3treasure[1]
- treasure_prob = item_3treasure[2]
- if rand(100) < treasure_prob
- if treasure_type == 0
- treasure = $data_items[treasure_id]
- end
- if treasure_type == 1
- treasure = $data_weapons[treasure_id]
- end
- if treasure_type == 2
- treasure = $data_armors[treasure_id]
- end
- else
- item_4treasure = XAS_BA_ENEMY::ENEMY_4TREASURE[enemy.id]
- if item_4treasure != nil
- treasure_type = item_4treasure[0]
- treasure_id = item_4treasure[1]
- treasure_prob = item_4treasure[2]
- if rand(100) < treasure_prob
- if treasure_type == 0
- treasure = $data_items[treasure_id]
- end
- if treasure_type == 1
- treasure = $data_weapons[treasure_id]
- end
- if treasure_type == 2
- treasure = $data_armors[treasure_id]
- end
- else
- item_5treasure = XAS_BA_ENEMY::ENEMY_5TREASURE[enemy.id]
- if item_5treasure != nil
- treasure_type = item_5treasure[0]
- treasure_id = item_5treasure[1]
- treasure_prob = item_5treasure[2]
- if rand(100) < treasure_prob
- if treasure_type == 0
- treasure = $data_items[treasure_id]
- end
- if treasure_type == 1
- treasure = $data_weapons[treasure_id]
- end
- if treasure_type == 2
- treasure = $data_armors[treasure_id]
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- if treasure != nil
- item_se = XAS::ITEMDROP_SE
- opecode = treasure.is_a?(RPG::Item) ? 126 :
- treasure.is_a?(RPG::Weapon) ? 127 :
- treasure.is_a?(RPG::Armor) ? 128 :
- nil
- list = []
- if opecode != nil
- item_number = XAS::ITEM_NUMBER[treasure.id]
- if item_number != nil and treasure.is_a?(RPG::Item)
- list[0] = RPG::EventCommand.new(opecode, 0, [treasure.id,0,0,item_number])
- else
- list[0] = RPG::EventCommand.new(opecode, 0, [treasure.id,0,0,1])
- end
- list[1] = RPG::EventCommand.new(250, 0, [item_se])
- list[2] = RPG::EventCommand.new(116, 0, [])
- end
- list.push(RPG::EventCommand.new)
- command = RPG::MoveCommand.new
- command.code = 14
- command.parameters = [0,0]
- route = RPG::MoveRoute.new
- route.repeat = false
- route.list = [command, RPG::MoveCommand.new]
- page = RPG::Event::Page.new
- page.move_type = 3
- page.move_route = route
- page.move_frequency = 6
- page.always_on_top = true
- page.trigger = 1
- page.list = list
- if drops > 1
- a = rand(3)
- c = rand(3)
- a = a-1
- c = c-1
- event = RPG::Event.new(self.x + a, self.y + c)
- else
- event = RPG::Event.new(self.x, self.y)
- end
- event.pages = [page]
- token = Token_Event.new($game_map.id, event)
- token.icon_name = treasure.icon_name
- $game_map.add_token(token)
- end
- end
- end
- end
- end










