#archived-modding-development

1 messages · Page 23 of 1

solemn rivet
#

@deep pilot yeah, I re-wrote the code for the geo calculations. Also, like I said earlier, since geo is divided between small, medium and large AND we have typecasting, the extra geo should be close (but not necessarily exactly) to the amount on the spreadsheet

buoyant wasp
#

@rain cedar - how would @leaden hedge get the relic randomization on his side since it isn't in rnd.js? or basically would it be that when you see a relic event occur, you need to look at playerdata.instance to get it?

#

(in which case I can do that easily enough just by re-requesting the relic data)

rain cedar
#

Re-requesting relics makes sense

#

Relics aren't pre-determined, even though they are the same every time

#

So I can't really put them in the rnd.js

leaden hedge
#

I can just send those 4 vars

#

on request

buoyant wasp
#

yeah, i was thinking about just adding those to the SocketServer

#

it's easy enough to do

#

i can take care of it, mostly just needed to know the "right" approach to getting the data 😃

#

thanks hollowdab

young walrus
#

yo wyza, ready to try shit out? lol

buoyant wasp
#

sure, gimme like 2 minutes

solemn rivet
#

okay, so here's an idea for the bonfire mod

#

make the relics behave like soft levels

#

like

#

Black Pearls in salt and sanctuary

#

you can trade them for a free level

#

instead of trading them with Lemm for geo

hazy sentinel
#

hmmm

#

infinite relics 🤔

solemn rivet
#

but if you can duplicate them for geo, you'll get infinite levels either way

hazy sentinel
#

ye

#

but i feel like all this does is allow people to save up relics until the geo cost is inhibitive and just save a bunch of money by just trading a hallownest seal for a level which would otherwise cost a couple thousand geo or something

solemn rivet
#

makes sense

leaden hedge
#

except you wouldn't make free levels increase geo cost hollowface

rain cedar
#

Yeah

#

No reason to hoard them if it doesn't increase the price

solemn rivet
#

makes sense²

#

which is very easy to do btw

solemn rivet
#

so... How do I keep track of relics?

#

is it in PlayerData?

leaden hedge
#

yes

#

think its trinket1 through 4

solemn rivet
#

oh

#

I searched for relic, journal and whatever

#

thanks!

buoyant wasp
#

trinket1-4 is correct

solemn rivet
#

yup

#

just found it

#

so, for now I'm simply gonna use it as it is

#

but later I'm gonna have to figure out how to make lemm pay 0 geo for them

leaden hedge
#

find me the lemm fsm and ill look into it

solemn rivet
#

ok

solemn rivet
#

does this help?

leaden hedge
#

its probably item cost

#

findt that game object

deep pilot
#

Isn't item cost string in one of the string assets?

#

EN_Prices if I'm correct?

buoyant obsidian
#

yep, in resources.assets

leaden hedge
#

thats very weird if thats the case

#

that'd imply every language could have different prices

buoyant wasp
#

@leaden hedge - updated PlayerDataDump.dll that handles the relics command. (the code on github is now updated on the master branch).

solemn rivet
#

I don't think it's item cost

#

there are two item costs, and both deal with color

leaden hedge
#

check the Item Cost variable

#

anything yellow is a literal, anything blue is a variable

solemn rivet
leaden hedge
#

nah whatever had activate confirm

#

show thats tree

solemn rivet
leaden hedge
#

wow nice every shop is generic

solemn rivet
#

I had forgotten which FSM was this, so I had to look through them again

#

xD

leaden hedge
#

does that appear on room load?

solemn rivet
#

yup, it got dumped when I entered the Lemm scene

leaden hedge
#

if so doing fsm.FsmVariables.GetFsmInt("Item Cost").Value = 0

#

should do it

#

although theres probably 4 of them

#

one for each trinket

solemn rivet
leaden hedge
#

does that look the same

#

oh wait

#

the first one is for the actual list

#

and is looking at the rlc fsms

solemn rivet
#

they all look like this

leaden hedge
#

try

    fsm.FsmVariables.GetFsmInt("Cost").Value = 0;
    fsm.SetState("Init");
#

for the Rlc1 -> 4

#

wait a second

#

@solemn rivet check ShopItemStats in dnspy

#

specifically specialType and cost

#

you should be able to change that code to say

using System;
using UnityEngine;

// Token: 0x02000792 RID: 1938
public partial class ShopItemStats : MonoBehaviour
{
    // Token: 0x0600253E RID: 9534 RVA: 0x0001BD70 File Offset: 0x00019F70
    public int GetCost()
    {
        if( specialType >= 4 && specialType < 8)
            return 0;
        return this.cost;
    }
}
#

and all relics should cost nothing

solemn rivet
#

Oh

#

That's simpler

opal shuttle
#

The installation instructions of the randomizer mod tell me I need the modding dll but I can't seem to find it

#

Can anyone help?

dapper folio
#

it's the Modding API in another folder

#

Seanpr & Firzen - Modding API

#

contains the assembly dll required for any mod that works off the API

opal shuttle
#

There are folders in the modding api zip and in the randomizer zip that already exist in the game files

dapper folio
#

yeah, because you have to overwrite the game files with the modded files

#

the folder setup is to make it as easy as dropping into the install folder instead of having to go deeper

#

drag and drop the modding api zip's data folder into the game's install folder so that it merges with the game's data folder

#

then do the same with the randomizer zip's data folder

#

replacing any files the computer says are already in there

opal shuttle
#

Okay it works, thanks

#

What are the differences between hard and easy?

buoyant wasp
#

the number of difficult skips that will be required

#

or rather, could be required

solemn rivet
#

With hard you basically need to be prepared to do some serious sequence breaking

opal shuttle
#

I got monarch wings as the first item

#

I have ismas, crystal heart, dash and dream nail before even reachingcity of tears

summer tapir
#

that means you're in go mode 😃

#

you can complete the game with these items

#

oh wait

#

you miss the claws

hazy sentinel
young walrus
#

Hey look, you found my charm

hazy sentinel
young walrus
#

that happens with the spells so that they will still exist where they've been moved

#

you can pick up the spells like this again, but it won't do anything except waste time

rain cedar
#

Spells probably don't show up in inventory either

#

It's kinda sloppy how I'm doing it

young walrus
#

yeah they don't

buoyant wasp
#

oh, hmm, that's useful

leaden hedge
#

yeah its because fireballLevel never gets incremented its _fireballLevel

buoyant wasp
#

at least there you can see when stuff has changed inside the folders

leaden hedge
#

yeah but it shows everyones real name hollowface

buoyant wasp
#

yes, but that's there regardless

#

not much for it with this system

#

unless you setup a alternate google account

#

i was just pointing out that the issue the main screen's "last modified" date being misleading can be partially solved by using the little "!" icon

dapper folio
#

you guys can change your shown name so that google only shows your first name (or username if you prefer)

summer tapir
#

@wyza how do I hide stuff in the new tracker?

#

or make it smaller

buoyant wasp
#

depends on which you want, but most of it is "right-click -> settings"

#

if you don't want an icon at all then you drag that icon into the red box labeled "disabled"

summer tapir
#

I did that but somehow its not working

#

nvm

#

now its hidden

buoyant wasp
#

yeah, in edit mode, it doesn't hide (since if it was, you couldn't find it to unhide it)

mortal kelp
#

Can I get a link for the randomizer?

leaden hedge
#

check pins

#

its the google drive link

summer tapir
#

thats not right?

#

because the items where still there on my stream

young walrus
#

drag the items there

