Winterbay's Helpful Automatic Monsterbasher (WHAM)

Theraze

Active member
It's not a new-check error, because I didn't enable the new values and it still has that error. Putting verbosity up to 9 shows that it's the WHAM stasis loop that's failing. Either plink or smacks isn't getting initialized properly before it gets matched against. Fortunately, with SVN, svn dec wham got me back to running. :)
 

Crowther

Active member
With a value of 500 for the in-ronin value I expected WHAM to behave as if WHAM_killit had been set (don't stasis and kill it fast). Is that number too low or is my understanding of WHAM_killit incorrect?
Sorry I wasn't perfectly clear. With a large number it's the same as killit was during the attack portion of WHAM. I've no idea what killit does during the stasis portion.

I too have had some odd problems with items. I'm doing softcore runs with rain-doh. WHAM seems to feel it needs to add an item to funksling with my blue balls. I don't really mind that it wastes a bunch of combat items, but it's been using orange agent which costs meat and lasts forever. Yesterday when I was looking into faster killing, I noticed that orange agent was very expensive compared to other choices (like attack). I couldn't closet orange agent, so I ended up removing it from BatFactors to save meat.
 

Winterbay

Active member
Sorry I wasn't perfectly clear. With a large number it's the same as killit was during the attack portion of WHAM. I've no idea what killit does during the stasis portion.

I too have had some odd problems with items. I'm doing softcore runs with rain-doh. WHAM seems to feel it needs to add an item to funksling with my blue balls. I don't really mind that it wastes a bunch of combat items, but it's been using orange agent which costs meat and lasts forever. Yesterday when I was looking into faster killing, I noticed that orange agent was very expensive compared to other choices (like attack). I couldn't closet orange agent, so I ended up removing it from BatFactors to save meat.

You can always blacklist it instead. WHAM tries to do two items if it picks an item as your attack option and you have funkslinging such as to not "waste" the second slot with that skill. I guess a cut-off (possibly related to the new settings we've created for the finetuning) could be used to decide when to use a completely new attack_option rather than an item_option.

Also, WHAM_killit bypasses stasising completely which setting the sort-value to any kind of value won't do at the moment. I don't know if we want to do that and if so at what value we will decide that stasisin gshould be bypassed. Possibly the value could be added onto BatBrain_profitforstasis thus making stasising only interesting if we have a really high profit with a higher valued round-setting.
 

Winterbay

Active member
Would people be interested in having access to a dev-version of WHAM for people wanting to help test out new features or similar?
 

Winterbay

Active member
Well, I could do a fork and whatnot in Sourceforge but I doubt if I'd be able to make heads or tails of that and so what I've done now is create a new subproject called "WHAM beta" which updated "WHAM beta.ash" and you will have to swap around manually in the CCS. If interested it's available under
Code:
svn checkout https://svn.code.sf.net/p/winterbay-mafia/wham-beta/code/
 

Magus_Prime

Well-known member
Simple enough. Grabbed a copy, did a diff between beta a production, set WHAM_roundcost_ronin = 15.

Is the incorporation of WHAM_roundcost into the plinking function the beginning of an attempt to invoke WHAM_killit if WHAM_roundcost is sufficiently high?

With very little variation WHAM used Candyblast through almost the entire war. No harm done and no lost combats.

If I set WHAM_roundcost to 50 there was a bit more variation in combat strategies.
 
Last edited:
Is WHAM not aware of sauce synergies?

Code:
[55] Haunted Bedroom
Encounter: animated nightstand
Round 0: chef_rannos wins initiative!
ATT: 189 (94% × 135.5, death in 1)
DEF: 183 (8.8% × 17.81, win in 35)
HP: 215, Value: 512.73 μ, RES: 0
WHAM: Monster HP is 215.0.
WHAM: Running SmartStasis
Profit per round: ActionProfitDamageOtherbase; Rogue Program (0μ)42.75μ4.7 (0 μ/dmg)MP: 4.7
Custom action: skill 4014 (stun first with skill 3004)
Round 1: chef_rannos executes a macro!
Round 1: chef_rannos casts ENTANGLING NOODLES!
Round 2: MP-Gamer de-rezzes it for 13 damage, then offers you a drink out of his identity disc. It's a little too intimate for your comfort, but it's still refreshing.
Round 2: animated nightstand (white) takes 13 damage.
You gain 13 Mana Points
Round 2: chef_rannos casts SAUCY SALVE!
You gain 20 hit points
WHAM: Starting evaluation and performing of attack
WHAM: Unable to delevel until you can kill the monster without it killing you. Try it yourself.
WHAM: Unable to determine a valid combat strategy. For your benefit here are the numbers for your combat options.
WHAM: Fearful Fettucini: 150.70 potential damage (raw damage: 150.70) and a hitchance of 100.00%.
WHAM: Weapon of the Pastalord: 150.70 potential damage (raw damage: 150.70) and a hitchance of 100.00%.
WHAM: Saucegeyser: 141.90 potential damage (raw damage: 141.90) and a hitchance of 100.00%.
WHAM: Stuffed Mortar Shell: 99.37 potential damage (raw damage: 99.37) and a hitchance of 100.00%.
WHAM: Wave of Sauce: 96.80 potential damage (raw damage: 96.80) and a hitchance of 100.00%.
WHAM: Saucestorm: 72.60 potential damage (raw damage: 72.60) and a hitchance of 100.00%.
WHAM: Surge of Icing: 72.60 potential damage (raw damage: 72.60) and a hitchance of 100.00%.
WHAM: Mudbath: 72.60 potential damage (raw damage: 72.60) and a hitchance of 100.00%.
WHAM: Cannelloni Cannon: 53.17 potential damage (raw damage: 53.17) and a hitchance of 100.00%.
WHAM: Conjure Relaxing Campfire: 50.60 potential damage (raw damage: 50.60) and a hitchance of 100.00%.
WHAM: Maximum Chill: 50.60 potential damage (raw damage: 50.60) and a hitchance of 100.00%.
WHAM: Inappropriate Backrub: 50.60 potential damage (raw damage: 50.60) and a hitchance of 100.00%.
WHAM: Candyblast: 49.50 potential damage (raw damage: 49.50) and a hitchance of 100.00%.
WHAM: grouchy restless spirit: 42.00 potential damage (raw damage: 42.00) and a hitchance of 100.00%.
WHAM: Offensive Joke: 35.00 potential damage (raw damage: 35.00) and a hitchance of 100.00%.
WHAM: Stream of Sauce: 34.10 potential damage (raw damage: 34.10) and a hitchance of 100.00%.
WHAM: Ravioli Shurikens: 30.07 potential damage (raw damage: 30.07) and a hitchance of 100.00%.
WHAM: Spectral Snapper: 29.20 potential damage (raw damage: 29.20) and a hitchance of 100.00%.
WHAM: Salsaball: 16.50 potential damage (raw damage: 16.50) and a hitchance of 100.00%.
WHAM: Tango of Terror: 16.50 potential damage (raw damage: 16.50) and a hitchance of 100.00%.
WHAM: Disco Face Stab: 16.50 potential damage (raw damage: 16.50) and a hitchance of 100.00%.
WHAM: Toss: 13.00 potential damage (raw damage: 13.00) and a hitchance of 100.00%.
WHAM: Spaghetti Spear: 12.10 potential damage (raw damage: 12.10) and a hitchance of 100.00%.
WHAM: Disco Dance II: Electric Boogaloo: 9.00 potential damage (raw damage: 9.00) and a hitchance of 100.00%.
WHAM: Jiggle your chefstaff: 7.50 potential damage (raw damage: 7.50) and a hitchance of 100.00%.
WHAM: Chronic Indigestion: 7.50 potential damage (raw damage: 7.50) and a hitchance of 100.00%.
WHAM: Disco Dance of Doom: 7.00 potential damage (raw damage: 7.00) and a hitchance of 100.00%.
WHAM: Clobber: 5.00 potential damage (raw damage: 5.00) and a hitchance of 100.00%.
WHAM: Lunging Thrust-Smack: 3.37 potential damage (raw damage: 3.37) and a hitchance of 9.00%.
WHAM: razor-sharp can lid: 2.50 potential damage (raw damage: 2.50) and a hitchance of 100.00%.
WHAM: Sing: 2.50 potential damage (raw damage: 2.50) and a hitchance of 100.00%.
WHAM: Thrust-Smack: 2.49 potential damage (raw damage: 2.49) and a hitchance of 9.00%.
WHAM: Headbutt: 2.41 potential damage (raw damage: 2.41) and a hitchance of 9.00%.
WHAM: Kneebutt: 2.41 potential damage (raw damage: 2.41) and a hitchance of 9.00%.
WHAM: Attack with your weapon: 2.23 potential damage (raw damage: 2.23) and a hitchance of 8.80%.
WHAM: Disco Eye-Poke: 2.00 potential damage (raw damage: 2.00) and a hitchance of 100.00%.
WHAM: Suckerpunch: 1.00 potential damage (raw damage: 1.00) and a hitchance of 100.00%.
WHAM: Stealth Mistletoe: 0.00 potential damage (raw damage: 0.00) and a hitchance of 100.00%.
WHAM: magical mystery juice: 0.00 potential damage (raw damage: 0.00) and a hitchance of 100.00%.
WHAM: Saucy Salve: 0.00 potential damage (raw damage: 0.00) and a hitchance of 100.00%.
WHAM: Lasagna Bandages: 0.00 potential damage (raw damage: 0.00) and a hitchance of 100.00%.
WHAM: pool torpedo: 0.00 potential damage (raw damage: 0.00) and a hitchance of 100.00%.
WHAM: You now have the knowledge needed to go forward and be victorious
Round 3: chef_rannos executes a macro!
KoLmafia thinks it is round 4 but KoL thinks it is round 2
WHAM: Unable to figure out a combat strategy. Helpful information regarding your skills have been printed to the CLI
You're on your own, partner.
Round 4: chef_rannos jiggles the Staff of the November Jack-O-Lantern
KoLmafia thinks it is round 5 but KoL thinks it is round 3
Round 5: You jiggle your staff, stirring up the rotting guts of the drooping pumpkin. Bowled over by the stench and the sadness, it suffers 9 damage and pauses to regain its composure.
Round 5: animated nightstand (white) takes 9 damage.
Round 5: chef_rannos casts SAUCESTORM!
KoLmafia thinks it is round 6 but KoL thinks it is round 4
Round 6: animated nightstand (white) takes 73 damage.
You gain 12 hit points
You gain 2 Mana Points
Round 6: MP-Gamer de-rezzes it for 15 damage, then offers you a drink out of his identity disc. It's a little too intimate for your comfort, but it's still refreshing.
Round 6: animated nightstand (white) takes 15 damage.
You gain 15 Mana Points
Round 6: chef_rannos casts SAUCESTORM!
KoLmafia thinks it is round 7 but KoL thinks it is round 5
Round 7: animated nightstand (white) takes 71 damage.
You gain 12 hit points
You gain 2 Mana Points
Round 7: chef_rannos casts STREAM OF SAUCE!
KoLmafia thinks it is round 8 but KoL thinks it is round 6
Round 8: animated nightstand (white) takes 36 damage.
You gain 3 hit points
You gain 1 Mana Point
Round 8: chef_rannos wins the fight!
You gain 5 hit points
You gain 4 Mana Points
You acquire an item: grouchy restless spirit
You gain 16 Muscleboundness
You gain a Muscle point!
You gain 20 Magicalness
You gain 14 Cheek
You gain a Moxie point!
 
Here's another oddity.

Code:
[133] Belilafs Comedy Club
Encounter: BL Imp
Strategy: /~/.kolmafia/ccs/HC.ccs [default]
Round 0: chef_rannos wins initiative!
ATT: 95 (94% × (52.29), death in 2)
DEF: 88 (8.8% × 17.81 (5), win in 39)
HP: 99.75, Value: 549.81 μ, RES: 0 (1) (-1) (-1)
WHAM: Monster HP is 99.75.
WHAM: Running SmartStasis
Profit per round: ActionProfitDamageOtherbase (0μ)0μ--
WHAM: Starting evaluation and performing of attack
WHAM: Enqueuing a stun to help with the battle
WHAM: We are going to 4-shot with Entangling Noodles, Silent Squirt, Candyblast and Candyblast.
Round 1: chef_rannos executes a macro!
Round 1: chef_rannos casts ENTANGLING NOODLES!
Round 2: Poeticus Furious grabs the end of one of the noodles in his mouth and gleerfully stromples around your opponent, pulling the noodles even tighter.
Round 2: chef_rannos casts SILENT SQUIRT!
Round 3: bl imp takes 58 damage.
Round 3: chef_rannos casts CANDYBLAST!
Round 4: bl imp takes 49 damage.
Round 4: chef_rannos wins the fight!
You gain 4 hit points
You gain 3 Mana Points
You gain 67 Meat
After Battle: Poeticus Furious smaughs happily while the jub-jub bird makes a mystic hand gesture at you. Okay, well, more of a wing gesture.
You gain 7 Beefiness
You gain 19 Mysteriousness
You gain 4 Roguishness
Adjusting familiar weight by 2 pounds


Why do a 1 turn stun after entangling noodles (as opposed to before)?

Also, why is it not jiggling my Staff of the November Jack-O-Lantern, since that's free damage with a 1 turn stun? I looked through my logs and I don't see WHAM jiggling the staff at all, and that's free damage with no repercussions.
 

Crowther

Active member
Why do a 1 turn stun after entangling noodles (as opposed to before)?
Because it makes no difference, since they stack.
Also, why is it not jiggling my Staff of the November Jack-O-Lantern, since that's free damage with a 1 turn stun? I looked through my logs and I don't see WHAM jiggling the staff at all, and that's free damage with no repercussions.
The staff hardly does any damage. I don't know if the staff is handled right, but even if it was, it would be used very rarely. It does so little damage, it's just adding to the number of rounds combat takes.
 

Winterbay

Active member
Here's another oddity.

Code:
[133] Belilafs Comedy Club
Encounter: BL Imp
Strategy: /~/.kolmafia/ccs/HC.ccs [default]
Round 0: chef_rannos wins initiative!
ATT: 95 (94% × (52.29), death in 2)
DEF: 88 (8.8% × 17.81 (5), win in 39)
HP: 99.75, Value: 549.81 μ, RES: 0 (1) (-1) (-1)
WHAM: Monster HP is 99.75.
WHAM: Running SmartStasis
Profit per round: ActionProfitDamageOtherbase (0μ)0μ--
WHAM: Starting evaluation and performing of attack
WHAM: Enqueuing a stun to help with the battle
WHAM: We are going to 4-shot with Entangling Noodles, Silent Squirt, Candyblast and Candyblast.
Round 1: chef_rannos executes a macro!
Round 1: chef_rannos casts ENTANGLING NOODLES!
Round 2: Poeticus Furious grabs the end of one of the noodles in his mouth and gleerfully stromples around your opponent, pulling the noodles even tighter.
Round 2: chef_rannos casts SILENT SQUIRT!
Round 3: bl imp takes 58 damage.
Round 3: chef_rannos casts CANDYBLAST!
Round 4: bl imp takes 49 damage.
Round 4: chef_rannos wins the fight!
You gain 4 hit points
You gain 3 Mana Points
You gain 67 Meat
After Battle: Poeticus Furious smaughs happily while the jub-jub bird makes a mystic hand gesture at you. Okay, well, more of a wing gesture.
You gain 7 Beefiness
You gain 19 Mysteriousness
You gain 4 Roguishness
Adjusting familiar weight by 2 pounds


Why do a 1 turn stun after entangling noodles (as opposed to before)?

Also, why is it not jiggling my Staff of the November Jack-O-Lantern, since that's free damage with a 1 turn stun? I looked through my logs and I don't see WHAM jiggling the staff at all, and that's free damage with no repercussions.

They do stack up, but it used Noodles as the stun (the stun action , if decided upon, is always put first in the queue) and silent squirt for its damaging properties. The fact that it also stuns for one round is a nice bonus.

WHAM does use jiggle (in Jarlsberg very much so, but otherwise as well). I know I ran through a Sauceror run a while back where it seemed to use the jiggle quite often (which is why there is special code for handling the amount of times it jiggles (although that is in the stasis-part)).

In regards to sauce synergies: WHAM is aware, and prefers to do if it can, saucesplashing. Any other benefits are, as far as I'm aware not taken into account since they need to be handled by BatBrain and I'm not sure that BatBrain even handles the bonus of Sauceror spells through the spheres at the moment.
 

Winterbay

Active member
Simple enough. Grabbed a copy, did a diff between beta a production, set WHAM_roundcost_ronin = 15.

Is the incorporation of WHAM_roundcost into the plinking function the beginning of an attempt to invoke WHAM_killit if WHAM_roundcost is sufficiently high?

With very little variation WHAM used Candyblast through almost the entire war. No harm done and no lost combats.

If I set WHAM_roundcost to 50 there was a bit more variation in combat strategies.

The inclusion of the roundcost to the stasis part was indeed a way to try and dynamically skip stasising unless the profit was really high compared to what we were willing to pay for a round. If I set roundcost to 500 and a stasis round gains me 1000 I think it should still do that, but for 490 perhaps not. I'm not sure if it works or not, but that was the idea :)

I'm glad that Candyblast is being used without crashing due to too little MP left over.
 

Winterbay

Active member
I just updated the beta version of WHAM with an attempt to handle the fighting with the items used in the Gladiator path of the sea. Unfortunately I have no way of testing it since I just beat the scholar boss for the 4th time and have two more scholar runs left, but if anyone else wants to test it out I'm all ears :)
 

Crowther

Active member
I just updated the beta version of WHAM with an attempt to handle the fighting with the items used in the Gladiator path of the sea. Unfortunately I have no way of testing it since I just beat the scholar boss for the 4th time and have two more scholar runs left, but if anyone else wants to test it out I'm all ears :)
Cool! I'm headed to my first fight with dad and couldn't decide which path to take, but I'll got that way to try it out, Tuesday.

I decided to take my level 118 character deeper into the basement to see how this new code works. It's great. My table shows the old method would have spent 6 rounds to kill with attack for free, but since I had my roundcost greater than 50 meat, it chose to cast a spell before attacking and killed in just 2 rounds for ~66 meat. A very fair trade. Dierounds was 630, so I need to go a lot deeper than level 700 for things to get hard, but I expect that shortening fights should result in being beaten up less for very little cost.

EDIT: Just had it use a divine blowout. I'd never seen WHAM use one. It one-hit killed for 400 meat instead of 7 rounds of attack.
 
Last edited:

roippi

Developer
FYI creating a new project on sourceforge is not really the right way to create a new development branch. I'll make a new post in my svn primer since I think the information is relevant outside the scope of this thread.
 
Top