Feature - Implemented Suggest Bendin' Hell, Bow-Legged Swagger, Steely-Eyed Squint in maximizer

I'm way behind the times and only recently acquired these three LT&T skills. They're all 1-turn, 100MP, once/day buffs that give big bonuses. I was surprised to find that they're not already suggested by the maximizer. Maybe that's because it's technically-difficult to implement, in some way, but I wasn't able to find a previous discussion.

Bendin' Hell (effect) from Bend Hell (skill): Your Elemental (and Elemental Spell) damage bonuses are doubled
Bow-Legged Swagger (effect and skill): Your Physical Damage and Initiative bonuses are doubled
Steely-Eyed Squint (effect and skill): Your Item Drop bonuses are doubled

Presumably usage of these would be tracked with underscore preferences, since they're once/day.
 

Darzil

Developer
They certainly could be handled in some way.

I guess they'd give a slightly odd suggestion for what they'd add, as it'd be based on your current modifiers, rather than your modifiers after putting on equipment and other modifiers, but that probably isn't an issue.
 
Yeah, I thought about that, but I don't think it's a big deal. Go into the maximizer with +100% items, it suggests Steely-Eyed Squint as +100% alongside a bunch of other stuff, and you come out of it with +428%. Works for me.
 

lostcalpolydude

Developer
Staff member
First try: Item Drop bonus is doubled properly, but attributed to all of the other things that give +item, so it won't work for the maximizer. That came from defining and calling a function very similar to derivePrismaticDamage().

Second try: Added a modifier expression that returns the current value of a modifier. That initially seems to work, but the bonus quickly grows out of control every time status is refreshed. The last time I had that issue with something, it was in GearChangeFrame, but someone else had already solved it there. I don't know where to start with fixing it in this case.

Along the way, I wondered why ModifierExpression.function() exists when that could go into Expression.value(). I now see that function() is only called from value() and really wonder why.
 

Veracity

Developer
Staff member
ModifierExpression extends Expression
MonsterExpression extends Expression
RestoreExpression extends Expression

When Expression.value calls this.function(), it gets a different method, depending on what kind of Expression it is.

In other words, each kind of expression decides which functions are allowed.
 

lostcalpolydude

Developer
Staff member
16905 handles this, at least for the basic testing I could think to do. I feel like there should be a better way of handling this than defining the effect modifiers both in modifiers.txt AND in recalculateAdjustments(), but the order of operations for things being handled made it difficult to come up with something simpler.

"Physical Damage" doubling isn't yet handled, because I wasn't sure what to apply that to. Is that Weapon Damage and Ranged Damage?
 

ungawa

Member
Posting here after a brief discussion with lost in chat.
I am not confident of how these doubling skills interact with familiars and certain other effects.
My understanding was the lastest spading suggested that +item% buffs that applied "in combat only" (fairies, vykea lamps, PM thrall) were not being doubled based on expected hobopolis boss drops. Oh and the snow suit's carrot nose also doesn't show up when you use a talking spade, so it may fall in that category too?
Init familars traditionally have applied their effect outside of combat (i.e. could be viewed at the PvP hut), and may be expected to be doubled, but again, I'm not sure.
 

heeheehee

Developer
Staff member
Hm. As ungawa says, not everything applies to Steely-eyed squint -- in my testing, I've found that familiar, snow suit decoration, florist, speluck (and presumably other zone-specific things) are not doubled.
 

Darzil

Developer
Reminds me slightly of how complicated Smithsness was to support, where we had to pre-calculate it before applying. Though in that case it is particularly odd as KoL doesn't do that, so you get mismatches, which can be fixed by refreshing character in KoL !
 

lostcalpolydude

Developer
Staff member
16906 refactors some stuff, and Modifiers.add() is a relatively straightforward place to control what gets doubled. Still need to handle Speluck, probably.

I was hoping to remove the effects from the end of recalculateAdjustments, but that seems to be the only way to reference the proper Modifiers() object.
 

ungawa

Member
Adding to stupid complicated game, I noticed mafia's report on item% was off by 15% from my spreadsheet's expected value. I tracked it town to my Robin in my bjorn. Equipping/unequipping the bjorn was only changing mafia's reported item% by 15% while steely eyed squint was active.
Thanks guys, this seems tedious but is certainly appreciated.
 
Per one of my clannies, booze drop was not doubled by Steely-Eyed Squint when fighting Oscus.

[12:30] The Percolator: I'll jack item past the 3700% mark and let you know
[12:31] paladinwhite: Sweet! Bear in mind that Steely-Eyed Squint doesn't double every type of item bonus.
[12:31] The Percolator: I know, unsure whether it effect booze/food or not, fairly certain it doesn't affect fams
[12:41] The Percolator: Well damn, I was wrong - no cap!
[12:42] The Percolator: Booze drop wasn't doubled, FYI

Presumably, +food% is also not doubled. (I assume that we all assumed that these wouldn't be doubled, but just for explicitness' sake.)
 
Top