Closed Stemuweb closed 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
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>>"
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.
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.
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.
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.
Be careful, "DEBUG = true" is on the crossing branch
It's off now - did you both find 1.5s sufficient?
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?
L(AH .. "HIDDEN", "Hidden Levels") en francais s'il te plait
L(AH .. "HIDDEN", "Niveaux bonus")
My friend says to me there are not hidden. So the term bonus would be more appropriate. (Sorry)
Pushed another version with random verse detection - the data does share, just not been able to test if it gets received ok.
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.
Perhaps for future improvements:
Is it technically possible to detect the event that the player is using a random verse in their inventory? Reason: to display the selected verse in group chat after that. Note: even if the game does not return the id of the verse obtained, it would still be possible to save the verse counters and compare them after the event.
Would it be technically possible to prevent the player from selecting a bonus? Reason: to avoid selecting a bonus by mistake by pressing the confirm button twice when opening the bonus selection UI. Idea: if the game API does not allow to cancel the selection action, could it be possible to disable the keybind for a short time (i.e. 0.5 second) when opening the UI then reactivate it.