Flat-Badger-1971 / ArchiveHelper

0 stars 1 forks source link

Features suggestions : display in chat random verse (via inventory) / setting to prevent bonus selection by double-pressing primary action key #33

Closed Stemuweb closed 4 months ago

Stemuweb commented 4 months ago

Perhaps for future improvements:

Flat-Badger-1971 commented 4 months ago

Is it technically possible to detect the event that the player is using a random verse in their inventory? I don't see why not. As far as the game is concerned it's the same as casting any other ability.

Would it be technically possible to prevent the player from selecting a bonus? Maybe - I could probably override the built in code

Stemuweb commented 4 months ago

I'll rephrase them as feature suggestions then. Of course, these are just suggestions. Feel free to discard them if they are too complicated or if you don't think they are useful.

First suggestion: when the player uses a random verse in their inventory, it would be a good idea to display a message in the log, as in the bonus selection interface.

This message would be useful because sometimes you need to take a verse in anticipation of a fight against Thoat or a marauder and that can radically change the length of the fight.

Maybe you'll need a new message because it's not really a selection and sometimes you get a useless verse! L(AH .. "BUFF_SELECTED", "<<1>> selected <<2>>")

<<1>> received <<2>> <<1>> has received <<2>> <<1>> was given <<2>> <<1>> has been given <<2>>

-- In french: "<<1>> a reçu <<2>>"

Stemuweb commented 4 months ago

Second suggestion:

Occasionally, when facing Mora's tentacle at the end of a phase to open the bonus selection UI, you may press the primary action key twice and unintentionally select one of the bonuses (depending on your mouse position).

The idea would be to add a new setting like this (it should be concise enough to fit on one line): Prevent the selection of a capacity by mistake (feel free to adapt to proper English) -- french trad: "Prévenir la sélection d'un bienfait par erreur"

Perhaps a tooltip is needed to explain this.

As for how to do this, when the player opens the selection UI, perhaps the current time should be saved.

When the player presses the primary action key a second time, we'd have to make the difference between the current time and the previously saved time.

If this difference is less than 0.5s (to be tested), the selection action would be cancelled.

Stemuweb commented 4 months ago

With the accidental selection, I think personally it happens when you click the mouse button too many times (as opposed to hitting the 'E' key - don't know if it's the same key in the French client?)

Regarding the double-input: the primary action key is also E in french. I'll have to deliberately test how to choose the bonus by mistake. As it's always unintentional, I'm not sure whether it's a double press of the key or a double click.

Flat-Badger-1971 commented 4 months ago

It's not double-click that's the problem - I got that completely wrong

I've just pushed some code that will disable the E key for 1.5s after the window opens. This should do the trick - we may need to experiment with appropriate delays.

Also, the tooltip needs a translation.

Stemuweb commented 4 months ago

Here are the translations.

With the feedback from my friend, whom I didn't tell about the feature, I've also changed the setting text. I suggest that you adapt the tooltip in English, as he didn't find the explanation clear.

L(AH .. "PREVENT", "Empêcher de sélectionner un bienfait par erreur") L(AH .. "PREVENT_TOOLTIP", "Désactive la sélection du bienfait brièvement lorsque le panneau de sélection s'ouvre pour éviter un choix accidentel.")

Automatic translation in English (feel free to adapt because it's probably clunky): PREVENT_TOOLTIP: Disables the ability selection briefly when the selection panel opens to prevent accidental choice.

Stemuweb commented 4 months ago

Be careful, "DEBUG = true" is on the crossing branch

Flat-Badger-1971 commented 4 months ago

It's off now - did you both find 1.5s sufficient?

Stemuweb commented 4 months ago

My friend find 1.5s is good. I would have preferred 1s to not frustrate quick players. So maybe 1.25s?

Edit: if players complain later that it's too fast or long for them, it will be possible to add a setting to choose a duration between 0.5 and 2s, but for now, it's probably an overkill.

The setting should be moved up: ARCHIVEHELPER_REMINDER ARCHIVEHELPER_REMINDER_QUEST ARCHIVEHELPER_PREVENT

As there are many misc settings now, it would be right to separate the last ones as a Hidden levels section?

Flat-Badger-1971 commented 4 months ago

L(AH .. "HIDDEN", "Hidden Levels") en francais s'il te plait

Stemuweb commented 4 months ago

L(AH .. "HIDDEN", "Niveaux bonus")

My friend says to me there are not hidden. So the term bonus would be more appropriate. (Sorry)

Flat-Badger-1971 commented 4 months ago

Pushed another version with random verse detection - the data does share, just not been able to test if it gets received ok.

Stemuweb commented 4 months ago

Pushed another version with random verse detection - the data does share, just not been able to test if it gets received ok.

Tested quickly on two computers in the first phase of the archive. It worked well on both players. I will update while testing during a run tonight.

Edit: all is working as expected.