Winterbay's Helpful Automatic Monsterbasher (WHAM)

Fluxxdog

Active member
Code:
WHAM: We are going to 2-shot with Thunderstrike and     Saucestorm.
Round 3: fluxxdog executes a macro!
Round 3:     fluxxdog casts THUNDERSTRIKE!
Round 4: fluxxdog casts SAUCESTORM!
Round     5: drunken rat takes 74 damage.
Round 5: drunken rat takes 74 damage.
Round     5: fluxxdog wins the fight!
First time using WHAM, and came across this. It intends to multi-round stun followed by a predicted OHKO. Is this correct behavior, because the stun seems unnecessary.
 

Winterbay

Active member
Good question. It should not try and stun if it thinks it'll win in one go. If you run combats at slightly higher verbosity you will get more information on what happened and why. I tend to always run at a verbosity of 7 but that is probably overkill for normal running, but for finding out what happened it is pretty useful.
 

Fluxxdog

Active member
Hmmm... I actually run at verbosity 7. I checked my logs to see what happened before that atttack:
Code:
> WHAM: SmartStasis complete.
> WHAM: SS did not finish the fight, continuing with script execution. 
> WHAM: Starting evaluation and performing of attack
> WHAM: Enqueuing a stun to help with the battle
> WHAM: Enqueueing Saucestorm (macroid skill 4005).
> WHAM: We are going to 2-shot with Thunderstrike and Saucestorm.
I'll bump up to 10, see what happens. BTW, noticed a typo looking over logs:
Code:
> WHAM: Throwing some pocket crumbs at [B]yoru [/B]opponent
Edit: Lesson for today: setting verbosity to 10+ makes WHAM abort! Tried 9 instead ^^
Code:
[186] The Defiled Nook
Encounter: spiny skelelton
Strategy:     F:\Programs\KoLmafia\ccs\default.ccs [default]
Round 0: fluxxdog loses     initiative!
Round 1: Not Batman struggles against the rushing currents,     gasping for air.
You lose 1 hit point
You lose 12 hit points
1     HP costs 2.55μ. ( 77 / 124 )
1 MP     costs 17μ. ( 51 / 324 )
Checking for updates (running BatBrain     rev. 50)...
Checking for updates (running SmartStasis     rev. 17)...
WHAM: We     currently think that the round number is: 0 and that the turn number is     185.
WHAM: Checking to see if WHAM sould     adjust the unknown_ml for spiny skelelton.
WHAM:     No need to do anything with spiny skelelton.
WHAM:     Setting up variables via BatBrain
Setting     monster to spiny skelelton...
skeleton bone     (40.0 @ +35): 170μ * 54% = 91.8
smart     skull (50.0 @ +35): 119μ * 67.5% = 80.33
spiked     femur (10.0 @ +35): 105μ * 13.5% = 14.18
skelelton     spine (0.01 @ +35): 5μ * 0.01% = 0
Value of stat gain:     389.69μ
Loading batfactors...
Staggers     have a 31% chance of being blocked.
Processing     batfactors...
Events created: Stab Bat, companion Hovering     Sombrero
Base round: 4.69 (6.3)     damage, 2.11 player damage, 0 meat
ATT: 135 (94% × (42.58),     death in 6)
DEF: 129 (8.59% × 16.9, win in 26)
HP: 131,     Value: 575.99 μ, RES:     0.32 (0.32) (-0.35)     (0.32) (1)     (-0.35) (0.32)
Parsed     round number: 1
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 7383
Events     created: skill 19, skill 117, skill 94, skill 1023, skill 3004, skill     3008, skill 4020, skill 4005, skill 4012, skill 5019, skill 5005, skill     5008, skill 5036, skill 7169, skill 7170, skill 7171, skill 16001, skill     16005, skill 16013, skill 16021, skill 16023, runaway; repeat
Events     created: Stab Bat, companion Hovering Sombrero
Base round: 4.69     (6.3) damage, 2.11 player     damage, 0 meat
Options built! (34 actions)
WHAM:     We currently think that the round number is: 1 and that the turn number is     185.
WHAM: Current MP = 51 out of 324.
WHAM:     You have no profitable MP restoratives.
WHAM:     Current HP = 77 out of 124.
WHAM: You have     no profitable HP restoratives.
WHAM: You     are fighting a spiny skelelton. Mafia considers that this monster has an     attack of 135 or 134 when given a monster name.
WHAM:     Mafia further considers that this monster has a defense value of 129 or     129 when given a monster name.
WHAM: Mafia     further further considers that this monster has a HP value of 131 or 131     when given a monster name.
WHAM: Your     current ML-adjustment is: 81.
WHAM: You     have muscle = 42, mysticality = 81, and moxie = 57
WHAM:     Monster HP is 131.0.
WHAM: WHAM added the     following to BatRound: if pastround 29; 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; 
skill     16021 is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
skill     7169 is not OK since it is marked as a custom action.
skill     7169 is not OK since it is marked as a custom action.
skill     16001 is not OK since it is marked as a custom action.
skill     16001 is not OK since it is marked as a custom action.
skill     16023 is not OK since it is marked as a custom action.
skill     16023 is not OK since it is marked as a custom action.
skill     16013 is not OK since it is marked as a custom action.
skill     16013 is not OK since it is marked as a custom action.
use     829 is not OK since it is marked as a custom action.
use     829 is not OK since it is marked as a custom action.
use     7383 is not OK since it is marked as a custom action.
use     7383 is not OK since it is marked as a custom action.
use     5563 is not OK since it is marked as a custom action.
use     5563 is not OK since it is marked as a custom action.
skill     19 is not OK since it is marked as a custom action.
skill     19 is not OK since it is marked as a custom action.
runaway;     repeat is not OK since it is marked as a custom action.
runaway;     repeat is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
Skipping     skill 16021 since it is not ok.
Skipping     skill 7170 since it is too risky.
Skipping     use 5561 since it is too risky.
WHAM:     Running SmartStasis
Profit per round:                             Action                          Profit                          Damage                          Other                                      base; Stab Bat; companion Hovering Sombrero (0μ)                          -5.39μ                          4.69 (6.3) Actual:           4.17 (0 μ/dmg)                          HP: 2.11                      
    Building custom WHAM actions...
