#making-mods-general

1 messages · Page 593 of 1

tiny zealot
#

no. if the mod is working as intended then you're fine

strong kite
#

Alrighty!

tiny zealot
#

mostly i chimed in because it seemed like you misunderstood the cause of the problem

strong kite
#

Ahh, fair enough

tiny zealot
#

(attributing it to dialogue parsing or EditData or something else, and not i18n)

strong kite
#

Yeahhh i’m glad I didn’t try to contact one of the wiki editors to get this information added as a dialogue thing HehSweatCloseup
(I mention because that was 100% my plan)

tiny zealot
#

well, thinking about it some more, i suppose you were right. the dialogue code will not expand any content patcher tokens, so using {{ModId}}_YourItem verbatim in a string will not work /lh

#

but as before, the actual error was i18n providing that text as-is without CP getting a chance to expand it

marsh reef
#

🙏 got all the ATs for the upgraded farmhouse done

brave fable
#

finally paid for tiled. take my money 🙂‍↕️

hard fern
#

Woah

#

How

brave fable
#

it takes courage and $20

hard fern
#

Is it tiled pro or something

#

Oh wait i forgot how itchy

#

Work

#

Itch

jaunty shuttle
#

Could I hypothetically make an NPC be fast

hard fern
brave fable
#

not by default, and i don't know of any frameworks for it

jaunty shuttle
#

Omg kek

#

Unfortunate….

#

They go fast if they’re late so was wondering if they could just always go fast

brave fable
#
string deniedMessage = null;
//var method = ModEntry.Instance.Helper.Reflection.GetMethod(location, "CheckItemPlantRules");
//var method = typeof(GameLocation).GetMethod("CheckItemPlantRules", BindingFlags.NonPublic, [typeof(List<PlantableRule>), typeof(bool), typeof(bool), typeof(string)]);
//var method = AccessTools.Method(typeof(GameLocation), "CheckItemPlantRules", [typeof(List<PlantableRule>), typeof(bool), typeof(bool), typeof(string)]);
bool allowed = false;
    //(bool)method.Invoke(location, [shrubData.PlantableLocationRules, false, true, deniedMessage]);

how on earth do you call this doggone method

uncut viper
#

what do you mean how. whats wrong with just calling it

brave fable
#

there's a private overload that simply compares the rules without considering the type

#

believe me i tried Just Calling It before resorting to every kind of reflection

strong kite
#

Is it possible to add items to the pre-existing loot tables for artifact spots?

uncut viper
#
var method = AccessTools.Method(typeof(GameLocation), "CheckItemPlantRules", [typeof(List<PlantableRule>), typeof(bool), typeof(bool), typeof(string).MakeByRefType()]);
#

import bit is the MakeByRefType for the out string

brave fable
#

aha excellent. i'd assumed out params were the same as others, that makes much more sense

#

thank you it works perfectly 🙂‍↕️

tender bloom
#

It should be possible to at least mimic this effect

#

I don't remember if there's an underlying default layer

royal stump
#

yeah, "Type": "Arch" objects can be set as artifact spot options with ArtifactSpots in Data/Locations or ArtifactSpotChances in Data/Objects

#

and Default from Data/Locations does get used, including for some farm-specific stuff & the general Data/Objects item query iirc

strong kite
#

Oh.. hm.. do they have to be Type Arch? The wiki advises against adding those..

royal stump
#

I'd need to see the warning to know what it's referring to, but it's probably because it affects that and the museum donations

#

ah, I'm not actually familiar with it, now that I see it

Caution: adding custom items with the Arch type is inadvisable as it often leads to artifact spots becoming broken and not giving any items.

strong kite
#

Ah yes that warning

royal stump
#

added by Pathos, so probably not wrong, but no idea what the context for that is

strong kite
#

Alright, then it's probably best to heed it?

#

I guess I can just use the system I've got for forage using Spacecore and triggeractions but it's just kinda weird HehSweatCloseup

strong kite
#

Oooo alright

royal stump
#

ah, yeah, ig only Data/Objects mentions needing Arch for the artifact spot data

wind zodiac
#

hey

strong kite
#

I'll try that then

#

Oh sweet and that code is also just a blanket for artifact spots!

royal stump
#

editing Default's list like that should give it a chance to show up anywhere, yeah

#

also in case you needed any guaranteed dig spots or some such, FTM can spawn artifact spots that just contain specific items (multiple if needed)

#

iirc spacecore doesn't mess with them, though I'm not up to date on it

strong kite
#

Oh, actually I've been using Unlockable Bundles for that functionality (purely because that's what I found first after already having it as a dependency)

royal stump
#

ah, yeah, I recall seeing something about that in there too

strong kite
#

I've actually made use of it twice now :3c

#

I kind of wonder if I should expand the museum just because I reasonably could but....
Well? actually that doesn't sound like that bad of a task, I've learned how to use Tiled.
Doesn't mean I wanna do that tho 😭 sounds like a compat nightmare

hard fern
#

Like guaranteed

#

U are gonna suffer

strong kite
#

Yeahhhhh I'm gonna avoid that HehSweatCloseup

hard fern
#

Patching the museum and town are basically not for the weak

royal stump
#

pretty sure there's at least one active framework to handle that

brittle pasture
#

museum space vs top left of the forest space real estate battle of the century

royal stump
#

though maybe it's just a mess instead

strong kite
#

Good thing I disregarded that completely and just didn't care heehee

#

(I made a whole map file for what I needed)

royal stump
strong kite
#

Question: Would it be a compat nightmare to map patch the farm cave or is that rarely touched?

royal stump
#

there are remodels of it, but I think they're mostly standalone in the same way that farm maps are

#

or bundled with a farm, in some cases

strong kite
#

Ah, alright. Cuz my idea was adding another exit inside the farm cave that leads to another forageable area that's unlocked by one of the bundles in my mod

royal stump
#

yeah, for a mod that isn't pick-and-choose maps it'd be more of a conflict risk, though that applies to a lot of base map changes

strong kite
#

I'm not sure what I want to or should work on right now. I've got placeholders I could fill in, Bundle rewards to set, and major bundle rewards to create

#

oh right also shifting more berry seeds to be bought at more unique locations

#

I think Pierre's general store is still selling over half of the seeds in the mod

#

What are some of the most unique shops in the game that dont use an alternate currency? I've got 6 Year 3 seeds, one if which is at Krobus's shop and the other is at Sandy's

#

And also aren't event limited

#

Wait why do 4 of these grow exclusively in spring 😭

rich seal
#

