Winterbay's Helpful Automatic Monsterbasher (WHAM)

Just validating... you are running the latest WHAM, SmartStasis, BatBrain (either from this thread or the BB one), and a build of mafia from the daily builds section updated in the past day or two? Just having the required scripts doesn't help if they're out of date.
 
I use the kolmafia updater so I always have the latest version, and I re-downloaded all the required scripts in the first post when I downloaded WHAM (I had some of them for some old scripts)
 
My guess is that you have an old version of SmartStasis in a folder somewhere since the line referenced in that error message is something compoletelky different in the latest verison of SS...
 
I couldn't get it to repeat this with better debugging but WHAM got me beaten up by trying to stasis a monster in HITS. At any point in the combat WHAM could have one-shotted the monster.

Code:
Request 17 of 30 (Beanstalk: Hole in the Sky) in progress...

[1625] Hole in the Sky
Encounter: One-Eyed Willie
Strategy: D:\software\Kol\ccs\default.ccs [default]
Round 0: Arbos wins initiative!
WHAM: Running SmartStasis
WHAM: Starting evaluation and performing of attack
WHAM: Enqueuing a stun to help with the battle
Round 1: Arbos executes a macro!
Round 1: Arbos casts BLEND!
Round 2: Arbos casts CURDLE!
Round 3: one-eyed willie takes 40 damage.
Round 3: Arbos casts CURDLE!
Round 4: one-eyed willie takes 40 damage.
Round 4: Arbos casts CURDLE!
Round 5: one-eyed willie takes 40 damage.
Round 5: Arbos casts CURDLE!
Round 6: one-eyed willie takes 40 damage.
You lose 28 hit points
WHAM: Starting evaluation and performing of attack
Round 6: Arbos executes a macro!
Round 6: Arbos uses the spectre scepter!
Round 7: one-eyed willie drops 3 attack power.
Round 7: one-eyed willie drops 1 defense.
You lose 26 hit points
WHAM: Starting evaluation and performing of attack
Round 7: Arbos executes a macro!
Round 7: Arbos uses the spectre scepter!
You gain 4 hit points
You lose 27 hit points
WHAM: Starting evaluation and performing of attack
Round 8: Arbos executes a macro!
Round 8: Arbos uses the spectre scepter!
Round 9: one-eyed willie drops 3 attack power.
Round 9: one-eyed willie drops 3 defense.
You lose 25 hit points
WHAM: Starting evaluation and performing of attack
Round 9: Arbos executes a macro!
Round 9: Arbos uses the spectre scepter!
Round 10: one-eyed willie drops 2 attack power.
Round 10: one-eyed willie drops 2 defense.
You lose 23 hit points
WHAM: Running SmartStasis
WHAM: Starting evaluation and performing of attack
Round 10: Arbos executes a macro!
Round 10: Arbos uses the spectre scepter!
Round 11: one-eyed willie drops 2 attack power.
Round 11: one-eyed willie drops 3 defense.
You lose 23 hit points
WHAM: Running SmartStasis
WHAM: Starting evaluation and performing of attack
Round 11: Arbos executes a macro!
Round 11: Arbos uses the spectre scepter!
You gain 4 hit points
You lose 22 hit points
You lose an effect: Beaten Up
 
Well, it wasn't satsising as such. It was trying to kill the monster with the sceptre, so I guess the monster had less than 6 HP left, and you got really really unlucky in that you got 6 rounds of delevel/heal rather than attack. Had jus tone of those been an attack you would have won, which is probably why you failed to reproduce it given that you need to get rather unlucky. That said, I feel that the sceptre is a horrible finisher due to this RNG-screwage that may occur :)

On another issue: I have solved another occurrance of "WHAM fail to attack monste rthat can obviously be obliterated easily", or at least the symptom of it. I have no idea why it happenes. Which leads me to the question:

Apart from stasising reasons is there ever a reason to prolong a fight against a low-HP (<10HP) monster with a stun if you can kill it in one round?
 
Apart from stasising reasons is there ever a reason to prolong a fight against a low-HP (<10HP) monster with a stun if you can kill it in one round?

NO!!


PS. Since I haven't posted here for a while, I just want to say that I'm still using this script and still loving it. Thank you for working so hard to keep it up to date with all of KoL's many paths.
 
I just got beaten up when WHAM jiggled and curdled when it could have one-shotted the monster with any skill besides curdle. I was running +10 ML when this happened.

