Winterbay's Helpful Automatic Monsterbasher (WHAM)

Crowther

Active member
Ugh. I believe traditionally batfactors has just included the same round damage. For example a lawn dart is listed as doing zero damage. The serpent skill only included the first round's worth of damage. I guess for now that means mortar shell should be zeroed out and never used. Which is sad.
 

Theraze

Active member
It does mean though that people will be less killed than if it gets listed as half damage, which would be the other way to list it.
 

Winterbay

Active member
It is a cool new KoL feature but I'm not sure why it was needed since there is basically no need in the current game to "nuke" a monster.
 

Winterbay

Active member
Also, as we are moving towards more and more delayed action skills and items perhaps it is time to come up with a more working solution for this and the other ones.
 
I'm pretty sure you can't use furious wallop in form of bird. WHAM also tried to use an item...

:(

Code:
[6541] WarBear Fortress (First Level)
Encounter: Ansgar Sigvardtag the Warbear Foot Soldier
Round 0: chef_rannos wins initiative!
You lose 40 hit points
Round 1: Hungry Hungry Squidite lights a cute little string of firecrackers and tosses them on the ground behind your opponent.
You can't use items in this combat.
Factoring in Jalapeño Saucesphere: 3 damage, retal
Factoring in Scarysauce: (6) damage, retal
ATT: 438 (12.38% × 13.7, death in 759)
DEF: 622 (58.14% × 178.92 (10) (10) (10) (10) (43), win in 4)
HP: 466, Value: 7,370.41 μ, RES: 0
WHAM: Monster HP is 466.0.
WHAM: Running SmartStasis
Profit per round: ActionProfitDamageOtherbase; Squamous Gibberer (0μ)0μ--77.5% stun chance
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Vicious Talon Slash.
Round 1: chef_rannos executes a macro!
Round 1: chef_rannos casts VICIOUS TALON SLASH!
Round 2: warbear foot soldier takes 186 damage.
Round 2: warbear foot soldier drops 9 attack power.
Round 2: warbear foot soldier drops 10 defense.
Round 2: Hungry Hungry Squidite whispers into your opponent's ear. He cowers in fear.
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 2: chef_rannos executes a macro!
Round 2: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 3: chef_rannos executes a macro!
Round 3: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 4: chef_rannos executes a macro!
Round 4: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 5: chef_rannos executes a macro!
Round 5: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 6: chef_rannos executes a macro!
Round 6: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 7: chef_rannos executes a macro!
Round 7: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 8: chef_rannos executes a macro!
Round 8: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 9: chef_rannos executes a macro!
Round 9: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 10: chef_rannos executes a macro!
Round 10: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 11: chef_rannos executes a macro!
Round 11: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 12: chef_rannos executes a macro!
Round 12: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 13: chef_rannos executes a macro!
Round 13: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 14: chef_rannos executes a macro!
Round 14: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 15: chef_rannos executes a macro!
Round 15: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 16: chef_rannos executes a macro!
Round 16: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 17: chef_rannos executes a macro!
Round 17: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 18: chef_rannos executes a macro!
Round 18: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 19: chef_rannos executes a macro!
Round 19: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 20: chef_rannos executes a macro!
Round 20: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 21: chef_rannos executes a macro!
Round 21: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 22: chef_rannos executes a macro!
Round 22: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 23: chef_rannos executes a macro!
Round 23: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 24: chef_rannos executes a macro!
Round 24: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 25: chef_rannos executes a macro!
Round 25: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 26: chef_rannos executes a macro!
Round 26: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 27: chef_rannos executes a macro!
Round 27: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 28: chef_rannos executes a macro!
Round 28: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Furious Wallop.
Round 29: chef_rannos executes a macro!
Round 29: chef_rannos casts FURIOUS WALLOP!
WHAM: Current monster HP is calculated to 280.0
Round 30: chef_rannos executes a macro!
KoLmafia thinks it is round 31 but KoL thinks it is round 30
WHAM: The fight has gone on for longer than your WHAM_maxround setting. Reverting power to manual.
You're on your own, partner.
Click here to continue in the relay browser.


Round 31: chef_rannos casts VICIOUS TALON SLASH!
KoLmafia thinks it is round 32 but KoL thinks it is round 31
Round 32: warbear foot soldier takes 186 damage.
Round 32: warbear foot soldier drops 10 attack power.
Round 32: warbear foot soldier drops 9 defense.
Round 32: Hungry Hungry Squidite glides silently toward your opponent and wraps his scaly tentacles around him, preventing him from attacking you.
Round 32: chef_rannos casts VICIOUS TALON SLASH!
KoLmafia thinks it is round 33 but KoL thinks it is round 32
 

Winterbay

Active member
I guess people have found this out for themselves but WHAM/BatBrain is woefully unequipped to handle the warbears and more specifically their drones. I suggest making your own CCS for the duration of the event unless you are going to fight on level one only in which case the random hammering WHAM chooses works relatively fine and you should have no trouble surviving.
 

Crowther

Active member
I guess people have found this out for themselves but WHAM/BatBrain is woefully unequipped to handle the warbears and more specifically their drones. I suggest making your own CCS for the duration of the event unless you are going to fight on level one only in which case the random hammering WHAM chooses works relatively fine and you should have no trouble surviving.
WHAM works fine on the first level. I can't imagine how it could win more a fight or two at the second or third level, so I never even tried it. I miss my helper. I make so many careless mistakes.
 

Theraze

Active member
I suggest doing something smarter than my attack set... maximize 10 elemental damage, 10 all res, mp, equip hoverbelt. Then just skill harpoon! until they die. Or you do. :)
 
