#archived-modding-development
1 messages ยท Page 283 of 1
Is this #297468195026239489
fake accunts?
must be bugged
no
universal time zone when
ye
uk real time
we invented time
universal time cone
watch it go by as the pendulum swings
ur mum doesn't exist

thats where ur wrong
shes an extradimensional being
earth is flat
reproduction is for suckers i multiply by splitting my atoms asexually
sounds like the cancer
true
u got this taco u will do better this time
thanks i guess
life is a sexually transmitted disease
That unavoidably ends with death
Hey
sup
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)
the ground layer 

What does SetVelocityAsAngle do?
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
hornet's needle throw
so, im guessing its the direction in terms of degree where she throws it
ok
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
weird thing is, the needle's direction gets mixed up even when I don't mess with that
Ttacco do me a favor
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
yes knightmere?
oh so youre skipping some states then?
transitioning past them at least
yea but the one I am skipping (Thrown) doesn't have anything in it
are you using insert action?
Make Knightmere Fuel for me kthx
knightmere fuel?
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
okie dokie
The mod I have concepts for but never applying anything :zoot
I am incompetent
ic
how hard is it to make a basic mod if you have like barely any knowledge of programming
also saleh try asking 56 for that tbh, i think he should be awake right now
ok
56 awake at 10:30am omegalul
11:30 am u mean
any dst
i never used ChangeTransition because instead i add an action then force a SetState from there instead
EST only time zone
^
does that make a difference?
also Edgy depending, it can be difficult as some way if you dont get some of the concepts
hmmmmmmmmm
no idea, probably not
ok
no it's bergmite
a what
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
well I want to to execute at the very end so that's good
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
gimmeee
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
coolio I am gonna test it
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);
}
ok
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
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
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
and back in, is named as you'd expect
FadeBackToAlphaOneCanvasGroup yes?
yep
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
put a rectangle around it?
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
ok it looks great
yeah its the size of the canvas etc etc
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
imo everyone > me
so if I had to take a guess, its from
100px to 700px from the left and
about 250px to 300px from the top
so setting it at 0.95f to 0.95f would set at the lower right corner?
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
the anchors would be 0f 0f by default yes? which is top left corner
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
then just adjust it accordingly with the first 2 params
they default to .5, .5
so center, nvm then
also yeah forgive me saleh i dont know why i had the rgb floats set to .420f
420 is a great number that's why
INVUL_TIME_STAL is normally 2f, right?
thats for the shell right
yes
i usually just print them on the log then check it ingame as inefficient as it sounds 
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
ugh monobehaviour? why?????
oh that's much easier
sorry, i know its inefficient but i have no idea where they assign the actual value to the INVUL variable
Yeah, I can't find it in the FSM viewer
probably taken from some outside class or file that contains those values
Abyssal Alchemist
ye?
sad!
run icono
Modding.Logger.Log("" + HeroController.instance.INVUL_TIME_STAL); like this?
Just put in OnAttack?
yeah
also i THINK that ""+ isnt necessary but i do remember getting errors trying to print non string variables
icono is probably a better speeedgame than thjis garvbae
garvbae
thijs
kuro just run 112 version except you skip out godmaster and pretend it doesnt exist
so its technically 106 but with bug fixes
idk but maybe a casual playthrough might be good
unless youre trying to not lose the fall bug
yes cawsual playthroughs are incredibly fun
is your keyboard broken?
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
why you articulating with us
stram
yeah and make a 40 part video about it, then overreact to every detail, ez youtube money
sure if you want to watch a crossroads stream ๐
crssoraods strm!11
Like when veru made a 2 hour vid about Menderbug rng
or the time he grinded for like 7 hours straight in the tramways to get that low% run
or wait was it 6 days?

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
wiki shit
Wait, Cyclone give you i-frames?
INVUL_TIME_CYCLONE
Apparently it gives you 0.25 sec of i-frames
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.
Parry gives YOU iframes? I always assumed it just negated the hitbox you parried
no it gives a shit ton of iframes
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
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
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
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
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
Recoil as in, the time spent in the "hurt" animation?
I believe so
also, nice to know about parries. I didn't know they worked like this
There's a spell control hook, right? cuz looking at the fsm for spell control is a nightmare
@copper nacelle is dis u
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
that would be epic tbh
@fair rampart Yeah I added one to ModCommon
what's modcommon
ModCommon.ModCommon.SpellHook
ModCommon is a mod with a bunch of nice extensions and utils that a bunch of mods use
{
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?
wtf
what
- why is it recursive
if (OnSpell(ModCommon.ModCommon.Spell.Scream))
if (OnSpell(ModCommon.ModCommon.Spell.Quake))
if (OnSpell(ModCommon.ModCommon.Spell.Fireball))
Oh, you mean that there are 2 modcommon?
- why is it recursive
cease
no
Yes
It's called 4D programming
OH
second of all
consider not having three ifs
other than those yeah it should be fine
can you have too many ifs?
yes
Oh, the reason I made it recursive was because "cannot implicitly convert to bool"
spell == Spell.Scream
to be tbh
also don't bother finding the knight
there's a ref to spellControl on HeroController
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
Does that increase the effectiveness of Spell Twister for Void Spells after obtained Voidheart?
If so yes
yes
it does whatever yours does but without 3 ifs and the weird recursive stuff
and i inverted the if
fi
that's actually how bash does ifs
@hollow pier
if [ -f /var/log/messages ]
then
echo "/var/log/messages exists."
fi
spellControl.Fsm.GetFsmInt
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
you need
.Fsm.
you have spellControl.GetFsmInt
you need
spellControl.Fsm.GetFsmInt
That's what I have
HeroController.instance.spellControl.GetFsmInt("MP Cost").Value = 22;
oh wait
thinking
imma dumbass
same
keep trying
yes
now it's time for you to stream
ok i have 1118
no maggot
poggers
ah
you have exposed yourself fool
stream
m
d dev
burn the NMGers
{
if (PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
{
HeroController.instance.AddMPCharge(8);
}
}``` how do I fix this?
It gives me infinite soul
Maxes it out every time I shade dash
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)
Oh, you can do that?
Yes
good to know
you should run great hopper on 1221 kuro
why
Don't you also want the free airwalks for great hopper
ah yes 1221 runs wonderfully well ๐
yeah
1.2.2.1 is usually better for meme categories
yeah like any% nmg
big oof
{
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?
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
this code hurts my soul
yes
I love whitespace in anything but python
well not in the codeblock you pasted
make sure orig(self, hit); runs every single time you want it to actually do damage
{
if (hit.AttackType == AttackTypes.SharpShadow && PlayerData.instance.equippedCharm_16
&& PlayerData.instance.equippedCharm_36 && PlayerData.instance.royalCharmState == 4)
{
HeroController.instance.AddMPCharge(8);
}
orig(self, hit);
}```
like that
It would be nice if UHKP didn't spam the log whenever I dash
ohshit
sorry
did I forget to comment that
asdfiasnfeiljnwqefjln
I don't have rider installed or I'd go fix it rn
rider? is that like linux VS?
it's like vs but multiplatform and a lot better
It's a VS alternative which is based on ReSharper, which started out as a VS plugin
'alot better' remember veru's stream of redwing
Offers a bunch of refactorings for your code and has Unity integration
doesn't mean your code isn't shit tho
or rather
my code
b/c my code
is the worst
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
namespace HutongGames.PlayMaker.Actions
{
[ActionCategory("Enemy AI")]
[Tooltip("Object A will flip to face Object B horizontally.")]
public class FaceObject : FsmStateAction
god tier code
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
what
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
What languge is that?
c#
Oh wait sry looked at the errors
that should literally do nothing
{
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
Want me to remove the return and test again?
yes
wtf, it just works now
and what to know the weirdest part
UHKP isn't spamming my log whenever I dash
did you get rid of UHKP
no I did nothing to it
noot
But i can still see it initialize in the log
gj you killed it
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
weary
same
also disable dash related stuff in the uhkp settings
until I download rider to fix it
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
respawnScene
Thanks
fargo's omegalul
verulean streaming the game i sent you when
that was 1.31 dollars veru
thats 2 bags of ramen and 31 cents
i'll stream it for you finch
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
Did somebody say deep space waifu?
sean if you were my friend it would instead say "you had one Friend who plays DEEP SPACE WAIFU"
okay, this is epic
I see you are a man of culture
there's not even enough nudity to jerk off to. what's the point?
you aren't trying hard enough
half life 2: lost coast is my favorite porn game
Woah woah woah, back it up there
@cunning lagoon https://clips.twitch.tv/AmusedHeadstrongToothEagleEye

pogoing hornet's needle is a separate FSM 
REEEEEEEEEE
just make it same fsm lmfao
I copied the SetCollider action the regular hornet needle has but you still can't pogo it 
the ground layer 
...
I have no idea papy
try asking ๐ ฑngle folders last time i checked he knows which layers are which, i think
AA is a ๐ ฑlayer
yes Abyssal Angle
AA is not a ๐ ฑodder
or is it Avenging Alchemist ๐ค
or ๐
ฑwsome ๐
ฑrsonist 

Abyssal Angle
Close enough
Do you think "SShell + SBody = reduces hard landings" would be a good charm interaction?
I could do it really easily
SShell reduces downtime after taking damage by 0.12 sec, and increases post-damage i-frames by 0.4 sec
sshell is sshit
how old is 56?
there, fixed it
56 never sleeps
5
6
17?
younger
15
I have never seen him offline
wat, he is younger than me?
Yes
dang
no he's 15 not 10
Wait he's only 15?

what a genius
Gradow is probably amongst the oldest here
I don't think so tbh
shut up grandpa
So, you are now legally obliged to refer to him as "father"

I'm 6 years older than 56
AA and AA are same person confirmed
cause I'm your daddy...?
Father, calm thineself down
thyself
useless 20 year olds, represent ๐ค
shut up kid, get off my lawn
oh so you're 50 and he is 51?
+10
that's quick maths
anyone whos older than 7 micro seconds should leave
dies
any 8 yo fellas here or am i the only one xD
does Fortnite dance
Wait, why does does discord think I'm idle when I'm tabbed in, but not idle when I tab out?
I don't care

Should I reduce SShell to 1 notch? Like any other charm that requires you to take damage
Shell is already a crutch tbh
in what
mfw papers calls me a kid but he's like a year older
goddamn young people
oh cool
So for SBody, should I reduce hard landing by half, or just put it at 0
0
the default value is 0.8
{
HeroController.instance.HARD_LANDING_TIME = 0f;
}``` that was easy
works great
make a monobehaviour with an
Update()
{
HeroController.instance.HARD_LANDING_TIME = 0f;
}


Why
I've gone this far without using monobehaviour
amateur
I don't want to use it unless I absolutely have to
Why
Because learning is hard
dude its easy
like, just make a class extended with a monobehaviour, then add that class as a component to the GameManager.instance
You can add it to a new game object as well
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"
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
is the index of Evade 0 in this case?
Log it
ok
ok, this is epic
roasted


ngl i heard irl roasted maggots actually taste neat
ok, this is terrifying
well thery are not going to eat them when theyy are alive 
using UnityEngine;
public class Joni : MonoBehaviour
{
public Joni()
{
}
}``` what now?
How do I set up a mb
why are you using a monobehaviour for this
I don't have to?
you either
- make another class that can be your "main" one where you can add components and stuff
- hook on savegameload and from there you add GameManager.instance.AddComponent<Joni>();
- just do what 56 said
IDK
Learning Experienceโข
tpose on the monobehaviour
whats ur code
{
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));
}
}
}
}```
flag 
HealthCocoon.FlingPrefab.prefab
why are you editing your code in dnspy
VS
It should be abundantly clear by now that I don't know what I'm doing
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
How do I do the last option?
Resources.Load with or w/out the carats?
In the carat, I put GameObject?
Resources.Load<GameObject>("HealthCocoon.FlingPrefab.prefab");
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
Is there a mod that has an example of using Resources.Load that I could look at?
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;
}
}
where is draco
prob working on his magnum opus
did he post another wall of text when i wasnt here
no thats why im asking where he is
@fair rampart also note that calling Resources.LoadAll lags the game for like 4 seconds
so don't abuse it or you die
diee
foreach (var i in Resources.FindObjectsOfTypeAll<GameObject>())
{
switch (i.name)
{
case "Health Scuttler":
GameObject prefab = i;
break;
}
}``` what am I doing wrong?
I need more cases?
I just did what you did in the example
e
consider this
{
GameObject prefab = HeroController.instance.gameObject;
}
UnityEngine.Object.Destroy(prefab); // Cannot resolve symbol 'prefab'
Wait destroy?
It's just an example
Do you see why that wouldn't work
If you don't, I'll explain it if you want
Ok explain
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
oh
another example i googled
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
or just do
int score = 100;
if(score >= 50)
Console.WriteLine("Good Score");
else
Console.WriteLine("Bad Score");

