diff --git a/Data/Map151.rxdata b/Data/Map151.rxdata index 4f8daafb1..2f5f57b77 100644 Binary files a/Data/Map151.rxdata and b/Data/Map151.rxdata differ diff --git a/Data/Scripts/007_Objects and windows/002_MessageConfig.rb b/Data/Scripts/007_Objects and windows/002_MessageConfig.rb index 94f80a3dd..7633a927d 100644 --- a/Data/Scripts/007_Objects and windows/002_MessageConfig.rb +++ b/Data/Scripts/007_Objects and windows/002_MessageConfig.rb @@ -207,7 +207,7 @@ def pbPositionFaceWindow(facewindow,msgwindow) end end -def pbPositionNearMsgWindow(cmdwindow,msgwindow,side) +def pbPositionNearMsgWindow(cmdwindow,msgwindow,side, x_offset=nil,y_offset=nil) return if !cmdwindow if msgwindow height=[cmdwindow.height,Graphics.height-msgwindow.height].min @@ -234,6 +234,10 @@ def pbPositionNearMsgWindow(cmdwindow,msgwindow,side) cmdwindow.x=0 cmdwindow.y=0 end + cmdwindow.x+= x_offset if x_offset + cmdwindow.y+= y_offset if y_offset + + end # internal function diff --git a/Data/Scripts/007_Objects and windows/011_Messages.rb b/Data/Scripts/007_Objects and windows/011_Messages.rb index b0c8c3efb..99b90a966 100644 --- a/Data/Scripts/007_Objects and windows/011_Messages.rb +++ b/Data/Scripts/007_Objects and windows/011_Messages.rb @@ -909,7 +909,7 @@ def pbMessageChooseNumber(message, params, &block) end -def pbShowCommands(msgwindow, commands = nil, cmdIfCancel = 0, defaultCmd = 0) +def pbShowCommands(msgwindow, commands = nil, cmdIfCancel = 0, defaultCmd = 0, x_offset=nil, y_offset=nil) return 0 if !commands $PokemonTemp.speechbubble_arrow.visible =false if $PokemonTemp.speechbubble_arrow && !$PokemonTemp.speechbubble_arrow.disposed? if defaultCmd == 0 && ($game_variables && $game_variables[VAR_COMMAND_WINDOW_INDEX] != 0) @@ -919,7 +919,7 @@ def pbShowCommands(msgwindow, commands = nil, cmdIfCancel = 0, defaultCmd = 0) cmdwindow.z = 99999 cmdwindow.visible = true cmdwindow.resizeToFit(cmdwindow.commands) - pbPositionNearMsgWindow(cmdwindow, msgwindow, :right) + pbPositionNearMsgWindow(cmdwindow, msgwindow, :right, x_offset, y_offset) cmdwindow.index = defaultCmd command = 0 loop do diff --git a/Data/Scripts/015_Trainers and player/004_Player.rb b/Data/Scripts/015_Trainers and player/004_Player.rb index 8653e6032..5c73afda4 100644 --- a/Data/Scripts/015_Trainers and player/004_Player.rb +++ b/Data/Scripts/015_Trainers and player/004_Player.rb @@ -195,11 +195,6 @@ class Player < Trainer end def clothes_color=(value) - echoln value - echoln @clothes - #echoln $Trainer.dyed_clothes - echoln caller - @clothes_color=value $Trainer.dyed_clothes= {} if !$Trainer.dyed_clothes $Trainer.dyed_clothes[@clothes] = value if value @@ -218,7 +213,7 @@ class Player < Trainer refreshPlayerOutfit() end - + def hat_color=(value) @hat_color=value $Trainer.dyed_hats= {} if !$Trainer.dyed_hats diff --git a/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb b/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb index b4c94167b..bc941d2d4 100644 --- a/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb +++ b/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb @@ -66,9 +66,15 @@ def setHairColor(hue_shift) refreshPlayerOutfit() end -def shiftHatColor(incr) - $Trainer.hat_color = 0 if !$Trainer.hat_color - $Trainer.hat_color += incr +def shiftHatColor(incr,secondary_hat=false) + if secondary_hat + $Trainer.hat2_color = 0 if !$Trainer.hat2_color + $Trainer.hat2_color += incr + else + $Trainer.hat_color = 0 if !$Trainer.hat_color + $Trainer.hat_color += incr + end + refreshPlayerOutfit() end @@ -144,6 +150,7 @@ def generate_front_trainer_sprite_bitmap(allowEasterEgg=true, pokeball = nil, clothes_id = nil, hat_id = nil, hat2_id=nil, hair_id = nil, skin_tone_id = nil, hair_color = nil, hat_color = nil, clothes_color = nil, hat2_color = nil) + clothes_id = $Trainer.clothes if !clothes_id hat_id = $Trainer.hat if !hat_id hat2_id = $Trainer.hat2 if !hat2_id diff --git a/Data/Scripts/050_Outfits/UI/LayeredClothes_Menus.rb b/Data/Scripts/050_Outfits/UI/LayeredClothes_Menus.rb index 3f1fa4155..e937a59fd 100644 --- a/Data/Scripts/050_Outfits/UI/LayeredClothes_Menus.rb +++ b/Data/Scripts/050_Outfits/UI/LayeredClothes_Menus.rb @@ -115,8 +115,8 @@ def selectHairColor end -def selectHatColor - original_color = $Trainer.hat_color +def selectHatColor(secondary_hat=false) + original_color = secondary_hat ? $Trainer.hat2_color : $Trainer.hat_color display_outfit_preview() commands = ["Shift up", "Shift down", "Reset", "Confirm", "Never Mind"] previous_input = 0 @@ -126,24 +126,26 @@ def selectHatColor case choice when 0 #NEXT pbSEPlay("GUI storage pick up", 80, 100) - shiftHatColor(10) - display_outfit_preview() + shiftHatColor(10,secondary_hat) + display_outfit_preview ret = true when 1 #PREVIOUS pbSEPlay("GUI storage pick up", 80, 100) - shiftHatColor(-10) - display_outfit_preview() + shiftHatColor(-10,secondary_hat) + display_outfit_preview ret = true when 2 #Reset pbSEPlay("GUI storage put down", 80, 100) - $Trainer.hat_color = 0 - display_outfit_preview() - refreshPlayerOutfit() + $Trainer.hat_color = 0 if !secondary_hat + $Trainer.hat2_color = 0 if secondary_hat + display_outfit_preview + refreshPlayerOutfit ret = false when 3 #Confirm break else - $Trainer.hat_color = original_color + $Trainer.hat_color = original_color if !secondary_hat + $Trainer.hat2_color = original_color if secondary_hat ret = false break end diff --git a/Data/Scripts/050_Outfits/UI/TrainerClothesPreview.rb b/Data/Scripts/050_Outfits/UI/TrainerClothesPreview.rb index faed0c608..1f0c0eb18 100644 --- a/Data/Scripts/050_Outfits/UI/TrainerClothesPreview.rb +++ b/Data/Scripts/050_Outfits/UI/TrainerClothesPreview.rb @@ -1,5 +1,5 @@ class TrainerClothesPreview - attr_writer :pokeball, :clothes, :hat, :hat2, :hair, :skin_tone, :hair_color, :hat_color, :clothes_color + attr_writer :pokeball, :clothes, :hat, :hat2, :hair, :skin_tone, :hair_color, :hat_color,:hat2_color, :clothes_color def initialize(x = 0, y = 0, windowed = true, pokeball = nil) @playerBitmap = nil diff --git a/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb b/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb index 14605f311..8fff0b8e4 100644 --- a/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb +++ b/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb @@ -76,9 +76,11 @@ def putOnHat(outfit_id, silent = false, is_secondary=false) dye_color = $Trainer.dyed_hats[outfit_id] if dye_color - $Trainer.hat_color = dye_color + $Trainer.hat_color = dye_color if !is_secondary + $Trainer.hat2_color = dye_color if is_secondary else - $Trainer.hat_color = nil + $Trainer.hat_color = nil if !is_secondary + $Trainer.hat2_color = nil if is_secondary end $game_map.refreshPlayerOutfit() diff --git a/Graphics/Pictures/Outfits/hatLayer_selected1.png b/Graphics/Pictures/Outfits/hatLayer_selected1.png index 168599613..6fa41f91c 100644 Binary files a/Graphics/Pictures/Outfits/hatLayer_selected1.png 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 index 96aef2244..83e15b92f 100644 Binary files a/Graphics/Pictures/Outfits/hatLayer_selected2.png and b/Graphics/Pictures/Outfits/hatLayer_selected2.png differ