My post was regarding WHAM trying to use skills and items while I'm shapeshifted. You can't use anything but the bird skills while in form of bird, and WHAM was trying to use whallops and in another combat, it tried to use items.


EDIT: Note, form of bird is not a good combat choice for Level 2 of the warbear fortress... :mad:
 

BladeLight

Member
[12087] Hobopolis Town Square
Encounter: Bert "Metal Objects" Garfield
Round 0: DracoTrainer wins initiative!
1 HP costs 0.511μ. ( 500 / 500 )
1 MP costs 5.182μ. ( 563 / 669 )
WHAM: Checking to see if WHAM sould adjust the unknown_ml for Normal hobo.
WHAM: No need to do anything with Normal hobo.
WHAM: Setting up variables via BatBrain
hobo nickel (15.0 @ +317.05): 50μ * 62.56% = 31.28
ATT: 299 (0% × 29.89, death in 10)
DEF: 270 (95.45% × 372.9, win in 2)
HP: 398, Value: 1,076.28 μ, RES: 0
Parsed round number: 1
WHAM: You have no profitable MP restoratives.
WHAM: You have no profitable HP restoratives.
WHAM: Monster HP is 398.0.
WHAM: Running SmartStasis
Profit per round: ActionProfitDamageOtherbase; Fancypants Scarecrow (0μ)0μ--100% stun chance
hobo nickel (15.0 @ +317.05): 50μ * 62.56% = 31.28
hobo nickel (18.0 @ +317.05): 50μ * 75.07% = 37.53
hobo nickel (15.0 @ +317.05): 50μ * 62.56% = 31.28
hobo nickel (19.5 @ +317.05): 50μ * 81.32% = 40.66
WHAM: Stasis option chosen: use 2678 (round 1, profit: -20.42)
WHAM: SmartStasis complete.
WHAM: SS did not finish the fight, continuing with script execution.
WHAM: Starting evaluation and performing of attack
WHAM: Stun option chosen: use 3063 (round 1, profit: -130.42)
Queued: use 3063
Auto-funk: merging 'use 3063' and 'use 3755'.
Queued: use 3063
Queued: use 3755
Parsed round number: 1
WHAM: Enqueuing a stun to help with the battle
Queued: use 3063
WHAM: Enqueueing love song of smoldering passion (macroid use 3755). Estimated damage: 398.0.
Auto-funk: merging 'use 3063' and 'use 3755'.
Queued: use 3063
Queued: use 3755
WHAM: Successfully enqueued love song of smoldering passion.
WHAM: We are going to 2-shot with gyroscope and love song of smoldering passion.
Constructed macro: scrollwhendone; sub batround; if pastround 49; 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; use 3063,3755; call batround;
Round 1: DracoTrainer executes a macro!
Round 1: DracoTrainer uses the gyroscope and uses the love song of smoldering passion!
Round 2: normal hobo takes 549 damage.
You gain 50 Mojo Points
You gain 66 Meat.
Round 2: DracoTrainer wins the fight!
You gain 23 hit points
You gain 6 Mojo Points
You gain 19 Strengthliness
You gain 20 Wizardliness
You gain 40 Sarcasm
Richard takes a charred hobo boots
Happened: use 3063
Happened: use 3755
Parsed round number: 0

