Feature Allow avoiding indirect bonuses in maximizer

Theraze

Active member
It would be great if we could use -indirect or something similar in the maximizer to avoid indirect bonuses for things like item and meat drop. In cases where you need to do exactly the right values for non-combats, it would be great if we could trust that everything suggested from the maximizer will actually help in the quest requirements. Thanks for the consideration.
 

lostcalpolydude

Developer
Staff member
These threads would be more persuasive if you would give any explanation of how it's detrimental. I assume this has to do with the return values of some version of the maximize() command. You can't possibly be blindly executing everything it returns though, since cost is an important factor at least.

I only ever use the Maximizer through the GUI, where I manually select things that are sensible to run, so that's my perspective when I look at your string of insistent posts and wonder why any of it matters. Because for me, I see some things listed at the bottom that say +0 and I have no problem ignoring them. I probably stopped when I got to the things giving +2% item anyway.
 

Theraze

Active member
In run, when the only stuff I get is renewable stuff, anything in the list is fair game. I'll just select all and apply it. If the maximizer suggests it, then it must be useful, right? What reason does it have to make bad or useless suggestions?
 

Bale

Minion
I'll just select all and apply it.

Stop doing that.

I have to side with lost in his belief that you should actually use your own judgment. At least make an example of how mafia is making a bad or useless suggestion.
 

fronobulax

Developer
Staff member
Yeah. The Maximizer is an extremely useful tool but in no way does it guarantee mathematically optimal results. Until it does, blindly accepting everything sounds like it leads to madness and not anywhere useful. Perhaps the compromise is a option that suppresses the display of things that were considered but contributed +0?
 

Erich

Member
Perhaps the compromise is a option that suppresses the display of things that were considered but contributed +0?

I don't have a real stake in this decision, but if this were a change to be made, I'd be behind it. For example, if I set the maximizer to adv, -tie, it'll recommend putting a filthy child leash on my familiar that gives it a +0. This doesn't affect me, since I choose to just ignore it, but it always confused me as to why that would show up at all.
 

Theraze

Active member
I've added the indirect keyword. Running with -indirect disables all indirect sources of bonuses, for when you need the right modifier. Running without mention or with +indirect allows the bonuses, as per current.

Without avoiding indirect:
> ash maximize("food drop, item, -tie", 0, 0, true, false)

Maximizing...
312 combinations checked, best score 110.01
Returned: aggregate {string display; string command; float score; effect effect; item item; skill skill;} [3]
0 => record {string display; string command; float score; effect effect; item item; skill skill;}
**display => friars food
**command => friars food
**score => 30.002999999924214
**effect => Brother Flying Burrito's Blessing
**item => none
**skill => none
1 => record {string display; string command; float score; effect effect; item item; skill skill;}
**display => buy & use 1 Knob Goblin eyedrops
**command => buy 1 ¶1514;use 1 Knob Goblin eyedrops
**score => 15.0
**effect => Peeled Eyeballs
**item => Knob Goblin eyedrops
**skill => none
2 => record {string display; string command; float score; effect effect; item item; skill skill;}
**display => friars booze
**command => friars booze
**score => 0.0029999999242136255
**effect => Brother Smothers's Blessing
**item => none
**skill => none
With avoiding indirect:
> ash maximize("food drop, item, -tie, -indirect", 0, 0, true, false)

Maximizing...
120 combinations checked, best score 110.00
Returned: aggregate {string display; string command; float score; effect effect; item item; skill skill;} [2]
0 => record {string display; string command; float score; effect effect; item item; skill skill;}
**display => friars food
**command => friars food
**score => 30.0
**effect => Brother Flying Burrito's Blessing
**item => none
**skill => none
1 => record {string display; string command; float score; effect effect; item item; skill skill;}
**display => buy & use 1 Knob Goblin eyedrops
**command => buy 1 ¶1514;use 1 Knob Goblin eyedrops
**score => 15.0
**effect => Peeled Eyeballs
**item => Knob Goblin eyedrops
**skill => none

To avoid spam, I didn't post the equipment quote, but without -indirect, it also wants to change 3 pieces of gear for +0 bonuses, with is 3 wasted server hits.
 

Attachments

  • Indirect Modifier.patch
    4.5 KB · Views: 30

Darzil

Developer
Is this the sort of thing a particular player would always want on or off ?

Just considering that if it is, a preference rather than a keyword might be better.
 

Theraze

Active member
If I'm not working towards the Twin Peak food quest, on is fine for other Twin Peak stuff. As an addendum to the tiebreaker, fine. Throw it in there.
If I'm running new AWoL and need the food/item drop from the friars to actually complete the peak, I want useful suggestions. I know I could ignore the .02% suggestions, but... if I don't need to see them, if they aren't useful, why show them? They only encourage wasting server hits, especially when running maximize from the gCLI first (wasting 3 server hits equipping +0 equipment, in addition to the hat which actually provides a +5) and then checking the tab afterwards to see which usage suggestions could push me over the top.

I see this as something similar to the 'current' keyword. For some cases, you may want to flag +current despite that it should never really be needed or provide different results. But it's good for that peace of mind.
In this case, it both allows reducing server hits as well as removing non-helpful suggestions. When that's desired. Other times, like when I'm farming in aftercore, I want those indirect options.
 

Darzil

Developer
Well, if you need Food Drop, you should maximize "item drop, food drop" anyway.

Just wanting to avoid having someone like yourself having to add -indirect constantly to avoid frustration, as it seems like extra work to me. But if it's something that you'd find yourself sometimes using one way, and sometimes another, then no worries, I have no issues about adding the keyword.
 

Theraze

Active member
Yeah, as listed in my quote above, when maximizing for that quest, I only care about things that are exactly either food drop or item drop. I don't care about candy drop, booze drop, or any of the other indirect bonuses that don't help the quest.
If I'm in aftercore, great. Give me something. Anything. Whatever.

When I need something specific because of KoL's mechanics though, I need that. Nothing else.

Some people may choose to use it always. I'd generally suggest against it, like I'd generally suggest against applying -tie to every normal maximization. But if that's their choice, they can just use a custom alias for their maximization string and it'll work like magic.
 
Top