#

individually

#

not just the whole box

buoyant wasp
#

^

summer tapir
#

ohh

buoyant wasp
#

suppose i could add an option to disable an entire box

#

that wouldn't be terribly difficult to do

modest ice
#

How do I install mods on mac?

leaden hedge
#

most of the mods are version specific

#

if the mod has a mac version it should come with instructions

#

but most don't

modest ice
#

Ok, thank you!

summer tapir
#

can you maybe add an option to reduce the spacing between items?

buoyant wasp
#

they are already only like 2px apart

#

can't really make the spacing smaller

summer tapir
#

but if I reduce the size, the space gets bigger

buoyant wasp
#

mmm

#

that shouldn't be

young walrus
#

you can just resize the browser capture in obs

summer tapir
#

maybe its just not well displayed when the charms are empty

young walrus
#

that'll keep the proportions

buoyant wasp
#

yes, cause the size of the dot for a missing charm is much smaller

summer tapir
buoyant wasp
#

but the image for that dot is still the size of a charm

#

hmm

#

no, that's not right

#

k

#

i can fix that

young walrus
#

what'd you change the size of the charms to?

summer tapir
#

thanks cirLove

buoyant wasp
#

yeah, what scale?

#

guessing that's 20?

summer tapir
#

15 right now

buoyant wasp
#

k

young walrus
#

wyza, was that bug with the items fixed?

buoyant wasp
#

should be

young walrus
#

need to redownload anything?

buoyant wasp
#

if you're still running it locally, yes, if you've switch to the normal URL (the github.io one), then no

young walrus
#

cool cool. i'm running the github one now

#

since why not

solemn rivet
#

@modest ice I can make a mac version of bonfire if you'd like

modest ice
#

Thank you! Too generous of an offer. I would love to get that mod, however it seems as if the port would sap both time and resources. @solemn rivet

#

I should also mention that I'll be purchasing a new computer soon, so the mod would be useless

buoyant wasp
#

@leaden hedge - is there an event we can hook into to send when charmSlots and charmSlotsFilled changes?

leaden hedge
#

the set / get int functions

buoyant wasp
#

hmm

#

the only then i get sent when i equip a charm is the "equippedCharm_#"

#

oh

#

right

#

it's filtered

#

derp

leaden hedge
#

ye

solemn rivet
#

@modest ice wouldn't be that much of a hassle

#

and it would also be good for any other mac users

#

the only reason there isn't a port already is because I don't have a way to test it

hazy sentinel
#

that tag looks broken

rain cedar
#

Yeah he tagged the wrong guy

solemn rivet
#

fml

#

thank you for pointing that out

buoyant wasp
keen quarry
#

why did i get pinged

solemn rivet
#

my fault

#

mistagged you

keen quarry
#

oh okay pff

#

i was a bit confused

#

carry on!

solemn rivet
#

does charmUpdate() run every frame if you're sat on a bench?

leaden hedge
#

probably not

solemn rivet
#

I think I've found another way, anyway

#

I needed a code to run somewhat frequently and reliably, but not every frame

#

so I put it in BeginScene()

#

if that doesn't work, I'll just use CharmUpdate()

#

ir works

#

okay, so soft levels are go

#

sadly it breaks old saves because of how levels are calculated

#

well, it doesn't "break", it just resets your level counter while retaining your stats

solemn rivet
#

I'll make the drmfree version and upload both of them to the gdrive in about 9 hours (gotta sleep)

summer tapir
#

Is the notch-update now "officially" in the randomizer or a seperate mod?

rain cedar
#

Separate mod

#

When I stop being lazy I'll make a readme and get it in the drive

summer tapir
#

Gonna download it when Im off from work 👍

#

I think mickely did one or two runs yesterday. I think he liked it

plush notch
#

speaking of the randomizer

#

sorry if it has been asked before, but why aren't rancid eggs, keys and pale ores considered for the randomized pool?

summer tapir
#

if it would be included into the charm pool, it would be very annoying to look for every possible spot to find the one item you need.
On the other hand, if it would be added to the artifact pool, it would kinda screw up the geo route and would maybe lead to geo grinding for the lamp etc

rain cedar
#

Mainly just because they're not unique pickups

#

Can't really put them in without a list of where they all are and I'm not gonna be the one to make that list

plush notch
#

they're all listed on that interactive map someone made

#

but yeah I guess

#

on the other hand it would make for an interesting "impossible" setting for the randomizer

rain cedar
#

That map isn't good enough

#

I would need a list of scene names

plush notch
#

Don't know what that is in this context

rain cedar
#

The internal names of the rooms

plush notch
#

Oh yeah, that would be annoying to find

#

well I was just curious more than anything

#

although yesterday when I did a randomizer run, I was kinda disappointed that some of the things weren't in the pool

#

like white fragments or collector's map

#

the insane sequence breaking I was able to do by obtaing the abilities early was very fun in its own right, though

summer tapir
#

do you mean pale ore or the kingsoul with white fragements?

rain cedar
#

I'm a bit burnt out because I've been working on it every day for close to a month

#

But I'll add more items to it later this week, probably

#

Just not immediately

plush notch
#

I mean like I said, I find the mod very fun already

#

it was just weird that pale ore wasn't in the pool, for example

#

doesn't seem that different to the things that already are

rain cedar
#

I think nail arts and kingsoul stuff are higher up on the todo list than ore

plush notch
#

makes sense

#

I guess I mentioned rancid eggs because as of now, the pool doesn't really have any bad items in it

#

and part of what makes randomizer runs fun is when you're struggling to reach a certain item, only to find something useless there

rain cedar
#

Like 3/4 of the charms are bad items

summer tapir
#

nods

plush notch
#

I mean

#

sure

#

but it still counts towards getting a charm notch from salubra, for example

summer tapir
#

also it kinda sucks if you look for money and grab a kings idol which turns out is a wanderes journal cirSmug

plush notch
#

true

summer tapir
#

hmm, when you try to "speedrun" it, you usually ignore those anyway

plush notch
#

shit I feel bad cause it seems like I came here only to complain

summer tapir
#

we had that discussion yesterday. Thats why there is right now a seperate mod to give you automatically charm notches, as more charms you pick up

solemn rivet
#

@plush notch don't worry, we all came here only to complain

plush notch
buoyant wasp
#

the notch mod is great, still vote that makes it into the randomizer vanilla

young walrus
#

o/

#

agreed

#

it was fun to have in the rando

#

didn't feel too op

#

made collecting "garbage" charms more rewarding

buoyant wasp
#

anyway, i'm gonna compile the relic/mask/notch/egg/ore (basically secondary items) list with scene names sometime after grimm troupe. My luck is that they'll move some of them or something and i don't want to redo the list

solemn rivet
#

okay, finally, Bonfire Mod has been updated! This update includes the ability to level up using Relics instead of Geo (and makes them worth 0 geo when trading with Lemm)

#

if anyone's interested in a mac version, please DM me

rain cedar
#

@solemn rivet Taking a pretty big performance hit with that mod

#

~100 fps instead of 300+

buoyant wasp
#

think i just figured out how to make it so that you won't need to copy the URL back and forth to configure the overlay and to make the overlay update in real time when moving stuff around in chrome. will have to investigate more tonight... hollowdab

solemn rivet
#

that is weird... My pc is pretty bad (I usually get around 80 fps) and it doesn't impact me so badly

#

I'll remove all "write to debug" things

#

see if it helps with performance

rain cedar
#

Doesn't seem much better

#