I'm not sure why it's using items when a simple autoattack kills them.
 

Crowther

Active member
I'm not sure why it's using items when a simple autoattack kills them.
WHAM believes it takes two attacks to kill them and chose to stun. I'm not sure why it chose to stun. WHAM always fills the second slot for a funkslinging, so it added a love song.
 
I am not sure if this is a bug or just a change of how the script behaves, but I have been using WHAM as my CCS when ascending for months, I always have a star starfish with me to have plenty of mana for skills and buffs, and WHAM would always detect that and use lvl0 skills, letting the familiar kill the monster through its attacks, maybe casting a skill after a while so I don't die. This was great because I could adventure without worrying and I would always have plenty of mana, but after crimbo ended I started ascending again and now the script no longer behaves like that, always casting skills that would end the combat quickly rather than dragging it on so I can get some mana.
 

Mr_Crac

Member
So I am adventuring in The Sea and getting beaten up. What's the point of this? I might be missing something here, but why doesn't WHAM terminate my enemies with extreme prejudice? Apparently it wants to prolong the combat, I have no idea why. But even if there is a good reason for doing so, it should stop that when my Hitpoints run low - shouldn't it?

[1134] Mer-kin Library
Encounter: Mer-kin alphabetizer
Strategy: D:\Programme\KoLmafia\ccs\default.ccs [default]
Round 0: mr_crac loses initiative!
Round 1: mer-kin alphabetizer takes 1 damage.
Round 1: mer-kin alphabetizer takes 3 damage.
You lose 97 hit points
WHAM: Running SmartStasis
KoLmafia thinks it is round 2 but KoL thinks it is round 1
Round 2: mr_crac executes a macro!
Round 2: mr_crac uses the white picket fence!
KoLmafia thinks it is round 3 but KoL thinks it is round 2
You gain 14 hit points
Round 3: mr_crac casts SAUCY SALVE!
You gain 11 hit points
Round 4: mr_crac casts SAUCY SALVE!
You gain 15 hit points
Round 5: mr_crac executes a macro!
Round 5: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 6 but KoL thinks it is round 2
You gain 15 hit points
Round 6: mr_crac executes a macro!
Round 6: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 7 but KoL thinks it is round 2
You gain 15 hit points
Round 7: mr_crac executes a macro!
Round 7: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 8 but KoL thinks it is round 3
You gain 12 hit points
Round 8: mer-kin alphabetizer takes 2 damage.
Round 8: mer-kin alphabetizer takes 10 damage.
You lose 97 hit points
Round 8: mr_crac executes a macro!
Round 8: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 9 but KoL thinks it is round 4
You gain 12 hit points
Round 9: mr_crac executes a macro!
Round 9: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 10 but KoL thinks it is round 5
You gain 15 hit points
Round 10: mer-kin alphabetizer takes 2 damage.
Round 10: mer-kin alphabetizer takes 5 damage.
You lose 95 hit points
Round 10: mr_crac executes a macro!
Round 10: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 11 but KoL thinks it is round 6
You gain 28 hit points
Round 11: mer-kin alphabetizer takes 2 damage.
Round 11: mer-kin alphabetizer takes 9 damage.
You lose 97 hit points
Round 11: mr_crac executes a macro!
Round 11: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 12 but KoL thinks it is round 7
You gain 13 hit points
Round 12: mer-kin alphabetizer takes 2 damage.
Round 12: mer-kin alphabetizer takes 5 damage.
You lose 96 hit points
Round 12: mr_crac executes a macro!
Round 12: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 13 but KoL thinks it is round 7
You gain 11 hit points
Round 13: mr_crac executes a macro!
Round 13: mr_crac casts SAUCY SALVE!
KoLmafia thinks it is round 14 but KoL thinks it is round 8
You gain 12 hit points
Round 14: mer-kin alphabetizer takes 2 damage.
Round 14: mer-kin alphabetizer takes 9 damage.
You lose 96 hit points
You lose an effect: Beaten Up
WHAM: SS has finished the fight. Aborting script execution.
 
