cmooref17 / Lethal-Company-TooManyEmotes

https://thunderstore.io/c/lethal-company/p/FlipMods/TooManyEmotes/
MIT License
16 stars 10 forks source link

[Request] Config option to adjust Masked "stop and stare" range #61

Open ajsglist opened 9 months ago

ajsglist commented 9 months ago

Low priority, but I think this would fit in with the rest of TME's Masked modifications.

It would be nice to have a setting to adjust the "stop and stare" range from the player. Ideally this could be a random range specified by the player (e.g. StopAndStareRange = X,Y; X = Y = vanilla default to leave vanilla behavior in tact)

Thanks for the consideration

cmooref17 commented 9 months ago

Well, if you are referring to changing the distance at which the masked enemies will stop, and then stare at you, there's a few issues with this.

Let me preface by saying I try quite hard not to change the mechanics of the masked enemies. The only exception right now, is that I increase the duration at which they will stare at you, which is actually relatively safe to do, in terms of conflicts with other game elements and with mod compatibility. It wouldn't make sense to add this feature with such a short vanilla stop and stare duration.

Currently in the vanilla game, they are set to stop and stare at you when you see you, at any distance. I could adjust this, but it would require more code, and more tampering with the MaskedPlayerEnemy AI, because when they originally try to stop and stare, I would have to stop it, and then manually allow it again once they get within the emote range.

It probably wouldn't be that hard to implement, but it does require changing their behaviour a bit more than just increasing the stop and stare duration time, so I'm kinda hesitant right now. I will say that I like this idea, and I will probably attempt something like this soon, but I will think about this for a little bit to find the way way to implement this without breaking other mods in the process lol. I will keep this ticket open as a reminder to add this in later.

ajsglist commented 9 months ago

I understand completely if it's too messy or just something you decide is a bit too out-of-scope based on TME. I appreciate the response and you keeping it in mind for a future update.

For a bit of context, it seems like the Masked emoting behavior is... not quite consistent? It feels like the Masked initial emote isn't really effective because they're required to get essentially right next to the player before launching into the Masked emote handling. This was the simplest/most-effective fix I could think of -- that would also make the Masked behavior more interesting/satisfying in my opinion.

Regardless, thanks for the substantive response.

I found a (minor?) Masked issue with TME 1.9.0 that I was going to wait to report until I had a bit more info, but I'll drop it here for now. I haven't had time to work up any meaningful report on the error getting thrown, but noting it for now (will create a full ticket if it persists and I get a better understanding). Since TME 1.9.0 changed so much, I was waiting to see if it was remedied by AdvCom's next compatibility update:

image

cmooref17 commented 9 months ago

Did the masked enemies break after you saw that error? I believe that error is handled correctly, so I don't think it's causing issues currently. (could be wrong) but I shouldn't be trying to map the CameraContainer onto masked enemies. I'll get this fixed. Thanks!

ajsglist commented 9 months ago

It seemed like it was non-critical and the Masked continued without issue, but I only took a quick look at 1.9.0 before falling back to 1.8.6. I was stabilizing a few other things and figured I'd wait for the first round of fixes since 1.9.0 was such a large update.

I was also getting the "TME emote wheel text disappears" bug, which seems like it may be even more frequent in 1.9.0+ (will need to investigate later)

ajsglist commented 9 months ago

I did some brief testing on 1.9.3, and despite the errors thrown masked seem to work without any obvious issues. But I only tested it briefly.

(Just wanted to provide a quick update now that I had the time to check)