You     have the latest use_for_items.txt. Will not check again today.
WHAM:     Throwing some pocket crumbs at yoru opponent
Custom     WHAM actions built! (1 actions)
Building     custom actions...
2/3 monsters drop goals here.
This     monster is the best source of goals (0.27)!
Custom     actions built! (1 actions)
Attack action     chosen: skill 4005 (round 1, profit: -56.39)
Stun     action chosen: use 5560 (round 1, profit: -5.39)
Custom     action: skill 7170 (no stun)
Queued: skill     7170
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 7383
Events     created: skill 19, skill 117, skill 94, skill 1023, skill 3004, skill     3008, skill 4020, skill 4005, skill 4012, skill 5019, skill 5005, skill     5008, skill 5036, skill 7169, skill 7171, skill 16001, skill 16005, skill     16013, skill 16021, skill 16023, runaway; repeat
Events created: Stab     Bat, companion Hovering Sombrero
Base round: 4.69 (6.3)     damage, 2.11 player damage, 0 meat
Options built!     (33 actions)
skill 7169 is not OK since it     is marked as a custom action.
WHAM: Stasis     option chosen: skill 7171 (round 2, profit: -5.39)
skill     16021 is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
Skipping     skill 16021 since it is not ok.
WHAM:     Attack option chosen: skill 4020 (round 2, profit: -7.94)
This     monster is not your huckleberry.
Stasis loop     complete (queue still contains 1 actions).
Constructed     macro: scrollwhendone; sub batround; if pastround 29; 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; skill 7170; call     batround; 
Round 2: fluxxdog executes a macro!
Round 2:     fluxxdog casts POCKET CRUMBS!
KoLmafia thinks it is round 3 but KoL     thinks it is round 2
Round 3: spiny skelelton drops 13 attack power.
Round     3: spiny skelelton drops 18 defense.
You acquire an item: whole turkey     leg
Happened: skill 7170
Parsed     round number: 2
Look! You found 1 whole     turkey leg (444μ)!
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 6866,     use 7383
Events created: skill 19, skill 117, skill 94, skill 1023,     skill 3004, skill 3008, skill 4020, skill 4005, skill 4012, skill 5019,     skill 5005, skill 5008, skill 5036, skill 7169, skill 7171, skill 16001,     skill 16005, skill 16013, skill 16021, skill 16023, runaway; repeat
Options     built! (34 actions)
WHAM: SmartStasis     complete.
WHAM: Running SmartStasis took     1.13 seconds.
WHAM: SS did not finish the     fight, continuing with script execution. 
WHAM:     We currently think that the round number is: 2 and that the turn number is     185.
WHAM: Starting evaluation and     performing of attack
WHAM: We currently     think that the round number is: 2 and that the turn number is 185.
skill     16021 is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
skill     16021 is not OK since it is marked as a custom action.
Skipping     skill 16021 since it is not ok.
Skipping     use 5561 since it is too risky.
WHAM: Stun     option chosen: skill 16005 (round 2, profit: -5.39)
Monster     HP is 131 according to Mafia and 131.0 according to BatBrain.
WHAM:     We estimate the round number to currently be 2 (loop variable 0)
Queued:     skill 16005
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 6866,     use 7383
Events created: skill 19, skill 117, skill 94, skill 1023,     skill 3004, skill 3008, skill 4020, skill 4005, skill 4012, skill 5019,     skill 5005, skill 5008, skill 5036, skill 7169, skill 7171, skill 16001,     skill 16013, skill 16021, skill 16023, runaway; repeat
Events created:     Stab Bat, companion Hovering Sombrero
Base round: 4.69 (6.3)     damage, 2.11 player damage, 0 meat
Options built!     (33 actions)
Monster HP is 131 according to     Mafia and 126.832264 according to BatBrain (loop variable i = 1).
Queued:     skill 4005
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 6866,     use 7383
Events created: skill 19, skill 117, skill 94, skill 1023,     skill 3004, skill 3008, skill 4020, skill 4005, skill 4012, skill 5019,     skill 5005, skill 5008, skill 5036, skill 7169, skill 7171, skill 16001,     skill 16013, skill 16021, skill 16023, runaway; repeat
Events created:     Stab Bat, companion Hovering Sombrero
Base round: 4.69 (6.3)     damage, 2.11 player damage, 0 meat
Options built!     (33 actions)
Happened: skill 7170
Parsed     round number: 2
Look! You found 1 whole     turkey leg (444μ)!
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 6866,     use 7383
Events created: skill 19, skill 117, skill 94, skill 1023,     skill 3004, skill 3008, skill 4020, skill 4005, skill 4012, skill 5019,     skill 5005, skill 5008, skill 5036, skill 7169, skill 7171, skill 16001,     skill 16005, skill 16013, skill 16021, skill 16023, runaway; repeat
Events     created: Stab Bat, companion Hovering Sombrero
Base round: 4.69     (6.3) damage, 2.11 player     damage, 0 meat
Options built! (34 actions)
WHAM:     Evaluating the attack but not performing it took 0.22 seconds.
WHAM:     Enqueuing a stun to help with the battle
Queued:     skill 16005
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 6866,     use 7383
Events created: skill 19, skill 117, skill 94, skill 1023,     skill 3004, skill 3008, skill 4020, skill 4005, skill 4012, skill 5019,     skill 5005, skill 5008, skill 5036, skill 7169, skill 7171, skill 16001,     skill 16013, skill 16021, skill 16023, runaway; repeat
Events created:     Stab Bat, companion Hovering Sombrero
Base round: 4.69 (6.3)     damage, 2.11 player damage, 0 meat
Options built!     (33 actions)
WHAM: Enqueueing Saucestorm     (macroid skill 4005). Estimated damage: 126.832264.
Queued:     skill 4005
Building options...
Events     created: attack, (blank)
Events created: use 474, use 518, use 563, use     829, use 1705, use 1907, use 5557, use 5560, use 5561, use 5563, use 6866,     use 7383
Events created: skill 19, skill 117, skill 94, skill 1023,     skill 3004, skill 3008, skill 4020, skill 4005, skill 4012, skill 5019,     skill 5005, skill 5008, skill 5036, skill 7169, skill 7171, skill 16001,     skill 16013, skill 16021, skill 16023, runaway; repeat
Events created:     Stab Bat, companion Hovering Sombrero
Base round: 4.69 (6.3)     damage, 2.11 player damage, 0 meat
Options built!     (33 actions)
WHAM: Successfully enqueued     Saucestorm.
WHAM: We are going to 2-shot     with Thunderstrike and Saucestorm.
Constructed     macro: scrollwhendone; sub batround; if pastround 29; 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; skill 16005; call     batround; skill 4005; call batround; 
Round 3: fluxxdog executes     a macro!
Round 3: fluxxdog casts THUNDERSTRIKE!
KoLmafia thinks it     is round 4 but KoL thinks it is round 3
Round 4: fluxxdog casts     SAUCESTORM!
Round 5: spiny skelelton takes 303 damage.
Round 5:     spiny skelelton takes 396 damage.
Round 5: fluxxdog wins the fight!
After     Battle: Your Evilometer emits a single beep. The air in this part of the     crypt smells slightly less evil...
You acquire an item: skeleton bone
You     acquire an item: smart skull
You acquire an item: evil eye
You gain     9 Muscleboundness
You gain 26 Wizardliness
You gain 12 Cheek
You     gain 7 Soulsauce
Happened: skill 16005
Happened:     skill 4005
Parsed round number: 0
Look!     You found 1 evil eye (50μ)!
Look! You     found 1 skeleton bone (170μ)!
Look! You     found 1 smart skull (119μ)!
WHAM:     Evaluating the attack and performing it took 2.17 seconds.
WHAM:     We currently think that the round number is: 31 and that the turn number     is 186.
WHAM: We currently think that the     round number is: 31 and that the turn number is 186.
 
