diff --git a/Data/Map017.rxdata b/Data/Map017.rxdata index f801f4bfc..48a29634e 100644 Binary files a/Data/Map017.rxdata and b/Data/Map017.rxdata differ diff --git a/Data/Map240.rxdata b/Data/Map240.rxdata index e64d3d6ba..2f43930bc 100644 Binary files a/Data/Map240.rxdata and b/Data/Map240.rxdata differ diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index a8c89d20c..e76677a02 100644 Binary files a/Data/MapInfos.rxdata and b/Data/MapInfos.rxdata differ diff --git a/Data/Scripts/050_Outfits/001_OutfitsMain/OutfitsSearch.rb b/Data/Scripts/050_Outfits/001_OutfitsMain/OutfitsSearch.rb index a6aaf7aa5..e637c9e7b 100644 --- a/Data/Scripts/050_Outfits/001_OutfitsMain/OutfitsSearch.rb +++ b/Data/Scripts/050_Outfits/001_OutfitsMain/OutfitsSearch.rb @@ -166,4 +166,56 @@ end def get_hair_by_id(id) update_global_outfit_lists() return $PokemonGlobal.hairstyles_data.has_key?(id) ? $PokemonGlobal.hairstyles_data[id] : nil +end + + +def generate_clothes_choice(baseOptions=true,additionalIds=[],additionalTags=[],filterOutTags=[]) + list = [] + list += additionalIds + list += search_clothes(additionalTags) + if baseOptions + list += get_clothes_base_options() + list += search_clothes(get_regional_sets_tags()) + end + return list +end + + +CITY_OUTFIT_TAGS= [ + "pewter","cerulean","vermillion","lavender","celadon","fuchsia","cinnabar", + "crimson","goldenrod","azalea", "violet", "blackthorn", "mahogany", "ecruteak", + "olivine","cianwood", "kin" +] +def list_city_exclusive_clothes() + tags_list = CITY_OUTFIT_TAGS + echoln search_clothes(tags_list) + return search_clothes(tags_list) +end + +def list_city_exclusive_hats() + tags_list = CITY_OUTFIT_TAGS + return search_hats(tags_list) +end + +def list_city_exclusive_hairstyles() + tags_list = CITY_OUTFIT_TAGS + return search_hairstyles(tags_list) +end + +def list_regional_clothes() + selector = OutfitSelector.new + tags_list = selector.get_regional_sets_tags() + return search_clothes(tags_list) +end + +def list_regional_hats() + selector = OutfitSelector.new + tags_list = selector.get_regional_sets_tags() + return search_hats(tags_list) +end + +def list_regional_hairstyles() + selector = OutfitSelector.new + tags_list = selector.get_regional_sets_tags() + return search_hairstyles(tags_list) end \ No newline at end of file diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb index 243ea6ee5..3ec519fc4 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/0_OutfitsMartAdapter.rb @@ -6,6 +6,13 @@ class OutfitsMartAdapter < PokemonMartAdapter WORN_ITEM_BASE_COLOR = MessageConfig::BLUE_TEXT_MAIN_COLOR WORN_ITEM_SHADOW_COLOR = MessageConfig::BLUE_TEXT_SHADOW_COLOR + + REGIONAL_SET_BASE_COLOR = Color.new(76,72,104) + REGIONAL_SET_SHADOW_COLOR = Color.new(173,165,189) + + CITY_EXCLUSIVE_BASE_COLOR = Color.new(72 , 104, 83) + CITY_EXCLUSIVE_SHADOW_COLOR = Color.new(165, 189, 178) + def initialize(stock = [], isShop = true, isSecondaryHat = false) @is_secondary_hat = isSecondaryHat @items = stock @@ -14,6 +21,19 @@ class OutfitsMartAdapter < PokemonMartAdapter @version = nil $Trainer.dyed_hats = {} if !$Trainer.dyed_hats $Trainer.dyed_clothes = {} if !$Trainer.dyed_clothes + + #todo: refactor to get the list from the first search when + # setting the stock instead of searching twice + @regional_set_items = @isShop ? list_regional_set_items : [] + @city_exclusive_items = @isShop ? list_city_exclusive_items : [] + end + + def list_regional_set_items() + return [] + end + + def list_city_exclusive_items() + return [] end def getDisplayName(item) @@ -85,13 +105,23 @@ class OutfitsMartAdapter < PokemonMartAdapter super end + def isItemInRegionalSet(item) + return @regional_set_items.include?(item.id) + end + + def isItemCityExclusive(item) + return @city_exclusive_items.include?(item.id) + end + def getBaseColorOverride(item) - return WORN_ITEM_BASE_COLOR if isWornItem?(item) - return nil + return REGIONAL_SET_BASE_COLOR if isItemInRegionalSet(item) + return CITY_EXCLUSIVE_BASE_COLOR if isItemCityExclusive(item) + return nil end def getShadowColorOverride(item) - return WORN_ITEM_SHADOW_COLOR if isWornItem?(item) + return REGIONAL_SET_SHADOW_COLOR if isItemInRegionalSet(item) + return CITY_EXCLUSIVE_SHADOW_COLOR if isItemCityExclusive(item) return nil end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb index 60f39bb2d..c28c2bc01 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesMartAdapter.rb @@ -10,6 +10,14 @@ class ClothesMartAdapter < OutfitsMartAdapter end end + def list_regional_set_items() + return list_regional_clothes + end + + def list_city_exclusive_items + return list_city_exclusive_clothes + end + def initialize(stock = nil, isShop = nil) super end @@ -103,4 +111,6 @@ class ClothesMartAdapter < OutfitsMartAdapter def isWornItem?(item) super end + + end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb index 7af672a51..fa7d5d72b 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/ClothesShop.rb @@ -143,4 +143,4 @@ def changeOutfit() break end end -end \ No newline at end of file +end diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb index 3740c857b..b97d5e76e 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/HairMartAdapter.rb @@ -43,6 +43,15 @@ class HairMartAdapter < OutfitsMartAdapter return false end + def list_regional_set_items() + return list_regional_hairstyles + end + + def list_city_exclusive_items + return list_city_exclusive_hairstyles + end + + def toggleEvent(item) pbSEPlay("GUI storage put down", 80, 100) toggleHatVisibility() diff --git a/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb b/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb index 3919715ce..30b3e249f 100644 --- a/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb +++ b/Data/Scripts/050_Outfits/UI/clothesShop/HatsMartAdapter.rb @@ -27,6 +27,14 @@ class HatsMartAdapter < OutfitsMartAdapter end end + def list_regional_set_items() + return list_regional_hats + end + + def list_city_exclusive_items + return list_city_exclusive_hats + end + def set_secondary_hat(value) @is_secondary_hat = value end diff --git a/Data/System.rxdata b/Data/System.rxdata index 3c11fc4a7..451221f7c 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ diff --git a/Data/Tilesets.rxdata b/Data/Tilesets.rxdata index 60338d995..190167cab 100644 Binary files a/Data/Tilesets.rxdata and b/Data/Tilesets.rxdata differ diff --git a/Graphics/Tilesets/Indoor.PNG b/Graphics/Tilesets/Indoor.PNG index 70f8ef373..2e2b02bbd 100644 Binary files a/Graphics/Tilesets/Indoor.PNG and b/Graphics/Tilesets/Indoor.PNG differ