#Mirage

1 messages Β· Page 29 of 1

solemn ridge
#

Yeah the monitors often just stop syncing properly

ionic shoal
#

ah. well hopefully its stuff thats easy detectable and there are other mods to fix those things xD

bright junco
#

but yea maskfixes + butteryfixes + lethalfixes + maskedinvisfix, all good together

regal sandal
#
lofty sorrel
#

he's already said he's getting to it when he gets to it

onyx summit
#

It has a few bugs here and there, but nothing game breaking. Still works well for the settings I use it for. TBH its a staple for my pack. I've removed it before we all can tell the difference right away and hate it. So the little bugs that pop up are worth the trade off. The desyncs we encounter are usually very rare and my players know that if a desync happens with a monitor to just go off of what I see. What other issues do you experience with GI?

solemn ridge
onyx summit
#

What are the issues you are having with GI specifically? So I know what to look into on my pack.

solemn ridge
#

Most other features I replaced with other mods

onyx summit
#

Flashlight Bulbs not working?

solemn ridge
#

Yeah, they're always dark even when turned on that is an oversight from when he merged FlashlightFixes apparently

onyx summit
#

I'm a have to run some tests on that cause I never noticed it.

minor apex
#

not important but id like a config to stop seeing this

deft cape
#

i can't tell if ur just trolling me rn 😭

#

that's not even mirage

neat pelican
#

😭

prime solstice
#

please stop this barch

eternal bridge
#

I could stroll out at night like its my back yard!! Its just that i saw Rich on a hill. he was over on the orther side of the river. but that was three days ago.

bright junco
#

i was playing with mirage on the last version and my cat stept on my power cord

#

couldnt replicate after uninstalling

#

dog ate the logs

#

please do better

rigid vapor
#

Even though maskedfixes has been marked as deprecated, Mirage still regards it as a pre-mod.

ionic shoal
#

i should add, its safe to leave "MaskedFixes" installed., just remove it once its no longer a dependency πŸ™‚

bright junco
#

yep, it does nothing

#

just has the proper mod as a dependenc

onyx summit
#

Wait are you running Mirage and Skinwalker??? Is there a point in running both?!?!

Also now that I saw correctly. That is a different mod, and you are posting in the wrong thread.
https://discord.com/channels/1168655651455639582/1181846289458135080

Please post issues in the correct mod threads as Mirage has nothing to do with that mod. But refer to my above message to fix your issue though.

minor apex
onyx summit
minor apex
#

i was testing with mirage the other day to see if compatibility checker was still locking people out for not having it

#

it isnt

#

i run skinwalkers cause only 1 in 20 players ever randomly join with mirage active

#

dont need it to sync up if nobody is joining with it

#

We recently had the idea to recreate Lethal Internship with mirage-like features. We seem to be close to figuring out how to spawn player bodies and move player ears around host only. We also may need the host to be teleported around to store and play sounds from anything tho. clients cant seem to be lied to about where other player voices are so it have to tp the host around

#

idk how hard it was to make this stuff work normaly but making it host only is gonna be a huge pain

#

when we try to recreate mods its done with modders who learned to code from lethal company and its always a complete rewrite cause host only things are dumb and hard to make and nobody else makes them but we like playing in public

ionic shoal
minor apex
#

i remember asking for it to be removed cause i only ever had an issue when compatibility checker was there to say no

#

mirage usually never breaks anybody's game and those who dont have the mod dont need it that compatibility level was just destroying the amount of random joins we would normally get back then

ionic shoal
#

"I don't want the maintenance burden that comes with porting someone else's code"

thanks.. the burden shall be all mine 😒 (i am joking dw xD when i made the fix i realised id probably need to update it if nessecery :P)

at least now i can remove my own depreceated mod from my mod profile πŸ˜„ ❀️

haughty sierra
#

how to download mirage core? like where to move these mods:

broken blade
#

Probs you're best off grabbing a mod manager of some sort to reduce risk of user error

#

I personally like gale

#

Otherwise miragecore isn't an empty mod, you're gonna want to grab miragecore itself and install its dependencies the same as any other mod you'd install

haughty sierra
#

I don't really like mod managers because they are downloaded to the C drive.

prime solstice
#

You can install them elsewhere...

#

They let you pick the drive

#

Same with any basic program

copper valve
#

literally the 3rd thing you can find in the settings

cloud adder
#

i was gonna say

#

doesn't it have an installer that lets you choose directory

#

atp if a program doesn't let you choose where to install it that's kinda shady anyways

bright junco
#

we can help with that

#

after that you just hit download for mirage and all the dependencies will be installed immediately on their own

maiden peak
#

I could've sworn Mirage used to have a feature where if you die and (optionally) you're alone, there's a chance you become a Masked, but I can't find it in the current configs

#

Did this get removed or moved to another mod, or am I just not seeing it?

rancid bay
haughty sierra
#

What is the name of the mod so that Masked enemy can take items?

bright junco
#

would it be possible for mirage to add player tags to masked?

#

removing them from everyone makes everyone paranoid, adding them to masked would be a nice change

thin sonnet
#

And I've not had issues with that

bright junco
# thin sonnet

that's pretty cool, does it do the person its mimicking though?

#

also been advised to not use GI

thin sonnet
#

I advise to use GI :]

bright junco
#

splendid

bright junco
#

what about the nametag it uses?

#

goated

#

thanks bro

thin sonnet
#

make sure to have the cfg like this to make Mirage and GI Compatible

#

you can change the scrap icon chance, but everything else I advise to let Mirage do it

bright junco
#

ye i remember that from mirages page

#

ill make sure

haughty sierra
#

Is there a mod for enemies with masks to copy cosmetics?

toxic wharf
#

this one

#

mirage

lofty sorrel
granite musk
#

edit : i got the answer ty :)
i asked a question there but jsut incase u didnt see @deft cape #1191847266777042985 message
is it not possible to use that settings in lethalconfig(and without restarting the game) ?

granite musk
#

also what is this masked at the back
they walk funny

#

they kinda walked like this lol

deft cape
# granite musk edit : i got the answer ty :) i asked a question there but jsut incase u didnt s...

lethalconfig's options are backed by ConfigEntrys whereas for LethalSettings i can programatically do whatever i want whenever a value changes.
although maybe lethalconfig's added something by now to allow what LethalSettings does, but either way i'm sticking to using LethalSettings for per-player settings to have an obvious distinction, since LethalConfig is associated to modifying the config directly and that's always going to be synced when sharing profile codes

granite musk
eternal bridge
turbid sentinel
#

Disabling LethalSettings is ok right? It just introduces some errors that I'm trying to keep down at a minimum

clever knot
#

It shouldn't be causing errors

#

if you have imperium tho, that will make lethal settings throw errors

cloud adder
#

lethalsettings also doesn't like facilitymeltdown if you have that

radiant dune
blissful copper
#

does making this false mean that the only people that get their voice mimic'd is if they are dead?

#

like you'll never ever hear an enemy use the voice of a player who is still alive

granite musk
clever knot
#

And false only while youre dead

blissful copper
sturdy python
#

You’ll still hear other players

clever knot
#

Its only about your own voice

blissful copper
#

oh your own voice

#

i was hoping there would be a setting to make the mimicing more realistic by only mimicing dead people

#

or even better only mimicing a player that they've killed making it more creepy

turbid sentinel
wind crown
#

Is it normal that if i play alone i only hear the skinwalkers mimic my voice of all the recordings it has ever saved? can i change that?

sturdy python
#

Uh

#

Yes?

#

It doesn’t record other players

wind crown
#

so it only plays the recordings of other players when theyre present in the game?

#

i thought it saves all recordings in general that were ever recorded (my "never delete recordings" option is turned on). in multiplayer with my friends i also here their skinwalkers but in single player i only hear my voice being mimiced

rain mountain
#

it will only play voice lines from the player it's mimicking, so if you're the only player then that's why

ionic shoal
wind crown
#

yea but in my case with the option "never delete recordings" (which inlcude other players) i expected these were saved locally as well. so in multiplayer it syncs between the clients so that other voices are hearable as well?

eternal bridge
#

mirage is incompatible with MaskFixes due to mirage mimicking player suits, MaskFixes can't do the random suits/tragedy masks

bright junco
#

is there something in the config for that?

eternal bridge
#

which one?

bright junco
#

dunno, both

#

something to prevent the overlap or whatever

eternal bridge
#

uh, nah

bright junco
#

sad

eternal bridge
#

there's nothing in mirage's config to prevent mimicking appearences, and maskfixes just has configs for what suits masked can wear and the chance of a tragedy masked spawning

#

so all qwbarch needs to do is make a config option to disable/enable certain aspects of the appearence mimicking

gaunt grotto
eternal bridge
cloud adder
#

preventing random suits make sense, but why does it stop the tragedy masks?

gaunt grotto
eternal bridge
#

