diff --git a/.DS_Store b/.DS_Store index 34c2da5b5..6a6589cdc 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Data/.DS_Store b/Data/.DS_Store index 93f824475..021a6d7d8 100644 Binary files a/Data/.DS_Store and b/Data/.DS_Store differ diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index c385194af..8c9a1c608 100644 Binary files a/Data/MapInfos.rxdata and b/Data/MapInfos.rxdata differ diff --git a/Data/Scripts/015_Trainers and player/004_Player.rb b/Data/Scripts/015_Trainers and player/004_Player.rb index e5ab4b69b..99678bedf 100644 --- a/Data/Scripts/015_Trainers and player/004_Player.rb +++ b/Data/Scripts/015_Trainers and player/004_Player.rb @@ -197,7 +197,7 @@ class Player < Trainer def clothes_color=(value) echoln value echoln @clothes - echoln $Trainer.dyed_clothes + #echoln $Trainer.dyed_clothes echoln caller @clothes_color=value diff --git a/Data/Scripts/016_UI/020_UI_PokeMart.rb b/Data/Scripts/016_UI/020_UI_PokeMart.rb index 1c60cfda6..ca146f723 100644 --- a/Data/Scripts/016_UI/020_UI_PokeMart.rb +++ b/Data/Scripts/016_UI/020_UI_PokeMart.rb @@ -97,7 +97,7 @@ class PokemonMartAdapter return nil end - def doSpecialItemAction(specialType) + def doSpecialItemAction(specialType,itemId=nil) return nil end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb index ce41154fc..ebbb4c115 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb @@ -1,6 +1,7 @@ class OutfitsMartAdapter < PokemonMartAdapter attr_accessor :worn_clothes attr_accessor :is_secondary_hat + attr_accessor :items WORN_ITEM_BASE_COLOR = MessageConfig::BLUE_TEXT_MAIN_COLOR WORN_ITEM_SHADOW_COLOR = MessageConfig::BLUE_TEXT_SHADOW_COLOR @@ -13,6 +14,17 @@ class OutfitsMartAdapter < PokemonMartAdapter @version = nil end + def getDisplayName(item) + return getName(item) if !item.name + name = item.name + name = "* #{name}" if is_wearing_clothes(item.id) + return name + end + + def is_wearing_clothes(outfit_id) + return outfit_id == @worn_clothes + end + def toggleText() return "" end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb index 4891c3934..2cc27c3b0 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb @@ -1,4 +1,5 @@ class ClothesMartAdapter < OutfitsMartAdapter + DEFAULT_NAME = "[unknown]" DEFAULT_DESCRIPTION = "A piece of clothing that trainers can wear." def toggleEvent(item) @@ -14,13 +15,8 @@ class ClothesMartAdapter < OutfitsMartAdapter end def getName(item) - return item.id - end - - def getDisplayName(item) - return getName(item) if !item.name - name = item.name - name = "* #{name}" if item.id == $Trainer.favorite_clothes + name= item.id + name = "* #{name}" if is_wearing_clothes(item.id) return name end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb index 1fca6b067..b71f469b1 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb @@ -18,6 +18,8 @@ def genericOutfitsShopMenu(stock = [], itemType = nil, versions = false, isShop= end end + + def getPresenter(itemType, view, stock, adapter, versions) case itemType when :HAIR @@ -110,11 +112,20 @@ SWAP_HAT_POSITIONS_CAPTION = "Switch hats position" #is_secondary only used for hats def openSelectOutfitMenu(stock = [], itemType =nil, is_secondary=false) adapter = getAdapter(itemType, stock, false, is_secondary) - view = ClothesShopView.new() + view = getView(itemType) presenter = ClothesShopPresenter.new(view, stock, adapter) presenter.pbBuyScreen end +def getView(itemType) + case itemType + when :HAT + return HatShopView.new + else + return ClothesShopView.new + end +end + def changeClothesMenu() stock = [] $Trainer.unlocked_clothes.each { |outfit_id| @@ -134,32 +145,52 @@ def changeHatMenu(is_secondary_hat = false) openSelectOutfitMenu(stock, :HAT, is_secondary_hat) end -def changeOutfit() - hat1_name = get_hat_by_id($Trainer.hat) ? get_hat_by_id($Trainer.hat).name : "(Empty)" - hat2_name = get_hat_by_id($Trainer.hat2) ? get_hat_by_id($Trainer.hat2).name : "(Empty)" +# def changeOutfit() +# hat1_name = get_hat_by_id($Trainer.hat) ? get_hat_by_id($Trainer.hat).name : "(Empty)" +# hat2_name = get_hat_by_id($Trainer.hat2) ? get_hat_by_id($Trainer.hat2).name : "(Empty)" +# +# commands = [] +# commands[cmdClothes = commands.length] = _INTL("Change clothes") +# commands[cmdHat = commands.length] = _INTL("Change hat 1 (#{hat1_name})") +# commands[cmdHat2 = commands.length] = _INTL("Change hat 2 (#{hat2_name})") +# commands[switchHats = commands.length] = _INTL("Switch hat positions") +# commands[cmdQuit = commands.length] = _INTL("Quit") +# +# #TODO change this into a graphical menu with icons +# loop do +# cmd = pbMessage(_INTL("What would you like to do?"), commands, cmdQuit + 1) +# if cmd == cmdClothes +# changeClothesMenu() +# break +# elsif cmd == cmdHat +# changeHatMenu() +# break +# elsif cmd == cmdHat2 +# changeHatMenu(true) +# break +# elsif cmd == switchHats +# switchHatsPosition() +# break +# else +# break +# end +# end +# end +def changeOutfit() commands = [] + commands[cmdHat = commands.length] = _INTL("Change hat") commands[cmdClothes = commands.length] = _INTL("Change clothes") - commands[cmdHat = commands.length] = _INTL("Change hat 1 (#{hat1_name})") - commands[cmdHat2 = commands.length] = _INTL("Change hat 2 (#{hat2_name})") - commands[switchHats = commands.length] = _INTL("Switch hat positions") commands[cmdQuit = commands.length] = _INTL("Quit") - #TODO change this into a graphical menu with icons + cmd = pbMessage(_INTL("What would you like to do?"), commands, cmdQuit + 1) loop do - cmd = pbMessage(_INTL("What would you like to do?"), commands, cmdQuit + 1) if cmd == cmdClothes changeClothesMenu() break elsif cmd == cmdHat changeHatMenu() break - elsif cmd == cmdHat2 - changeHatMenu(true) - break - elsif cmd == switchHats - switchHatsPosition() - break else break end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb index 941213ca4..38ebc0729 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb @@ -13,57 +13,10 @@ class ClothesShopPresenter < PokemonMartScreen @scene.pbEndBuyScene end - def playerHatActionsMenu(item, is_secondary=false) - is_player_hat = item.id == @adapter.worn_clothes - options = [] - if is_player_hat - options << "Take off" - else - options << "Wear" - end - remove_dye_option_available = $Trainer.hat_color(@adapter.is_secondary_hat) != 0 - options << "Remove dye" if remove_dye_option_available - options << "Mark as favorite" if $Trainer.favorite_hat(@adapter.is_secondary_hat) != item.id - options << "Unmark as favorite" if $Trainer.favorite_hat(@adapter.is_secondary_hat) == item.id - - options << "Cancel" - # if $Trainer.hat_color != 0 - choice = pbMessage("What would you like to do?", options, -1) - if choice == 0 - if is_player_hat # remove - @adapter.doSpecialItemAction(:REMOVE) - @scene.pbEndBuyScene - return false - else - # wear - putOnClothes(item) - $Trainer.set_hat_color(@adapter.get_dye_color(item),@adapter.is_secondary_hat) - return false - end - elsif choice == 1 && remove_dye_option_available - if pbConfirm(_INTL("Are you sure you want to remove the dye from the {1}?", item.name)) - $Trainer.set_hat_color(0,@adapter.is_secondary_hat) - end - return true - elsif options[choice] == "Mark as favorite" - slot = @adapter.is_secondary_hat ? "slot 1" : "slot 2" - $Trainer.set_favorite_hat(item.id,@adapter.is_secondary_hat) - pbSEPlay("GUI storage show party panel") - pbMessage("The #{item.name} is now your favorite (#{slot})!") - echoln "marked #{item.id} as favorite hat" - elsif options[choice] == "Unmark as favorite" - $Trainer.set_favorite_hat(nil,@adapter.is_secondary_hat) - pbSEPlay("GUI storage show party panel") - pbMessage("The #{item.name} is no longer marked as your favorite!") - end - echoln "cancelled" - return true - end # returns if should stay in the menu def playerClothesActionsMenu(item) - is_worn = item.id == @adapter.worn_clothes options = [] options << "Wear" options << "Remove dye" if $Trainer.clothes_color != 0 @@ -106,7 +59,6 @@ class ClothesShopPresenter < PokemonMartScreen return elsif @adapter.is_a?(HatsMartAdapter) stay_in_menu = playerHatActionsMenu(item) - echoln stay_in_menu next if stay_in_menu return else diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter_HatsMenu.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter_HatsMenu.rb new file mode 100644 index 000000000..1fe17eeab --- /dev/null +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter_HatsMenu.rb @@ -0,0 +1,114 @@ +class ClothesShopPresenter < PokemonMartScreen + + def removeHat(item) + if item.id == @adapter.worn_clothes + $Trainer.set_hat(nil,false) + @adapter.worn_clothes = nil + elsif item.id == @adapter.worn_clothes2 + $Trainer.set_hat(nil,true) + @adapter.worn_clothes2 = nil + end + end + + def wearAsHat1(item) + @adapter.set_secondary_hat(false) + putOnClothes(item) + $Trainer.set_hat_color(@adapter.get_dye_color(item),false) + end + def wearAsHat2(item) + @adapter.set_secondary_hat(true) + putOnClothes(item) + $Trainer.set_hat_color(@adapter.get_dye_color(item),true) + end + + def removeDye(item) + if pbConfirm(_INTL("Are you sure you want to remove the dye from the {1}?", item.name)) + $Trainer.set_hat_color(0,@adapter.is_secondary_hat) + end + end + + def swapHats() + hat1 = $Trainer.hat + hat2 = $Trainer.hat2 + hat1_color = $Trainer.hat_color + hat2_color = $Trainer.hat2_color + + $Trainer.hat = hat2 + $Trainer.hat2 = hat1 + $Trainer.hat_color = hat1_color + $Trainer.hat2_color = hat2_color + pbSEPlay("GUI naming tab swap start") + + + new_selected_hat = @adapter.is_secondary_hat ? $Trainer.hat2 : $Trainer.hat + @scene.select_specific_item(new_selected_hat) + end + + + def build_options_menu(cmd_confirm,cmd_remove,cmd_remove_dye,cmd_swap,cmd_cancel) + options = [] + options << cmd_confirm + options << cmd_remove + + options << cmd_swap + remove_dye_option_available = $Trainer.hat_color(@adapter.is_secondary_hat) != 0 + options << cmd_remove_dye if remove_dye_option_available + options << cmd_cancel + end + + def build_wear_options(cmd_wear_hat1,cmd_wear_hat2,cmd_replace_hat1,cmd_replace_hat2) + options = [] + primary_hat, secondary_hat = @adapter.worn_clothes, @adapter.worn_clothes2 + primary_cmds = primary_hat ? cmd_replace_hat1 : cmd_wear_hat1 + secondary_cmds = secondary_hat ? cmd_replace_hat2 : cmd_wear_hat2 + + if @adapter.is_secondary_hat + options << secondary_cmds + options << primary_cmds + else + options << primary_cmds + options << secondary_cmds + end + return options + end + + + def putOnHats() + putOnHat($Trainer.hat,true,false) + putOnHat($Trainer.hat2,true,true) + @worn_clothes = $Trainer.hat + @worn_clothes2 = $Trainer.hat2 + + playOutfitChangeAnimation() + pbMessage(_INTL("You put on the hat(s)!\\wtnp[30]")) + @scene.pbEndBuyScene + end + def playerHatActionsMenu(item) + cmd_confirm = "Confirm" + + cmd_remove = "Remove hat" + cmd_cancel = "Cancel" + cmd_remove_dye = "Remove dye" + cmd_swap = "Swap hats positions" + + options = build_options_menu(cmd_confirm,cmd_remove,cmd_remove_dye,cmd_swap,cmd_cancel) + + choice = pbMessage("What would you like to do?", options, -1,nil,0) + if options[choice] == cmd_remove + removeHat(item) + return true + elsif options[choice] == cmd_confirm + putOnHats() + $Trainer.hat_color = @adapter.get_dye_color($Trainer.hat) + $Trainer.hat2_color = @adapter.get_dye_color($Trainer.hat2) + + return false + elsif options[choice] == cmd_remove_dye + removeDye(item) + return true + elsif options[choice] == cmd_swap + swapHats() + return true + end + end +end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb index f4386906f..5754d9944 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb @@ -8,9 +8,9 @@ class ClothesShopView < PokemonMart_Scene super(buying, stock, adapter) @sprites["icon"].visible = false if @adapter.isShop? - @sprites["background"].setBitmap("Graphics/Pictures/martScreenOutfit") + @sprites["background"].setBitmap("Graphics/Pictures/Outfits/martScreenOutfit") else - @sprites["background"].setBitmap("Graphics/Pictures/changeOutfitScreen") + @sprites["background"].setBitmap("Graphics/Pictures/Outfits/changeOutfitScreen") end preview_y = @adapter.isShop? ? 80 : 0 @@ -23,6 +23,19 @@ class ClothesShopView < PokemonMart_Scene end + def select_specific_item(scroll_to_item_id) + itemwindow = @sprites["itemwindow"] + i=0 + for item in @adapter.items + next if !item.is_a?(Outfit) + if item.id == scroll_to_item_id + itemwindow.index=i + itemwindow.refresh + end + i+=1 + end + end + def scroll_map pbScrollMap(DIRECTION_UP, 5, 6) pbScrollMap(DIRECTION_RIGHT, 7, 6) @@ -43,7 +56,7 @@ class ClothesShopView < PokemonMart_Scene def refreshStock(adapter) @adapter = adapter - @sprites["itemwindow"].dispose + @sprites["itemwindow"].dispose if !@sprites @sprites["itemwindow"] = Window_PokemonMart.new(@stock, BuyAdapter.new(adapter), Graphics.width - 316 - 16, 12, 330 + 16, Graphics.height - 126) end @@ -110,9 +123,9 @@ class ClothesShopView < PokemonMart_Scene #@adapter.switchVersion(itemwindow.item, -1) #updateTrainerPreview() end - if Input.trigger?(Input::AUX2) #R button - @adapter.switchVersion(itemwindow.item, 1) - updateTrainerPreview() + + if Input.trigger?(Input::AUX2) || Input.trigger?(Input::SHIFT) #R button + switchItemVersion(itemwindow) end if Input.trigger?(Input::SPECIAL) #R button @adapter.toggleEvent(itemwindow.item) @@ -137,6 +150,11 @@ class ClothesShopView < PokemonMart_Scene } end + def switchItemVersion(itemwindow) + @adapter.switchVersion(itemwindow.item, 1) + updateTrainerPreview() + end + def update if Input.trigger?(Input::LEFT) pbSEPlay("GUI party switch", 80, 100) diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb index 381e5a66e..dc5c611c0 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb @@ -85,11 +85,6 @@ class HairMartAdapter < OutfitsMartAdapter return item.id end - def getDisplayName(item) - return getName(item) if !item.name - return item.name - end - def getDescription(item) return DEFAULT_DESCRIPTION if !item.description return item.description diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/HatShopView.rb b/Data/Scripts/050_Outfits/UI/clothesShop/HatShopView.rb new file mode 100644 index 000000000..ebccc6b1f --- /dev/null +++ b/Data/Scripts/050_Outfits/UI/clothesShop/HatShopView.rb @@ -0,0 +1,95 @@ +# frozen_string_literal: true + +class HatShopView < ClothesShopView + + def initialize(currency_name = "Money") + @currency_name = currency_name + end + + + def pbStartBuyOrSellScene(buying, stock, adapter) + super(buying, stock, adapter) + if !@adapter.isShop? + @sprites["hatLayer_selected1"] = IconSprite.new(0, 0, @viewport) + @sprites["hatLayer_selected2"] = IconSprite.new(0, 0, @viewport) + + @sprites["hatLayer_selected1"].setBitmap("Graphics/Pictures/Outfits/hatLayer_selected1") + @sprites["hatLayer_selected2"].setBitmap("Graphics/Pictures/Outfits/hatLayer_selected2") + + updateSelectedLayerGraphicsVisibility + + @sprites["wornHat_layer1"] = IconSprite.new(25, 200, @viewport) + @sprites["wornHat_layer2"] = IconSprite.new(95, 200, @viewport) + + displayLayerIcons + end + end + + def switchItemVersion(itemwindow) + @adapter.switchVersion(itemwindow.item, 1) + new_selected_hat = @adapter.is_secondary_hat ? $Trainer.hat2 : $Trainer.hat + + + echoln "scroll to #{new_selected_hat} (#{@adapter.is_secondary_hat}" + select_specific_item(new_selected_hat) + updateTrainerPreview() + end + + def displayLayerIcons(selected_item=nil) + if !selected_item.is_a?(Hat) + if @adapter.is_secondary_hat + @sprites["wornHat_layer2"].bitmap=nil + else + @sprites["wornHat_layer1"].bitmap=nil + end + return + end + hat1Filename = getOverworldHatFilename($Trainer.hat) + hat2Filename = getOverworldHatFilename($Trainer.hat2) + + + hat_color_shift = $Trainer.dyed_hats[@adapter.worn_clothes] + hat2_color_shift = $Trainer.dyed_hats[@adapter.worn_clothes2] + + hatBitmapWrapper = AnimatedBitmap.new(hat1Filename, hat_color_shift) if pbResolveBitmap(hat1Filename) + hat2BitmapWrapper = AnimatedBitmap.new(hat2Filename, hat2_color_shift) if pbResolveBitmap(hat2Filename) + + @sprites["wornHat_layer1"].bitmap = hatBitmapWrapper.bitmap if hatBitmapWrapper + @sprites["wornHat_layer2"].bitmap = hat2BitmapWrapper.bitmap if hat2BitmapWrapper + + frame_width=80 + frame_height=40 + + @sprites["wornHat_layer1"].src_rect.set(0, 0, frame_width, frame_height) if hatBitmapWrapper + @sprites["wornHat_layer2"].src_rect.set(0, 0, frame_width, frame_height) if hat2BitmapWrapper + end + + + def updateSelectedLayerGraphicsVisibility() + @sprites["hatLayer_selected1"].visible = !@adapter.is_secondary_hat + @sprites["hatLayer_selected2"].visible = @adapter.is_secondary_hat + end + + + def displayNewItem(itemwindow) + item = itemwindow.item + if item + if item.is_a?(Symbol) + description = @adapter.getSpecialItemDescription(itemwindow.item) + else + description = @adapter.getDescription(itemwindow.item) + end + @adapter.updateTrainerPreview(itemwindow.item, @sprites["trainerPreview"]) + displayLayerIcons(item) + else + description = _INTL("Quit.") + end + @sprites["itemtextwindow"].text = description + end + + def updateTrainerPreview() + super + updateSelectedLayerGraphicsVisibility + end + +end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb index 356015b96..5d403c47a 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb @@ -1,9 +1,14 @@ class HatsMartAdapter < OutfitsMartAdapter + attr_accessor :worn_clothes + attr_accessor :worn_clothes2 + DEFAULT_NAME = "[unknown]" DEFAULT_DESCRIPTION = "A headgear that trainers can wear." def initialize(stock = nil, isShop = nil, isSecondaryHat = false) super(stock,isShop,isSecondaryHat) + @worn_clothes = $Trainer.hat(false) + @worn_clothes2 = $Trainer.hat(true) end def toggleEvent(item) @@ -11,8 +16,18 @@ class HatsMartAdapter < OutfitsMartAdapter $Trainer.set_hat(nil,@is_secondary_hat) @worn_clothes = nil - if pbConfirmMessage(_INTL("Do you want to take off your hat?")) - $Trainer.set_hat(nil,@is_secondary_hat) + hat1_name = get_hat_by_id($Trainer.hat) ? get_hat_by_id($Trainer.hat).name : "(Empty)" + hat2_name = get_hat_by_id($Trainer.hat2) ? get_hat_by_id($Trainer.hat2).name : "(Empty)" + + cmd_remove_hat1 = "Remove #{hat1_name}" + cmd_remove_hat2 = "Remove #{hat2_name}" + options = [cmd_remove_hat1,cmd_remove_hat2, "Cancel"] + choice = optionsMenu(options) + if options[choice] == cmd_remove_hat1 + $Trainer.set_hat(nil,false) + @worn_clothes = nil + elsif options[choice] == cmd_remove_hat2 + $Trainer.set_hat(nil,true) @worn_clothes = nil end end @@ -22,6 +37,10 @@ class HatsMartAdapter < OutfitsMartAdapter @is_secondary_hat = value end + def is_wearing_clothes(outfit_id) + return outfit_id == @worn_clothes || outfit_id == @worn_clothes2 + end + def toggleText() return # return if @isShop @@ -29,15 +48,12 @@ class HatsMartAdapter < OutfitsMartAdapter # return "Remove hat: #{toggleKey}" end - def getName(item) - return item.id + def switchVersion(item,delta=1) + @is_secondary_hat = !@is_secondary_hat end - def getDisplayName(item) - return getName(item) if !item.name - name = item.name - name = "* #{name}" if item.id == $Trainer.favorite_hat(@is_secondary_hat) - return name + def getName(item) + return item.id end def getDescription(item) @@ -151,7 +167,7 @@ class HatsMartAdapter < OutfitsMartAdapter return "Go without a hat and show off your #{hair_situation}!" end - def doSpecialItemAction(specialType) - toggleEvent(nil) + def doSpecialItemAction(specialType,item=nil) + toggleEvent(item) end end diff --git a/Data/Scripts/052_AddOns/New Items effects.rb b/Data/Scripts/052_AddOns/New Items effects.rb index f4a070fa0..323b66c0c 100644 --- a/Data/Scripts/052_AddOns/New Items effects.rb +++ b/Data/Scripts/052_AddOns/New Items effects.rb @@ -374,6 +374,24 @@ ItemHandlers::UseFromBag.add(:ODDKEYSTONE, proc { |item| }) def useFavoriteOutfit() + cmd_switch = "Switch to favorite outfit" + cmd_mark_favorite = "Mark current outfit as favorite" + cmd_cancel = "Cancel" + + options = [cmd_switch, cmd_mark_favorite, cmd_cancel] + choice = optionsMenu(options) + if options[choice] == cmd_switch + switchToFavoriteOutfit() + elsif options[choice] == cmd_mark_favorite + pbSEPlay("shiny", 80, 100) + $Trainer.favorite_clothes= $Trainer.clothes + $Trainer.favorite_hat = $Trainer.hat + $Trainer.favorite_hat2=$Trainer.hat2 + pbMessage(_INTL("Your favorite outfit was updated!")) + end +end + +def switchToFavoriteOutfit() if !$Trainer.favorite_clothes && !$Trainer.favorite_hat && !$Trainer.favorite_hat2 pbMessage(_INTL("You can mark clothes and hats as your favorites in the outfits menu and use this to quickly switch to them!")) return 0 diff --git a/Data/System.rxdata b/Data/System.rxdata index d2dbb56e6..2fbeccb3b 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ diff --git a/Data/sprites/sprites_rate_limit.log b/Data/sprites/sprites_rate_limit.log index ff147bf19..8a966b109 100644 --- a/Data/sprites/sprites_rate_limit.log +++ b/Data/sprites/sprites_rate_limit.log @@ -1,4 +1,4 @@ -1741272072 -1741272072 -1741272072 -1741272079 \ No newline at end of file +1741455948 +1741455993 +1741455993 +1741455993 \ No newline at end of file diff --git a/Data/sprites/updated_spritesheets_cache b/Data/sprites/updated_spritesheets_cache index ca96b2617..49c486c17 100644 --- a/Data/sprites/updated_spritesheets_cache +++ b/Data/sprites/updated_spritesheets_cache @@ -1,53 +1,532 @@ -Graphics/CustomBattlers/spritesheets/spritesheets_base/301.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/438.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/438/438.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/183.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/440.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/440/440.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/288.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/473.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/489.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/489/489.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/246.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/278.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/278/278.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/177.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/370.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/370/370.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1b.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/256.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/418.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/418/418.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/68.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/52.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/79.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/194.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/265.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/265/265.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/480.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/167.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/167/167.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1a.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/365.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/413.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/413/413a.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/344.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/424.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/74.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1c.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1d.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/289.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/5.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/5/5.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/351.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/22.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/22/22.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/209.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/283.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/283/283.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/71.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/192.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/192/192.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/58.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/177.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/177/177.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/392.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/150.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/150/150a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/114.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/492.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/492/492.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/460.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/1.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/380.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/134.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/134/134.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/148.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/180.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/180/180.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/439.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/439/439.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/267.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/184.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/184/184.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/154.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/78.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/78/78.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/122.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/122/122.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/203.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/25.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/25/25.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/226.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/186.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/186/186.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/238.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/309.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/309/309.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/286.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/476.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/476/476.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/119.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/444/444.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/427.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/112.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/219.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/219/219.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/183.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/41.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/41/41.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/300.png Graphics/CustomBattlers/spritesheets/spritesheets_base/126.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/126/126.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/241.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/256/256.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/57.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/130.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/130/130a.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1c.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/229.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/47.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/47/47.png -Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1d.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/273.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/395.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/190.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/190/190.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/206.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/374.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/250.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/235.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/235/235.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/102.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/179.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/179/179.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/382.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/202.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/202/202.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/92.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/21.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/282.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/282/282.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/17.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/17/17.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/264.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/9.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/9/9a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/371.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/99.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/99/99.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/271.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/201.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/201/201.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/442.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/370.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/290.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/290/290.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/357.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/443/443.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/300/300.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/369.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/490.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/490/490a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/43.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/158.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/158/158.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/234.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/337.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/337/337.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/4.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/12.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/12/12.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/375.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/332/332.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/93/93.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/414.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/414/414.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/285.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/113.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/113/113.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/342.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/15.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/15/15.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/387.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/323.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/323/323.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/479.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/123.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/374/374.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/105/105.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/400.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/500/500.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/227.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/250/250a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/278.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/278/278.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/488.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/376.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/376/376.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/222.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/211.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/211/211.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/253.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/196/196.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/337/337a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/68.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/27.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/350.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/350/350.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/255.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/313/313.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/340.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/370/370.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/44.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/11.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/398.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/398/398.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/64.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/144/144a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/57/57.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/159.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/40.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/172.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/172/172.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/307.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/14/14.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/163.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/394/394.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/338.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/116.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/116/116.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/210.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/227/227.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/391.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/162/162.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/2.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/258.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/101.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/101/101.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/32.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/254.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/354.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/354/354.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/339.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/421.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/421/421c.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/296.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/254/254.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/66.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/322/322.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/287.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/61.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/157.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/157/157.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/332.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/368.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/368/368.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/302.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/302/302.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/379.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/315/315.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/366.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/366/366.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/326.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/329/329.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/322.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/485.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/146.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/225.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/335.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/335/335.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/73.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/352.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/352/352.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/84.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/496/496.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/152.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/152/152.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/105.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/107/107.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/281.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/185.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/360.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/458.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/164.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/54.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/54/54.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/59.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/391/391.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/410.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/197.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/197/197.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/196.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/119/119.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/33.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/218.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/80.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/392/392a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/260.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/86.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/362.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/304.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/304/304.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/150/150b.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/139.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/139/139.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/454.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/394.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/221.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/221/221.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/137.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/137/137.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/428/428.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/222/222a.png -Graphics/CustomBattlers/spritesheets/spritesheets_base/372.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/228/228.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/456/456.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/39/39.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/43/43d.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/46/46a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/33/33a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/33/33.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/47/47b.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/233/233.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/232/232.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/470.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/469.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/213.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/213/213.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/228.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/242.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/242/242.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/318.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/182.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/182/182.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/455.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/42.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/42/42.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/26.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/26/26.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/387/387.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/155.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/251.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/251/251.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/136/136.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/138/138.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/256/256.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/341.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/341/341.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/239.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/348.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/348/348.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/181.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/273/273.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/353.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/204.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/204/204.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/81.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/104.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/104/104.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/422.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/392/392.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/426.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/120.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/413.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/413/413a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/403.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/403/403.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/285/285.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/176/176.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/127.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/460/460.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/264/264.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/169.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/438.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/438/438.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/445.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/378.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/378/378.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/300/300a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/81/81.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/191.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/191/191.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/149.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/294.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/294/294.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/69/69.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/131/131.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/161.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/39.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/252.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/252/252.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/46.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/46/46.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/110.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/241.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/293.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/293/293.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/77.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/314.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/314/314.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/435/435.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/258/258.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/141.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/409.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/328.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/328/328.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/310.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/310/310.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/246.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/297.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/297/297.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/482.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/482/482.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/142.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/7.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/7/7.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/107.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/14.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/193.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/256.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/21/21.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/275.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/275/275.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/269.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/109.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/218/218.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/170.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/170/170.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/35.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/43/43.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/397.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/129.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/129/129.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/45.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/85.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/162.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/402.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/402/402.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/450.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/443.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/53.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/206/206.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/400/400.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/84/84.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/462.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/462/462.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/112/112.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/187.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/187/187.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/346.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/346/346.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/359.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/359/359.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/303.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/127/127.png Graphics/CustomBattlers/spritesheets/spritesheets_base/55.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/55/55.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/234/234.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/463.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/6.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/6/6.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/493.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/446.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/446/446.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/24.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/111.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/111/111.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/208.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/208/208.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/500.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/175.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/83.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/83/83.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/262.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/262/262.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/334.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/437.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/437/437a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/166.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/166/166.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/386.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/114/114.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/303/303.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/169/169.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/461.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/313.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/74.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/67.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/67/67.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/57.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/408.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/373.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/373/373.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/425.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/179/179a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/188.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/133.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/133/133.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/23.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/23/23.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/295.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/412.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/412/412.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/36.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/334/334.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/37.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/311.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/311/311.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/93.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/468.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/154/154a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/132.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/300/300e.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/277.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/422/422.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/50.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/280.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/280/280.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/466.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/468/468.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/457.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/231.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/143.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/143/143.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/274.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/181/181.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/173.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/267/267a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/357/357.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/20.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/20/20.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/151.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/151/151a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/91.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/91/91.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/239/239.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/419.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/10.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/10/10.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/384.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/384/384a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/19.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/458/458.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/233.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/165.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/451.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/451/451.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/444.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/435.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/440.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/395/395.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/406.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/406/406.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/95.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/95/95.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/125.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/125/125.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/151/151.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/467.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/371/371.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/455/455.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/155/155.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/301.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/393.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/85/85.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/299.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/241/241.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/344.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/222/222.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/205.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/489.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/489/489.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/390.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/390/390.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/284.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/115.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/115/115.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/248.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/448.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/103.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/16.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/355.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/355/355.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/457/457.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/82.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/3.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/94.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/94/94d.png diff --git a/Graphics/.DS_Store b/Graphics/.DS_Store index 7f65db8f1..60d792c65 100644 Binary files a/Graphics/.DS_Store and b/Graphics/.DS_Store differ diff --git a/Graphics/Pictures/changeOutfitScreen.png b/Graphics/Pictures/Outfits/changeOutfitScreen.png similarity index 100% rename from Graphics/Pictures/changeOutfitScreen.png rename to Graphics/Pictures/Outfits/changeOutfitScreen.png diff --git a/Graphics/Pictures/Outfits/hatLayer_selected1.png b/Graphics/Pictures/Outfits/hatLayer_selected1.png new file mode 100644 index 000000000..168599613 Binary files /dev/null and b/Graphics/Pictures/Outfits/hatLayer_selected1.png differ diff --git a/Graphics/Pictures/Outfits/hatLayer_selected2.png b/Graphics/Pictures/Outfits/hatLayer_selected2.png new file mode 100644 index 000000000..96aef2244 Binary files /dev/null and b/Graphics/Pictures/Outfits/hatLayer_selected2.png differ diff --git a/Graphics/Pictures/martScreenOutfit.png b/Graphics/Pictures/Outfits/martScreenOutfit.png similarity index 100% rename from Graphics/Pictures/martScreenOutfit.png rename to Graphics/Pictures/Outfits/martScreenOutfit.png