Not a big deal because my monitor is 60 hz anyway

#

The only reason I even noticed is I couldn't make the jump in king's pass after the first mosquito

solemn rivet
#

maybe you have the dump fsm mod installed?

rain cedar
#

I don't

solemn rivet
#

weird...

#

but thanks for telling me!

#

I'll see if I can find anything behaving weirdly

rain cedar
#

Just loaded up vanilla to be sure it's the mod causing it and I'm at 375 fps

solemn rivet
#

hm...

#

it shouldn't... The UI is only displayed while at bench/paused

rain cedar
#

I can take a look if you want

#

Where are you changing things?

solemn rivet
#

and the only thing running out of the UI is hp/geo dropped calculations in BeginScene()

#

which should only run once per scene....

#

@rain cedar GameManager.BeginScene() (enemies' hp/dropped geo), HeroController.CharmUpdate(), .Attack(), .doAttack() (nail damage, crit calculations, atk speed)

#

LevellingSystem is the class responsible for, well, the levelling

#

and ModData contains all variables in the mod

#

aside from that, there's a small change in PlayerData.UpdateBlueHealth() to add blue masks, NailSlash.OnTriggerEnter2D() to show crit effect and SpriteFlash to add a sprite flash for crit

rain cedar
#

You're running Resources.FindObjectsOfTypeAll<Font> every time in LevellingSystem.OnGUI

#

Just run it if the fonts are null

solemn rivet
#

oh

#

but should it tank fps even if GUI is not showing?

rain cedar
#

Yes, you have it outside of your if statement for showing the GUI

#

So it always runs

solemn rivet
#

ffs

#

thanks

#
        {
            foreach (Font font in Resources.FindObjectsOfTypeAll<Font>())
            {
                if (font != null && font.name == "TrajanPro-Bold")
                {
                    this.trajanBold = font;
                }
                if (font != null && font.name == "TrajanPro-Regular")
                {
                    this.trajanNormal = font;
                }
            }
        }```
rain cedar
#

Should make it a lot better, yeah

solemn rivet
#

if that doesn't work, I'll just put it inside the if for the GUI

#

should at least let the game run fine while not levelling up

rain cedar
#

It worked, I'm getting normal fps

solemn rivet
#

thank you so much Seanpr!

#

updated the links in the gdrive

solemn rivet
#

found a bug

#

0 hp enemies aren't dying in one hit

#

prolly due to me messing up with HP

#

will just add a clause to leave it as is if the enemy has 0 hp

buoyant wasp
#

how can an enemy have 0 hp?

#

does 0 != dead?

solemn rivet
#

those little flies that spawn when their mother is killed have 0 hp iirc

buoyant wasp
#

boggles

solemn rivet
#

my mistake

#

those have 5 hp

#

now I know what the issue was

#

they have 5 hp, so it becomes 5*1.4=7 hp with bonfiremod

#

that's why they needed 2 hits to die

rain cedar
#

So the issue is it's working exactly as it should?

solemn rivet
#

yes and no

#

for some reason they don't behave like they took damage at all

#

they probably don't have it coded, since they should always die in one hit, no matter what

#

so I thought the game was bugged

buoyant obsidian
#

Yeah Lightbringer has the same issue I think

#

they're not really coded to take small amounts of damage

solemn rivet
#

I can just change their HP to 1, like every other "kill me pls" enemy

#

I think I'll do that

fair rampart
deep pilot
#

Saying that in all caps isn't to make any difference.

#

If they want to put it on moddb, they will

#

If they don't, tough luck

buoyant wasp
#

we can't

deep pilot
#

Cause of licensing issues, right?

buoyant wasp
#

several mods are changing the dll for the game

#

so putting it on moddb would be putting the game's dll up there

deep pilot
#

Yeah, I remember that convo from earlier

fair rampart
#

So how can I find the mods sorted properly here?

buoyant wasp
#

click on the pinned messages and go to the drive?

#

like we've said

#

it isn't like there is a ton of them

#

it's like...12?

deep pilot
#

Several of them also only work on previous patches as well

buoyant obsidian
#

Some of the mods have even been DMCA'd and are only distributed secretly

buoyant wasp
#

^

fair rampart
#

DRIVE link?

buoyant wasp
#

it's pinned

#

look at the top of discord

#

there is a pushpin icon

#

click it

#

magic happens

deep pilot
#

There's really only one of those DMCA'ed mods which hasn't been reincorporated in the new Debug Mod for that matter

fair rampart
#

Current Mods:
110% (kcghost)
Blackmoth (Gradow)
Bonfire (Gradow)
Cut Content (kcghost)
Debug Mod (Seanpr)
FSM (kcghost)
Glass Soul (753)
Lightbringer (753)
Modding API (Seanpr & Firzen)
Player Data Tracker (KDT)
Randomizer (Seanpr & Firzen)
Unending Dreams (MaxTCC)

deep pilot
#

Yes, and?

buoyant wasp
#

he learned copy and paste

fair rampart
#

Where's boss rush mode

deep pilot
#

That was one of the DMCA'd mods

buoyant wasp
#

yup

fair rampart
#

myluck

dapper folio
#

if you read the rest of the pin...

#

Kein's mods are no longer on the drive folder. Most of his mods have been remade in Seanpr's Debug Mod, except for Boss Rush, which I will provide to anyone upon request in a direct message.

buoyant obsidian
#

You can still get it, but only through basic level reading comprehension

buoyant wasp
#

@dapper folio - but reading is hard

dapper folio
#

I bolded the key words for a reason

buoyant wasp
#

oh? i thought your keboard keys just got stuck randomly around whole word boundaries

#

or you were trying to send a coded message

dapper folio
#

maybe

fair rampart
#

I'm not trusting someone who says he's providing a direct link, mods upload into moddb are checked by moderators and scanned for trojans

#

Gotta link this discord to team cherry

#

Bye

dapper folio
#

TC already knows

deep pilot
#

Did you not see that there are literally Team Cherry members as part of this discord?

buoyant obsidian
#

Mods uploaded to moddb aren't really scanned at all.

deep pilot
#

Some people just can't be reasoned with maggot

dapper folio
#

also, TC has stated that they prefer this over having everything on moddb

buoyant wasp
#

no loss there

#

bye

dapper folio
#

also also, what's the difference between me uploading the mod directly through discord and providing the drive folder?

deep pilot
#

That person apparently thinks that moddb is the only way to get safe mods

young walrus
#

bahahaha

heavy geyser
#

Download count and bragging rights

deep pilot
#

So they won't take mods from either GD or Discord DM

buoyant obsidian
#

They probably downloaded "Minecraft server hack" from some direct link and it gave them a virus

#

so now they're afraid

dapper folio
#

eh, whatever, I'm gonna go get some food

deep pilot
#

Doesn't mean they should be dumb about it

buoyant wasp
#

i mean, to a certain extent, a little bit of caution isn't bad

dapper folio
#

but it's all zip files, those can be scanned before being interacted with

buoyant wasp
#

yup

young walrus
#

UPLOAD TO MODDLKJAJGHWEIW: PLOX NOW OMG DO IT IM YELLING

trim totem
#

I kinda want them to send a message to tc, just to see what happens

deep pilot
#

Considering the devs have linked the Discord in at least one of their blog posts, you'd think they'd realize the Discord is relatively trustworthy

#

But based on the fact they're going to personally message TC, they clearly didn't see that blog post

buoyant wasp
#

"some guy on this discord tried to give me exactly what i asked for"

young walrus
#

also also considering a bunch of us have downloaded and used those exact mod links with no issues.....

buoyant wasp
#

"it's a HACKING TRAP"

young walrus
#

lol wyza

buoyant obsidian
#

"SUE DISCORD SO THEY UPLOAD ON MODDB"

young walrus
#

lol

buoyant wasp
#

hehe, well, that was a fun diversion, but now back to work sadly

young walrus
#

IM TELLING ON YOU GUYS WITH THE DEVS

deep pilot
#

I mean, that same person complained days ago about how they refused to use Discord

young walrus
#

WHO HAVE SHOUTED OUT DIFFERENT MODS BEFORE

deep pilot
#

So I wasn't expecting them to come back, but lo and behold they did today

buoyant obsidian
#

Oh I remember him now

deep pilot
dapper folio
#

oh yeah, that guy

solemn rivet
summer tapir
#

@buoyant wasp how do I get back to the edit-page for the tracker?

#

if I copy the shortened link from OBS its just the "white" preview page

summer tapir
#

nvm

#

got it

#

hmm something doesnt seem right

#

bottom is how it supposed to look like

#

or I have it setup on the page

#

nvm, I see the mistake

solemn rivet
#

how can I catch a variable change?

#

say I want a certain method to be called when hornet1 is killed

#

seems like I need to understand how hooks work...

rain cedar
#

Look for hornet1Defeated in SetBool

solemn rivet
#

btw

#

should I prefer SetBool/Int/whatever instead of manually setting the values?

leaden hedge
#

depends on if you want other people to be able to respond to it with their own hook

#

if your not making a modding api mod, it literally doesn't matter

solemn rivet
#

I've changed it all to use Set/Add/Increment/Decrement since I plan to make it compatible with the modding api

#

back on track, how would I look for a bool in SetBool?

leaden hedge
#

just compare the parameter it sends in

solemn rivet
#

I mean, yeah, but how would I know the game is even calling SetBool?

leaden hedge
#

are you using the modding api?

solemn rivet
#

no...

leaden hedge
#

ok

#

just edit SetBool

buoyant wasp
#

@summer tapir - The containers for icons are separate entities. They don't interact with each-other or are even aware of each-other when not in editing mode. (the ability to drag/drop/sort is where they get their knowledge of other containers, so in non-edit mode, that doesn't exist). If you found a good way to make it work the way you like, great, if not I can see if I can make it so that you can do it the way you are. I can see a reason to make a container wider without having the icons spill over (basically a thing to say "new row after X icons", like 9 for the charms.

solemn rivet
#
    {
        FieldInfo field = base.GetType().GetField(boolName);
        if (field != null)
        {
            field.SetValue(PlayerData.instance, value);
            if (ModData.OnSetBool != null)
                ModData.OnSetBool();
        }
        else
        {
            Debug.Log("PlayerData: Could not find field named " + boolName + ", check variable name exists and FSM variable string is correct.");
        }
    }```
I keep getting ambiguity between ModData.OnSetBool and ModData.OnSetBool when trying to compile... Any ideas?
leaden hedge
#

what are you even trying to do

#

just do ModData.OnSetBool(boolName) right at the start

rain cedar
#

It looks like you're trying to use events

#

I don't see why that would be necessary here

solemn rivet
#

I thought that I could attach a method to SetBool if I simply subscribed it to an event and made SetBool trigger that event

rain cedar
#

But why use an event?

#

Are you ever gonna need this to hold multiple functions?

solemn rivet
#

but I could simply run that event inside SetBool

#

duh

#

*method

#

yeah, makes no sense

#

sorry

summer tapir
#

dirty spot

solemn rivet
#

also, Sean, do you know if there is an event related to when you pick up a relic and it showing the relic's name and icon on screen?

leaden hedge
#

you can look at setInt

#

for trinket1 -> 4

solemn rivet
#

I know, but I want to show on screen

#

"got relic"

#

just like the game shows when you pick up a relic

leaden hedge
#

it isn't an event

#

its an fsm

solemn rivet
#

why am I not surprised...

#

okay then

#

I'll look for it

summer tapir
#

the notch mod is 👌

solemn rivet
#

well, turns out calling OnSetBool() in PlayerData.SetBool() breaks the game

#

[20:04] Gradow: why am I not surprised...

rain cedar
#

Put a try catch block on it and log the error

solemn rivet
#

okay, got it

leaden hedge
#

btw @rain cedar CharmIconList.GetSprite(int)

#

is what changes the icon for pickups

rain cedar
#

Alright, cool

leaden hedge
#

although it won't work for none charms obviously

rain cedar
#

Wouldn't surprise me if relics were in there too

#

Since it's the same pickup text/image placement

solemn rivet
leaden hedge
#

ah the charms create an object though

#

where as this doesn't

#

I think this prefab must have a few sprites on it

#

if this never gets reset

#

you could actually get alot of stuff to work nicely

#

just by changing the transition targets

solemn rivet
#

I tried using this to make the "got Wanderer's Journal" overlay to appear, but didn't work sadgrub

#

because I want to reward player progression with a free level, but I also want the player to know they just got a level

leaden hedge
#

was it untagged object with shiny control FSM?

solemn rivet
#

yup

leaden hedge
#

you probably need a pickup in the scene for it to work

#

1 sec

solemn rivet
#

oh

leaden hedge
#

or you can just copy it

#

although actually

#

you couldn't because you could pick them all up hollowface

solemn rivet
#

I wish it was as simple as broadcasting an fsm event

leaden hedge
#

@rain cedar when does SceneChanged get called?

rain cedar
#

At the end of LoadScene and LoadSceneAdditive

#

I don't even use that hook for anything

#

UnityEngine.SceneManagement.SceneManager.activeSceneChanged is more reliable

leaden hedge
#

this should work for everything except spells

#

although stuff thats in a chest doesn't seem to work atm

rain cedar
#

Probably because it's not there on scene load

leaden hedge
#

yeah

#

the chest has to say hey

#

im open

#

then spawn it

#
        public void sceneChanged(Scene from, Scene to)
        {
            PlayMakerFSM[] fsms = UnityEngine.GameObject.FindObjectsOfType<PlayMakerFSM>();
            foreach (PlayMakerFSM fsm in fsms)
            {
                ModHooks.ModLog(fsm.FsmName + " | " + fsm.name);
                if (fsm.FsmName == "Shiny Control")
                {
                    ModHooks.ModLog( "SHINY CONTROL: CHARM" );
                    ModHooks.ModLog( fsm.FsmVariables.GetFsmBool("CHARM").Value.ToString() );
                    fsm.FsmVariables.GetFsmBool("Charm").Value = false;
                    fsm.FsmVariables.GetFsmBool("Mantis Claw").Value = true;
                }
            }
        }
#

vars of interest

charm,
charm id,
dash cloak,
mantis claw,
super dash,
pure seed,
Trinket Num,
#

so I don't think it'll work for djump or shade cloak either

rain cedar
#

Yeah, I'm looking at the fsm gradow posted

#

Makes sense those aren't in there

#

They're not shiny items

#

Although neither is super dash so idk

leaden hedge
#

quake 1 is there for some reason

#

dunno if that actually works though

rain cedar
#

Weird

leaden hedge
#

but I guess every shiny pickup working as intended

#

is better than none

#

and you can just keep spells and djump / shade cloak as is

#

I assume the child object, Inspect Region that it gets in Init, has a playmakerunity2dproxy

#

so can probably hook into there to fix chests

#

also pretty sure this could have been used to fix ismas

#

by changing PD Bool Name to whatever ismas would give

rain cedar
#

Maybe

#

The way I did it is better, though

#

Gotta overcomplicate things

leaden hedge
#

if it works it works

rain cedar
#

I'm returning false for hasAcidArmour whenever you're in the isma's tear room

#

Manually switching the acid fsms to look for a special _true value if applicable

#

And deleting the shiny item if you have what isma's is swapped to

#

It's messy as fuck

buoyant wasp
#

@rain cedar - something weird i've seen in the logs:

Sharing violation on path C:\Users\user\AppData\LocalLow\Team Cherry\Hollow Knight\ModLog.txt
   at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0 
   at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0 
   at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0 
   at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000] in <filename unknown>:0 
   at Modding.ModHooks.ModLog (System.String info) [0x00000] in <filename unknown>:0 
