Adds option to swap base color in hair dye menu

This commit is contained in:
infinitefusion
2025-01-31 16:09:57 -05:00
parent 8f1f4a0f9b
commit e0201bf021
9 changed files with 27 additions and 10 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -43,32 +43,49 @@ def selectHairstyle(all_unlocked = false)
$Trainer.hat = hat
end
def swapToNextHairVersion()
split_hair = getSplitHairFilenameAndVersionFromID($Trainer.hair)
hair_version = split_hair[0]
hair_style = split_hair[1]
current_version = hair_version
pbSEPlay("GUI party switch", 80, 100)
newVersion = current_version.to_i + 1
lastVersion = findLastHairVersion(hair_style)
newVersion = lastVersion if newVersion <= 0
newVersion = 1 if newVersion > lastVersion
$Trainer.hair = getFullHairId(hair_style,newVersion)
end
def selectHairColor
original_color = $Trainer.hair_color
original_hair = $Trainer.hair
$game_switches[SWITCH_SELECTING_CLOTHES]=true
$game_map.update
display_outfit_preview()
hat = $Trainer.hat
commands = ["Shift up", "Shift down", "Toggle hat", "Reset", "Confirm", "Never Mind"]
commands = ["Swap base color", "Shift up", "Shift down", "Toggle hat", "Remove dye", "Confirm", "Never Mind"]
previous_input = 0
while (true)
choice = pbShowCommands(nil, commands, commands.length, previous_input)
previous_input = choice
case choice
when 0 #NEXT
when 0 #change base
swapToNextHairVersion()
display_outfit_preview()
ret = false
when 1 #NEXT
#playOutfitChangeAnimation()
pbSEPlay("GUI storage pick up", 80, 100)
shiftHairColor(10)
display_outfit_preview()
ret = true
when 1 #PREVIOUS
when 2 #PREVIOUS
pbSEPlay("GUI storage pick up", 80, 100)
shiftHairColor(-10)
display_outfit_preview()
ret = true
when 2 #Toggle hat
when 3 #Toggle hat
pbSEPlay("GUI storage put down", 80, 100)
if hat == $Trainer.hat
$Trainer.hat = nil
@@ -76,15 +93,16 @@ def selectHairColor
$Trainer.hat = hat
end
display_outfit_preview()
when 3 #Reset
when 4 #Reset
pbSEPlay("GUI storage put down", 80, 100)
$Trainer.hair_color = 0
display_outfit_preview()
ret = false
when 4 #Confirm
when 5 #Confirm
break
else
$Trainer.hair_color = original_color
$Trainer.hair = original_hair
ret = false
break
end

View File

@@ -156,6 +156,8 @@ def findLastHairVersion(hairId)
last_version = 0
possible_versions.each { |version|
hair_id = getFullHairId(hairId, version)
echoln hair_id
echoln pbResolveBitmap(getOverworldHairFilename(hair_id))
if pbResolveBitmap(getOverworldHairFilename(hair_id))
last_version = version
else

View File

@@ -476,9 +476,6 @@ RandPokeNick = [
"Carlos",
"hm_slave",
"Varicelle",
"Google",
"Twitter",
"Facebook",
"Mia",
"miam",
"Lame-o",

View File

@@ -14,7 +14,7 @@ module Settings
VERSION_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/VERSION"
CUSTOM_DEX_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/dex.json"
CUSTOM_DEX_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/pif-downloadables/refs/heads/master/dex.json"
# CUSTOM SPRITES
AUTOGEN_SPRITES_REPO_URL = ""

Binary file not shown.

Binary file not shown.