it might be odd rng math with the tragedy/comedy picker though

gaunt grotto
eternal bridge
deft cape
#

uh i could add an option to make masked not copy suits, but that sounds so pointless since voices wont match with suits anymore

#

would be a super easy change so i guess it doesnt hurt to add it, other than cluttering the config yet again πŸ˜”

#

@eternal bridge pinging just so u know

deft cape
# wind crown so it only plays the recordings of other players when theyre present in the game...

recordings are only created and saved for the player itself, so your pc only has your own recordings

you can read more about it here: https://github.com/qwbarch/mirage/discussions/94

GitHub

I confused myself with the last one let me phrase it in a better way what I wanted to ask is if the audio is shared between everyone for instance audio of you screaming from a session they weren&#3...

deft cape
ionic shoal
deft cape
#

true could do that, but i also dont like the idea of having "transitional" code stuck in my codebase for awhile 😭

#

thats the regular config so it falls under lethalconfig

#

although i wouldnt be touching lethalconfig at all

ionic shoal
deft cape
#

for lethal settings it'd be straightforward since lethalsettings is just a gui over whatever data you set

#

so i can change the gui text without it affecting anything

minor apex
#

what dose mirage revive actualy do?

#

if it revives the players and not just spwaning masks i have to exclude it from my host pack

#

revive mods never work host only

#

they always cause the most confusing bugs

#

one of the reasons why we making custom anticheat cause users with revive crap breaks my lobby

#

gotta prevenent ghostmode users n such

deft cape
#

it has a misleading name

#

players that die have a chance to come back to life as a masked

#

it's needed on all clients as stated on the mod page

north escarp
#

At the very end ?

#

iirc

deft cape
#

@north escarp oh those warning logs just happens whenever the game lags IIRC, so it's actually not a mirage issue like i thought it was

#