at blahblahblah
rain cedar
#

Guess there's multiple mods trying to log at the same time

#

Shouldn't be hard to fix

buoyant wasp
#

Probably because this is happening on application close. I'm doing a log on close of 2 distinct items.

modest ice
#

@solemn rivet If you do create it send me a download link and I'll beta test.

#

The bonfire port that is

buoyant wasp
#

If anyone wants to play with a new feature for the overlay, I came up with a solution wherein you can change stuff in chrome and have it instantly reflected in OBS without having to re-copy the URL. Here's the beta URL: https://rawgit.com/iamwyza/HollowKnightRandomizerTracker/dev/Index.html (you can take your existing ?editing=true&config=blahblah) and it'll load it up. You'll need an updated PlayerDataDump.dll (see below). One other difference is that HK needs to be running when you edit your layout now. (because the way I'm doing cross browser communication and profile storage is via PlayerDataDump, which only runs when HK is running). The updated tracker also now has a notion of "profiles". Each profile's settings are stored independently in your %APPDATA%\LocalLow\Team Cherry\Hollow Knight\ folder (next to your saves).

elder briar
#

Hey

#

Doesn anyone know to can i get infinite health

#

Just for one boss fight

#

No actually sorry

#

Doesnt anyone know how to put benches

#

Next to boss fights