Code:
228] Defiled Cranny
Encounter: Death Rattlin'
Encounter: swarm of ghuol whelps
Strategy: D:\software\Kol\ccs\default.ccs [default]
Round 0: Arbos loses initiative!
You lose 36 hit points
Running ZLib version: r37 (current)
1 HP costs 6.667μ. ( 3 / 39 )
1 MP costs 17μ. ( 77 / 93 )
Running BatBrain version: 1.31.1 (current)
Running SmartStasis version: 3.18 (current)
Running WHAM version: 4.7.2 (current)
WHAM: We currently think that the round number is: 0 and that the turn number is 227.
WHAM: Checking to see if WHAM sould adjust the unknown_ml for Swarm of Ghuol Whelps.
WHAM: No need to do anything with Swarm of Ghuol Whelps.
WHAM: Setting up variables via BatBrain
Value of stat gain: 141.25μ
Value of stat gain: 141.25μ
ATT: 59 (94% × (35.72), death in 1)
DEF: 56 (11.45% × 2.24, win in 109)
HP: 109, Value: 141.25 μ, RES: 0 (-1) (1) (-1)
Parsed round number: 1
Building options...
Options built! (24 actions)
WHAM: We currently think that the round number is: 1 and that the turn number is 227.
WHAM: Current MP = 77 out of 93.
WHAM: You have no profitable MP restoratives.
WHAM: Current HP = 3 out of 39.
WHAM: Your most profitable healing option is use 5678.
WHAM: Your most profitable healing option is use 5678.
WHAM: Your best HP restoring option available is: use 5678
WHAM: You are fighting a Swarm of Ghuol Whelps. Mafia considers that this monster has an attack of 59 or 60 when given a monster name.
WHAM: Mafia further considers that this monster has a defense value of 56 or 55 when given a monster name.
WHAM: Mafia further further considers that this monster has a HP value of 109 or 110 when given a monster name.
WHAM: Your current ML-adjustment is: 10.
WHAM: Monster HP is 109.0.
WHAM: WHAM added the following to BatRound: if pastround 27; abort "Stopping fight because it has gone on for too long (set WHAM_maxround to a higher value if you think this was in error)"; endif; 
Value of stat gain: 141.25μ
WHAM: Attack option chosen: skill 14003 (round 1, profit: -85)
WHAM: Running SmartStasis
Profit per round: ActionProfitDamageOtherbase (0μ)0μ--
Building custom WHAM actions...
WHAM: This monster does not drop a goal item
Custom WHAM actions built! (0 actions)
Building custom actions...
Custom actions built! (0 actions)
WHAM: Stasis option chosen: jiggle (round 1, profit: 83.33)
Value of stat gain: 141.25μ
WHAM: Attack option chosen: skill 14003 (round 1, profit: -85)
Stasis loop complete.
WHAM: SmartStasis complete.
WHAM: Running SmartStasis took 1.03 seconds.
WHAM: SS did not finish the fight, continuing with script execution. 
WHAM: We currently think that the round number is: 1 and that the turn number is 227.
WHAM: Starting evaluation and performing of attack
WHAM: We currently think that the round number is: 1 and that the turn number is 227.
Value of stat gain: 141.25μ
WHAM: Attack option chosen: skill 14003 (round 1, profit: -85)
WHAM: Stun option chosen: jiggle (round 1, profit: 83.33)
Queued: jiggle
Building options...
Options built! (24 actions)
Value of stat gain: 141.25μ
WHAM: Attack option chosen: skill 14000 (round 2, profit: 0)
Queued: skill 14000
Building options...
Options built! (24 actions)
Value of stat gain: 141.25μ
WHAM: Attack option chosen: skill 14000 (round 3, profit: 0)
Queued: skill 14000
Building options...
Options built! (24 actions)
Parsed round number: 1
Building options...
Options built! (24 actions)
WHAM: Evaluating the attack but not performing it took 2.77 seconds.
WHAM: Enqueuing a stun to help with the battle
Queued: jiggle
Building options...
Options built! (24 actions)
WHAM: We can't Saucesplash.
true, true, true, true, false
WHAM: Enqueueing Curdle (macroid skill 14000). Estimated damage: 66.0.
Queued: skill 14000
Building options...
Options built! (24 actions)
WHAM: Successfully enqueued Curdle.
WHAM: We can't Saucesplash.
true, true, true, true, false
WHAM: Enqueueing Curdle (macroid skill 14000). Estimated damage: 43.0.
Queued: skill 14000
Building options...
Options built! (24 actions)
WHAM: Successfully enqueued Curdle.
WHAM: We are going to 3-shot with jiggle your chefstaff, Curdle and Curdle.
Constructed macro: scrollwhendone; sub batround; if pastround 27; abort "Stopping fight because it has gone on for too long (set WHAM_maxround to a higher value if you think this was in error)"; endif; endsub; jiggle; call batround; skill 14000; call batround; skill 14000; call batround; 
Round 1: Arbos executes a macro!
Round 1: Arbos jiggles the Staff of the Healthy Breakfast
Round 2: You jiggle the staff. A tendril of egg yolk emerges from the end of it and vanishes into your chest. You feel better, but your opponents look pretty disgusted.
Round 2: You gain 14 hit points.
Round 2: Arbos casts CURDLE!
Round 3: swarm of ghuol whelps takes 66 damage.
You lose 34 hit points
Happened: chefstaff
Happened: skill 14000
Parsed round number: 0
WHAM: Evaluating the attack and performing it took 7.49 seconds.
WHAM: We currently think that the round number is: 31 and that the turn number is 228.
WHAM: We currently think that the round number is: 31 and that the turn number is 228.
 
