#plugins-dev-chat
1 messages Β· Page 5 of 1
with the collapsed.. roof
has like rubble in it
david im gonna strangle you
you used to be able to climb in
and one light
Just list all of the unsafe rooms tbh
true
Hcz pit, hcz waterfall room
i mean
wow you hate swimming
what pit
Most likely will but
you mean old 939 chamber/testroom?
Yea
ah makes sense
test room
The mostly infinite hole
I wish the pillar colliders were still there
thats like where 90% of ppl manage to die
awesome
dont question it
i was about to say what is evac shelter but it's that room with broken gates with loads of random ragdolls inside
was going to mention the capitalization but
this is what my IDE wants and honestly i dont care enough
and squeaks

the wiki doesn't have an entry on squeaks
r u a squeaker
how deep is your voice
idk
/// <summary>
/// Gets whether a room is safe to teleport to. Will consider decontamination, warhead, teslas & void rooms.
/// </summary>
/// <param name="room">The room to check.</param>
/// <returns>Whether the room is safe to teleport to.</returns>
where tf is the docs broken here
line 3 apparently?
π
am i blind
the &
/// <summary>
/// Gets whether a room is safe to teleport to. Will consider decontamination, warhead, teslas and void rooms.
/// </summary>
/// <param name="room">The room to check.</param>
/// <returns>Whether the room is safe to teleport to.</returns>
o
How come & affects it despite being in a comment?
doesn't affect the code
just affects the parsing of the doc text
Ah
xert r u crazy
why
why not
uhh
all I know is that if your client adds holiday effects but the server doesn't then everything breaks
same in reverse no ?
probably
yea
me when I tried joining a stable build in Unity when I was on the xmas branch
and just synced to client

ahah grenades finally fixed
Why would I cry about that
Boo
why not
Make player 1 suffer some more
nu
awh
what..
oh nvm different jojo 
dont start disliking it then π
too late
"no, delete me rn"
ugh I need updated assembly
U can use the killer's generator
yeah true
very good tool
it works on my machine
Β―_(γ)_/Β―
Also if your output assembly has 0 bytes then it didnt compile successfully
REPORT ERRORS
gib issues xd
I will fix them
its on scpsl repo
I know I just never got around to it
[2025-02-14 14:29:47.550 +01:00] [STDOUT] NullReferenceException: Object reference not set to an instance of an object
[2025-02-14 14:29:47.550 +01:00] [STDOUT] at LabApi.Features.Wrappers.Warhead.OnMapGenerated () [0x00023] in <c20488a5a42a492c931d89475bee91cb>:0
[2025-02-14 14:29:47.551 +01:00] [STDOUT] at (wrapper delegate-invoke) <Module>.invoke_void()
[2025-02-14 14:29:47.551 +01:00] [STDOUT] at MapGeneration.SeedSynchronizer.GenerateLevel (System.Boolean generateFacility) [0x000fd] in <9b41e261b6f7438da74257a46de84807>:0
[2025-02-14 14:29:47.551 +01:00] [STDOUT] at MapGeneration.SeedSynchronizer.Awake () [0x0011e] in <9b41e261b6f7438da74257a46de84807>:0
whoops
moment
teehee?
StartScenarios is null
istg im gonna crash out
[2025-02-14 14:32:07.308 +01:00] [STDOUT] NullReferenceException: Object reference not set to an instance of an object
[2025-02-14 14:32:07.308 +01:00] [STDOUT] at SecretAPI.Features.CustomPlayerEffect+<CreateObjects>d__9.MoveNext () [0x00073] in <e6798b22440f4a4ab9e9a275b559550b>:0
[2025-02-14 14:32:07.308 +01:00] [STDOUT] at MEC.Timing.Update () [0x0043c] in <718f9eff97134aaf9a9513bc8463fe92>:0
[2025-02-14 14:32:07.309 +01:00] [STDOUT] UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
omfg
wait
oh you are nameless 
is PlayerEffects renamed ?
// get player prefab
GameObject playerPrefab = NetworkClient.prefabs.FirstOrDefault(p => p.Value.name.Contains("Player")).Value;
Transform playerEffects = playerPrefab.transform.Find("PlayerEffects");
the error is here i think
give me the IL please
of your IEnumerator thx
give the man .pdb of assembly-csharp 
ALL
your kidneys too
hell nah
need 5 more lines
i am gonna crash out
sorry
playerprefab is null
whats the player prefab called
FirstOrDefault(p => p.Value.name.Contains("Player")).Value;
π
it's Player
π
what are you trying to achieve anyways

