#archived-modding-development

1 messages ยท Page 283 of 1

flat forum
#

...

azure vessel
#

?

flat forum
azure vessel
#

fake accunts?

cunning lagoon
#

must be bugged

leaden hedge
azure vessel
#

nice photoshop

#

its 3 pm everywhere

leaden hedge
#

but this is UTC

#

the real time

azure vessel
#

no

floral furnace
#

universal time zone when

leaden hedge
#

ye

azure vessel
#

uk real time

leaden hedge
#

we invented time

cunning lagoon
#

universal time cone

floral furnace
#

watch it go by as the pendulum swings

azure vessel
#

time doesnt exist

#

its just a globe orbiting a star

leaden hedge
#

ur mum doesn't exist

azure vessel
cunning lagoon
#

thats where ur wrong

leaden hedge
#

shes an extradimensional being

cunning lagoon
#

earth is flat

floral furnace
#

reproduction is for suckers i multiply by splitting my atoms asexually

leaden hedge
#

sounds like the cancer

floral furnace
#

true

cunning lagoon
#

u got this taco u will do better this time

floral furnace
#

thanks i guess

azure vessel
#

life is a sexually transmitted disease

flat forum
#

That unavoidably ends with death

flat forum
#

Hey

cunning lagoon
#

sup

flat forum
#

on what layer is the ground you're walking on?

#

(I think it's divided into the black squares and the details like grass and texture above them)

leaden hedge
#

the ground layer intenseface

flat forum
ornate rivet
#

What does SetVelocityAsAngle do?

floral furnace
#

what are you configuring?

#

cuz in my experience the fireball fsm had that, setting that velocity changed the rotation and direction the fireball was gonna travel at

ornate rivet
#

hornet's needle throw

floral furnace
#

so, im guessing its the direction in terms of degree where she throws it

ornate rivet
#

ok

floral furnace
#

in my experience this is in regards with the x axis, so 0 degrees should be to the right

#

90 upwards, 180 backwards yada yada you know the rest

ornate rivet
#

weird thing is, the needle's direction gets mixed up even when I don't mess with that

floral furnace
#

huh

#

no idea then, ymmv because all i ever touched before was the fireball stuff

weak lodge
#

Ttacco do me a favor

ornate rivet
#

There are 4 states: Throw Antic, Throw, Thrown, and Throw Recover
I am skipping over Thrown but for some reason that messes up the direction

#

Throw has the Set Angle Velocity for the needle in it

floral furnace
#

yes knightmere?

#

oh so youre skipping some states then?

#

transitioning past them at least

ornate rivet
#

yea but the one I am skipping (Thrown) doesn't have anything in it

floral furnace
#

are you using insert action?

ornate rivet
#

nope

#

I am just using ChangeTransition

weak lodge
#

Make Knightmere Fuel for me kthx

ornate rivet
#

knightmere fuel?

floral furnace
#

oof dunno how to handle it then, i usually use insertaction, then add a method at a specific index on that FSM state, and yeah if sometimes you skip over some actions in it it fucks something up

ornate rivet
#

okie dokie

weak lodge
#

The mod I have concepts for but never applying anything :zoot

floral furnace
#

Then do it lad

#

You can do it

weak lodge
#

I am incompetent

floral furnace
#

Plus its great learning experience

#

bullshit thats just the first part

weak lodge
#

ic

mortal trout
#

how hard is it to make a basic mod if you have like barely any knowledge of programming

floral furnace
#

also saleh try asking 56 for that tbh, i think he should be awake right now

ornate rivet
#

ok

hollow pier
#

56 awake at 10:30am omegalul

weak lodge
#

11:30 am u mean

hollow pier
#

any dst

floral furnace
#

i never used ChangeTransition because instead i add an action then force a SetState from there instead

weak lodge
#

EST only time zone

mortal trout
#

^

ornate rivet
#

does that make a difference?

floral furnace
#

also Edgy depending, it can be difficult as some way if you dont get some of the concepts

hollow pier
floral furnace
#

no idea, probably not

ornate rivet
#

ok

weak lodge
#

Wrongo

#

It is 11:30

ornate rivet
#

day light saving

#

it's an hour back now

weak lodge
#

Also Pete what is up with that pfp of yours

#

Is that a crystal crawler reskin

hollow pier
#

no it's bergmite

weak lodge
#

a what

floral furnace
#

or it does, since insert action allows you to specify when you wanna add that action, if im guessing (and im guessing here so dont take my word for it) ChangeTransition adds it at the very end, so by then it SHOULDVE executed all the state actions at that point

ornate rivet
#

well I want to to execute at the very end so that's good

floral furnace
#

in your situation probably yeah

#

in my other shitmod i had to find the correct index to change transitions otherwise spin slash locks you into the air forever

ornate rivet
#

ok makes sense

#

is there an easy way to add text on the screen?

floral furnace
#

oh i have some code on that

#

lemme uhh get it

ornate rivet
#

gimmeee

floral furnace
#
GameObject canvas;
Text textExample

CanvasUtil.CreateFonts();
            canvas = CanvasUtil.CreateCanvas(RenderMode.ScreenSpaceOverlay, new Vector2(1920, 1080));
            UnityEngine.Object.DontDestroyOnLoad(canvas);
            textExample = CanvasUtil.CreateTextPanel(canvas, "", 25, TextAnchor.MiddleLeft, new CanvasUtil.RectData(new Vector2(600, 50), new Vector2(-560, 805), new Vector2(0.5f, 0), new Vector2(0.5f, 0), new Vector2(0.5f, 0.5f)), true).GetComponent<Text>();
            textExample.color = new Color(0.420f, 0.420f, 0.420f, 1f);
            textExample.text = ""; //specify what you wanna put here
ornate rivet
#

coolio I am gonna test it

floral furnace
#

also if you quit to menu the text will stay, and if you start again now you 2 overlapping text, what you wanna do is
OnDestroy(){
Destroy(canvas);
}

ornate rivet
#

ok

floral furnace
#

also it doesnt fade out during screen transitions btw, theres manual ways of doing where you hook on transition then lower the alpha/opacity then increase it again on fade in etc etc but i got lazy because it was low priority, so didnt bother knowing how

leaden hedge
#

it comes with a fade function afaik

#

so you can just call that coroutine whenever a transition happens

#

should be
CanvasUtil.FadeOutCanvasGroup(canvas.GetComponent<CanvasGroup>())
as a coroutine

floral furnace
#

well yeah thats what i used to do, but i used the ModCommon hooks to check for transitions, for some reason it was broken during rad's fight if you fall on the abyss during phase 3? i think but yeah the text fades out completely and theres no fade in to increase the alpha

#

well there you have it

leaden hedge
#

and back in, is named as you'd expect

floral furnace
#

FadeBackToAlphaOneCanvasGroup yes?

leaden hedge
#

yep

floral furnace
#

nice

#

oh oh and btw saleh

#

new CanvasUtil.RectData(new Vector2(600, 50), new Vector2(-560, 805), new Vector2(0.5f, 0), new Vector2(0.5f, 0), new Vector2(0.5f, 0.5f))
you might wanna toy with this

ornate rivet
#

put a rectangle around it?

floral furnace
#

the first vector2 is the size of the canvas, the second is the position of it ( 0,0 is of course at center ) the other 3 i didnt bother changing and i dont know what they exactly do but you experiment with it if you like

ornate rivet
#

ok it looks great

floral furnace
#

yeah its the size of the canvas etc etc

leaden hedge
#

1st is the size difference compared to the anchors,
2nd is the offset compared to the anchors,
3rd is top left of the rect as a percent,
4th is bottom right of the rect as a percent,
5th is the pivot for rotations

#

so that box is at 0.5f,0 to 0.5f,0, so halfway across the bottom of the screen

#

which is size 0

#

and its 600x50 bigger than that, so 600x50

#

and its also -560, 805 pixels away from that

weak lodge
#

imo everyone > me

leaden hedge
#

so if I had to take a guess, its from
100px to 700px from the left and
about 250px to 300px from the top

floral furnace
#

so setting it at 0.95f to 0.95f would set at the lower right corner?

leaden hedge
#

yeah

#

although it'd still be -560, 805

#

so it'd actually be from the center top to the top right

#

tbh you only ever need to use first 2, or the 2 after that

floral furnace
#

the anchors would be 0f 0f by default yes? which is top left corner

leaden hedge
#
CanvasUtil.CreateTextPanel(canvas, "", 25, TextAnchor.MiddleLeft, new CanvasUtil.RectData(new Vector2(600, 50), new Vector2(100, 250), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)), true)

