chalkos / Marketbuddy

Plugin for XivLauncher/Dalamud to help with your day-to-day market operations.
Apache License 2.0
34 stars 17 forks source link

Hold a certian modified key to undercut by 0 #23

Open DenL opened 2 years ago

DenL commented 2 years ago

What's your suggestion?

Use case: In most times I want to undercut by 1gil or w/e the setting is. But with some specific item vs certain sellers I have a deal with, I'd like to undercut by 0. Having to change setting back and forth is a bit troublesome.

Would be great if we could hold on a modified key when clicking a listing to match price (undercut by 0 gil). Thanks!

chalkos commented 2 years ago

What about a list of retainers to not undercut? We have ran out of keys since CTRL, SHIFT and ALT are all used for something.

the list would allow you to not undercut your other retainers as well since you could add them as an exception too. But this would only check the retainer that is selling the item you clicked on, it wouldn't check all the retainers selling at that price to see if somebody there is in your list. But that is a good thing since if there's already other competition other than your friends or your own retainers, you'll want to undercut anyway. what do you think? anything else you'd add/do differently?

Cyenia commented 2 years ago

And what about combinations? e.g CTRL + SHIFT

Cyenia commented 2 years ago

Or something like in SimpleTweaks image

DenL commented 2 years ago

This would be modified key while clicking on a listing (not when opening the listing), I think we don't have a modified key for that yet? (might be mistaken)

DenL commented 2 years ago

What about a list of retainers to not undercut? We have ran out of keys since CTRL, SHIFT and ALT are all used for something.

the list would allow you to not undercut your other retainers as well since you could add them as an exception too. But this would only check the retainer that is selling the item you clicked on, it wouldn't check all the retainers selling at that price to see if somebody there is in your list. But that is a good thing since if there's already other competition other than your friends or your own retainers, you'll want to undercut anyway. what do you think? anything else you'd add/do differently?

A list of retainers is probably a better solution! Sorry I was in a hurry and didn't read carefully.

Cyenia commented 2 years ago

I don't see any downsides to both options, so why not add both? As DenL already said, we don't have a modified key there. So you could just do something like this there:

var price = getPricePerItem(nodeParam);
price -= conf.HoldCtrlToSkipUndercut && Keys[VirtualKey.CONTROL] ? 0 : conf.UndercutPrice;

Maybe a configurable variable instead of a 0

chalkos commented 2 years ago

It's true that it wouldn't interfere with existing behaviour that is modified by having control held down, but I don't want to add another hidden modifier unless absolutely required.

Plus, with the "list of retainers to not undercut" the player is not required to be making a decision everytime they post an item/update a price, of wether to undercut or not (and hold down a button). It just happens according to what has been configured, kind of set it once and forget about it. So that's the one I'll go with.