diff --git a/.DS_Store b/.DS_Store index 6a6589cdc..52ae360eb 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Data/Actors.rxdata b/Data/Actors.rxdata index 7967a5432..41edc8e26 100644 Binary files a/Data/Actors.rxdata and b/Data/Actors.rxdata differ diff --git a/Data/Animations.rxdata b/Data/Animations.rxdata index a900929a9..71336e1f0 100644 Binary files a/Data/Animations.rxdata and b/Data/Animations.rxdata differ diff --git a/Data/Armors.rxdata b/Data/Armors.rxdata index 2249bec14..901f2bb2b 100644 Binary files a/Data/Armors.rxdata and b/Data/Armors.rxdata differ diff --git a/Data/CommonEvents.rxdata b/Data/CommonEvents.rxdata index a505dc4f9..2c3a12d33 100644 Binary files a/Data/CommonEvents.rxdata and b/Data/CommonEvents.rxdata differ diff --git a/Data/Enemies.rxdata b/Data/Enemies.rxdata index 004ee903d..be622f513 100644 Binary files a/Data/Enemies.rxdata and b/Data/Enemies.rxdata differ diff --git a/Data/Items.rxdata b/Data/Items.rxdata index 3e62ba6d2..fe767fa0b 100644 Binary files a/Data/Items.rxdata and b/Data/Items.rxdata differ diff --git a/Data/Map359.rxdata b/Data/Map359.rxdata index 85cb21ea8..c5aae6d4b 100644 Binary files a/Data/Map359.rxdata and b/Data/Map359.rxdata differ diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index 8c9a1c608..056e84b2b 100644 Binary files a/Data/MapInfos.rxdata and b/Data/MapInfos.rxdata differ diff --git a/Data/Scripts/001_Settings.rb b/Data/Scripts/001_Settings.rb index 40088ac99..33ad3035f 100644 --- a/Data/Scripts/001_Settings.rb +++ b/Data/Scripts/001_Settings.rb @@ -5,9 +5,9 @@ #==============================================================================# module Settings # The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format. - GAME_VERSION = '6.4.6' - GAME_VERSION_NUMBER = "6.4.7" - LATEST_GAME_RELEASE = "6.4" + GAME_VERSION = '6.5' + GAME_VERSION_NUMBER = "6.5.0" + LATEST_GAME_RELEASE = "6.5" POKERADAR_LIGHT_ANIMATION_RED_ID = 17 POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18 @@ -575,7 +575,8 @@ module Settings # Available menu frames. These are graphic files in "Graphics/Windowskins/". MENU_WINDOWSKINS = [ - "choice 1", + "default_transparent", + "default_opaque", "choice 2", "choice 3", "choice 4", diff --git a/Data/Scripts/050_Outfits/UI/PokemonHatScreenPresenter.rb b/Data/Scripts/050_Outfits/UI/PokemonHatScreenPresenter.rb index ecbf0cb3b..9c8a85b7f 100644 --- a/Data/Scripts/050_Outfits/UI/PokemonHatScreenPresenter.rb +++ b/Data/Scripts/050_Outfits/UI/PokemonHatScreenPresenter.rb @@ -16,18 +16,6 @@ class PokemonHatPresenter @original_pokemon_bitmap = nil end - # def getPicturePath() - # if @pokemon.isTripleFusion? - # picturePath = GameData::Species::getSpecialSpriteName(@pokemon.species_data.id_number) - # elsif @pokemon.isFusion? - # picturePath = get_fusion_sprite_path(@pokemon.species_data.head_pokemon.id_number, @pokemon.species_data.body_pokemon.id_number) - # else - # picturePath = get_unfused_sprite_path(@pokemon.species_data.id_number) - # end - # echoln picturePath - # return picturePath - # end - def pbStartScreen @view.init_window(self) cancel if !select_hat() @@ -101,14 +89,6 @@ class PokemonHatPresenter echoln @pokemon.species_data @original_pokemon_bitmap = spriteLoader.load_base_sprite(@pokemon.id_number) end - - # picturePath = getPicturePath() - # if picturePath - # @original_pokemon_bitmap = AnimatedBitmap.new(picturePath) - # else - # @original_pokemon_bitmap = GameData::Species.setAutogenSprite(@pokemon) - # #autogen - # end @original_pokemon_bitmap.scale_bitmap(Settings::FRONTSPRITE_SCALE) end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb index 38ebc0729..81e0ea702 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter.rb @@ -27,7 +27,7 @@ class ClothesShopPresenter < PokemonMartScreen if choice == 0 putOnClothes(item) - $Trainer.clothes_color = @adapter.get_dye_color(item) + $Trainer.clothes_color = @adapter.get_dye_color(item.id) return false elsif options[choice] == "Remove dye" if pbConfirm(_INTL("Are you sure you want to remove the dye from the {1}?", item.name)) @@ -50,7 +50,15 @@ class ClothesShopPresenter < PokemonMartScreen item = nil loop do item = @scene.pbChooseBuyItem - break if !item + #break if !item + if !item + if pbConfirm(_INTL("Discard the changes to your outfit?")) + break + else + item = @scene.pbChooseBuyItem + end + end + if !@adapter.isShop? if @adapter.is_a?(ClothesMartAdapter) diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter_HatsMenu.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter_HatsMenu.rb index 1fe17eeab..b3fc6e47a 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter_HatsMenu.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopPresenter_HatsMenu.rb @@ -1,24 +1,20 @@ 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 + pbSEPlay("GUI storage put down") + @adapter.toggleEvent(item) + @scene.select_specific_item(nil,true) end def wearAsHat1(item) @adapter.set_secondary_hat(false) putOnClothes(item) - $Trainer.set_hat_color(@adapter.get_dye_color(item),false) + $Trainer.set_hat_color(@adapter.get_dye_color(item.id),false) end def wearAsHat2(item) @adapter.set_secondary_hat(true) putOnClothes(item) - $Trainer.set_hat_color(@adapter.get_dye_color(item),true) + $Trainer.set_hat_color(@adapter.get_dye_color(item.id),true) end def removeDye(item) @@ -28,31 +24,26 @@ class ClothesShopPresenter < PokemonMartScreen end def swapHats() - hat1 = $Trainer.hat - hat2 = $Trainer.hat2 - hat1_color = $Trainer.hat_color - hat2_color = $Trainer.hat2_color + $Trainer.hat, $Trainer.hat2 = $Trainer.hat2, $Trainer.hat + #$Trainer.hat_color,$Trainer.hat2_color=$Trainer.hat2_color,$Trainer.hat_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) + @scene.select_specific_item(new_selected_hat,true) + @scene.updatePreviewWindow end - def build_options_menu(cmd_confirm,cmd_remove,cmd_remove_dye,cmd_swap,cmd_cancel) + def build_options_menu(item,cmd_confirm,cmd_remove,cmd_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 + dye_option_available = true#$Trainer.dyed_hats.include?(item.id) && $Trainer.dyed_hats[item.id] != 0 + options << cmd_dye if dye_option_available options << cmd_cancel end @@ -74,25 +65,60 @@ class ClothesShopPresenter < PokemonMartScreen def putOnHats() + @adapter.worn_clothes = $Trainer.hat + @adapter.worn_clothes2 = $Trainer.hat2 + 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 dyeOptions(secondary_hat=false,item) + original_color = secondary_hat ? $Trainer.hat2_color : $Trainer.hat_color + options = ["Shift up", "Shift down", "Reset", "Confirm", "Never Mind"] + previous_input = 0 + while (true) + choice = pbShowCommands(nil, options, options.length, previous_input,200) + previous_input = choice + case choice + when 0 #NEXT + pbSEPlay("GUI storage pick up", 80, 100) + shiftHatColor(10,secondary_hat) + ret = true + when 1 #PREVIOUS + pbSEPlay("GUI storage pick up", 80, 100) + shiftHatColor(-10,secondary_hat) + ret = true + when 2 #Reset + pbSEPlay("GUI storage put down", 80, 100) + $Trainer.hat_color = 0 if !secondary_hat + $Trainer.hat2_color = 0 if secondary_hat + ret = false + when 3 #Confirm + break + else + $Trainer.hat_color = original_color if !secondary_hat + $Trainer.hat2_color = original_color if secondary_hat + ret = false + break + end + @scene.updatePreviewWindow + @scene.displayLayerIcons(item) + end + return ret + 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) + cmd_dye = "Dye Kit" + cmd_swap = "Swap hat positions" + options = build_options_menu(item,cmd_confirm,cmd_remove,cmd_dye,cmd_swap,cmd_cancel) choice = pbMessage("What would you like to do?", options, -1,nil,0) if options[choice] == cmd_remove removeHat(item) @@ -103,12 +129,17 @@ class ClothesShopPresenter < PokemonMartScreen $Trainer.hat2_color = @adapter.get_dye_color($Trainer.hat2) return false - elsif options[choice] == cmd_remove_dye - removeDye(item) + elsif options[choice] == cmd_dye + #removeDye(item) selectHatColor + dyeOptions(@adapter.is_secondary_hat,item) return true elsif options[choice] == cmd_swap swapHats() return true + elsif options[choice] == "dye" + selectHatColor end + @scene.updatePreviewWindow + return true end end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb index 5754d9944..2fc475fc0 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShopView.rb @@ -23,8 +23,13 @@ class ClothesShopView < PokemonMart_Scene end - def select_specific_item(scroll_to_item_id) + def select_specific_item(scroll_to_item_id,go_to_end_of_list_if_nil=false) itemwindow = @sprites["itemwindow"] + if !scroll_to_item_id && go_to_end_of_list_if_nil + itemwindow.index=@adapter.items.length-1 + itemwindow.refresh + end + i=0 for item in @adapter.items next if !item.is_a?(Outfit) @@ -104,6 +109,11 @@ class ClothesShopView < PokemonMart_Scene @sprites["itemtextwindow"].text = description end + def updatePreviewWindow + itemwindow= @sprites["itemwindow"] + @adapter.updateTrainerPreview(itemwindow.item, @sprites["trainerPreview"]) + end + def pbChooseBuyItem itemwindow = @sprites["itemwindow"] refreshStock(@adapter) if !itemwindow @@ -137,8 +147,8 @@ class ClothesShopView < PokemonMart_Scene return nil elsif Input.trigger?(Input::USE) if itemwindow.item.is_a?(Symbol) - @adapter.doSpecialItemAction(itemwindow.item) - updateTrainerPreview() + ret = onSpecialActionTrigger(itemwindow) + return ret if ret elsif itemwindow.index < @stock.length pbRefresh return @stock[itemwindow.index] @@ -150,6 +160,23 @@ class ClothesShopView < PokemonMart_Scene } end + def onSpecialActionTrigger(itemwindow) + @adapter.doSpecialItemAction(itemwindow.item) + updateTrainerPreview() + return nil + end + def onItemClick(itemwindow) + if itemwindow.item.is_a?(Symbol) + @adapter.doSpecialItemAction(itemwindow.item) + updateTrainerPreview() + elsif itemwindow.index < @stock.length + pbRefresh + return @stock[itemwindow.index] + else + return nil + end + end + def switchItemVersion(itemwindow) @adapter.switchVersion(itemwindow.item, 1) updateTrainerPreview() diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/HatShopView.rb b/Data/Scripts/050_Outfits/UI/clothesShop/HatShopView.rb index ebccc6b1f..881e10c2a 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/HatShopView.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/HatShopView.rb @@ -28,13 +28,16 @@ class HatShopView < ClothesShopView 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) + select_specific_item(new_selected_hat,true) updateTrainerPreview() end + def onSpecialActionTrigger(itemwindow) + #@adapter.doSpecialItemAction(itemwindow.item) + #updateTrainerPreview() + return @stock[itemwindow.index] + end + def displayLayerIcons(selected_item=nil) if !selected_item.is_a?(Hat) if @adapter.is_secondary_hat @@ -48,8 +51,8 @@ class HatShopView < ClothesShopView hat2Filename = getOverworldHatFilename($Trainer.hat2) - hat_color_shift = $Trainer.dyed_hats[@adapter.worn_clothes] - hat2_color_shift = $Trainer.dyed_hats[@adapter.worn_clothes2] + hat_color_shift = $Trainer.dyed_hats[$Trainer.hat] + hat2_color_shift = $Trainer.dyed_hats[$Trainer.hat2] hatBitmapWrapper = AnimatedBitmap.new(hat1Filename, hat_color_shift) if pbResolveBitmap(hat1Filename) hat2BitmapWrapper = AnimatedBitmap.new(hat2Filename, hat2_color_shift) if pbResolveBitmap(hat2Filename) @@ -58,7 +61,7 @@ class HatShopView < ClothesShopView @sprites["wornHat_layer2"].bitmap = hat2BitmapWrapper.bitmap if hat2BitmapWrapper frame_width=80 - frame_height=40 + frame_height=80 @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 diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb index 5d403c47a..8a492996d 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb @@ -12,25 +12,8 @@ class HatsMartAdapter < OutfitsMartAdapter end def toggleEvent(item) - if !@isShop - $Trainer.set_hat(nil,@is_secondary_hat) - @worn_clothes = nil - - 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 + $Trainer.set_hat(nil,@is_secondary_hat) + @worn_clothes = nil end def set_secondary_hat(value) @@ -68,9 +51,24 @@ class HatsMartAdapter < OutfitsMartAdapter def updateTrainerPreview(item, previewWindow) if item.is_a?(Outfit) - previewWindow.set_hat(item.id,@is_secondary_hat) - $Trainer.set_hat(item.id,@is_secondary_hat)# unless $Trainer.hat==nil - set_dye_color(item,previewWindow) + hat1 = @is_secondary_hat ? get_hat_by_id($Trainer.hat) : item + hat2 = @is_secondary_hat ? item : get_hat_by_id($Trainer.hat2) + + previewWindow.set_hat(hat1.id,false) if hat1 + previewWindow.set_hat(hat2.id,true) if hat2 + + hat1_color=0 + hat2_color=0 + hat1_color = $Trainer.dyed_hats[hat1.id] if hat1 && $Trainer.dyed_hats.include?(hat1.id) + hat2_color = $Trainer.dyed_hats[hat2.id] if hat2 && $Trainer.dyed_hats.include?(hat2.id) + previewWindow.hat_color = hat1_color + previewWindow.hat2_color = hat2_color + + $Trainer.hat = hat1&.id + $Trainer.hat2 = hat2&.id + $Trainer.hat_color = hat1_color + $Trainer.hat2_color = hat2_color + else $Trainer.set_hat(nil,@is_secondary_hat) previewWindow.set_hat(nil,@is_secondary_hat) @@ -81,33 +79,50 @@ class HatsMartAdapter < OutfitsMartAdapter previewWindow.updatePreview() end - def get_dye_color(item) + def get_dye_color(item_id) + return if !item_id return 0 if isShop? $Trainer.dyed_hats= {} if ! $Trainer.dyed_hats - if $Trainer.dyed_hats.include?(item.id) - return $Trainer.dyed_hats[item.id] + if $Trainer.dyed_hats.include?(item_id) + return $Trainer.dyed_hats[item_id] end return 0 end - - - def set_dye_color(item,previewWindow) + + + def set_dye_color(item,previewWindow,is_secondary_hat=false) + return if !item if !isShop? - $Trainer.dyed_hats= {} if !$Trainer.dyed_hats - if $Trainer.dyed_hats.include?(item.id) - dye_color = $Trainer.dyed_hats[item.id] - $Trainer.set_hat_color(dye_color,@is_secondary_hat) - previewWindow.hat_color = dye_color - else - $Trainer.set_hat_color(0,@is_secondary_hat) - previewWindow.hat_color=0 - end - #echoln $Trainer.dyed_hats + else - $Trainer.set_hat_color(0,@is_secondary_hat) + $Trainer.set_hat_color(0,is_secondary_hat) previewWindow.hat_color=0 end end + + # def set_dye_color(item,previewWindow,is_secondary_hat=false) + # return if !item + # if !isShop? + # $Trainer.dyed_hats= {} if !$Trainer.dyed_hats + # + # echoln item.id + # echoln $Trainer.dyed_hats.include?(item.id) + # echoln $Trainer.dyed_hats[item.id] + # + # if $Trainer.dyed_hats.include?(item.id) + # dye_color = $Trainer.dyed_hats[item.id] + # $Trainer.set_hat_color(dye_color,is_secondary_hat) + # previewWindow.hat_color = dye_color + # else + # $Trainer.set_hat_color(0,is_secondary_hat) + # previewWindow.hat_color=0 + # end + # #echoln $Trainer.dyed_hats + # else + # $Trainer.set_hat_color(0,is_secondary_hat) + # previewWindow.hat_color=0 + # end + # end def addItem(item) @@ -129,8 +144,11 @@ class HatsMartAdapter < OutfitsMartAdapter end def reset_player_clothes() - $Trainer.set_hat(@worn_clothes,@is_secondary_hat) - $Trainer.set_hat_color($Trainer.dyed_hats[@worn_clothes],@is_secondary_hat) if $Trainer.dyed_hats && $Trainer.dyed_hats[@worn_clothes] + $Trainer.set_hat(@worn_clothes,false) + $Trainer.set_hat(@worn_clothes2,true) + + $Trainer.set_hat_color($Trainer.dyed_hats[@worn_clothes],false) if $Trainer.dyed_hats && $Trainer.dyed_hats[@worn_clothes] + $Trainer.set_hat_color($Trainer.dyed_hats[@worn_clothes2],true) if $Trainer.dyed_hats && $Trainer.dyed_hats[@worn_clothes2] end def get_unlocked_items_list() @@ -162,7 +180,6 @@ class HatsMartAdapter < OutfitsMartAdapter end def getSpecialItemDescription(specialType) - echoln $Trainer.hair hair_situation = !$Trainer.hair || getSimplifiedHairIdFromFullID($Trainer.hair) == HAIR_BALD ? "bald head" : "fabulous hair" return "Go without a hat and show off your #{hair_situation}!" end diff --git a/Data/Skills.rxdata b/Data/Skills.rxdata index 61cba7ea2..a45219f5e 100644 Binary files a/Data/Skills.rxdata and b/Data/Skills.rxdata differ diff --git a/Data/States.rxdata b/Data/States.rxdata index 0f9b4ae5d..868d49e59 100644 Binary files a/Data/States.rxdata and b/Data/States.rxdata differ diff --git a/Data/System.rxdata b/Data/System.rxdata index 2fbeccb3b..f4bbcd8ff 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ diff --git a/Data/Tilesets.rxdata b/Data/Tilesets.rxdata index f568868cc..b1437bcd4 100644 Binary files a/Data/Tilesets.rxdata and b/Data/Tilesets.rxdata differ diff --git a/Data/Weapons.rxdata b/Data/Weapons.rxdata index d9bd35260..c7ea19a7a 100644 Binary files a/Data/Weapons.rxdata and b/Data/Weapons.rxdata differ diff --git a/Data/sprites/sprites_rate_limit.log b/Data/sprites/sprites_rate_limit.log index 8a966b109..789bf3fb3 100644 --- a/Data/sprites/sprites_rate_limit.log +++ b/Data/sprites/sprites_rate_limit.log @@ -1,4 +1 @@ -1741455948 -1741455993 -1741455993 -1741455993 \ No newline at end of file +1741538447 \ No newline at end of file diff --git a/Data/sprites/updated_spritesheets_cache b/Data/sprites/updated_spritesheets_cache index 49c486c17..1c0094b8f 100644 --- a/Data/sprites/updated_spritesheets_cache +++ b/Data/sprites/updated_spritesheets_cache @@ -530,3 +530,170 @@ 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 +Graphics/CustomBattlers/spritesheets/spritesheets_base/453.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/453/453c.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/31.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/99/99a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/70.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/87.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/87/87.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/419/419.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/263.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/487.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/487/487.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/327.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/478.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/478/478.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/69.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/70/70a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/130.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/499.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/499/499.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/379/379.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/401.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/401/401.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/131.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/68/68.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/220.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/369/369.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/30.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/238/238.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/321.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/255/255.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/38.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/38/38.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/4/4.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/214.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/214/214.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/165/165.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/270.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/452.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/452/452.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/229.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/439/439a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/417.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/413/413.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/331.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/399.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/417/417.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/356.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/441.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/199.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/199/199.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/47.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/195.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/195/195a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/230.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/230/230.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/51.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/97.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/97/97.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/421/421.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/475.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/475/475.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/364.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/364/364.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/36/36.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/324.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/142/142.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/377.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/326/326.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/342/342.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/289/289a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/159/159.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/64/64.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/103/103.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/98.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/176.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/473.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/473/473.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/121.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/121/121.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/363.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/245.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/245/245.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/11/11.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/289/289.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/153.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/153/153.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/215.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/396.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/396/396.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/79.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/215/215.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/34.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/34/34.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/333.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/98/98.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/194.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/194/194.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/148/148.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/465.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/94/94.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/75.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/272.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/220/220a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/247.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/47/47.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/430.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/436.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/281/281b.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/404.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/404/404.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/30/30.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/140.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/420.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/420/420.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/427/427.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/501.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/501/501.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/110/110.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/331/331.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/465/465.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/259.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/259/259.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/224.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/232.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/108.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/175/175.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/389.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/389/389.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/80/80.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/96.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/393/393.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/18.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/18/18.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/50/50.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/138.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/421/421a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/207.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/56.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/56/56.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/296/296.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/20/20a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/88.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/198.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/198/198.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/27/27.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/171.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/360/360.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/63.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/459.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/459/459.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/490/490.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/13.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/13/13.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/249.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/31/31.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/3/3.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/59/59.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/329.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/76.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/76/76a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/48.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/383.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/363/363.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/24/24.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/494.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/494/494.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/225/225.png diff --git a/Graphics/.DS_Store b/Graphics/.DS_Store index 60d792c65..891e40eb2 100644 Binary files a/Graphics/.DS_Store and b/Graphics/.DS_Store differ diff --git a/Graphics/Windowskins/choice 1.png b/Graphics/Windowskins/choice 1.png index 856de0eac..173c95eee 100644 Binary files a/Graphics/Windowskins/choice 1.png and b/Graphics/Windowskins/choice 1.png differ diff --git a/Graphics/Windowskins/default_opaque.png b/Graphics/Windowskins/default_opaque.png new file mode 100644 index 000000000..f45cb0c13 Binary files /dev/null and b/Graphics/Windowskins/default_opaque.png differ diff --git a/Graphics/Windowskins/default_transparent.png b/Graphics/Windowskins/default_transparent.png new file mode 100644 index 000000000..84979222e Binary files /dev/null and b/Graphics/Windowskins/default_transparent.png differ diff --git a/Graphics/choice 1.png b/Graphics/choice 1.png new file mode 100644 index 000000000..856de0eac Binary files /dev/null and b/Graphics/choice 1.png differ