why not just
incomprehensible
doesnt each player copy the prefab not the server host ?
still not sure how you are going to give new effects to clients
it doesnt need to be client sided

but server sided effects
but yeah id love if client could accept too but i doubt thats happening
so you are trying to get the PlayerEffects gameobject?
yeah
on the prefab
this worked fine
but on labapi it doesnt
would host.playerEffectsController.effectsGameObject work?
um
id have to manually add to all players
public void Awake()
{
this._hub = ReferenceHub.GetHub(this.gameObject);
List<StatusEffectBase> list = ListPool<StatusEffectBase>.Shared.Rent();
foreach (StatusEffectBase componentsInChild in this.effectsGameObject.GetComponentsInChildren<StatusEffectBase>())
{
if (componentsInChild is IHolidayEffect holidayEffect && !holidayEffect.IsAvailable)
componentsInChild.gameObject.SetActive(false);
else
list.Add(componentsInChild);
}
this.AllEffects = list.ToArray();
this.EffectsLength = this.AllEffects.Length;
ListPool<StatusEffectBase>.Shared.Return(list);
foreach (StatusEffectBase allEffect in this.AllEffects)
{
this._effectsByType.Add(((object) allEffect).GetType(), allEffect);
this._syncEffectsIntensity.Add((byte) 0);
}
}
effects controller does this

im also realizing that it uses _syncEffectsIntensity for syncing ? what
just checked and the Player prefab is still named Player
regardless it was working before labapi
wtf π
while (playerPrefab == null)
playerPrefab = NetworkClient.prefabs.FirstOrDefault(p => p.Key == 3816198336 || p.Value.name.Contains("Player")).Value;
this kills the server
it never becomes not null
I mean you can just NetworkManager.singleton.playerPrefab

since when did that exist
2019
gonna crash out
yup
that fixed it
[2025-02-14 14:51:37.466 +01:00] Scene Manager: Loaded scene 'Facility' [Assets/_Scenes/Facility.unity]
[2025-02-14 14:51:37.543 +01:00] [ERROR] [SecretAPI] [CustomPlayerEffect.CreateObjects] SecretAPI.SecretApi is not a valid StatusEffectBase

quick question
should the StartingConsumingCorpse IsAllowed be false when the Error isn't none?
since that can be confusing
but what can also be confusing is that setting IsAllowed to true wouldn't do anything unless the error is also none

I think make IsAllowed set error to none
yea
one of the reasons I am happy to move CTs plugins away from EXILED
cuz if a plugin registers then this will just not work
because they use coroutines for everything

do we?
yes I know
and I don't understand why
there is literally a thing you can check to see whether you need to send the spawning
instead of fucking delaying it for some reason
idk
i didnt make it
nor do i care
i need to figure out my custom effects how im gonna handle this
the only thing i need now is when do i actually register it
before server host loads
but after all plugins have loaded

actually
do i care about server host
Exiled essentially makes it that you can't call TryAddCandy multiple times in the same frame
because it will override each other
yeah

xert
when do you think this would be good
Exiled should do
if (!Scp330Bag.TryGetBag(player.ReferenceHub, out Scp330Bag? bag))
{
Exiled.API.Features.Items.Scp330 scp330 = (Exiled.API.Features.Items.Scp330)player.AddItem(ItemType.SCP330);
scp330.Base.Candies.Clear();
scp330.Base.TryAddSpecific(Candy);
return;
}
bag.TryAddSpecific(Candy);
if (bag.AcquisitionAlreadyReceived)
bag.ServerRefreshBag();
instead of
Scp330Bag bag;
if (Scp330Bag.TryGetBag(this.ReferenceHub, out bag))
{
int num = bag.TryAddSpecific(candyType) ? 1 : 0;
if (num == 0)
return num != 0;
bag.ServerRefreshBag();
return num != 0;
}
if (this.Items.Count > 7)
return false;
Exiled.API.Features.Items.Scp330 scp330 = (Exiled.API.Features.Items.Scp330) this.AddItem(ItemType.SCP330);
Timing.CallDelayed(0.02f, (System.Action) (() =>
{
scp330.Base.Candies.Clear();
scp330.AddCandy(candyType);
}));
return true;
wdym by 'server host loads'
the hosthub?
yeah
i mean idk if not giving host the effect could cause issues, but at the minimum every plugin needs to have loaded
I don't know when the hosthub gets created tbh and I don't feel like digging, but you could make your plugin load last
if my plugin loads last then anything that adds to the list wont work 
its an api plugin