No, you're fine
System.out.println is still the best 
cout << "no u"
c++ lame
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
make a method that accepts a string that prints it out ๐ฉ
sounds good
U S E R
E X P E R I E N C E
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
i need some unity help
well you might get help if you ask an actual question
that's an idea
I can't answer "I need some unity help"
ok well basically unity keeps freezing after i open my project
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
[INFO]: Health Scuttler (UnityEngine.GameObject)
same
[INFO]: Health Scuttler(Clone) (UnityEngine.GameObject)
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
So I just paste that method into my mod?
same
did nothing
what
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);
}```
Did I misunderstand?
yes
unless you're trying to load sprite collections by guid
in which case have fun
post T AssertDominanceViaPose<T>(meme
i didn't
nvm
same
i just did
lordFsm.GetAction<SendRandomEventV3>("Attack Choice", 5).weights[2].Value /= 10f;
ยฏ_(ใ)_/ยฏ
ok well now unity opens but visual studio cant build my code
i cant even save it without debugging
what's the difference between FaceAngle and FaceAngleV2
the 2nd one has V2 added to it
ok modders of hallownest
Is there a tag for making stuff pogoable?
how do I make use of the modinstaller after installing it
what
of course
then i tried again
and it said Searching for updates and never moved on
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
Does it have TinkEffect and a BoxCollider2D on it
that's what the wp saws use
and it causes pogo
could try adding it if it has a box collider
Sadly I think this is the only easy way to mass install mods
why'd you pirate the game
i pirated an older version

why would you pirate it to begin with
just downpatch
????

If you let it check for updates it should just run
nothing wrong with that Dash
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
wat
.
But NKG I cant beat
wtf
In 20 hours?
ok thanks

I cant read
UnityEngine.Object.Destroy(_needle.GetComponent<NonBouncer>());```
Yeah I played it basically straight for 5 days
easy
yea thankee
Cool. Now buy the game
but he did
Then update the game
dude
The steam version is updated
So mod it
1.4.3.2
I don't understand the issue here
It also doesnt work