should be the exact same

floral furnace
#

then just adjust it accordingly with the first 2 params

leaden hedge
#

they default to .5, .5

floral furnace
#

so center, nvm then

#

also yeah forgive me saleh i dont know why i had the rgb floats set to .420f

ornate rivet
#

420 is a great number that's why

fair rampart
#

INVUL_TIME_STAL is normally 2f, right?

floral furnace
#

thats for the shell right

fair rampart
#

yes

floral furnace
#

i usually just print them on the log then check it ingame as inefficient as it sounds zote

fair rampart
#

how do I do that?

#

noob question

floral furnace
#

uhh you have the log coming out of your screen right?

#

lower left?

fair rampart
#

yeah

#

logging level 2, since logging level 1 just spams enemy hp every frame

floral furnace
#

then yeah just do, dunno as bad as it sounds, put it on a component/class thats extended by monobehaviour, go to Update(){
Modding.Logger.Log("" + INVUL_TIME_STAL);
}

#

tho its probably gonna be
HeroController.instance.INVUL_TIME_STAL

fair rampart
#

ugh monobehaviour? why?????

floral furnace
#

that or just hook it on attack

#

then print it out whenever you attack

fair rampart
#

oh that's much easier

floral furnace
#

sorry, i know its inefficient but i have no idea where they assign the actual value to the INVUL variable

fair rampart
#

Yeah, I can't find it in the FSM viewer

floral furnace
#

probably taken from some outside class or file that contains those values

flat forum
#

Abyssal Alchemist

fair rampart
#

ye?

cunning lagoon
#

i actually fucking hate this game now

#

the more i play it the more i dislike it

native wing
#

sad!

hollow pier
#

run icono

fair rampart
#

Modding.Logger.Log("" + HeroController.instance.INVUL_TIME_STAL); like this?

#

Just put in OnAttack?

floral furnace
#

yeah

#

also i THINK that ""+ isnt necessary but i do remember getting errors trying to print non string variables

cunning lagoon
#

icono is probably a better speeedgame than thjis garvbae

floral furnace
#

garvbae

fair rampart
#

thijs

floral furnace
#

kuro just run 112 version except you skip out godmaster and pretend it doesnt exist

#

so its technically 106 but with bug fixes

mortal trout
#

idk but maybe a casual playthrough might be good

floral furnace
#

unless youre trying to not lose the fall bug

cunning lagoon
#

yes cawsual playthroughs are incredibly fun

fair rampart
#

is your keyboard broken?

cunning lagoon
#

no i was in the middle of a run so i had to type quickly between loading screens

#

i have since reset because it was garbage anyway

native wing
#

why you articulating with us

hollow pier
#

stram

floral furnace
#

yeah and make a 40 part video about it, then overreact to every detail, ez youtube money

cunning lagoon
#

sure if you want to watch a crossroads stream ๐Ÿ™‚

hollow pier
#

crssoraods strm!11

fair rampart
#

Like when veru made a 2 hour vid about Menderbug rng

floral furnace
#

or the time he grinded for like 7 hours straight in the tramways to get that low% run

#

or wait was it 6 days?

fair rampart
#

Oh wow, that is great way to log stuff, thx taco

#

it's apparently 1.75f

#

So the wiki is wrong

#

It's 1.75 sec, not 2 sec

leaden hedge
#

wiki shit

fair rampart
#

Wait, Cyclone give you i-frames?

#

INVUL_TIME_CYCLONE

#

Apparently it gives you 0.25 sec of i-frames

vapid cape
#

Right as it starts, I'm guessing?

#

I can't really think of a use for it, though. It slows you down so much that you can't really use that for anything other than projectiles, and there's not honestly a lot of those you'd cyclone through.

fair rampart
#

Apparently parry also gives you 0.25

#

Quake is 0.4 sec

vapid cape
#

Parry gives YOU iframes? I always assumed it just negated the hitbox you parried

hollow pier
#

no it gives a shit ton of iframes

vapid cape
#

I was damn sure that you can get hit right after a parry as long as it was something else. Example, parry a dude in Trial of the Fool, an aspid shot hits you in the back about the same time, dude's swing doesn't hurt you but the bullet does

fair rampart
#

I think it's because of the impact frames

#

(the screen freeze)

#

Oh, the i-frame from getting hit are 1.3, not a flat 1 second like I thought

glacial panther
#

I've definitely been eclipsed with pure vessel after parrying and been completely fine

#

not sure if his hitbox and his sword hitbox are 2 separate things

cunning lagoon
#

trading hits is a thing

#

so if you parry at the same time you take damage you'll do both

#

but parries do give you iframes

#

for example if you parry ngg as the spikes go up you just phase through them

fair rampart
#

Whoa, stalwart affects your recoil duration?

#

It goes from 0.2 down to 0.08

#

It would be nice if the charm descriptions actually told us about their secondary effects

#

like Heavy Blow's stagger reduction

vapid cape
#

Recoil as in, the time spent in the "hurt" animation?

fair rampart
#

I believe so

vapid cape
#

also, nice to know about parries. I didn't know they worked like this

fair rampart
#

hard landing time is 0.8 sec

#

I thought it was 0.6

ornate rivet
#

wiat

#

I can copy states

fair rampart
#

There's a spell control hook, right? cuz looking at the fsm for spell control is a nightmare