Last edited:

Winterbay

Active member
Yeah, 10 and 11 are only used for getting predictive information and not performing anything :)

Also, I have no idea why it does that...
Code:
if(cast[0].macroid == stun.id && count(cast) > 1) {
        vprint("WHAM: Enqueuing a stun to help with the battle", "purple", 3);
        if(!enqueue(get_action(cast[0].macroid)))
            quit("Failed to enqueue the stun " + cast[0].readableid + ". Aborting to let you figure this out.");    
        go = 1;
    }

That code is there to prevent adding a stun if there is only one action planned...
 

Authority2

New member
Hi! I registered to report a weird thing.
The script used Saucegeyser instead of Weapon of the Pastalord against elementally neutral monsters, when I have Thrall Unit Tactics and a thrall active.
Log:
Code:
Request 8 of 12 (Beanstalk: The Castle in the Clouds in the Sky (Ground Floor)) in progress...

[320] The Castle in the Clouds in the Sky (Ground Floor)
Encounter: Renaissance Giant
Strategy: C:\Users\Ho Siew Min\Dropbox\kolmafia\ccs\default.ccs [default]
Round 0: Authority2 loses initiative!
Round 1: Valeria is just skin and bones. Well, slime and slime, technically, but still -- you should feed him!
Round 1: Renaissance Giant takes 11 damage.
You lose 98 hit points
WHAM: Running SmartStasis
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 1-shot with Saucegeyser.
Round 1: Authority2 executes a macro!
Round 1: Authority2 casts SAUCEGEYSER!
Round 2: Renaissance Giant takes 274 damage.
Round 2: Ben scampers adorably around your opponent's ankles, twitching and blinking his adorable red eyes, and when he bites your foe with his adorable little teeth, he leaves adorable puddles of green foam in the adorable little wound, along with 3 damage.
Round 2: Renaissance Giant takes 3 damage.
Round 2: Renaissance Giant takes 3 damage.
Round 2: Authority2 wins the fight!
After Battle: Ben stands up on his hind legs and sniffs the air, chirping adorably.
You gain 15 Mana Points
You gain 124 Meat
After Battle: Valeria hops around, dancing a jig accompanied by wet squelching noises.
You acquire an item: Ye Olde Meade
You acquire an item: Ye Olde Medieval Insult
You gain 17 Strengthliness
You gain 44 Enchantedness
You gain 13 Cheek

