#making-mods-general

1 messages ยท Page 254 of 1

shut mountain
#

I wouldn't do that...

vernal crest
#

You mean deleting files in your Stardew Valley folder? No that will just break your game.

vital kite
shut mountain
#

If you're talking about xnb mods, those aren't typically recommended

latent mauve
#

the 'second' method is XNB modding which is heavily discouraged and will break the second your game has any kind of update.

vernal crest
latent mauve
#

And it will break your game before then if you do it wrong

vital kite
brave fable
#

you're deleting the game files lol

vernal crest
#

Nope it is quite normal for a game to break if you delete its files

#

Or if you replace them with corrupted data

vital kite
shut mountain
#

That's good ig

vernal crest
#

If you run into a bit that doesn't make sense or something doesn't work, it's still worth asking back in here even if no one with direct FS experience is around because we might still be able to figure it out from the instructions and examples.

shut mountain
#

But maybe don't do things that will likely break the game? ๐Ÿ˜…

vital kite
shut mountain
#

Define "complete"

vital kite
brave fable
#

this is really all very tangential to actually modding the game though

#

this is a help & discussion channel

latent mauve
#

We're off-topic again, yeah

shut mountain
#

My bad ๐Ÿ˜…

vital kite
#

Is this place to talk about modifications or is it forbidden

brave fable
#

absolutely forbidden on pain of being called funny names

latent mauve
#

This is where to talk about MAKING mods.

brave fable
latent mauve
#

Not actually using mods or adding them to your game

vital kite
mint sinew
#

rrrrrrghhh i think i'll continue beating my head against this wall tomorrow

latent mauve
#

Definitely poke around their Github for the example FS packs if that helps, Stoneflew!

shut mountain
#

I think

brave fable
#

CJB made CJB's mods

#

sort of self-evident haha

latent mauve
mint sinew
#

I'll have a look! I just am failing currently at even installing nvm so i think that's a sign i should probably quit beating my dead horse brain

brave fable
#

pathos is just the maintainer for them, cjb moved on way back

shut mountain
#

Ah, danke

unique sigil
#

oh, this is wonderful! i think they'd be great for spirit's eve costumes too SDVpufferheart

shut mountain
#

Too bad FS doesn't work on my phone SDVpufferpensive

ornate locust
#

I wish I knew why my FS accessory can't be layered without turning part of it brown, even though I tried to make it non-colorable.

#

I mean it's just a personal mod, but it's weird

shut mountain
#

And I wish I could be of assistance

#

Anyway, off to recharge the brain cell ๐Ÿ’ค

vernal crest
#

I've never intentionally left a tilesheet in a map folder before but I am considering doing so now...

calm nebula
#

steals brain cell

dusk mulch
#

Do I start on a new mod or do I update the ones I have released...?

vernal crest
#

However the situation necessitated that I load the tilesheet after all so false alarm there

deep cypress
dusk mulch
#

.choose Items, Museum, Secrets

patent lanceBOT
#

Choose result: Museum

dusk mulch
#

You got it!

#

Time to overhaul the museum

marble verge
#

Is there any point to using LogName in CP if my mod does not have a C# component? I'm not seeing anything appear in SMAPI-latest.txt.

shut mountain
#

Quick question before I go to bed for real, can I just...
"Description": null,
Do that?

#

Will that break something?

vernal crest
marble verge
vernal crest
marble verge
#