Last edited:
I just got beaten up when WHAM jiggled and curdled when it could have one-shotted the monster with any skill besides curdle. I was running +10 ML when this happened.
The damage predicted for Curdle (66) was spot on and jiggling was optimal too, since because it stuns for the round it's used, it's free HP. BatBrain properly predicted you'd be one hit (death in 1). WHAM knew it would take two hits of Curdle to kill (the second does 43, because that's how much HP the monster has left). My best guess is that stunning was over estimated.
 
WHAM acting a little weird for me also. it stasises for a few rounds, maybe to get some MP from the slimeling, and then bricks even though i can 1shot kill it with my weapon as seen at the end.

Code:
[83] 8-Bit Realm
Encounter: Zol
Strategy: C:\Program Files (x86)\KolMafia\ccs\in run.ccs [default]
Round 0: bruceleroy wins initiative!
WHAM: Running SmartStasis
8/9 monsters drop goals here.
Round 1: bruceleroy executes a macro!
Round 1: bruceleroy uses the seal tooth!
Round 2: bruceleroy uses the seal tooth!
You gain 19 Mojo 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: Attack with your weapon: 5.25 potential damage (raw damage: 35.05) and a hitchance of 95.45%.
WHAM: Fearful Fettucini: 5.25 potential damage (raw damage: 55.00) and a hitchance of 100.00%.
WHAM: divine noisemaker: 5.25 potential damage (raw damage: 19.00) and a hitchance of 100.00%.
WHAM: divine blowout: 5.25 potential damage (raw damage: 47.00) and a hitchance of 100.00%.
WHAM: divine can of silly string: 5.25 potential damage (raw damage: 20.00) and a hitchance of 100.00%.
WHAM: hair spray: 4.00 potential damage (raw damage: 4.00) and a hitchance of 100.00%.
WHAM: Sing: 2.50 potential damage (raw damage: 2.50) and a hitchance of 100.00%.
WHAM: razor-sharp can lid: 2.50 potential damage (raw damage: 2.50) and a hitchance of 100.00%.
WHAM: seal tooth: 1.00 potential damage (raw damage: 1.00) and a hitchance of 100.00%.
WHAM: Moxious Maneuver: 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: bruceleroy executes a macro!
KoLmafia thinks it is round 4 but KoL thinks it is round 3
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.
Click here to continue in the relay browser.


Round 4: bruceleroy attacks!
KoLmafia thinks it is round 5 but KoL thinks it is round 4
Round 5: bruceleroy wins the fight!
You acquire an item: green pixel
You acquire an item: green pixel
You acquire an item: green pixel
You gain 2 Muscleboundness
You gain 4 Magicalness
You gain 6 Sarcasm
 
Yeah, that looks like the issue I mentioned having worked around above. I'll release a new version which should hopefully fix that in a few hours.
 
Nope.
What happened was:
1) WHAM widdled the monster down to 6 HP (seemingly below 10HP would do it), in my case by doing Disco and Rave combos, so in the stasis section
2) Main WHAM took over and found an action that could kill the monster
3) Due to the low HP of the monster WHAM also found that it would be a good idea to use a stun
4) After deciding on a stun and enqueueing it, it reran the request for a killer action
5) Now it could not find one and it bailed out