To try to get it to use Weapon, I added Saucegeyser in the dontuse menu. Now, the script uses Saucestorm + Ravoli Shurikens.
Code:
Request 2 of 12 (Beanstalk: The Castle in the Clouds in the Sky (Top Floor)) in progress...

[327] The Castle in the Clouds in the Sky (Top Floor)
Encounter: Raver Giant
Strategy: C:\Users\Ho Siew Min\Dropbox\kolmafia\ccs\default.ccs [default]
Round 0: Authority2 loses initiative!
Round 1: Valeria is looking a little thin.
Round 1: Raver Giant takes 6 damage.
You lose 89 hit points
WHAM: Running SmartStasis
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 2-shot with Saucestorm and Ravioli Shurikens.
Round 1: Authority2 executes a macro!
Round 1: Authority2 casts SAUCESTORM!
Round 2: Raver Giant takes 117 damage.
Round 2: Raver Giant takes 112 damage.
Round 2: Ben delicately nibbles your opponent's leg. So delicately, in fact, that your opponent doesn't even notice until the leg turns black and falls off, causing 3 damage.
Round 2: Raver Giant takes 3 damage.
Round 2: Raver Giant takes 3 damage.
Round 2: Raver Giant takes 8 damage.
You lose 90 hit points
Round 2: Authority2 casts RAVIOLI SHURIKENS!
Round 3: Raver Giant takes 10 damage.
Round 3: Raver Giant takes 5 damage.
Round 3: Raver Giant takes 5 damage.
Round 3: Ben scampers adorably around your opponent's ankles, twitching and blinking his adorable red eyes, and when he bites your foe with his adorable little teeth, he leaves adorable puddles of green foam in the adorable little wound, along with 3 damage.
Round 3: Raver Giant takes 3 damage.
Round 3: Raver Giant takes 2 damage.
Round 3: Authority2 wins the fight!
You acquire an item: handful of sand
After Battle: Ben stands up on his hind legs and sniffs the air, chirping adorably.
You gain 15 Mana Points
You gain 150 Meat
After Battle: Valeria hops around, dancing a jig accompanied by wet squelching noises.
You acquire an item: Angry Farmer candy
You gain 23 Muscleboundness
You gain 37 Wizardliness
You gain 19 Chutzpah

