ustaalon / LethalCompany.ExtraDays

Allows the player to purchase an extra day via the terminal. This mod's uniqueness is that it tries to be more realistic with the game, as it is not trying to modify the main logic of the deadline. It tries to add functionality that will give you extends for the deadline but with some price on it.
https://thunderstore.io/c/lethal-company/p/Anubis/ExtraDaysToDeadline/
MIT License
2 stars 1 forks source link

Feature Request: confirm/deny input isn't fully consistent with in-game store's system. #37

Open Roobotics opened 7 months ago

Roobotics commented 7 months ago

In all vanilla store [confirm/deny?] dialogs, you can enter: c co con conf.. and so on, so 'c' and 'd' are usual short-hand ways to approve or revoke the current item being described.

In the mod it doesn't really work like this and the 'buyday' option requires a full string match to confirm. So just thought I'd point out this discontinuity.

Also it would be quite clever if upon typing 'buyday' The output had a small bit of pertinent information along the lines of:

You're about to ask the Company for ONE extra day to reach the profit quota. It will cost you $ credits. (0 day(s) remaining)

'confirm'

(1 day(s) remaining)

Or something to that effect, so rather than leaving the dialog to look at the ship's monitor, or making a presumption, it's all right there for consideration. Price is already in the terminal always, but 'days left' is really only really visible when looking at the small monitors, or the post-mission pop-up.

ustaalon commented 7 months ago

Thanks, I will try to make it for the next release 🤞

ustaalon commented 7 months ago

Hey, @Roobotics I will do part of it in v2.2.2 (X days remaining) and the part with the shortcuts for the command I will work on it next weekend or so, due to be dependent on another library.

Roobotics commented 7 months ago

That sounds great! Also I just figured something out that I've never fully noticed, what I described about partial string matches isn't accurate! It's actually a lot sillier than that..

The vanilla store only compares the very first valid letter of the confirm/deny dialogs!

Typing "c12345678901234" to fill in the max character limit at this dialog, counts as a successful 'confirm'!

I've had moments in the past where I thought I'd typo'd maybe a single letter when typing the full string, and never thought anything of it.. until now. I think the screen intentionally changes so you can't look back and think too much on it, it jumps to a new results screen entirely without older history present.

So hopefully you don't have to include another library for a feature that wasn't fully needed in that capacity, I should have tried that prior, but hadn't considered it would have been quite so basic.

If you're interested in the nuances, spaces are ignored, in fact a full string of spaces doesn't send at all, until a proper character is added, characters other than C and D are sent but ignored with a re-prompt. "C " = Confirm " C" = Confirm " " = Nothing sends and prompt full of spaces doesn't even clear itself for new characters, treated as a blank entry "(any character other than C or D) " = prompt self-clears, remains in CONFIRM/DENY mode. "12345678901234C" = prompt self-clears, remains in CONFIRM/DENY mode "12345678901234D" = prompt self-clears, remains in CONFIRM/DENY mode "D " = Deny " D" = Deny "D12345678901234" = Deny

So they are completely stripping out any spaces, and only comparing the first valid character found. In fact this apparently is how other entries somewhat work as well, "wal2" "sho2" "pro2" are all valid entries for initiating purchases with a quantity attached, all moons can be shortened to 3 characters as well.