#

Since obviously retarded devs couldnt figure out how

hazy sentinel
#

try gitting gud

buoyant wasp
#

lol

rain cedar
#

None of the bosses are even that far from benches

buoyant wasp
#

there is a debug mod, that lets you do a variety of things, like placing dreamgates almost anywhere, infinite health, respawning bosses, etc

rain cedar
#

Soul Master is probably the worst but he's easy

buoyant obsidian
#

not enough people know about the secret wall to Soul Master

buoyant wasp
#

you mean the one below the elegant key door?

deep pilot
#

I'd argue that Traitor Lord (if you consider them to be a boss) is the worst in terms of placement relative to a bench

#

Cause to get to Soul Master once you open all the shortcuts, you only have to deal with 1 teleporting guy if you know about the secret wall and 2 if you don't

tawny lynx
#

Soul Master was really long for me, even after (I think) I got all the shortcuts.

#

I died several times along the way.

deep pilot
#

There's only 1 teleporting guy along the entire path though

tawny lynx
#

I had two. Don't know what you mean with the secret wall.

deep pilot
#

Left side of elevator shaft leading up to the Elegant Key door has a breakable wall

tawny lynx
#

Wait, three guys actually. Two at the same time.

deep pilot
#

Leads straight to the bench

tawny lynx
#

Hmm, I guess I never found that? I don't remember now.

deep pilot
#

And if you go past the Soul Warrior mini-boss room, you don't spawn one of the teleporting guys

#

So there's literally only the one teleporting guy that spawns when you head up after the Soul Warrior mini-boss room

tawny lynx
#

Okay. Might check it out when I try to finish the game. I can't remember if I beat Soul Tyrant yet.

deep pilot
#

Traitor Lord is much more annoying cause of that platforming room that you're forced to go through from the closest bench (Queen's Garden stag station)

tawny lynx
#

I got Traitor Lord on my first try, so I didn't notice that. 😛

deep pilot
#

With Soul Sanctum, you can just move quickly and avoid all the enemies

#

Teleporting guy won't even get a single shot off if you go fast

tawny lynx
#

Yeah but I wasn't as experienced in the game when I tried it the first time. Hopefully my second playthrough will be smoother.

#

So I kept running into the enemies/their projectiles.

deep pilot
#

Sure, Traitor Lord is the easier of the two in terms of the boss fight itself, but the walk-back if you do die to it is more annoying than the walk-back to Soul Master imo

tawny lynx
#

Yeah but you also get there much later in the game, so you're more familiar with the platforming hopefully. I think that's why it doesn't stick in my mind.

deep pilot
#

Except the level of platforming you have to deal with in Queen's Gardens is of greater difficulty than most other areas in the game, and that room in particular loves to lose me 1-2 health before getting to Traitor Lord

tawny lynx
#

I'm not going to argue that, I'm just saying that earlier on you're less experienced, so objectively simpler challenges can become subjectively harder as a result.

deep pilot
tawny lynx
#

If memory serves, the last bit was the hardest for me, but even that wasn't too bad.

deep pilot
#

This is way more likely to cost me health than traversing the whole of Soul Sanctum after the shortcuts are opened

tawny lynx
#

It's different for everyone I guess.

deep pilot
#

Only place a teleporting guy spawns is the white triangle

tawny lynx
#

Ah, I was misssing that first secret passage. But then I thought there was also one in the big area before the triangle too.

#

I had to fight two at once.

#

Or deal with one first and move on.

young walrus
#

there is if you go right

#

don't go right

#

go up the elevator on the left

timid tiger
#

damn dude I'm sure there's at least 5 on the way in

#

tho you can kinda skip some

deep pilot
#

There's a bunch you have to deal with in order to open the shortcuts

timid tiger
#

yea

deep pilot
#

But once you open the shortcuts up, you only have to deal with 1

tawny lynx
#

Oh, I think I always took the right side since it seemed quicker.

#

I never tried to check on the left.

#

Welp.

young walrus
#

there's that "shortcut" you can open on the bottom right

#

but it's slower cuz of all the enemies

deep pilot
#

^ this is something I figured out after trying it a couple of times

#

It's much easier to just walk past the Soul Warrior mini-boss room cause there's way fewer enemies

buoyant wasp
young walrus
#

so wyza. when i copy the url from OBS to a browser source to edit it, do i just need to add "editing=true" to make it not the white preview screen?

buoyant wasp
#

yup

young walrus
#

kk

buoyant wasp
#

it's white otherwise because the background is transparent and chrome's bottom level is white

young walrus
#

makes sense

#

so if i take the URL i have now and pop it in, that'll contain all the updates you've made?

#

or does that not include the beta version you have now

buoyant wasp
#

the beta version has a different base URL (everything up to the Indext.html?), everything after it should be the same

#

it'll prompt you saying "hey you're importing a config, which profile should this be saved as" pick profile 1, and it'll load it in. Going forward, you won't need to copy the url back and forth anymore

#

you'll just have blahblah/Index.html?profile=1

#

and any changes you make in chrome under profile 1, will be automatically pushed into the obs overlay

young walrus
#

that'll be nice

#

once this comes out of beta, will the url change?

#

i want to play with it a bit tonight

buoyant wasp
#

it'll be the same url as the current Live version

young walrus
#

kk

#

i'll just set up a temporary 2nd source then

buoyant wasp
#

yup

#

that's what i do, i have the "live" source and the "dev/beta" source and just hide/show depending on what i'm doing