I think it could be ignoring Weapon completely for some reason.

EDIT: I've observed the stun before oneshot behaviour that the previous posters were talking about, too. I just added all my stunners to the dontuse menu, since I was in a hurry that day.
 
Last edited:

Ethelred

Member
I fairly new to WHAM and don't usually use it in aftercore since a simple CCS can easily handle all my needs. I've been in aftercore for a few weeks now and thought I'd fire up WHAM and give the nemesis script a try. I did an SVN update and my version of WHAM seemed to be up-to-date, but I did get an update for BatBrain. This seems to have broken WHAM. It looks to me like BatBrain eliminated the global variable "howmanyfoes" and the function that sets its value, resulting in an undefined variable in WHAM.ash. To wit:
Code:
     if (my_path() == "Zombie Slayer" && howmanyfoes > 1 && no_bears()) return true;

on line 500 of my copy of WHAM. Any ideas on where my update went wrong and how to get it back on track? As always, thanks in advance.
 

Winterbay

Active member
I'm almost certain I updated WHAM to fix that error. I can't check at the moment though since I'm at work (blocks access to Sourceforge).

Also, in regards to Thrall tactics I am not sure BatBrain and in extension WHAM knows about what it does which is probably why that had no effect.
 

Magus_Prime

Well-known member
It looks to me like BatBrain eliminated the global variable "howmanyfoes" and the function that sets its value, resulting in an undefined variable in WHAM.ash.

There are two changes that are necessary. The details are a few pages back but here's a direct link to the post. Winterbay modified the SVN copy of WHAM the same day. If uninstalling and reinstalling WHAM from SVN doesn't fix the problem for you then you can make the changes by hand.
 
Hey Winterbay, I was looking into using WHAM for the default CCS to my adventure script. It would let me run way higher ML without worrying about coding tons of CCS stuff. While it excels at killing things before they kill you, it doesn't always take the most economic path.

For example, I started out a fresh ascension as AT, and I am using the Shakespeare's Sister's Accordion. AT have the ability to use the Cadenza skill, which doesn't cost anything, can only be used once per fight, and applies some effect based on the accordion being used. With the Shakespeare's Sister's Accordion, the Cadenza does ~33 cold damage and heals 4-5 HP and MP which helps on saving meat from restores, especially when casting buffs at low levels. However, WHAM doesn't take any of this into account and never uses the Cadenza skill, even if there is no threat by the enemy.