Looking for help with custom fish once again. I'm trying to set a fish that spawns in the town fountain (same location as the Decorative Trash Can, which I only just now learned about). No matter the weight, I just can't seem to catch my fish in the fountain. I've quintuple-checked that I have the right IDs for the location and the specific FishAreaID, as I've done this for other fish in other weird locations, but for some reason, the fountain in the town just doesn't seem to work. Is this just hardcoded to not let custom fish show up or something? Here's what I have. Removing the FishAreaId lets me catch my fish just fine in the river.

      "Action": "EditData",
      "Target": "Data/Locations",
      "TargetField": [
        "Town",
        "Fish"
      ],
      "Entries": {
        "Campaigner.ForestFishFlowerhorn": {
          "Chance": 1,
          "Condition": "SEASON spring",
          "FishAreaId": "Fountain",
          "Id": "Campaigner.ForestFishFlowerhorn",
          "ItemId": "Campaigner.FishFlowerhorn"
        }
      }
    }```
brittle pasture
#

the fallback entry (wood and stone) has chance 1 and precedence -10, so you need to match or beat that

rich seal
#

Oh, first time I've messed with precedence. I'll give that a try then.

rotund compass
#

is visual studio code possible to use to make stardew mods on mac? or should i download vs or monodev?

#

i feel like im seeing many conflicting answers

brittle pasture
#

for C# mods? VSC or JetBrains will do (VS is not available on mac, and mono is basically dead)

rich seal
brittle pasture
#

or vim

#

I use vim btw

rotund compass
#

til ppl use vim for coding

brittle pasture
#

if you're fine with running dotnet manually you can use any editor SDVpufferwoke

#

I do have an LSP though, I'm not that much of a caveman

brave fable
#

to be clear you are making C# mods right

rotund compass
#

yes

#

well making is a strong word at this state

#

attempting moreso

loud sandal
#

@lucid iron Hey not sure if you're still here, but I sent you message on Nexus, I made a lot of progress on the AoE, I think it's done actually lol

lucid iron
#

ill look at it n merge

loud sandal
#

sweet! Just making sure it's all good before I do cheers!

strong kite
#

Hoorayy I officially have under half of my seeds being sold at Pierre's general store allthethings

strong kite
marsh reef
toxic topaz
#

having too much fun playing the actual game so modding is on hold PES_Hands damn it

loud sandal
lucid iron
loud sandal
#

The latter, I needed to make changes in HitscanAbility

#

And I had trouble with Projectiles 😓

lucid iron
#

tbh im not sure what difference is the centered on trinket AoE and a lower cd hitscan ability blobcatgooglyblep

loud sandal
lucid iron
#

it may be that what you actually want is to alter the monster selection logic to support things like multiple targets at once or more randomized choice (instead of always closest)

loud sandal
#

Yes!

lucid iron
#

rather than changing the hit behavior exactly

#

so yea im gonna have to reject the PR as is cus it's not really that blobcatgooglyblep

#

imo we'd want to add these 2 fields to DamageArgs

  • int MaxTargetCount
  • TargetSelectionMode TargetMode (Closest | Random)
    and also alter the anchor mode logic a bit to support TargetSelectionMode behavior too bolbthinking
#

if u wish to take stab at this approach go ahead, otherwise i'll go do it in like a week probably

loud sandal
#

Yeah my actual gameplay goal may be closer to changing the target selection logic rather than changing hit behaviour itself

#

Honetly I think you're the best person for this, but I am just happy it helps

lucid iron
#

well i also just, wont get around to this in a while RunRun

#

so if u want it u might as well try

#

just be warn that i am opinionated lol

loud sandal
#

Yeah I completely understand, I think I might be able to do this based on your design

lucid iron
#

i'd add the helpers for target selection to Places.cs where i put most of the other ones

#

dw about adding this kind of thing to other non monster find stuff helpers, ill do that myself after merging

loud sandal
#

Ok, so atm it's currently:
Closest + MaxTargetCount = 1

So need something like:
Random + MaxTargetCount = 1
Closest + MaxTargetCount > 1
Random + MaxTargetCount > 1

lucid iron
#

Well maxtargetcount is just a number

#

So instead of 1 monster it can find a list

#

And if list has 1 thing that's fine Sleepden

loud sandal
#

so find up to N monstesr

lucid iron
#

Yeah

#

And you won't have to change much about the actual damage helper since u just call that on all monsters

loud sandal
#

So selection helper would always return a list of valid monsters up to MaxTargetCount and if only one valid target exists then the list just contains one entry

lucid iron
#

Well hrm

#

I think it should get a list of all valid targets first (within range, not filtered)

#

And then either order them by distance+ return first N for Closest

#

Or shuffle the list and take first N for Random

loud sandal
#

Haha that's smarty

lucid iron
#

So yeah this approach would limit the changes to the 2 new args + a new monster picker helper + changes on hitscan/projectile to apply ability to multiple target

loud sandal
#

So, just want to double check then, for targetmode = closest, do you want that to always return only 1 target, or should it return the first MaxTargetCount targets after sorting by distance?

lucid iron
#

It should be first MaxTargetCount yea (i edited my message)

loud sandal
#

oh sorry

#

didn't read hahaha

lucid iron
#

I typed it wrong first dw

#

Maybe u can also add fun things like spread damage

#

Just like muh VGC

loud sandal
#

Haha you have faith in me, my head is already spinning 🤣

lucid iron
#

Feel free to ask me about anything unclear and dw about me scope creeps

#

You can skip the anchor logic update for now too

loud sandal
#

So for now, I reckon then:

  • collect all valid targets in range first
  • apply filtering
  • closest = sort be distance and take the first MaxTargetCount
  • random = shuffle and take the first MaxTargetCount
lucid iron
#

It does just mean that companions would still home in on closest regardless

#

But shrug I'm not even sure how they should behave with anchor random

#

So that can be homework for myself later™

loud sandal
lucid iron
#

So you'd take that + MaxTargetCount - 1 other targets

#

Rmbr to check for dupe here

stoic chasm
#

Hello peoplee. I decided to take a break from trying to get my npcs house interior to work to work on some dialogue. So I have a question, how do I make a config option for dialogue? I want to have some silly variants for dialogue, but I want to make them toggleable (is that the right word-?) Does my npcs need dialogue for if you get caught dating all of the romanceable ones? If so, can I add dialogue for both genders? Oh! And how would you guys recommend formatting questions? Really just so they're easier to read.

loud sandal
#

Makes sense

hard fern
#

all they actually need in terms of daily dialogue is like. one line of generic spring dialogue and i think the game will just use that as a fallback for the other seasons.

loud sandal
#

@lucid iron I reckon will probs take me a while to go through it all, but I'll let you know when I've made some decent progress SDVpufferthumbsup

lucid iron
loud sandal
#

Haha no worries, it is one of my fav frameworks, I really like the idea and multi-hit targets has always nagged at me but I kinda just brushed it aside until I ran out of ideas for trinkets and wanted to expand lol

ornate locust
#

For silly variants, that's doable, you can use tokens. Like if your setting is named SillyToggle with just true or false settings, you can make the dialog key's localization have .{{SillyToggle}} at the end. Like {{i18n:ModID.Dialogue.{{SillyToggle}}}}. Then in your i18n for this example, there would be two keys, ModID.Dialogue.true and ModID.Dialogue.false. True would be your silly one and False the non-silly one and it would change based on their settings.

marsh reef
#

question about AT, if i want, for example, 9 ats for the farmhouse, do i need all of them on one png in a row downward? or can i have it like, 3 3 3 in the same folder for the specific farmhouse upgrade?

fossil osprey
#

I believe the AT documentation tells what you can do?

ornate drift
#

I haven't worked on my mod in a while

half tangle
#

Breaks are not only fine, they're good. I took about two months off from a big mod project and a few smaller breaks otherwise and I'm glad I did

ornate locust
#

You don't have to always do work on your mod, breaks are good, they help you get to the end

hard fern
#

i havent done anything in a while. too busy teambuilding XD

sly path
#

(Custom NPC Jack)
I’ve been struggling with this issue for quite a while, so I’d like to ask for some advice.
I’m currently editing a custom NPC house, and I’m running into a problem when adding the building sprite as an overlay on the Town map. No matter what I try, bushes keep spawning in the area I marked in green.
Additionally, when I install this custom NPC mod alongside Stardew Valley Expanded, trees start spawning in the area I marked in red.
If I switch to , it overwrites parts of the map entirely, which causes other issues.PatchMode: Replace
Is there any way to solve this using an overlay approach, or is it fundamentally not possible? TT

fossil osprey
#

you need to patch out the bushes and tree, iirc you need to patch the layers on which they appear to make them not have anything

#

but someone with more experience may answer this more thoroughly

sly path
#

I think it might be on either the Paths or Buildings layer. Would adding some kind of property there fix the issue?

fossil osprey
#

I'd guess putting an empty tile would work? I've never really done maps

sly path
sly path
hard fern
#

Since you have nothing on paths, it will keep whatever is there already

sly path
#

hmm

hard fern
#

I think there's at least two ways of fixing this

#

One, that I don't know much about, is to see about using something from betas, i think

#

And the other is to fully tile the back layer to match the surroundings, and use patch mode replace instead of overlay

#

(and you will have to use reset terrain features on any save that isn't brand new, since once the paths layer is spawned, it won't just disappear even if you remove the tiles)

sly path
sly path
hard fern
#

I only mentioned it because i recall someone doing something similar to delete grass from existence

sly path
#

Ah, I understand. You've already been a great help—thank you so much.

hard fern
#

Reset terrain features is a mod that can reset the positions of terrain features (aka, grass, bushes, trees) that are spawned by the paths layer

#

So after overriding the tiles with your patch, the bushes that already spawned when you made the save will remain

hard fern
#

But they wont be where you deleted them

#

Idk if im explaining this very well

sly path
#

Ah, I see—it’s a type of mod. I didn’t know something like that existed! I’ll definitely check it out.

hard fern
#

Im sure the mod's documentation is better than my memory haha

sly path
#

I’ll check it out right away. You’ve already been very helpful—thank you so much!

stoic chasm
#

Hello peopleee. I just had a few questions: One, is there a way to add custom music? Two, if so can I use a jukebox to change the song?

hard fern
#

[[modding:audio]]

stoic chasm
#

Thank youuu SDVpufferheart

fossil osprey
#

You probably want to bring this to Bouncer so the mods are aware of this issue

#

It seems important enough to not simply share a warning on the server

elfin kindle
#

Yeah i'll see what they say, it's hard to get much like super definitive proof which is why i hesitated as they haven't contacted me and the screenshots i do have could be circumstantial at best because of cropping, but with me being blocked it does make for a stronger case. If nothing else, it'll leave a papertrail in case someone else also makes a report

fossil osprey
#

Yeah, it's more to make the mods aware of this than to ask them to take action

elfin kindle
#

Yush, very good point! I've sent a message!

cedar turtle
#

This is certainly not something to be discussed publicly.
No matter the reasons, public callouts like those are not acceptable behaviour in this server.

If you (or anyone) experienced something like this, report to @outer glacier instead.

As for the contacting you, bouncer is a bot relaying any message to staff team. While we do have good timezone coverage, we're not around 24/7 and sometimes it takes a bit to come back to someone.

elfin kindle
#

Mb mb!

severe cairn
#

Does anyone have pictures or the coordinates of the NPC when they're doing each of these
I can guess a few of course, but I don't want to make a sitting sprite when they're not sitting for example. Or have them sit the wrong direction, etc. etc.

#

(leaving, entering, wander are a given, so dw about those)

royal stump
#

the island code has these hardcoded tile lists, and randomly picks one per person on each schedule, iirc:

shoreLoungePoints
    (9, 33),(13, 33),(17, 33),(24, 33),(28, 32),(32, 31)
chairPoints
    (20, 24),(30, 29)
umbrellaPoints
    (26, 26),(28, 29),(10, 27)
towelLoungePoints
    (14, 27),(17, 28),(20, 27),(23, 28)
drinkPoints
    (12, 23),(15, 23)
wanderPoints
    (7, 16),(31, 24),(18, 13)
severe cairn
#

tyty

strong kite
#

Really debating if I wanna get meta like this (and trying to remember if I already have or not LUL

severe cairn
#

if you want it to be less meta but honestly still meta you could always make it "coming up with new things to say is hard"

strong kite
#

It would also probably help if I had an idea in mind for who would even be running this shop HehSweatCloseup

#

Actually maybe just a shadow person like Krobus?

#

But yeah I'm moving 6 berries from Pierre to Joja (with increased prices of course) and then my plan is to have a when condition to have them sold elsewhere if the player goes the Community Center route. But then ALSO in this shop they're sold for slightly different prices regardless, it's just an unlockable shop though

#

i still need to figure out where else they should be sold after the Jojamart is abandoned... I've been considering the hat mouse but giving them seeds feels.. wrong?

severe cairn
#

SDVpufferthinkblob why doesn't Pierre sell them?

strong kite
#

Because Pierre is still selling too many damn seeds from this mod 😭

#

Heck he's still selling a lot of them just now spread across festivals

severe cairn
#

ohh lmaoo
I don't know if krobus sells seeds, might not fit the underground vibe tho

strong kite
#

I do have him selling one seed... in year 3-

#

I.. should really find another seed to have him sell in earlier years so the player understands he DOES sell seeds

torpid sparrow
#

i can see him selling ancient seeds

#

the unconverted ones

#

unbalanced though lol

severe cairn
#

gotta be lateeee and if you don't have one already haha

strong kite
#

oh god I'm just looking at my crop sprites.. I should really recolor the outlines so they better match Stardew's art style 😭
But that's like 201 sprites Azusob

#

ok let me finish what I was doing and then I'll get on that

#

Wait actually how do wild seeds even work, looking at the vanilla crop file is not helping

#

uhhh.. y'know what I think I'm gonna not do wild seeds

ornate trellis
#

wild seeds as in mixed seeds? can you even do those with CP? I only know how to do them via Item Extensions

strong kite
#

But also Mixed Seeds are something I was planning on doing

#

Yknow what I'm just gonna not try this. There are dependencies I could use but I'm not willing to put in the work quite frankly 🫠

ornate trellis
#

like when you combine em to spring seeds etc? i feel like those are in the same boat as mixed seeds just that theyve a crafting recipe and a smaller pool of possible crop outcomes thonking

strong kite
#

Well there's also getting it to spawn a solid forage item instead of a final crop sprite

ornate trellis
#

true..

strong kite
#

Well.. actually I can think of a workaroudn for that tbh

#

just turn isTrellis on and make the final sprite just the item

ornate trellis
#

wonder if its one of those hardcoded things

strong kite
#

Might be, I found a framework on nexus for making wild seeds

#

Which idk why that would exist if it were just easy to do in vanilla

rich seal
#

I'm once again messing with fish, but this time I'm looking at how vanilla handles "trash" items. I think I understand that the "default" section of /Data/Locations.json is the fallback for what players get from fishing (specifically the "Fish" section, of course), and I think I see how the game handles trash. At lines 420 and 422, all the IDs for the various generic trash items (Trash, Driftwood, etc) are listed. I figured I'd try to do an "EditData" that targets "Default", "Fish", but that's as far as I could get. The trash entries don't have a target (like Default and Fish), so I'm confused and stuck here. I just want to add two modded items to the possible drops, but I don't know how to approach this. Could someone help me out on this?

hallow prism
#

what do you mean, the trash entries don't have a target?

#

they are under the "default" "fish" entries as far as i can see

rich seal
#

My wording might be wrong, but there's three different entries. The trash entry is the third one, but it doesn't have some kind of name like "Fish". That's the part that's confusing me.

hallow prism
#

it has an id

#

which is usually what you use to target stuff

#

althought i simply made another entry in my mod for the purpose of adding a trash to catch

rich seal
#

I... didn't think of adding another entry. I kind of feel dumb now lmao

#

So in theory, I'd just do something likethis, and it'd just work?

      "Action": "EditData",
      "Target": "Data/Locations",
      "TargetField": [
        "Default",
        "Fish"
      ],
      "Entries": {
        "Campaigner.TrashPlasticBottle": {
          "Chance": 0.1,
          "Id": "Campaigner.TrashPlasticBottle",
          "ItemId": "Campaigner.PlasticBottle"
        }
      }
    }```
