Hello! Thank you soooo much for this mod, I absolutly love it! But I have a question acout the pajamas outfit, I usually play with CJB Cheats Menu, with the option of Indoor always stop time activated, so I think it makes my pajamas unusable TT.TT I wanted to ask if there were a way to change this?
DOES it make pajamas unusable? Your farmer should change into and out of pajamas correctly when entering/leaving the farmhouse, your option just disables changing into / out of pajamas while inside it. Unless something's wrong?
Also, I added a "pajamas in the farmhouse all day" option so you can do that.
love the update so much!!! This has truly become a mod I need in all of my play throughs!!!
P.S. there is no portrait in the sample folders of the green rain portrait, in case that's something you put in there <3 here's what SMAPI says [Content Patcher] Ignored (CP) Farmer Seasonal - Outfits And Portraits > Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #6: the When field is invalid: 'GreenRaincoatOption' can't be used as a token because that token could not be found. [Content Patcher] Ignored (CP) Farmer Seasonal - Outfits And Portraits > Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #7: the When field is invalid: 'GreenRaincoatOption' can't be used as a token because that token could not be found.
Hi! I was wondering if this mod is compatible with the (CP) Seasonal farmer portrait reactions mod? It's an addition to the 1.6 Farmers Portrait? Thanks!
Unfortunately no, not as written over there it isn't. You need to either make a separate mod that combines both functions, or do some creative usage of the "overlay" command to make a version of the reactions mod that's compatible with mine.
Considering my mod is older and considering making reactions overlay on top of outfit/hairstyle makes more sense than the opposite, I'm not putting this on my to-do list to fix.
i have installed the farmer reactions and adjusted all of it to be an overlay instead, but it doesnt apply, even with no smapi errors, i tried adding "early" priority to your mod but your mod always overrides any other portraits, so i dont think even the overlay idea will work unless i am doing something wrong
Thank you for the inclusion of a bathhouse outfit! Wearing my sweater-vest and beret have been driving me a little insane. I'm a little confused about how the locations work, however. I want to add custom locations as I play with SVE and a couple of other modded rooms that give me a hot spring in my greenhouse and in my house, however I'm not sure how to add these locations to the code. I don't know where to find the location names in the files to add (aware this is a me problem, ok if you don't want to help with this particular part of it), but I also don't know how to have my character change only for going into the bath. For example IF2R has a hot spring on the farm but afaik it's not in a room and I don't want to wear my bathing outfit everywhere on my farm. Same with another late-game SVE location. And I play with Secret Greenhouse and Oasis greenhouse. For Oasis greenhouse the spa is in its own room so that's workable, but I don't want to change into my bath outfit every time I'm in my secret greenhouse just because it happens to have a bath in it, only when I'm actually going to bathe. Is there a way to make that work or am I just going to have to accept bathing in my beret for those locations?
My ideal would be to only use the bathing outfit after passing through the "changing room" tile at these various locations, but I'm not sure how to set up the mod to do that.
Yup, there isn't really a way to do that that I know of. Fashion Sense actually includes a "should this stay on when in a swimsuit" field for accessories, but either it doesn't work correctly or people don't pay attention to it when making packs.
My best advice would be to set up a "bathrobe" outfit that looks okay to do other stuff in but doesn't include hats or accessories that you don't want to stay on while you're in a swimsuit, and include the entire location (like the entire greenhouse) in the bathhouse locations list in the code ):
I can actually help you with locations! There's a super easy way to figure them out that I use. With my mod installed (or any other, I just remember my mod's id by heart and it's not very large) input in the SMAPI console "patch summary liliet.seasonalfarmerlooks". Then scroll up past mod-specific info to the part where it gives you global variables. LocationName is your culprit! I used this for, like, everything in setting up my mod.
===================== == Content patches == ===================== The following patches were loaded. For each patch: - 'loaded' shows whether the patch is loaded and enabled (see details for the reason if not). - 'conditions' shows whether the patch matches with the current conditions (see details for the reason if not). If this is unexpectedly false, check (a) the conditions above and (b) your Where field. - 'applied' shows whether the target asset was loaded and patched. If you expected it to be loaded by this point but it's false, double-check (a) that the game has actually loaded the asset yet, and (b) your Targets field is correct.
(Filtered to content pack ID: liliet.seasonalfarmerlooks.)
(CP) Farmer Seasonal - Outfits And Portraits: ---------------------------------------------
Thank you so much for your explanations! This was really helpful!
I figured I'd have to either set up a bathrobe outfit (for indoor locations) or just accept I'm going to look weird (for my spring outdoors on my farm). I wish there was a way to do it in fashion sense, but alas. Also my bet is people don't pay attention to the field because I know some of my accessories disappear properly but a lot of them don't, haha.
I'm having a little trouble with your explanation of the code (might just be tired tbh). Just to be clear, what I'd do is put "patch summary [mod I want the location IDs for]" into the SMAPI console and that'll give me the info I need?
No, you do "patch summary [literally any mod id]" and then you get the location *for the location you're currently in*. (I'm sorry, it was literally 1am when I wrote that). I haven't managed to do this for Cape Stardew because its whole thing is secret areas, but for every other mod I had at the time, timestop with CJB cheats + warp with CJB cheats + run around a bit = collect all location IDs
On the festival of ice my character wouldn't change into their festival of ice outfit or portrait, only into their festive outfit/portrait combo, I tried changing the name of the outfit and the portrait but it didn't change anything. the SMAPI says "[Fashion Sense] The mod FashionSenseOutfits set your Fashion Sense outfit to Festive." and I'm not sure why it's doing this *edit* I did change the name of the portrait and outfit to festive so it would work, so if it's happening to anyone else you can do that
Did you check the ice festival outfit option in the settings? They're all off by default to make it more convenient to start with a single festive outfit and then create more one by one as you go along.
yes, I have the ice festival option on, which is why it seemed weird to me, I turned it off and on, restarted the game, but it wasn't working so I did the little festive-fix-around lol It could still be some weird thing on my end but I thought I'd share just in case
EDIT: did you know it's called Festival of Ice and not Ice Festival? I do now! And I should have known already since this used to work... well it's going to work now after I update lol
thank you for your work and update!!! Can't wait to play around with my mining fits and glad you fixed the ice festival thing lol Hope you have a good day/afternoon/night!
Hi, I love the mod and the outfit changes are working properly, but the portraits are not. I have downloaded the portraits and replaced the example ones, named them with .png at the end as instructed, and used the generic mod config to apply the portraits, but they are not working. I even tried redownloading the mod but still nothing. this is my SMAPI log:
I had this same problem until I finally realized (after an hour lol) that I needed to not just make sure the portrait file was a png file, but also that it was actually named "portrait.png" not just "portrait". I still got the same error after, but it still worked! Maybe that's your issue as well?
Edit: Nevermind, I stopped playing for a bit, when I came back and loaded it, it was broken again. Still trying to troubleshoot
Hi, thank you for this wonderful mod! I've used it once and I can already tell it'll be a permanent addition to my stardew games.
If you're taking feature suggestions for your next updates, I would love the ability to set a bathing suit outfit that you change into when in the bathhouse. My farmer changes into their bathing suit when they walk through the changing room as normal, but doesn't take off any of their accessories! It feels very silly to be sitting in the hot spring in my bikini... and my sweater vest, scarf, and beret. Even just a return to what the game considers your "base" outfit would be really nice, since the swimsuit overrides any base clothing iirc (and my base outfit has no accessories).
I understand that you've got a lot on your plate and if this is too difficult, don't worry about it, but it's something that I would really appreciate.
A good point, thank you! I'm pretty sure Fashion Sense packs have a "is this visible when you're wearing a swimsuit" setting, so this really shouldn't be happening anyway... >.> but yeah, on the list it goes, ty
I love this mod! There is only one thing I think that could be added to make it perfect; is there a possibility for indoor/outdoor outfits? I'd love it if my "raincoat" outfit didn't appear until my character was outside or if I could have a designated "indoors" outfit for winter vs an "outdoors" outfit. It's a small thing that I think would help with the immersive aspect of the mod, but no pressure if you think it isn't doable! I really do love this mod!
In theory, yes. In practice, CP can't dynamically determine how many files are in a subfolder or how many files are named "spring_something", so my mod can't know how many outfits any random player has to select from. I can write code that you can insert into your own personal copy of the mod and maintain its correspondence to the number of outfits yourself, sure, but not an out of the box version.
(This mod already doesn't quite work "out of the box", but adding image files is far more intuitive and less intimidating than following instructions on how to modify code lol)
EDIT: Hm, I could make it work through in-game config, though. It would be an absolutely insane undertaking to make it work for every single outfit type in my mod, though, in particular it would literally double the length of config. Then again, it's about time I broke up config into distinct sections... Well, we'll see.
EDIT2: Alright, here's instructions to make this work for yourself for seasonal outfits: 1. Open content.json 2. Ctrl-F the following text: {//outfits "Name": "SeasonalOutfit", "Value": "{{Spring outfit}}", "When": { "Season": "Spring" } }, There will be versions of the same for summer, autumn and winter below it. Here's what you need to do for the spring outfit to be random out of 3: { "Name": "SpringRandom", "Value": "{{Random:1,2,3}}" }, {//outfits "Name": "SeasonalOutfit", "Value": "{{Spring outfit}}{{SpringRandom}}", "When": { "Season": "Spring" } }, Note that after this your outfits will need to be named "spring1", "spring2", "spring3" etc, both as a file and a FS outfit. (Or replace "spring" with whatever's in your config for spring outfit, you get my point) Here's what you need to do for the summer outfit to be random out of 2: { "Name": "SummerRandom", "Value": "{{Random:1,2}}" }, { "Name": "SeasonalOutfit", "Value": "{{Summer outfit}}{{SummerRandom}}", "When": { "Season": "Summer" } },And you get the point. For this to work correctly, the postfixes indicated in the code (1, 2, 3 in these cases) need to match what's in your folder and in your FS wardrobe. If the mod tries to select an outfit that's not there, it won't default to a different random option, it'll just not load this category of outfit.
(If you dig in the code I'm sure you can figure out how to apply this to other kinds of outfit too, or you can ask me for specifically the outfits you want to multiply, I won't be doing this work for every single supported outfit without being asked specifically)
Frankly, from where I'm looking right now, trying to implement player-configurable-from-the-in-game-menu randomness looks like an insane exponential undertaking. I can't dynamically set the inside of the "random" command, so I'd have to make a separate text file containing a different version FOR EACH SUPPORTED NUMBER FOR EACH SUPPORTED OUTFIT. This is not normal or reasonable and I won't be doing that.
EDIT3: What I might do instead is clean up the code so it's easy for players to edit this into the code for themselves (the same way I made it easy to add new custom locations and festivals). We'll see.
105 comments
Also, I added a "pajamas in the farmhouse all day" option so you can do that.
P.S. there is no portrait in the sample folders of the green rain portrait, in case that's something you put in there <3
here's what SMAPI says
[Content Patcher] Ignored (CP) Farmer Seasonal - Outfits And Portraits > Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #6: the When field is invalid: 'GreenRaincoatOption' can't be used as a token because that token could not be found.
[Content Patcher] Ignored (CP) Farmer Seasonal - Outfits And Portraits > Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #7: the When field is invalid: 'GreenRaincoatOption' can't be used as a token because that token could not be found.
Considering my mod is older and considering making reactions overlay on top of outfit/hairstyle makes more sense than the opposite, I'm not putting this on my to-do list to fix.
My ideal would be to only use the bathing outfit after passing through the "changing room" tile at these various locations, but I'm not sure how to set up the mod to do that.
My best advice would be to set up a "bathrobe" outfit that looks okay to do other stuff in but doesn't include hats or accessories that you don't want to stay on while you're in a swimsuit, and include the entire location (like the entire greenhouse) in the bathhouse locations list in the code ):
I can actually help you with locations! There's a super easy way to figure them out that I use. With my mod installed (or any other, I just remember my mod's id by heart and it's not very large) input in the SMAPI console "patch summary liliet.seasonalfarmerlooks". Then scroll up past mod-specific info to the part where it gives you global variables. LocationName is your culprit! I used this for, like, everything in setting up my mod.
Example:
patch summary liliet.seasonalfarmerlooks
what you're looking for is at the top in the "global tokens" list[01:03:08 DEBUG Content Patcher]
=====================
== Global tokens ==
=====================
Content Patcher:
token name | value
--------------------------------------------------------- | -----
Count | [X] 0
DailyLuck | [X] 0.08000000037252902
Day | [X] 17
DayEvent | [X]
DayOfWeek | [X] Wednesday
DaysPlayed | [X] 297
FarmCave | [X] Bats
FarmhouseUpgrade | [X] 3
FarmName | [X] Melissa
FarmType | [X] MeadowlandsFarm
FormatAssetName | [X] (token returns a dynamic value)
HasActiveQuest | [X] Junimatic.OldJunimoPortalQuest
HasValue | [X] false
HavingChild | [X]
IsCommunityCenterComplete | [X] true
IsJojaMartComplete | [X] false
IsMainPlayer | [X] true
IsOutdoors | [X] true
Language | [X] en
LocationContext | [X] Default
LocationName | [X] Farm
LocationOwnerId | [X]
LocationUniqueName | [X] Farm
Lowercase | [X]
Merge | [X]
PathPart | [X] (token returns a dynamic value)
PlayerGender | [X] Female
PlayerName | [X] Windchime
PreferredPet | [X] Cat
Pregnant | [X]
Query | [X] (token returns a dynamic value)
Random | [X] (token returns a dynamic value)
Range | [X] (token returns a dynamic value)
Render | [X]
Roommate | [X]
Round | [X] (token returns a dynamic value)
Season | [X] fall
Spouse | [X] Abigail
Time | [X] 0910
Uppercase | [X]
Weather | [X] Sun
Year | [X] 3
ChildGenders | [X] Male, Female
ChildNames | [X] Vladlen, Vita, Lionel, Ramona, Sidi, Len
HasCaughtFish | [X] (O)128, (O)129, (O)130, (O)131, (O)132, (O)136, (O)137, (O)138, (O)139, (O)140, (O)141, (O)142, (O)143, (O)144, (O)145, (O)146, (O)147, (O)148, (O)149... (use `patch summary full` to see other values)
HasConversationTopic | [X] achievement_5_memory_fourweeks, achievement_41_memory_oneweek, achievement_42_memory_oneweek, adventure_Abigail22_memory_eightweeks, adventure_Abigail... (use `patch summary full` to see other values)
HasCookingRecipe | [X] Algae Soup, Amanita Tea, Amanita Tincture, Artichoke Dip, Autumn's Bounty, Baked Fish, Banana Pudding, Bean Hotpot, Blackberry Cobbler, Blueberry Tart... (use `patch summary full` to see other values)
HasCraftingRecipe | [X] Ancient Seeds, Anvil, Bait, Bait Maker, Barbed Hook, Barrel Brazier, Basic Fertilizer, Basic Retaining Soil, Bee House, Big Chest, Big Stone Chest, Bl... (use `patch summary full` to see other values)
HasDialogueAnswer | [X] -1, 3, 5, 7, 9, 16, 18, 22, 26, 27, 29, 32, 34, 35, 38, 40, 41, 45, 47, 48, 50, 51, 52, 57, 59, 66, 71, 72, 77, 80, 83, 84, 86, 200, 208, 211, 213, 215, 15933, 18981, 28376, 776589, 847951, 958701
HasFlag | [X] abandonedJojaMartAccessible, abbySpiritBoard, Abigail1, AbigailHAND, AbigailInMineFirst, Abigail_cc_Begin, Abigail_dating_Abigail, Abigail_dating_Abig... (use `patch summary full` to see other values)
HasMod | [X] 7eventy7.BlueMacawCompanion, 6480.giantcrops, 6480.GiantCrops.Better, 253474, 303236, A5Edit.ATFuHojichaSeasideInterior, aedenthorn.CustomSpousePatioR... (use `patch summary full` to see other values)
HasProfession | [X] Angler, Artisan, Botanist, Defender, Fighter, Fisher, Gatherer, Miner, Prospector, Tiller
HasReadLetter | [X] abandonedJojaMartAccessible, abbySpiritBoard, Abigail1, AbigailHAND, AbigailInMineFirst, Abigail_cc_Begin, Abigail_dating_Abigail, Abigail_dating_Abig... (use `patch summary full` to see other values)
HasSeenEvent | [X] -2, -78765, -666777, -888999, -157039427, 0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 29, 33, 34, 35, 36, 39, ... (use `patch summary full` to see other values)
HasWalletItem | [X] BearsKnowledge, ClubCard, DarkTalisman, DwarvishTranslationGuide, KeyToTheTown, MagicInk, MagnifyingGlass, RustyKey, SkullKey, SpecialCharm, SpringOnionMastery
Hearts | [X] Abigail:14, Alex:10, Caroline:10, Clint:10, Demetrius:10, DustyNPC:10, Dwarf:10, Elliott:10, Emily:10, Evelyn:10, George:10, Gus:10, Haley:14, Harvey:... (use `patch summary full` to see other values)
Relationship | [X] Abigail:Married, Alex:Dating, Caroline:Friendly, Clint:Friendly, Demetrius:Friendly, DustyNPC:Friendly, Dwarf:Friendly, Elliott:Dating, Emily:Dating, ... (use `patch summary full` to see other values)
SkillLevel | [X] Combat:10, Farming:10, Fishing:10, Foraging:10, Luck:5, Mining:10
=====================
== Content patches ==
=====================
The following patches were loaded. For each patch:
- 'loaded' shows whether the patch is loaded and enabled (see details for the reason if not).
- 'conditions' shows whether the patch matches with the current conditions (see details for the reason if not). If this is unexpectedly false, check (a) the conditions above and (b) your Where field.
- 'applied' shows whether the target asset was loaded and patched. If you expected it to be loaded by this point but it's false, double-check (a) that the game has actually loaded the asset yet, and (b) your Targets field is correct.
(Filtered to content pack ID: liliet.seasonalfarmerlooks.)
(CP) Farmer Seasonal - Outfits And Portraits:
---------------------------------------------
Local tokens:
token name | value
----------------------------- | -----
BaseOutfitName | [X] Base
BathingLocations | [X] BathHouse_Pool, BathHouse_WomensLocker, BathHouse_MensLocker
BathOutfitEnabled | [X] true
BathOutfitName | [X] Bathrobe
CurrentMiningOutfitName | [X] FallMining
DesertOutfitEnabled | [X] true
DesertOutfitName | [X] Desert
EggFestivalOutfitEnabled | [X] true
EggFestivalOutfitName | [X] EggFestival
EveningPajamas | [X] true
FairOutfitEnabled | [X] true
FairOutfitName | [X] Fair
FallMiningOutfitName | [X] FallMining
FallOutfitName | [X] base
FallRaincoatOutfitName | [X] FallRain
FestivalOutfitsEnabled | [X] true
FestiveOutfitEnabled | [X] true
FestiveOutfitName | [X] Festive
FlowerDanceOutfitEnabled | [X] true
FlowerDanceOutfitName | [X] FlowerDance
IceFestivalOutfitEnabled | [X] true
IceFestivalOutfitName | [X] Iced
IslandOutfitEnabled | [X] true
IslandOutfitName | [X] Island
IslandRaincoatOption | [X] None
IslandRaincoatOutfitName | [X] IslandRain
LuauOutfitEnabled | [X] true
LuauOutfitName | [X] Luau
MiningOutfitEnabled | [X] true
MiningOutfitName | [X] Mining
ModdedDesertLocations | [X] Custom_WTDR_GhostTown, Custom_DTZ_ZuzuCityOasis1, Custom_DTZ_SancInt, Custom_Desert_AfforestationArea
ModdedMiningLocations | [X] Custom_DTZ_OasisCave, Custom_DTZ_OasisCaveUnder, Custom_DTZ_OasisCaveJungle, Custom_ESDeepDark, Custom_Cape, Custom_SecretBase, Custom_CapeSecretBaseD... (use `patch summary full` to see other values)
ModId | [X] Liliet.SeasonalFarmerLooks
MoonlightJelliesOutfitEnabled | [X] true
MoonlightJelliesOutfitName | [X] MoonlightJellies
MorningPajamas | [X] true
MountainMiningEnabled | [X] false
PajamaEveningTime | [X] 2200
PajamaMorningTime | [X] 0600
PajamasAllDay | [X] true
PajamasFrom | [X] 10:00
PajamasOutfitName | [X] Pajamas
PajamasUntil | [X] 6:10
RaincoatEnabled | [X] true
RaincoatOutfitName | [X] Rain
SeasonalMiningEnabled | [X] true
SeasonalOutfitName | [X] base
SeasonalOutfitsEnabled | [X] true
SeasonalRaincoatName | [X] FallRain
SeasonalRaincoatsEnabled | [X] false
SpiritsEveOutfitEnabled | [X] true
SpiritsEveOutfitName | [X] SpiritsEve
SpringMiningOutfitName | [X] SpringMining
SpringOutfitName | [X] base
SpringRaincoatOutfitName | [X] SpringRain
SummerMiningOutfitName | [X] SummerMining
SummerOutfitName | [X] summer
SummerRaincoatOutfitName | [X] SummerRain
TodaysFestivalEnabled | [X] false
TodaysFestivalOutfit | [ ]
UseModOutfits | [X] true
UseModPortraits | [X] true
WeddingOutfitEnabled | [X] true
WeddingOutfitName | [X] Wedding
WinterMiningOutfitName | [X] WinterMining
WinterOutfitName | [X] winterSkirt
WinterRaincoatOutfitName | [X] WinterRain
WinterStarOutfitEnabled | [X] true
WinterStarOutfitName | [X] Iced
Patches:
loaded | conditions | applied | priority | name + details
------- | ---------- | ------- | --------- | --------------
[X] | [X] | [ ] | | Include assets/_code/outfit_setup.json
[X] | [X] | [ ] | | Include assets/_code/portrait_setup.json
[X] | [ ] | [ ] | | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_festival.json // conditions don't match: HasValue:{{DayEvent}}
[X] | [X] | [ ] | | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_mining.json
[X] | [X] | [X] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #1
[X] | [X] | [X] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #2
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #3 // conditions don't match: Weather
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #4 // conditions don't match: SeasonalRaincoatsEnabled, Weather
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #5 // conditions don't match: LocationContext
[ ] | [ ] | [ ] | | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #6 // the When field is invalid: invalid IslandRaincoatOption condition: invalid values (IslandRaincoatOutfitName); expected one of None, Regular raincoat, Seasonal raincoat, Island raincoat
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #7 // conditions don't match: IslandRaincoatOption, LocationContext, Weather:island
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #8 // conditions don't match: IslandRaincoatOption, LocationContext, Weather:island
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #9 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #10 // conditions don't match: LocationName, Time
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #11 // conditions don't match: LocationName, Time
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #12 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #13 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_mining.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #1 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_mining.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #2 // conditions don't match: Query:'{{LocationName}}' LIKE 'UnderGroundMine*'
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_mining.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #3 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_mining.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #4 // conditions don't match: Query:'{{LocationName}}' LIKE 'VolcanoDungeon*'
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_mining.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #5 // conditions don't match: LocationName, MountainMiningEnabled
[X] | [ ] | [ ] | Default | Include assets/_code/outfit_setup.json > Include assets/_code/outfit_mining.json > EditData nihilistzsche.FashionSenseOutfits/Outfits #6 // conditions don't match: LocationName
[X] | [ ] | [ ] | | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_festival.json // conditions don't match: HasValue:{{DayEvent}}
[X] | [X] | [ ] | | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_mining.json
[X] | [X] | [X] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #1
[X] | [X] | [X] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #2
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #3 // conditions don't match: Weather
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #4 // conditions don't match: HasFile, SeasonalRaincoatsEnabled, Weather
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #5 // conditions don't match: LocationContext
[ ] | [ ] | [ ] | | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #6 // the When field is invalid: invalid IslandRaincoatOption condition: invalid values (IslandRaincoatOutfitName); expected one of None, Regular raincoat, Seasonal raincoat, Island raincoat
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #7 // conditions don't match: HasFile, IslandRaincoatOption, LocationContext, Weather:island
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #8 // conditions don't match: IslandRaincoatOption, LocationContext, Weather:island
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #9 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #10 // conditions don't match: LocationName, Time
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #11 // conditions don't match: LocationName, Time
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #12 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > EditImage aedenthorn.FarmerPortraits/portrait #13 // conditions don't match: LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_mining.json > EditImage aedenthorn.FarmerPortraits/portrait #1 // conditions don't match: HasFile, LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_mining.json > EditImage aedenthorn.FarmerPortraits/portrait #2 // conditions don't match: HasFile, Query:'{{LocationName}}' LIKE 'UnderGroundMine*'
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_mining.json > EditImage aedenthorn.FarmerPortraits/portrait #3 // conditions don't match: HasFile, LocationName
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_mining.json > EditImage aedenthorn.FarmerPortraits/portrait #4 // conditions don't match: HasFile, Query:'{{LocationName}}' LIKE 'VolcanoDungeon*'
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_mining.json > EditImage aedenthorn.FarmerPortraits/portrait #5 // conditions don't match: HasFile, LocationName, MountainMiningEnabled
[X] | [ ] | [ ] | Default | Include assets/_code/portrait_setup.json > Include assets/_code/portrait_mining.json > EditImage aedenthorn.FarmerPortraits/portrait #6 // conditions don't match: HasFile, LocationName
[X] | [X] | [X] | High | Include assets/_code/portrait_setup.json > Load aedenthorn.FarmerPortraits/background
[X] | [X] | [X] | Exclusive | Include assets/_code/portrait_setup.json > Load aedenthorn.FarmerPortraits/portrait
Current changes:
asset name | changes
----------------------------------------- | -------
aedenthorn.FarmerPortraits/background | replaced asset
aedenthorn.FarmerPortraits/portrait | edited image; replaced asset
nihilistzsche.FashionSenseOutfits/Outfits | changed entries
I figured I'd have to either set up a bathrobe outfit (for indoor locations) or just accept I'm going to look weird (for my spring outdoors on my farm). I wish there was a way to do it in fashion sense, but alas. Also my bet is people don't pay attention to the field because I know some of my accessories disappear properly but a lot of them don't, haha.
I'm having a little trouble with your explanation of the code (might just be tired tbh). Just to be clear, what I'd do is put "patch summary [mod I want the location IDs for]" into the SMAPI console and that'll give me the info I need?
*edit* I did change the name of the portrait and outfit to festive so it would work, so if it's happening to anyone else you can do that
It could still be some weird thing on my end but I thought I'd share just in case
EDIT: did you know it's called Festival of Ice and not Ice Festival? I do now! And I should have known already since this used to work... well it's going to work now after I update lol
Hope you have a good day/afternoon/night!
https://smapi.io/log/b6c061ddb5a44d7b8754d96f1ce648e4
(hope I did it right, this is the first time i've had to get it)
Edit: Nevermind, I stopped playing for a bit, when I came back and loaded it, it was broken again. Still trying to troubleshoot
Did you put therm in the correctly named folder?
If this question does not fix everything for you, pls add a screenshot of your folder with the portrait files, with the file path visible too!
If you're taking feature suggestions for your next updates, I would love the ability to set a bathing suit outfit that you change into when in the bathhouse. My farmer changes into their bathing suit when they walk through the changing room as normal, but doesn't take off any of their accessories! It feels very silly to be sitting in the hot spring in my bikini... and my sweater vest, scarf, and beret. Even just a return to what the game considers your "base" outfit would be really nice, since the swimsuit overrides any base clothing iirc (and my base outfit has no accessories).
I understand that you've got a lot on your plate and if this is too difficult, don't worry about it, but it's something that I would really appreciate.
Thanks again!
EDIT: added this feature in 1.9.0 :)
(This mod already doesn't quite work "out of the box", but adding image files is far more intuitive and less intimidating than following instructions on how to modify code lol)
EDIT: Hm, I could make it work through in-game config, though. It would be an absolutely insane undertaking to make it work for every single outfit type in my mod, though, in particular it would literally double the length of config. Then again, it's about time I broke up config into distinct sections... Well, we'll see.
EDIT2: Alright, here's instructions to make this work for yourself for seasonal outfits:
1. Open content.json
2. Ctrl-F the following text:
{//outfits
There will be versions of the same for summer, autumn and winter below it."Name": "SeasonalOutfit",
"Value": "{{Spring outfit}}",
"When": { "Season": "Spring" }
},
Here's what you need to do for the spring outfit to be random out of 3:
{
Note that after this your outfits will need to be named "spring1", "spring2", "spring3" etc, both as a file and a FS outfit. (Or replace "spring" with whatever's in your config for spring outfit, you get my point)"Name": "SpringRandom",
"Value": "{{Random:1,2,3}}"
},
{//outfits
"Name": "SeasonalOutfit",
"Value": "{{Spring outfit}}{{SpringRandom}}",
"When": { "Season": "Spring" }
},
Here's what you need to do for the summer outfit to be random out of 2:
{
And you get the point. For this to work correctly, the postfixes indicated in the code (1, 2, 3 in these cases) need to match what's in your folder and in your FS wardrobe. If the mod tries to select an outfit that's not there, it won't default to a different random option, it'll just not load this category of outfit."Name": "SummerRandom",
"Value": "{{Random:1,2}}"
},
{
"Name": "SeasonalOutfit",
"Value": "{{Summer outfit}}{{SummerRandom}}",
"When": { "Season": "Summer" }
},
(If you dig in the code I'm sure you can figure out how to apply this to other kinds of outfit too, or you can ask me for specifically the outfits you want to multiply, I won't be doing this work for every single supported outfit without being asked specifically)
Frankly, from where I'm looking right now, trying to implement player-configurable-from-the-in-game-menu randomness looks like an insane exponential undertaking. I can't dynamically set the inside of the "random" command, so I'd have to make a separate text file containing a different version FOR EACH SUPPORTED NUMBER FOR EACH SUPPORTED OUTFIT. This is not normal or reasonable and I won't be doing that.
EDIT3: What I might do instead is clean up the code so it's easy for players to edit this into the code for themselves (the same way I made it easy to add new custom locations and festivals). We'll see.