#making-mods-general
1 messages · Page 590 of 1
https://smapi.io/json/content-patcher/9e0a31ccdc88498cad96ff9a409d5907 Alright y'all am I missing anything crucial that would be stopping Darkrai from talking?
CanSocialize just handles whether they appear in the social menu and can accept gifts iirc
ah i see
made a total of one dune of progress
and i cant tell if it looks good or not
gifts seem important
needs to be seen more zoomed out
ngl the whole make not being complete is messing with my brain more than it should be
maybe?
yea idk
the pyramid i can do because its a simpleish shape, but these dunes are like hypothetical 
Also characters like abigail in the vanilla files have that marked as Null so 
and speaking of, i think tomorrow ill work on the textures for the pyramid in the physical map
And island visits
These are all really funny cuz it looks like there's separate fields for these things 😭
I guess I don't know exactly how it all works
huh?
everything helpful to me is gone how
(Also null just means that the value of that field will be whatever the default is. Which for strings is... null. However in the context of GSQs that is equivalent to "TRUE")
ohhhi think you click that?
Button might you at all know why my NPC isn't interactable?
Getting an NPC to be interactable requires you to assemble every piece of modding Exodia and unfortunately I don't know how to play the card game

(I can never remember what the pieces are)
Welp time to go looking at another mod
do you have dialogue for the current day, and does a patch summary show it's applied?
Are you sure you actually have dialogue for the day you are talking to them
Like if it's Tuesday they need a Tue dialogue key
Does all of this count?
(at minimum)
(and yes these are all written)
is that file actually included?
Yes
Then I would check the patch summary
ngl, i feel like a plants vs zombies type of beat would be good for a sandstorm 
I wasn't looking in this channel until like 2min ago, I assume you have the gift tastes sorted?
"Target": "Data/NPCGiftTastes",
"Entries": {
"{{ModId}}_Darkrai": "{{i18n:DarkraiLovedGiftDialogue{{NPCFriendshipLvl}}}}/277/{{i18n:DarkraiLikedGiftDialogue{{NPCFriendshipLvl}}}}/{{ModId}}_EnigmaBerry {{ModId}}_NightmareSmoothie {{ModId}}_NightmarePokepuff 305 308/{{i18n:DarkraiNeutralGiftDialogue{{NPCFriendshipLvl}}}}/166/{{i18n:DarkraiDislikedGiftDialogue{{NPCFriendshipLvl}}}}/879/{{i18n:DarkraiHatedGiftDialogue{{NPCFriendshipLvl}}}}/773"
}
}
]``` I think I have it sorted enough to not cause errors?
Then yeah my suggestion would be blueberry's suggestion which is to verify things with the patch summary
Beyond that I am no help here
Alright, how do I check that?
Oh god this is a lot of information- Oh wait is this including stuff from like ALL of my mods?
Ohhh this is including a ton of extra stuff
if you didn't write a specific mod unique id, yes
Oh. It's also including stuff like active quests and whatnot
Anyway.. [X] | [ ] | [ ] | Default | Include data/gifttastes.json > EditData Data/NPCGiftTastes #2 // invalid tokens: NPCFriendshipLvl 
Make sure you do it when a save is loaded, if that is a dynamic token thats checking the {{Friendship}} token
Yeah I made sure to load a save first
So does that mean the token isn't functioning properly?
[X] | [ ] | [ ] | Default | Include data/dialogue.json > EditData Characters/Dialogue/{{ModId}}_Darkrai // invalid tokens: NPCFriendshipLvl Same thing here
Uh oh that might be it
do you not have an unconditional patch for your dialogue?
uhh wdym?
https://smapi.io/json/content-patcher/5acc2b5d2f554ca38e49f4df951ae96f Here's my content file btw, it does seem to have issues with the DynamicTokens
You put braces around the names
there's yer problem
Don't do that
Good to know
i see people talk about it a lot, but idk what a token is...
a token is a value substituted for another
As it turns out I am completely helpless if the console doesn't tell me in big bold red that something is wrong 
Well did it say it in yellow text
No
for example, {{ModId}} is a token that'll be substituted for your unique id, such as blueberry.my.funny.mod
I've been getting 0 errors related to the mod in question
ahhhh, that makes sense thank you
31 DynamicTokens[0].Name The token name should be alphanumeric with no special characters.
so like a display name for the real thing?
not necessarily, more of a formula that may have a different result when evaluated, hence static and dynamic tokens
in this case, {{NpcFriendshipLvl}} is a token that may evaluate to Friend or Servant, depending on the game state
i still cant interact with Darkrai...
I've closed the game twice now
If you still cannot interact after that, load a save, try to talk, patch summary, and send a log.
(And ideally your most up to date jsons)
[X] | [X] | [ ] | Default | Include data/dialogue.json > EditData Characters/Dialogue/{{ModId}}_Darkrai (=> Characters/Dialogue/TntDove.PBB_Darkrai) // hint: asset name may be incorrect (shouldn't include '.PBB_Darkrai' extension).
Well don't do that and send a log instead 
Where do I find the log again?
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
The instructions on that page will tell you.
https://smapi.io/log/d308827bec334922b724552cc5056de2 Ah this is also where I can ask how do I remove TMXL Map Toolkit it's nowhere in my mods folder idk how to get rid of it 😭
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 53 C# mods and 27 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
if it's being loaded, it's in your mods folder
It's in your Mods/TMXLoader folder
that makes a lot of sense 
I doubt that's causing the issue but I'm glad to get rid of it
Do you have a blank load for your dialogue anywhere?
Uhh considering I don't know what that means, probably not?
Right, ok, then your EditData adding all your dialogue (not the gift tastes but the normal dialogue) isnt doin anything
You need to make a json file that has n othing in it but {}
You can call it blank.json or empty.json or whatever you want
Ohhhh THAT'S why mods have those!
You need to then Load that blank.json to the same target as your dialogue asset
This will make that dialogue asset Exist first before your actual Edits can then happen
Ahhh alright
You'd need to do this same thing for their custom schedule asset and any events that take place in custom locations, but you can reuse the same blank (and even the same load patch) for it
Good to know. Thankfully I don't think I'll be doing those but very good to know
(any data asset (i.e. not a map or texture) that doesnt exist in your unpack folder needs a blank load, essentially.)
(important note: if you're using frameworks, they are the ones doing the blank load (or its equivalent) on their end for their custom stuff. blank loads are for assets that you and you alone are in charge of)
So would I add a load for both of those in the dialogue.json?
that is, dont do a blank load to a SpaceCore asset or something
Data/NPCGiftTastes already exists and needs no blank
If you load a blank there, you will erase every vanilla gift taste
Your dialogue asset though does not exist and needs a blank load
If you meant something else with "both of those" and not gift tastes then I misunderstood
I meant the Dialogue and the Blank
The blank itself doesnt get a patch to load it to a blank asset
"Action": "Load",
"Target": "Characters/Dialogue/blabla",
"FromFile": "assets/blank.json"
This loads the blank json to your characters dialogue asset
replace blabla with their actual ID I just was lazy
This should work then? Does it matter which file or where in the file it is?
As long as it's not inside an Include that isn't actually included, it doesnt matter where it is. All Load patches are processed before any EditData patch as necessary
Alrighty, thank you!
Here's hoping this works and doesn't unearth a million new issues with the dialogue!
i was going to ask if a blank was loaded about 10 minutes ago but decided against it
i should just ask next time 
MY MANS CAN SPEAK!!!
This isn't the introduction dialogue but I figure that's because this is a year 3 test save who knows how screwed thing have become lmao
what happens if you scan the qr code he's standing on

Introduction is a conversation topic that lasts for 4 or 7 (idr) days when a save is created
oh.... shoot...
1.6.16 will add a FirstMeeting dialogue key that works in the usually expected way
ive been meaning to ask, what does pathos mean when a build is deployed? it's not yet accessible to us right?
If it's critical that they say their introduction dialogue the first time the player speaks to them no matter when it happens, you could always replace ALL of their possible dialogue with JUST that line for as long as the player has not met them yet
It means if you are using the alpha branch on steam (or GOG?) then yes you will get that build now
would it cause issues for players who aren't on that branch
aw man now I'm waiting like everyone else 😭
Can you elaborate on what you mean
huh? isnt there already an introduction key?
[Yes!](#making-mods-general message)
I still want to ask if ConcernedApe could maybe add an event command to make an NPC walk backwards 
Like if I add in something from an alpha build will players be able to access it? I don’t know what the alpha branch is tbh
the alpha branch is a new game version, it'd be like having a 1.6.9 player trying to use a mod using features from 1.6.15
No. Not unless they are also in the alpha.
And using alpha builds of Content Patcher and SMAPI
Oh okay yea confirming what I thought
When do alpha builds become uhh the regular branch
when they're done 🙂↕️
You can of course include some alpha things in your current version CP mod that will be useless until 1.6.16 actually releases but then immediately work once it does
But not a lot of things
You could add the FirstMeeting key now, for example. Harmless to add. Just won't do anything until 1.6.16 releases.
Ah right
Also, 1.6.16 has been in development since August 2025.
Yeah.. I should really find a way to include this dialogue
Oh wow
Don't plan your modding around the alpha until there's an actual expected release date or its said it might be soon.
The stardew font in all caps is surprisingly disturbing
Im just excited for the textabovehead for farmer
Also it might be even earleir than August 2025 idk thats just the oldest edit on the wiki page history but it was also the 1.7 page at one point or maybe it got changed back or blabla i dont knowww its old ok
I think it was actually March 2025 as thats the oldest edit on the 1.7 migration page.
Also I was mainly so concerned about this dialogue cuz I was thinking I'd make it so going through it then spawns the first bundle book, but with the way I wrote it I think the book will be meant to already be there
oldest message in the alpha thread is from late june 🙂↕️
1.7 is going to add a lot of post marriage stuff right?
Nearly a year whew
We don't know what 1.7 is adding.
i'm just hoping for more pam content
Modding wise, we know what kinds of new moddability some things will get. Content, no clue
oh, i thought i saw something about making kids like better
But how would you suggest I go about making the dialogue appear for the first time Darkrai is spoken to? Before 1.6.16
To be clear there is absolutely no new content, like new features and such, in the 1.6.16 or 1.7 alphas.
Those alphas are purely for modding stuff
We are the content now 
[This](#making-mods-general message)
Ah- I was hoping for maybe a little more specifics on how to go about doing that 
im excited for the new sneak peaks that ca posts in the future, if there is any 
i was so hyped when the 1.6 one was released
i suppose you could add your own conversation topic/dialogue event that lasts forever, and use that as your one-time first-time dialogue key
sneek peek*
Ohhh wait you're right, and I could totally have it so you get that topic from the event immediately before entering the zone for the first time!
I would just make an unconditional trigger action that does it on day start
No chance of it being messed up by any event skipping or event limiting or what have you
Or teleporting
Oh right.. if an event gets skipped then any flags don't get set, right?
That were at the end at least
i think the event method would work fine for players, and you can use the builtin eventseen conversation topic as your dialogue key
https://stardewvalleywiki.com/Modding:Dialogue#Generic_topics
Well technically you can decide when something is skippable
So you can just put the CT before the skippable option
hell if you're worried about event mishaps you can use firstVisit
Well in this case it's a mail flag
But imo the trigger action method is less prone to another mod messing it up
No, in this case it has to be a CT
You can't use a mail flag to control what dialogue is used like a CT can
Oop- no sorry I'm talking about another thing 
This won't work if Darkrai is somehow teleported to the player first 😌
But theoretically I could move these CTs and MFs to the start of the event so the window to miss them from skipping is very small?
In vanilla at least the window would be nonexistent
actually why am I making this so needlessly complicated
There are literally commands to make these things happen if the cutscene is skipped
Me actually just ignoring this command
Tbc, I was more worried about other mods causing the skip in non-intended ways
Well in that case maybe those other mods should be more considerate 
It is always easy to place the blame on another mod but it will never stop people from leaving bug reports on yours instead 😌
Whether they should or not

So how would I go about setting this up?
Im not sure how to set an unconditional trigger
tbh VS code automatically placing a pair of brackets and quotes is getting on my nerves..
Alright now I can focus on the code lmao
So this should be good, and now I just need to hook this up so that when you talk to Darkrai with this conversation topic you get that dialogue?
Well you probably want it to last Forever* and not 0 days
*Not technically forever but 999999 should be good enough
Do keep in mind that trigger actions run only once per save file unless you take steps to specifically reset them. So if you have this trigger action in your code when you launch the game to test, it will run, and then if you save, it will never run again even if you make changes to it later, unless you also change the ID
Ohh good to know
Right now I'm on the dialogue modding page just trying to find how to connect dialogue to if you have the conversation topic
Just make a dialogue line where the key is the same as your conversation topic key
Oh alright
i.e. instead of Introduction add one for {{ModId}}_DarkraiFirstMet
Alright, excellent!
Ty for all the help!
It is storming like hell right now and also 1:30 AM so I should probably get off for the night 
As much as I want to entertain the idea that i could be done with the update for my mod before Tomodachi Life releases (April 16th), I don’t think I actually want to release it like that. Cuz even if I “finish” it I’m still gonna wanna comb it all over to make sure things look good
So I think ima try and just stop worrying about whether or not I’ll finish it in time and just try to get back to it when I can if Tomodachi Life completely takes over for a week
i love when my knees feel like they have pressure as if im standing on em but im sitting :3
Hmm, if there's a mod that makes players reflect in the water, there's a way to make working mirror then
Tho it requires c# I suppose
Since water reflection mod is also on c#
ugh wait tomodachi life releases on the 16th?
😭 i need money...
I took a break to actually finish the interior of the house before trying to implement it again. I have since finished it and tried but it still doesn't work- https://smapi.io/log/12be32c096804320b0daa97b3e78da6b https://smapi.io/json/content-patcher/c572ee26051248129a4d03c1ab3fe8be
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 22 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Have you considered doing what thing above says?
Updating a mod? The mod that I think it's refering to doesn't do anything with what I'm trying (I forgot to remove it from my mod folder)
doesn't work because of your invalid tilesheet
check the documentation for how to add non-maps tilesheets to maps again
I have forgot where that page is- 
This one iircm but thats a wiki
Also do you use tilesheetinator
Yes I do
then you should be able to do it the easier way
What's that, exactly-?
Okay so turns out I didn't need that tilesheet so I removed it and tried again- But something else happened
https://smapi.io/log/25cccc275f1347bc8e7a103a582e2101 I am once more asking for assistance-
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 21 C# mods and 8 content packs.
again, your tilesheet has an improper path.
sounds like you didn't properly fix the path
from when you added it in tiled
when working on a map, you should keep tilesheets in the same folder as the map, because things like this happen otherwise
Ooh okay. What do I do after I'm finished with the map though? And is there anyway I can fix it now?
you can run it through button's map fixer
or manually fix the path
by opening the map in vsc or some other editor
How would I go about doing both of those options? Sorry
the first is just a website, the second you would just click "open with" in your map and open it with the text editor, and look for the file path of the tilesheet and change it to whatever it should be
(aka, whatever the tilesheet mod loaded the file to)
Ooh okay. Thank you!
So I wanted to make some more letters and looked at the Wiki... but that doesn't help against my confusion at all 😅😭
Like, what's the order for the backgrounds and buttons? 😔
Anyone know why I'm getting this with my strings?
it might need to load through a blank.json for Strings/schedules/NPC, if you haven't done that already
I did do that
l
v
e
r.Mona⬇️ Mona:library⬇️working.001
then it might just be a mistake in either the default, strings or the schedule
I am looking to add a second floor to Lewis's House (Mayor's Manor), and id ike to move the objects on the top left to put in a staircase. I tried just moving the objects layer in Tiled in a map patch, and the prize machine works fine elsewhere, but the divorce book and multiplayer fund book don't seem to work in the community centre for example, and the lost and found will forcefully overwrite my patch and reappear in its original location (but does seem to work)!
At the moment I'm just using CP, is there a way to do this with CP alone, or will I need some external solution and if so what is it? Thanks
A lot of that would require knowledge of C# programming and Harmony patches. The game handles all that in the house's C# code, rather than using normal map or data assets, so you'd need to modify that to make it stop editing the map, add code for the objects in other locations, etc.
I decided to replace my mod's main image with a prettier one. What do you think?
Bummer! The prize machine seems to work fine elsewhere, so that must be location independent. The divorce and funds book seem to work elsewhere in the mayor's house, so maybe I just try to nudge them elsewhere inside the house.
yeah, the prize ticket system is just implemented on the general-use "GameLocation" code, but the others seem to be in the "ManorHouse" location type, only used there
I think it would be something like this if you use i18n if not just replace the i18n bit with regular text but it's recommended to use it for translation/localization
"YourMail": "{{i18n:Mail.Text}}% item object ItemId %%[LetterBackground IndexNumber] or [LetterBackground assetname IndexNumber][textcolor color][#]{{i18n:Mail.Title}}"
it also applies these map edits, depending on whether it's a specific event or not
public override void MakeMapModifications(bool force = false)
{
base.MakeMapModifications(force);
if (Game1.eventUp && Game1.CurrentEvent.id != "prizeTicketIntro")
{
base.removeTile(4, 5, "Buildings");
base.removeTile(4, 4, "Front");
base.removeTile(4, 3, "Front");
base.setMapTile(4, 6, 635, "Back", "1");
}
else
{
base.setMapTile(4, 5, 109, "Buildings", "untitled tile sheet2", "LostAndFound");
base.setMapTile(4, 4, 77, "Front", "untitled tile sheet2");
base.setMapTile(4, 3, 110, "Front", "untitled tile sheet2");
base.setMapTile(4, 6, 604, "Back", "1");
}
}```
It's looking pretty good! I would add a light blur over the background just to make it feel a little less visually busy, but that's just a personal preference
Ah, so for the event where Lewis introduces the prize tickets, even if I get rid of the Prize Machine tiles normally it will reappear for that event. Will it disappear afterwards?
I don't really understand the question
Omg so sorry... 😭 I meant, how do I arrange the backgrounds themselves? In what order do I put them?
-# thanks for the explanation though 😆
your custom ones?
I think it's all related to those objects/actions/etc, but if the goal was to put them in the CC or something, that'd be its own problem
In json you can actually change the specific type a location is
I was musing what would happen if they made their location manorhouse and just mirrored that little table in their location
And then just made the manor a normal Gamelocatipn
making a new location for that stuff could maybe work, yeah
i think in LooseSprites you can find the mail images
Thanks for advice but...
Not really sure which app is best for this, though.
doesn't seem like it, the only references to that are in Object and GameLocation + the location itself is typeless
actually, this part is pickier than it should be, so the stairs might be a problem
/// <summary>Perform an action when the user interacts with this object, assuming it's a staircase.</summary>
/// <inheritdoc cref="M:StardewValley.Object.checkForAction(StardewValley.Farmer,System.Boolean)" />
protected virtual bool CheckForActionOnStaircase(Farmer who, bool justCheckingForActivity = false)
{
if (this.Location is MineShaft mine && mine.shouldCreateLadderOnThisLevel())
{
if (justCheckingForActivity)
{
return true;
}
Game1.enterMine(Game1.CurrentMineLevel + 1);
Game1.playSound("stairsdown");
}
else if (this.Location.Name.Equals("ManorHouse"))
{
if (justCheckingForActivity)
{
return true;
}
Game1.warpFarmer("LewisBasement", 4, 4, 2);
Game1.playSound("stairsdown");
}
return false;
}```
ig a warp isn't hard to mimic though
Ok, I haven't interacted with the idea of naming locations. So, let's say I make a new room (map) that's accessible elsewhere, maybe via a separate door or something, and I copy the objects from the mayor's house (2 books + lost and found), how do I do this naming swap?
Yeah I was thinking I'd just use a warp action
so in the new location's entry in Data/Locations, you'd want the "Type" inside the "CreateOnLoad" section to be "StardewValley.Locations.ManorHouse"
https://www.stardewvalleywiki.com/Modding:Location_data#Data_format
I can't guarantee it won't have odd side effects, but that makes it use the same extra code that Lewis's house does
you could also remove that from Lewis's house by editing its entry to say "Type": null, though the same warning applies
Then the hardcoded stuff appears in your map
Cool, thanks folks, I'll try that tomorrow.
I really appreciate everyone here! 💖
If you have the two assets for the logo and the background separate, open the background in any image editing application and you should be able to blur it
I still can't get the interior to load innnnnnnnnnnnnnnnn
I am sad
Good morning, sweets. I'm trying to create an item in the game where the player can craft and eat the item as well, just like with Life Elixir.
But since I'm quite new to this mod topic, I can't understand what's going on or missing. Could someone help me with this? Please
and what isn't working?
This happens here, my dear.
I see your recipe has "is big craftable" to true
set it to false (your item isnt a BC)
big craftables are tall placeable items like kegs or furnaces
same with the ingredient
829 is Ginger, (BC)829 is not a valid item
So in this case I couldn't use it in this recipe, with the only solution being to remove or replace the item?
Or did I misunderstand?
no, you just use 829 instead of (BC)829
Like that?
like 16 is Wild Horseradish, (BC)16 is a Cheese Press
if you want your recipe to be crafted from a cheese press you use the latter
yes looks good
useful reference on what the qualifiers in the item ids mean: https://stardewvalleywiki.com/Modding:Items#Item_IDs
It worked!! Aahh, thank you so much, sweetie! TwT💜💜💜💜💜💜💜
the "more correct" id for ginger would be (O)829, but the game usually defaults to Objects if the qualifier isnt provided
Ahh
I wasn't stretching it well while reading this, but after your summary, I think...
I think I got the hang of it 🥹
I want to add a traveling cart to my custom map. How do I use the sprite from cursors in my map? Or would it be smarter to just drop it into my own tilesheet?
You can import a vanilla cursors right in tiled and use it there
no need to make another tilesheet
oh hm its not on the 16px grid
weird pick CA
ig you can make your own then
question for yall: How do you decide what should be a new mod as opposed to updating an existing one?
For example I'm thinking about making a new npc that would rely on my main mod, VaelsFamiliars. Should it be a new mod that requires VF, or just a large update?
Depends if your npc can be a separate mod without vf
A lot of it’s personal preference. You could always do it in the same mod and have a config too
the main downside of making updates is that you don't get that sweet Nexus trending visibility
the other way around too (if your familiars can be used by itself without the NPC)
arguably I'd say go for a separate mod
NPC would require VF, VF would not require NPC - and the nexus visibility is nice :')
I made a huge update to VF For a different npc but ahhh, barely anyone saw it
hence why im questioning it now
i think I'll go separate mod? I think?
maybe?
Okay, ultimately I think new mod is the play.
I want to do a lot of different things with the lore ive created here, and this way the player could pick and choose what additional features they do or dont want.
IE, if someone just wants Yuzuki adoptable and doesnt want a second shop, they just need VF + Yuzuki Adopt.
Vs, if they dont care about adopting Yuzuki and they just want to crop expansion, they wouldn't have to worry about that feature at all.
Keeps it from one mod getting too bloated and creates a sort of ecosystem where Vaels Familiars is base content, almost like a framework piece, and the rest is expansions that you could pick and choose?
Like the four pillars dont necessarily interact with eachother, other than that they tie in to base VF
Yeah okay I think thats where im leaning
Sorry yall im basically talking to myself here LMAO
Hello, i am new to modding and i would love to do hair/outfits etc. I tried today to do a hair version, just took a vanilla png and tried to animate it bc. i want hair with animation. but it does not work ingame, there is also nothing in the smapi log regarding the file. i think theres something wrong with the json files. attached you can find the png and json files. im thankful for every help!
Chat is 9 bundle books too many?
Is this mod for use with Content Patcher or Fashion Sense? Typical mod structure is a manifest.json and content.json file for CP, but I am not as familiar with Fashion Sense.
As in 9 books required for a bundle or 9 books that each contain a bundle?
9 books that each contain 1 or multiple bundles 
depends how hard the bundles are and what they unlock
Uhh the unlocks are gonna be difficult cuz I don't know yet 😭
All I know is I got carried away with making the map and there's room for like 9 bundle books 
oh it's for a map, yeah it's alright I guess
Ye, here's the map and all the locations for bundle books very clumsily placed in the snipping tool
And they're gonna unlock as you complete them
For fashion sense
If your whole expansion is around completing bundles to advance the story, then it's not too too much
this is side content for a mod that was meant to just add crops and recipes 
This is all for the fun of it 😭
-# and also a place to unlock recipes
guh pathfinding broke now i must figure that out
IIRC the plan was for each bundle to unlock a powerful recipe, or at least the later ones
hmm does anyone know why my npc is walking into the void? the schedule loads. There's an accessible warp in my tmx
Why would you said "iirc", isn't that your expansion? /j /lh
My brain is hung up on the fact that you could have made a whole expansion for this just by imagining it as a cooking institute or alchemy school situation where you added one or two NPCs as instructors/quest-givers. LOL
I have had to do a lot to get to this point 
Mainly, I thought it would be really cool to have bundles because I LOVE completing the CC bundles
And now I have to wonder if a cooking school mod exists
They're such a good point of progression and I often see it as the goal for the game despite all the content afterwards
The fact that it's books is what's confusing me in this context I think
It's book because that's how they work by default and I don't want to figure out custom assets for this 
Well well now hang on I never said that 
(could always borrow Linus's roasting spit and cook pot for a start rather than making new assets)
Well it's also a mythical pokemon so I feel like using something mythical and magical like the junimos is a fair idea
Again I'm also just being lazy lmao
I kinda feel like I should add more forage or something.. just so I can have a basic forage bundle 😭
Or you know what maybe the intro bundle just has only 2 pages that also works
though I do like the idea of adding more forage regardless..
Oh god wait actually WAIT- The e-reader berries! Oh my god those could be AWESOME for forage!
Because then I don't have to implement and seeds or crop sprites! 
whisper scope creep! scope creep! scope creep!
ahhh mann these only have berry Tag sprites which are 48 x 48 default. I'm gonna have to downscale them to 16 x 16. I can do that, though.. probably..
Oh dear god I could also add forage to the rift dimension using the hyperspace berries from Pokemon Legends Z-A.... It would be kinda fitting but feel so out of place 😭
I'll keep that idea on the backburner though...
your mod looks like evil version of mine

Ah, I'm probably using the same tileset just recolored!
Emily's dream sequence, right?
yeah
I'm realizing I could also add Apricorns as forage 
Hii y'all does anyone plays mods on stardew on android or on chrome os Is it safe to do and how is it like when you guys play with mods? Because I'm Doubt I want to do it but then again I don't. Pff, what is it like to play with mods and so
guys scope creep is real and it WILL get you
That's something #modded-stardew can help with!
Modding is safe as long as you download the ones from verified creators on nexus tho
This channel is for people who make mods
Hallo! I think I'm starting my making mods journey now. Just a warning for those who may choose to help me out, I like to jump into things. I don't mind making mistakes as long as I can learn from them.
Ow sorry anow i see it lost my focus a bit
Aahh okay good thing now i know a mod is safe to download
its totally okay dw!
I'm making animated hairstyles with Aseprite so what size should the canvas be?
Reworking my entire mod oh my god why do I do this to myself
(Im having fun i swear)
(don’t forget to take breaks and rest!)
each hair uses 16x96 pixels in tiles so something that fit that
Is it normal to hate commas and speak to smapi as if it can argue back?
yeah
oh its something I never tried to work with so im not sure
I'll look more into it then
you may wanna check other peoples mods to see how they work
Shardust’s known for their animated hairstyles
is there a faster way to test CTs?
like faster way to get them over with
i just need to make sure whatever i have set up to trigger after its done actually triggers
and i dont wanna sleep 20 days </3
I'm starting to question if I change the name of my mod. But I feel like if I change the name of my mod then it's just gonna suffer even MORE scope creep and also probably alienate previous downloaders
Why would it be more scope creep? Will changing the title substantially alter your content?
Well if I fully turn this into a pokemon additions mod I'll probably end up adding even MORE general pokemon stuff
And I don’t think a change in name would necessarily alienate your user base, esp if you feel like a new title would suit it better
I have specifically chosen NOT to add mineable revive ore nodes to the mines for the fact it strays a tad too far from a mod that is supposed to add just "Pokemon Berry Bushes"
is this your content.json
i will cri if so
no it doesnt look liek that
looks like map palcements
Wait sorry, what was the mod you wanted to make again?
This mod was originally just "Pokemon Berry Bushes", a mod that adds the pokemon berries as crops and with recipes to use them in 😭
ohhh
(what’s the original title and your proposed one)
Oh I don't have an idea for the new title
But I've just added a lot BEYOND the berry bushes I feel like it might make sense to
Like what, for example? If it doesn’t really stray too much from your original plan, that’s okay imo?
Well I've added a whole ass NPC with its own custom location, dialogue, and gonna be adding a ton of bundles to complete
only 2400 lines of code too
And if you feel like what you want to implement feels totally distinct from what you’re working on, you can just make a separate mod out of it 
I guess it was the point I decided to use include now
Granted the NPC doesn't have a schedule or anything..
Doesn't really move either.. but I've also added several events relating to all that
Honestly, that’s still okay! Lots of features for your users to enjoy
you should change the language to json with comments
!vscodejsonc ?
!jsoncvscode
!vscjsonc
In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add
"$schema": "https://smapi.io/schemas/content-patcher.json"
at the start of your content.json file.
here you go
(my marriage mod for Harvey’s supposedly a dialogue expansion, but I added lots of bits and pieces like marriage perks where he doesn’t bill you the full amount when you die, medicine you receive from the mail etc etc)
Eh, it’s your mod. If you feel like that will make your mod more complete and it’s something you wanna add as a feature to your mod, go for it. Just don’t burn yourself out in the process.
It's definitely things I want to add. In terms of completing the mod.. well, my goal for this update was just to add enough recipes so every berry had something it could be used for. Which I haven't actually done yet 
And that's a downgrade from my original completion goal which was to make 1 recipe that each berry is the star of, but now that I think about it that's a guaranteed 67 (now 79/87) recipes ON TOP of any other things I come up with so.. yeah I'm just gonna stick to making sure each berry can be used for SOMETHING
This update started as a distraction while I waited for Tomodachi Life LTD to release, but honestly working on the mod has been really enjoyable and the community in this server has been very welcoming, so I've been legitimately having a ton of fun working on the mod and learning so much more about how to add things!
😭 100 extra commas?
thats nuts 😭
i probably have a similar number of warnings due to unnecessary commas lmao 😂 I'm too paranoid
going to do the outside of the pyramid is going to kind of a pain lol, but luckily i only need to get it to look kinda good 
the amount of times I added a new entry but forget to add a comma on the last one.. wont happen if i add a comma every last one uwu
the sandstorm haze will cover a lot of inperfections
oo yeah, does look nice!
Please for the love of God switch to jsonc
I finally went in and figured out how to turn off comma warnings
the only thing i did was the 6th column where it looks like its angled back a bit lol 😭
i just stole the rest from the skull cavern assets
I use jsonc stuff in standard json just fine lol
I think moving it back one section more around the middle where the line gets a bit long (on the top) would be good
guh anyone know how to fix this? i have an npc warp set up here and it doesnt seem like theyre using it. they just get stuck and dont move
For those that want to know, in vscode it's in file > settings > preferences... go to Extensions > JSON > JSON: Schemas > Edit, then paste in ```{
"files.associations": {
"*.json": "jsonc"
},
"security.workspace.trust.untrustedFiles": "open",
"editor.minimap.enabled": false,
"json.schemas": [
{
"fileMatch": ["*.json", "*.jsonc"],
"schema": {
"allowTrailingCommas": true
}
}]
}```
whee
I read jsonc as j sonic
this?
are there any tile properties on the lower tile in that doorway?
(ah, just saw the other server update, nvm if it's functional again)
yeah i dont know whats going on
break, i add thing, fix, break again, i remove same thing, fix
using multiple warps there might cause more harm than good, they should be able to share a regular map property Warp with the player in a map like that
yeah it just wasnt working before
which is why i added an NPCWarp
but then it started working again after i removed it
yeah, not sure why, but solving the weird inconsistency is preferable
i do not know why it broke in the first place
pathing's pretty fragile in general
I'm pretty sure LockedDoorWarps are used bt the scheduler
yeah, I wasn't sure because pathing, but afaict that's the only way NPCs get inside from Town etc
though they shouldn't be used in that interior exit anyway
Does anyone know of a very easy way to learn cutscenes? I wanted to make a simple cutscene between Pam and Penny, but I'm unsure how it works
ummmm
run an event and read the script while its playing
preferably a short event
where can I dump the script so I can see the event and how it works
there's a whole category of event tutorials here ("event" is the term for Stardew's cutscenes, and technically also most festivals)
https://stardewmodding.wiki.gg/wiki/Category:Events
this section on the main wiki explains how to extract the game's Content files into readable text/image files
https://www.stardewvalleywiki.com/Modding:Editing_XNB_files#Unpack_game_files
and when you have those, the game's events are all in Content\Data\Events as .json text files
tyty
Esca’s links are a great starter! Personally for me, when I started writing events, I’d watch vanilla events instead while reading the event script to study its structure.
time to finish the rest of this update...is there a faster way to test CTs?
as in getting them over with
looks like clearing all CTs with debug clearactivedialogueevents is the only built-in command related to them
hmm okay maybe ill just set a short ct and then up it after im done testing
oh, there might be a workaround with trigger actions
debug action AddConversationTopic <ID> [days to keep it active]
that wouldnt speed it up though right
(and the removal one along those lines)
debug action RemoveConversationTopic <ID> should get rid of a specific one, if that's the goal
yeah im kind of paranoid about CTs not working but i will try that to speed up my testing
(also ig it's possible to test the memories that way by adding it with the _memory_etc suffix, probably)
quick question
how can u activate that tile inspector visualizer thingy
was it pressing "~"
or similar button?
it would like tell u the tile and all
in game
oof
tilde
doesnt do anything for me
err open gmcm menu and look for debug mode
U do not have debug mode
None
tyyy
np
Well that's a neat mod
does anyone know where the music files are isted on the docs
or in the unpack?
so i can see which soundtrack plays nicely with a cutscene
i18n for events are cruel and evil...
they are no where near as bad as this...

oh they can be 😭 especially with the forks and questions and question forks
Ohhh
i ddint think of forks
and questions
😨
and queries...
and sometimes the dialogue repeats and i dont want a translator to deal with that so i have to find the repeat...
god it took me hours to go through the whole event lmao 😂
if its a smaller one tho it should be easy enough
we're getting closer
accidentally wrote an insanely far tile
with her walking through it all
i shall fix
its ok tho isnt it normal for evelyn to walk through tables? she is immortal
she already passed on 
Glad I’m not the only one naming my testing saves test LOL
mine are always buncha numbers for every possible entry
farmer name farm name favourite thing
Mine are like
Scheduletime
Testing
Test
Clean
Clean2
Modtest

Random question but does anyone know what "playerControl" actually does in an event script? I know it's only used in Haley's beach event with the command "playerControl haleyBeach", to find her bracelet. However I don't see "haleyBeach" anywhere else in the unpacked files.
It's used in several places, not just Haley's event.
It's all hardcoded stuff in C#
You can't add your own
I wish I knew abt it when I wanted something similar to happen T_T
But well it's fineee, player control is a bit funky
Well you wouldn't have been able to do it with just Content Patcher anyway even if you did know about it
Ahh okay okay
OK thank you for the answer.
I'm fiddling with what to do to conclude my passive festival. It will be a murder mystery event where the player has to get clues from villagers about the identity of the criminal, and will find and retrieve the fictional murder weapon.
I guess I could have the event trigger whent hey have the weapon and have a dialogue fork where they identify the killer but I wish there was a more 'actiony' way to do it
Like the guy running the event could give them an 'accusation object' to give to the killer, but I don't want the player to have to track them down on the map since they will have been doing that all day already
And I don't want to edit schedules because if it results in them walking through walls that will ruin the whole thing
Does anyone know the best way to go about recreating the sandstorm effect from botw using C#?
I managed to make a few particles drifting across the screen to imitate wind blowing and everything. But it looks kinda crappy lol. Id imagine I’d need to draw a sprite/animation thingy similar to the water texture that’s in the game already
There's an update to the mod weather wonders in the works which will feature a sandstorm, you might be able to implement this in your mod
You are not allowed to just take Weather Wonders' implementation as it is not open source.
oh
though that's a content pack for Cloudy Skies right
It is
so you can make a content pack for the underlying framework
Maybe you could do something like a map with tiles/totems representing the suspects, and an 'interact with the accused's totem while holding the accusation object' thing? Not sure how well it would work but might be worth a shot
Possibly, I will give that some thought
I suspect I have done something silly
Been editing my shopdata and now my closedmessage isnt workin, it just opens the shop with no owner
past 8am works as intended
Try 800 in the first entry, not 0800
no luck :')
How about setting specific close times? TIME 600 800 and TIME 1400 2600
And give each entry its own Id field
still just opens anyway ;-;
What if you set the name to just 'None'
nope :')
man at this point im just going to abandon a closed message and lock the doors regularly
can you verify with a patch export that your code is saved
eyup, exported data/shops and like, it looks correct there
im sure im missing something silly
i think you might be missing a ] to close the dialogues
oh wait i just saw in the other sreenshot nvm
all good lol
I feel like using AnyOrNone AND None will cause conflicts?
been trying both in any variation i can think of, initially had it all set to AnyOrNone but no dice
I feel like one should probably have a Condition on it or something, but I could be mistaken.
they all have conditions set
Also, this might be another one of those situations where the list goes from the top to bottom until it finds one that meets the condition, so if you aren't seeing the conditional ones, that may be why?
Its specifically ClosedMessage that hasnt been working - everything else works fine :')
What times do you have set in the openshop action?
ohhhh
well
"If the selected entry sets this field, the shop is closed regardless of any other fields or whether the shop owner is present. When you set the Name field, that affects whether this entry is selected (i.e. whether the shop is closed)."
I have no times in openshop action, so it should be "open" 24 7
That is for the ClosedMessage field, by the way
So uh, you might need to REMOVE the conditions and apply them to ClosedMessage for at least one entry.
to properly check
oh, wait, just saw your above message
Saying you don't have any Action Open Shop conditions

i feel like im playing a game of spot the difference going between the wiki and what I have
and you dont have any "shops always open" mods?
nope
so here's an example from the vanilla files: { "Condition": "SEASON_DAY Winter 15 Winter 16 Winter 17", "Portrait": null, "Dialogues": null, "RandomizeDialogueOnOpen": true, "ClosedMessage": "[LocalizedText Strings\\\\Locations:Desert_Trader_Closed]", "Id": "Closed", "Name": "AnyOrNone" },
It's right up at the top as the first entry under Owners, so that condition is checked first (for the Desert Trader).
ive not been able to get closedmessage to work either
i know for sure ridgeside's pika closedmessage works maybe that will help
https://smapi.io/json/content-patcher/87b5be5583844b0f976672957e01742e
Does this help? Its my shop json, i had it working before and I have no clue what I changed that messed up the closedmessage
This is what I have for one of my book fair shops:
"{{ModId}}_NonfictionShop": {
"Id": "{{ModId}}_NonfictionShop",
"Owners": [
{
"Id": "{{ModId}}_Open",
"Name": "AnyOrNone",
"Dialogues": [],
"Condition": "TIME 800 1700",
},
{
"Id": "{{ModId}}_Closed1",
"Name": "None",
"Condition": "TIME 600 800",
"ClosedMessage": "{{i18n:Si.BC.BFNotBegun}}",
},
{
"Id": "{{ModId}}_Closed2",
"Name": "None",
"Condition": "TIME 1700 2600",
"ClosedMessage": "{{i18n:Si.BC.BFEnded}}",
},
],
"Items": [
Along with the action:
OpenShop {{ModId}}_NonfictionShop none 600 2600 57 24 1 1
I tried setting it to be closed from 600 to 800 and 1400 to 2400 but it did not appear to do anything so I set it back to !800 1400
past 8am, works flawlessly
before 8am, opens with no dialogue and no owner, completely ignoring the ClosedMessage
What does this parse out to? {{i18n:VaelShopClosed}}
I am wondering if your i18n string is invalid somehow
If you're patch reloading to test the changes try sleeping and or closing/reopening the game as well
"VaelShopClosed": "Vael's shop opens from 8am to 6pm.",
I closed the game and started a whole new save, no dice 
Events are going very well hehe
wasnt too bad to learn
...learn basic events at least
very, very basic
wsp chat
wsg
suffering
ClosedMessage has decided it hates me
wdym 🤔
me an The Gang have been trying to figure out why it aint working for an hour straight
ur not pure of heart /j
do you mind sending your i18n json?
and your log just in case
im so sure im just missing something small somewhere and i am goin to scream
will do gang
the other ones work?
well, we can't really offer any other suggestions until we see the log and the i18n, because as stated, the code looked correct.
maybe bro had to afk rq dw
(not trying to be rude, just don't want him getting sidetracked since this is the second time Selph asked for a log)
i18n:
https://smapi.io/json/i18n/237ce1829d384a22913a979468f41c76
Patch summary + log :
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on macOS Unix 13.4.0, with 9 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
Is this enchantment (from Strings/EnchantmentNames) unused in vanilla?
so sorry i straight up missed selph askin for the log before oh dear
it's fine haha
everything unfortunately looks in place
sobs
and you tried to interact with the shop during the session this log was taken from?
yep
oof
i appreciate yall doing your best at least so i know im not going crazy lmao
i guess ill abandon the closed message for now as annoying as that is
Dumb suggestion what if you give the shop entry itself an id
"{{ModId}}_VaelShop": {
"Id": "{{ModId}}_VaelShop",
"Owners": [
as a last ditch I'd request the mod file so I can test it myself but I'll not be home for another 5 hours 
one last possibility, you have some overlap between your !TIME and TIME conditions on two entries, could maybe remove the overlap?
ShopData does not have an Id field.
That's why it was a dumb suggestion lol
Also forgot to ask, was it working previously? Any chance you use source control like git?
kind of, it was working when I had it set up as a LivestockBazaar shop - but I decided to change it over to a vanilla shop and since then, no dice
Oh, so it's never worked as a vanilla shop then?
2 out of 3 cutscenes done :3
Possibly irrelevant, but I did notice that the Night Market does this silliness for their closed condition instead of negating the TIME GSQ: TIME 0000 1659
So that'd be TIME 1800 2600 and TIME 0000 759 for the equivalent of yours?
yes but I have reason to believe the condition is not actually the issue
For science I tried removing the condition entirely and the closedmessage still does not work
yep
hmm
as far as I can tell, with no conditions, and it being the first owner entry, there is zero reason it should be failing 😭
Just to rule out absolutely everything, can you comment out the other owner entries?
If it's the only option, does it still fail?
How stubborn is this closed message
Another test to try, does it let you have multiple conditioned entries while the shop is open? like ' TIME 800 1000 RandomDialogues '"dialogue1" "dialogue2"' ' ' TIME 1000 1400 RandomDialogues '"dialogue3" "dialogue4"' '
hilariously yes, i even outright deleted the other owners (copied to a different sheet) and it still opens
yep :')
cody should i get carne asada fries?
i honestly dont know how I would implement that - dialogue (and randomdialogue) is separate from the conditions field
absolutely
aight
I don't need to do a location entry for something ill use to overlay on vanilla map right
only editmap
believe so
{
"Name": "{{ModId}}_Vael",
"Id": "{{ModId}}_VaelTendingShop1",
"Condition": "TIME 800 1000",
"Dialogues": [
{
"Id": "{{ModId}}_VaelItemShop_Dialogue",
"RandomDialogue": [
"{{i18n:VaelShopOpen1}}",
"{{i18n:VaelShopOpen2}}",
"{{i18n:VaelShopOpen3}}"
]
}
]
},
{
"Name": "{{ModId}}_Vael",
"Id": "{{ModId}}_VaelTendingShop2",
"Condition": "TIME 1000 1400",
"Dialogues": [
{
"Id": "{{ModId}}_VaelItemShop_Dialogue",
"RandomDialogue": [
"{{i18n:VaelShopOpen4}}",
"{{i18n:VaelShopOpen5}}",
"{{i18n:VaelShopOpen6}}"
]
}
]
},
And then add some random i18n entries for dialogues 4-6
Starting on a Welsh translation mod for fun, and. This one's a bit unfortunate
This tells you whether it's reading the condition at all or not
ah, I know its reading the conditions fine, since the other owners - Vael and AnyOrNone - both only work during their conditioned time
I wonder if it might work to set the shop's open time for the MapTiles/"SetProperties" area to be 600 2600 and then have the condition for the closed message in owners be a negative of the open owner condition (I think it would be "Condition": "!TIME 0800 1400" for you?) 
This is hilarious
alas, no dice :(
It still just opens before 8am as if theres no owners set at all
Did you ever get yours working for Evelyn?
aw darn, that helped when I had closedmessage troubles...hmm..
mhm, aba helped with that
you added the open times to the Action OpenShop tile action?
Wait what’re you doing? Are you setting a warp?
added the 600 2600 open times to the openshop action yeah
600?
If you want it to be 8 that’s 800 no?
800 1400 is probably what you actually wanted.
for the closedmessage to work the shop needs to technically be open
but yes I could also just close it normally and have no message
🙂↕️ if you do a normal locked door tile action it says it’s only open blah blah just not specifically vael
Well, it's not a door action
Maybe you could do an action message for the times it's closed instead. That really shouldn't be necessary tho
Oh what’re we doing
Action OpenShop is the counter.
What if you don't have any owners? Could it be reacting to the npc just being in the vicinity?
the npc is not in the vicinity i fear
😂
at this point its straight up sunk cost fallacy of how long ive spent trying to get this to work
Like its not really a big deal if theres no closed message
Swap the owner entries order maybe? Put the 'shop closed' entry at the bottom of the list
No but you see, you've got us intrigued now
haha im glad im not alone at least in this insanity
There is no better way to learn to mod than to go mad debugging something
New quote added by atravita as #7899 (https://discordapp.com/channels/137344473976799233/156109690059751424/1494101133797363832)
alas, no difference
Retweet
Alright I'm not really comprehending what I'm looking for from the wiki so I'll ask here. How do I add a GSQ for season ON TOP of the random chance? Like how would that look? do I use just a space, a comma, a slash?
comma, goes in the condition field
"Condition": "RANDOM 0.6, SEASON Summer"
(assuming I'm understanding the question right)
in this case "If RANDOM 0.6, SEASON Summer ## or some such
but yeah, GSQ queries are separated by commas to indicate "A and B and etc"
Was in this exact situation trying to make closed message for the Flower Show vendors to work. Found out that the shop tile data needs to be complete like OpenShop SVFS_SeedsSaplings down -1 -1 0 0 0 0 instead of just OpenShop SVFS_SeedsSaplings
Ahh, alrighty! Ty both!
Did you want the season to be a condition for all of those actions? It'd be easier to make it a condition on the trigger action itself if so
...oh, yeah, if those are all summer, it'd make more sense not to staple it onto the randoms
That.. would've been very smart yes-
But the job is already done 
But yeah uhhh I should probably do that instead lol
I would've been upset if I hadn't used the replace function
yeah, that'd check the GSQ once for every action being performed, so it's worse for performance than just putting it in "Condition"
Are the -1's to denote start/end times as 24hr? We tried 600 2600 earlier but curious if this is another way of doing the same/if it gets read differently
-1 is basically omitting the start/end times if you want to determine the owner tile area.
so the defaults for all the OpenShop stuff, if you don't provide them, are null for the direction (same as "none" or any other not-direction) and -1 for all the others
in the times' case, it works like this
if ((openTime2 >= 0 && Game1.timeOfDay < openTime2) || (closeTime2 >= 0 && Game1.timeOfDay >= closeTime2))
//then it's closed```
i.e. it won't check the open and/or close times if it's negative, which is about the same as 600 2600, time mods aside
My speculation is that the shop tile data having no determined owner tile area is what makes the closed message not work when the owner's name is AnyOrNone. (but of course, I don't actually know anything)
Hmm so interpreting that with what the wiki says, if the owner is anyornone and there's no usable npcs in the area (since wiki says it'll check the whole location if owner tile area isn't set in openshop), then it'll fail?
Maybe. I have no idea what the logic is. Just that it somehow works when I do it like that. 😅
I'm really tempted to create forage in my custom location but thinking about it I'll probably need to figure out how to make which tiles possible for forage to spawn on and THEN figure out what forage would actually spawn there 
so I think the OpenShop mention on Modding:Maps is a bit vague, and Modding:Shops is technically wrong? the latter says this:
When searching for an NPC, each entry checks either the [owner tile area] from the Action OpenShop tile property (if set), else the whole location. If no entries are matched, the shop isn't opened.
but when OpenShop is used with a blank (or -1) owner area, it opens the shop menu withforceOpenset to true, which I think just kinda skips all entries with ClosedMessage and uses an open one, or if all else fails, just opens it with no NPC
whereas using a rectangle of 0 like Dolphin mentioned means it just checks an area of 0 tiles (and still checks closed messages that way)
hmm- okay, so, if I just set the area it should theoretically work? On it
Oh hey it does work! (Ran a quick test)
@scenic ferry do what Dolphin Is Not A Fish and Esca said, they got it
should be fine that way, yeah, it's just a bit weird to document
I suppose the "searches the whole location" part in the shops doc is technically true? it just notably ignores closed entries and doesn't require an NPC (or matching entry at all)
holy crap, never been so glad a shop is closed in my life
ty so much!! Thrilled we finally figured it out
I think the wiki is definitely in need of some rewording then? on Maps, "[owner tile area]: if specified, the tile area which must contain one of the shop owners for the shop to be available. For a custom shop, these are defined by its Owners field. This must be written as: <x> <y> <width> <height>." implies that the shop wont open if it doesnt find an owner in the target area, which seems misleading?
So if it isn't given anything to check, it assumes the shop must be open? Interesting lol
yeah, using all -1s for the area or just not providing it = force open mode
(only using some -1s throws an error)
I think it will grab a valid NPC if your owners entries define one, but it'll ignore any entries with a close message & eventually just give up & open with nobody
it's a bit weird to trace & I'm about to fall asleep, but that seems to match the behavior anyway, and I recall people going over this a while back
(mistook it for a .16/1.7 bug or something, but I probably misremembered)
Iirc from many past times of people also getting confused with it, I think it is technically documented correctly, but the feature itself is just really weird and unintuitive
I could be wrong but that's what I recall
I didn't parse the maps/shops articles as mentioning the force-open logic, but yeah, it's hard to describe at any rate
And hopefully also be successful 
yeah, that command should work here
Remind me to look at closedmessage stuff in 18 hours
ooo not sure if I can count that high but I'll give it my best shot!!! (#7147438) (18h | <t:1776360379>)
I guess that best place to mention it would be under openshop's owner tile area section, maybe something like 'if using closedmessage as one of the owners, set these parameters to zero even if not using them to avoid a forceopen shop'
The fact that action openshop needs to be open during closedmessage hours could also be clarified better
that’d be rly helpful
(I can add something to that effect now since I've got the wiki open but feel free to reword it when you look at it tomorrow @torpid sparrow
)
I haven’t read the full discussion here so I’ll look at the wiki and try to fix my shop tmr and if it works then yay!
I would just advise to make sure you are 100% confident about how specifically the entire command works before editing the wiki to say how it works
Where are the vanilla bundle icons located? I found a set in LooseSprites but this def does not include all of them..
I seem to have found the remixed bundles icons but not the base icons
Omg okay I found them I was NOT expecting googling it to help
Im gonna finish my sprite finder one day
(Thinking out loud here, feel free to critique)
Current wiki text under OpenShop:
[open time] and [close time]: the start & end times in 26-hour format when the shop is available. Interacting with the tile outside those times does nothing. If omitted, the shop will be open at all hours (however it is possible to close it using a ClosedMessage in its Data/Shops entry).
Going to change 'available' to 'interactable' since the former implies 'shop is open'.
'however it is possible to close it using a ClosedMessage in its Data/Shops entry' being after 'If omitted, the shop will be open at all hours' implies that the ClosedMessage part applies specifically when the open and close times are omitted, so that needs to move.
New text proposed:
[open time] and [close time]: the start & end times in 26-hour format when the shop is interactable. During this time, the shop can be closed using a ClosedMessage in its Data/Shops entry. Interacting with the tile outside of [open time] and [close time] does nothing. If omitted, the shop will default to being open at all hours.
More current wiki text under OpenShop:
[owner tile area]: if specified, the tile area which must contain one of the shop owners for the shop to be available. For a custom shop, these are defined by its Owners field. This must be written as: <x> <y> <width> <height>.
What's needed: if omitted, shop will ignore any closedmessage owner entries and forceopen even if no viable npcs around.
New text proposed:
[owner tile area]: if specified, the tile area which must contain one of the shop owners for the shop to be interactable. For a custom shop, these are defined by its Owners field. This must be written as: <x> <y> <width> <height>. If omitted, the shop menu will force open regardless of whether the shop owner is present and skip any Owners entries containing ClosedMessage.
I should know this but it seems #$e# can't be used in conversation topic dialogue? It didn't resume after the first part when I tested just now.
I swear I've used that in a CT before
I thought so too maybe it was just a bug when I tested it.
Once you talk to someone with an active CT, the CT dialogue is marked as seen already. It won't be an option when you talk to them again
So further dialogue boxes won't get it
Ah OK thank you
I guess if you really really needed to replicate the functionality you could add $action AddConversationTopic TopicID_Part2
Worked for me
huh when I tested my character did first part of CT dialogue, then did regular dialogue, then nothing. When I changed the #$e# to #$b# it did all three parts without breaks as expected
I guess I'll do some more testing thanks
still no fix?
Moving the note about ClosedMessage makes it less clear to me, and doesn't make sense to put right in the middle of a description of how to use [open time] and [close time].
It also makes it sound like you can only edit a Data/Shops entry during the open hours / or use ClosedMessage when open and close time are specified (and NOT when they are omitted and the shop is always open). I assume from the original description that ClosedMessage acts as a sort of override of OpenShop? (if not, then ignore my critique).
I would propose an order that:
1 - describes [open time] and [close time]
2 - describes behaviour if these values/OpenShop is omitted (not sure which)
3 - mentions that ClosedMessage will result in closing the shop regardless of 1 or 2 (assuming that's the case)
mentions that ClosedMessage will result in closing the shop regardless of 1 or 2 (assuming that's the case)
This is actually the exact reason I'm proposing moving it up, see the discussion above (replied to). Basically if openshop isn't given any owner area params, it skips closedmessage entries and forceopens the shop
We've had a group going for the better part of the day (see CodysOasis's messages) trying to debug their shop bc of that exact issue lol
So closedmessage needs to be used during the openclose times specified, with an owner tile area specified (even if it's just zeros)
Okay, yeah I saw the comment about [owner tile area] afterwards, which complicates it. But are you also saying that ClosedMessage won't do anything if [open time] and [closed time] are omitted? Because that's what your edit implies to me.
(your first edit about [open time] and [closed time], not that one about [owner tile area].
openshop has 8 total param areas: shopid ownerdirection opentime closetime ownerx ownery ownerwidth ownerheight. To define the last 4 params, something needs to be in the spots for the first four params. it could be 600 2600 (or -1 -1 as Dolphin Is Not A Fish found out) but it does need something there, or the game won't know that the last 4 params are the owner tile area
If opentime and closetime are omitted, closedmessage also won't do anything
Yeah, there's no way to omit [open time] and [close time] if you want to have [owner tile area]
Ahh I see
Because the openshop action which calls the shop id containing the closedmessage won't be active
I appreciate you asking about it! Helps with making sure I'm considering all angles 
Yes, I'm definitely commenting as a person interpreting what is written rather than understanding the underlying mechanic
This here sentence was the missing link
That's how most people are going to be reading it, so definitely important
Important to remember though that's how it works with everything that has multiple optional things. Whether it be a map action, trigger action, event command, etc.
(Unless specifically said otherwise. I think theres a GSQ about museum donations that is a bit of an outlier)
That was my thinking about not originally mentioning that all params are needed to get to owner tile area (since it's so common), but now it's got me wondering if that's actually mentioned anywhere at all in the modding docs
It's not necessarily clear to new modders who don't have a programming background
I think the biggest issue with having 8 bundles to complete is having to come up with 8 big and just rewards for it like the CC bundles
Oh yeah, it does currently say "All arguments besides the ID are optional"
Although I've actually got 4 ideas already which is pretty cool!
implementing them might be a different story-
Which I understand means you can omit them all...
And I would kind of wonder how to use if you wanted to omit one in the middle. I probably wouldn't assume I could leave one in the middle out, but there's no guarantee lol.
I do wonder why it specifically says that for the OpenShop action, considering that it's far from the only one where all arguments besides the ID are optional.
You can't unless the thing in question supports plugging in a value that it knows to ignore.
Which is not true of every thing with optional arguments.
(Or you are the aforementioned gsq outlier which will check both variants. As well as a couple event commands maybe like viewport. As always there is the implied "unless it specifically tells you that you can do something else")
Ah, so then listing a value that it knows to ignore would be helpful like -1
This is why I love when there's a usage example
I think we just don't really have it specified anywhere not to skip over values. A new modder can see
OpenShop <shop id> [from direction] [open time] [close time] [owner tile area]
and
All arguments besides the ID are optional
And say 'I only want open close times', which results in
OpenShop {{ModId}}_shopname 800 1600
And then wonder why they're getting an error (bc they skipped [from direction])
(This example is disingenuous bc openshop [from direction] defines in the wiki that setting it as 'none' disabled it, but that's not always the case)
Probably a section at the top of the section like "<> is compulsory, [] is optional, but you can't skip" would be helpful.
So it's not so much "all arguments besides the ID are optional" and more "each subsequent argument beyond ID is optional"
I'm still iffy about having that statement specifically for OpenShop because it's potentially misleading like "oh so it's not the case for all other actions"?
Yeah, though it would have to be at the top of every page, and on crowded pages like Modding:Maps it could get lost. A dedicated 'how to read the wiki' page in the index might be more useful tbh
(to be clear, by statement do you mean 'don't skip any of these params' or something else?)
I was reading the wiki just a couple of days ago and wondered what <> and [] meant in that context. But I also thought I had read it somewhere in the past
The "all besides ID are optional" statement it currently has. Basically I'm advocating to remove it and put it somewhere else with more clarity.
I agree, but I think the reason it's there right now is specifically bc it doesn't seem to be written anywhere else so I'm hesitant to take it out till there's a good place for it to go
I've come up with rewards for every bundle in my mod except for the final bundle... I'm really not sure what reward would be good or even be NECESSARY at this stage of the game because this is supposed to be end game content
i mean, stardrop tea is always a good reward
Uhhh I don't.. think so in this case? 
This the kinda bundles that would require stardrop tea as something you need to put into it (not actually but I haven't decided yet)
one single copper ore
as a reminder of where you came from 😌
and how far you've come
Something like this would be REALLY funny, though my idea was a crayon drawing drawn by Darkrai themself that you can put up on your wall
that's also good, I would enjoy that
Stuff you can't get by other means is nice, then it means whether its end game or not doesnt really matter
I was also considering the ability to have Darkrai as a roommate but unironically that feels really boring and pointless if you have a spouse
And you've gotincentive to actually do it
Honestly I think that's just the best idea
I love the thought that the penultimate reward is just infinitely better than the final reward though 
if you want something endgame there's only a handful of superpowered options like magic rock candy and stardrop tea, otherwise you can always make something lucrative or ludicrous yourself
Though tbh I think the other rewards I've come up with are not balanced in the gosh darn slightest
one dainty kiss from a nightmare being
Ah, you see.. the rewards like that are what the rewards leading up to the final bundle kind of are 
exclusive prismatic darkrai hat
Balance is gonna be so screwed but honestly I don't know if I mind 
Some of these are supposed to be available only late in the game anyway
Balance is a bit of a fools errand anyway once folks are modding
for desert bus i made the rewards cosmetic (pam outfit), convenient (free bus tickets), and ridiculous (cursed desert bus arcade machine)
i think pretty much all of those options are good at any stage of the game
fashion is the true end game of many games
I TOTALLY FORGOT SOMETHING LIKE THIS WAS AN OPTION-
It's not vanilla
but also desert bus isnt exactly a paragon of normal modding or even remotely popular
Except boots which only provide immunity
Yeah like stat boosts from reading a book could be a good reward! I kinda wish I thought of that 😭
I just put an explanation on top of the Known map properties section. I figured it's better to do that for now instead of having it listed nowhere.
how about Instant Perfection
Oh also cinder boots have a silly sound
For context, here's my ideas in order.
The first actual reward is a building that goes on your farm that lets you teleport into the rift without having to go to the Wizards Tower
I mean we already can buy %
if you already have perfection you can get Double Perfection and that makes everyone else feel bad
Lol
Your options are also very limited here too
You can't do anything that you couldn't already do without the book
So basically just buffs
Hey a permanent speed boost is a permanent speed boost
😭
The next two rewards are knowledge that makes Berries (the category of "Berry" items that I set using SpaceCore) sell for more (somewhere between 1.1x and 1.35x I'm not decided)
And then the Dense Grotto which will be a small heavily forested area accessed.. somewhere.. that spawns like a LOT of forage
From both vanilla and my mod
Then an item shop that sells things like seeds at better prices than Pierre's, unique seeds not sold elsewhere, and some other special things
I wanna make a mod that will add mana and spells as another way to do damage and stuff
Bear in mind that the berries thing won't apply to berries that already exist in the world once you get that power
That's something I'll probably draw and never code cuz I don't know how to
Ah, that's a shame but I think that's fine
Not a huge deal, only affects one harvest
But having a spritesheet ready hopefully will motivate me
Or well
One harvest assuming the player didnt sell it asap
Actually idk why I even assumed they were a crop
Are players meant to keep berries on hand?
Berries are indeed a crop
Of course, I totally knew this
I suppose using some framework for weapons and then I'll just clay something out of it with some pixel magic of mine
BETAS can actually update the price of existing berries, but I wouldn't strongly recommend it unless you really cared
The next reward is access to the "Aether" which will be an area above the Rift that acts as a warp hub to many areas in the game. This is a reward from completing a bundle with stuff from ginger island so it's supposed to only be post CC for reference
The reward after that is a bunch of really powerful recipes with some insane buffs (I have a habit of making totally busted foods :3)
And then the penultimate reward is access to the "Abyss" which will be an area below the Rift that spawns unique forage only found there that's INSANELY valuable
The only other reward I've been thinking of is another farm area like Ginger Island but honestly if that's the final reward I'm not sure what you'd need that space for that late in the game?
So.. yeah something cosmetic is definitely the way to go
So basically I have a LOOOT of work to do and Tomodachi Life releases tomorrow 😭
Deltarune chapter 5 TOMORROW

I gotta finish my deltarune inspired mod already but I'm so tired
mmmmm, okay i really want to get this sandstorm vfx done
i wonder if i can just do something where i make an animated sprite of sand going across or whatever...
i just managed to get particles to go across the screen and link it to go with my nudge direction, but it looks nothing like how i want it to
i want to get it like that botw sandstorm if you know what i mean
Do you need also some sort of transparent overlay that obscures vision? / or effect like similar to lighting
im guessing so? i want it to be very difficult to see except for in a small area around you
Well I don't know how lighting is applied in the game, like asset-wise. But from a visual perspective I'd say as well as the sand pixels flying around, having a colour mask with varying degrees of alpha is what you'd need.
Like how green rain day makes everything sort of green. Is this a weather or an event?
Or, a location
So there will always be sandstorm happening?
yes at all times 
You can play with uhhhh
Map property
I forgot
Is it day tint
ambientlight
Basically make it darkness but with yellow effect
Year
true yea
ill try to play with that aswell
It's gonna be visible around you with a light ring or torch
but that alone cant give the sandstorm effect.
AmbientLight ?
Oh I'm a bit behind
But you could use both ambient light and the particle effect right?
Can particles be animated
Yeah they can be
Game has these falling leaves on windy days
Hm
Though ambientlight is subtractive so would make darker rather than brighter I guess
I actually thing sandstorm would be good with some math noise
ill see how it works with using ambientlight
Maybe negative values can do something
Oh actually it's subtractive from white, and daylight is 95, so just have a lower value than that
what do you expect negative colours to do 
negative values would risk putting value over 255 which is impossible
Sometimes not following the rules is what makes our world a magical place
Breaking laws of physics
hmmm did that and looks like nothing 
well i was looking at this like greenish brown
... im not noticing anything
does ambient light not work outdoors?
wym?
i did the 70 80 170 like you said
it just looks like this
exact same as normal
No that's the other thing, I just calculated your color