thats why im kinda confused
idk if theres a good event to place it on
or just a good ol Timing.CallDelayed
try SceneManager.sceneLoaded
fyi this is the horror that Exiled caused CT
until I fixed it with my method instead
[2025-02-14 15:06:45.378 +01:00] [INFO] [LabApi] [LOADER] Loading all dependencies
[2025-02-14 15:06:45.393 +01:00] [INFO] [LabApi] [LOADER] Successfully loaded 0Harmony, Version=2.3.5.0, Culture=neutral, PublicKeyToken=null
[2025-02-14 15:06:45.408 +01:00] [INFO] [LabApi] [LOADER] Loading all plugins
[2025-02-14 15:06:45.424 +01:00] [INFO] [LabApi] [LOADER] Successfully loaded SecretAPI
[2025-02-14 15:06:45.440 +01:00] [INFO] [LabApi] [LOADER] Enabling all plugins
[2025-02-14 15:06:45.455 +01:00] [INFO] [LabApi] [LOADER] Successfully enabled 'SecretAPI', Version: 0.0.1, Author: '@misfiy'
[2025-02-14 15:06:45.470 +01:00] Selected central server: GRA2 (https://gra2.scpslgame.com/)
[2025-02-14 15:06:45.486 +01:00] Running as headless dedicated server. Skipping distribution platform detection.
[2025-02-14 15:06:45.626 +01:00] Updated list of central servers.
[2025-02-14 15:06:45.642 +01:00] Central servers count: 1
[2025-02-14 15:06:45.829 +01:00] [ERROR] [SecretAPI] [CustomPlayerEffect.CreateObjects] SecretAPI.Features.FieldProperty is not a valid StatusEffectBase
[2025-02-14 15:06:45.844 +01:00] [ERROR] [SecretAPI] [CustomPlayerEffect.CreateObjects] SecretAPI.SecretApi is not a valid StatusEffectBase
π
so real
its erroring twice, but ez fix with just a bool check
cool

Transform playerEffects = NetworkManager.singleton.playerPrefab.transform.Find("PlayerEffects");
or
Transform playerEffects = NetworkManager.singleton.playerPrefab.GetComponent<PlayerEffectsController>().transform;
no clue which is faster transform.Find or GetComponent
oh well dont care
GetComponent is better
also easier to maintain
yes
Find iterates over the hierarchy (which is pretty large for the player prefab iirc) and does string comparisons
ah
actually the Player hierarchy isn't that large (aside from all of the effects which wouldn't be checked because they are children of the target)
can i see it 
PlayerEffects is actually the first in the hierarchy 
so might be faster but it's worse to maintain
yeah im going for maintainability
and the speed difference is negligible since you only do it once
you can just print the hiearchy in your console 
im lazy
oh i see
void StopBeingLazy(Transform parent, int depth)
{
Logger.Debug(new string(' ', depth * 2) + parent.name);
foreach (Transform child in parent)
{
StopBeingLazy(child, depth + 1);
}
}
StopBeingLazy(NetworkManager.singleton.playerPrefab.transform, 0);
I still haven't even started on the 0492 events
get gud

well stop distracting me then 
distraction is good
eve plz, just 1 hour
Unity crashed again
wooo
guh
This is a sign
more time to be in this chat
To stop using Unity and switch to Godot
ur next
Huh
you mean the engine that didn't give you access to shaders until like a few months ago
you heard me
What does that mean
One small detail
Just don't use shader

First one is 10/10
slayyyyy
I'll make the same check multiple times 
Check how IL will generate it
yessir
Then use the wider one
wide
U have big monitor so
slayyyy
this may be the ugliest code ever thanks to preprocessor directives
at least you won't see it

