mapledyne / yaaz

ascension helper scripts for KoLMafia
The Unlicense
1 stars 5 forks source link

Consider using UberPVPOptimizer script #48

Closed mapledyne closed 7 years ago

mapledyne commented 7 years ago

Instead of doing all the PvP optimization ourselves, leverage the otherwise already existing (and good) script.

mikebryant commented 7 years ago

+1 on this. I think the benefits of not having to maintain the code outweigh losing that functionality if it's not there.

mapledyne commented 7 years ago

@mikebryant - I'm curious your thoughts here:

Implementing UberPVP wouldn't be too hard for the actual pvp-ing (it doesn't account for effects, so we'll still need to keep a good bit of the existing logic around), but it also doesn't keep in mind another use of the pvp engine as it currently exists: prepping for rollover. As it is, the current script prioritizes "rollover" equipment first, then anything useful for pvp. This lets us be good for rollover, but also have at least slightly-better-than-average clothing for pvp as well, when not actively playing.

The UberPVP script doesn't weight anything along those lines, and excluding equipment doesn't seem to be a feature of the script.

Is this logic sound for rollover prep:

Collect rollover equipment into an array of slots. Run UberPVP for equipment, then replace everything from the array into our equipment slots, essentially overwriting any slot that there is available rollover gear for?

Beyond that, the only real choices that come to mind are to keep doing things ourselves, or to fork uberpvp and include some additional rollover logic in there (which likely is a corner case for regular Uberpvp users)

Related: is it worth passing this logic over to uber if the main thing it does is clothing and not effects also, so we'd still have work left on our side to maintain either way?

I definitely think that Uber is better than what we're doing for clothing, but is it enough better to be worth the overhead?

mikebryant commented 7 years ago

I was imaging for rollover we could just use the standard mafia logic. If we first run UberPVP to set up equipment, and then run mafia's modifier maximizer with adv, pvp fights, -tie, it'll only replace slots that actually increase the things we're aiming for, leaving everything else alone?

mapledyne commented 7 years ago

Oh yeah, that's definitely a better path than what I was thinking.

So: Run uber tweak effects run pvp

then for rollover: Run uber tweak effects maximize ('adv, pvp fights, -tie')

?

This also brings up the question of effects: I generally optimize them somewhat haphazardly (read: take the easy path) and not do any deep calculations. For instance, having less effects is often helpful in pvp for one mini, but having other effects can help another mini. Currently, for instance, -combat effects help one, where effects with "R" in them effect another. Uber doesn't account for effects at all, but if you can think of some straightforward math for decision making.

Also, uber doesn't decide which mini to use - I also fairly arbitrarily choose this. Thoughts on math for deciding this would be useful too, if ideas come along in the future.

mikebryant commented 7 years ago

Yeh, that sounds good. I'm not sure on the decisions, partly why I like deferring to another script so they make the hard decisions :p

mini choice is quite hard, it's not just what you're best at, it's what your score is vs the general kol population at that time... If you have a worse score in some mini, but that's more likely to win, that's the one you'd want to pick. But I have no idea how you'd figure that data out

I guess for now we just want to pick a mini we're able to optimize for..

mapledyne commented 7 years ago

@mikebryant Unrelated to this issue: you should add your player name to the contributor list unless you'd rather remain anonymous in there.

mikebryant commented 7 years ago

@mapledyne Done, thanks :) (#57)