tawny lynx
#

What are you streaming? Modding?

buoyant wasp
#

@tawny lynx - not streaming modding. There is a UI overlay KDT and I wrote that is for OBS so that viewers can see what charms/spells/skills/items you have without it cluttering up your gameplay. It's primarily used for Randomizer runs since it's hard to keep up with what a player has and hasn't found (especially in a race)

tawny lynx
#

Oh nice.

buoyant wasp
#

in this case we're talking about 2.1 Beta of it that makes some improvements to how configuration is stored 😃

tawny lynx
#

It's a really cool idea.

#

I'd still like to mod this, but I've come to terms with the fact that I probably won't because I get too busy with other things, and people here are already doing really neat things anyway.

buoyant wasp
#

hehe, i tried to resist the temptation to do any coding here. I couldn't though.

tawny lynx
#

How does modding work now? Is it still using dnSpy to edit individual methods and classes piece-by-piece, or do you use a decompiled project?

rain cedar
#

There is an api you can use to mod now

tawny lynx
#

Provided by the developers or as a mod?

rain cedar
#

Mod

tawny lynx
#

That's good. I remember there being talk about such a mod a few months ago.

subtle heart
#

Does the Boss Rush Mod exist yet?

dapper folio
#

Kein's version does

#

check the pins

subtle heart
#

It says I have to ask for it

dapper folio
#

yes, send me a direct message and I'll provide the mod's zip

#

Not allowed to host it in the drive folder anymore, but I still provide the mod upon direct request

solemn rivet
#

btw, @leaden hedge , I forget, but did you ever tell me how you managed to make all spells(- fireball) do no damage?

#

I can implement a semi-functional Int stat at least

broken fable
#

if i'm really irresponsible with simple keys, can i hard lock a randomizer save? sly's key on jiji, and city storeroom's key on city hotspring. is it possible to reach all of those locations, and yet the key in ancient basin is inaccessible until i access royal waterways?

#

does royal waterways have any alternate entrances?

solemn rivet
#

there is a way to enter waterways from the drop to the ancient basin

broken fable
#

looks like you can get in through the tram to kingdom's edge too, but then you'd have access to ancient basin.

solemn rivet
#

do you not have access to basin?

broken fable
#

this is a theoretical situation.

solemn rivet
#

yeah

#

I can't find the video

#

but I'm pretty sure it's possible to enter waterways in the descente from COT to basin

broken fable
#

NMG, i assume.

solemn rivet
#

I think so

broken fable
#

is it that trick where you pogo on spikes and fireball to cancel momentum, then dash, or something?

solemn rivet
#

I don't think it's as complicated as getting womb tho

broken fable
#

nice. so that requires cloak and dashmaster, right?

solemn rivet
#

I don't think cloak is needed

#

since you need 2 dashes anyway

#

I don't get how to stop the nail's knockback tho

broken fable
#

huh? you don't need mothwing cloak?

rain cedar
#

You just cancel the pogo momentum with dash

#

You can get in there with dashmaster, fireball, or wraiths

solemn rivet
#

but why does that not work for glowing womb then?

rain cedar
#

It does

#

That's how you get through that spike tunnel too

solemn rivet
#

oh

#

I thought you needed fireball

#

to cancel the pogo

rain cedar
#

The fireball is to stall midair

#

So dash refreshes

solemn rivet
#

gotcha

rain cedar
#

And yeah you probably could get stuck in randomizer if you're dumb with keys

#

Same as if you skip fury

#

If fury is mantis claw and you skip it there's no way back up there

#

Ever

solemn rivet
#

never skip fury

rain cedar
#

Basically, yeah

broken fable
#

i mean, never save in ancient basin unless you can get out hollowlenny

rain cedar
#

That bench is gone if you don't have wall jump

#

The only way to save down there without it is getting shade cloak

broken fable
#

or city of tears at quirrel bench.

rain cedar
#

That's fixed, too

#

I added platforms to get out

broken fable
#

yeah, i saw the code. i'm trying to imagine eliminating all hard locks, even ones where you're dumb.

#

it's hard.

rain cedar
#

Yeah

#

I guess I could disable the doors to jiji and the banker

broken fable
#

the CoT hotspring leads to the shaft between resting grounds, kingdom's edge, and king's station. that can't be significant for routing in randomizer, can it?

rain cedar
#

Nah, that place is useless

broken fable
#

disable jiji and CoT hotspring until the waterways is opened doesn't seem like a bad idea. but also, meh; doesn't seem terribly urgent.

#

sean, are you deliberately waiting for grimm troupe before working on randomizer anymore? and are you planning to update to the latest version or continue on 1.1.1.8?

rain cedar
#

I wasn't waiting for that specifically, but it's not a bad idea

#

Just a bit burnt out on it

#

And I'll definitely update the api to grimm troupe

broken fable
#

is there something specific that's burning you out? like could i help by developing a tool that did something? maybe an fsm visualizer or something?

rain cedar
#

KDT already made an fsm visualizer

#

And I'm just burnt out because I spent 3-4 hours daily on this for almost a month

#

But if you want to improve something, you could work on adding nail arts or something like that

broken fable
#

next on my list is to get familiar with the debug mod. basic stuff like "what room am i in?".

rain cedar
#

Well, that's easy

#

GameManager.instance.GetSceneNameString()

broken fable
#

i also need a better understanding of get/set player int/bool. like is the word "player" a red herring, and that's also where breakable wall state is stored, or is breakable wall state somewhere else?

rain cedar
#

The hooks in the api are for bools/ints in the PlayerData class

#

Something like a breakable wall would be stored in SceneData

broken fable
#

does the API have hooks for SceneData?

rain cedar
#

No, not yet

broken fable
#

any other FooData classes that you're aware of?

rain cedar
#

Just the two

#

SceneData is different in that it can store an indefinite amount of things

#

PlayerData has a set amount of named variables

broken fable
#

is there documentation for all the fields in PlayerData? (yet?)

rain cedar
#

No, but you can just look at it in dnspy to see the fields

#

Although I suppose it's not always obvious what they do

broken fable
#

i'm thinking something like http://anodyne.wikia.com/wiki/Save_File

Anodyne Wiki

There are also a number of copies of your save file that have no effect scattered about your file system. They are created as "backups", but aren't ever read by the game, so they can be safely...

rain cedar
#

These are the most useless variable names I have ever seen

#

This game at least tries to have descriptive names

solemn rivet
#

yeesh

#

if those were the var names, I'd be screwed

broken fable
#

right, so maybe not as necessary for this game. ( ͡° ͜ʖ ͡°)

#

i'm still a little confused on what the randomizer is doing with quake/quake1/quake2, and the like. i'm not sure what's normal behavior, and what the randomizer is doing differently. some kind of explanation of the normal behavior might help there.

rain cedar
#

Spells are stored as an int from 0-2

#

With 0 being no spell, and 2 being the most upgraded one

broken fable
#

is that vanilla or randomizer or both?

rain cedar
#

Picking up the upgraded spell unconditionally sets it to 2

#

That's how it works in vanilla

#

In randomizer I'm storing two separate variables that get added together for the total spell level

#

That way picking up the "upgraded" one will just give you the normal spell if you didn't already have it

#

Instead of just giving you both levels like in vanilla

broken fable
#

but with dream nail, awakened dream nail, dream gate, that strategy doesn't fit as well.

rain cedar
#

If you pick up awoken nail or gate first, it just gives you nail instead and swaps the pickup locations

broken fable
#