Last edited:

Crowther

Active member
So I am adventuring in The Sea and getting beaten up. What's the point of this? I might be missing something here, but why doesn't WHAM terminate my enemies with extreme prejudice? Apparently it wants to prolong the combat, I have no idea why. But even if there is a good reason for doing so, it should stop that when my Hitpoints run low - shouldn't it?
I've died a bit when I shouldn't and it is more likely with hard combats. WHAM tries to be optimal. Which can be a knife's edge. Optimal as defined by "as cheap as possible" often means getting very close to losing. If something about the monster or a skill is poorly spaded or wrong, you lose. Since averages are used, if the RNG hates you, you lose. If you want WHAM to stop when your HP gets low, just set that in KoLmafia. However, expect automation to stop when you are going to win sometimes.

Now, if you want to kill with extreme prejudice, that's available. That's what WHAM_roundcost_aftercore is for. You say how much meat your willing to spend to shorten combat by a round. Set this to zero and WHAM will seriously draw out combat trying to save meat. Set it to 1000 and it will clobber things hard. I usually run about 100 to 150, but in the sea, I'd recommend going higher.
 

Razorsoup

Member
Is there a way to have WHAM not overkill hobo's in Hobopolis? I need hobo nickels, not hobo parts but keep over-killing the hobos.
 

Winterbay

Active member
I've died a bit when I shouldn't and it is more likely with hard combats. WHAM tries to be optimal. Which can be a knife's edge. Optimal as defined by "as cheap as possible" often means getting very close to losing. If something about the monster or a skill is poorly spaded or wrong, you lose. Since averages are used, if the RNG hates you, you lose. If you want WHAM to stop when your HP gets low, just set that in KoLmafia. However, expect automation to stop when you are going to win sometimes.

Now, if you want to kill with extreme prejudice, that's available. That's what WHAM_roundcost_aftercore is for. You say how much meat your willing to spend to shorten combat by a round. Set this to zero and WHAM will seriously draw out combat trying to save meat. Set it to 1000 and it will clobber things hard. I usually run about 100 to 150, but in the sea, I'd recommend going higher.

Also, that healing until you die issue is not really WHAM but SmartStasis. WHAM proper never gets called in that fight. The roundcost-seting does help with that as well I think though...
 

jbouzanquet

Member
That reminds me of a FR I wanted to make. Basically the same issue of avoiding too much damage. Hobo's won't drop normal things when overkilled, mine crabs kill you when dealt more than some amount (I think 40) damage at a time. Some way to prevent WHAM from dealing too much damage to special enemies would be great. I think, though, this is actually a BatBrain problem, since it's that one which has an info file about all the monsters' special abilities.
 
Top