should be a non-issue (unless you're noticeably having issues with voice chat)

#

i could be wrong, but iirc the main thing that causes the dissonance thread to lag is mainly due to garbage collection

#

so any mod that generates a lot of objects on the heap ends up contributing to the dissonance pipeline being reset

lofty sorrel
#

i get it a lot when lan testing, it probably doesnt like constant tabbing out either

deft cape
#

ah yeah it probably really just is a non-issue then

north escarp
#

But why does it prevent leaving the game ?

deft cape
# north escarp These are warnings ? They are marked as errors

are you not talking about this?

[Warning: Unity Log] [Dissonance:Recording] (17:24:05.377) BasicMicrophoneCapture: Insufficient buffer space, requested 71520, clamped to 16383 (dropping 55137 samples)
[Warning: Unity Log] [Dissonance:Recording] (17:24:05.377) BasePreprocessingPipeline: Lost 480 samples in the preprocessor (buffer full), injecting silence to compensate
[Warning: Unity Log] [Dissonance:Recording] (17:24:05.377) BasePreprocessingPipeline: Lost 480 samples in the preprocessor (buffer full), injecting silence to compensate
[Warning: Unity Log] [Dissonance:Recording] (17:24:05.377) BasePreprocessingPipeline: Lost 480 samples in the preprocessor (buffer full), injecting silence to compensate
#

this is like the only mention of dissonance in the log

deft cape
north escarp
#

do you have an idea where this dissonance issue could come from ?

deft cape
#

i mean idk what you're even referring to anymore πŸ˜‚

#

that's the only thing that pops up when i ctrl + f for dissonance in your log

#

wait

#

i think i was looking at the wrong log LMAO

#

lemme check again

#

hmmm nope same thing, i only see the warning logs

#

@north escarp can u copy + paste the exact thing ur looking at

#

just so we're on the same page

north escarp
#

My bad @deft cape

#

I forgot to set "Unity logs to file" to true

#

So no logs for you

#

my bad

deft cape
#

oh no wonder im not seeing anything lmao

north escarp
#

There you go

#

I can't send the whole log file

#

it is 300MB large

deft cape
#

i have absolutely no clue what could be causing that ngl

north escarp
#

(because of Wildcard)

deft cape
#

but that's 100% not mirage

north escarp
#

Don't know where I could search for that

deft cape
#

i'd just start with the usual: look through which mods u updated since it broke and try disabling some

north escarp
#

i don't have the full logs of my modpack sadly

#

It might be

#

DissonanceLagFix

#

I'll try to disable it and retry with my friends

lofty sorrel
#

doesnt mirage include the dissonance lag fix code

lofty sorrel
deft cape
#

it's not dissonance lag fix

#

that only disables dissonance logs

#

(which should also include those pipeline reset warning logs, so im confused why it's even showing up)

somber grove
#

Question: Is it default behavior in this mod for a player to be revived as a masked player when they die to whatever cause?

cloud adder
#

if you have mirage revive, it has a chance to revive you as a masked player when you die alone

#

it's not included in the base mod anymore

somber grove
#

ah ok perfect

#

I didn't see a config setting for it so I was worried

deft cape
#

btw out of curiosity, who here even wants a config option that'll not set the masked's appearance to the player?
i'm just trying to see how many ppl are actually going to, e.g., use MaskFix's randomize suit option with mirage

#

i could add it pretty easily, but at the same time im too lazy to do it if nobody's even gonna use it

north escarp
#

I haven't disabled the setting on my side

#

I always have the mimics taking the skins

cloud adder
deft cape
#

oh i meant i haven't added the config option yet, just gauging interest to see if it's worth even touching

cloud adder
#

i did see something about mirage stopping maskfixes from randomly applying tragedy mask instead though

deft cape
deft cape
#

that's probably on the side of maskfix to look at

ionic shoal
#

from my pov, the setting would be nice, but imho, if someone is using random suits, i dont get why they would not use mimicking instead.

wispy fable
#

does mirage use AI?

north escarp
#

Don't think so

#

There's no more using AI currently

neat pelican
#

it was planed iirc but scraped

wispy fable
#

okay

#

thx

north escarp
#

yeah honestly I think it's better not to use AI

#

imo

wispy fable
#

I agree

#

Was just not sure since iirc ai learning was planned

spring laurel
#

It was just gonna be plugging into ChatGPT (or a locally run algorithm) to figure out which of the saved voicelines would best match with what other players were saying

wispy fable
#

ah

#

I see

#

but so far its the same as it used to be?+

#

since it seems to be updated very often (which is good ofc just not sure what has changed, I havent played lc in a long time)

north escarp
#

The best is just to keep it this way

#

It's already a little hard to figure out if someone is a mimic or not lmao

spring laurel
#

Sometimes, usually you can tell immediately

wispy fable
#

just say lines like "I'm not a mimic let me in" and stuff like that when you venture into the facility alone :P

#

and then hope the mimics choose these lines when fit

ripe pebble
#

is there some way to make it a chance for mimics to not have the mask?

deft cape
ripe pebble
#

sounds good, unfortunately i suck so itll be a few months if at all

deft cape
#

figuring out how to bundle cuda properly and a bunch of other things took too much time so oeis and i dropped it, since we're just both busy irl and we were also feeling pretty heavy burnout on the project

deft cape
deft cape
north escarp
#

Honestly the ai thing reallyyyy looks like a totally cosmetic thing

deft cape
#

for v2 it was supposed to (and was implemented) support having the host transcribe audio for other clients, so as long as one person had access to cuda it was theoretically good enough

#

i disagree on it not being as good as randomized voices but i get that's subjective

#

was pretty sick to see it working, but sadly it's too much work to finish so it was scrapped

quick remnant
#

ngl I was a lil worried about it using a different "method" than skinwalkers, which had some great moments back in the day, but I think mirage has had better "rng"(?) with choosing clips to play back. In the week my friends have played with it people have been baited more by mirage voicelines than for months of playing with skinwalkers. Maybe that's placebo but it's very well done! The synced lines make it all the better ofc.

I've seen a demo or two of ai generated voices and while it's a super cool concept I've noticed the voicelines are always a bit stiff and unconvincing. Usually people are yelling or carrying on dramatically in LC so a monotone chatgpt voiceline seems out of place.

Just saying unless that tone issue could also be fixed dynamically it may have also been a lot of work for not as great of a payoff as possible with current technology.

north escarp
north escarp
#

Too bad you can't use .NET9 while modding

#

.NET9 has some crazy shit for AI

deft cape
# quick remnant ngl I was a lil worried about it using a different "method" than skinwalkers, wh...

tone was not an issue for v2 simply because it doesnt generate voices. how it worked was that it records voicelines and transcribes what the player says and then feeds the text to a model, and then when the player speaks again, the model looks for the closest match of how the player responded in the past. if a recording exists, it uses that recording. if a recording doesn't exist, well, it was supposed to have a sensible default but that part still needed tweaking

#

simply put, v2 didn't use libraries like xtts because the generated voice sounds worse than if we just recorded voices with randomized playback to begin with

(not that any of this is relevant anymore, but just so u get an idea of what was being worked on)

deft cape
north escarp
#

I see

quick remnant
deft cape
#

sadly v2 is completed undocumented so it wouldn't be easy to pass the torch to someone else, not to mention all the subtle bugs that existed which would confuse anyone unfamiliar with the codebase πŸ˜…

torpid arch
#

if someone crazy enough comes along, they will find a way 🀭

tribal halo
#

Does anyone know why I get this error? I just installed the Mirage mod and I get this error when I start the game.

cloud adder
#

It's mostly harmless unless you want to actually use the settings

ripe void
#

Does the spawn "Enable spawn control masked enemies" affect the "Max spawned masked enemies"?

deft cape
#

it should be noted in the config though

ripe void
#

It's kinda unclear in the config. It sounds like the spawn chance is the only thing affected with that option enabled disabled. So I don't ahve to change the 2 if I don't mess with that option?

deft cape
quick remnant
#

Is there any way, or mod, to allow masked to hold items? I think that's really the only thing left somewhat giving them away (aside from janky movement ig) is that they're always emptyhanded

compact bobcat
quick remnant
#

Ah yes ty I had heard there was some issues with that though? + (at least imo) the ai is totally fine for what it needs to be atm

What I'm saying is just having them hold items as a visual thing. Maybe like a config option and a configured percentage chance that they hold particular items when they spawn. Like 50% chance they have nothing, 30% they have a flashlight, 10% they have a walkie in their hand, 5% shotgun, etc.

Doesn't seem like anything does that though, would you be willing/interesting in adding that to mirage qwbarch? After all they can already do a similar thing with phones using lethalphones.

ionic shoal
# quick remnant Ah yes ty I had heard there was some issues with that though? + (at least imo) t...

If there is an issue, do let me know, I think I know of one minor issue affecting fire exits, otherwise afaik, there is nothing majorly outstanding atm.

As for janky masked movement, thats a vanilla function which I disabled.

Maybe I can release a simpler mod that patches those things out of masked but doesn't touch ai, which would be incompatible with LI but makes masked (hopefully) act a bit less janky. (The random look bullshit is what does my head in tbh)

quick remnant
# ionic shoal If there is an issue, do let me know, I think I know of one minor issue affectin...

Dat would be coolio, also btw I meant no shade on your mod I haven't actually tried it in my pack! It was just enough of a balancing act to get GI/Mirage/MEOF to work lol and I read there were some issues in here at some point. Big agree on the random looking around.

Most of my frens are still fooled decently well by masked though, like I said its just the tell of always holding nothing whereas a player always holds a flashlight or other item to show they're not a masked

#

Stealing items or picking them up does sound cool but I think it'll come with other complications. If they could just have an item sometimes cosmetically to make holding an item less of a 100% tell you aren't a masked that's all I'm saying.

ionic shoal
#

Mimicked masked with certain mods installed (reserved slots? Hot bar plus? One of them) puts items on the body like a player would have.

ionic shoal
near egret
quick remnant
# near egret Oooh I'm curious as to which mod it is...

I think its reservedflashlightslot gives them the light on their shoulder. I considered getting it for that but I already use hotbarplus, don't really care for the shoulder light, and it doesn't really solve the issue of empty handed amoguses vs players holding tools

flint moth
#

@deft cape Can you remove the LethalSettings required dependency and make it an optional dependency instead? It doesn't make sense to require LethalSettings considering LethalConfig is significantly better

thin sonnet
#

LethalSettings is needed for some extra settings that LethalConfig can't do

flint moth
#

why is this not being brought up to the developer of LethalConfig?

thin sonnet
flint moth
#

and it's not possible for them to add it as functionality for mods to utilise?

ionic shoal
#

lethal config saves the settings within your mod configs, which transfers to other players, lethal settings allows you to retain you own personal settings for a mod (if i understand correctly) even if you switch to a different mod profile.

that being said, i wish it was a soft dependency (ie, we are forced to download it with mirage, but can remove it if we so choose :P)

deft cape
#

actually lethal settings is already a soft dependency in the sense that not having it installed still works with mirage, you and your players just won't be able to adjust their per-player settings anymore

#

the reason why it's set as a dependency on thunderstore is because it's the intended user experience

#

unlike curseforge there's no option to set a soft dependency as a package on the site

#

so it'll have to stay like that

#

but yeah moroxide and Virus already explained it but in short, LethalConfig lets you adjust your config files in game whereas LethalSettings lets me present my own settings menu and do whatever with it programmatically

#

they serve two different purposes

deft cape
#

but if i look into it and it looks simple enough, i could add it

quick remnant
#

np ty for the consideration!

deft cape
#

@ionic shoal since you've done that already, how much work is it to make masked carry a random item? do masked have a held item field where i can just set an item to it or does it require more work (like attaching animations or w/e to it)?

ionic shoal
#

dont know if this will share the code, or send it as a file, hope as a file.. but this is the basics of how i generated a fake item and gave it to the masked.

#

it has a lot of extra bs in there (like i allowed them to pocket said item, as long as no player was watching them, etc.. and there is some code for LI activities/focuses

#

oh and i was making it so they had multiple items (i beleive, a piece of scrap, an equipment, and maybe the third was an empty hand.. so they could switch between them to be more beleiveable.. but i d k, been a long time since i looked at this.

#

regarding the animations.. this is basically how item carrying animations are handled.

#

if you were looking to do this stuff yourself i would happily help if you let me know what you need xD

deft cape
#

oh if it requires adding all those animations i'm just gonna pass on implementing it

#

i appreciate all those snippets though πŸ₯Ί

ionic shoal
deft cape
#

ah ic if it's not too many different animations that's not too bad then

#

i just got a bit scared thinking there's a whole list of things to hardcode πŸ˜‚

wind crown
#

Hey guys i cant find the folder where mirage stores the recorded audio clips.. can anyone tell me real quick? i checked the mirage folder

deft cape
#

@wind crown it should be there, it's supposed to be in LethalCompany/Mirage/Recordings

wind crown
cloud adder
#

mirage deletes recordings when the game is closed i think

#

there's a setting to have it never delete recordings though

deft cape
#

^yeah that, what's your reason for looking at the recordings rn? if you wanna put your own clips you'll need to enable the setting that prevents it from deleting like winter mentioned

wind crown
#

thats my and my friends' issue: #help-and-troubleshooting message

deft cape
#

creating recordings shouldn't be causing any lag since it's offloaded to the disk

#

it's not being kept in memory

ionic shoal
#

i assume knife should use flashlight but i d k

cloud adder
#

i believe knife has a different animation thats just flashlight with an adjusted hand rotation

#

but for something that minimal it probably doesn't matter

deft cape
#

im gonna keep it pinned so i can use ur code as a reference later

deft cape
#

will probably add it in a couple weeks or something since i gotta go back to doing work again

#

ran out of time to add it on this current update

ionic shoal
deft cape
#

gotcha thanks :D i'll let u know when i work on it again and run into issues

cinder geyser
#

Configurable option to have certain creatures use audio from all players who were speaking with an active walkie-talkie?
With Configurable levels of audio distortion?

It would be like they're picking up on radio frequencies!

#

A "mimic player" & "radio chatter" option for the creatures

lofty sorrel
cinder geyser
#

Aaw, sadness

flint moth
vast canyon
#

https://github.com/qwbarch/mirage/blob/main/package/mirage-lc/src/Mirage/Domain/Audio/Receiver.fs#L50-L51

// For whatever reason, a null reference exception can still be thrown when going back to the menu,
// despite the null checks above. This intentionally catches it and silences the exception.

This is because of wrong null check

GitHub

A mod that mimics player voices for Unity games. Contribute to qwbarch/mirage development by creating an account on GitHub.

#

f# calls Object.ReferenceEquals(AudioSource, null)

#

but it only check if managed type is null, but not native

#

@deft cape https://github.com/gilzoide/unity-fsharp/blob/main/Scripts/FSharpGlobals.fs

namespace UnityEngine

[<AutoOpen>]
module Globals =
  let isNotNull (o: objnull) =
    match o with
    | null -> false
    | :? Object as unityObject -> Object.op_Implicit unityObject
    | _ -> true

  let isNull (o: objnull) = isNotNull o |> not

Here isNotNull fun that support unity objects

GitHub

F# scripting in Unity with automatic compilation. Contribute to gilzoide/unity-fsharp development by creating an account on GitHub.

solemn ridge
#

πŸ€” this might explain some things for sure @deft cape Hopefully this is easy to patch and hopefully it finally resolves the issues of clients freezing

deft cape
#

ill have to change that in my codebase in a couple weeks at least since im busy for now

deft cape
#

oh just realized that's a custom defined isNotNull, i thought that was the recently added one (but i never checked if the PR went through)

toxic wharf
deft cape
toxic wharf
#

mhh

#

weird then

deft cape
#

although it doesn't have anything else in the stack trace so i am a bit confused

#

maybe it could be MirageRevive afterall but it doesn't make too much sense since it's only the line that calls the original method

toxic wharf
#

its not actually my log tho, it was a friend who used my modpack and played solo

#

and he said that it happens when theres masked on the map

#

might be not related or pure bad luck tho

deft cape
#

i'll test it in a couple weeks when i have the time to

#

gonna note it down on github for now

#

thanks for the report

vast canyon
#

@toxic wharf @deft cape is the other mod causing

deft cape
#

oh i missed something in the stack trace?

vast canyon
#

please send full modpack

toxic wharf
#

01959f8e-2cfd-bfba-409f-8595c6ae114b

deft cape
#

thanks diff πŸ₯Ί

vast canyon
#

i mean it clearly says that it happens later on

deft cape
#

im blind

vast canyon
#

in some harmony patch

toxic wharf
#

oh so its really mirage revive ?

deft cape
#

that's another mod's patch

#

i don't use harmony

toxic wharf
#

only lethalperformance does use it

#

in my pack

#

oh diffoz is the mod creator

#

thats why

vast canyon
#

lol I saw my test mod here

#

πŸ˜›

toxic wharf
#

huh ?

#

which one ?

vast canyon
#

oh wait nvm

#

@toxic wharf it's gold scrap item

toxic wharf
#

really ?

vast canyon
toxic wharf
#

weird

#

i've used this mod for a long time with no issues

#

seemingly

#

is there more info on this issue ?

vast canyon
#

welp, it tries to get name of gameobject after it got destroyed

#

so mod doesn't check if object got destroyed before getting the name of it

#

or checks it incorrectly

#

(by only checking managed side only)

toxic wharf
#

welp i sent a message in goldscrap's thread #1237150819116257401 message

#

if you want to complete it, feel free to do so

broken mango
#

Ey does mirage have like that voice analysis thing yet?

#

Or no?

hollow violet
broken mango
#

Damn glad at least the mod will be supported still

#

To some extent

limpid shoal
grave vault
#

what happens if 1 person has the mod disbaled and the rest have it

#

does it break terribly or is it playable

deft cape
grave vault
#

No worries
Thank you

deft cape
#

Mirage v1.20.0 is released:

  • Masked enemies are now able to spawn holding an item at a random chance (in percentage).
    • Config name: Masked item spawn chance
    • Default value: 50
    • Note: This config option likely conflicts with LethalIntelligence. You should disable this option (set it to 0) if you use LethalIntelligence.
  • Masked enemy spawn chance default value has been lowered to 0.5f.

Full credits:

  • Piggy for his MIT licensed asset bundle.
  • VirusTLNR for the held item animation implementation and for helping me out when I had questions.

Held item animation is taken from LethalIntelligence (with permission). Go check this mod out!

solemn ridge
#

@deft cape your new file in Mirage 1.20.0 is failing to decompress cus you didn't properly make it an assetbundle

vast canyon
#

it actually because of calling unity api in other thread

cloud adder
#

even though i also got this, it doesn't seem to impact gameplay

solemn ridge
#

I still rolled it back for now til the mod updates lol

cursive scroll
#

Didn't even drop what he was holding

#

or is it even mean't to drop said item at all?

vast canyon
#

It's probably intended to not drop the item

cursive scroll
#

also the items stay permenantly even when leaving said moon

wheat copper
#

I delete masked enemies when they die

quick remnant
#

Despite the (kinda given for a first version of this lol) bugs, such an awesome update ty!

Though, would it be possible to get a config to limit what items the masked can have? I think rn it's just calling on any item, so on top of the other issues already it's at best having them spawn with items that they shouldn't have decently often, or at worst spawning them with bugged/debug/null items and causing a bunch of other issues.

cloud adder
#

how could you do this

#

he just wanted to show his figurine

quick remnant
#

fr he was so proud too

#

Also using control company keeps the item in the air if you despawn yourself back to normal player control as a masked, but I presume that's to do with the other despawning stuff not working totally right.

Lastly, this sussy log coming up a fair bit, this one was from using the terminal but variations of it were happening a lot. I only updated a few mods so I am preeeetty sure this is mirage, but not totally certain.

#

Same parameter name: key came up in relation to customemotesapi too

quick remnant
#

False alarm I think, after reverting mirage the key error persists. So it's maybe lcoffice, pinnacle, or a couple other things.

ionic shoal
#

Ngl, peak fake item for me is toilet rolls, cause you know not what hides behind those.

quick remnant
#

LOL my thought process aside from the potential buggy items would be that it moves the sussy behavior from one semi-obvious tell - holding nothing = masked - to holding scrap = masked. In my games most of my friends hold one of a few set tools in their hands or nothing, now that I've installed the dedicated flashlight slot mod.

#

I think (if this was even possible) for my games at least, the optimal potential config would be something like a configurable tool list and a chance a mask spawns with a designated "tool" that could be configured to items my team uses (I'd prob set that to like 50%) and then a configurable "scrap" list which I'd set to like 10% to offset what would become the "hold scrap so you're not an imposter" meta.

#

Not that my friends are super tryhard about not getting jumped, and not to sound too demanding, I'm just sayin that would be my optimal, if that was possible!

grave vault
#

On that note

#

It currently uses just any possible scrap in the game, independant of the moon
So could be good to limit to scrap thats spawnable on that moon, even cooler if it followed that moons spawn weights, maybe yanked a random of the spawned scrap of the day?, also makes it work better with modding

#

defo having it be an rng chance and it pulling from either any gear or gear the players own would be great too

grave vault
#

It might be another mod but after updating any time we save and reload we have our items on ships occasionally changed, so It might be affecting the scrap list?

deft cape
#

i'll take it back to the main thread, just a bit sad that it'll make load times a bit worse

#

oh it's a conflict with BepInExFasterLoadAssetBundles

#

i'll j ust try and do a runtime check and if it's found, run it inside the main thread instead

deft cape
#

it's not meant to drop right now so it's still ungrabbable (just not sure why the grabbable text is still showing when i set the item to be ungrabbable)

deft cape
deft cape
deft cape
deft cape
deft cape
lethal ginkgo
ionic shoal
ionic shoal
deft cape
#

now that i think about it, it's the same thing with my friend group

#

so i guess grabbing items from the current level using its weights still wouldn't be as good

#

it'd be better than what i currently have but doesn't seem to be worth exploring anymore

#

so maybe the move is to do a blacklist like virus mentioned

#

but if it's a very simple config with items to blacklist then it'll be missing any custom weights

#

will have to think on that a bit on what approach to use, for now i'm just gonna try fixing the bugs

#

@vast canyon is there a simple way to check if BepInEx Faster Load AssetBundles Patcher is found? since it's not a plugin i can't do it the usual way i'm assuming

deft cape
vast canyon
deft cape
#

i still want it to load on a separate thread if BepInEx Faster Load AssetBundles Patcher isn't loaded though

#

just to make load times slightly faster

cursive scroll
cursive scroll
deft cape
#

gotcha

vast canyon
grave vault
#

i played on the update after

#

and reloading the ship made the items change

#

same day, same save, just leave and reload

lethal ginkgo
grave vault
#

on the note of making masks better, removing that like, stop and stare moment or making it shorter would be nice

deft cape
#

masked AI changes like that requires a lot more work/time - which i don't plan on allocating to modding anymore

#

Mirage v1.20.1 is released:

  • Masked holding items no longer show a hover tooltip, thanks to mattymatty.
  • Fixed a bug that caused an error on startup when BepInEx Faster Load AssetBundles Patcher is installed, thanks to DiFFoZ.
  • Fixed a bug that caused items being held by masked enemies to persist between rounds.
#

will be looking into a way to customize the items next, still thinking about what the best approach is though

deft cape
#

so not entirely sure what the best approach here is while keeping the config simple

cloud adder
#

awesome

grave vault
cloud adder
grave vault
#

a tickbox for apparatus coded objects (like meltdown latches into other mods)

#

and then a custom list of excluded things like LGU uses

deft cape
deft cape
#

but what i'm thinking of now is

#

i'll just have a blacklist actually, but items can only be used from the current level still

#

that way people can just blacklist specific items they don't want to see

#

but if it doesn't exist in that level it won't be used by the masked either way

#

e.g. you can just disable the apparatus yourself

cloud adder
#

do they use store items?

deft cape
#

im not really sure but someone else recommended using items from only the current level so i'm assuming there's a way to grab it

#

will have to dig a bit

deft cape
#

i just found SelectableLevel has a list of scrap so i'll just use that + a blacklist

#
  • store items i suppose
cloud adder
#

fair

#

whatever config i have set up has the masks spawn with the same equipped items like reserved slot flashlights n stuff, so store items arent that important for them to hold anyway

#

just wondering cus there are some store items i have disabled cus theyre buggy, and i guess i'd have to put those in the blacklist for mask

deft cape
#

i'd still want to have store items since not everyone has reversed flashlights, and plus some people mainly hold things like shovels (like me when i'm playing)

deft cape
#

i guess if the community is able to figure out which items are bugged

#

i'll update the config to have those disabled by default

#

or straight up remove it from the config

cloud adder
#

yeah

#

i think that aside from some that are 100% broken itll be up to individual users to disable

eternal bridge
#

what if masked could use stun grenades so they just did this

cloud adder
#

cus the ones i have disabled are still being worked on and might not be buggy in the future

grave vault
quick remnant
grave vault
#

apparatus could be a tickbox for the less competent (plus itll be way easier to mods with unique app but they all share app signature identifier thing)

deft cape
#

since after i figure out this config stuff my break is basically over

grave vault
#

thats a big change

#

unless you can abuse loot bug mods allready out

deft cape
#

for using items it shouldn't be that complicated

#

maybe not stun grenades at least but

#

e.g. using those annoying horns on an interval πŸ˜‚

cloud adder
#

mask with piggy's rifle:

deft cape
grave vault
#

they spawn with a shotgun? πŸ’€

deft cape
#

they can rn yeah :p

grave vault
#

pew pew mother fricker

#

(automod got me :()

quick remnant
grave vault
#

honestly

quick remnant
#

But that's just me

grave vault
#

a list of all the internal names would be like

#

i would suck dck for that

#

especially if it split it into moon specifric ones and overall ones, but thats reaching, a simple list of it all is so amazing

quick remnant
#

But so long as a dupe entry doesn't bug it out, I don't see why that solution can't be a good substitute to a weight system. Bit more scuffed ofc but I do the same thing with lethalposters. I have like 20 dupe posters and 5 scary ones so the ship semi rarely has "anomalous" posters

quick remnant
grave vault
#

fr tho

#

certain moons get unique scrap not on any other moons

#

so havign a list of generic scrap

#

and then the moon specific ones is nice

#

its asking a lot though

deft cape
grave vault
#

itll be a bitch to scroll through if it only by checkbox, but id still love it

deft cape
deft cape
quick remnant
#

Btw on that note of per-moon scrap the "masked can only hold scrap that's in the level" would prob backfire a tad (at least for me) depending on
A) if items in the smart cupboard are considered viable targets (would they be able to find a shovel if that's the only place one is?)
B) half the scrap in the lethal is rare scrap used as ship decor, these could be untoggled tho

deft cape
#

ah i guess i'd have to also look for a list of items that's overall found on the current round eh

#

B) half the scrap in the lethal is rare scrap used as ship decor, these could be untoggled tho
yeah that's where the config being a blacklist would be easier

#

i'm still leaning towards a blacklist with no weights to have a simpler config for now but i'll wait for more ideas b4 i implement it

quick remnant
#

Like I said tho all I think I would want is whitelist, and I'd dupe tools a bunch and remove everything except like a few of the most common scraps (dupe those too) then have a bunch of rare scrap that only has 1 entry.

I wouldn't personally care much about moon specific stuff, but maybe people's per-moon scrap ia more precisely configured than mine

#

Not the end of the world lol if a simple blacklist is what ya do but just sayin there was no ability to make shovels more likely through duping entries I'd probably just limit the items held to like, 3 tools. Which is a bit of a shame - but the alternative would make holding scrap too much of a tell and people would just always hold shovels/tools

deft cape
#

hmmm

#

i'll still try and think of a way to allow users to adjust weights then

#

but still in a simple way

quick remnant
#

Letsgoooo

#

Yeah because I'm thinking more of it now: with no weights one would be inclined to add more scrap for variety (to be trickier) but all it would do is mean scrap = sus amogus imposter. It's like the cobra effect lol

deft cape
#

ok what i'm thinking rn is

#

i'll keep a simple whitelist/blacklist but

#

i'll also add one config option for a "store items" weight and a "scrap" weight

#

so you can e.g. adjust the store items weight to be much higher

#

and then it'll be an equal chance between each item in that category

#

e.g. shovels, flashlights, etc would go under the "store items" weight

#

so that you'd only need to adjust 2 values rather than 1 for every item

#

would that work for you? @quick remnant

#

it's honestly either that or i guess i just have a whitelist/blacklist with a weight for each item as well

#

would make the config pretty dang huge though πŸ’€

quick remnant
#

If it was me, I'd take the latter just because people would use items like Geiger counters more than extension ladders and so on. I think if the config default is well made and the horrors of serious tweaks can be left to the freaks (like me lol) having more options to weight is gonna work for more playstyles.

#

I also use buyable knives as an alternative to shovels, etc etc

#

Oh, also I'm not sure how a blanket scrap weight would play with mods that add store items to scrap... Well, ig they could be blacklisted. How remnants treats items confuses me

grave vault
#

it gets overwhelming if you do that for every moon though

#

so a slider maybe just for ship gear, on planet works on the spawn weight and a blacklist option with a reference list of all items, and a checkbox for apparatus assaigned items

grave vault
#

hence why they have a config to adjust the total scrap value count

deft cape
quick remnant
#

Unrelated: so long as we're yapping about making this mod that is already 10/10 into 20/10 - I gotta tell you qwbarch one of my friends teleported a masked version of another friend on to the ship (for whatever reason it didn't attack but still talked) and she straight up thought she was having a conversation for like 2 minutes because the voice lines were just vague enough to make sense LMAO

Only when I got back to the ship and it stanced up at me (friend still talking to it) I was like uhhhh

deft cape
#

so you can just e.g. make tools have a much higher chance to be picked

quick remnant
#

She was like "no don't hit her!" When I started shovelling it LOL

#

and when it died in the masked pose her whole world was shattered, she was in denial for like 5 mins after and thought I killed our friend πŸ˜‚

quick remnant
#

Again, broken record, shovels just need to be higher than everything else

#

Fo me

deft cape
#

per-item weight for store items and then a global weight for scrap

#

that sounds like the best approach so far

deft cape
#

that's def the approach i'll do then

#

probably gonna work on this tomorrow instead actually but yeah, at least the idea's solidified now

ionic shoal
eternal bridge
#

The Masked enemy from Lethal Company

ionic shoal
#

i think tbh.

tools should have a fixed weight, but should have 0 weight if "reserved item slots" is installed.
scrap should be weighted based off the moon

and there should be a blacklist, no whitelist.

#

it just keeps config small (cause blacklist is usually only a few items) and then the weighting will be the same as the moon for scrap, so, you will see items you normally expect... and as long as the weight for tools is "normal", you should see tools at a relevent rate... and then tools your group dont use, can get blacklisted if they keep appearing.. and buggy items, can go on blacklist too.

deft cape
#

i think what i'll have actually is:

  • whitelist for tools with per-tool weightings
  • blacklist for scraps with no weightings (uses the moon's weightings for items that aren't blacklisted)
#

as for reserved item slots, does it already display the item for all tools or something?

#

i'm not really sure if it makes sense to disable tool weightings by defualt still, since that'd just make scraps be used 100% of the time, on top of the reserved item slot's held item

#

in that case it's probably better for the user to just disable mirage's held item option completely and just use reserved item slot's functionality

#

(or vice versa)

grave vault
grave vault
#

like walkies will show if they have a walkie equipped

deft cape
#

ah so they can still hold a scrap while showing those visual markers eh

#

ok i get what virus is saying then

deft cape
grave vault
#

Yh

grave vault
#

Yknow

#

Your am insanely impressive dev

#

Do you ever like stream while your coding

#

Or sit in a vc

deft cape
#

oh thanks πŸ˜‚

#

i mean i could sharescreen but i doubt it'd be interesting to watch at all

oblique galleon
#

plus it's F#, it wouldnt be fun to read

grave vault
#

honestly

#

i love watchign coding

#

specially cause i wanna get into LC coding haha

#

watching help sme learn a ton

deft cape
deft cape
#

since i use F# like xu mention instead of the usual C#

cloud adder
#

i don't think mirage likes when hoarder bugs spawn with phones (from lethalphones)

#

kept spamming this once a hoarder bug spawned with the phone

grave vault
#

lmao

grave vault
ionic shoal
deft cape
#

the author just needs to recompile with a new version of mirage

deft cape
grave vault
#

fairs, cool

grand herald
#

Does enabling the masks on the mimic enemies cause them to glitch for anyone else?

#

like

#

sound muffled for instance

cloud adder
#

the masks are supposed to be making sounds by themselves if mirage isnt installed

grand herald
#

then how do i fix the sounds

cloud adder
#

they do a muffled sound, a chuckle, and an evil laugh

grand herald
#

none are coming out

cloud adder
#

like no recorded lines

#

?

grand herald
#

i have seen none of the mirage mimics use any sounds for awhile

#

im confused

ionic shoal
#

a bug in the current version i beleive. related to the bundle not loading due to it being the same name as the one in LI. I was also playing not realising masked werent speaking xD

cloud adder
#

if its that bundle it should be fixed in newest version

#

1.20.2

ionic shoal
#

oh is that released now? i finished playing an hour ago so didnt check for an update, was just replying to the issue as im aware about it from the LI thread.

deft cape
#

if the sounds are muffled it's something else (no idea though)

#

so i'm trying to think of some default weights for store items rn. are regular flashlights or pro flashlights used more often? should i just have regular flashlights have a weight by 0 (disabled) by default?

#

i asked chatgpt which flashlight is used more often and it says pro flashlights lmao

cloud adder
#

in my experience pros are used more

deft cape
#

gotcha ill just keep regular disabled by default then

deft cape
#

Mirage v1.21.0 is released:

  • Renamed Masked item spawn chance to Chance to spawn with item and moved to a new file: Mirage.Items.cfg (you'll need to re-do this config option, sorry).
    • Default value: 80
    • This means that by default, there is a 80% chance for a masked enemy to spawn with a held item, and a 20% chance to hold nothing.
  • Added a new config option Chance to roll as store item.
    • Default vlaue: 50.
    • This means that by default, there is a 50% chance for the held item to be a store item. Otherwise, it'll be a scrap item using the current round's scrap weights.
  • Added a section in Mirage.Items.cfg called Store Item Weights.
    • This section contains a weight option for every store item.
    • By default, only walkie-talkie, shovel, pro-flashlight, stun grenade, extension ladder, and spray paint, are enabled.
    • The higher the number relative to others, the higher the chance for that item to be used by a masked.
  • Added a section in Mirage.Items.cfg called Scrap Item Blacklist.
    • This section contains a true/false option for every scrap in the game.
    • When a value is set to true, masked enemies will never hold that item.
grave vault
signal quest
#

Only ever buy them if it's a dark moon and we're broke and gearless, so almost never, not even first landing, someone always orders a pack of pros

tough cape
#

Now having mods that add more flashlights makes the normal even more useless

cloud adder
#

we only use the normal flashlights when remnants spawns them and we don't have anything better to use

grave vault
#

Same

grave vault
#

yo

#

if we kill the mimic with scrap

#

could we have a config option for them to drop said scrap

brazen steeple
#

is this okay to ignore?

ionic shoal
brazen steeple
#

it seems like it. but I use LI, does the new feature matter? or rather will be active even?

vast canyon
ionic shoal
#

Well I believe you should turn it off with LI (for now) but I may look at providing an option to allow mirages item use as like a visual thing (ie, masked pocket the items they aren't currently doing something with.) With li, so it all works together.

vast canyon
#

item name contains invalid character for config binding

brazen steeple
#

it should be turn off this way right?

deft cape
deft cape
deft cape
deft cape
deft cape
grave vault
#

Jesus

#

Your a beast

#

If on the note of doing that, a custom multiplier to make their scrap more or less valuable when dropped on death would be valuable, in addition the mask dropping on death with a value multiplier is in the same vein

#

Not to add workload more to add similar function ideas at once

deft cape
#

all good it's like 0 extra effort for a multiplier so I'll add it

grave vault
#

Nice

#

Being able to make them worth more of less than the scraps normally worth is hella nice

#

Plus with masks, that’s 2 item drops which is a nice balancing factor

deft cape
#

u mean the mask itself? that's just a texture on the masked enemy rather than an actual item

#

so it'd still be dropping only 1 item

grave vault
#

Sorry it was formatted badly

deft cape
#

ah I missed that whoops

#

I'll pass on the dropping a masked thing

#

pretty sure that kind of mod already exists anyways

#

will do the scrap one though

grave vault
#

Oh it does? Mb

#

So long as it’s compatible then awesome

cloud adder
brazen steeple
#

SellBodiesFixed mod have the masked dropping mask feature

deft cape
#

Mirage v1.22.0 is released:

  • Masked enemies holding items can now drop their items.
  • Added a config option called Drop store item on death. Default value: false.
  • Added a config option called Drop scrap item on death. Default value: true.
  • Added a config option called Scrap value multiplier.
    • This only affects the scrap value multiplier for scrap items dropped by masked enemies.
    • Defualt value: 1.0.
grave vault
#

Nice, thanks man

deft cape
#

np

deft cape
#

so i'm not entirely sure what to do about flashlights right now

#

i was thinking i could have an option where there's a chance to have it turned on when a masked spawns with one

#

but at the same time if the flashlight is turned on and the masked is outdoors that could make it a bit obvious

#

so maybe just have it by default only "on" when indoors and "off" outdoors?

grave vault
#

Hmm

#

Could do

#

Or occasionally flick it between randomly

#

Most tend to have flashlight going on and off indoors

#

Same with outdoors depending on time

deft cape
#

just wanted to keep it relatively simple

grave vault
#

To conserve power and give brief moments of info

#

Maybe just an rng state change

#

Assuming they hold these things like players

#

Going between on and off on a custom slider time scale between min and max of each state

#

So 5 config options

deft cape
#

just so it's quick to implement

grave vault
#

Sounds good

deft cape
#

pretty much trying to get 1 more quick update and then i'll be MIA again

grave vault
#

Haha

#

I +1 your idea

#

It’s good

deft cape
#

:D

torpid pecan
grave vault
#

how would that help? genuinly

#

i asked for the value multiplier for the balancing aspect, making the drop rng seems reductive

#

if they got the 1/10k chance to hold a gold bar, why leave ti to chance if it actually drops the gold bar

#

if it gives too much money turn down the multiplier

deft cape
#

but i can switch it to that anyways

deft cape
#

Mirage v1.23.0 is released:

  • Added a new config option Chance for flashlights to emit light. Default value: 50.
  • Changed Drop store item on death to a new config option that takes a percentage instead.
  • Changed Drop scrap item on death to a new config option that takes a percentage instead.
  • Fixed certain enemies and items failing to register to the config.
#

alright that's enough updates for me, if there's any big issues please ping me so i know to fix it

#

other than that i'll probably be hibernating for awhile again

brazen steeple
#

dunno if it broke anything. A masked got caught up in seamine gal's explosion attack (code rebirth)

deft cape
#

ah fuck

#

i know why that happened

#

i'll push a hotfix

#

oh nevermind

#

looks like i fixed it by accident lmao

brazen steeple
#

oh in ver 1.23.0? thats great!

deft cape
#

yep it's fixed in 1.23.0

quick remnant
#

Hey not gonna ping atm because it's super late but here's a few errors I was having with phones. Sometimes the masked could spawn with a phone and not throw errors though - typically emptyhanded masked - so I think it has to do with the way phones and holding items works. It was really bugging out the animations (and making their phones invisible) with twohanded items.

#

Also animations for twohanded items can be buggy. Hard to say if this matters if its a remnant "scrap" item or not, because I saw a masked holding a shovel weird in one of these pictures but then properly another time. These animations kinda look like they're trying to hold a phone in their left hand, so that might the main reason for these buggy item holding spots.

#

Lastly: not an error report but would it be possible to add compatibility for the flashlight config of being on/off with reservedflashlightslot? Super awesome feature, but most people don't hold flashlights out in their hands - especially now since we just installed reserverflashlightslot 😭

ionic shoal
# quick remnant Hey not gonna ping atm because it's super late but here's a few errors I was hav...

if lethal phones gives phones to masked, then there would need to be some integration, its effectivly two mods trying to do the same thing (i assume), so it will bug out, this is why in LI i always said mods making masked emote would make masked look weird, lethal phones also will probably make masked look weird in LI too, i would say turn off lethal phones if using this feature in mirage unless barch makes them compatible, which would basically mean, when a phone is held, the other item should not exist, or vica versa, it should be one or the other.

#

i meant btw, turn off masked using lethal phones (if poss)

cloud adder
ionic shoal
# cloud adder Barch said it was cus he changed one of the namespaces. Lethalphones hasn't been...

it actually sounds like both 2 handers and phones are being held, and its a conflict, but i could be wrong.

for example in the picture with the extension ladder.. its being held in the position like in the pictures where the left hand is held up.. the phones animation?? so it looks like the lethal phones animation, is overriding the one being used for 2 handers. (and probably for 1handers, etc, too, but due to them being held in 1 hand, you may not notice :P)

cloud adder
#

extension ladder uses 1 hander anim

#

and phone does too

ionic shoal
#

i was just feeling like, its being held like this.

ionic shoal
#

ah, maybe then im wrong xD

cloud adder
#

the other thing is the eevee plush uses the anim for the belt bag normally

#

using two hands but close together in front of the employee

#

but in this case it uses 2 hander again

ionic shoal
#

does the belt bag have its own animation? x.x ive never looked at the belt bag.

cloud adder
#

oh is my screen darkener showing up in pics

#

oops

ionic shoal
#

ok, well, im guessing these are just exceptions, that ive never explored.

#

i gave barch the code for choosing which animation... so, it maybe these fit outside of normality.

#

like.. the extension ladder MAY have the "2 hander" property.. but its held like a 1hander.
the belt bag, i have no animation for it, so barch wont either.

cloud adder
#

if you didn't know about the beltbag having its own animation then that probably just means that the animations are misaligned for what they need to be holding

ionic shoal
cloud adder
#

and the extension ladder is a 1 hander in base game btw

ionic shoal
#

but some items have exceptions, because of extra animations.different positions

#

for example, flashlights have their own animations

cloud adder
#

hotbar allows swapping with it

ionic shoal
#

but belt bag is new, havent fiddled with it in LI

cloud adder
#

yeah cus flashlight is just 1 hander with the hand in a different rotation

ionic shoal
#

yes, but its a different animation

#

resending this because the picture explains it better than i can (i think)

#

so if beltbag is held different, a new animation needs to be made πŸ™‚ brill. as for the extension ladder.. for some reason its grouping among the 2 handers, or there is a bug/conflict

cloud adder
#

i will say

#

even though the extension ladder is counted as a 1 hander by the hotbar

#

it has a unique animation

#

it doesn't do the same pullout animation as normal 1 hander and the offset of the arm is different

#

so its in a really weird spot

ionic shoal
#

then there isnt an animation for it.

#

4 animations.
Lung = 2h (also shovel? O.o)
Flash = flashlight style
OneItem = 1h
Shotgun = for shotguns only

i think knives have a unique animation..? beltbag, maybe extension ladder, the animations just dont exist.

going to open the game and check the extension ladder properties though.

cloud adder
#

gotcha

#

how are you checking for items that have properties of one type but use another type's animations? 3 i can think of off the top of my head are the bottles, painting, and fancy lamp, which are considered 2 handed but use the 1 handed animations

oblique galleon
#
  • HoldPatcherTool
  • GrabClipboard
  • walkieTalkie(a use animation ig)
  • PullGrenadePin(another use)
  • HoldJetpack
  • useTZPItem (use)
  • HoldShotgun
  • HoldMask(use)
  • HoldKnife
  • UseHeldItem1(i think this is the knife's use lmao)
  • HoldForward
  • RockBaby(use)
  • shakeItem(use)
  • HoldLung
#

Those are the players different hold etc animations

ionic shoal
cloud adder
oblique galleon
#

Zap gun

#

Which is the patcher tool in the code

cloud adder
#

ok

#

thats a weird naming choice, i guess the zap gun had a different purpose before it became the zap gun

oblique galleon
#

Yep

#

Fixed the ship from malfunction etc afaik

ionic shoal
#

so, you can blame zeekers for the extension ladder being considered as a 2hander (at least by the code i gave to barch.

cloud adder
#

that's so weird

oblique galleon
#

The two hander animation bool isn't related to being two handed yeah

#

Prime example is shovel

#

Two-handed just prevents swapping

#

Shovel actually turns on and off two handed while reeling afaik

ionic shoal
#

yeah, but its what i use to check if it needs 2h animation.

shovel has an exception, extension ladder doesnt.

oblique galleon
#

Wdym exception

ionic shoal
#

either way, it maybe the case someone needs to make animations to make all the items look real, i wasnt aware there was so many different animations.

cloud adder
#

i don't get why it has that anim bool as true, cus it doesn't use the normal 2 handed animation in game

ionic shoal
#

#1200695291972685926 message

heldGrabbable Is Shovel <- so its not using the wrong animation.

cloud adder
#

both looking from another player's pov and the viewmodel don't line up with it using 2h anims

ionic shoal
cloud adder
#

There probably is an override somewhere

#

Maybe because it also has to play the retracting animation when you pick it up while deployed

ionic shoal
#

well either way, it looks like a lot more animations are required. fun. x.x

#

#1200695291972685926 message
from this list i beleive patcher tool, clipboard, hold jetpack, use tzp, hold mask, hold knife, shakeitem and rockbaby are not animations in the bundle.

cloud adder
#

Since this bundle was for LI initially, are you planning that the masks will be able to use the items? If not then you can probably skip use tzp, shake item, and rock baby

#

Oh and hold mask (use)

ionic shoal
# cloud adder Since this bundle was for LI initially, are you planning that the masks will be ...

the bundle was for MaskedAiRevamp initially xD

i just started using it when i started working on the MAIR code.

from my pov, a mask can pick up any item in LI, so i kinda need to add in the animations to the bundle, i just didnt realise that there were so many, i guess i just dont pay enough attention to that, probably because items are the bane of my existance in the first place πŸ™‚

cloud adder
#

Fair enough

ionic shoal
#

so yeah, i guess i will need to recover my project which i used to last update the bundle with a change in 1 animation.. i have no clue how to create new animations though. xD

oblique galleon
#

If its the same rig as the player, can u reuse?

ionic shoal
# oblique galleon If its the same rig as the player, can u reuse?

maybe, but, my gripe is, i dont know exactly what an animation requires, in the bundle ive seen controller files, meta files, animation files, etc.. i dont know what files = 1 animation.. i dont know the format, etc, its probably simple, just never done it, as i say, the most ive done is edit 1 line in 1 controller file for one animation, to stop it looping.

I assume 1 controller file contains many animations, and it also needs the relevent anim files, but, i dont understand the structure of a controller file, or how to generate one.

i also asked someone to help me make an animation before, someone i beleive who was good at them, and they couldent help me either.

but yeah, i can certainly look at nicking the player animations, based off the one i edited already though, ill have to fiddle with the controller files.

oblique galleon
#

Are you okay with doing stuff in the unity editor

ionic shoal
#

i had a project in unity for editing the bundle before, but now got a new pc, and the old project didnt have it so i could view the game in the editor, i was setting that up before i got my new pc, but never got around to it. im sure i just need some time to look at it.

oblique galleon
#

It's a lot simpler than you think too

#

All you gotta do is copy paste the AnimationController of the masked (usually created by right clicking and pressing create animation controller)

ionic shoal
#

it probably is, but im allergic to being artistic, so, easy can certainlykill me πŸ˜„

oblique galleon
#

And then, slightly more complicated, put the right animations in the right layers and link them to the other animations

#

I would show an ss but not home rn

#

It's basically like a node graph

#

You have to connect different "State Machines" that contain animations in how you'd want animations to transition

#

And you'd define either parameters that you'd call to move animations, or you'd just let it switch animations at the end of the animation

ionic shoal
#

yeah, ive seen the graph, its the layers and the states, i just need to get to grips with where one animation starts, and another ends.

oblique galleon
#

If it helps you can mess with it in editor than ingame

ionic shoal
#

but as i say, i just need time to look at it.

oblique galleon
#

The animation tab is very friendly

#

You can toggle parameters etc in runtime

#

And your thing would animate accordingly

ionic shoal
#

as i said, just havent made a new animation yet, learning curve, hopefully work is dead this week, so i can just sit there and look at it.

oblique galleon
#

When I get home ill test whether you can reuse player animations on a masked

#

The stuffs pretty simple it'll take like a minute

ionic shoal
# oblique galleon When I get home ill test whether you can reuse player animations on a masked

that would be great, thanks.

the only thing i remember is, i looked at the 1 hander animation (which i also edited) and piggy had put it 95% similar to the player one. (just a few points were different, i think i corrected them to how the player one had them because i thought they were causing the issue i was seeing, but i was wrong)

but there was a property in the 1 hander animation, that was coming from the player animation properties, once i removed that property, the animation worked fine, so it maybe piggy at least in part copied the player animations, and just left that property in on the 1 hander animation by mistake (cause the others didnt have it)

oblique galleon
#

Missing properties in an animation should be handled fine, but it mightve been a non missing property that did stuff it shouldn't for masked

ionic shoal
#

yeah, if i remember rightly, it was related to the arms a player sees... so the animation was trying to show the players arms, but the masked dont have them

quick remnant
#

So weird I thought the ladder was two handed as well lol. The zap gun animation on masked seems to work fine currently, same with knives. Shotguns have been all over the place but I think I just haven't spawned one with a shotgun that isn't also trying to hold a phone.

ionic shoal
#

this was what was caused when the animation had the wrong value i changed/removed, i must have removed the player event which caused this error from spamming when they held 1 handed items using the 1h animation.

Stack trace:
PlayerAnimationEvents.UnlockArmsFromCamera () (at <255c0877f9414c3aa6f1fe5079ac13f3>:0)
ionic shoal
deft cape
#

i guess it's time for me to actually learn how to use the unity editor for once

oblique galleon
deft cape
#

like i have no idea how to do any of what u mentioned so i'd have to struggle a bit through the menus πŸ˜‚

oblique galleon
#

Lmao

#

I'll try it when I get on pc as long as I don't forget

cloud adder
#

So we tried out the new updates for this mod last night and found some weird stuff going on with masks sometimes. There was an issue where the masks' state was desynced between host and client, cus sometimes the clients would kill a masked, and it would show as dead on host but client saw it still alive and talking. it could also still grab clients but it couldn't grab host (because it was dead for host). I'm not 100% if this is your mod causing it or something else, cus we also had a desync with facility meltdown (the ship took off for clients but didn't for host, so clients were waiting until the ship left at 12 for the host).

code: 0195e529-8cf8-f54e-bb23-9b105899efe5, this log is from a client, the host's log was lost

oblique galleon
#

@deft cape @ionic shoal sorry for delay but yeah confirmed player and enemy use the same rig

#

masked enemy*

#

so you can just steal the player animations

#

it wont work for stuff like the truck because the masked would be missing some more specific control stuff there (though it would be sitting down etc) but yeah

#

bro thinks hes charging an item

#

typing on terminal, etc

#

all teh animations work anyway

deft cape
#

do you mind explaining how to do that for unity noobs like me πŸ˜…

ionic shoal
deft cape
#

all good if it's too much of a hassle though

oblique galleon
oblique galleon
deft cape
ionic shoal
oblique galleon
#

player's and masked's animators are a bit deep in the hierarchy, but yeah

oblique galleon
ionic shoal
oblique galleon
#

i mean u cna just get rid of the animation events if they're missing

#

unity gets that stuff via reflection and i forget how reflection handles stuff that doesnt exist

#

anyway, this is the player's animator

#

this is the masked's

#

masekd doesnt usually have special animations layer

#

i just added that to test teh animations

deft cape
#

gonna play around with this tomorrow, i hope i'm gonna be able to figure out how to even get to these menus lmaoo

oblique galleon
#

added the layer, copy pasted all the animations by highlighting all teh state machines

oblique galleon
#

you can also double click the animator in unity

#

and itll open the tab

deft cape
#

gotcha sounds good

cloud adder
oblique galleon
#

obv you'll have to do a lot more than i did with copy pasting since u gotta set up all the parameters and make sure you handle them right in code, but other than that is easy

deft cape
#

yeee fs

cloud adder
#

i'm guessing it was just a general desync between host and clients

deft cape
#

i appreciate the help πŸ™

deft cape
#

would be surprised if mirage is actually causing it though

#

since it seemed completely fine during my tests

oblique galleon
#

get down mr president!

#

anyway ill stop messing with it, u can have fun with it tmrw

ionic shoal
#

cant find an example in the player animations, so maybe the bug was caused by something piggy put into the animation that was erroring shrug

so, uh, yeah, i can probably make a new bundle with the animations in myself, didnt think i could rip them from the player (i knew the had the same rig, just uh yeah... not familiar with it myself.

eternal bridge
oblique galleon
#

i guess u can, but that's the opposite of what you'd want lol

#

you wanna steal player animations into masked

grave vault
#

did the latest update remove the scrap blacklist opitons

cloud adder
#

theyre still in mirage.items.cfg

grave vault
cloud adder
#

unusual

deft cape
#

@grave vault do you have a log

#

my guess is that an error occurred that caused it to not generate the rest

#

but i swear that part should be caught and logged if it happens while registering an item

grave vault
#

hmm

#

im just missing the entire section

#

ive launched the game twice

#

once to set up the new config

#

and now while we are playing

#

so once as lobby host and once as lobby client

deft cape
#

is there no errors in the log

#

@grave vault

#

lemme look at it just to see if there's anything that comes to mind

grave vault
#

ill relaunch

#

what phase should it be created in?

#

how do i export the full log

#

or do i just take a screenshot

deft cape
#

should be in the loading screen

grave vault
#

loaded in and still nothing, i loaded as host

grave vault
deft cape
#

if you go to your mod manager -> options there should be a copy log button

grave vault
#

where is that on gale

deft cape
#

uhh not sure since i use r2modman πŸ˜…

grave vault
#

found it

#

use gale, its awesome :3

#

sorry its dense, the pack has 127

#

i know it made the list last update and then removed it on this update

deft cape
#

oh wait

#

i forgot, the item config is generated when you get into the game itself (like hosting a game)

#

but i think u said u already did that right

grave vault
#

huh

deft cape
#

the odd thing is it shows that u do have some blacklisted items

grave vault
#

i uh

#

wtf

#

now its working

#

wait

#

when does mirage load the configs

#

all at once

#

or does it do EVERYTHING BUT THE SCRAP LIST before game

deft cape
#

it generates everything other than the enemies and items config during the loading screen, and then for enemies/items it pulls that once u host a game

grave vault
#

-_-

#

welp

#

sry for wasting your time it seems

deft cape
#

honestly that just means i need to document it better

#

but im also kinda lazy to update anything rn xd

grave vault
#

lmao

#

its alright

#

i just assumed config would all be created at the same time

#

and was tryna rush the pack change

deft cape
#

yeah that's just mb for not being more clear on it

#

it usually does work that way so it's a fair assumption

grave vault
#

you are way too humble and accountable XD

#

good dev moment

#

btw hella credit on being so active in here and discussing things

deft cape
#

oh i'm usually not that active actually πŸ˜‚

#

i'm just on break right now so i have some time

#

but usually i don't really look here unless there's a major issue and someone pings me to fix it

grave vault
#

lmao fairs

ionic shoal
#

Had a look this morning at animations, assuming the player ones work ingame for the masked without editing, I can probably make a bundle containing them all today.

I just found the controller for the player animations (which I didn't find before, its called otherplayermetarig.controller (which makes sense as its what other players see)

ionic shoal
#

@deft cape

try this, it contains all animations (or should do) for players, and seems to work for masked.

as for how to trigger said animations.. these are all the animations inside, i assume the animation name is used as the trigger

HoldFlashlight for flashlights
HoldOneHandedItem for one handed items
HoldClipboard for clipboard
HoldItemBothHandsForward for beltbag
ShotgunHold for shotgun
HoldPatcherStraight for the zap gun
HoldLungApparatice for 2 handed and shovel (seperate in my code..)

not sure what others there are.

#

also, if you let me know which you use, ill seperate them from the rest and try to make a controller just for them.

then i need to do the same for LI and merge with my existing bundle x.x

ionic shoal
# oblique galleon this is the masked's

two questions

the links between states, if they dont exist, they cant be switched between using code?

the parameters in the controller, do they matter?

was comparing my current bundle vs the player controller vs the vanilla masked controler, and seeing no consistency, so thought id ask.

oblique galleon
#

you cant go between one state machine to the next without links yes (technically i think you can but it's hacky and i do not recommend)

#

the parameters in the controller 100% matter, that's how you switch from one state machine to another

#

you either turn on/off a bool, trigger the animation, set a float that decides something, etc

ionic shoal
#

ah., just a log of extra things in maskedairevamps old controller

so those parameters are the ones that trigger the animations.. for example.. "FakeJump" needs a "FakeJump" bool/trigger to be called.

#

i get the feeling the parameters werent used properly in the bundle as im seeing no link between the parameters and the animations/states in some cases.. for example "ShovelUp" parameter, doesnt have any link to "ShovelReelUp", but that was not implemented, so maybe thats just not correct.

oblique galleon
#

FakeJump is indeed a trigger

ionic shoal
#

ok, well, ill see if the bundle i shared above works fine for barch, im sure ive got some things wrong, but i at least now understand how to resolve said issues.

pretty sure the player controller had very few parameters though, so i wonder how that works without all the links between.

#

actually, i just realised you are seeing something different to me here..

#1200695291972685926 message

which controller file was that?

oblique galleon
#

player has quite a lot of parameters

#

the animator in metarig is what im looking at

ionic shoal
#

ah, i was looking at the metarig for other players, must have just not looked at "metarig.controller"

oblique galleon
#

you want the player's main animator

#

not the one for other players

ionic shoal
deft cape
#

wait so how'd you move the animations from the player -> masked? just trying to learn how to do it as well.
like i'm able to see the nodes now but i'm not really sure what i'm supposed to do next

ionic shoal
#

so, you have all the animations + controllers ripped from the game.

#

you just need to add the animations you need to a bundle + a controller with the nodes for the animations + the parameters

to make it simple, i got all the player animations for "metarig.controller" and added them + that controller to a bundle

#

then you just need to use the right triggers in coding for the masked, and they will use the animations.

deft cape
#

i don't see controller under metarig πŸ€”

ionic shoal
#

just need to link to your bundle using..

Bundle = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(PluginDirectory), "playeranim69.bundle"));
MaskedAnimController = Bundle.LoadAsset<RuntimeAnimatorController>("metarig.controller");
ionic shoal