hallow prism
#

{ "Action": "EditData", "Target": "Data/Locations", "TargetField": [ "Default", "Fish" ], "Entries": { "Lumisteria.MtVapius_Trash_BrokenBottle": { "Chance": 1.0, "MinFishingLevel": 0, "MinDistanceFromShore": 0, "MaxDistanceFromShore": -1, "Precedence": 500, "Condition": "ANY \"LOCATION_CONTEXT Target Lumisteria_MtVapius_Main\" \"LOCATION_CONTEXT Target Lumisteria_MtVapius_Forest\" ", "Id": "Lumisteria.MtVapius_Trash_BrokenBottle", "ItemId": "(O)Lumisteria.MtVapius_Trash_BrokenBottle", } } },
How i did it, knowing that the condition is basically me excluding the item from areas that aren't mine

#

sounds ok at first glance, althought you may want to tinker with precedence if needed

rich seal
#

Yeah, I just learned about precedence last night. Definitely gonna put that in there later. Just wasn't sure I could simply add trash the same way as normal fish lol

#

But then, how would the game know to treat it as trash, and not pop up the minigame? Is that just handled by "Default"?

hallow prism
#

it's handled by having a data in data/fishes (or whatever name is, i don't remember)

#

if there's a data here, it'll use its value for fishing minigame

#

if no, it skips it, as far as i remember

rich seal
#

Oh, so if I don't have something like this (it was Fish.json, if this is what you meant);
"128": "Pufferfish/80/floater/1/36/1200 1600/summer/sunny/690 .4 685 .1/4/.3/.5/0/true",
My item will just default to no minigame?

hallow prism
#

it will skip minigame 🙂

rich seal
#

Well what the heck, I was losing my marbles trying to overcomplicate it lol

hallow prism
#

it can be something else than trash (like, in vanilla you have the case with some furniture)

#

it's ok, sometimes the game does need stuff in several places

rich seal
#

So the tldr takeaway here is not to have a difficulty, give it high-ish precedence, and it just works?

hallow prism
#

it's not always obvious to know where and when it'll be the case and when it's fine

#

it should yes! then you'll adjust things as you want to have not overwhelming trashes, but often enough

#

can't remember how crab pots are working however, if it's important. It may be a separate thing entirely, or tied to the vanilla trash entry

rich seal
#

I have crab pots. That's a difficulty similar to the pufferfish above. I got that working just fine, though I do need to make my trash rarer there. ||I would HOPE there aren't 100+ sea mines floating around every day in the ocean!||

#

But jeez. I seriously tried to go way over the top when it was as simple as what I had already been doing with my other fish. My non-coder brain is fried.

#

Okay yeah, that worked right away. Thanks for smacking sense into me and helping me understand how to do it properly!

worthy rose
modern mantle
#

What are these sentences in StringsFromCSFiles used for?

fossil osprey
#

…I've never seen any of these ever SDVpuffersweats

fossil osprey
#

well, no wonder I've never seen them

calm nebula
#

Selph how many times have u started the game

modern mantle
brittle pasture
calm nebula
#

Mrow?

strong kite
#

Im starting to regret trying to edit the crop sprites in my mod

strong kite
#

Mostly because I've got a pinched nerve in my right arm or something that is making even just swapping out colors kinda difficult

fierce vault
#

hey, would ver 2.8.0 work for smapi android?

verbal glacier
#

according to content patcher's nexus page 2.8.0 is for android

fierce vault
#

Tyy

#

would uploading it to main files be right?

#

Am I able to change the order incase it pops up on top of the PC one?

#

Would optional files be better for that?

#

never had more than one file before

verbal glacier
#

well I don't really know but content patcher has the android one on top in the main files, so i think it's ok

lucid iron
#

If u aren't using any cp 2.9.0 features you can just change it

fierce vault
#

I probably am not? I'd have to check. But I was unsure about updating it to just change the version when I have no other content ready to add yet, which people are expecting

lucid iron
#

I think you can just procrastinate tbh

#

And change it next time u have version diffs

fierce vault
#

yeah, but someone offered to test it today 😅

lucid iron
#

This is a fairly easy thing to edit for user so I wouldn't worry that much

fierce vault
#

and it didn't load

lucid iron
#

You can give the tester wip version no?

fierce vault
#

hmm

#

oh, it's safe to just upload zips to discord then right?

lucid iron
#

Yeah

fierce vault
#

ok

#

I'll see

#

does a mod having a lower version give players without developer smapi a little notif in the console?

severe cairn
#

Is there a way in content patcher to move an NPC that spawns during squidfest?

lucid iron
#

Depends on what kinda NPC they are

#

I think the tourists are annoying to move tho

severe cairn
#

yeah the tourist, one is clipping through the house

calm nebula
#

No

#

