winstxnhdw / lc-hax

A powerful, feature-rich and highly performant internal cheat for the co-op indie horror video game, Lethal Company.
87 stars 26 forks source link

Current buglist #4

Closed Quesoteric closed 9 months ago

Quesoteric commented 9 months ago

Creating a buglist as a way to prevent spamming new issues and flood. If anybody else wants to add an issue to the checklist, make sure you're using latest.

Examples include: No insanity (Yeah... I think I'll use github desktop at this point)

No weight (Ditto)

Infinite stamina (Ditto)

Shovel command is still not working (Fixed)

Kill command needs to be fired twice to properly kill somebody (is this intentional?) (Fixed)

Noise command doesn't play any audio (This was intentional)

M3 causes some types of flooding (This is because it's in debugging)

/random doesn't properly return a cupboard (Fixed, but the cupboard gets rotated on its y-axis.) (Fixed)

Friendly fire with bludgeoning weapons does not work with godmode enabled (Judging by the AllowPlayerDeath patch, it seems that this might be intentional game design on Zeekers' end. If you don't feel like creating a workaround for this that's fine.)

Will soon test this line in TriggerMod and get back to you soon (Now it works)

ClearVision sometimes doesn't work properly. Will further test this and find a cause. (Fixed)

/random and /tp does not properly work with teleporters outside of the ship

No-weight and infinite stamina is sometimes erratic, working 80% of the time and then not working. Easily fixed by deleting the bin folder, rebuilding, then running launch.bat again. (Found the cause. This happens when you inject while you're not 'in game.')

M3 will ALWAYS prompt enemies if you don't have a proper target. Might not be a bug but I think the /hate command should only be useable on yourself if you type it out, rather than M3. (Fixed)

Dead enemies resurrected by prompting them will stay in their death pose. (Unfixable)

Can't exit phantom mode (Fixed)

Quesoteric commented 9 months ago

No errors generated yet.

Quesoteric commented 9 months ago

Now out of the blue the Injection failed: SharpMonoInjector.InjectorException: mono_object_get_class() returned NULL error is showing up on injection. Give me a minute

Quesoteric commented 9 months ago

Time Elapsed 00:00:00.96 Injection failed: SharpMonoInjector.InjectorException: mono_class_get_method_from_name() returned NULL at SharpMonoInjector.Injector.ThrowIfNull(IntPtr ptr, String methodName) at SharpMonoInjector.Injector.GetMethodFromName(IntPtr class, String methodName) at SharpMonoInjector.Injector.Inject(Byte[] rawAssembly, String namespace, String className, String methodName) at Program.<<Main>$>g__Inject|0_0(String targetProcess, FileInfo assembly, String loaderNamespace, String loaderClass, String loaderMethod)

winstxnhdw commented 9 months ago

I should’ve fixed this issue in https://github.com/winstxnhdw/lc-hax/commit/c8640f8aace1f80a824efe33831e9727a7614430. Are you sure you are on latest?

I noticed the shovel command is not working still. I’ll have to look into it further but no insanity, no weight and infinite stamina still works. I haven’t tested the kill command but it shouldn’t take two tries. I wonder if Zeekers updated the health system. Can you try doing /kill and see if you are taking any damage?

winstxnhdw commented 9 months ago

I have fixed the kill command. I was using int.MaxValue which was probably causing some overflow somewhere.

For shovel, I pushed a change that may fix it. I haven’t got the time to test and won’t be able to test until next week as I am overseas. If you could pull latest and test it for me, that’d be great.

Quesoteric commented 9 months ago

All seems to be well. (except the shovel command, unless the shovel damage multiplier applies to only enemies. I've been trying with both '/shovel 3' & '/shovel force=3'.) Maybe was just a faulty .NET cache. However, could I make a suggestion?

Quesoteric commented 9 months ago

If possible, maybe reference this?

winstxnhdw commented 9 months ago

It is just /shovel 3 and maybe you can try deleting your bin folder. It should be automatically deleted but for some reason MSBuild sometimes fails to do so.

Also DeathShovel seems to be doing the same as we do. I’ll still look into it though. I’ll get back to you soon.

winstxnhdw commented 9 months ago

Oh and the noise command not playing any audible sound is intended. You won’t hear anything but the game will still detect the noise. It’s extremely ‘loud’ and will instantly trigger any eyeless dog or the company octopus.

winstxnhdw commented 9 months ago

@LTYGUY has fixed the bug with the shovel command. Just some dumb null propagation bug from Unity.

Quesoteric commented 9 months ago

M3 will always display 'found (your name)', bit of an annoyance but I don't think it does anything(?) pressing M3 on another player will create duplicated results, at least according to the chatlogs

winstxnhdw commented 9 months ago

M3 was recently revamped. It now tries to trigger all toggleable objects like landmines, jetpacks, gates, sentries. I believe @LTYGUY is still working on it so he left the logs in for debugging.

Pressing M3 on a player should eventually lure monsters to the targetted player.

I have also fixed the issue with the cupboard.

afiffebri commented 9 months ago

After we write a command. Other player can see the command we type ?

Quesoteric commented 9 months ago

After we write a command. Other player can see the command we type ?

Should be, at least as long as it says "USER" instead of your steam name, it's hidden.

winstxnhdw commented 9 months ago

Yes, @Quesoteric is right. Commands are not sent to the server. If you are wondering whether the mod has loaded properly, you can send a / and an error should be printed.

winstxnhdw commented 9 months ago

Some maps indeed do not work with ClearVision. @LTYGUY’s guess is that in certain maps (Titan), the suns are rotated differently.

Friendly fire with bludgeoning weapons does not work with godmode enabled

Not sure what this means. Are you unable to kill someone with a shovel while you’re in God mode? That’s interesting.

Quesoteric commented 9 months ago

Yes, attempting to attack another crewmate doesn't do damage, and instead results in the metallic clang rather than the meaty thud sound effect.

Quesoteric commented 9 months ago

Something steers me to believe the AllowPlayerDeath function is used for people in orbit.

winstxnhdw commented 9 months ago

You aren’t wrong. It’s used when you are in orbit, but IIRC the function doesn’t block the ability to kill with a shovel. Perhaps you were grabbed by a giant or eyeless dog and your state is set to ‘killed’? Could you try doing it in the beginning of the round?

Quesoteric commented 9 months ago

I'll have to test this. Will upload a short video soon, give me around 20-35ish minutes

Quesoteric commented 9 months ago

If my previous statement IS actually true, my best guess is that

  1. Zeekers attached the 'no friendly fire' to godmode to make people in orbit think they're not actually damaging eachother
  2. Some kind of preventative method of disallowing godded people to just go around killing people? Seems unlikely but possible
  3. Both Although as I said, it's just up to testing and research which I'll do soon.
Quesoteric commented 9 months ago

Sorry for the delay, but I got a totally 100% willing and expected volunteer.

https://github.com/winstxnhdw/lc-hax/assets/140112866/fad67cb6-aa7d-4e4f-a9c3-d4f903b4e652

Shovel damage was set to 255, so if he was damaged he would have died immediately. Godmode was enabled.

winstxnhdw commented 9 months ago

Thanks for the video evidence. You should commit some GIFs featuring the various commands. Would be funny to see.

I cannot for the love of god find anything that AllowPlayerDeath have to do with hitting others with a weapon in Zeekers’ code.

Anyways, ClearVision is finally stable 🎉

/random and /tp does not properly work with teleporters outside of the ship

What do you mean by this?

Quesoteric commented 9 months ago

If a teleporter is outside the ship, it just does not work and won't inverse/teleport a player.

winstxnhdw commented 9 months ago

No-weight and infinite stamina is sometimes erratic, working 80% of the time and then not working

This is unusual. If you mean that there is a delay before stamina and weight is set to infinite and zero, it is intended. The mod sleeps for 1 second after execution to preserve compute.

Quesoteric commented 9 months ago

No, I mean the module fails to load sometimes. Will attach a video.

Quesoteric commented 9 months ago

Video proof. Clear vision is enabled, I pick up some items and sprint to show the modules aren't working. Then trigger Jeb, and put some commands in.

https://github.com/winstxnhdw/lc-hax/assets/140112866/11faf381-c658-4f93-8451-a05380c7ad6b

Update: Deleting the bin is folder is un-needed. All I had to do was inject twice.

winstxnhdw commented 9 months ago

Fascinating. Injecting twice is a bad idea and can lead to unexpected behaviour.

Could you send me your lc-hax.log file (if any) in Steam\steamapps\common\Lethal Company and your Player.log from AppData\LocalLow\ZeekerssRBLX\Lethal Company?

Quesoteric commented 9 months ago

lc-hax.log

Player.log

Here.

winstxnhdw commented 9 months ago

I see MonoMod in there. Do you have other mods installed alongside this? My guess is that there are some conflicts going on. I am not able to replicate the issue.

Quesoteric commented 9 months ago

No, I am using vanilla currently. The footage above is also launched through steam. Is the MonoMod text pre December 15th?

winstxnhdw commented 9 months ago

I think you added a Harmony DLL to your game folders and lc-hax is resolving that instead of the embedded Harmony DLL we are using.

The timestamp shows 15th.

Quesoteric commented 9 months ago

Strange. the project file is said to use the ./References folder. I'll have to check this out.

winstxnhdw commented 9 months ago

The reference DLLs are purely for intellisense and type information during development. None of them are ever bundled into the injected assembly, except for Harmony. Even then, the Harmony DLL is only resolved at runtime. If another Harmony DLL is in the game folder, it’ll pick the first DLL after lexicographically sorting.

Quesoteric commented 9 months ago

Is there an ideal location for the lc-hax folder? My current path is C:\Users\XXXX\gitstuff\lc-hax\lc-hax\

winstxnhdw commented 9 months ago

No, the path of the git folder should be irrelevant.

Quesoteric commented 9 months ago

When you say MonoMod, are you talking about MonoBleedingEdge?

winstxnhdw commented 9 months ago

Nope, I meant this MonoMod.

Quesoteric commented 9 months ago

Couldn't find another 0Harmony.dll file anywhere, except for in the references. Problem still persists.

Quesoteric commented 9 months ago

And for MonoMod, I just used voidtools to remove all instances of it. Bit overkill, but it was mostly located in the folders of other games. (most of which I don't play)

winstxnhdw commented 9 months ago

Maybe do a clean install of Lethal Company? Your game progress is saved elsewhere so it’s safe for you to delete the entire game folder. Might be a stretch but make sure you are on .NET 8.0.

winstxnhdw commented 9 months ago

Dead enemies resurrected by prompting them will stay in their death pose.

This is intended. Nothing much we can do about it. These enemies don’t do damage either. Just looks really funny.

M3 will ALWAYS prompt enemies if you don't have a proper target. Might not be a bug but I think the /hate command should only be useable on yourself if you type it out, rather than M3.

Should be fixed now.

Sometimes Phantom doesn’t allow you to exit. Not really sure why, but I haven’t got that bug as of recently anymore.

Quesoteric commented 9 months ago

Starting tomorrow, I will be unable to test this script due to personal matters. (about a week-ish.) You can keep this open if you want, but if you are unsatisfied with the lack of reports you can close it.

winstxnhdw commented 9 months ago

Not a problem. We appreciate the time you’ve spent to look into bugs for us. I think the issue has become quite hefty. I’ll close it and we can create a new one later.

Apparently, my previous MSBuild Target wasn’t properly deleting the bin directory on every build. That has been fixed last night.

Quesoteric commented 9 months ago

I'm back. Should we re-open this issue or should I create a new one?

winstxnhdw commented 9 months ago

Let's create a new one.