The same could be said about pickpocketing which it also doesn't seem to do despite winning initiative and having no threat. There isn't any reason to not try for some free items.

Is there any way to get WHAM to take these things into account? Or is this beyond the scope of WHAM?
 

Theraze

Active member
WHAM choosing not to use Cadenza would be a BatBrain issue. If BatBrain doesn't propose it, then obviously WHAM won't use it... since it exists, it SHOULD really work, but...

Pickpocket happens during SS, not WHAM. If there's an item not 100% guaranteed to drop with your +itemdrop and there's a chance you should survive... it should auto-steal. Works for me. As per this log from yesterday.
[420] Cobb's Knob Treasury
Encounter: Knob Goblin MBA
Round 0: Theraze wins initiative!
> WHAM: Monster HP is 29.0.
> WHAM: Running SmartStasis
Round 1: Theraze executes a macro!
Round 1: Theraze tries to steal an item!
> WHAM: Starting evaluation and performing of attack
> WHAM: We are going to 2-shot with attack with your weapon and attack with your weapon.
Round 2: Theraze executes a macro!
Round 2: Theraze attacks!
Round 3: Knob Goblin MBA takes 34 damage.
Round 3: Theraze wins the fight!
You gain 71 Meat
You gain 3 Beefiness
You gain 1 Magicalness
You gain 7 Sarcasm
 

Winterbay

Active member
Code:
cadenza    7029    Shakespeare's Sister's Accordion    32.5 cold    -4.5    mp 4.5, stun 1

In my version of batfactors (which is pretty old now) that line is in there so it should be able to use that skill. Not sure why it wouldn't. If you run a fight at a verbosity of 10 or 11 you should get information on the skills (without performing any actions) considered which should tell you why it did not decide to use Cadenza.
 
Alright, I will run it with some high verbosity and see what is going on. For now, here is an example of what is going on.

Code:
[1] The Spooky Forest
Encounter: wolfman
Round 0: SlayerofAll wins initiative!
> You have the latest batfactors.txt.  Will not check again today.
> WHAM: Running SmartStasis
> WHAM: Starting evaluation and performing of attack
> WHAM: We are going to 1-shot with attack with your weapon.
Round 1: SlayerofAll executes a macro!
Round 1: SlayerofAll attacks!
Round 2: wolfman takes 47 damage.
Round 2: SlayerofAll wins the fight!
You gain 12 Meat
After Battle: Grobert does a little fairy dance.
You gain 1 Beefiness
You gain 2 Enchantedness
You gain 9 Roguishness
You gain a Moxie point!
You gain a Level!
> Restoring MP! Currently at 19 of 19 HP, 4 of 43 MP, current meat: 10224 ... Target MP = 28.

[2] The Spooky Forest
Encounter: spooky vampire
Round 0: SlayerofAll loses initiative!
> WHAM: Running SmartStasis
> WHAM: Starting evaluation and performing of attack
> WHAM: We are going to 1-shot with attack with your weapon.
Round 1: SlayerofAll executes a macro!
Round 1: SlayerofAll attacks!
Round 2: spooky vampire takes 44 damage.
Round 2: SlayerofAll wins the fight!
You gain 6 Meat
After Battle: Grobert does a little fairy dance.
You gain 2 Strongness
You gain 2 Magicalness
You gain 6 Sarcasm
> Restoring MP! Currently at 19 of 19 HP, 4 of 43 MP, current meat: 10230 ... Target MP = 28.

[3] The Spooky Forest
Encounter: bar
Round 0: SlayerofAll wins initiative!
> WHAM: Running SmartStasis
Round 1: SlayerofAll executes a macro!
Round 1: SlayerofAll casts CADENZA!
Round 2: bar takes 29 damage.
You gain 4 hit points
You gain 4 Mojo Points
Round 2: SlayerofAll wins the fight!
You gain 15 Meat
After Battle: Grobert does a little fairy dance.
You gain 2 Mysteriousness
You gain 9 Smarm
> WHAM: SS has finished the fight. Aborting script execution.

These 3 fights happened back-to-back.