(Without c#)

severe cairn
#

sadge, its ok I got a solution

timber pilot
#

how do I send a letter when the player reaches a certain friedship level with an npc? I need someone to explain like I'm stupid. yes I did look at the wiki

hallow prism
#

you need to create the letter, then create a trigger action to send the letter, then use a condition on the trigger action being whatever you want

#

if you don't know how to do one of those steps i suggest looking at a simple mod adding a mail then ask more questions

timber pilot
hallow prism
#

any file you want, i usually have an include for that to keep thing organised

flat snow
#

Hey guys - I am trying to make a custom farm map. I have got everything working perfectly and it's fully playable without any problems, but I have this one tiny annoying issue that has me completely stumped and I can't figure out what's causing it. Basically, the little 3x2 stone floor tiles that appear infront of the greenhouse are missing. The floor tiles there on the base map are on the "Back" layer. Anyway here's what's happening:

timber pilot
scenic ferry
#

no smapi error either

lucid iron
elder scarab
#

Hi everyone, can someone send me The wike Creating a new festival and how to register it.

verbal glacier
flat snow
lucid iron
#

Yeah rename it back there's stupid hardcoding around that lol

elder scarab
#

Can someone send me the Wiki? Please

torpid sparrow
#

[[Modding:Festivals]]

#

rats

#

[[Festivals]]

torpid sparrow
#

there we go

#

i assume its there?

verbal glacier
#

i just asked which type you needed but ok

#

also i believe that is just the regular festival page not the modding one

elder scarab
#

I want to create a festival.

scenic ferry
flat snow
scenic ferry
#

I did debug shop CodysOasis.VaelsFamiliars_VaelItemShop which successfully opens the item shop at least, the Pet shop also opens (although the items are bugged but thats a separate issue lol)

lucid iron
#

If you don't have it then you didn't install livestock bazaar so it's doomed

scenic ferry
#

OH I FORGOT TO UPDATE STARDEW UI

#

thats why

#

thank you lmao

#

i didnt even realized it failed to load

#

man i need to take a nap thats such a dumb mistake to make

scenic ferry
lucid iron
#

you got no farm animals under this shop id then

scenic ferry
#

yeah, I'm just using livestock bazaar to try and open a pet shop + Item shop

#

not so much farm animals, at least not yet

lucid iron
#

well u can try the tile action i suppose

scenic ferry
#

so I just want interaction to give the supplies/pet adoption screens, but still no window pops up when I ineract with the tile

lucid iron
#

idk if i made it work with 0 farm animals since thats kinda the whole point

scenic ferry
#

hmm thats fair I guess
It was working before though

#

before update i mean

#

well hell maybe ill just make a farm animal too lol

lucid iron
#

just go add chimkin to ur shop first

#

and test if that works

scenic ferry
#

good call

round dock
# elder scarab I want to create a festival.
Stardew Modding Wiki

There are two types of festivals in the game: active festivals (such as the Egg Hunt) and passive festivals (such as the Night Market). Both types can be created using only Content Patcher. This tutorial assumes basic familiarity with Content Patcher, and skills such as mapmaking and event scripting. It is recommended to use this tutorial in con...

scenic ferry
# lucid iron just go add chimkin to ur shop first

i fear im lost
I tried just copying over your example data for the Golden Chicken, but it says the texture is invalid - theres no regular " Texture: " field to begin with though, and it should just be pulling from the vanilla file anyway, no??

#

your framework is so cool i want so badly to understand it aaah

#

okay, adding a "texture": field that just repeats the "ShopTexture": info got rid of the warning lol

brittle pasture
#

use TargetField and edit just the CustomFields dict

scenic ferry
#

ah, good to know !!
I dont plan on keeping the chicken, just wanted to test if it would load in the bazaar shop at all

I still have the initial issue though that my shop window simply wont open though, so even though the farmanimal, item, and pet shop all "function", it wont open to begin with, which presents... an issue

brittle pasture
#

golden chickens are only available after perfection

#

I don't know if that condition is checked for custom shops (chue knows more)

#

though I guess you're already wiping the entire shop entry

scenic ferry
#

yeah, if/when i actually add animals I plan on making them fully custom anyways
Chu just suggested a placeholder chicken to see if the base functionality at least works

scenic ferry
#

yeah, the gold chicken shows up now

The issue is now just that the shop dialogue doesnt appear when interacting with the tile
As in, clicking the tile does absolutely nothing, no window, etc

#

using lb-shop works fine so the shop data seems to not be the issue

lucid iron
#

since u have the various opening restrictions

#

does it work if you remove those

scenic ferry
#

Oh! It does! So that narrows it down significantly

lucid iron
#

is the shop's owner in that 26 32 3 3 area

scenic ferry
#

no one is there, but the top owner section is AnyOrNone for a closedshop message

lucid iron
#

just dont use the area

scenic ferry
#

lol alright

lucid iron
#

u need a real npc for that

scenic ferry
#

in vanilla closedmessage breaks unless you DO have an area (even if no real npc is there)
so I assumed livestock bazaar followed that behavior

#

but thats all good! Thanks for the help as always chu

lucid iron
#

tbh if you dont care too much about the close message

#

you can ignore having owner

#

i think i yield a default message ofOpen from {{openTime}} to {{closeTime}} for that

barren tapir
#

How would I add a Mail Flag called "HasTestPower1" and have said flag be purchasable from a shop?

autumn tide
#

the top line that is commented looks okay to me? still learning tho

barren tapir
autumn tide
#

aw shit

proven spindle
#

actionsonpurchase should have square brackets iirc

scenic ferry
#

Lemme check mine, i have mail flags sold through my shop

barren tapir
#

Also, how would you specify the icon for said mail flag?

ornate trellis
#

there need to be [] around it

scenic ferry
#

yep, square brackets

ornate trellis
#

like

    "AddConversationTopic {{ModId}}_PurchasedItem 5"
]
uncut viper
#

You cannot just buy a mail flag.

scenic ferry
#

and I imagine youd set the icon like any other item

uncut viper
#

You need to sell a thing

scenic ferry
#

oh, i didnt realize we were trying to LITERALLY just buy a flag

#

thats my bad

uncut viper
#

MMAP I believe might have something for buying an item that immediately removes itself when you just want a mail flag, but I might be confusing it with another chu mod

ornate trellis
#

oh, i didnt even spot there being no item lol

#

might be peliQ?

uncut viper
#

Oh it's probably peliq

#

That sounds more correct

barren tapir
proven spindle
#

Could you make an item to be sold that's excluded from shipping collection, can't be trashed, and with a removeitem action that removes it from inventory immediately upon being purchased?

barren tapir
#

On the upside, adding brackets solved the compile issue!

lucid iron
#

implement a ISalable and do whatever in the actionWhenPurchased

ornate trellis
#

chu showed me how to do something with it today involving special buying(tho that was getting a random gacha, not buying a mailflag or w/e)

lucid iron
#

peliq would also work for this yes

ornate trellis
#

ohi chu

lucid iron
#

but if ur in C# just make ur own flavor of this

barren tapir
lucid iron
#

yea it shows how to make one

#

there's 2 parts here

  1. First you have something which implements ISalable (which i slacc on by using Object directly Sleepden )
  2. The other thing you need is your own item query which is what ItemQueryResolver.Register does
#

the item query is needed to actually put your ISalable into a shop

#

merchant is released if u wanna see how this works in action, this is the upgrades shop

gritty gorge
#

OK yall so I have 0 clue as to what im doing, just trying to do a favor for a friend. Im making a json assets hat mod, I know some hats hide the players hair completely, how would I make it do that?

barren tapir
#

I thought youd have to do class XYZ: ISalable {...}

ornate trellis
#

JA is dead, use CP for adding a hat instead

lucid iron
fierce vault
#

hey guys, just had someone bring up an interesting issue:
I have Portraits for Extras installed, along with Hardware Store, and whenever I access the hardware store/snack machine, it displays the Snowman's portrait! (Specifically the sad one. lol) I’ll probably take a look at the mod, but this is pretty strange. Any ideas of what I might need to check? I’m assuming that the hardware store is somehow calling on my asset by accident, and it apparently makes changes to the bustop, though it appears not to be where jack is. Maybe I didn’t mod id his portraits?

lucid iron
#

Object implements Item which implements ISalable

#

you can just implement ISalable too ofc, i really was just lazy about it

gritty gorge
ornate trellis
fierce vault
ornate trellis
lucid iron
#

that has nothing to do with portraits for extras then

#

its just vanilla behavior as void said

ornate trellis
#

oops dropped the reply, this was for sicarius

fierce vault
#

Ohh, really?

lucid iron
fierce vault
#

So, another bug that’s not a problem with my mod?

ornate trellis
#

i didnt want to be so bold to link my own thing, but

ornate trellis
fierce vault
#

😅

lucid iron
#

its a pretty nice example tho, 1 hat n straightforward

ornate trellis
#

well, cant deny that xD

barren tapir
fierce vault
#

Ok, I’ll check the code to see if I can find it, but I’ll report this news back to the player, since this isn’t something I can fix

ornate trellis
#

for hardware shop, im surprised it still used, its from 2023 thonking mod author doesnt seem active anymore or else id have suggested to dm them bout the issue

fierce vault
#

yeah, unfortunate

ornate trellis
#

oh wait they are active, just not doing any mod making, might be worth a dm afterall or a bug report

fierce vault
#

ok, I’ll look at the mod, and maybe dm the author later

#

thanks for the help!

barren tapir
#

Btw, does anyone know of a mystery forest map. I got this comment, but their link doesn't seem to be working

lucid iron
#

secret woods in some other language probably

scenic ferry
#

think so, since they then say Maps/Woods which is the ID for the Secret Woods

#

I know SVE edits the secret woods map in particular

mellow laurel
#

looks lke they have something else changing the secret woods on top of SVE

#

I know Forager's Nooks and Crannies does and maybe that Yoba NPC too, Nod

#

SVE edits the map there when WAG is installed

whole prism
#

Quick question

#

Is there a way to add mail, without it being sent to the mailbox

#

As in sending it right into the players "inventory" of previous letters, so to speak

#