so why not do that with the spells too? simpler to do the adding thing instead?

leaden hedge
#

because dreamnail is 3 bools

#

spells are one int

broken fable
#

oh. this effectively turns spells into 2 bools instead of 1 int. that actually makes everything more consistent. cool.

rain cedar
#

Yeah, basically

broken fable
#

so in vanilla, if you pick up shade soul first, you fire shade soul bullets. then if you get vengeful spirit second, you'll be downgraded permanently?

leaden hedge
#

its impossible to do in vanilla

rain cedar
#

It is possible to get shade soul first

#

Just not nmg

#

And nah, vengeful spirit can't be picked up second

#

The game just assumes you have it

leaden hedge
#

yeah that drop is tied to fireballLevel >= 1

#

it locks you out of soul catcher too

broken fable
#

ok cool.

#

and i assume the ancestral mound gate being open/closed is in SceneData, not player data.

rain cedar
#

Probably

leaden hedge
#

if you actually want to mess with the fsm visualizer @broken fable
https://github.com/KayDeeTee/HK-FSM-VIEWER
theres a few things that would be nice,

the svg should resize to the size of the loaded fsm so you can't scroll off the screen
the hovered state data should be movable so it can't obstruct your view,
lots of variable types don't work like floats or gameobjects,
be able to drag a json dump onto the page to load it, rather than renaming a file to data.json and ading var = fsm to the start

If you really want to, the ability to create fsms in the browser and dump the state to some csharp code that'll create it

broken fable
#

@leaden hedge thanks. i'll take a look

#

this visualizer looks pretty cool so far. i'm learning more by the second. hollowknice

#

oh my god. the fsm states have their x y coordinates stored in them for displaying in a visual editor maggot . That simplifies the displaying code quite a bit then, doesn't it. I thought this visualizer would need to do some kind of graph embedding algorithm.

leaden hedge
#

nope its literally just a dump of the data the fsm creation tools use I'd assume

solemn rivet
#

wut

#

why would they have coordinates?

leaden hedge
#

because its literally just a dump of the data, the tools to create it use

#

and thats a visual editor

solemn rivet
#

makes sense

leaden hedge
#

that has the position of each state on it

broken fable
#

the lines don't have coordinates, so you're just drawing them behind the states connecting the centers.

leaden hedge
#

yeah preferably I'd do edge to edge

#

and give them an arrow

rain cedar
#

You could at least draw an arrow in the middle of the line

broken fable
#

yeah, and arrow would be good. especially since there could theoretically be two-way transitions, which currently isn't shown.

rain cedar
#

Should usually be visible

leaden hedge
#

yeah theres plenty of 2 way transitions

broken fable
#

line could be a gradient color from start to finish.

#

what's this Odd Key i see? Variable name hasMenderKey. Is that related to the Menderbug?

#

i'm guessing some of this is unused. like waterways key.

#

(just scrolled up to the most recent data.json i could find here to view something.)

rain cedar
#

That's just if you've killed menderbug

#

Since that opens up his house

broken fable
#

it's a case of handling a shiny object pickup in the fsm. i'm guessing it's unused.

rain cedar
#

Yeah, probably

broken fable
#

has there been any discussion of how to include mask shards, soul vessel shards, and charm notches in the rando? one issue is that some vendors (sly, salubra) sell them in an order assuming they are all interchangeable.

buoyant wasp
#

we have a new way to handle notches that several of us have been playing with

#

at least for the salubra ones

#

where you automatically get the notch from salubra when you reach the required charm count

broken fable
#

is this the "notch mod" i've been hearing about?

buoyant wasp
#

it's not in the randomizer yet, though i think several folks are hoping it will be (myself included)

#

yup

broken fable
#

so that eliminates paying salubra and going to salubra?

buoyant wasp
#

well, paying and returning to her

#

for those

#

it's just "you got your 5th charm, here's your notch"

broken fable
#

that doesn't sound appropriate for rando, tbh. that's like a convenience thing, not related to randomization.

#

what about a mod that gives you immediate cash when you pick up a relic.

leaden hedge
#

the problem is, notches health and soul is completely useless

buoyant wasp
#

^

#

no one ever is going to go buy them

leaden hedge
#

and 100% dead slots

#

and theres a shit tonne of them

buoyant wasp
#

making you have notches gives you flexibility when the randomizer gives you weird charm combinations

broken fable
#

@leaden hedge, i'm not so much concerned about getting health when you don't need it or want it. i'm interested in the player going to get the health pickups to see if it might be something good. i'm interested in the locations, not the items.

buoyant wasp
#

otherwise, everyone is always going to have 4, or at most 5, notches

#

so 90% of the time, you'll never use more than 2 charms, 3 maybe

leaden hedge
#

the problem is adding another 26 items to the pool

#

most of which just cost money

#

whats the point

broken fable
#

@leaden hedge, yeah bloating the shops seems bad. maybe sly's mask shards and soul vessel fragments and salubra's notches should be left out. but what about the rest of the locations?

young walrus
#

adding more locations from mask and vessel shards wouldn't at this point add much value

#

plus the runs can be long anyways at 2-2.5 hours

#

it's in a really good place now with the number of items you're required to check

#

plus the next thing is to add in Kingsoul to the pool, which would require you to go check the queen's spot, adding more value to QG and an additional boss

pine condor
#

hey

#

this isnt really related to hollow knight but to coding in general

#

can i ask here?

buoyant wasp
#

what charm did we decide we would lock in WP again? not the compass now that there is a plan to make it useful. i suppose we could put...hmmm, oh what if the mask shard in mawlek was moved to WP and mawlek got added to the pool. it's not a pad place

young walrus
#

i think we just decided to make it a dead place

buoyant wasp
#

ah

leaden hedge
#

ask whatever

#

btw @pine condor

buoyant wasp
#

but don't we need another place to put something ?

broken fable
#

i think one of the most interesting things about rando is using or being forced to use unusual strategies. giving the player more notches serves that purpose. putting nail arts in the pool does as well.

#

what is WP?

young walrus
#

nail arts is next on the list

buoyant wasp
#

we need to put something there so that it can take something elses place

young walrus
#

White palace

pine condor
buoyant wasp
#

oh, the quill

pine condor
#

HOWVWOULD U DO THIS

young walrus
#

the WP charm will probably be the same category as elegy

#

and the Seer items

buoyant wasp
#

you could put the quill in WP and then make the quill an item

young walrus
#

lol.... "do my homework"

buoyant wasp
#

of course, that's putting yet another item in a shop

#

and shops are already op

young walrus
#

yeah. i don't think we need that

pine condor
#

me?

buoyant wasp
#

still think swapping mask fragment at mawlek would be good. gives you a reason to see another "boss" that isn't super hard, but is also never seen

leaden hedge
#

have you tried implementing all 3

broken fable
#

what do people think about randomizing which vendor sells which inventory of items? like sly might be the nailsmith, and leg eater has salubra's inventory.

leaden hedge
#

and seeing what comes out hollowface

buoyant wasp
#

oh man that would suck

#

and be hilarious

#

at the same time

young walrus
#

that'd also probably be much harder to code

buoyant wasp
#

probably

young walrus
#

and add little value to the rando

ornate rivet
#

dang so can I ask my Physics HW in #off-topic too??

buoyant wasp
#

the answer is 42

ornate rivet
#

k wait up and I will take a picture of it /s

broken fable
#

