#==============================================================================# WECOC'S "MOSAIC" SHOP SYSTEM v1.0#------------------------------------------------------------------------------# By: Wecoc#------------------------------------------------------------------------------# This shop script displays objects as a mosaic and not on a list.# It has configurable parts, using the module NewShopWecoc.# I attached some possible options. Hope you like the script.# The script requires Window_Selectable +

# If true, the item's name will appear on the mosaic, # and under it how many you own. SHOW_OWN_BIG = true

# Text size of the name of the item and "Own: x" and if bold or not TEXT_SIZE = 16 TEXT_BOLD = true

# Only if SHOW_OWN_BIG es activated. If SHOW_BIG_PSTATUS is true, it says # if the weapon or armor is better that which actors wear. SHOW_BIG_PSTATUS = true

MINUS = Color.new(255, 0, 0) # Color when it's worse EQUAL = Color.new(255, 255, 0) # Color when it's equal PLUS = Color.new( 0, 255, 0) # Color when it's better OFF = Color.new(100, 110, 120) # Color when actor can't wear it # ------------------------- # If true it will display how many items you own with a small number SHOW_OWN_SMALL = false # If true it says if the weapon or armor is better that which PLAYER wears SHOW_SMALL_PSTATUS = false # If true, number_window (Window_ShopNumber) works as always. # If false it does not work and you can just buy items one by one. SHOW_NUMBER = falseend

# draw_item (the most configurable part) def draw_item(index) item = @data[index] case item when RPG::Item # Item number = $game_party.item_number(item.id) when RPG::Weapon # Weapon number = $game_party.weapon_number(item.id) for i in 0...$game_party.actors.size number += 1 if $game_party.actors[i].weapon_id == item.id end when RPG::Armor # Armor number = $game_party.armor_number(item.id) for i in 0...$game_party.actors.size number += 1 if $game_party.actors[i].armor1_id == item.id number += 1 if $game_party.actors[i].armor2_id == item.id number += 1 if $game_party.actors[i].armor3_id == item.id number += 1 if $game_party.actors[i].armor4_id == item.id end end if item.price <= $game_party.gold and number < 99 self.contents.font.color = normal_color else self.contents.font.color = disabled_color end

# refresh with @row_height correction def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for i in 1...$data_items.size if $game_party.item_number(i) > 0 @data.push($data_items[i]) end end for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 @data.push($data_weapons[i]) end end for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 @data.push($data_armors[i]) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * @row_height) for i in 0...@item_max draw_item(i) end end end

def refresh self.contents.clear if @item == nil return end case @item when RPG::Item number = $game_party.item_number(@item.id) when RPG::Weapon number = $game_party.weapon_number(@item.id) when RPG::Armor number = $game_party.armor_number(@item.id) end