#archived-modding-development
1 messages Β· Page 457 of 1
I thought upward slash just cancelled your upward momentum entirely
But I wouldn't know, I'm not a rapper
I couldn't find it
@floral furnace is your gun mod still alive?
i have a suggestion for scills
shoot
garmond
ive already implemented 8 direction shotgun boosting but ill see if i can implement a nade one
feel like it would be a cool little touch
also saleh i cant find anything about top recoil but i did see something equiv of
public void ShroomBounce()
{
this.doubleJumped = false;
this.airDashed = false;
this.cState.bouncing = false;
this.cState.shroomBouncing = true;
this.rb2d.velocity = new Vector2(this.rb2d.velocity.x, this.SHROOM_BOUNCE_VELOCITY);
}
but im guessing youre looking for bouncing in general?
yeah ill try replacing fireball with a nade skill
im just not sure what you mean by boosting
the speedrunner way where theyd use explosions to pogo or?
nade explosions propel you basically, but it would require some tricky velocity manipulation
ill try that
hopefully it doesnt cause too much softlocks, considering you can shotty boost yourself and im planning on changing a charm that allows you to keep using wings midair, at the cost that the 2nd wings you do uses soul/increase heat wtv
e.g. you can shotty boost on top of a nade boost to up your velocity more and send you going further
idk how unity handles velocity caps but in source it's basically if you are airborn your velocity is uncapped
a bit tricky to implement but i do like the sound of it, i still need to learn how to make objs bounce around like a ball
i kinda do the shotty boost in the most forced way, for some reason i cant manually override the players x velocity
saleh actually should have some experience with that with his modding malady stuff that he did with PC
so what instead i do is replicate the recoil method and the shroom bounce method which allows me to "briefly" override it
yeah ill go ask them once theyre not busy
the boosting stuff is something im not fully doing atm since i still have to replace/change the charms, nail arts and spells atm
but i am looking forward to it at least
at least change them all of them a bit in some way, but yeah it does come with the issue of it turning into "changing it for the sake of changing it" or "the change is negligable" or ideas overlapping each other etc etc
yeah pretty much the lightbringer approach
i'm sure there's a good amount there that you could simply rip off of other FPS's like extended magazines / reload speed / extra ammo
oh yeah stuff like that is my current dillema too
i kinda removed the ammo system before because it felt way too uncessary
last plan was to make ammo drop by chance on enemy death but, some of it just doesnt blend well with HK????
also its hard to add those system eitherway because i also go through the issue of HK not being balanced that much for ranged play either
you could maybe do that for nades only or like some type of special weapon
regular weapons should ofc not be having to be managed
nade im planning on changing for the fireball, so instead im currently THINKING that i should just make one gun, with different firing modes, which can be modified/enhanced thru charms
fire modes so far are 1. regular (gain soul) 2. shotgun (shit range) 3. burst (eats your soul fast) 4. sniper (burns ur gun fast) 5. tentative but i wanna add a flamethrower just as a "fuck it i dont even care how dumb this mod is"
sounds good
im still eh with some of it cuz b a l a n c e but if you have shitty ideas then just DM it to me ( no like seriously i lack the creativity when thinking up stuff please help me)
how do you get the entity name of the statues in the HoG?
there's probably a better way but I looked at the scene printout
thanks
you're welcome
you're welcome
mino shut up
Seriously mino I'm not joking
You offer nothing helpful
Ever
You just spam
Sure
Sick of your shit
Right because "np np you're welcome" is so helpful

same
is there a list of all the HoG dialogue that the LanguageGetHook handler uses?
I dont think so, you just have to go to the dialogue you want and log the key
How do I do that?
private string LangGet(string key, string sheettitle)
{
string text = Language.Language.GetInternal(key, sheettitle);
Log("Key " + key);
Log("Text " + text);
return text;
}
something like that
ok
ok
getting a lot of IO exceptions
is that just the general error for the mod not being able to load?
Is your mod set to net35
target framework?
Yeah
.NET framework?
yes
time to download it 
did you press yes when it asked for permission?
yes
maybe you need to use the actual visual studio installer thingy?
@copper nacelle
I tried offline installers that totally weren't viruses and they didn't work either
and I have that installed
you don't have this though?
have you tried getting to the installer with install other frameworks
I can see if I can uninstall and reinstall .NET 3.5 dev tools
does this box mean I don't have it installed?
I hope me having the trial version of windows isn't causing any of this
hit the + sign and see if 3.5 is selected