@pine condor in all seriousness, your question is too vague. can you ask something more specific, like is there part of it that you don't understand? if you just want the answer, then that's effectively cheating on your homework, which is dishonest, and it's not very interesting for us to help you in that way.

buoyant wasp
#

I'd suggest following @leaden hedge's advice. write those functions out, and see what their output is

#

you'll gain a much better understanding if you do it

broken fable
#

if you can, step through it in a debugger.

buoyant obsidian
#

I'll give you the answer for $1

buoyant wasp
#

do you take cookies ?

#

there, i gave you a cookie and a cherry

pine condor
#

sorry, i didnt mean it that way. i have a very basic to none understanding of coding, which is why i legit have no idea what this is talking about. can you possibly explain? it doesnt have to be this problem literally any possible info

leaden hedge
#

why is this in your work then?

pine condor
#

it not homeworj

#

its a book that i bought in an attempt to learn coding

young walrus
#

if the book is explaining it, wouldn't it have the answer on say, the next page?

pine condor
#

nope

buoyant wasp
#

that's a crappy book

leaden hedge
#

so a for loop takes 3 parameters
the number to start with, when to end, and what to do each loop to that number

so for( int x = 0; x < 10; x++ ) is saying set x to 0, and whilst x < 10, increment x

for( int x = 0; x < 10; x++ ){
    system.out.print(x)
}

will print everything between 0 and 10

pine condor
#

this is the maybe third page of my book

broken fable
#

either go back and read the book's explanation, and if it doesn't explain, then the book is not useful. get a different book / watch a youtube tutorial / something like that.

pine condor
#

oh

#

any suggestions for good videos

#

is this code specifically java or...?

leaden hedge
#

its java

#

but it works for anything

pine condor
#

oh

broken fable
#

@pine condor no, they're all crap. i have a dream to someday make a good programming tutorial video. someday.

leaden hedge
#

for loops are a standard

pine condor
#

lul

#

thanks

leaden hedge
#

do you have a java ide?

buoyant obsidian
#

Sit in on a college class, they probably won't care

pine condor
#

LOL

#

nope

young walrus
#

a college course wouldn't even notice

pine condor
#

i cant go to college

buoyant obsidian
#

yep people do it all the time

#

all the learning but with no degree

rain cedar
#

I go to a lot of classes I'm not in yet

young walrus
#

^

rain cedar
#

In hopes I can get in later in the quarter

pine condor
#

im in hs

leaden hedge
#

you don't need to go to class to learn to program really

tawny lynx
#

IntelliJ is my favorite IDE for Java; it really helps to have an IDE if you get serious about it.

pine condor
#

can i still sneak into college classes?

leaden hedge
#

theres plenty of information online about programming

buoyant obsidian
#

Eclipse is awesome

pine condor
#

intelli j

leaden hedge
#

for completion

young walrus
#

there's no age restriction to be in a room

leaden hedge
#

netbeans hollowface

pine condor
#

ok

#

would this coding be considered computer science?

buoyant obsidian
#

Yep

broken fable
#

technically, you're not supposed to be in the class, but no one who would see you is incentivized to care.

pine condor
#

cuz datz the book i bought lop

#

ok

leaden hedge
#

honestly get an IDE

#

and make sure to test what its asking you about

pine condor
#

honestly

#

i dont know what tha is

leaden hedge
#

the best way to learn programming is to do it

tawny lynx
#

Hmm, my school would care. One of my teachers complained about it.

leaden hedge
#

reading does very little without application

pine condor
#

what would be a starting programming?

buoyant obsidian
#

An IDE is basically Notepad for running code

pine condor
#

program*

buoyant obsidian
#

Python or Java would be decent starting languages

leaden hedge
#

its fine to just program whatever your book asks you

pine condor
#

its legit filled with questions like the first one

leaden hedge
#

well implement them, see what the print out

buoyant obsidian
#

I can't imagine learning code through a book

pine condor
#

okok

leaden hedge
#

edit it and see what happens

pine condor
#

welp

#

gotta go with what you have

#

welp

#

hopefully this works

leaden hedge
#

self learning is fine for programming

#

if something doesn't work just search for stackoverflow with your exact problem hollowface

buoyant obsidian
#

Google is your best tool

pine condor
#

hehe

#

on it

buoyant wasp
#

i've been programming for 15 years, 95% of what i know, I've learned by trying stuff, and asking google.

pine condor
#

wut should i download to start?

#

woah

leaden hedge
#

pick a language you want

ornate rivet
#

just dont ask anything on stack exchange, they will rip you apart

pine condor
#

woah whats that

buoyant obsidian
#

I'd recommend downloading Eclipse IDE and starting to learn basic Java

buoyant wasp
#

or visual studio community and learn basic c#

leaden hedge
#

or python and learn python

#

you don't even need an IDE

buoyant obsidian
#

although I've heard starting with Python is easier yeah

pine condor
#

oh

#

ok

buoyant wasp
#

i guess the question is

#

why do you want to learn to code

pine condor
#

i went with eclipse

buoyant wasp
#

what is your end goal?

leaden hedge
#

I learnt with pascal hollowface

pine condor
#

i went with eclipse

ornate rivet
#

But python is really different from other languages like Java, C#, C++, C, etc...

leaden hedge
#

not fundamentally

ornate rivet
#

syntax is

buoyant wasp
#

do you want to do websites? or desktop apps? or games? or....?

ornate rivet
#

Not that I know it

pine condor
#

my end goal?

tawny lynx
#

It's not typed for one thing.

pine condor
#

ap computer science

#

i want a five in that

leaden hedge
#

sure its interpreted and weakly typed, doesn't use {}

#

but the concepts are the same

buoyant obsidian
#

That's something entirely different then

pine condor
#

website deisgn or basic animation

tawny lynx
#

JS then.

buoyant wasp
#

those are 2 wildly different things 😉

pine condor
#

LOL

buoyant obsidian
#

you'd have to look up AP Comp Sci curriculum

pine condor
#

java sounds like the way to go

ornate rivet
#

AP Computer Science is based off of java

buoyant wasp
#

website stuff you should be looking at HTML/CSS/TypeScript(or Javascript).

pine condor
#

yeppp

#

the book was ap comp sci

#

think i jumped a lil too far ahead

broken fable
#

Java and JavaScript are completely different, btw. completely different.

pine condor
#

therefore couldnt understand anything

#

huh?

#

wuts the difference

leaden hedge
#

nah for loops are like day 1 stuff

ornate rivet
#

One is for websites

broken fable
#

they are completely different languages

buoyant wasp
#

they are entirely different languages

tawny lynx
#

Everything but the name.

buoyant obsidian
#

I don't even know the difference haha

pine condor
#

same haha

tawny lynx
#

Though they both use C-like syntax.

ornate rivet
#

JS is for websites and Java is for programs

leaden hedge
#

java and javascript are similar like car is like carpet

buoyant wasp
#

javascript is a scripted language primarily used for client side code in websites

pine condor
#

LOP

young walrus
#

lol

pine condor
#

is it possible to explore both options

leaden hedge
#

you can do whatever

buoyant wasp
#

java is compiled language that can run back end software like servers, (which can serve websites), or desktop applications

tawny lynx
#

Learning one language will make it easier to learn another.

leaden hedge
#

whatever you learn in javascript will apply to java

ornate rivet
#

err just stick with Java if you want a 5 on the AP comp sci

buoyant obsidian
#

yeah if you learn one you kinda get the other as a bonus

leaden hedge
#

just the syntax will be different

tawny lynx
#

Most concepts apply to other languages.

pine condor
#

oh

#

okok