Well, this include is being called all the time:{ "Changes": [ // Default { "LogName": "[ICRS] Overriding \"{{Mod}}{{Object}}\"...", "Action": "EditData", "Target": "spacechase0.SpaceCore/ObjectExtensionData", "Entries": { "{{Mod}}{{Object}}": { "CategoryTextOverride": "{{Name}}", "CategoryColorOverride": { "A": "{{Alpha}}", "B": "{{Blue}}", "G": "{{Green}}", "R": "{{Red}}" } } } } ] }

vernal crest
marble verge
#

And I'm not seeing anything in SMAPI-latest.txt ๐Ÿค”

uncut viper
#

well, aba just said its for when CP warns or errors. did your CP warn or error

vernal crest
marble verge
#

Oh, I need to run that command in SMAPI?

uncut viper
#

patch summary is a specific Content Patcher debug command that logs a whole bunch of information about all the patches applied, optionally limited to a specific unique id

vernal crest
#

And I just realised yesterday if I give it a dummy ID I can see the global tokens without having to see any mod-specific changes which is great.

uncut viper
#

also, LogName probably doesnt support tokens

marble verge
#

Okay, that works. I just figured it would add all of it to SMAPI-latest.txt automatically, but I guess that's only for C# mods.

vernal crest
#

What do you mean by that? C# mods don't have a LogName - that's a CP thing.

marble verge
#

I mean that C# report loads of things as the game launches - so I figured LogName would result in Trace reports.

vernal crest
#

I would've thought that the C# mods would have to write code to log things too but maybe I am wrong. I have a mod that does things with a few different events so I will have a look.

#

My CP mod broke my game....we will just ignore that.

#

It did report that my mod accessed the GMCM API. After that, nothing different to what gets reported for everything (e.g., that my mod edited an asset).

brave fable
#

LogName definitely does not support tokens

dusk mulch
#

god compatibility is such a pain in the butt

hallow prism
#

it wildly depend of what and why

spice inlet
#

This is such a weird bug SDVpufferthinkblob
Whenever you play in multiplayer the greenhouse exit location changes.
Completely unrelated to my mods though

hard fern
#

Oh ive seen this before

undone jewel
#

i have that issue TwT

spice inlet
#

It appears to have been caused by FarmhouseFixes

undone jewel
#

i spawn in the river on my farm

#

legit have to no clip every time i exit until i got the return septor XD

spice inlet
#

do you have that mod installed and are playing in multiplayer?

undone jewel
#

yep

spice inlet
#

probably best to report this bug and not use the mod until the bug has been fixed

undone jewel
#

thats good u found out why the game did that, i had no idea what was wrong tbh

regal knot
#

Hey guys where do you usually find pixel artists for mods?

unreal spoke
#

!comms

ocean sailBOT
gentle rose
#

oh right, yeah, FarmhouseFixes - I was going to say that but didn't want to until I verified haha but it looks like you already did

#

unfortunately, that mod causes several problems.

wicked plover
#

I just want to make an NPC that stays still, what program can I use, I currently have GIMP installed on my computer, is there an alternative and easier?

vernal crest
#

If you already know how to use GIMP comfortably that's probably your best option.

#

All you need to make Stardew art is a program that can have a 1px brush with no anti-aliasing and transparency (so basically anything a step above Paint).

wicked plover
#

thx โ™ฅ

deep cypress
#

GIMP is awesome!

#

I prefer GIMP to Ps in some waysโ€ฆ but PS integrates with Lightroom, which I use for my photography work. Soโ€ฆ.

crystal sluice
#

hey trying to change the clinic dialogue, does anyone know what json file this is in?

brave fable
#

all character's clinic dialogues are in their Strings/schedules asset, but they're not named as such

#

for example, Strings/schedules/Abigail has the line "spring_4.001": "I'm just here for my annual check-up! Don't worry, I'm not preg... I mean, I'm not sick! Heh.$9", which coincides with her clinic visit date of spring 4th

crystal sluice
#

okay , thank you! i will have a dig through ๐Ÿ’ž

tidal stone
#

guys i did the math and im at like 387 cards rn and i need to make common uncommon rare ultra rare and legendary variants for you to collect thats x5 thats like over 1000 cards to collect

#

๐Ÿง

#

i dfont think ill need to make mod expansions for awhile >.>

#

i hope when its done its enough content XD

flat sluice
tidal stone
#

I dont wanna make them swamp you but i dont want them to be the hardest things to get in the world

#

so im still looking into options

#

i was hoping there would be a mod i could use to make it where you coudl open cheap booster packs at pierres or boosted booster packs in various locations like the mystery boxes

lucid iron
#

Yeah u could

tidal stone
#

as far as i k item extensions allows you top interact witht hings in inventory so i could do the booster thigng but it would be limited to one item per pack i think

lucid iron
#

I mentioned to scarlet but it's a PeliQ feature

tidal stone
#

PeliQ

lucid iron
#

To fire an action that's an item query which gives you many

tidal stone
#

Oh

lucid iron
#

The bogus booster pack item to buy is also a feature

flat sluice
tidal stone
#

ty chu ๐Ÿ˜ญ

brave fable
#

so asking the dumb questions here

#

what happens when u collect all one thousand cards

#

do i get a certificate to print out

tiny zealot
#

387 * 5 is approaching 2000, btw

lucid iron
#

Mr Qi descends from the heavyside layer to take you up

#

I'm not sure if i like rarity tiers tho, if they r all same card art

flat sluice
tidal stone
#

I wanna give you reward based on your collection i think iirc button mentioned their working on a museum framework so i was hoping to use that still brainstorming good rewards

#

and i was thinking the rarity tiers would change description and also reward tiers if thats possible

lucid iron
#

You could ofc say the octopus card is Rare whereas the tuna card is Common

tidal stone
#

true i was originally thinking of that but i wasnt sure if id have enough cards but now i might XD

lucid iron
#

Rather than have a Rare tuna

gentle rose
tidal stone
#

XD

brave fable
#

see the problem with making a super cool reward hidden behind a massively difficult set of tasks for an optional feature in a mod only some people will install is that in the end you're making that reward for all of 2๏ธโƒฃ people

#

i've done it before lol

tidal stone
#

I wanna hopefully make expansion decks for different mods in the future

rigid musk
tiny zealot
#

(tangent)

hard fern
#

lol

#

the reward is bragging rights obviously

tidal stone
#

the card collector is like "what? you thought you were doing this for something? man it was the thrill of the hunt, yo"

tiny zealot
#

it says something like "the only reward is the satisfaction of having done it"

gentle rose
#

you say "problem", I say "intentional choice to make 2 people with ADHD feel very talented" /lh again

tidal stone
#

you get an empty box that just has a slip of paper that says good job on it

#

OMG the info card with the desc "thanks for playing"

hard fern
#

i was gonna say, even if it only makes 2 people happy those 2 people are gonna feel like they Won

tidal stone
#

ye~

lucid iron
#

You get a ConcernedApe card

rigid musk
#

I mean you said you were gonna make a donation thing with it right? I already would feel satisfied with that.. I love collecting stuff and putting it in places to display it bobdance

#

Ultra rare CA card..

tidal stone
#

i was thinking you get a 'stardrop; rating Prismatic (Legendary) card and when you turn it in you get a stardrop (and soem money) as well as the cards as placeable furniture to deco with

rigid musk
#

Only 5 of its kind

lucid iron
#

Aren't they already placable

#

Just put em on tables

rigid musk
#

If you had a donation thing, having some cute furniture as rewards would be a good option (maybe like, little card shelves? Or display cases?)

tidal stone
#

wait you can place things that act as artifacts on tables?

hard fern
#

yes

tidal stone
#

.>

rigid musk
#

Museum rewards are also mostly furniture so

hard fern
#

object can be placed on table

tiny zealot
#

trying to picture the interior map of a museum with 2000 spots to place the cards and getting lightheaded

tidal stone
#

i never knew ๐Ÿ˜ญ

hard fern
#

just make an entirely new museum XD

#

museum of card collectors

lucid iron
#

The other option is i make u a c# mod that's a book

#

So u can flip through them cards

rigid musk
#

Maybe only the rarest version of them would have the museum spots (and I also thought it would be a new museum anyways)

tidal stone
#

i would love that

rigid musk
tiny zealot
lucid iron
#

But u have to draw the book

tidal stone
#

with flipping animation i would presume

lucid iron
#

Ofc DokkanStare

hard fern
#

book sounds cool...

tidal stone
#

X3

hard fern
#

SDVpuffersweats im still dreaming about custom fog weather

tidal stone
#

i would love to do a book honestly that was the idea behind yougetting a "catalogue" of furniture

rigid musk
#

Could you do that with stardew ui? Maybe not idk exactly what that offers for UI support

rigid musk
cyan marsh
#

did something change about facing direction?

hard fern
#

i wanna make my map foggy all the time

rigid musk
#

Ohhh

lucid iron
#

I think sve has that blue thing

#

Foggy like the bath house

brave fable
#

if directions changed somehow i think we'd be looking at the end of the world

lucid iron
#

Or sewers

cyan marsh
#

rather is facing directions still 0 up 1 right 2 down 3 right?

flat sluice
hard fern
#

why are there two rights

brave fable
#

err

#

3 is left

vernal crest
tiny zealot
cyan marsh
#

how weird.. my mod is not tracking facing properly

rigid musk
vernal crest
#

Yuuup, same with move and...maybe one other one

#

addTemporaryActor

tiny zealot
#

festival placements i believe accept words

rigid musk
#

My soul hurts

cyan marsh
#
        public void GetCoordinates()
        {
            string currentMap = Game1.currentLocation.NameOrUniqueName;
            bool mapData = Game1.currentLocation.ShouldExcludeFromNpcPathfinding();
            if (mapData == true)
            {
                Monitor.Log("This location is not valid for NPCs.. Ignoring", LogLevel.Warn);
            }
            if (mapData == false)
            {
                LoadData();
                int mapCoordX = (int)Game1.player.Tile.X;
                int mapCoordY = (int)Game1.player.Tile.Y;
                int mapCoordF = Game1.player.getFacingDirection();
                string locationdata = $"{currentMap} {mapCoordX} {mapCoordY} {mapCoordF}";
                coords.Add(locationdata);
                Monitor.Log($"{locationdata} added!", LogLevel.Debug);
                SaveData();
            }
        }
``` perhaps there is something wrong with my code
tidal stone
#

PeliQ is great i can do random items thats beautiful

hard fern
#

put baby in pelican mouth

tribal ore
#

You know what's great? You guys are so smart that I can fix my problems just by coming to chat, typing a whole thing and then deleting it

tiny zealot
cyan marsh
#

hmm..

cyan marsh
#

nvm im just dumb

dry flicker
#

Why does this appear as dialogue?

dialogue.json:

"fall_17": "{{i18n: kArmag0re_Akaza.fall_17}}",

default.json:

"kArmag0re_Akaza.fall_17": "I'm glad the festival is over...$7",
hallow prism
#

what do you get whne you patch export the dialogues?

#

!patchexport

ocean sailBOT
#

A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.

  1. Load up a save (with Content Patcher installed)
  2. Type patch export <FILEPATHOFTHING> in the SMAPI console and hit return
  3. Look in your patch export folder in the game folder for the relevant json file or image
  4. If it's a json file, you can share it via smapi.io/json. If it's an image you should just be able to look at it.
tiny zealot
tribal ore
#

Btw, is there any way to keep location data from being repeated during the same day? Or should I try to find a dialogue key that is just higher priority than location dialogue?

#

It woudl be acceptable for a secondary line to play instead of the first line

#

And still be location dialogue

vernal crest
#

There aren't any keys higher priority than location that aren't incredibly specific (like accepting a gift or resort dialogue).

#

If you don't want it to play more than once, don't use location dialogue.

tribal ore
#

Hmmmmmm. Two different types of location lines?

vernal crest
#

Use a $query for the location instead, maybe?

tribal ore
#

Hmmmmmm. Maybe a schedule key?

#

Basically, I want Gus to give the player something while he's in the saloon, but not repeat that after talking to him the first time

#

If he has two location lines Saloon8 and SaloonMon, for instance, I wonder if that would work...

hallow prism
#

i don't think so, your best bet is indeed testing with query and setting a flag

#

what i would test is :

  • keep the location dialogue
  • have a query that is giving gift if player hasn't flag kantripwhatever, and set the flag in same dialogue
#

see if it works

#

if it works, reset flag whenever you feel fit

tribal ore
#

Flag directly in the dialogue?

hallow prism
#

(can be daily, can be more spaced)

#

yes

tribal ore
#

I haven't seen that before. Will take a look!

hallow prism
#

"AsterDialogueFri2": "$query !PLAYER_HAS_MAIL Current Lumisteria.MtVapius_GiftReceivedFlag Any, SEASON Spring#Hey, look! I found a wild primrose! My grandpa painted some for me when I was younger.#Watching him spending so much time on the details was fascinating.[Lumisteria.MtVapius_Primrose]#$action AddMail Current Lumisteria.MtVapius_GiftReceivedFlag received|Wild primroses grow around here during spring. My grandpa painted some for me when I was younger.#Watching him spending so much time on the details was fascinating.",

quick example but this isn't on a location dialogue

#

so you need some testing to see if the concept works here as well

tribal ore
#

How are you setting the GiftReceivedFlag?

#

Trigger action?

hallow prism
#

#$action AddMail Current Lumisteria.MtVapius_GiftReceivedFlag received

vernal crest
#

No you can see it's right there in the dialogue

tribal ore
#

Ohhhhhh!!!~

hallow prism
#

i use trigger action to remove it periodically however

tribal ore
#

Oh that's so cool!!!

#

๐Ÿ˜„

hallow prism
#

which is very important if you want player to see the dialogue again

tribal ore
#

That makes me really really happy. I had no idea I could do that

hallow prism
#

yeah i'm pretty proud of this trick ๐Ÿ™‚

vernal crest
#

Hmmm not sure if a flag will work since I don't think flags are applied until sleep. Has this approach worked for you in twice-on-same-day dialogue Lumi?

hallow prism
#

note that since location dialogue are specific it may not work, but it can be still cool for other cases

#

flags should be applied now with the "received" part, however i don't know the exact logic the location dialogues are using

vernal crest
#

I have a vague feeling from previous mail flag stuff that setting received does not apply the flag itself immediately (and nor does any other option) but hopefully my memory is just wrong. Easy for Kantrip to test at least.

gentle rose
#

iirc there are ways to do both

hallow prism
#

yeah location dialogue allows for quick test ๐Ÿ˜„

tribal ore
#

I'm testing now, just need to wait for Gus

gentle rose
#

I think Current may add it immediately?

wicked plover
#

I have created a new NPC and I want to add a shop to them. The shop should offer random items every day, but instead of purchasing them with gold, players will trade items (for example, seeds).

Is there a code library for this? Can u help me?

hallow prism
#

no need for a code library

#

it's all doable with CP

#

use desert trader as an example/template

gentle rose
#

(or the raccoon shop iirc)

hallow prism
#

if you want to do it with C# then hu... i don't really know

#

but it shouldn't require a library anyway, just adding assets to the game content pipeline

gentle rose
#

this is one of those cases where I suggest just having a content pack too tbh. It will be so much easier to manage in the long run

wicked plover
#

thx guys

lucid iron
#

You can use C# to put in the required item query to the shop's items entry

#

It's essentially what cp does for you

gentle rose
#

(true, but content patcher does it for you... SDVpuffersquee)

wet granite
#

Does GenericModConfigMenu have a way of fetching all mods that are currently registered for it? (that's publicly accessible)

lucid iron
#

What you described is all supported in data so u can put the data in however you like

tribal ore
#

Ummmm.... quick question. In your example Lumina, the dialogue that plays when you aren't receiving a gift is the part that comes after the | ?

gentle rose
lucid iron
#

You can look at star control

wet granite
gentle rose
#

what about mods that register them without GMCM?

wet granite
#

I realize that's a thing, as far as my question is concerned I don't care about them

gentle rose
#

fair enough. Like chu said, time for reflection crime

wet granite
#

Fair enough, thanks ๐Ÿ‘

tribal ore
#

HOLY CRAP IT WORKS

#

@hallow prism thank you thank you thank you

#

This is amazing

marble verge
#

In CP, is |contains= a fuzzy or exact match?

gentle rose
#

exact iirc

lucid iron
#

So if you just want to see it for your own purposes

#

There's a keybinds menu in gmcm

#

It's that keyboard icon

#

Otherwise yep star control does exactly that, access keybinds from other GMCM registered mods

marble verge
gentle rose
marble verge
#

Calling a different action based on a variable input. It works just fine as long as every possible variable is unique - which is almost always true ๐Ÿ˜ถ

hallow prism
wet granite
gentle rose
marble verge
gentle rose
#

yup, that's what I was thinking! guess I misunderstood you initially haha

lucid iron
#

Need {{query: regex}}

marble verge
royal stump
#

I could add a regex token, but I know almost nothing about it, so any bugs (or lag) would be unfixable SDVpuffersquee

tribal ore
shadow pagoda
#

I'm looking to find a way to have a message pop up in the bl of the screen for my mod. The pop up that says You've got some new ideas to sleep on... , but of course with my own text. I found that the text is called NewIdeas and tried to find where that text is loaded/called when the player levels up a skill. I tried looking at setSkillLevel and GainSkill but hit a dead end. Does anyone know where I could look in order to get what I want?

gentle rose
#

you just want a generic one of those messages, right?

#

not specifically the skill one

tribal ore
vernal crest
#

It's not unapplying itself

#

You're not using a trigger action

#

You're using an action

tribal ore
#

I have to clean up the flag when the day ends

#

To reset for the next day

#

Which probably is a separate trigger action

vernal crest
#

Use a Data/TriggerActions entry for that

tribal ore
#

I know, but I thought I need a pair of them

vernal crest
#

Why?

tribal ore
#

Because I'm expecting this flag to get applied at most once per day

#

Not a one and done deal

#

dialog -> set flag. day end -> clean up flag

#

next day repeat

vernal crest
#

Oh you want to make the flag removal trigger repeatable?

tribal ore
#

Yes

vernal crest
#

"MarkActionApplied": false

tribal ore
#

Can it do that to itself?

vernal crest
#

Not as an action but as a field

shadow pagoda
vernal crest
tribal ore
#

That would have made some things so much easier

#

๐Ÿซ 

vernal crest
#

It's not super clear when the pair approach gets a giant example and the field approach gets a single line lol

#

I got it from someone else's mod

tribal ore
#

At least I know now! Thank you ๐Ÿ™‚

hallow prism
#

yeah i was doing something but basically you just don't mark the trigger action as applied so it can repeat itself when needed

brisk wedge
shadow pagoda
#

this seems promising, I'll let you know how it goes

granite bluff
#

heyy do you know how to make the incubator appear in coops? is there a specific tile? the default map has no incubator on it

gentle rose
lucid iron
#

The incubator is a big craftable

ivory plume
granite bluff
#

aaah thank you^^

marble verge
#

Ha. Took some finagling, but that's another bug squashed. [Heavy Sigh Intensifies]

tribal ore
#

Too bad there isn't a player died trigger. I know we can check player stat timesUnconscious to see the first time it happens, but it would be nice to be able to easily repeat it

lucid iron
#

What r u hoping to do anyways

#

There's probably some funny thing you can achieve by using the mail flag

tribal ore
lucid iron
#

Modify the mail sent maybe?

tribal ore
#

I could set the trigger action as unapplied, but not sure how to store the number of deaths currently so that the tick goes up

#

If that makes sense

#
        "Id": "{{ModId}}_FirstHospitalVisit",
        "Trigger": "DayStarted",
        "Condition": "PLAYER_STAT Current timesUnconscious 1",
        "Actions": [
            "AddConversationTopic {{ModId}}_Topic_Hospital",
        ]
    },```
#

Would ideally like this to be repeatable, but timesUnconsious would have to be stored or something

#

Dynamic token?

lucid iron
#

Do something in PlayerKilled event perhaps

#

Increment stat

#

I dunno if u can access a stat in a dialogue string tho

tribal ore
#

Didn't know PlayerKilled was an event. Not a bad idea. But how to store the stat? Is that a dyntoken thing?

#

Maybe I could just check PassOutMail...

tidal stone
#

i think imma make some 'trash' for my mod: info card and torn booster wrappers one for regular boosters and one for boosted booster packs uwu_nod

royal stump
#

there is a very convoluted way to write a stat to the player's modData with both EMP and BETAS, then do math on it with a CP query SDVpufferdizzy

lucid iron
#

C# vs CP solutions feel like this sometimes

tribal ore
#

LOL

royal stump
#

action at end of day or some such:
Spiderbuttons.BETAS_WritePlayerModData {{ModId}}_DeathCache {{Esca.EMP/PlayerStat: timesUnconscious}}
then at start of day, compare Esca.EMP/PlayerStat: timesUnconscious to Esca.EMP/ModData: Player {{ModId}}_DeathCache

#

assuming queries have a greater-than, I don't remember offhand SDVpuffersquee

#

I guess not equal is fine

tribal ore
#

Wait, can BETAS read ModData as well?

#

just... for other reasons

royal stump
#

I don't think it can, which is why EMP would be involved to read stats and mod data in CP

#

it can write it with actions though

tribal ore
#

darn ok

lucid iron
#

BETAS doesn't add cp tokens

#

EMP does

tribal ore
#

Nice. I haven't used EMP. What does it stand for?

#

Ahhh, your thing!

royal stump
#

Esca's Modding Plugins, so just any random stuff I make that isn't in FTM, yeah SDVkrobusgiggle

tribal ore
#

That is really cool. I'm taking notes, even if I don't use it right now

lucid iron
#

EscaCore

royal stump
#

none of my other mods reference it, which feels like a -core requirement

tribal ore
#

Might help me out with another mod I'm working on. For this, though, I think I'm going to do something rather cheeky and just check if the game has sent any of the passedOut letter variants the night before

#

There are like 6 of them

tribal ore
#

I wonder if the game removes those mail flags automatically though? Must do

#

Or they wouldn't repeat

lucid iron
#

The rake is named AccessViolationException SDVpufferpensive

tiny zealot
#

mail flags live in one of three buckets: tomorrow, mailbox, and received

tribal ore
#

Wait, what is the TriggerAction equivalent of -OR- ?

tiny zealot
#

most things which add mail check whether the flag is in any of the buckets, and don't add it if so

lucid iron
#

There's if else i think

tribal ore
royal stump
#

do you mean in GSQs, the Condition field? if so, ANY "thing one" "thing two" "etc"

lucid iron
#

Oh ig that's GSQ yea

tribal ore
#

Yeah, that would work

tiny zealot
tribal ore
#

Right

tiny zealot
#

haven't followed the whole convo but yes, any mail that's in the tomorrow bucket at day end was sent today (to be delivered tomorrow)

#

although i suppose you have no guarantee that some other mod's trigger action at day end won't run after yours and add one

marble verge
#

Just checking: is it possible to have conditional configuration settings without C#?

tribal ore
#

PLAYER_HAS_MAIL Current ANY letter1 letter2 letter3 Tomorrow ? ?

#

or should there be brackets or something

tiny zealot
#

ANY is its own query and goes outside

tidal stone
#

i had an idea nd id love to get some thoughts on it
what if certain cards you could only obtain by doing certain things, like i want to make ;'villager' cards do you think i should put soem cards behind like 5 heart friendship or something?

tiny zealot
#

ANY "PLAYER_HAS_MAIL Current letter1 Tomorrow" "PLAYER_HAS_MAIL Current letter2 Tomorrow" etc. escape quotes as needed

tribal ore
#

... "ANY PLAYER_HAS_MAIL Current letter1 Tomorrow, PLAYER_HAS_MAIL Current letter2 Tomorrow...

#

grrrrrr. OK. Harder to read but doable

royal stump
#

in CP context, you'd need quotes around them, like "Condition": "ANY \"thing one\" \"thing two\""

#

or rather, escaped quotes

tiny zealot
#

i am firing from the hip so tweak my errors as needed. anyway gotta go!

tribal ore
#

Thanks ichor, Esca!

lucid iron
#

If you are using ConfigSchema

vernal crest
#

You can see ANY in its full confusing glory at the top of the GSQ wiki page

shadow pagoda
shadow pagoda
#

omg this makes my life so much easier, thank you

marble verge
tribal ore
#

If you need to see letters, though, you might need to look at unpacked Data/mail

#

All of the passedOut letters I'm looking at are there, but not listed on either link

vernal crest
#

That's true I don't think the mail flag list has actual letter IDs since that's not usually what people are interested in when using mail flags

#

And also because they are easy to find, living in the data as they do

#

Not that it would hurt to have a sentence reminding people to check in data/mail. -makes a mental note to make a physical note to do that sometime-

tribal ore
#

Oh sure! I know that's probably what they meant, but since I was just doing something similar and the data I wanted wasn't there, I figured it wouldn't hurt to remind them to check

#

Hnmmm. It looks like those letters get sent only when passing out from exhaustian, not from health

#

That probably still works for me though

deep cypress
#

Hello Groovy People, many of which are blessed in Math!

I wanna make a delay start configable to my Iridium Bombs.

On one TAS, (the graphics which make the delay), there is this, which makes the graphics of the bomb happen for three seconds before the actual bomb happens:

totalNumberOfLoops = 30,

The bomb itself, 3 sec delay:

delayBeforeAnimationStart = 3000,

I want to make the config affect them both. My brain cannot math it, Any ideas how to write it?

#

Wait... I just realized zero times a number is zero! I just got done with a 12.5hour shift, forgive the exhd brain!

lucid iron
#

You need another number, the frame interval

deep cypress
#

It's in there, I just put those for brevity.

lucid iron
#

If that 0 then loop count is irrelevant

deep cypress
#

Imma make it Config.Seconds * 10 and Config.Seconds * 1000

#

Yes, that's the goal, for the loop count to become meaningless if they do not want a delay. If they want shorter fuses... That's a trip into probably inlining I think.

brittle pasture
#

when I tried making shorter bomb fuses I just needed to change totalNumberOfLoops

#

I don't think bombs have delayBeforeAnimationStart set

fathom hound
#

Wait, am I able to make an expansion with just CP?

brittle pasture
#

depends on what you want in your expansion

#

new maps, new NPCs, new items, new events are usually what ppl think of in expansions
and they're all doable in CP

shut mountain
#

I use JA for items ๐Ÿ˜…

brittle pasture
#

you should switch

shut mountain
#

But I guess you're right SDVpufferthink

#

No thanks, I have all my items mods ๐Ÿ˜Ž

#

Mostly courtesy of ParadigmNomad

brittle pasture
#

we're in making-mods, and that's general advice if you're looking to make new item mods

shut mountain
#

Oh right ๐Ÿ˜… Sorry

#

I'm mostly here to answer questions so I don't cease to exist out of boredom

deep cypress
grand edge
#

Okayโ€ฆ. Any reason why he insists on staring at the axe in his spouse room? SDVconcernedCA

#

Idk why he isnโ€™t facing down

shut mountain
#

I can't even tell who that is ;-;

grand edge
#

Itโ€™s NSH from Rain World

storm minnow
#

would guess a custom npc?

grand edge
#

Yup

shut mountain
#

Maybe he's supposed to face that way? Idk, but that's my only guess

grand edge
#

Heโ€™s not because Iโ€™m making his ass XD

My only thought is that it has something to do with Krobusโ€™s room cause I used his roomโ€™s location so I wouldnโ€™t have to deal with random light sources

brittle pasture
shut mountain
#

:O Cool

brittle pasture
grand edge
# brittle pasture

Ah! I didnโ€™t see they had a facing property!

Iโ€™m going to blame that on the fact it was something something am then XD thanks!

storm minnow
#

have a question of my own, not about custom npcs(no plans for that so far)

shut mountain
#

Ask away

storm minnow
#

is/are quests unrelated to dialogue?

shut mountain
#

Can you elaborate?

storm minnow
#

as in, if i change the quests, or one of the quests, for a vanilla npc, would that conflict with mods that change the dialogue for the same npc?

shut mountain
#

Oh. No

#

I'm confident in that no, too

#

Assuming the other mod only changes dialogue

brittle pasture
#

what quests are you changing

storm minnow
#

and, does dialogue data for each npc come all in one chunk, or could i edit dialogue that references the quest without causing a conflict with mods that edit other dialogue?

brittle pasture
#

if you do your edits right (only change what you need to and not like Load Characters/Dialogue/Abigail or something) they should not conflict

rancid musk
#

I @'d you on GitHub but I thought I'd message you here to make sure you see it. I fixed the issue in Better Game Menu that was adding that button to unintended OptionsPage subclasses. You should back out that code you introduced to try removing it to prevent it from causing issues.

rigid oriole
rancid musk
#

I hadn't considered the possibility of someone subclassing OptionsPage honestly

rigid oriole
#

It is a bit cursed i don't blame you

brisk wedge
#

is it possible to patch an abstract method?

rancid musk
#

I doubt it? An abstract method doesn't actually exist.

brittle pasture
#

no, patch the class instead

brisk wedge
#

sorry what do you mean by patch the class instead?

rigid oriole
#

Patch the class that implements the abstract method

brisk wedge
#

oh i see thanks

rancid musk
#

If all else fails you can iterate over every available type to find subclasses and patch the method on all of them, though that seems... not super great.

brisk wedge
#

I am... considering it haha

rancid musk
#

What are you trying to patch?

brisk wedge
#

maximum stack size, but thankfully there aren't that many subclasses of item and I already have patches written for most of the subclasses individually so I think I just need object or something

rancid musk
#

lol, I patched that once with Better Crafting

#

But I was able to switch to patching Item.canStackWith for my needs.

tribal ore
#

Does the "married" dialogue option play every time a character marries someone new?

#

Or is it a one and done?

#

nvm, looks like it's the first time! I should have checked the wiki

shut mountain
#

The wiki is great SDVpufferheart

brittle pasture
rancid musk
#

(The wiki is the only non-corporate wiki I have ever contributed to.)

brittle pasture
#

if you do, then just a warning, only that won't do what you want

grand edge
#

My day be so fine, then bam

Strings from cs files

#

Guess CFD will be a requirement

lucid iron
#

whats CFD

grand edge
#

Custom Fixed Dialogue

brisk wedge
#

Wait I read that completely wrong, yes I am patching Furniture

#

What won't it do?

brittle pasture
#

if you have a stack of 999 tables and you place it down, that entire stack will be placed and turned into 1 table

hard fern
#

huh

brittle pasture
#

if you pick it up again it will become 999 tables

hard fern
#

i never knew tha

shut mountain
#

That would be interesting

marble verge
#

... 999 tables on the wall...

hard fern
#

place one down, pass it around...

#

999 tables on the wall.

shut mountain
#

Lmao

brisk wedge
#

oh hm sad i havent gotten around to testing placement yet

#

on the other hand, this sounds like it could be fixed with even more patches :)))