for ```python
AddMail Current {{ModID}}_ExampleLetter

verbal glacier
#

with a trigger action you can set it to received bypassing the mailbox

whole prism
#

How would I go about doing that?

verbal glacier
#

addmail current yourmail received

whole prism
#

ohh so u set it to "received"?

#

tytyy

#

so it wont go into the mailbox at all, right?

verbal glacier
#

yup

whole prism
#

awesome, thanks ducki :3

verbal glacier
#

:3

whole prism
#

I feel bad to add so many

#

but its for data migration 😟

#

Apparently, Aquatic Sea Fish has had issues with some quests not working

#

So I'd change all the letter/notes/quests that were received/active

#

and change them to the newer and up to date entry names, by migrating them like the photo I showed

#

its so high because I had a lot of letters associated

verbal glacier
#

it had to be done :P, hope it works out and i've been enjoying the mod myself, love the sea turtle

whole prism
#

and it will work out well : )

#

just want the best experience for my users. 1.3 is supposed to focus a lot of quests and stability

#

also if u didnt notice in case (photo is new one)

#

alaskan king salmon sprite is updated

#

from the old one to this

#

: )

verbal glacier
#

ooo

whole prism
#

the old one was just a resized salmon but now its nicer

#

and two new fishi

#

the right one is legendary at ginger island hehe

severe cairn
torpid sparrow
#

is anyone familiar with daisyniko's assets? there's a summer_map and map_summer asset

barren tapir
lucid iron
lucid iron
loud sandal
#

@lucid iron I learned the Fisher-Yates shuffle thanks to you, just wanted to let you know 🤣

lucid iron
#

yep thats the shuffle i stole from wikipedia

loud sandal
#

I'm going to test it hopefully soon

half musk
#

I’m this close to being done with my first real mod. I just have to do the debugging and I can finally set it down. I’ve been working on it for weeks and it just kept getting bigger and bigger

loud sandal
half musk
#

All I wanted was to give Gus a nicer vending machine but it turned into a whole questline. Then I decided the quest absolutely had to start once I finished a certain number of community center rooms and I had to make a convoluted tracker accounting for all the different orders I could finish them that's literally 500 lines long. But it works!

barren tapir
lucid iron
#

the object ConfusedAnime

#

i thought you didnt want them to get any object

barren tapir
#

The ISalable Flag

#

It's been a long day 😅

lucid iron
#

setting the flag is also stuff for you to do manually blobcatgooglyblep

barren tapir
#

UGGHH, I'm sorry. This is just a lot of terminology overload for me rn 🤣

#

-# It also doesn't help that my job uses at least some similar vocabulary, but with very different meanings

loud sandal
#

@lucid iron When I end up getting this up and running and send through a PR, would you want me to leave in my debug logging in Places.cs?

lucid iron
strong kite
#

One of the coolest things about making this mod is that now when I look at mods on Nexus I recognize the names of people who have helped me out in here

loud sandal
strong kite
#

I have been a very heavy sufferer of scope creep

#

I haven't done anything too crazy with the existing sprites, given a few a few touch-ups and given things colored outlines, but there's like.. gonna be a LOT of new stuff-

loud sandal
loud sandal
#

@lucid iron Looking good so far in testing just the hitscan. If not specified defaults to Closest+1. When using synced abilities, both the initial ability and synced ability must specify Random for it to be truly Random. Having initial Closest and synced Random still favors closer targets but sometimes hits randomly. Still got more testing to do, but so far so good.

void aspen
#

Is fog event thing in mines/sc hardcoded?

nova gale
#

like, when it happens?

#

or the effect itself?

#

the effect you can apply anywhere farily easily

void aspen
#

I need effect only yes

#

Do I just copy bathroom

#

It kinda has the same steam like overlay

nova gale
#

let me look, I used it in another mod that hasn't released yet

#

it does require c# to my knowledge, just fyi

void aspen
#

Oooh

#

Okay, thanks, ig ill do it the bathroom way then

nova gale
#

oh maybe not

#

you might be able to do it as a map tile property, you can check

#

you set fog color

#

oh, no I had to set fog source as well and draw a rectangle, so yeah, would probably require c#

void aspen
#

I see

fierce vault
# fierce vault hey guys, just had someone bring up an interesting issue: ```I have Portraits fo...

alright, so I finally took a look at the mod that's accidentally using my portrait, and this is the relevent code I could find: { "ShopName": "StuykSnackVending", "FilterSeedsBySeason": true, "MaxNumItemsSoldInStore": 99, "Quote": "Life is short, eat the snacks first.", "ClosedMessage": "Somehow the vending machine broke.", "StoreCurrency": "Money", "DefaultSellPriceMultiplier": 1.2, "When": [ "t 0600 2600" ],`````` { "ShopName": "StuykHardwareStore", "FilterSeedsBySeason": true, "MaxNumItemsSoldInStore": 99, "Quote": "Convenience at a cost.", "ClosedMessage": "Store is closed. Open from 8 AM until 6 PM.", "StoreCurrency": "Money", "DefaultSellPriceMultiplier": 1.6, "When": [ "t 0800 1800" ],

I suppose I could still contact the author about it, but I'm not sure if they would have any more of an idea on what to change than I would

#

Void said "I'd check is they have set a protrait in the shop entry, cuz if not i believe it takes the nearest one or something" but I don't see anything resembling that

nova gale
#

when you say they are accidently using your portait do you mean that when your mod and their mod are both installed, a portrait from your mod shows when their shop is opened?

fierce vault
#

Yes, it uses my npc's sad portait

#

Void said it was a vanilla thing

#

or something

tiny zealot
#

what is this json schema? shop tile framework?

nova gale
#

I dunno, the shops I add I have to specify the portrait specifically

#

under the owners node

#

but I think i'm using the pure CP 1.6 shop

tiny zealot
#

yeah this isn't vanilla shop data so that's why i'm asking

fierce vault
#