Thats why i got the older version to try
did you pirate the mod installer
Verify your game integrity
Are you selecting the proper file location for steam?
Did you get the mod installer from here?
i got it from https://www.moddb.com/mods/modinstaller
Yeah. Dont
Oh
or from that
why is the thumbnail zote
because zote
Sorry to waste your time guys

cuz they cant think of original jokes
Im really dumb
no ur not
Hi really dumb
UnityEngine.Object.Destroy(needle.GetComponent<NonBouncer>()); didn't change anything
mick are you austrailian?
Did NonBouncer return non-null

yea after initiating and it didn't give any exceptions
Isn't the needle already a pogo object
yep works. Thanks guys!
How do you get these dumps?
There's an extension in modcommon if you want ones w/ everything in it
Sit on toilet
and some more minimal ones in the enemy rando folder
ModCommon.GameObjectExtensions.PrintSceneHierarchyTree(gameobject);
56 did u update soul bar in invertknight?
no
I want to die
not affecting gameplay
same
why is the needle bouncing a separate game object from the needle WHYYYY

๐
๐ณ
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
try harder
that's probably not what hornet does
but hornet boss 2 uses "Needle Tink" in the SetCollider action as the game object
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
needle tink
is that supposed to be the guard
ยฏ_(ใ)_/ยฏ
it's on throw
hornet plays throw anim
then activates needle
then turns on needle tink
but when I add the turn on needle tink to the cloned needle, nothing happens
whatmst
Isn't this what you're telling me to do?
_needleControl.AddAction("Init", _control.GetAction<SetCollider>("Throw", 10));
no
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
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);
is this lightbringer
no
is _control Hornet in there?
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?
Where are you getting needle from
needle is the cloned from _control.GetAction<SetPosition>("Throw", 4).gameObject.GameObject.Value
why not just use the var
idk

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?
Instantiate(_control.Fsm.GetFsmGameObject("Needle").Value); ?
Yeah
Why isn't that the same as
Instantiate(_control.GetAction<SetPosition>("Throw", 4).gameObject.GameObject.Value);
it's less ugly
well yea but it still doesn't work
Did you remove NonBouncer

cya l8r
nope, still doesn't work
hit it
uhhhhh
I guess you could try adding TinkEffect to it
might work as a replacement for the fsm
adding to what
Does it damage or move you if you try and go into it
TinkEffect
It's a component
it does damage and cause knockback
needle.AddComponent<TinkEffect>();?
Yeah
you ever go from modding to speedrunning and the last message in both is 56 saying Yeah
Yeah
Still called LostLord 
just for 5 seconds, no?
lol
I'll make it 3
oh she did sphere => sphere