So should I go nap or scream at sslstream throwing error or work on plugin
Can't wait to see
you won't see it 
you'll just see the compiled result in your server assembly without the preprocessors
so it will look fine for you
You can always show it
I can't
why :(
hubert will send him a letter called c&d

(cat & dog)
I have 2 options
do both
do I either make the most unhinged looking code
or repeat code

#if LABAPI
if (consumingCorpseEventArgs.AddToConsumedRagdollList)
{
#endif
ConsumedRagdolls.Add(CurRagdoll);
#if LABAPI
// more unginged stuff
}
#endif
π
I think I will just repeat code
because the next thing would be a multi-line single if statement with preprocessors in-between
if (
something
#if LABAPI
|| somethingElse
#endif
)
I am not doing this lmao
actually I think Beryl would be very glad if I did that and he would truly enjoy reviewing this MR
i think i will let hubert review that one instead
I am not doing that 


hi ced
it's such a pain to read
I think he'd execute me for that
Well if labapi release no need for that preproc
so would i
no they are needed
clients dont build with labapi
pfff
therefore they cant have labapi code/references
Ah yeah u right, forgot that one
casually forgetting about clients

we decided to not make the labapi coexect in the same space as the nwapi
so there wouldnt be an "enable directive" outside of the standard one for server anyway
Who need clients right?
I would rather write a transpiler 
Please, we need that event mr x3rt
transpilers suck
cc Cedric
i just use postfix :3
they are good for when ur tryna run smth at the same time as a function tho lol
Where can i report game bugs that i've encountered on labapi branch?
github issues or #1274618202227216414
also can you get ced to push my pr pls tyvm i just had to write my own extension methods for what i made in the pr lol
you could've compiled LabAPI 
and just used your version for now
go to csproj
change TargetFramework to netstandard2.1
compile
revert it
compile again
problem solved
that fixes it permanently it seems

happened to me too, required me to use netstandard for a single compile and then it perma fixed
was the only thing that worked for some reason
1>------- Finished building project: LabApi. Succeeded: False. Errors: 1. Warnings: 0
2>LabApi.SourceGenerators.Tests.csproj: Warning NU1903 : Package 'Newtonsoft.Json' 9.0.1 has a known high severity vulnerability, https://github.com/advisories/GHSA-5crp-9r3c-p9vr
2>LabApi.SourceGenerators.Tests.csproj: Warning NU1903 : Package 'NuGet.Common' 5.6.0 has a known high severity vulnerability, https://github.com/advisories/GHSA-6qmf-mmc7-6c2p
2>LabApi.SourceGenerators.Tests.csproj: Warning NU1904 : Package 'NuGet.Packaging' 5.6.0 has a known critical severity vulnerability, https://github.com/advisories/GHSA-68w7-72jg-6qpp
2>LabApi.SourceGenerators.Tests.csproj: Warning NU1903 : Package 'NuGet.Protocol' 5.6.0 has a known high severity vulnerability, https://github.com/advisories/GHSA-6qmf-mmc7-6c2p
2>LabApi.SourceGenerators.Tests.csproj: Warning NU1903 : Package 'NuGet.Protocol' 5.6.0 has a known high severity vulnerability, https://github.com/advisories/GHSA-g3q9-xf95-8hp5
2>LabApi.SourceGenerators.Tests.csproj: Error NU1201 : Project LabApi.SourceGenerators is not compatible with net48 (.NETFramework,Version=v4.8). Project LabApi.SourceGenerators supports: netstandard2.1 (.NETStandard,Version=v2.1)
2>------- Finished building project: LabApi.SourceGenerators.Tests. Succeeded: False. Errors: 1. Warnings: 5```
no
didnt fix :c
what
uhm what
i meant LabAPI not SourceGenerators
the error was from source generators
oh
not labapi
skill issue then
go to the csproj file
and remove Microsoft.CodeAnalysis.CSharp
and the other CodeAnalysis package
save
and then add them back/undo

wait that makes no sense
from which csproj? source generators?
but how does NotNullWhen error if it's only used in the LabAPI project and not the source gen
sourcegen is a project reference under labapi :3
the actual api
yes
yes ofc because it's a source generator
it's a proj ref
legit this wont go away what the fuck
try changing the source gen to netstandard2.0
wait why is your source generator 2.1

it's supposed to be 2.0
nameless
change it to 2.0
i meant the Labapi not the sourcegenerator
cuz i thought thats where issue was
π
do what nameless said for the LabAPI project
yeah it's doing source generators first
because the inaccesible error should only happen when the api targets netstandard2.0
yeah u dont need them to compile
only the labapi
at least for the fix it was the only thing needed
change labapi to 2.0 not 2.1 sorry
and then try to build
it should fail
then change it back to net48

idk why mscorlib is being dumb
2.1 works
idk
oh I see
it fails to reference unless youve compiled 2.1 (or maybe just netstandard idk) before
mscorlib hasnt worked for me in any project until i did what i said to do
even without yaml
weird
now we just need this for labapi :3
nope
yes.....
kms brb

happens to the best
i made a github issue
(me when i have a bug, spend 1 hour on it, realize it is caused by 1 single line of code that could be easily fixed in 5 seconds)
ur not the best
ur the WORST
^
cancelling labapi rn
didnt approve my pr
good job nameless
:D
When we sending eve to isolated island?
now
WHAT
pack it up, you're going to brazil
nice
anyhow, funnies aside
i will probably look at PRs later today
or tomorrow
i have some other NW things today
so 
Github copilot /doc command 
you said this before david
and no
- AI stinks (it smells reallllllly bad)
- It will give us non sensical comments
/// <param name="hub">The hub holding References.</param>
/// <summary>
/// Gets called when the speed at which necks will break is changed.
/// </summary>
public static event LabEventHandler<Scp173BreakneckSpeedChangingEventArgs>? BreakneckSpeedChanging;
yeah I don't think so
Maybe if you give him whole SL source..
Programming warcrimes
what is break?
try {
foreach(something in something)
foreach(something in something)
foreach(something in something)
foreach(something in something)
foreach(something in something)
foreach(something in something)
foreach(something in something)
throw new Exception("exiting loop!");
} catch{}
done (internally)
anything else?
- Added StartingConsumingCorpse
- Added StartedConsumingCorpse
- Added ConsumingCorpse
- Added ConsumedCorpse
Candy Using event i guess? or it defaults to usingitems?
PlayerUsingItemEventArgs & PlayerUsedtemEventArgs
How about zombie attacking
Even without hit
I would find good use for that
Yeah sure
hm
StartingHit
StartedHit
alright I'll add it later

Stop it
Please
that's the point
exiting the loop
idk how else to leave a loop
or how to leave an if statement
just continue until the end
I think that's too efficient and fast
my computer doesn't go that fast
also why continue
I want to stop
π
Using continue; is optional
You can just keep the loop running yknow
Its gonna stop itself
eventually
for(int i = 0; i < 10; i++) {
if (i == 5)
continue;
Logger.Info("i is now 5");
}
continue means keep going to the next line obviously
it's not optional
for(int i = 0; i < 10; i++) {
if (i == 5)
continue;
Logger.Info("i is now 5");
Logger.Info("logging something else"); // this is never called because of the lack of `continue` on the line above
}
the above would not work because of the missing continue
for(int i = 0; i < 10; i++) {
if (i == 5)
continue;
Logger.Info("i is now 5");
continue;
Logger.Info("logging something else");
}
you have to add continue; after every line
otherwise it leaves the loop
I meant it like this to end the loop xd (just a joke)
bool found = false;
foreach(Player plr in Player.List)
{
if(found)
continue;
if(plr.Nickname == "test")
found = true;
}
ik what continue is
do you?
gg
you are missing a continue

bool found = false;
foreach(Player plr in Player.List)
{
if(found)
continue;
if(plr.Nickname == "test")
{
continue;
found = true;
}
}
you missed a continue
it wouldn't have gone to the next line without the continue so found = would never have ran
ugh who hired you


@upper vapor I've extended Lab# to need continue statements on every line
Even without foreach
yes
what
hope you appreciate the change (it was confusing before when reading the origin cipher)
tf is Lab#
this language
I can't see an event for players running a remote admin / client console command, is there?
there is
in ServerEvents?
does Admin chat events not exist either or am i blind again LOL
Yeah cuz otherwise how would the procedure know when to retreat 
wdym 'either'
the first even you asked about does exist 
trying to blame us for everythign smh
ofc
that's what programmers do when a framework doesnt include smth smh
but ye i cant see admin chatting events
Yeah there probably arent
checked source and doesn't exist
smh use my transpiler
no i cba
I will add it 
good :3
why is Rider underlining this
q
You need to reinstall whole SL
just click uninstall and then install it back
xd
yeah steam likely didn't update it correctly
i validated the files
it has been doing that for some odd reason
so erm
Nop
that still won't fix it
Not enough
steam is being dumb
Kill your pc and restart it
Hopefully next version it will be fineee
i do that every day :)
the client also has to be on beta right?
Yep
a modified argument
@stuck peak i got a bit too bored
π
@violet basin you weren't lying
what the hell man..
r yall crazy
uhm
nuh uh

id never make duplicate changes
trust
if anything its ur fault
hey i cant add events
soooo
no copy
i forgot i was in vc tbh
i might actually be dement tbh
ur crazy
im bored again
I hate big projects
give access trust
what are TeamDeathmatchX π
anyway normally its 6vs6 soo every number is 5 vs 5 etc
I didnt make creator of matches aka private ones
idk what to do 
i was referring to this
thats why its just multiple TDMs
i didnt make creator of matches
option to create private match is not available currently, thats reason why I do have this garbage of TeamDeathmatchX
bruh I wanted to edit this message but discord said hold up, lets freeze entire discord...
yeah that happens
entire code
oh the inheritance
in case of gamemodes I tried to make this simple very much
the most players even seen xd
okay that's pretty good
i need to refactor my gamemode system becaues it's uh
wow this is thrilling
last tests
killers is goated at the game trust
the jumping hint lines annoy me
me when size changing
kek
it is impressive though
use ruei :3
my hints system is simple and just works for anything
I can set just text on center/left/right etc

why not add extension methods for tags
raah
rawr

are you a furry even
me? id never


bruh
what
who wants my furry avi
i prefer my rocks
sand is yummy
your WHAT
samb
hi david
hi
did you like my pr
yes :3
yippie!
i love it
Eve tell me a plugin idea and I'll try to create it (something simple)
its only 99% nitpicking, couldve been 100%
erm
fix candy utils for me
do what
labapi doesnt have ev.Candy or ev.ShouldSever
fix it 
they wont recode 330 for me >:(
no
wdym no
damn π
I'll try
But I'm going to yoink your translation stuff
I'm lazy to write my own
me when fork exists:
ITS NOT SCPSL, ITS VRCHAT madgus ( some people already asked to make some worlds for vrchat including latest SCPSL content like HCZ to allow community to enjoy and record stuff inside VR )

π΄
im gonna put one in your eye
(cutely)
its not a threat, its cute
trust

Oh yea Ive seen that one before
is this what you do in your passtime
omg yes let's copy get inspired by SL code and make SL map generation in UdonSharp
ohh no
mapgen?
uh oh yy idk
baking maps will be the best for better perf in case of vrchat worlds

can you bake a cake too
or only maps
let's upload all possible seeds 

WHAT
WHAT
he doesn't do that in his passtime, he does that in his time
be aware I joined vrchat in 2018 and most time its on desktop not even on vr
I've seen this one before
im abandoning yall for a bit
erm
not a meme
its uh
its
its?
a threat
Are you threatening me?
you heard it
id never
@hearty shard shouldn't remakrs be outside of the summary tag
(yes i just nitpicked your nitpick)
erm
oops

nvm i couldn't even spell it
also the nitpicks are good imo
those subtle red squiggly lines under "whether or not" are very annoying
same for missing spaces
gotta π enforce π code π style π
Rider?
yes
its not even the fact that rider says it
extra words
its just me complaining
can we please add stylecop to labapi π
wouldn't this fix the issue?
No
i donβt think so no lol
thats .pdb file generating
ye
huh
basically
that shows the documentation
lmfao
π
doesnβt that make the documentation show up when you hover over stuff in labapi?
like how exiled has it
stub it, it will hurt less
Im still watching
im gonna stub you
where can i get
smh
Oh I think its in this chat somewhere XD
^^
honestly you guys should either make a nuget package of make github releases with the .dll and the .xml
gg
well theres you and then theres my friend saying "chop it off"
π
nuh uh
that makes life easier
life shouldnt be easy for you
buddy, exiled made my life easy
now i gotta make a billion feature requests for labapi smh
deleting exiled
me when .Team == Team.Dead is too much effort

deleting all your github projects rn
buddy legit RoleTypeId DOES NOT have .Team on it smh
any % make custom items/roles
.GetTeam()
it exists
yeah itβs an extension method smh
FROM SL
does it even work smh
YES
public static Team GetTeam(this RoleTypeId role)
{
PlayerRoleBase result;
return !PlayerRoleLoader.TryGetRoleTemplate<PlayerRoleBase>(role, out result) ? Team.OtherAlive : result.Team;
}
smelly
ur so BAD
@stuck peak probably should remove it from ur internal pr lol
π

yall suck
glad we could agree
thanks π
hi riptide
do not