Oh, it uses a { "Shops": [ { and it does use shop tile framework

tiny zealot
#

in that case, i expect that shop tile framework is the problem and there may not be much you can do

fierce vault
#

it also uses Expanded Preconditions Utility

#

I see

tiny zealot
#

another obsolete framework (that STF requires, if memory serves)

fierce vault
#

yeah, I don't think either of us could fix it, I'll just tell the player that they are using out of date mods I guess

#

when you say another obsolete framework, you mean both aren't recommended anymore because CP/smapi does that stuff now right? They are both made by the same person, and were updated recently, but there's no changelog, so who knows what's changed or been fixed

tiny zealot
#

yeah, by "obsolete" i mean no longer necessary, since the stuff they do is exposed as content and therefore CP can edit it

#

many obsolete frameworks are still updated and still work, primarily to keep old mods that rely on them (and won't themselves be updated) from breaking

fierce vault
#

thanks for the explanation

candid veldt
#

Hello everyone! Just wanted to share my new mod with you ❤️ I was hoping to get it out for modfest but obviously that didn't happen lol

https://www.nexusmods.com/stardewvalley/mods/45167

Nexus Mods :: Stardew Valley

Craft and glaze your own pots, resulting in over 380 combinations and 22 custom tea sets! Throw on a wheel, mix your clay, apply your glazes, and fire your creations in a variety of kilns all from the

brittle pasture
#

congrats! do you want a showcase?

#

(and if yes would that message as-is be fine)

candid veldt
#

yes, and yes, thank you, I appreciate it!

brittle pasture
#

done!

uncut viper
#

Grats on the release SDVpufferparty

edgy terrace
#

Congrats on the release~! 🙂

olive lotus
#

QuickQuestion, so to speak. If I want a sound cue to loop for a stratch of an event, is there a way to get it to automatically repeat when it would otherwise end, or do I get to just repeat the command multiple times and hope it comes out in testing? (extra fun as I know roughly how long I want the sound to run in total, but not the duration of the soundfile...)

#

oh, my god, not pottery! (This is a sound of delight despite appearances. I am a potter IRL, and it could be decidedly fun to mix my obsessions. It's just now I have to download another mod)

loud sandal
olive lotus
loud sandal
calm nebula
#

Set the audio file to loop and look for an end audio cue command

olive lotus
#

HOW do you set the file to loop? It's a vanilla sound cue. Right now I'm just spamming the copy paste for pause 100/playSound fastReel/

loud sandal
olive lotus
#

Is there a way to know if the vanilla cue is a looped sound?

loud sandal
olive lotus
#

Huh. Checking the unofficial spreadsheet, it IS listed as a looping sound there, but, well, that's unofficial...

#

The official wiki doesn't say anything.

loud sandal
rapid mesa
#

Can someone download this (and sound tweaker) on windows and let me know.if it works. It worked for me. But it might be because its my computer and file.

I dont think it has any dependence on my device. But I am not sure, this is my first mod

https://www.nexusmods.com/stardewvalley/mods/45137?tab=posts&BH=1

Nexus Mods :: Stardew Valley

A simple mod that changes the default fish bite sound to the Metal Gear Solid Alert sound effect

olive lotus
loud sandal
#

@olive lotus You should be able to register a custom sound file as a cue in Data/AudioChanges. If you wanted to try it that way.

olive lotus
#

The reeling sound does loop on its own. Well, there's one headache down...

lucid iron
rapid mesa
#

Did you try it? Did it not work?

runic bolt
#

Is anyone familiar with the "DeepWoods Mod" and knows if I can use "Content Patcher" to change how the Obelisk looks each season?

torpid sparrow
#

sounds like ur going to be editing/replacing a texture which is definitely possible with CP

brave fable
#
  • not all textures can be replaced with CP; some C# mods and some Tiled maps bypass the content pipeline entirely
torpid sparrow
#

which tiled maps bypass?

loud sandal
#

@lucid iron Alright, the PR is in. I'm gonna go rest now 😅

brave fable
#

tilesheet images included in the mod folder alongside the map will be loaded directly without requesting the asset via the content pipeline

torpid sparrow
#

oh yeah

strong kite
#

Okay tbh even if I'm not hand drawing these from scratch and just using my own mod assets and vanilla game assets, I'm REALLY enjoying putting together these bundle icons!

runic bolt
#

I know there are mods out there that do the same, but they seem either outdated, or change the appearance for many obelisk(which leads me to believe maybe they didn't test it thoroughly). So I tried making it myself and it only works on loading a save, when I change seasons, the game crashes with "ObjectDisplacedException".

torpid sparrow
#

that error is above my paygrade

#

although it sounds like there is some way to successfully do it? debugging time

runic bolt
calm nebula
#

That sounds like this

#

...hang on, let me forward the message

#

Tl;dr ask the DeepWoods author for a fix.

strong kite
#

Anyone know what file has the giant omelet for that once quest in it?

brave fable
#

LooseSprites/Cursors2 🙂‍↕️

strong kite
#

Of course it's in a cursors thing Tiredkip

lucid iron
loud sandal
uncut viper
#

Speaking of cursors, anyone know if there's a green* checkmark icon anywhere in the games files, so I can reuse it instead of making my own?
*it doesnt have to be green

loud sandal
uncut viper
#

It does but it doesnt have a transparent background SDVpufferpensive

uncut viper
#

so I can reuse it instead of making my own?

If I reuse an existing one then it's more likely to support recolours

strong kite
#

PlayerStatusList.png in LooseSprites

uncut viper
#

I had no idea that asset even existed

#

But that should work perfectly, thank you!

strong kite
#

I've been seeing it around from lookin through sprites lol

brave fable
#

if you add love of cooking as a dependency you can use mine 🙂‍↕️

uncut viper
#

No 😌

loud sandal
#

lmao

brave fable
#

there's also a stylish red x

uncut viper
#

ah, but the game has already got me covered in the negative case of needing to cancel instead of accept

lucid iron
#

Huh i also never seen this asset

#

Wacky

brave fable
#

it's used for the end of night menu in multiplayer

lucid iron
#

Usually I just fall back to emojis lol

uncut viper
#

How annoying though that it's not a texture stored on a field in Game1 SDVpufferpensive

brave fable
#

in this good house we Game1.content.Load<Texture2D> in the draw method and let the cache worry about "performance" for us

uncut viper
#

in the draw?!

dusky vigil
#

@brittle pasture 6480 told me I should ask you if it's possible in EMC to apply the smoking effect from smoked fish to a sprite but exclude the gray overlay/filter? SDVkrobusgiggle I have a future bird that it would be perfect for.

brittle pasture
rich seal
#

I had a goal of making a total of 15 fish for my mod (as a start). I had two to begin with. Now I'm up to 14. Looking at it now, I have 7 fictional and 7 real animals. On one hand, I'm patting myself for unintentionally having a balance. On the other hand, I'm ready to strangle myself for making a perfect balance that will be broken if I make a 15th fish lmao.

proven spindle
#

Clearly your only option is to make a 16th fish SDVitemblobfish

viral gazelle
lucid mulch
fierce vault
#

That picture is me. I did it, but it wasn’t easy, and I’m going to have to do it so much more again SDVpufferfush

#

In some ways, I learned it also didn’t have to be as difficult as I thought though

#

I crammed a lot of the dialogue writing into several days when I could have spaced it out across the month SDVpufferwaaah

severe cairn
#

Yeah dialogue seems easy until you realize it's small talk

#

I spent half of modest writing dialogue cus man am I bad at small talk

marsh reef
#

Is dialogue just really boring to make? Or is it really hard to get working?

proven spindle
#

Codewise it's one of the easiest things there is

#

But coming up with things for your npc to say day in and out is... draining

marsh reef
#

I see I see

#

Creativity eludes us huh 😞 not enough playtime with toys as kids fr

proven spindle
#

Players tend to notice if it's too repetitive, so we try to come up with a lot of it across different days, seasons, events, even heart levels

#

My first mod had 3 different heart levels' worth of dialogue, and that took me longer than the events, schedules, and map combined

brave fable
#

well with dialogue you do have to contend with a handful of ridiculous shorthand codes like $e $k and all the annoying syntaxes for actions, questions, etc. all that plus the depth of complexity with all the available dialogue keys i'd say makes it one of the more difficult content tasks

marsh reef
proven spindle
#

Those took me a while then since it was my first mod ever, but yeah, even nowadays when I can spin them all up relatively quick, dialogue takes me a while

#

I try to work on it in parallel with everything else, since it helps to think of things they would say while also working on their events or deciding where they'd go in their schedule etc

brave fable
#

mostly just coming up with interesting things to say in-character is gruelling. having to remember and use the dialogue syntax makes it worse

marsh reef
#

I see

viral gazelle
viral gazelle
viral gazelle
#

Thank you!

severe cairn
# marsh reef Creativity eludes us huh 😞 not enough playtime with toys as kids fr

For me it's as mentioned that it's small talk lol

I can do dialogue just fine, in fact it's the part I'm best at when writing a story. I find writing conversations fun and natural.

Small talk though? What am I supposed to write SDVpufferwaaah especially considering I have to make it generic enough to account for farmer not being a character with a set personality (it's a smaller issue in events)

It's the bounce back and forth, the continued banter... But small talk is like. How many things can you really say.

Thats why events took me like. An afternoon to write compared to a few everyday lines SDVpufferwaaah SDVkrobusgiggle

marsh reef
#

i see

severe cairn
#

I just accidentally decided her love language is gift gifting cus it makes it interesting (she gives your farmer stuff pretty often at 8 hearts, sunday treats, summer juice, etc.) and also reminds you of things sometimes (Pierre closing tomorrow on tuesdays) moms you and reminds you to take care of yourself (just, everywhere) FISHING. Stuff about her kids, and being an actress sometimes

It sounds a given but man having hundreds of lines (multiple days, different heart levels, different seasons) makes you paranoid its repetitive T_T

timber pilot
#

is this valid?

proven spindle
timber pilot
#

is the deafult down?

#

shoould't it be up sice the player is standing under it?

proven spindle
#

Which direction you use is up to you, the openshop explanation on the wiki explains how the directions are used. Either way, you can't skip having some value for direction in there if you want to include the other values (times and owner area)

timber pilot
#

ok I got it thanks

devout otter
devout otter
brave fable
#

the Henchman sets a (thankfully) very low bar for npc depth

barren tapir
rain inlet
#

step aside, blockhead

barren tapir
#

God, could you imagine if the bouncer was the other new bachelor instead of clint?

verbal glacier
#

1.8 :)

rain inlet
devout otter
#

The Bouncer doesn't even have a walking sprite sheet. But you know who does? This guy.

orchid glade
#

Marcello marriage mod? ❤️

#

short form> MMM

torpid sparrow
#

mmmmmmmmmmmmmm

severe cairn
#

oh god this is giving me flashbacks to an inside joke 😭 coincidentally about arumi

#

Aru(mi)
Microwave
Aru(m)i

Microwave mmmmmm

ornate drift
#

wiwi wawa

long jungle
#

Hi! Just to update you. Putting "which": -1 on each one did not work.

I am moving on to the process of elimination to see which specific group of buffs causes the error message.

barren tapir
#

Let's say someone had "ActionOnPurchase": ["IncrementStat {{ModId}}_TestStat"]. How would one check this stat in a dynamic token? i.e., Given

"DynamicTokens": [
  {
    "Name": "TokenName",
    "Value": "TokenValue",
    "When": {
      // {{ModId}}_TestStat = x
    }
  }
]

what would one put in the When condition?

lucid iron
#

You can't check stat in When rn

#

Ideally you just use GSQ wherever you need this, otherwise you can make a mailflag

desert tinsel
#

Gyus, would anyone here have a very detailed walkthrough on how to create new maps in stardew? I'm finding this one on the wiki so complicated. My mind is too slow for that part. T-T

brittle pasture
#

!tilesheetclimbing anyway it seems like this is your problem

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

scenic ferry
# desert tinsel Gyus, would anyone here have a very detailed walkthrough on how to create new ma...

https://stardewmodding.wiki.gg/wiki/Tutorial:_Map_Patches_and_Warps

This is the walkthrough i used myself - I can try and help you out if theres a specific thing youre confused about ?

Stardew Modding Wiki

Last edited by KaileyStardew on 2026-03-18 14:38:02
Tiled is understandably one of the most unintuitive/intimidating programs to use when making maps or patches for your mod. This tutorial aims to break it down into very simple steps with pictures! This tutorial will use the example of making an NPC house to teach you how to make a map patch (fo...

desert tinsel
desert tinsel
zinc venture
#

Hi everyone, is there a good way to find the method that executes when opening a door that requires a certain relationship level to enter, for patching?

torpid sparrow
#

Or exterior door which is technically a warp

zinc venture
#

Interior door, that's the one I'm talking about.

oblique meadow
#

Since Im new at furniture. Can anyone possibly tell me why the toolbar icon for my rugs is so large and does this?

torpid sparrow
#

Do you want a higher heart level?

brittle pasture
barren tapir
#

I do have follow up questions involving the mail flag (I've been having mixed success with its behavior, and IDK what exactly is happening), but I am gonna be fairly busy today most likely.

It also does not help that I'm running on a solid 4 hours of sleep 😭

brittle pasture
#

that is not allowed; it must be in the same folder as your map

#

(not a map maker so I might be incorrect in some parts)

#

anyway read the message carefully again and open your map file in a text editor and check and fix, then copy all the tilesheets to the same folder

zinc venture
torpid sparrow
#

ou that sounds like actual coding stuff

#

someone else weigh in xd

oblique meadow
#

You can pull tilesheets from other folders now. But that would look like

../TileSheets/bushes.png

barren tapir
#

Wouldn't you need to define a trigger action via C# then?

brittle pasture
oblique meadow
#

ahh.

brittle pasture
#

it's a giant function where everything is inline so you probably need a transpiler

#

good luck SDVpufferrad

#

oooor you can define your own action yeah nvm I mistook what you want

#

I guess if you just wanna do stuff after the fact then a postfix is fine

torpid sparrow
#

how can i use a config token like a dynamic token? what i want to accomplish is to use a slider config and have the dynamic token be whatever is chosen in the config

brittle pasture
#

just use them as usual? they're both tokens; dynamic tokens are just ones that have extra defining rules, not anything unusual for their usage

ornate locust
#

Yeah a config is already a token

zinc venture
torpid sparrow
#

ok so if i have a config token like "Days" i can just put {{Days}} ?

brittle pasture
torpid sparrow
#

i wasn't sure if i could do that since ive only used When with config tokens

brittle pasture
#

most reliable way is to just copy paste them in your postfix, decomp shenanigans notwithstanding

brittle pasture
ornate locust
#

Yeah, that works

torpid sparrow
#

okay yayyyy

ornate locust
#

Me at like 3 AM last night: bolts upright THE CUTSCENE WITH WILLY AFTER THE TRASH PICKUP

#

it wasn't too bad, but I fixed it anyway

fossil osprey
#

You changed, Willy

ornate locust
#
  1. Willy had a shadow in that frame that showed in the middle of the bridge, masked that out
  2. I offset him up a teeny bit because the bridge has an uneven edge and that one board on our left was showing above his shoulder by a pixel
torpid sparrow
#

hmm how do i do a slider config? do i just list the numbers or a range from 1-28

brave fable
#

i can't believe willy deflated a pufferfish for his bath

ornate locust
#

...yes

void aspen
ornate locust
#

Look... as I said, I woke up in the middle of the night with this thought LOL

void aspen
#

WHAT

ornate locust
#

I'm not gonna say I am PARTICULARLY AWAKE with that comment

wispy bramble
#

I think you need a nap SDVkrobusgiggle

patent lanceBOT
void aspen
verbal glacier
torpid sparrow
#

i found it

#

range!

#

i assume u can list them too but im not listing 28 numbers xd

ornate locust
#

awake enough to fix the problem, not awake enough to notice I am using the wrong name for a guy. rip

royal stump
#

range just lists them as soon as the token is read, so yeah, either way

verbal glacier
#

ah

scenic ferry
#

I feel you, ive definitely been trying to fall asleep and been hit with mod motivation before
It is a blessing and a curse

ornate locust
#

(real talk: I have notes for stuff to look out in mods I am trying and one is Willy related and it's on my screen right now, I think I did the ol "type the thing I see not what I am actually thinking of")

torpid sparrow
#

nvm, this is not working

#

i am setting it up wrong

brittle pasture
#

what isnt?

torpid sparrow
#

it's saying that the default value is not allowed

#

Ignored (CP) Tilly, the Tea Loving-Librarian NPC by strawhatwem > ConfigSchema field 'Joja Route Trigger Length': default values '28' are not allowed according to AllowValues.

calm nebula
#

Yup you cant do that

#

Gotta list them all ojt

torpid sparrow
#

booo booo booo

#

booooooo

royal stump
#

(also I don't actually remember if it'll be a slider or just a dropdown of numbers SDVpufferlurk)

#

CP docs on the GMCM config don't go into detail

torpid sparrow
#

it slid!

#

(just tested)

#

oh my god my mouth is annoying me

#

i need to focus

severe cairn
#

@torpid sparrow since you're here, just noticed Tilly has a few events with the girls in the valley (saw the ginger island one while testing stuff out) could I perhaps add my girl Arumi in that picnic event :3c
(no position or dialogue will be changed I'll just slap her sprite in if your mod exists)

I'm only asking about the girls picnic cus a one-on-one event would probably require your input haha, while the picnic is already complete and I can add a line of dialogue or two without changing anything :3c

torpid sparrow
#

just let me know where you want her to be + and the dialogue

#

woops that was redundant

#

my mouth hurts

severe cairn
#

oh righttt its not vanilla sigh
I just changed haleys event so i assumed it would be the same, but i forgot this is a mod SDVkrobusgiggle

ornate locust
#

You don't have to overwrite the event or even need a conditional patch

torpid sparrow
#

oh wait how did u change haley's event

ornate locust
#

Text Operations!

severe cairn
#

yep

torpid sparrow
#

ok i need to revisit that for the wedding event

#

cause i just overwrote it

ornate locust
#

Also events have a built in thing where you can add a NPC without conditionals, just if they are present or not

#

Kent uses it

torpid sparrow
#

but anyway yeah sure!

#

that works Nassi :3

severe cairn
#

I changed it to make haley say that she got 7.5k instead of 5k in donations cus arumi mentions donating extra, but it can be used to add stuff too 🙂‍↕️

ornate locust
#

You can mark NPCs optional in event commands by suffixing their name with ?. For example, jump Kent? won't log an error if Kent is missing. When used in the initial event positions, the NPC is only added if they exist in Data/Characters and their UnlockConditions match.

#

So you can just add her to the event with ? and it'll only work if she's in the game and not if she isn't

#

don't even need conditionals

severe cairn
torpid sparrow
severe cairn
#

ohhh sure!

torpid sparrow
#

im all in on joja rn anyway xd

severe cairn
#

good luck joja-ing

#

many people be going joja lately... Jilly...

torpid sparrow
#

its a bit of a clusterfuck but im working through it

#

she will not be going joja but its just a version of her route when farmer goes joja

severe cairn
#

Jetrayal

desert tinsel
brittle pasture
#

did you open the map file with a text editor and fix it

#

also maybe tilesheetinator probably has something for it

#

!tilesheetinator

ocean sailBOT
#

You can use the Tilesheetinator tiled extension to create Stardew Valley maps that work in-game without having to copy vanilla and modded tilesheets back-and-forth, rename files with a . in front of their name, edit maps only in the unpacked content folder or make symlink workarounds.

See the mod page for full installation and use instructions.

ornate locust
#

Taking a shot in the dark here: The tilesheet being in your mod doesn't actually matter. You do still need to tell the game where that is, but it's not in the tmx.

#

the TMX will just point to the name of the file itself. You point the game to the location of that file something like this:

        {
            "LogName": "Load Tilesheets - Photos",
            "Action": "Load",
            "Target": "Maps/municipal_photos",
            "FromFile": "Assets/Maps/TileSheets/municipal_photos.png"
        },```
#

So you can't have ../Tileset/bushes in your tmx. Edit that out with a text editor and just make it "bushes".

#

(though I feel like "bushes" probably already exists and this might cause problems)

desert tinsel
#

After 5 attempts, spamming Ctrl + s it finally saved!!🙏🏻

#

I imagine my parents must have suffered the same with me when I was just a rebellious child.🤡

latent mauve
#

Tiled sometimes does not save things like tileset information unless you have changed a tile on the map, for future reference! The trick is usually to change a tile, save your map, and then change the tile back to save again.

ornate locust
desert tinsel
strong kite
#

What determines if something can be aged in a cask?

royal stump
#

technically Data/Machines decides what goes in, but it uses a C# method, so some aspects are probably hardcoded
(this part: "OutputMethod": "StardewValley.Objects.Cask, Stardew Valley: OutputCask",)

strong kite
#

Oh, damn..

royal stump
#

SDVpufferthinkblob other than location and needing the item to have quality, the code doesn't actually seem to care much, so it might be fine to add a similar entry for something else

strong kite
#

Alright. If I need to I'll look into it

calm nebula
#

Are we getting fish sauce

strong kite
#

On another note, I find it both really funny and irritating that Lewis, Linus, Willy, Sandy, and ESPECIALLY Pierre's messages when sending you a recipe in the mail all make reference to specific ingredients, foods, or just straight up the recipe he's giving you and thus making them much harder to reuse for other recipes 😭

#

Like why even in something as innocuous as a letter he sends in the mail does Pierre have to do something unlikable LUL

#

I was also going to have Emily send recipes for colorful food but her mail says she's sending a healthy food and these are cookies and candy so it wont work PepeHands

#

Wait actually the tag for Pierre's is different from everyone else's. While everyone else has #'s Recipe, Pierre has [#]Pierre's Famous Tart so.. maybe theoretically I could make a new one for him?

#

Ah but the initial tag is still "PierreCooking" which... I dont know how to work around cuz for the recipes in the mail it checks for (NPC)Cooking by default (I imagine)...

brittle pasture
#

you can send your own mail with trigger actions

strong kite
#

Doesn't that require the mail framework mod?

brittle pasture
#

no

strong kite
#

Oh

brittle pasture
#

[[Modding:Trigger actions]]

strong kite
#

Honestly I just knew the mail framework mod existed and because of that assumed it couldn't be done in vanilla

#

Which is a very unreasonable assumption I'm aware HehSweatCloseup

urban patrol
#

this is niche and maybe not a consideration you need to worry about, but just a warning that mail with Cooking in the ID can never be checked in received because there’s some hardcoding going on that automatically removes mail with Cooking

strong kite
#

That sounds oddly inconvenient SDVpufferdizzy

ornate locust
urban patrol
brittle pasture
#

well the fix here is just not use Cooking in the id

strong kite
#

True

#

I'll look into doing that if I need to, for now there's plenty of other NPCs I should be able to easily add recipe mail for

brittle pasture
#

I don't recommend using the Cooking mail thing so for vanilla NPCs that don't already have them or NPCs you don't own

strong kite
#

well I wasn't gonna do NPCs I don't own that's for sure heehee

strong kite
brittle pasture
#

collision; if another mod does the same thing one must win

#

whereas with manual mail sending you do not have to worry

torpid sparrow
#

(not saying i need credit i just got confused LOL)

strong kite
#

hum.. that's a fair point..

#

Alright yeah. Then I should probably transfer over the existing recipes given by Jas, Vincent, and Alex over to the trigger action system

#

Before I add more, so I know how I should change the keys lmao

#

Got any examples for triggering the action after getting enough friendship points?

ornate locust
torpid sparrow
#

LOLOL

ornate locust
#

there's Hardcoded and HardcodedWem

torpid sparrow
#

am i hardcoded into sdv

#

let me out

#

LET ME OUT

ornate locust
urban patrol
torpid sparrow
toxic topaz
#

does anyone know where the stuff for the slimed debuff might be kept?

#

like the visual effects

strong kite
#

Is it animations.png in TileSheets..? I cant remember off the top of my head exactly what it looks like so I can't verify but I see a few in here the could be it?

brittle pasture
#

I think that's GlowColor on the buff data

strong kite
#

Oh yeah that too
I honestly thought there was an extra layer of vfx

toxic topaz
#

ill check PES_Think

#

my debuff would feel much better if it had a visual effect so i decided to go back to it

strong kite
#

Oh excellent it looks like I can still use the f (NPC) (number) system in recipes for receiving these recipes

brittle pasture
#

that's the thing I said to consider moving away from SDVpuffersweats

strong kite
#

But that's what it checks for?? SDVpufferwaaah

toxic topaz
#

i mean PES_Think

royal stump
# toxic topaz does anyone know where the stuff for the slimed debuff might be kept?

fwiw there's one hardcoded bit for the slimed debuff ID, which I think is just throwing out little green particles; glow color should handle the rest

if (this.id == "13" && old % 500 < this.millisecondsDuration % 500 && old < 3000)
{
    Game1.multiplayer.broadcastSprites(Game1.player.currentLocation, new TemporaryAnimatedSprite(44, Game1.player.getStandingPosition() + new Vector2(-40 + Game1.random.Next(-8, 12), Game1.random.Next(-32, -16)), Color.Green * 0.5f, 8, Game1.random.NextBool(), 70f)
    {
        scale = 1f
    });
}```
toxic topaz
#

the glow color is there yea, but i meant those drippy particles that come off the players feet

urban patrol
royal stump
#

okay yeah, that part

#

it's specifically for slimed's ID (13)

strong kite
urban patrol
#

why? /gen

#

it’s just copy paste

brittle pasture
#

yeah you can also use the same i18n token for even more recycling

strong kite
severe cairn
#

An i18n made it so much more satisfying to look at haha

#

Cus I only need to write the whole line once

urban patrol
#

i guess i’m confused because you’d need a separate trigger action and a separate mail for each one no matter what

brittle pasture
#

it is still a lot more verbose than the recipe friendship thing yes

#

but as I said it guarantees that your custom text is seen

#

tradeoffs and stuff

strong kite
#

also.. Okay is a [key] just the id for the recipe?

#

Okay, that's also what had me confused

#

-# also why is that emote "shaking head vertically" why isn't it just called nodding LUL

urban patrol
#

key refers to the thing before a colon in a dictionary (coding term)

#

key: value

strong kite
#

Ahhhh, okay! thank you!

#

It's a miracle I've gotten this far without understanding that

urban patrol
#

~the more you know~

strong kite
#

Also I'm assuming I'm gonna want to remove the pre-existing "f (NPC) (number)" fields from my recipes for the NPCs that dont already have mail using those?

brittle pasture
#

yes

#

their condition should be none since you'll be doing it manually

desert tinsel
brittle pasture
#

does the map file have an existing warp field

torpid sparrow
#

an i think i see the issue

#

nvm no i dont

#

hmm

desert tinsel
brittle pasture
#

are you sure it's gone

desert tinsel
brittle pasture
#

Warp is a property on the map itself

desert tinsel
#

Property of the map itself? I'll look at that then, thank you.

toxic topaz
#

does MMAP have a way to set ambient light outdoors?

strong kite
#

Hooray my code doesn't work and it doesn't give me any errors allthethings

#

oh my god... ok I see a glaringly obvious issue... I didn't swap out who you need friendship with after copy-pasting the trigger action.. so it's all still for Jas when I'm trying to test Vincent's recipe

#

Aaand the mail sends but it doesn't actually open anything and still doesn't give an error in the log

#

I'm going to assume I messed up something with the i18n entry? cuz tbh I didn't understand how to incorporate the key as well as what else I already had was no longer necessary.
"Vincent2Recipe": "Hi! My mom said I should send you something for being so nice to me. I came up with this last night! ^ -Vincent%item cookingRecipe[{{ModId}}_EeveeCookie]%%[#]Vincent's Recipe",

#

waitttt ugghhh I think I know what's going on... I still feel like something's wrong with the end of that letter message above, though

urban patrol
#

i don’t think you should have [] around the recipe

#

on the wiki <> represents required args and [] optional args

strong kite
#

ohhh thats why the wiki differentiates it with []..

#

Honestly this is not a great start to modding for the day HehSweatCloseup this has just been frustration for something I didn't even want to do Tiredkip

urban patrol
#

you’re still learning new skills, it’ll get easier

strong kite
#

%item cookingRecipe {{ModId}}_EeveeCookie%%[#]Vincent's Recipe",
So I have the mail being sent and the letter actually appearing, but it does not give the recipe

#

wait... ok i actually have an error

#

i got too used to it not giving me anything sobs

#

I thought I knew how to fix it but on more thought I don't actually think I do..
Letter 'TntDove.PBB_Vincent2Recipe' has unknown cooking recipe '{{ModId}}_EeveeCookie'.

#

It should be the bit before the colon in the Data/CookingRecipes entry, right?

brittle pasture
#

did you put the entire mail into i18n

strong kite
#

omg you're so right wait

brittle pasture
#

tokens dont work there; that's why you're seeing the raw {{ModId}} string instead of your actual mod id

strong kite
#

Yep- I remembered that after you asked 😭

#

Thankfully I know how I can fix that

#

do I have to fully close out of the game for mail to update

#

and/or start a new save

brittle pasture
#

there's a console command to view a mail manually

#

you can patch reload your mod and test again

strong kite
#

I did have to relaunch the game tho cuz it's working now

#

But phew.. now that I have that figured out.. I gotta figure out what became the error here cuz I have no clue 😭

brittle pasture
#

Lookup Anything

strong kite
desert tinsel
#

Is it possible to make a small change to the game map to create an entry for the custom map? For example, opening a passage on the forest map and when the player passes through it, will they be teleported to the map? But to do this without changing the entire map of the game and instead just a specific part?

brittle pasture
#

install LA, press F1 while hovering on it

strong kite
#

Ohhh

brittle pasture
strong kite
#

Okay I had no idea what Lookup Anything was, i thought you were telling me to literally look up "Anything" and I had zero clue where 😭

desert tinsel
uncut viper
strong kite
#

honestly I almost didn't connect the dots that LA was referring to what Selph had said before HehSweatCloseup

brittle pasture
#

-# look it's like the 4th most popular mod of all time SDVpuffercry

uncut viper
#

its 8th actually so its basically uber niche

strong kite
#

I legit don't think I've seen this mod before until now 😭
And I actually don't know why I wouldn't have seen it until now

calm nebula
#

Los Angeles?

#

Great mod. Terrific weather. Wish they could fix the public transport

torpid sparrow
#

Zuzuwood

strong kite
#

But ty Selph, figured it out as soon as I saw what the item was

#

ok I think I transferred over everything I already had to this new system.. now I desperately need a break

severe cairn
#

I thought I couldn't do the TextOperations thing but then I realized I was just stupid lmao
Now it works!

(forgot to add the "Target" field in EditData cus I focused too hard on the text operations section, and then I forgot to replace {{ModId}} with wem's mod id so SMAPI was looking for wem's event with MY mod id lmao 😭)

severe cairn
hard fern
severe cairn
#

It's okay, me and my bff once joked about boy's night and Arumi was there too

#

(I mean this btw, like /srs)

#

She can be one of the boys

strong kite
#

I'll have to look into adding more recipes via mail another time because I don't think my blood pressure's gonna handle doing something I clearly don't wanna do right now HehSweatCloseup

vital solstice
#

Anyone know the proper way to add an NPC to the 10 heart group event?

I can add the NPC into the event itself and they show up, but as soon as I try to add the extra pre-conditions for the custom NPC into the fields, the event loads the OG event and ignores the edits kittyhmm its diving me up the wall 😂 SDVpufferwaaah

verbal glacier
#

jon

severe cairn
#

jon

proven spindle
#

jon

patent lanceBOT
#

jon

hard fern
#

*json

#

!json