Workaround: If the killer action is not blank when the stun has been enqueued, do not rerun the request to get one and things work just fine.

I can see no clues in neither WHAM nor BatBrain why attack_option() would return a different result when a monster has been stunned (in an enqueued form) than before.
 
Only thing I can think of there is if the action of stunning uses the MP you were going to use for the killer action, but... unlikely. Possible, but unlikely.
 
Yes, but in my case at least the action chosen form the beginning was to use the spectre sceptre which doesn't, in fact, use any MP.

Edit: 4.8 uploaded with said work-around (slightly fleshed out).
 
Last edited:
WHAM is killing me (literally).

Code:
[530] Oil Peak
Encounter: oil slick
Strategy: /~/.kolmafia/ccs/WHAM.ccs [default]
Round 0: chef_rannos loses initiative!
You lose 12 hit points
WHAM: Running SmartStasis
Round 1: chef_rannos executes a macro!
Round 1: chef_rannos uses the Duskwalker syringe!
You acquire an item: bubblin' crude
You lose 34 hit points
WHAM: SS has finished the fight. Aborting script execution. 

You've had the crap beaten out of you... attempting to find some more crap.

Why is it using the syringe if I'm going to die after it's use? I'm in my first Jarlsberg run so it's not like I have infinite recovery options.
 
Doesn't WHAM currently just always use the syringe if you have it regardless of relative safety?

For my first AoJ runs, I did my maximization as 25 moxie, 10 mp regen, 5 myst, 5 hp, and then whatever else is important, with all of that thrown on top of my normal maximization string... For survival, 100 dr additionally makes damage go down a lot. But... moxie is the big thing.
 
WHAM is killing me (literally).

Code:
[530] Oil Peak
Encounter: oil slick
Strategy: /~/.kolmafia/ccs/WHAM.ccs [default]
Round 0: chef_rannos loses initiative!
You lose 12 hit points
WHAM: Running SmartStasis
Round 1: chef_rannos executes a macro!
Round 1: chef_rannos uses the Duskwalker syringe!
You acquire an item: bubblin' crude
You lose 34 hit points
WHAM: SS has finished the fight. Aborting script execution. 

You've had the crap beaten out of you... attempting to find some more crap.

Why is it using the syringe if I'm going to die after it's use? I'm in my first Jarlsberg run so it's not like I have infinite recovery options.

Whoops. Sorry. I added that as a useful feature, but that was when I had all the skills in the world and this no problem surviving. Fixed in 4.8.1.
 
Thanks!

Yeah I even had Jarlsberg's Pan equipped at the time too for more DR...now I'm using the Cream of the Cream staff too and I finally have some decent moxie...
 
One more teeny tiny request...don't consider attack in AoJ ascensions. :D

Code:
[669] F'c'le
Encounter: chatty pirate
Strategy: /~/.kolmafia/ccs/WHAM.ccs [default]
Round 0: chef_rannos wins initiative!
Round 1: chef_rannos attacks!
Round 2: chef_rannos attacks!
Round 3: chef_rannos attacks!
Round 4: chef_rannos attacks!
Round 5: chef_rannos attacks!
Round 6: chef_rannos attacks!
Round 7: chef_rannos attacks!
Round 8: chef_rannos attacks!
Round 9: chef_rannos attacks!
Round 10: chef_rannos attacks!
Round 11: chef_rannos attacks!
Round 12: chef_rannos attacks!
Round 13: chef_rannos attacks!
Round 14: chef_rannos attacks!
Round 15: chef_rannos attacks!
Round 16: chef_rannos attacks!
Round 17: chef_rannos attacks!
Round 18: chef_rannos attacks!
Round 19: chef_rannos attacks!
Round 20: chef_rannos attacks!
Round 21: chef_rannos attacks!
Round 22: chef_rannos attacks!
Round 23: chef_rannos attacks!
Round 24: chef_rannos attacks!
Round 25: chef_rannos attacks!
Round 26: chef_rannos attacks!
Round 27: chef_rannos attacks!
Round 28: chef_rannos attacks!
Round 29: chef_rannos attacks!
Round 30: chef_rannos attacks!
You lose 1 hit point
Round 31: chef_rannos attacks!
 
Back
Top