brittle pasture
#

yep. how familiar are you with transpilers

brisk wedge
#

not, but I'm sure I can learn

rancid musk
#

Can't you pick up storage furniture with items in it?

#

That sounds like something to be careful of

shut mountain
#

I can barely pick up storage furniture at all SDVpuffersob

#

(Mobile troubles)

brisk wedge
#

I check held items in canstackwith? Also untested lol theres a lot that i need to check

rancid musk
#

(Here I thought it was a joke about dressers being heavy)

lucid iron
#

i suppose u can just ban storage furniture with stuff inside from stacking

brisk wedge
#

on the plus side i recently got the everything catalog in happy home designer so all the furniture things can happen now

tribal ore
#

For some reason, this is always resolving to true, even though I don't have any of these letters queued for tomorrow

    "Id": "{{ModId}}_HospitalVisit",
    "MarkActionApplied": false,
    "Trigger": "DayEnding",
    "Condition": "ANY  
    \"PLAYER_HAS_MAIL Current passedOut1_Billed_Male Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOut1_Billed_Female Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOut1_NotBilled_Male Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOut1_NotBilled_Female Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOut2 Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOut3_Billed Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOut3_NotBilled Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOut4 Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOutIsland Tomorrow\" 
    \"PLAYER_HAS_MAIL Current passedOutIsland_Leo Tomorrow\" 
    ",
    "Actions": [
        "AddMail Current {{ModId}}_Hospital Received",
    ]
},```

I'm assuming it's a sytax error with my ANY condition, but I'm not seeing what's wrong
gentle rose
blissful panther
#
public class ModEntry : Mod
{
    private static Random rand = new Random();

    public override void Entry(IModHelper helper)
    {
        Harmony harmony = new Harmony(this.ModManifest.UniqueID);

        foreach (var method in Game1.game1.GetType().GetMethods())
        {
            if (!method.IsDeclaredMember())
                continue;

            harmony.Patch(
                method,
                prefix: new HarmonyMethod(typeof(ModEntry), nameof(ModEntry.WorkForReal)));
        }
    }

    public static bool WorkForReal(Game1 __instance)
    {
        return rand.Next(0, 100) > 95;
    }
}

So this is fun and all... but it's not breaking things in a fun way...

tribal ore
#

Etc

#

The flag is getting set every night right now, so something quirky is happening

rancid musk
blissful panther
#

I was considering pulling all of the methods called directly in, say, the main update loop and only patching those, but...

gentle rose
#

it took me a while to figure out what this is actually doing and I love it

celest salmon
#

I'm having such a silly issue with my mod. Three of my latest objects are showing an error image. Everything LOOKS correct in the files (& yes they do have their own sprites)...

brittle pasture
#

!json post your code and we can look

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

celest salmon
#

!!! Just that alone has already helped me so much!

#

*tallow isn't completely finished so ignore the same text

#

**just saw that tallow still had lard's sprite & fixed it so just ignore that lol

marble verge
#

Is "Esca.EMP_LogMessage Info {{ModId}}: You just gained 10g!" limited to Trigger Actions, or is there also some way to use it inside an EditData block?

brittle pasture
#

I suppose you probably did since other items are using that texture and they're fine apparently

#

did you spawn new instances to test

uncut viper
#

that is a trigger action

marble verge
#

Bugger.

#

It's a pretty long load, so I'd hate for players to assume that the game just crashed or something.

uncut viper
#

heavily modded players tend to be used to long load times

marble verge
#

True, and it's only at the start of the game - but still.

uncut viper
#

and there probably will be some c# mods they have that are logging to console to indicate life

tidal stone
#

i didnt relalise how used to it i was until i got sa friend who never mods to download a modlist of mine that had over 200 mods (they thought their game was broken)

uncut viper
#

i would often go make food for like 10min while I waited for my heavily modded save to load way back when

marble verge
#

This mod shouldn't affect loading saves, since everything happens at launch - or when the player changes something in GMCM, but that is what it is.

true coyote
marble verge
#

Sure, but it'd be nice if a CP mod could send something to indicate that it's working in the background.

true coyote
#

fair and valid SDVpufferthumbsup

tribal ore
#

Hmmmmmmm. I thought that you would always get a letter when the player passed out at 2AM. But I'm not seeing any show up

#

Is there a random chance of a letter or something?

uncut viper
#

some places are safe to pass out in

#

and mods can make more places safe

tribal ore
#

Ahhh. So if it's in the farmhouse it probably doesn't count

#

I'll try in the mines or something then

#

Also, can passedOut letters repeat?

uncut viper
#

anywhere on the farm im pretty sure is safe

#

inside is 100% safe

#

inside the farmhouse at least

tribal ore
#

Nice. That would probably be it then

uncut viper
#

letters can repeat

tribal ore
#

Good

celest salmon
rotund elm
#

Heyo, does anyone know a good mod that shows an example of how to format the frames field for working effects on machines? I am not sure is it should be like "0", "1" or "0, 1"

#

I guess I don't need an example if one of those examples is correct

#

I may be doing something else wrong cause it just is not working for me X|

brittle pasture
#

Cornucopia Artisan Machines

rotund elm
#

Thanks SDVpufferthumbsup

ivory plume
#

It's a list of numbers, so it would be like "Frames": [ 0, 1, 5 ].

brittle pasture
#

to answer the question, the former (EDIT: as numbers)

rotund elm
#

Thank you Pathos!

cunning kiln
#

I'm planning a major rewrite of the canon storyline and I'm trying to put together all of the files that I'll need to edit. It's proving less straightforward than I expected. Does anyone know why some event text is randomly in Strings/StringsFromCSFiles?

#

(And is there any reason why that text couldn't be in the events files directly?)

rigid musk
#

Because scavenger hunting is fun /silly

fierce vault
#

Hello! I have a question on monsters. How many changes could realistically be made to their behavior based on triggers? I was wondering about whether they could to you react to eating certain things with disgust, or if you could give a gift to stop one from harming you, and maybe have little dialogue bubbles pop up sometimes.

cunning kiln
#

(This would explain the cursors file...)

rigid musk
#

There's a lot of stuff that's kinda scattered about in different places

#

I'm sure sometimes it comes from something have been put somewhere and then after working for a while... oh no can't move it everything will break

uncut viper
cunning kiln
fierce vault
cunning kiln
#

In that case, it should be fine to edit the text back into the appropriate events (I hope?)

uncut viper
#

monster behaviour is not at all controlled by anything CP accessible, besides monster drops

#

if you count that as a "behaviour"

#

you can edit the very basic info about them like their stats and whether they fly or not, but actual AI behaviour is not accessible to you

cunning kiln
#

Also, any recommendations for mods that help with quickly testing events?

fierce vault
#

What level of C# knowledge do you think would be needed for that ideaโ€ฆ?

marble verge
uncut viper
#

more than a very basic level

#

Monster code is a bit of a mess

uncut viper
#

subclassing your own new Monster type is easier, but changing the behaviour of existing ones especially to that degree and especially in response to triggers would be a pain

fierce vault
#

Well, it was a neat thought while my lack of knowledge lasted I guess.

uncut viper
#

its a C#/programming concept that i dont know how to explain briefly

fierce vault
#

Ok, fair enough

rigid musk
#

'debug ebi [eventid]'

marble verge
#

I think I read a couple of days ago that there were plans for CP to be able to move things like Dynamic Tokens to a separate file. Is that actually going to be a thing at some point, or is it just brainstorming?

brittle pasture
ivory plume
marble verge
#

Oh boy

#

Well, that escalated quickly.

rigid musk
rotund elm
#

Heyo again, is there not a way to make a sound that doesn't loop on its own loop? Like openBox. I would like to use it for the working effects going on on an interval, but it's looking like that isn't possible

fierce vault
ornate locust
#

oof

bleak drum
#

is it ok to put this here?

marble verge
bleak drum
#

i rly dont know lol

#

o

#

well

#

any of you know where i could post that?

marble verge
#

Some place that isn't here, I'd say.

brittle pasture
#

Dunno, but not on this server

rigid musk
#

Not in this server

bleak drum
#

yea i got that dont worry

ornate trellis
#

this server does not like AI

bleak drum
#

oohhhh

rotund elm
#

Yee

bleak drum
#

didn't know

rotund elm
ornate trellis
#

you should probs read the rules

ivory plume
bleak drum
#

thanks man

reef kiln
ornate trellis
#

thanks pathos, wasnt too sure anymore if it was a rule or pinned

rotund elm
#

sitting here using debug ps over and over is kinda fun SDVkrobusgiggle

fierce vault
uncut viper
fierce vault
brittle pasture
ornate locust
#

Always funny in East Scarp when a crab takes umbrage to me dumpster diving

rotund elm
#

appreciate you looking into it for me! I will see about maybe finding something similar or making my own then SDVpufferthumbsup

uncut viper
elfin merlin
#

First of all, hello, I want to play mod with friends, but we constantly get a connection failure error. How do we solve this?

lucid iron
#

!mh

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

fierce vault
reef kiln
ornate locust
#

wait are there trashcans in Passerby? Now I want a screen of an angry ghost getting mad at me over trash

ornate locust
#

"oooOoooOo, stay out of my traaaash!"

reef kiln
#

Farm animals are not NPCs though. They are different.

elfin merlin
#

I wonder if anyone can help?

marble verge
#

I always wondered why mods can't make decorative animals like you see at Marnie's.

ornate locust
ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

fierce vault
#

Wait. Could one theoretically kill off their npc in a real sense then through an event?

uncut viper
#

depending on what you mean by "real sense," yes, though such a mod wouldnt be allowed to be discussed here

reef kiln
# rigid musk ๐Ÿ˜ญ oh no

Yup, I had 4 duplicate NPCs and rather than type the command 4 times I left it blank, figured everyone is back the next day anyway. Turns out pets don't respawn like the other NPCs.

ornate locust
#

ohno

fierce vault
uncut viper
#

(to be clear, when i say "here" i mean "this server entirely")

marble verge
#

So there's a blanket ban on mods dealing with on-screen deaths?

rigid musk
#

what's the way to look into more details with a SMAPI log that someone sends?

fierce vault
#

I understand you meant the general server as well. Not that most people would really want to have something tragic like that happen to their character anyway.

rigid musk
#

Someone is having... significant issues with my mod and I cannot figure out why from just looking at the standard log itself

marble verge
#

Because I know Sophia's backstory in SVE features off-screen death.

uncut viper
#

no, theres a blanket ban on disturbning, age-unsuitable, or nsfw content in this server, and that includes violence

uncut viper
#

if its just a character passing away naturally then thats probably fine? but you said kill, so

#

with ofc the "im not a junimo" disclaimer on that

lucid iron
#

ES has weird goats

rigid musk
#

I love the weird goats

marble verge
#

Yeah, but all of them can be F1'd with Lookup Anything.

#

The animals at Marnie's can't.

lucid iron
#

is that a problem LilyDerp

marble verge
#

No, just curious as to why.

lucid iron
#

doesnt this just make them more real

uncut viper
#

Marnie's animals are actually real animals, though

#

they get assigned to a fake multiplayer farmer

reef kiln
lucid iron
#

the why is implementation details

marble verge
#

A fake multiplayer farmer? That's clever.

fierce vault
lucid iron
#

so there actually is a mod where the npc passes away ||toshinori, in the heartbreak route||

#

i don't think that route works rn but if you want to do it you can make your NPC invisible forever to achieve the effect

grand edge
# brittle pasture

okay this didn't change a thing ๐Ÿ˜” i'm not sure if it's random chance that he keeps facing that direction or what (the normal spouse room map doesn't have tile properties anyway)

reef kiln
lucid iron
#

its one line Sleepden

brittle pasture
rigid musk
#

Any line of C# is hard for Chu SDVpufferpensive

#

for me*

#

i cant spell or do words rn

#

C# is not, in fact, hard for chu

lucid iron
#

i like to recommend data only solutions if i can

reef kiln
lucid iron
#

cus the understanding is that if you are in C# you can do anything

fierce vault
#

Iโ€™ve heard that C# is a better language than Java, but that neither are common to just develop games with, not counting game engines.

rigid musk
#

The possibilities are endless potential

lucid iron
#

C# is common for game dev because of unity (though unity has a funny C#)

grand edge
#

he keeps looking up for some reason

reef kiln
#

How did you put in the data to tell him to look left.

fierce vault
sour sleet
#

Is it possible to add an aquarium building that adds custom fish with CP?

lucid iron
#

no it just means unity abstracts away a lot of things

rigid musk
sour sleet
lucid iron
#

sdv modding does abstract some things (you dont necessarily need to know what a constructor is to do a mod) but u r actually making a class library like thing as output

rigid musk
#

Like the Stardew Aquarium mod?

lucid iron
#

not embedding script or w/e

sour sleet
#

Yes but on a smaller scale

reef kiln
#

Can you send a screen shot of the tile data. So we can see why it is not working.

rigid musk
#

I'm unsure, I don't actually know what parts of Stardew Aquarium are C# pondering

grand edge
rotund elm
#

Ok so I got this error after loading my custom ambient sound into the game and connot figure out what it means?? it is definitely a .wav and the patch is correct for adding it to AudioChanges

sour sleet
ocean sailBOT
#

Oops, couldn't parse that file. Make sure you share a valid SMAPI log.

rotund elm
#

I am aware mr governor

uncut viper
#

why not send the whole log
either way, you're probably setting the streaming thing wrong. streaming is true for oggs only

fierce vault
#

Be careful though and use the special program (I forget which) to edit out your computer user name, if you care about that.

rotund elm
#

I use patch reload so it feels pointless when there is no other info pertaining to the issue in the log, but by streaming do you mean "StreamedVorbis"?

fierce vault
#

The Governor links to it sometimes

rotund elm
uncut viper
#

a full log is never pointless
but yes, i mean streamedvorbis

#

an ogg is a vorbis file

#

a wav is not

reef kiln
fierce vault
#

Is there documentation on better understanding smapi logs?

grand edge
rotund elm
#

now it is telling me it cannot confirm container type X|

uncut viper
#

wdyn convert it. did you just rename it? you cant do that

#

just set StreamedVorbis to false

rotund elm
#

SDVpuffereyes lol ok I will remember that, and is turning that to false gonna impact performance majorly?

#

if it is looping that is

uncut viper
#

one is better for music and one is better for sfx, but i dont remember which. the audio data modding wiki page has info on it

rigid musk
# sour sleet Me neither. I really hope it's doable without C# lol

I think the main aspect of C# with Stardew Aquarium is the donation menu it has... that's without me actually knowing what's in its dll - I would imagine doing something similar would need it as well

Even looking at something like Nature In the Valley shows that it has a C# component but again for what I don't know...

It might be worth it to look at both of them to see what parts were done solely using CP (Primarily Stardew Aquarium since that one does fish like you're looking for)

rotund elm
#

true is for ambience that loops to reduce memory usage when the audio cue isnt active

sour sleet
reef kiln
lucid iron
#

i dont think there's a donation thing builtin you can use unlockable bundles tho

#

another idea is to make them all powers

#

Nature In the Valley is a framework for donating stuff too PecoWant

uncut viper
#

(what donating stuff does NITV do?)

ornate locust
#

You catch bugs and give them to an insectariun

#

or frogs or whatever

#

There's a few mods adding animals to it

uncut viper
#

is it just animals you can donate?

lucid iron
#

yep

uncut viper
#

ah, gotcha

lucid iron
#

they roam around in the special building i think

#

buggy zoo

brittle pasture
#

in the inventory they are just objects with the forage category

native saddle
#

love NITV

rigid musk
#

where are the maps for spouse rooms located

grand edge
#

Maps/spouseRooms.... i don't know if there are any others

rigid musk
#

*oh they're all in one thing *

#

that... makes more sense I was trying to find individual ones lmao

ornate trellis
#

same with spouse patios btw

#

i personally fear working on the romancable part of my npcs lmao

grand edge
#

do you have any idea why a spouse room might have the npc face direction seemingly locked? i tried changing it with tiledata to no luck

fierce vault
#

When npc birthdays overlap, how is it determined which one is visible on the calendar? I havenโ€™t tested anything like that in game yet

hard fern
#

maybe mod load order?

rigid musk
#

I don't know if it'll work but its worth an attempt

ornate trellis
#

the red dot needs to be on the Paths layer

rigid musk
#

im talking about the tiledata

ornate trellis
#

according to the wiki at least

rigid musk
#

not the paths dot

ornate trellis
#

so the tiledata needs to be there too

rigid musk
#

ah

ornate trellis
#

to match

rigid musk
#

Okay I checked the movie theater to reference it since it definitely uses the dot to do that .. and yeah they are on the paths layer

#

are you sure your tiledata is exactly 16x16

grand edge
#

tried the building layer too, didn't work

#

i also tried "down" instead of 2

ornate trellis
#

jsut inchresting to see vanilla doesnt have tiledata for it hmm

grand edge
#

yeah

reef kiln
#

I think vanilla does it with a patch

grand edge
#

i can only imagine it's cause he doesn't stand in the same position as any of the other npcs...

rigid musk
#

yeah the only place that vanilla does have tiledata for the red circles is the theater, so if any of the npcs stand in a different direction it has to be done through something else

brittle pasture
#

every vanilla spouse stands in the same spot

#

the tile data is only to override it

#

they also default to facing down, so if your NPC is facing up it might be a problem in their spritesheet?

ornate trellis
#

so the string is technically correct?

grand edge
#

if it was a spritesheet problem i would expect him to be invisible

brittle pasture
#

I see. It's strange then because by all accounts you did everything right

#

did you go to sleep and test it again next week?

rigid musk
#

or test by starting a new save in case it's just being dumb that way >

grand edge
#

yeah i've been sleeping over and over in case it was random chance

reef kiln
#

Has someone check a different mod that adds spouse rooms. Like ES to see how they did it. I am not at my PC so I can't

rigid musk
#

im checking my own mod, ill just futz with qi to see if i can get him to stand in a different spot/ face a different direction

ornate trellis
#

so far the ones i look at seem to just use the default spot, hm

brisk wedge
#

anyone know the syntax for patching a generic method?

rigid musk
#

Right so ... he just stands looking up as well (which works with his spouse room but uh i cant get him to look in other directions)

#

how odd

grand edge
#

so glad its not just me XD

shadow pagoda
#

Does anyone know why the isBundleComplete works correct for all bundles except the ones that require money? This is the debug code I have and its respective logs. The entire vault area is considered complete, but none of bundles are being considered complete by the game. This only seems to happen for the money ones. Is there an alternative to figure out which bundles are considered complete?

Dictionary<int, int[]> areaBundles = new Dictionary<int, int[]>()
{
    { CommunityCenter.AREA_Vault, new int[] { 23, 24, 25, 26 } }
};
List<bool> bundlesComplete = areaBundles[CommunityCenter.AREA_Vault].Select(id => CommunityCenter.isBundleComplete(id)).ToList();
Log($"Vault bundle ids: {Join(areaBundles[CommunityCenter.AREA_Vault].Select(id => id))}");
Log($"Complete money bundles {Join(bundlesComplete)}");
Log($"Vault complete: {Game1.player.hasOrWillReceiveMail("ccVault").ToString()}");
Vault bundle ids: 23, 24, 25, 26
Complete money bundles False, False, False, False
Vault complete: True
grand edge
#

finally got a new save going and yep, still facing up

ornate trellis
grand edge
#

can't believe the bug looking custom npc might find a bug XD

ornate trellis
#

id ask when one of the cool c# modders that look at the games code are around who might know more

grand edge
#

alright

rigid musk
#

are there official dialogue entry names for the 'sitting in bed' dialogue that marriagable npcs have sometimes?

#

i found where the dialogue is located (in the stringsfromcs file) but i dont know if I would target those name entries or something else to change it

real aurora
#

hey guys, don't know if this is the right place for that... but does anyone know if there's already a mod that include reaching enchantment to watering cans?

rigid musk
#

you can already put the reaching enchant on the watering can

real aurora
#

oh sorry, the swift enchantment!! sorry

grand edge
rigid musk
#

(unless you're looking to make a mod that does that)

brittle pasture
#

)I havent heard of one)

rigid musk
#

i also havent heard of one

real aurora
real aurora
rigid musk
#

Yeah you would definitely need C# for that

#

Especially because, with watering cans having the charge up feature, you would need to essentially make that go a bit faster too

lucid iron
#

X number of transpilers to target all the parts that do anim

grand edge
#

this one stardewvalley/mods/6358

rigid musk
#

Ah but a lot of those became accessible in 1.6 (like the trash can one referenced, and the wiped memory dialogue)

#

I think they have names now I just don't know what they are since the wiki hasn't been updated to document them yet

grand edge
#

checks date

gets one-shot

rigid musk
#

yeahhh

grand edge
#

damn ๐Ÿ˜”

rigid musk
#

looking at my to do list for 1.1.0 of my mod makes me not want to do anything heh

real aurora
rigid musk
#

Theoretically i dont have to but I do want to at the same time ... im just not looking forward to designing a bunch of different arenas and stuff because im lazy

real aurora
#

anyways, thank you so much! โค๏ธ

rigid musk
#

of course! sorry we couldnt find something for ya

#

maybe someone will make it in the future

grand edge
#

good news stardewvalley/mods/20938?tab=files

brittle pasture
#

that is the 1.6 port of MARGO's part of enchantments, and it mentions allowing swift on watering cans

latent mauve
rigid musk
#

lmao thats exactly what i was saying

latent mauve
rigid musk
#

none of it's locational, it's all from Stringsfromcsfiles for NPCs (not location? i think?)

#

specifically the ones like this

latent mauve
#

okay, yeah, any lines with NPC.cs at the beginning, you should in theory be able to add to your Characters/Dialogue/<NPCName> file with the same key and it'll use that one instead.

rigid musk
#

which I can see some of them have been made accessible (like the ones at the top, which im pretty sure are the ones that happen when you hit them with rocks with the slingshot)

grand edge
#

yeah i was having issues with those suckers too

lucid iron
#

the spouse dialogue is fine to just patch over if married i think

lucid iron
#

tho no poly od compat

rigid musk
#

I don't really care about poly compat so ... 0blz_dancedood

latent mauve
#

Valid point, you may want to put it in the MarriedDialogue file rather than just Dialogue if it doesn't work the first way. xD

ornate locust
#

Qi does not Share

#

or something, I dunno what you're actually working on

rigid musk
#

Honestly? Yeah he probably wouldn't heh

#

Doesn't seem like the type

#

Also yeah this is me looking for things I want to edit/patch for Qi so you're right

#

(while testing the spouse room thing his hearts went so low while i was switching days that he stayed in bed, and he gave the in bed dailogue line and i was like 'no no, this has to be different')

grand edge
#

yeah XD i got "I'm bored...." with the saddest face possible and i was like nuh uh

ornate locust
#

I figured it was a safe bet

rigid musk
#

I have so many projects to do... I gotta complete some of the smaller ones before actually working on Qi again though cause otherwise I will explode into a billion pieces

calm nebula
rigid musk
#

Like dumb foliage catalogue that I decided was 100% a good idea to do

calm nebula
#

You can't just patch over random NPC.cs strings in the main dialogue file and hope it works

ornate locust
#

I'm cutting that Gordian knot and making my guy not a romance

calm nebula
#

A lot of strings now have new keys you can use but not all of them

lucid iron
#

farmer proposes to another love interest, mr qi yeets them off the summit the next day

rigid musk
#

Honestly, good npcs that you can't marry are fun- oh m ygod chu

#

If I learn C# i could probably program something like that in ... but i dont think you can propose to someone while being married anyways

ornate locust
#

he just flirts with the wizard

#

(unless it's Rasmodia, he's gay)

lucid iron
#

well, you would have to specifically go to harmony wars against the poly mods blobcatgooglyblep

rigid musk
#

That... would not work very well with my mod heh he and the wizard have a history... a not good history

grand edge
lucid iron
#

i dunno if S&S's no poly solution is generic

#

or some C# stuff

rigid musk
ornate locust
#

If you use the East Scarp poly mod, it has like a flag to disable poly for your guy

#

but I don't know about the general poly-away component of it

#

It also lets you set dialog where they can say "I'm not into that" basically

#

so he could actually say "Sorry, I don't share" like a supervillain

reef kiln
grand edge
#

XDDD

ornate locust
#

It is in the context of that mod anyway. I have no idea how S&S throws a wrench into other ones

#

It also has options for stuff like "not with that particular other guy" and "well I'm into it, but they aren't"

rigid musk
#

When Ninokito played the mod a lot of people were like 'oh my god he's awful why would he not like the other people in town' and I was just sitting here trying not to cackle because yeah he is awful
he literally tracks everything the player does ... i dont think I need to say more

#

I also do put it as a preface in my mod...

ornate locust
#

he has an island lair

#

He is clearly a flavor of Bond Villain

rigid musk
#

You cannot fix him, please don't try heh

#

Instead of a cat he has a snake

#

(indigo is best girl though)

ornate locust
#

An island volcano lair is not a friendly residence

reef kiln
ornate locust
#

It DOES have dialog for it that amounts to "I am not poly". If they can't take that for an answer, that's... well, an average mod user, what am I saying

rigid musk
#

'your mod doesn't work with my poly mod'
'good'

ornate locust
#

dead-eyed flashbacks to getting the same bug report for ten years from a mod she made as a teen

#

(it wasn't a bug)

rigid musk
#

oh my god

reef kiln
#

I have not got very far with Qi yet. Have not even met them.

ornate locust
#

Me, a fresh-faced child: If I put it in the faqs, people will know! ....If I make it obvious and easy to see, people will know! ...if... if I... weeps

rigid musk
#

I got comments asking if my mod was compatible with SVE... one of the lists in what it includes is a heart event that happens... with SVE

#

I feel as though all mod authors feel your pain

rigid musk
#

I'd like to think I stuck with vanilla characterization pretty well

#

Minus the stuff with the wizard which is just personally how I think he'd feel about Rasm

#

(i think it aligns anyways)

grand edge
#

i made mods for dst a while ago (been burnt out from it) i understand ๐Ÿ˜”

hard fern
#

All the poly mod conversation up top .. i remember the beta of "polyamory" has feature to opt in/out of it, right?

ornate trellis
#

man, only three events left to type out then i got all my lore down for my npcs at least and jsut need to code, haha..."just"....

rigid musk
#

You got this!

ornate locust
rigid musk
#

Scripting events makes sure its all laid out at least

ornate trellis
#

idk how to code half my events yet but thats a problem for future void

hard fern
#

Same

rigid musk
#

Event coding is, frankly, my least favorite thing ever

ornate trellis
#

the underwater map pseudo battle will vaporize me the moment i open notepad++

rigid musk
#

I say that and I have the intention to add like four more events to my damn mod as well as several more alternate versions of them... I'm doing this to myself truly

ornate locust
#

oh god, yeah, when I was writing things up, I wrote so many events

rigid musk
#

and I dont even get super fancy with mine, I stick to pretty simple stuff because I will simply perish otherwise

ornate locust
#

and I turned so many of them into "maybe CT instead"

#

the second I touched event code

ornate trellis
#

....i also need to draw a 560x480px stone tree

#

unrelated to the map

hard fern
#

Wha

rigid musk
#

I coded like 23 events, and then there are alternate versions of a lot of them based on relationships, and then ones for SVE because i had to move positioning, and then i also did playerkilled events...

#

there's technically a lot more than 22 events in Qi's thing but I just said 22 because those are the main ones

ornate trellis
#

cuz rn its this sexy dummy pic

ornate locust
#

I have actually gotten coded exactly one event so far

rigid musk
#

oh my god

ornate locust
#

that's a big-ass tree

ornate trellis
#

i really didnt feel like drawing that atm

rigid musk
#

they suck so bad ... like I've gotten really good at it so I can do it much faster than when I first started (I remember having to test his 5 heart event .. .because for some reason i did that one first - like 40 times, now I only have to run through them maybe 5 or 6 times, 10 if im feeling like a perfectionist)

ornate trellis
#

and as to answer the general "why are you doing this to yourself" I say: ....because I can idk

rigid musk
#

I also remember learning that apparently you CAN move each action into separate lines... i dont do that, because then my jsons would be insanely long and i learned it the one way and doing it another will also send me to my early grave... but learning that after coding 22 events made me want to perish x2

ornate locust
#

I got a (simple) advanced move to work in my first event, that felt like an accomplishment! Even if he did just like... walk into a wall for a while on my first try

rigid musk
ornate trellis
ornate locust
#

the rest of the event goes on
Farmer walking into a wall over and over like a broken roomba

rigid musk
#

Advanced Move makes my head hurt. The only reason I can kind of understand it and use it is because Airyn so very kindly gave me a very indepth example as to how to use it that I search up and reference every time I need the command

ornate locust
#

I just wanted the farmer to walk over three and up one and you can do that with two simple moves, but you can do it in one advanced move, so I figured... baby steps on more complicated options?

ornate trellis
#

advanced move psshh in this house we suffer the single direction steps

rigid musk
#

the benefits for advanced move is that you can have other stuff going on in the background iirc

#

Which I needed specifically for one of the cutscenes that happens in the casino (player walking over to the slot machines and stuff while qi is doing stuff in the background)

#

if i didnt use the advanced move for both the player and qi the cutscene wasn't timed right pensiveclown

ornate locust
#

Timing, a curse

#

also a curse of me figuring out schedules, god it takes longer than I realized to walk anywhere

rigid musk
#

Doing the timing for the noises was also awful... hell figuring out the noises I wanted to use was awful too i had to go through so many of the game file sounds and listen to them

#

mmm... schedules...

ornate locust
#

Oh yeah I haven't actually had my game music on in ages, so I had to look up the msuic and its use to figure out what I wanted

rigid musk
#

I decided to be super extra with mine ... i mildly regret it but theyre done now so i dont have to think about it

#

i use foobar to listen to them but to find the ones that were right for like... casino slot machine noises i had to go through and listen to stuff

#

and foobar just repeats the sounds so if i played one i would hear it over and over again until i paused it or tabbed to a different one

#

i can still hear the sound of coins in my sleep

ornate trellis
#

i jsut run my event a million times

ornate locust
#

I know there's a list of all the sounds on a spreadsheet, but it doesn't let you hear them

rigid musk
#

well I still have to do that just to make sure I coded it right heh

ornate trellis
#

me is caveman

rigid musk
#

that's what foobar is for B)

ornate locust
#

but Youtube has the music at least

ornate trellis
#

i only know foo dogs

ornate locust
#

which is my main worry, I don't THINK I'll need too many sounds

rigid musk
#

you can unpack the audio files with it and it lists them with their internal names and you can play em

rigid musk
ornate trellis
#

i could have them if id just dare to ask pathos to the github with the game files or something

ornate locust
#

I don't plan on very exciting events ngl. He's a talker, not a fighter

ornate trellis
#

what ive realized while typing out all the events is that all my npcs have some sort of healing arc going on :I

ornate locust
#

And the sounds I can think of are ones I could just find on a list, I don't need a very exact sound

rigid musk
#

I mean I wouldn't say Qi's events were very exciting either but i still used a plethora of sounds there

rigid musk
#

it was mildly hard writing cutscenes for qi because he doesn't really have much of an arc to begin with. That man will change only in the ways that he believes are perfection... which means he's not really going to 'develop' much, which makes cutscenes kinda hard

real aurora
ornate locust
#

You just gotta arc something else if you can't arc your guy

#

I've got like "talking about a past arc" and also "taking the mayor on an arc" in mine

ornate trellis
#

i wonder if theres an npc out there with an anti-arc

#

or backwards arc w/e you wanna call it

ornate locust
#

"I can make them worse"

rigid musk
#

I mean most of Qi's cutscenes are either "elaborating" (heavy quotes, he really just t poses on the player and tells them to get good) on the things he does around the valley, or showing his relationship with Rasm... or generally showing fully what his character is like anyways

ornate trellis
#

i love t posing Qi

rigid musk
#

I see it every time I open that file

ornate trellis
rigid musk
ornate trellis
#

i laughed louder than i should

rigid musk
#

changing the Qi Crow to that sprite would be a true nightmare

ornate locust
#

just imagining the meme with the guy running away from the floating guy but with farmer and Qi

lucid iron
#

Wow it's him the levitate emoji

#

๐Ÿ•ด๏ธ

rigid musk
ornate locust
#

Make a fence of them