Fight 1: I win initiative, but wolfman doesn't drop anything, so we skip stealing and go to combat. It could Cadenza but it instead decides to attack.

Fight 2: I don't win initiative, goes to combat, I don't Cadenza, it dies in 1 hit.

Fight 3: I win initiative, I don't steal and item, I DO Cadenza, dies in one hit, and I don't get the item.

In all these fights I had 19 HP, running +15 ML, and 25+ moxie (too lazy to calculate exact number). Looking at the wiki's damage formula they should be expected to deal 4-7 damage per round, assuming they hit me.

All this being said, I don't get why it isn't Cadenzaing every time or going for pickpockets. I will run some more tests though to get some more info.
 
Ran it with high verbosity (11 for 1 battle and then the rest of the time at 9). It does take in account the Cadenza profit and during the run would constantly use it as a first skill if it didn't pickpocket, which it also seemed to calculate fine. That being said, it doesn't explain why it was acting strangely for the first day. When I get back to day 1, I will run it at high verbosity and see what it says then.

On a different note, it aborted when fighting a huge ghuol.
Information: My Moxie=131, My ML=+55, Monster's Attack=73, Total Attack=128, Monster's Chance to Hit =~39%.
Basically, WHAM was going to Stun with accordion bash, Cadenza, and then auto him to death. Then it said "attack is not OK since it will hurt you more than the monster." and aborted. I proceeded to Cadenza and auto it to death manually.

My question is did it not want to fight it because it thought I was going to lose or because I'd lose more HP than the possible profit from the monster? I can post the whole fight if that would help.
 
Ran into an interesting problem with WHAM, fought a chalk wraith and WHAM went crazy....

Code:
[204] The Haunted Billiards Room
Encounter: chalkdust wraith
Strategy: C:\Users\Judson\Desktop\KoLmafia\ccs\WHAM.ccs [default]
Round 0: Rohin loses initiative!
You lose 4 hit points
WHAM: Running SmartStasis
WHAM: Starting evaluation and performing of attack
WHAM: Reached WHAM_round_limit while looking for a way to kill the monster. Executing the current strategy and continuing from there.
WHAM: We are going to 3-shot with Disco Inferno, attack with your weapon and attack with your weapon.
Round 1: Rohin executes a macro!
Round 1: Rohin casts DISCO INFERNO!
Round 2: chalkdust wraith takes 28 damage.
Round 2: chalkdust wraith takes 1 damage.
Round 2: Rohin attacks!
Round 3: chalkdust wraith takes 20 damage.
Round 3: chalkdust wraith takes 1 damage.
Round 3: Rohin attacks!
Round 4: chalkdust wraith takes 20 damage.
Round 4: chalkdust wraith takes 1 damage.
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 12-shot with spices, spices, spices, spices, spices, spices, spices, spices, spices, attack with your weapon, attack with your weapon and attack with your weapon.
Round 4: Rohin executes a macro!
KoLmafia thinks it is round 5 but KoL thinks it is round 4
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 12-shot with spices, spices, spices, spices, spices, spices, spices, spices, spices, attack with your weapon, attack with your weapon and attack with your weapon.
Round 5: Rohin executes a macro!
KoLmafia thinks it is round 6 but KoL thinks it is round 4
WHAM: Starting evaluation and performing of attack
WHAM: We are going to 12-shot with spices, spices, spices, spices, spices, spices, spices, spices, spices, attack with your weapon, attack with your weapon and attack with your weapon.
Round 6: Rohin executes a macro!
KoLmafia thinks it is round 7 but KoL thinks it is round 4

It repeated this process 100 times before I noticed and aborted.
 

Winterbay

Active member
How much health did the wraith have left? I mean since it never managed to submit the macro I wonder what the heck it was trying to do...
 
I auto attacked it once after it did the initial 3 shot thing and it died, so 20 or less HP leftover.

I have noticed it seems to have trouble against enemies that have high physical resist. I think it doesn't calculate elemental damage on weapons very well. It will often abort on the protector spirit in the hidden city when it could auto it to death in 7-8 turns.
 

Theraze

Active member
The question there is, did spices also get changed when the fat cash did? Is the problem that they are no longer a throwable item, or had your inventory gotten out of sync somehow despite mafia's parsing of combat items, or... something else similar?
 
Top