flat forum
#

@copper nacelle is dis u

trim totem
#

it has to be

#

who else plays with mouse and keyboard

flat forum
#

Yeah

#

not even using the volume button on your speakers to jump

#

smh

#

not even using the PC power button to attack smh my head

civic hare
#

i only play hollow knight with kinect

#

actually punch the ground to ddark

ornate rivet
#

that would be epic tbh

copper nacelle
#

@fair rampart Yeah I added one to ModCommon

ornate rivet
#

what's modcommon

copper nacelle
#

ModCommon.ModCommon.SpellHook

#

ModCommon is a mod with a bunch of nice extensions and utils that a bunch of mods use

fair rampart
#
        {
            if(PlayerData.instance.equippedCharm_33 && PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
            {
                GameObject gameObject = GameObject.Find("Knight");
                if (gameObject != null)
                {
                    if (PlayerData.instance.fireballLevel == 2)
                    {
                        if (OnSpell(ModCommon.ModCommon.Spell.Fireball))
                        {
                            gameObject.LocateMyFSM("Spell Control").Fsm.GetFsmInt("MP Cost").Value = 22;
                        }
                    }
                    if (PlayerData.instance.quakeLevel == 2)
                    {
                        if (OnSpell(ModCommon.ModCommon.Spell.Quake))
                        {
                            gameObject.LocateMyFSM("Spell Control").Fsm.GetFsmInt("MP Cost").Value = 22;
                        }
                    }
                    if (PlayerData.instance.screamLevel == 2)
                    {
                        if (OnSpell(ModCommon.ModCommon.Spell.Scream))
                        {
                            gameObject.LocateMyFSM("Spell Control").Fsm.GetFsmInt("MP Cost").Value = 22;
                        }
                    }
                }
            }
            return true;
        }```
#

will this work?

copper nacelle
#

wtf

fair rampart
#

what

copper nacelle
#
  1. why is it recursive
fair rampart
#

uhh

#

which part is that?

copper nacelle
#

if (OnSpell(ModCommon.ModCommon.Spell.Scream))

#

if (OnSpell(ModCommon.ModCommon.Spell.Quake))

#

if (OnSpell(ModCommon.ModCommon.Spell.Fireball))

fair rampart
#

Oh, you mean that there are 2 modcommon?

fossil oxide
#
  1. why is it recursive
#
  1. why is it recursive
copper nacelle
#

.

#

No the two modcommons is just cause you don't have a using

fossil oxide
#
  1. why is it recursive
copper nacelle
#

cease

fossil oxide
#

t o p t i e r

#

J o k e

copper nacelle
#

no

fossil oxide
#

Yes

copper nacelle
#

You're calling OnSpell

#

from OnSpell

#

why

fossil oxide
#

It's called 4D programming

fair rampart
#

OH

copper nacelle
#

second of all

#

consider not having three ifs

#

other than those yeah it should be fine

fair rampart
#

can you have too many ifs?

copper nacelle
#

yes

fair rampart
#

Oh, the reason I made it recursive was because "cannot implicitly convert to bool"

copper nacelle
#

spell == Spell.Scream

#

to be tbh

#

also don't bother finding the knight

#

there's a ref to spellControl on HeroController

compact sedge
#

yeah

#

Herocontroller.instance.spellControl

#

is the fsm

copper nacelle
#

i think you just want

#
        public bool OnSpell(Spell spell)
        {
            if (!PlayerData.instance.equippedCharm_33 || !PlayerData.instance.equippedCharm_36 || PlayerData.instance.royalCharmState != 4) return true;
            if (PlayerData.instance.fireballLevel == 2 && spell == Spell.Fireball ||
                PlayerData.instance.quakeLevel == 2 && spell == Spell.Quake ||
                PlayerData.instance.screamLevel == 2 && spell == Spell.Scream)
            {
                HeroController.instance.spellControl.Fsm.GetFsmInt("MP Cost").Value = 22;
            }
            return true;
        }
#

unless i read it wrong

fair rampart
#

Does that increase the effectiveness of Spell Twister for Void Spells after obtained Voidheart?

#

If so yes

copper nacelle
#

yes

#

it does whatever yours does but without 3 ifs and the weird recursive stuff

#

and i inverted the if

hollow pier
#

fi

copper nacelle
#

that's actually how bash does ifs

#

@hollow pier

if [ -f /var/log/messages ]
  then
    echo "/var/log/messages exists."
fi
fair rampart
#

PlayMakerFSM does not have a definition for GetFsmInt

#

what

copper nacelle
#

spellControl.Fsm.GetFsmInt

fair rampart
#

Error CS1061 'PlayMakerFSM' does not contain a definition for 'GetFsmInt' and no accessible extension method 'GetFsmInt' accepting a first argument of type 'PlayMakerFSM' could be found (are you missing a using directive or an assembly reference?) BetterCharms C:\Program Files (x86)\Steam\steamapps\common\Hollow

copper nacelle
#

you need

#

.Fsm.

#

you have spellControl.GetFsmInt

#

you need

#

spellControl.Fsm.GetFsmInt

fair rampart
#

That's what I have

#

HeroController.instance.spellControl.GetFsmInt("MP Cost").Value = 22;

#

oh wait

copper nacelle
#

thinking

fair rampart
#

imma dumbass

copper nacelle
#

same

fair rampart
#

I'm worse than teamcherry

#

Except I don't make giant spiderweb fsms

cunning lagoon
#

80ms away from a 50 kp GWbratWhy

#

81 i guess thinkgrub

hollow pier
#

keep trying

cunning lagoon
#

so

#

turns out glitches are fun huh

hollow pier
#

yes

cunning lagoon
#

now it's time for you to stream

#

ok i have 1118

#

no maggot

#

poggers

#

ah

#

you have exposed yourself fool

#

stream

copper nacelle
#

watch pest

#

unless you want to watch mod dev

cunning lagoon
#

m GWmemetownOMEGALUL d dev

daring snow
#

Wow another glitch convert

copper nacelle
#

tdograt cult

#

tbh

daring snow
#

deccCult deccTorch burn the NMGers

fair rampart
#
            {
                if (PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
                {
                    HeroController.instance.AddMPCharge(8);
                }
            }``` how do I fix this?
copper nacelle
#

?

#

what's the problem

fair rampart
#

It gives me infinite soul

copper nacelle
#

Infinite?

#

Or just a shit load

fair rampart
#

Maxes it out every time I shade dash

copper nacelle
#

Cause HitInstance gets called more than once

#

Hook HealthManager's TakeDamage

#

also why two ifs

#

just

            if (hit.AttackType == AttackTypes.SharpShadow && PlayerData.instance.equippedCharm_16 
                && PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
fair rampart
#

I know, it's just that VS keeps it all on line

#

so I can't see it

copper nacelle
#

put it on two lines

#

the thing I just sent is on two

#

It's not wrapped

fair rampart
#

Oh, you can do that?

copper nacelle
#

Yes

fair rampart
#

good to know

hollow pier
#

you should run great hopper on 1221 kuro

cunning lagoon
#

why

hollow pier
#

it runs better

#

1118 is mainly for elevator clips

copper nacelle
#

Don't you also want the free airwalks for great hopper

cunning lagoon
#

ah yes 1221 runs wonderfully well ๐Ÿ™‚

hollow pier
#

yeah

daring snow
#

1.2.2.1 is usually better for meme categories

hollow pier
#

yeah like any% nmg

daring snow
#

big oof

fair rampart
#
        {
            if (hit.AttackType == AttackTypes.SharpShadow && PlayerData.instance.equippedCharm_16
                && PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
            {
                HeroController.instance.AddMPCharge(8);
            }
        }``` like this? do I have to return hit?
copper nacelle
#

no you call orig(self, hit);

#

Unless you want enemies to be invincible gods

#

also as far as whitespace goes

#

you can do all sorts of stupid shit

#
        public static void Log(object o)
        {
            Logger
                .
                Log
                    (
                    $"[{Assembly.GetExecutingAssembly().GetName().Name}]: "
                    +
                    o
                    )
                ;
        }
#

valid code

daring snow
#

this code hurts my soul

fair rampart
#

Uhh

#

now it does no damage

compact sedge
#

greatest formatting ever

#

did u run

#

orig (self, hit)

fair rampart
#

yes

buoyant obsidian
#

I love whitespace in anything but python

compact sedge
#

well not in the codeblock you pasted

#

make sure orig(self, hit); runs every single time you want it to actually do damage

fair rampart
#
        {
            if (hit.AttackType == AttackTypes.SharpShadow && PlayerData.instance.equippedCharm_16
                && PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
            {
                HeroController.instance.AddMPCharge(8);
            }
            orig(self, hit);
        }```
compact sedge
#

like that

copper nacelle
#

put it in a try catch and log it

#

I'd almost bet 5 bucks on it throwing

compact sedge
#

yeah

#

or

#

just look at player log

#

I mean uh

#

whatever it's called on windows

fair rampart
#

It would be nice if UHKP didn't spam the log whenever I dash

compact sedge
#

ohshit

#

sorry

#

did I forget to comment that

#

asdfiasnfeiljnwqefjln

#

I don't have rider installed or I'd go fix it rn

fair rampart
#

rider? is that like linux VS?

compact sedge
#

it's like vs but multiplatform and a lot better

copper nacelle
#

It's a VS alternative which is based on ReSharper, which started out as a VS plugin

fair rampart
#

'alot better' remember veru's stream of redwing

copper nacelle
#

Offers a bunch of refactorings for your code and has Unity integration

compact sedge
#

doesn't mean your code isn't shit tho

#

or rather

#

my code

#

b/c my code

#

is the worst

fair rampart
#

And yet, your mod is probably the most ambitious

#

well, one of

copper nacelle
#
            Vector3 localScale = this.objectA.Value.transform.localScale;
            if (this.objectB.Value == null || this.objectB.IsNone)
            {
                base.Finish();
            }
            if (this.objectA.Value.transform.position.x < this.objectB.Value.transform.position.x)
            {
                if (this.spriteFacesRight.Value)
                {
                    if (localScale.x != this.xScale)
                    {
                        localScale.x = this.xScale;
                        if (this.resetFrame)
                        {
                            this._sprite.PlayFromFrame(0);
                        }
                        if (this.playNewAnimation)
                        {
                            this._sprite.Play(this.newAnimationClip.Value);
                        }
                    }
                }
                else if (localScale.x != -this.xScale)
                {
                    localScale.x = -this.xScale;
                    if (this.resetFrame)
                    {
                        this._sprite.PlayFromFrame(0);
                    }
                    if (this.playNewAnimation)
                    {
                        this._sprite.Play(this.newAnimationClip.Value);
                    }
                }
            }
#
            else if (this.spriteFacesRight.Value)
            {
                if (localScale.x != -this.xScale)
                {
                    localScale.x = -this.xScale;
                    if (this.resetFrame)
                    {
                        this._sprite.PlayFromFrame(0);
                    }
                    if (this.playNewAnimation)
                    {
                        this._sprite.Play(this.newAnimationClip.Value);
                    }
                }
            }
            else if (localScale.x != this.xScale)
            {
                localScale.x = this.xScale;
                if (this.resetFrame)
                {
                    this._sprite.PlayFromFrame(0);
                }
                if (this.playNewAnimation)
                {
                    this._sprite.Play(this.newAnimationClip.Value);
                }
            }
            this.objectA.Value.transform.localScale = new Vector3(localScale.x, this.objectA.Value.transform.localScale.y, this.objectA.Value.transform.localScale.z);
#

@compact sedge no this

compact sedge
#

ok nvm

#

fuck tk2d

#

u rite

copper nacelle
#
namespace HutongGames.PlayMaker.Actions
{
    [ActionCategory("Enemy AI")]
    [Tooltip("Object A will flip to face Object B horizontally.")]
    public class FaceObject : FsmStateAction
#

god tier code

compact sedge
#

oh wait it's not tk2d it's playmaker?

#

idk if that's worse or better

copper nacelle
#

it's both

#

playmaker affecting tk2d sprites

#

and localscale

#

weary

#

also you can replace it with this

#
        public override void OnEnter()
        {
            Vector3 ls = GameObject.transform.localScale;

            if ((!(GameObject.transform.position.x < Knight.transform.position.x) || !(ls.x < 0)) &&
                (!(GameObject.transform.position.x > Knight.transform.position.x) || !(ls.x > 0))) return;
            
            ls.x *= -1;
            GameObject.transform.localScale = ls;
            Fsm.GetFsmFloat("Slash Speed Crt").Value *= -1;
        }
#

at least for pure vessel

#

i need to unfuck that if

fair rampart
#

I don't see it in modlog

#

I just see sharpshadowfix over and over again

copper nacelle
#

what

fair rampart
#
  at HutongGames.PlayMaker.Actions.Trigger2dEvent.OnEnter () [0x00000] in <filename unknown>:0 
  at HutongGames.PlayMaker.FsmState.ActivateActions (Int32 startIndex) [0x00000] in <filename unknown>:0 
  at HutongGames.PlayMaker.FsmState.OnEnter () [0x00000] in <filename unknown>:0 
  at HutongGames.PlayMaker.Fsm.EnterState (HutongGames.PlayMaker.FsmState state) [0x00000] in <filename unknown>:0 
  at HutongGames.PlayMaker.Fsm.SwitchState (HutongGames.PlayMaker.FsmState toState) [0x00000] in <filename unknown>:0 
  at HutongGames.PlayMaker.Fsm.SetState (System.String stateName) [0x00000] in <filename unknown>:0 
  at PlayMakerFSM.SetState (System.String stateName) [0x00000] in <filename unknown>:0 
  at UHKP.dash_fixes.sharpShadowFix () [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
``` it's just this on repeat
copper nacelle
#

have u considered

#

checking for null

fair rampart
#

how?

#

Is this a stupid question?

copper nacelle
#

== null

#

That's a ModHook tho

grizzled cloak
#

What languge is that?

copper nacelle
#

c#

grizzled cloak
#

Oh wait sry looked at the errors

fair rampart
#

I fixed it

#

I added return; on the line after orig(self, hit)

copper nacelle
#

that should literally do nothing

fair rampart
#

But it did

#

Now it does damage, and gens soul

#

It works, but shouldn't?

copper nacelle
#

show method

#

return at the end literally does 0

fair rampart
#
        {
            if (hit.AttackType == AttackTypes.SharpShadow && PlayerData.instance.equippedCharm_16
                && PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
            {
                HeroController.instance.AddMPCharge(8);
            }
            orig(self, hit);
            return;
        }```
#

That's the only change I made

copper nacelle
#

wtf

#

that will literally do 0

#

my ide would literally tell me to get rid of it

fair rampart
#

Want me to remove the return and test again?

copper nacelle
#

yes

fair rampart
#

wtf, it just works now

#

and what to know the weirdest part

#

UHKP isn't spamming my log whenever I dash

copper nacelle
#

did you get rid of UHKP

fair rampart
#

no I did nothing to it

copper nacelle
#

noot

fair rampart
#

But i can still see it initialize in the log

copper nacelle
#

gj you killed it

fair rampart
#

WHAT

copper nacelle
#

ยฏ_(ใƒ„)_/ยฏ

#

no idea

#

tbh

fair rampart
#

So to recap; code didn't work, added a line that did nothing and it worked, removed the line and it still worked even tho that's back to square one, and on top of that stopped a bug in another mod

#

What the actual fk

#

Hold on, let's see if the code that swaps Melody & Child randomly decides to work

#

Nope, that still doesn't work for some reason

#

Also the UHKP spam is back

#

I guess it does whatever it whats

copper nacelle
#

weary

fair rampart
#

I don't understand how the swap code works for PV but not NKG

#

It makes no sense

compact sedge
#

same

#

also disable dash related stuff in the uhkp settings

#

until I download rider to fix it

tranquil glen
#

how do i find out which room the game thinks my bench is in?

#

trying out different ways of setting my bench in a room that doesnt have one

rain cedar
#

respawnScene

tranquil glen
#

Thanks

hazy sentinel
dusky lion
#

verulean streaming the game i sent you when

#

that was 1.31 dollars veru

#

thats 2 bags of ramen and 31 cents

trim totem
#

i'll stream it for you finch

dusky lion
#

when a man has 1.31 dollars of leftover money in a steam account, sees a game called Deep Space Waifu for 1.31 dollars his only choice is to gift it to verulean

compact sedge
#

I don't have the font to properly show your name

rain cedar
compact sedge
#

sean if you were my friend it would instead say "you had one Friend who plays DEEP SPACE WAIFU"

rain cedar
compact sedge
#

why

#

why is draw a stickman: epic a game

trim totem
#

okay, this is epic

buoyant obsidian
#

I see you are a man of culture

compact sedge
#

there's not even enough nudity to jerk off to. what's the point?

trim totem
#

you aren't trying hard enough

dusky lion
#

sean what the fuck

#

wtf the fuck

civic hare
#

half life 2: lost coast is my favorite porn game

subtle rapids
#

Woah woah woah, back it up there

rain cedar
cunning lagoon
#

wtf

#

@hollow pier

thorn comet
ornate rivet
#

pogoing hornet's needle is a separate FSM grimm
REEEEEEEEEE

azure vessel
#

just make it same fsm lmfao

ornate rivet
#

I copied the SetCollider action the regular hornet needle has but you still can't pogo it sadgrub

flat forum
#

I'm gonna ask

#

the same question again

#

what layer was ground on again?

hazy sentinel
#

the ground layer intenseface

flat forum
#

...

solemn rivet
#

I have no idea papy

floral furnace
#

try asking ๐Ÿ…ฑngle folders last time i checked he knows which layers are which, i think

solemn rivet
#

AA is a ๐Ÿ…ฑlayer

floral furnace
#

yes Abyssal Angle

cunning lagoon
#

AA is not a ๐Ÿ…ฑodder

floral furnace
#

or is it Avenging Alchemist ๐Ÿค”

solemn rivet
#

or ๐Ÿ…ฑwsome ๐Ÿ…ฑrsonist thinkgrub

fair rampart
flat forum
#

Abyssal Angle

fair rampart
#

Close enough

#

Do you think "SShell + SBody = reduces hard landings" would be a good charm interaction?

#

I could do it really easily

solemn rivet
#

just sbody imo

#

sshell is sshit

fair rampart
#

SShell reduces downtime after taking damage by 0.12 sec, and increases post-damage i-frames by 0.4 sec

flat forum
#

Gradow, language!

#

There are kids in here

#

ahem 56 ahem

solemn rivet
#

sshell is sshit

ornate rivet
#

how old is 56?

solemn rivet
#

there, fixed it

fair rampart
#

56 never sleeps

cunning lagoon
#

5

flat forum
#

6

ornate rivet
#

17?

flat forum
#

younger

solemn rivet
#

15

fair rampart
#

I have never seen him offline

ornate rivet
#

wat, he is younger than me?

flat forum
#

Yes

ornate rivet
#

dang

cunning lagoon
#

no he's 15 not 10

fair rampart
#

Wait he's only 15?

solemn rivet
ornate rivet
#

what a genius

flat forum
#

Gradow is probably amongst the oldest here

solemn rivet
#

I don't think so tbh

cunning lagoon
#

shut up grandpa

flat forum
#

So, you are now legally obliged to refer to him as "father"

solemn rivet
fair rampart
#

I'm 6 years older than 56

flat forum
#

and no, "Daddy" does not count

#

You're Angle's age

solemn rivet
#

call me daddy

fair rampart
#

AA and AA are same person confirmed

flat forum
#

Gradow

#

why

solemn rivet
#

cause I'm your daddy...?

flat forum
#

Father, calm thineself down

ornate rivet
#

thyself

floral furnace
#

useless 20 year olds, represent ๐Ÿ˜ค

young walrus
#

shut up kid, get off my lawn

solemn rivet
#

mick is older than me

#

so I'm not that old

ornate rivet
#

oh so you're 50 and he is 51?

solemn rivet
#

+10

fair rampart
#

that's quick maths

flat forum
#

Oh wow

#

Mick

#

Grandpa Mick

floral furnace
#

anyone whos older than 7 micro seconds should leave

young walrus
#

dies

cunning lagoon
#

any 8 yo fellas here or am i the only one xD

flat forum
#

does Fortnite dance

delicate ether
#

is 32

#

yes, the stars aligned when i was 16, now 32, they will again at 48

fair rampart
#

Wait, why does does discord think I'm idle when I'm tabbed in, but not idle when I tab out?

young walrus
#

I don't care

delicate ether
#

you care enough to say you dont care

#

d'awww

cunning lagoon
delicate ether
fair rampart
#

Should I reduce SShell to 1 notch? Like any other charm that requires you to take damage

floral furnace
#

Shell is already a crutch tbh

weary oyster
#

in what

fair rampart
#

my mod

#

that I am making

weary oyster
#

what is the mod

#

like do you have a goal for it

copper nacelle
#

mfw papers calls me a kid but he's like a year older

floral furnace
#

goddamn young people

weary oyster
#

oh cool

fair rampart
#

So for SBody, should I reduce hard landing by half, or just put it at 0

copper nacelle
#

0

fair rampart
#

the default value is 0.8

#
            {
                HeroController.instance.HARD_LANDING_TIME = 0f;
            }``` that was easy
#

works great

floral furnace
#

make a monobehaviour with an
Update()
{
HeroController.instance.HARD_LANDING_TIME = 0f;
}

hollowface

copper nacelle
fair rampart
#

Why

floral furnace
#

yes

#

confession thats what i use to do

fair rampart
#

I've gone this far without using monobehaviour

cunning lagoon
#

amateur

fair rampart
#

I don't want to use it unless I absolutely have to

copper nacelle
#

Why

fair rampart
#

Because learning is hard

floral furnace
#

dude its easy

#

like, just make a class extended with a monobehaviour, then add that class as a component to the GameManager.instance

copper nacelle
#

You can add it to a new game object as well

fair rampart
#

The only thing I feel like I'd need monobehaviour for is the spawn lifeseed thing

#

I feel I could do everything else w/out

#

I guess I'll try to make a monobehaviour for the one thing I know I need it for now

#

how do I make a new class in VS?

#

In dnspy I would just click "add new class"

floral furnace
#

you can right click on your project then from there you can create a "new" something, which can be a class i mostly likely wrong i dont have it open right now

ornate rivet
copper nacelle
#

Log it

ornate rivet
#

ok

copper nacelle
ornate rivet
trim totem
#

ok, this is epic

ornate rivet
#

roasted

copper nacelle
ornate rivet
#

mmmm roasted maggots

#

tasty

copper nacelle
floral furnace
#

ngl i heard irl roasted maggots actually taste neat

ornate rivet
#

ok that's terrifying

#

don't watch it

cunning lagoon
#

ok, this is terrifying

floral furnace
#

too late i already am

#

and ofc they fry them alive what did i expect

cunning lagoon
#

well thery are not going to eat them when theyy are alive GWchadLENNYTHINK

fair rampart
#
using UnityEngine;

public class Joni : MonoBehaviour
{
    public Joni()
    {
    }
}``` what now?
#

How do I set up a mb

copper nacelle
#

why are you using a monobehaviour for this

fair rampart
#

I don't have to?

floral furnace
#

you either

  1. make another class that can be your "main" one where you can add components and stuff
  2. hook on savegameload and from there you add GameManager.instance.AddComponent<Joni>();
  3. just do what 56 said
copper nacelle
#

I mean you're just instantiating a prefab

#

why would you need a monobehaviour

fair rampart
#

IDK

floral furnace
#

Learning Experienceโ„ข

fair rampart
#

object reference required...

cunning lagoon
#

tpose on the monobehaviour

floral furnace
#

whats ur code

fair rampart
#
                {
                    bool flag = (float)UnityEngine.Random.Range(1, 100) <= 48f;
                    if (flag)
                    {
                        base.LogDebug(string.Format("Spawn Lifeseed"));
                        HealthCocoon.FlingPrefab.prefab.Spawn(HeroController.instance.transform.position + new Vector3(0.4f, 0.4f, 0f));
                        if (PlayerData.instance.equippedCharm_23)
                        {
                            bool flag2 = (float)UnityEngine.Random.Range(1, 100) <= 33f;
                            if (flag2)
                            {
                                HealthCocoon.FlingPrefab.prefab.Spawn(HeroController.instance.transform.position + new Vector3(0.4f, 0.4f, 0f));
                            }
                        }
                    }
                }```
copper nacelle
#

flag cornywoke

floral furnace
#

what line is throwing the error?

#

also flag is good yes

fair rampart
#

HealthCocoon.FlingPrefab.prefab

copper nacelle
#

why are you editing your code in dnspy

fair rampart
#

VS

copper nacelle
#

why flag

#

and flag2

#

and base

fair rampart
#

It should be abundantly clear by now that I don't know what I'm doing

copper nacelle
#

understandable

#

HealthCocoon is probably a component or something

#

You need to find a cocoon to take the prefab from it

#

You could load the scene at the start

#

Or you could get the prefab from resources

fair rampart
#

How do I do the last option?

copper nacelle
#

Resources.Load something something

#

Type you want is GameObject

fair rampart
#

Resources.Load with or w/out the carats?

copper nacelle
#

with

#

Unless you feel like casting everything

fair rampart
#

In the carat, I put GameObject?

#

Resources.Load<GameObject>("HealthCocoon.FlingPrefab.prefab");

copper nacelle
#

x

#

that's not the path

#

unless you know the path

#

you'd have to load all of them

#

and then find it in what it gives

fair rampart
#

Is there a mod that has an example of using Resources.Load that I could look at?

copper nacelle
#

no

#
            Resources.LoadAll<GameObject>("");
            foreach (var i in Resources.FindObjectsOfTypeAll<GameObject>())
            {
                switch(i.name)
                {
                    case "Geo Large":
                        largeGeoPrefab = i;
                        break;
                    case "Geo Med":
                        mediumGeoPrefab = i;
                        break;
                    case "Geo Small":
                        smallGeoPrefab = i;
                        break;
                }
}
cunning lagoon
#

where is draco

fair rampart
#

prob working on his magnum opus

floral furnace
#

did he post another wall of text when i wasnt here

cunning lagoon
#

no thats why im asking where he is

copper nacelle
#

@fair rampart also note that calling Resources.LoadAll lags the game for like 4 seconds

#

so don't abuse it or you die

cunning lagoon
#

diee

fair rampart
#
                        foreach (var i in Resources.FindObjectsOfTypeAll<GameObject>())
                        {
                            switch (i.name)
                            {
                                case "Health Scuttler":
                                    GameObject prefab = i;
                                    break;
                            }
                        }``` what am I doing wrong?
copper nacelle
#

u

#

creating a badly scoped var

fair rampart
#

I need more cases?

copper nacelle
#

you don't even need a switch

#

but you're prefab var is badly scoped

fair rampart
#

I just did what you did in the example

copper nacelle
#

e

#

consider this

#
{
     GameObject prefab = HeroController.instance.gameObject;
}
UnityEngine.Object.Destroy(prefab); // Cannot resolve symbol 'prefab'
fair rampart
#

Wait destroy?

copper nacelle
#

It's just an example

#

Do you see why that wouldn't work

#

If you don't, I'll explain it if you want

fair rampart
#

Ok explain

copper nacelle
#

ok so scopes are usually created using brackets

#

we can define a variable using

Type varName;
#

the variable will be scoped to the innermost set of brackets its in

#

In this case

#
{
     GameObject prefab = HeroController.instance.gameObject;
}
UnityEngine.Object.Destroy(prefab); // Cannot resolve symbol 'prefab'
#

prefab is scoped to those brackets around it

#

so stuff outside of those brackets

#

can't access it

#

because it's out of scope

#

so you could do something like

#
GameObject prefab;
{
     prefab = HeroController.instance.gameObject;
}
UnityEngine.Object.Destroy(prefab); // works now
#

because now the var is created in a scope >= to where destroy is

#

so it's fine

fair rampart
#

oh

copper nacelle
#

You could get their example to work by removing string message = and replacing with message = and having string message; before the if/else

#

sorry if i'm shit at explaining

leaden hedge
#

or just do

int score = 100;
if(score >= 50)
    Console.WriteLine("Good Score");
else
    Console.WriteLine("Bad Score");

intenseface

fair rampart
#

No, you're fine

leaden hedge
#

then Console.WriteLine("Good Score");

#

0/10 code intenseface

floral furnace
#

System.out.println is still the best hollowdab

leaden hedge
#

cout << "no u"

floral furnace
#

c++ lame

leaden hedge
#

I don't have to call 18 letter method to write to a console xd

#

needs more verbosity

#

Java.Windows.System.Console.out.printing.println when

floral furnace
#

make a method that accepts a string that prints it out ๐Ÿ˜ฉ

leaden hedge
#

sounds good

floral furnace
#

U S E R
E X P E R I E N C E

leaden hedge
#

and make a function that takes a number and outputs from a list of strings to that function

#

that way I only need to type log(527913591601610616023) to get it to output my text

subtle rapids
#

i need some unity help

leaden hedge
#

well you might get help if you ask an actual question

subtle rapids
#

that's an idea

leaden hedge
#

I can't answer "I need some unity help"

subtle rapids
#

ok well basically unity keeps freezing after i open my project

leaden hedge
#

you can reimport the entire project if theres an issue with it

#

usually that fixes it if the problem is with the project and not its files / unity

fair rampart
#

[INFO]: Health Scuttler (UnityEngine.GameObject)

copper nacelle
#

same

fair rampart
#

[INFO]: Health Scuttler(Clone) (UnityEngine.GameObject)

copper nacelle
#

also same

#

Can you load sprite collections by guid

#

tk2dSystem has```cs

private T LoadResourceByGUIDImpl<T>(string guid) where T : UnityEngine.Object
{
    tk2dResource tk2dResource = Resources.Load("tk2d/tk2d_" + guid, typeof(tk2dResource)) as tk2dResource;
    if (tk2dResource != null)
    {
        return tk2dResource.objectReference as T;
    }
    return (T)((object)null);
}
#

and if you get a frame from an anim the spriteCollections have a dataGuid

fair rampart
#

So I just paste that method into my mod?

copper nacelle
#

same

fair rampart
#

did nothing

copper nacelle
#

what

fair rampart
#

wait I think i'm being stupid

#

I wasn't logging it

#

Nope.

#

that still did nothing

#
        {
            tk2dResource tk2dResource = Resources.Load("tk2d/tk2d_" + guid, typeof(tk2dResource)) as tk2dResource;
            if (tk2dResource != null)
            {
                Modding.Logger.Log("" + guid);
                return tk2dResource.objectReference as T;
            }
            return (T)((object)null);
        }```
copper nacelle
#

what

#

why are you using that

fair rampart
#

Did I misunderstand?

copper nacelle
#

yes

#

in which case have fun

hazy sentinel
#

post T AssertDominanceViaPose<T>(meme

copper nacelle
#

i didn't

ornate rivet
#

nvm

copper nacelle
#

same

#

i just did

#

lordFsm.GetAction<SendRandomEventV3>("Attack Choice", 5).weights[2].Value /= 10f;

#

ยฏ_(ใƒ„)_/ยฏ

subtle rapids
#

ok well now unity opens but visual studio cant build my code

#

i cant even save it without debugging

ornate rivet
#

what's the difference between FaceAngle and FaceAngleV2

azure vessel
#

the 2nd one has V2 added to it

ornate rivet
#

ok modders of hallownest
Is there a tag for making stuff pogoable?

coarse cargo
#

how do I make use of the modinstaller after installing it

copper nacelle
#

open it

#

press install

coarse cargo
#

Yeah thats dine

#

done

#

then it says it cant recognize .1 files

#

wich

copper nacelle
#

what

coarse cargo
#

of course

#

then i tried again

#

and it said Searching for updates and never moved on

compact sedge
#

no, but there's the opposite @ornate rivet

#

there's a thing you add to objects to make em unpogoable

#

and you can destroy that thing

#

and they become pogoable

coarse cargo
ornate rivet
#

ok please tell me how

#

I need to make hornet's needle pogoable

copper nacelle
#

Does it have TinkEffect and a BoxCollider2D on it

#

that's what the wp saws use

#

and it causes pogo

ornate rivet
#

nope

#

we checked remember

copper nacelle
#

could try adding it if it has a box collider

coarse cargo
#

Sadly I think this is the only easy way to mass install mods

copper nacelle
#

why'd you pirate the game

coarse cargo
#

i pirated an older version

copper nacelle
ornate rivet
#

why would you pirate it to begin with

coarse cargo
#

For an older version

#

I have it on steam

mortal trout
#

just downpatch

hollow pier
#

????

mortal trout
azure vessel
#

20 hrs in

#

already wanna mod

#

hmmm

copper nacelle
#

If you let it check for updates it should just run

ornate rivet
#

nothing wrong with that Dash

coarse cargo
#

Yeah I finished the game I just cant beat NKG and the last 2 pantheons

#

I have over 2400 essence all the mask and vessel upgrades

copper nacelle
#

just remove NonBouncer

ornate rivet
#

wat

copper nacelle
#

.

coarse cargo
#

But NKG I cant beat

ornate rivet
#

wtf

fair rampart
#

In 20 hours?

ornate rivet
#

ok thanks

fair rampart
ornate rivet
#

I cant read

copper nacelle
#
UnityEngine.Object.Destroy(_needle.GetComponent<NonBouncer>());```
coarse cargo
#

Yeah I played it basically straight for 5 days

copper nacelle
#

easy

ornate rivet
#

yea thankee

azure vessel
#

wow

#

u 100% the game first playthrough

young walrus
#

Cool. Now buy the game

azure vessel
#

in 20 hours

#

how

copper nacelle
#

but he did

coarse cargo
#

No

#

I didnt beat trial of the fool

young walrus
#

Then update the game

azure vessel
#

dude

coarse cargo
#

The steam version is updated

young walrus
#

So mod it

fair rampart
#

1.4.3.2

young walrus
#

I don't understand the issue here

coarse cargo
#

It also doesnt work

azure vessel
coarse cargo
#

Thats why i got the older version to try

hollow pier
#

did you pirate the mod installer

copper nacelle
#

Verify your game integrity

young walrus
#

Are you selecting the proper file location for steam?

copper nacelle
#

Right click it in steam

#

Properties

young walrus
#

Did you get the mod installer from here?

coarse cargo
young walrus
#

Yeah. Dont

copper nacelle
#

get the new one from pins

#

that one has a fucked auto updater

#

iirc

coarse cargo
#

Oh

copper nacelle
#

or from that

iron crown
#

why is the thumbnail zote

copper nacelle
#

because zote

coarse cargo
#

Sorry to waste your time guys

fair rampart
azure vessel
#

cuz they cant think of original jokes

coarse cargo
#

Im really dumb

azure vessel
#

no ur not

young walrus
#

Hi really dumb

ornate rivet
#

UnityEngine.Object.Destroy(needle.GetComponent<NonBouncer>()); didn't change anything

copper nacelle
#

noot

#

Was that after instantiating

azure vessel
#

mick are you austrailian?

copper nacelle
#

Did NonBouncer return non-null

azure vessel
ornate rivet
#

yea after initiating and it didn't give any exceptions

young walrus
#

Isn't the needle already a pogo object

coarse cargo
copper nacelle
#

It should be but the prefab doesn't seem to be

fair rampart
#

How do you get these dumps?

copper nacelle
#

There's an extension in modcommon if you want ones w/ everything in it

young walrus
#

Sit on toilet

copper nacelle
#

and some more minimal ones in the enemy rando folder

ornate rivet
#

ModCommon.GameObjectExtensions.PrintSceneHierarchyTree(gameobject);

copper nacelle
#

It's an extension

azure vessel
#

56 did u update soul bar in invertknight?

copper nacelle
#

no

azure vessel
#

cuz it never gets full

#

weird

copper nacelle
#

what

#

eeeeeee

azure vessel
#

idk ill send screenshot later

#

its visual bug

ornate rivet
#

I want to die

azure vessel
#

not affecting gameplay

copper nacelle
#

same

ornate rivet
#

why is the needle bouncing a separate game object from the needle WHYYYY

copper nacelle
young walrus
#

๐Ÿ

azure vessel
#

๐Ÿ•ณ

ornate rivet
#

I tried cloning the needle tink gameobject and changing the copy's fsm to connect to the cloned needle but I am doing something wrong

azure vessel
#

try harder

copper nacelle
#

that's probably not what hornet does

ornate rivet
#

but hornet boss 2 uses "Needle Tink" in the SetCollider action as the game object

copper nacelle
#

Then it's setting Needle Tink

#

just do what it does

#

You can ever iterate over the actions and OnEnable them yourself

#

It activates Needle

#

sets velocity by angle

#

and then turns on needle tink

#

which follows needle cause it has a follow fsm

iron crown
#

needle tink

copper nacelle
#

yes

iron crown
#

is that supposed to be the guard

copper nacelle
#

ยฏ_(ใƒ„)_/ยฏ

#

it's on throw

#

hornet plays throw anim

#

then activates needle

#

then turns on needle tink

ornate rivet
#

but when I add the turn on needle tink to the cloned needle, nothing happens

copper nacelle
#

whatmst

ornate rivet
#

Isn't this what you're telling me to do?
_needleControl.AddAction("Init", _control.GetAction<SetCollider>("Throw", 10));

copper nacelle
#

no

ornate rivet
#

activate needle then set the velocity angle then turn on needle tink

#

well I should move needle tink to the end of Out

#

not init

#

but I don't think that's what you mean either

#

I feel like it would be easier to just use the radiance's spears

#

instead of this shit

copper nacelle
#
            GameObject needle = _control.Fsm.GetFsmGameObject("Needle").Value;

            needle.transform.position = new Vector3(gameObject.transform.GetPositionX(), gameObject.transform.GetPositionY() - .5f);
            needle.SetActive(true);
            needle.GetComponent<Rigidbody2D>().velocity = new Vector2(38, 0);
            
             _control.Fsm.GetFsmGameObject("Needle Tink").Value.SetActive(true);
compact sedge
#

is this lightbringer

copper nacelle
#

no

ornate rivet
#

is _control Hornet in there?

copper nacelle
#

no

#

it's Hornet's fsm

ornate rivet
#

oh yea that's what I meant

#
needle.SetActive(true);
needle.GetComponent<Rigidbody2D>().velocity = new Vector2(15, 0);
_control.Fsm.GetFsmGameObject("Needle Tink").Value.SetActive(true);

Same thing right?

copper nacelle
#

Where are you getting needle from

ornate rivet
#

needle is the cloned from _control.GetAction<SetPosition>("Throw", 4).gameObject.GameObject.Value

copper nacelle
#

why not just use the var

ornate rivet
#

idk

copper nacelle
ornate rivet
#

what do you mean use the var? If I use the same needle as the one hornet uses then how would there be more than one on the screen?

copper nacelle
#

Instantiate a copy of the var

#

easy

ornate rivet
#

Instantiate(_control.Fsm.GetFsmGameObject("Needle").Value); ?

copper nacelle
#

Yeah

ornate rivet
#

Why isn't that the same as
Instantiate(_control.GetAction<SetPosition>("Throw", 4).gameObject.GameObject.Value);

copper nacelle
#

it's less ugly

ornate rivet
#

well yea but it still doesn't work

copper nacelle
#

Did you remove NonBouncer

ornate rivet
#

uhh

#

I commented it out

copper nacelle
hollow pier
ornate rivet
#

nope, still doesn't work

copper nacelle
#

noot

#

Does it make noise

#

does it do damage

#

does it exist

ornate rivet
#

yes

#

idk about making noise

copper nacelle
#

hit it

ornate rivet
#

ok

#

nope, my nail just goes through and makes no noise

copper nacelle
#

uhhhhh

#

I guess you could try adding TinkEffect to it

#

might work as a replacement for the fsm

ornate rivet
#

adding to what

copper nacelle
#

Does it damage or move you if you try and go into it

#

TinkEffect

#

It's a component

ornate rivet
#

it does damage and cause knockback

copper nacelle
#

ok

#

try adding TinkEffect then

ornate rivet
#

needle.AddComponent<TinkEffect>();?

copper nacelle
#

Yeah

hollow pier
#

you ever go from modding to speedrunning and the last message in both is 56 saying Yeah

copper nacelle
#

Yeah

ornate rivet
#

nope sadgrub

#

no difference

copper nacelle
#

Send dll

ornate rivet
copper nacelle
#

nice

#

what the fuck

#

is she supposed to have a perma force field of death

ornate rivet
#

just for 5 seconds, no?

fair rampart
#

lol

ornate rivet
#

I'll make it 3

copper nacelle
#

oh she did sphere => sphere