am confuzzled
π― Please all knowing Modding Staff come and help π―
a k a @copper nacelle
sorry for having to bug y'all so much
This channel would be useless if people didn't come and bug
looks like 3.5 comes with Windows 7 but this is a new desktop with W10 installed right away
I dont think your windows version matters
tried that download too a while ago
maybe if I just try again 
yep, still prompts me for permissions then nothing happens when I choose Yes
if you look in the alt tab menu is there any run dialog
no
and opening project settings again?
yeah
wtf it's in new project
got em
uwu what did you do
changed the <TargetFramework> tag in the .csproj
oh ok
look under references after and remove the fucked ones if there are any
with yellow !s?
yeah
no
it'll work on those platforms?
yes
nice
is there a reason Framework only lists windows while Core lists mac and linux too?

seems to be a conflict between my mod and pale prince with the statue's glow effect
probably because I stole 56's code straight up
hi saleh
has the statue glow always been glitchy?
well no one seems to have noticed until me just now so it works
so the top and bottom sections represent TL's right and left waves respectively in the "Waves" state
any idea how I can distinguish between the two?
right now, _control.GetAction<SetVelocity2d>("Waves").x gets the right one, which I assume happens because it's first?
i think you can get specifically get the index of those fsm actions
^
0 starting with the first set velocity2d
it would be 5 for the second one
i havent touched fsm for a long while now but i think GetAction allows you to overload it with the first param as the index and the 2nd as the name right?
sid man you know this stuff
ahh kk
should be five yes
get the setvelocity for both index 0 (which is the first one) and 5 (which is the bottom one)
if you screw up the index it should throw an exception anyway if i can still remember it
so if I want to double the speed of the waves, it'd be:
_control.GetAction<SetVelocity2d>("Waves", 5).x = -24;```?
I tried that and none of the waves sped up
wait
I didn't show you the rest of the states, so the indices are actually 1 and 6 
weary pensive
2 and 7
yeah you usually have to count it manually, dunno if the newer latest version of the fsm viewer shows the index
nope
jngo
COOL MOD WHEN IS IT OUT
good hitbox
https://streamable.com/luq6a
and mola
after silksong comes out
is my estimate
shoot shoot shoot
never π
;(
I set the downtime between attacks to 0 and now that weird hitbox occurs
anyways im just here to let you know that its rly cool and i appreciate you
also i wanna make a mod soon
make one

with your good art
so was I
just steal code
you wanna make mega infected TL sprites
doesnt sound too bad TL doesnt have many sprites
what sort of idea of "mega infected" are you looking for?
load assetbundle, apply sprite renderer material to sprite it creates
like a darker green shell, more tattered cloak, orange cracks along the body
kinda like an enhanced necromorph from dead space
ok ill see what i can do when i find the time
no rush
@fair rampart Make sure that you're not skipping a collider set
I did that for pv's slashes
and then the slashes stayed forever
what're those?
yes
in idle?
oh I see the Idle
RemoveAction()?

where do transitions into that removed state go?
that is not a state
the perfect feature
lostkin.avi
that isn't a video of the boss staggering onto you
woah alu wants to make a mod
Guide to using AssetBundle Magic
Note: You need to use the Unity version that matches the game. As of 9/29/2019 this is Unity 2017.4.10f1
What do AssetBundles do?
AssetBundles allow you to export and import assets (prefabs, shaders, animations, sprites, scenes, etc.) in Unity, thus allowing you to create your asset with the Unity Editor and bring it over to HK.
In the Editor:
First, drop this into your Unity Editor's Assets folder:
https://github.com/Unity-Technologies/AssetBundles-Browser
This will create a new menu item in the Window tab called AssetBundle Browser.
Open this up and go to the Configure tab. Right click on the left side of the menu and choose Add new bundle. Now drag all the assets you want bundled into the AssetBundle you just created.
Go to the Build tab and choose the Build Target (you will want to build one with Windows, Linux, and OSX if you want your mod to work for everyone). Choose where you want the files to build to, I suggest ./hollow_knight_Data/StreamingAssets. Now click Build.
Note: If you are bundling a scene, I recommend keeping the Unity scene and the assets of the scene in separate AssetBundles.
In your mod:
Begin by loading your AssetBundle with:
AssetBundle ab = AssetBundle.LoadFromFile(PATH);```
If you put your AssetBundle in the StreamingAssets folder, you can use this as PATH:
Path.Combine(Application.streamingAssetsPath, "BUNDLE_NAME")```
Get an array of all your assets with:
Object[] assets = ab.LoadAllAssets();```
Find a specific asset with:
ab.LoadAsset("ASSET_NAME");
To get a scene:
```csharp
AssetBundle ab = AssetBundle.LoadFromFile(PATH);
string scenePath = ab.GetAllScenePaths()[0];
Additional note when bundling a 2d sprite:
Be sure to set the material of the sprite's spriterenderer, otherwise it will be pink.
yourGameObject.GetComponent<SpriteRenderer>().material = new Material(Shader.Find("Sprites/Default"));
@fair rampart
did you write this
yea
bundles assets
thanks
thank you for the tut
you're welcome jngo
do I really need to do this again
fine
Zaliant shut up
Seriously Zaliant I'm not joking
You offer nothing helpful
Ever
You just spam
Sure
Sick of your shit
Right because "np np you're welcome" is so helpful
Btw I hope I didn't upset mino with that same copypasta yesterday
They've gone oddly silent
Let's check
@jovial vault
What?
No Iβm just busy
I donβt really care either way, but thanks for the consideration jngo I appreciate it
π
jngo thank you
Seriously jngo I'm not joking
You offer kind words
Ever
You just say nice things
Sure
elated of your kind words
Right because "π" is so helpful
Is this how you make a new scene transition?
GameManager unsafeInstance = GameManager.UnsafeInstance;
unsafeInstance.BeginSceneTransition(new GameManager.SceneLoadInfo
{
SceneName = sceneName,
EntryGateName = "left1",
EntryDelay = 0f,
Visualization = GameManager.SceneLoadVisualizations.Default,
PreventCameraFadeOut = true,
WaitForSceneTransitionCameraFade = true,
AlwaysUnloadUnusedAssets = false
});
cause it's not working for me
also, is there a list of all EntryGateName names?
preferably the one used for entering dreams
Now the textures stop loading and the knight thinks it's on the ground until I dash
https://streamable.com/u0sq5
saleh what the fuck
the next step in hk modding evolution
this looks perfect wdym
ok so I fixed the textures but the knight is in constant shade for some reason
and I still have the problem where when the knight spawns, it thinks the air is the floor until I press dash (or use most other movement abilities)
ssaleh best mdder change my mind
ok so
how do i acess box collider of the knight
HeroController.instance.GetComponent<BoxCollider2D>()
thank
ill just
private BoxCollider2D boxCol = HeroController.instance.GetComponent<BoxCollider2D>()
should this work
you have to make sure herocontroller exists
how
when are you doing that
well idk im just planning how to write the mod
what was the name of the thing that i should press while creating a new project in vs for hk modding
yea don't do that. Have something like:
private BoxCollider2D boxCol;
private void Start()
{
StartCoroutine(WaitForHero());
}
IEnumerator WaitForHero()
{
yield return new WaitWhile(() => !HeroController.instance);
boxCol = HeroController.instance.GetComponent<BoxCollider2D>();
}
Class Library maybe?
you would have to make sure both boxCol and herocontroller exist before you use them in update
it finds and stores the boxcollider when the hero is found
so i can write code in update after the code abovee?
this all depends on what the script component is attached to
if it's already attached to the player then you dont need to do any of this
but most likely you will attach it to gamemanager
im confused 
update is going to start running over and over again from the very moment the code is enabled. So you need to check if the boxcollider exists in Update() as well before you do anything with it
private BoxCollider2D boxCol;
private bool isSetupDone;
private void Start()
{
StartCoroutine(WaitForHero());
}
IEnumerator WaitForHero()
{
yield return new WaitWhile(() => !HeroController.instance);
boxCol = HeroController.instance.GetComponent<BoxCollider2D>();
isSetupDone = true;
}
private void Update()
{
if (!isSetupDone) return;
//stuff you want to do
}
do you understand this?
I killed sugar 
how could you
what?
you are bad
continue
WHAT
this is incredible
I really should read the docs
why hadn't anyone told me about this

Is there something else I need to do after begintransition?
is there a transition point I need to make or something?
is this the screen that i should be seeing
absolute uknight
is this normal
you mean examples
yes
ok
this one should be a simple example
https://github.com/SalehAce1/FuryAlwaysOn
you need to add references
any reference
only if i knew how to
and then
Browse
if you hover over the red underlined text in the editor it usually tells you which reference you're missing
Get the right dlls from \hollow_knight_Data\Managed (Assembly-CSharp.dll) and modcommon from the mods folder
wait wat it never does that for me jngo

idk if you need to after adding them but I checkmark them
thank you , really 
yw
you need to add other dlls too
x
buddo that's not all of them
I'm telling you, you dont have them all
you dont even have the core module and unityengine in there
at first it gave me an error

i forgot what it said 
it said that you already added some of the ones you are trying to add now
no
adding randomly instead of just the ones you need 
it says that this is referenced already by project to this compΔ±nent
implying i know what they mean

you probably tried adding the System dll
i just ctrl + a and then deselected mods folder
add UnityEngine.CoreModule.dll and UnityEngine.dll
is there a way to remove a state in fsmutil?
@copper nacelle
Not in fsmutil
But you can get rid of all transitions to it
And then remove the state from the array
so the args for removetransition are _control, the name of the state with the transition going into it, and ???
where do I find the transition name?
Make a copy of the array without the state and then set the array to that
is removing from the array purely a memory management thing?
cause I removed the transition only and it still worked
btw, no more empty walks from TL π¦
yes
uh wtf
the effect is kind of cool but I have no clue why it's suddenly happening
It's like if I disabled the knight's invulnerability
except I dont do that
hmm
HALP
Why does this go from dash/flair to fly, then to upWind whenever I want it to go to upWind
it should just go from dash/flair to upWind
@leaden hedge
shit code
I think the speed is good, but I definitely need to up the difficulty with new attacks
https://streamable.com/xpgus
very cool
how would I modify the eventMax values here? The editor says I need an FsmInt[]
make an array of ints and set eventMax to that?
(fsm action).eventMax[index].Value = whatever
thanks
@copper nacelle did you go into Unity and experiment with particles in the editor to see what looked good for the trail before doing it programmatically?


would I need to use an assetbundle if I wanted sprite particles?
is that in mainTexture?
yeah I meant texture sorry
the default is squares I think
ok yeah I fucked it up then
any idea how I would go about looking for and applying a sprite to the particle system?
I just stole the unity one
I assume they wanna know what field to change π
say I wanna add smoke_cloud_orange
idk if Sumwan's assets drive is organized according to how the game organizes its assets
or if that even matters 
Copy the texture I used into a render texture and then back into a texture and export to png
and then replace it with the smoke cloud and load it
easy
uh
smh just do everything with unity editor
so much less code and it's the intended way
@fair rampart that looks pretty cool
how do you create an event to transition to a custom state?
is there an example in PP?
I saw a "TELE" event
make the state using CreateState or CopyState
and then just use AddTransition
the transitions on a state are under the Transitions field
is there a way to create logic to trigger events?
I made it so that TL aims at you during the diagonal slash
wdym
and I want it so that when he reaches a wall he transitions to a custom fall state
you can add a BoolTest or insert a method which checks a bool
there's a check collision action i think
in playmaker?
yeah
but the action lets you specify side
could also just add it in code
OnTriggerEnter2D
I'll fiddle around with it
you can do SetState from code or just _control.Event
No I'm pretty sure antic means prank
these bosses are pulling off a lotta pranks
This is modding development
Yes
It was towards someone who came here asking a question on installing rando, not jngo
they deleted their comment
isn't that how it was before too though 
this channel was called modding-discussion before
oh wow my memory is worse than I thought
I really didn't expect people to scroll past #archived-modding-help to get modding help
actual cursed channel, tbh
the funny part is is that they posted here because Papers told them to go to #archived-modding-help after asking for help in #modding-discussion , so they came here
Β―_(γ)_/Β―
does anyone know any way of accessing the quake waves of soul tyrant and putting them into another scene?
I tried looking at DoH but it accesses FSMs that are separate from the main one for their respective boss
ST's waves are in his main Mage Boss FSM
there's gonna be a spawn object from global pool or something
take the object out of there, instantiate it, set it inactive, and make it donotdestroyonload
whoops 

oh no
ok, so I tried to make so that every time TL lands it generates quake waves
but instead it spawns another ST
gpz also has earthquakes if you want to experiment with that
ask saleh he rips from bosses all the time
find the name of the wave from the scene hierarchy
I would give it to you but I am not at home
yeah I'm considering GPZ or soul master cause soul tyrant's waves are too tall
isn't it probably the same go but with a scale change?
it should really already be inactive
but it makes it not do anything
you don't want the wave to trigger and kill itself before you use it
It makes the go and all of it's components not do anything
I set it to both true and false for the waves to test the difference but they behaved the same
in either case they didn't move even when I set their rb velocity
but otherwise they appear and animate
nice
I just need to figure out how to get the waves to move
idek if the waves have a hitbox
those are particle emitters right
yes
is this what you want?
This is how I did it
PlayMakerFSM lord = PropellerKnight.preloadedGO["wave"].LocateMyFSM("Mage Lord");
GameObject go = Instantiate(lord.GetAction<SpawnObjectFromGlobalPool>("Quake Waves", 0).gameObject.Value);
PlayMakerFSM shock = go.LocateMyFSM("shockwave");
go.transform.localScale = new Vector2(1.6f, 1f);
shock.FsmVariables.FindFsmBool("Facing Right").Value = true; //Use this to tell it to go right/left
shock.FsmVariables.FindFsmFloat("Speed").Value = 25f;
go.SetActive(true);
go.transform.SetPosition2D(POSITION); //Make sure this is on the ground or else the fsm wont work (it looks for ground)
currently waiting for 56 to find 5 million things wrong with it
where'd you find the shockwave fsm?
any preloader
from the Mage Lord go in its Mage Lord fsm
wut iz preloader
the greatest thing since sliced bread
It let's you load GOs from scenes before the game starts
it gives you a nice progress bar too
pale champion uses it
would that prevent seeing a scene for 2 seconds when you load your game like with DoH and my current version of TG with GPZ's scene?
this is built into unity?
correct
what type is PropellerKnight?
wdym?
probably asking if its a gameobject, fsm etc
a class?
preloadedgo is a static dict
I assign values to it in initialize()
{
preloadedGO.Add("wave", preloadedObjects["Ruins1_24_boss"]["Mage Lord"]);
...
}
It may soon be time for me to start working on my mod again. Does the new API help a lot compared to modding before the grimm troupe update?
yes
Glad to hear it. :D
Is the api documentation still being updated? Looking through it a fair amount still has "TODO" listed.
not really
There's the pinned docs with like examples and the TODO sections and then there's the xml with like method descriptions and stuff
Ah dang... well, I'll have to figure that out then...
What mod are you making?
Ah
now I need to figure out how to make them damage
uwu hot
is that really it
the fsm doesn't add it either 
Is there a way to set the damage with DamageHero?
coolio
propeller knight will also use the wave attack now thanks to you jngo
pog
I'll pay you royalties in reaction dollars
if you spawn, theoretically, 100 GOs with them starting their own coroutines
how much will this tank performance
no simulatenously at least, probably with a 0.2 second gap inbetween
It really depends on what the coroutines are doing
You can easily tank performance with just one
alrighty, thanks
preloader good
preloader god*
preloader*
preloader gd
should I listen to Rider's recommendation to change certain type declarations to var?
thought so
i do the use var when the type is already in the statement thing
gradow made blackmoth
he wont fix whatever the problem is probably
this sounds like a vanilla bug
i dont have to waste my time now
It's a vanilla glitch, so don't bother Gradow
oh ok
btww
heres what to do to activate glitch (at least i did)
GET ALL CHARMS with debug mode
TELEPORT TO BLACK EGG
and bum
he gone
for no reason
you just fight invisible screams
thank you for telling us this in #archived-modding-development
that assuredly has nothing to do with it
sounds like none of that has anything to do with blackmoth lol
HMMΓ
sigh
ok
How do I check FSMs using the preloader?
what do you mean?
you can only find gameobjects with the preloader if that is what you mean?
I think so
I'm trying to find TL's sickle fsm but it's not there like waves are with ST or GPZ
How can I do that?
UniityEngine.SceneManagement.SceneManager.GetSceneByName("Name").PrintSceneHierarchyTree()
i'd use GetActiveScene though
oh I thought he had the sickle go
that works too
if you have the sickle go then do sickle.PrintSceneHierarchyTree()
that will output a file to the Mods folder
thanks
yw
does addmethod append the method to the end of all the other methods in the state while insertmethod lets you specify where to put the method among all the other methods by index?
method
it should yeah
no
@fair rampart It's not between methods
It inserts/adds an fsm action (InvokeMethod) which has an Action
So the add/insert is between the other fsm actions, not between the methods themselves
sorry for being big dumb, but could you clarify the difference between an action and a method?
a method is like a codeblock which as statements to do things, an action is a method that doesn't return anything but can take params
o you meant action as in fsm actions lol
jngo, i am pretty sure by saying method you are referring to fsm actions, if that is the case, what you are saying is correct
you don't need to get too hung up on terminology
yeah I should've referred to them as that
still blanking out on creating custom states and connecting them to the fsm, but I'll keep trying
what are you having issues with
when TL does his diagonal attack he immediately transitions from that state "DSlash" to "Land"
I'm making it so that the DSlash tracks the player, so I want to insert a custom state between those two where if TL hits a wall or the ceiling, he transitions to a "Fall" state
otherwise he just gets stuck
or in my current implementation, teleports immediately to the ground for some reason
unfortunate
i would need to look at the fsm to be of any help which i can't be bothered to do rn
ping 56
effessemm
we can't really help without knowing the custom state's code
I've been doing a really dumb hard coded approach where if TL reaches the left and right x bounds of the arena or ceiling y height, it sets the current state to a custom "Wall Fall" state
the action of that state should otherwise just be play the fall animation that he does when he first enters the fight and set the rb velocity to (0, -fallSpeed) I think
There's definitely a better way to do the transition tho
You could look at nkgs dive thingy
You should just check collision with the wall layer though
I think walls and floors both count as terrains
https://cdn.discordapp.com/attachments/327461802311155714/570391097226952734/unknown.png
yeah its all in layer 8
How are you checking this?
checking what?
I got that list from nes's hk editor
you mean check the layer?
if (go.layer == 8) ...
of course you would want that in an ontriggerenter2d or oncollisionenter2d
something like, if TL contacted a layer 8 GO and TL is above ground, do falling
Unrelated to that
why is this not finding the GOs I want?
foreach (var i in FindObjectsOfType<GameObject>().Where(x => x.name.Contains("ballBig")))
ok unity is having a seizure
logging all GOs also doesn't bring those up
I thought you could still find GOs that are not active with that?
apparently not
Now it's time to add this to hk
https://streamable.com/2cajv
the ship twitching slightly makes me want to die
I'm a few hours late, but I think there's a FindInHierarchy() or something like that.
Also does PlayerDataTracker have hooks I can use? It might be the easiest way for me to implement my mod.
Last time I made a mod it was before hidden dreams and I would just edit the player data script...
why do you want to hook player data tracker
the API has hooks for player data vars getting set anyways
Oh that's what I want then.
I have no idea how to use the API so I'm having trouble getting started...
What are you trying to do, you could just fork the tracker
I want to modify and change how charms, vessel fragments, mask shards, etc... affect Glowing Womb
I mean the hard part about that is changing glowing womb
In the past, most of the information I modified was in the player data script in the dll of the game, but now there's an api and I have no idea how to use it.
It was almost 2 years ago that I did that though...
Yet, I did not link PlayerData...
I understand you linked hooks, but those don't tell me how to interact with player data. I need to change nail damage and spell damage and lots of other things.
Plus I have no idea how or when to call these hooks.
I'm sorry.
I guess what I'm trying to say is that I'm not really understanding this reference page. Like the first things on there don't seem to be describing how it works so I feel like it's too vague.
Like do I do that ModHooks.Instance.SetPlayerBoolHook += and then just type out 20 lines of checks and stuff? Do I have to have a particular format? Do I surround it in quotes?
I have heaps of questions about what that means.
and what it does
and where it's called.
Also it's confusing because Initialize() is usually only called once but this says it'll run every time the game tries to set any bools.
Yes, that's what I'm looking at as I type this all out.
Initialize runs once to set up a hook, and the hook runs when called
Oh! I get that now. Thanks! That answers that, but what about formatting?
thanks @ornate rivet
Again that tells you how to do it Voila.
ModHooks.Instance.SetPlayerData += [press tab here and vs will automatically make a function for you]
every time the game sets player data, your function will also run
yw jngo, idk what I helped you with though 
They probably are trying to set up the mod.
Yes, I am. I'm very confused about how to do that.
Reference the api and include modding; create a mod class with an override initialize method
You should look at a few other mods on github for examples
This should be pinned: https://github.com/seresharp/HollowKnight.Modding
you should make TL shoot projectiles midair or dive into the attack that makes the big wave
@fair rampart
Thank you!
bUt ThAt'S pRoJeCtIlE sPaM
embrace projectile spam
any idea how I could get a thorns terrain gameobject from like QG?
Fungus3_08 should have some
here's the scene
thanks
it probably doesn't have an fsm since it doesn't do anything
true
Pretty sure this was pinned at one point, not sure why it isn't anymore.
The only godmaster scene it has is the hall of gods unfortunately
damn now I can't mod the junk pit to be full of crystal hunters
I preloaded the thorns with Fungus3_21 and Thorn Collider as the keys but I can't seem to get them to instantiate
dont get the thorn collider tbh, better to make your own damage collider
how are you instantiating the thorn?
try .active = true
smh tacco it's setactive
echhhh :ech:
Instantiate(preloadDict["Thorns"].gameObject)
I tried w/o gameObject too
I'll try SetActive
well if you're lazy you just add a boxcollider2d and damagehero component
also, check to see if Instantiate(preloadDict["Thorns"]) is null or not
add debugcollider too
well I'm able to print a hierarchy tree of the object
where I instantiate it?
what?
the .cs file in which I'm trying to instantiate the thorns in?
no I mean the hierarchy tree
welp
you will need to use the scene hierarchy I sent
the fsm viewer won't have the thorn bush
ah I saw a thorn bush somewhere in there
why the fuck is my mod suddenly failing to load
try rebuilding
oh I changed the preloadedObjects dict without changing the GetPreloadNames key
btw you might want to use nes's editor for this since there are so many thorn parts
If you do want to use the editor, use this
I was just testing the one I submitted to nes's github and it had a couple lines of code missing 
this is the fixed version
all those spikes are indiv gos right
this'll be fun
how do I open the project in unity?
do I just choose the HKWorldEdit2-master folder when adding a new project?
nvm think I got it
I see that there's an AddToSendRandomEventV3 in PP
doesn't seem to be such a method for SendRandomEventV2 tho
i mean the method is pretty simple
should just take a little bit of a change to make it for v2
is it provided by the modding api?
no
it is provided by me adding methods to fsm util every time i need to do something more than once

any idea how I would add a hitbox to thorns that I instantiate?
addcomponent<herodamage> and getcomponent<herodamage> don't seem to work
boxcollider2d
do I get that component and then add/get the damagehero component?
well there's no addcomponent so I guess all I can do is get
wait youre adding your own thorns right
no
sorry mis remembering this stuff
UWU
boxcollider2d
you can also add the DebugCollider component to see the boxcollider and make sure it's good
every time I tried adding or getting the boxcollider2d and changing its values TL would freeze
just doing thorn.AddComponent<BoxCollider2D>();?
maybe it already has a boxcollider, print the hierarchy
Printing scene hierarchy for game object: fungd_spikes_09_FG(Clone)(Clone)
fungd_spikes_09_FG(Clone)(Clone)
\--Component: Transform
\--GameObject activeSelf: True
\--GameObject layer: 0
\--GameObject tag: Untagged
\--Transform Position: (40.0, 40.0, 0.0)
\--Transform Rotation: (0.0, 0.0, 265.3)
\--Transform LocalScale: (0.7, 0.8, 0.8)
\--Component: SpriteRenderer
\--Component: DamageHero
END +++++++++++++++++++++++++++++++++++++++++++++++++++++++
strangely enough it has a damagehero component
Make it layer 17 btw
ok yeah just adding the boxcollider2d causes issues
would that just be thorns.layer = 17?
yas
setting it to layer 17 is now breaking it
TL freezes
are you doing this to a single thorn or a bunch
a bunch
and did the try and catch do anything
I put that after the layer change so execution never reached there
I commented out the layer change and got the error
System.NullReferenceException: Object reference not set to an instance of an object
wait
I used _thorns instead of thorns lemme fix that
think I got the boxcollider working

what do I add the damagehero component to?
Nice
trying to think of how to make a naturally looking telegraph
what about a mod that replaces every enemy with a primal aspid. Thats what i call a nightmare
is there a way to grab the dust particle emitter for when TL is about to enter the arena as a GO?
I mean, there definitely is
you just need to find it
if you know it's a particle system, you can log all GOs that have a particle system component
I mean if it's not a separate object you'd have to copy it yourself
When I try to instantiate the GO from the Emerge Dust state TL breaks
cloning the whole go 
big brain move
what should I be doing instead?
I mean if you just want the particles then make a new go and copy the particle stuff
whats the best way to completely stop a charm's ability
because ive noticed in the source most of them are simply checked if theyre equipped the moment the game needs them directly
actually screw it, ill just work around them individually
Is there a way to disable pogo on a boxcollider2d?
cause I'm currently able to pogo on the thorns pillars
NonBouncer
@ornate rivet are you hard done on PC, i was thinking about re-doing the music, if not for the mod ill just do it for leisure
I'll change the music to whatever you want

poggers
nice
uwu
Someone needs to fix the debugcollider class
I think it's because the debug lines and the go are not in the same Z position
Look at what you've done jngo
nice
anyone know a way to set the sprite of the statue alt so it isn't empty
Get the BossStatue component and
set the spriterender's sprite from the children of bossStatue.statueDisplay
at least that's how I did it
idk why the statue appears here no matter what y value I set the statueAlt or statueDisplayAlt position to
nothing I'm doing is working
that gave me a good laugh ngl
he peek
peek
Are you sure you're moving the child with the spriterenderer?
it worked fine with pale champion
I got the sprite appearing by adding a SpriteRenderer to statueDisplayAlt and assigned it to the sprite of GO GG_statues_0006_5
but there's also another StatueAlt GO?
GG_Statue_TraitorLord\Base\StatueAlt
so I'm not sure if I'm moving the correct child
move all of the ones with a spriterenderer then π
I actually tried that 
anyone have experience with itweens?
cause I'm pretty sure that's how TL's sickle paths are created
should I modify the velocity in Update?
probably fixedupdate since it's a physics thing?
modifying velocity in update 
sorry I forgot fixedupdate was a thing
as if time.deltaTime wasn't a thing but ok
mhm
e
I know fixedupdate exists mate
@fair rampart are you still using the shockwave attack from TL?
well more importantly are you still planning to use the shockwave sprites
shush dork
yes
@fair rampart ok test if the sprite replacement works
im still figuring out what i wanna do with the main sprites
also whoops missed the tip
ok there
oh boy time to learn AssetBundle 
rn all ive done with TL himself is shift the palette a bit and make his eyes a bit cooler
if i wanna add anything else i would have to make sure i can replicate it on every single frame which is a pain
What about asset bundles in assembly resources?
Yeah you can
cool
a hk mod without assetbundles is like a mod without grimm pillar attacks, aka a bad one
the real assetbundle is the one in our hearts
Is anyone aware of how nail parries work and how to incorporate them into a boss's existing attack?
I've seen it as a separate nail tink fsm
well i kinda sorta
eck
dont ask me actually i gave up a long time ago
all i remember is that oro's dash slash fsm has the entire nail parry hook or whatever in it
Hmm
The shade uses Slash-nail_clash_tink from resources.assets
@brazen mortar I saw your sprites, what are making?
looks like stuff for traitor bod
whats traitor bod? π€



