SmartStasis -- a complex script for a simple CCS

Are you using the most recent version of BatBrain? That was a bug zarqon fixed at the beginning of the month... the entire round was calculated as a single unit, rather than healing happening first. If BatBrain is incorrectly calculating how much damage the hobos will do to you on average, that would be a BatBrain bug (or miscalculation) as well...
 
In theory. I DL'd BatBrain on 18 Jan. It identifies itself as 1.30 and I am pretty sure I am using the Zarqon version and not the WHAM fork. If it really shapes up to be the cause I'll get latest versions of every BatBrain and my diff utility to verify my source.
 
Well, it wouldn't hurt to do a verbosity 9 or 11 hobo combat log where it's trying to heal (fine to abort, just important to see the downward spiral) and then it should probably get posted in the BatBrain thread, since miscalculations in it are things for zarqon to magic away. :)
 
Edge case, but...

SS keeps allowing me to get beat up. Level 94, never ascended Pastamaster in Hobopolis. Hovering Sombrero. I had switched to using WHAM (which includes SS) in Crimbo because of unknown and scaling monsters. SS decides I need HP. It casts Lasagna Bandages. Hobo hits me. Repeat until Hobo beats me up or SS gives up and I one shot the hobo. Problem is that bandages restore double digit amounts of HP but getting hit inflicts triple digit amounts of damage. So I am losing more than I gain. The irony of this is that I can pretty much one shot anything and can cast Cocoon outside of combat and so in a global sense there is almost no reason to stasis at all.

I can almost certainly run at a requested verbosity if this is worthy of investigation.
Is it possible that BatBrain is underestimating the damage done by Hobo? One way to detect that is to look at how many round WHAM thinks you'll survive compared to how long you really do survive. Some of the Hobo's have special attacks which might not be counted. I've been having the problem with the frustrating knight's special attack, which is, well, frustrating.
 
BatBrain doesn't know anything about elemental hobo special attacks, nor does it have an accurate number for regular hobos -- back when I looked into that I couldn't find any spading for that anywhere. I was farming the Town Square for nickels at the time and added a complete guess for normal hobos (10% of your maxhp per round), but BatBrain views all the elemental hobos as having no special attack at all, which would certainly affect its view of your survivability. If you have a suggestion as to a number for elemental hobo special attack damage/rate, I'll be happy to add that in. For now I'll just include elemental hobos in the normal hobo special attack code, which is inaccurate but better than nothing.

ETA: I'll add the frustrating knight's special attack too. Every round? That does sound quite frustrating.

ETAA: As I was adding these just now, I found a really nasty bug that crept in there when converting HP to be represented as a spread. In die_rounds(), BatBrain was only considering physical damage, not elemental damage. Update posted.

@frono: When BatBrain configures itself for your particular monster, it also displays the monster stats in the CLI at verbosities of 5 or higher, and the line for monster attack ought to be particularly handy here ("X% x Y damage, death in Z rounds"). What was it saying for you?
 
Last edited:
3.17 Double Post Update

I'm happy to finally announce support for copying monsters using black boxes and 4-d cameras, not just putty. SS will make the decision to copy using the same logic as previously, but if all available daily putties are used (or you don't have putty), it will move on to using your available black boxes. Finally, if you set the new ZLib setting cameraPutty to true (default is false), SS will also consider throwing a 4-d camera if you are out of putty and boxes for the day.

SS will only use one copy item per fight, since in most cases you will want to fight the monster you just copied, at which point you could copy it again.

I am using this new feature to kill two birds: 1) farm mime soul fragments in my logout script, and b) work toward a trophy. I just create a 4-d camera, set mafia's autoPutty property to the monster I want to farm, then use monster copies (starting with my photocopied monster) until I'm out of them. Voilà -- 7 mime soul fragments per day!

One other small thing: SS will throw a seal tooth at hellseal pups if you have one, and it will consider them huckleberries until they wail. This should guarantee a wail out of your hellseal pup fights.

Enjoy!
 
I updated BB and SS as per posts today. verbosity was set to 8 because I thought WHAM didn't do anything except display if verbosity >= 9. Problem seems to be spooky hobos although what else would I find in the Ancient Burial Ground. (Could not reproduce the problem yesterday in the Town Square).

Code:
[648819] The Ancient Hobo Burial Ground
Encounter: Paul Martinez, the Grim Panhandler
Strategy: C:\Users\Fronobulax\Dropbox\dist\ccs\Fronobulax.ccs [default]
Round 0: fronobulax wins initiative!
Running ZLib version: r37 (current)
1 HP costs 1.422μ. ( 6,898 / 7457 )
1 MP costs 0.685μ. ( 3,509 / 15665 )
Running BatBrain version: 1.31 (current)
Running SmartStasis version: 3.17 (current)
Running WHAM version: 4.3.5 (current)
WHAM: Checking to see if WHAM sould adjust the unknown_ml for Spooky Hobo.
WHAM: No need to do anything with Spooky Hobo.
WHAM: Setting up variables via BatBrain
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
ATT: 550 (6% × 50.52, death in 10)
DEF: 515 (95.45% × 5,449.18, win in 1)
HP: 705, Value: 1,454.28 μ, RES: 0 (1) (1) (1) (1) (1) (1)
Parsed round number: 1
WHAM: You have no profitable MP restoratives.
WHAM: You have no profitable HP restoratives.
WHAM: Monster HP is 705.0.
WHAM: Running SmartStasis
Profit per round: ActionProfitDamageOtherbase (0μ)0μ--
Stasis option chosen: skill 3009 (round 1, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 1, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 6898.0 && hpbelow 7457 && !mpbelow 3509.0 && !pastround -7049973)
Round 1: fronobulax executes a macro!
Round 1: fronobulax casts LASAGNA BANDAGES!
You gain 12 hit points
Happened: skill 3009
Parsed round number: 2
Stasis option chosen: skill 3009 (round 2, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 2, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 6910.0 && hpbelow 7457 && !mpbelow 3506.0 && !pastround -7049973)
Round 2: fronobulax executes a macro!
Round 2: fronobulax casts LASAGNA BANDAGES!
You gain 20 hit points
You lose 587 hit points
Happened: skill 3009
Parsed round number: 3
Stasis option chosen: skill 3009 (round 3, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 3, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 6343.0 && hpbelow 7457 && !mpbelow 3503.0 && !pastround -7049973)
Round 3: fronobulax executes a macro!
Round 3: fronobulax casts LASAGNA BANDAGES!
You gain 13 hit points
Happened: skill 3009
Parsed round number: 4
Stasis option chosen: skill 3009 (round 4, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 4, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 6356.0 && hpbelow 7457 && !mpbelow 3500.0 && !pastround -7049973)
Round 4: fronobulax executes a macro!
Round 4: fronobulax casts LASAGNA BANDAGES!
You gain 16 hit points
Happened: skill 3009
Parsed round number: 5
Stasis option chosen: skill 3009 (round 5, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 5, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 6372.0 && hpbelow 7457 && !mpbelow 3497.0 && !pastround -7049973)
Round 5: fronobulax executes a macro!
Round 5: fronobulax casts LASAGNA BANDAGES!
You gain 20 hit points
Happened: skill 3009
Parsed round number: 6
Stasis option chosen: skill 3009 (round 6, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 6, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 6392.0 && hpbelow 7457 && !mpbelow 3494.0 && !pastround -7049973)
Round 6: fronobulax executes a macro!
Round 6: fronobulax casts LASAGNA BANDAGES!
You gain 13 hit points
You lose 536 hit points
Happened: skill 3009
Parsed round number: 7
Stasis option chosen: skill 3009 (round 7, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 7, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 5869.0 && hpbelow 7457 && !mpbelow 3491.0 && !pastround -7049973)
Round 7: fronobulax executes a macro!
Round 7: fronobulax casts LASAGNA BANDAGES!
You gain 10 hit points
Happened: skill 3009
Parsed round number: 8
Stasis option chosen: skill 3009 (round 8, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 8, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 5879.0 && hpbelow 7457 && !mpbelow 3488.0 && !pastround -7049973)
Round 8: fronobulax executes a macro!
Round 8: fronobulax casts LASAGNA BANDAGES!
You gain 19 hit points
Happened: skill 3009
Parsed round number: 9
Stasis option chosen: skill 3009 (round 9, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 9, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 5898.0 && hpbelow 7457 && !mpbelow 3485.0 && !pastround -7049973)
Round 9: fronobulax executes a macro!
Round 9: fronobulax casts LASAGNA BANDAGES!
You gain 17 hit points
Happened: skill 3009
Parsed round number: 10
Stasis option chosen: skill 3009 (round 10, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 10, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 5915.0 && hpbelow 7457 && !mpbelow 3482.0 && !pastround -7049973)
Round 10: fronobulax executes a macro!
Round 10: fronobulax casts LASAGNA BANDAGES!
You gain 12 hit points
You lose 553 hit points
Happened: skill 3009
Parsed round number: 11
Stasis option chosen: skill 3009 (round 11, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 11, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 5374.0 && hpbelow 7457 && !mpbelow 3479.0 && !pastround -7049973)
Round 11: fronobulax executes a macro!
Round 11: fronobulax casts LASAGNA BANDAGES!
You gain 16 hit points
Happened: skill 3009
Parsed round number: 12
Stasis option chosen: skill 3009 (round 12, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 12, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 5390.0 && hpbelow 7457 && !mpbelow 3476.0 && !pastround -7049973)
Round 12: fronobulax executes a macro!
Round 12: fronobulax casts LASAGNA BANDAGES!
You gain 13 hit points
Happened: skill 3009
Parsed round number: 13
Stasis option chosen: skill 3009 (round 13, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 13, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 5403.0 && hpbelow 7457 && !mpbelow 3473.0 && !pastround -7049973)
Round 13: fronobulax executes a macro!
Round 13: fronobulax casts LASAGNA BANDAGES!
You gain 14 hit points
You lose 559 hit points
Happened: skill 3009
Parsed round number: 14
Stasis option chosen: skill 3009 (round 14, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 14, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 4858.0 && hpbelow 7457 && !mpbelow 3470.0 && !pastround -7049973)
Round 14: fronobulax executes a macro!
Round 14: fronobulax casts LASAGNA BANDAGES!
You gain 15 hit points
Happened: skill 3009
Parsed round number: 15
Stasis option chosen: skill 3009 (round 15, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 15, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 4873.0 && hpbelow 7457 && !mpbelow 3467.0 && !pastround -7049973)
Round 15: fronobulax executes a macro!
Round 15: fronobulax casts LASAGNA BANDAGES!
You gain 22 hit points
Happened: skill 3009
Parsed round number: 16
Happened: crit
Stasis option chosen: skill 3009 (round 16, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 16, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 4895.0 && hpbelow 7457 && !mpbelow 3464.0 && !pastround -7049973)
Round 16: fronobulax executes a macro!
Round 16: fronobulax casts LASAGNA BANDAGES!
You gain 16 hit points
Happened: skill 3009
Parsed round number: 17
Stasis option chosen: skill 3009 (round 17, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 17, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 4911.0 && hpbelow 7457 && !mpbelow 3461.0 && !pastround -7049973)
Round 17: fronobulax executes a macro!
Round 17: fronobulax casts LASAGNA BANDAGES!
You gain 11 hit points
You lose 585 hit points
Happened: skill 3009
Parsed round number: 18
Stasis option chosen: skill 3009 (round 18, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 18, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 4337.0 && hpbelow 7457 && !mpbelow 3458.0 && !pastround -7049973)
Round 18: fronobulax executes a macro!
Round 18: fronobulax casts LASAGNA BANDAGES!
You gain 15 hit points
You lose 586 hit points
Happened: skill 3009
Parsed round number: 19
Stasis option chosen: skill 3009 (round 19, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 19, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 3766.0 && hpbelow 7457 && !mpbelow 3455.0 && !pastround -7049973)
Round 19: fronobulax executes a macro!
Round 19: fronobulax casts LASAGNA BANDAGES!
You gain 12 hit points
You lose 559 hit points
Happened: skill 3009
Parsed round number: 20
Stasis option chosen: skill 3009 (round 20, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 20, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 3219.0 && hpbelow 7457 && !mpbelow 3452.0 && !pastround -7049973)
Round 20: fronobulax executes a macro!
Round 20: fronobulax casts LASAGNA BANDAGES!
You gain 18 hit points
You lose 45 hit points
Happened: skill 3009
Parsed round number: 21
Stasis option chosen: skill 3009 (round 21, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 21, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 3192.0 && hpbelow 7457 && !mpbelow 3449.0 && !pastround -7049973)
Round 21: fronobulax executes a macro!
Round 21: fronobulax casts LASAGNA BANDAGES!
You gain 15 hit points
You lose 575 hit points
Happened: skill 3009
Parsed round number: 22
Stasis option chosen: skill 3009 (round 22, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 22, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 2632.0 && hpbelow 7457 && !mpbelow 3446.0 && !pastround -7049973)
Round 22: fronobulax executes a macro!
Round 22: fronobulax casts LASAGNA BANDAGES!
You gain 15 hit points
Happened: skill 3009
Parsed round number: 23
Stasis option chosen: skill 3009 (round 23, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 23, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 2647.0 && hpbelow 7457 && !mpbelow 3443.0 && !pastround -7049973)
Round 23: fronobulax executes a macro!
Round 23: fronobulax casts LASAGNA BANDAGES!
You gain 16 hit points
You lose 569 hit points
Happened: skill 3009
Parsed round number: 24
Stasis option chosen: skill 3009 (round 24, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 24, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 2094.0 && hpbelow 7457 && !mpbelow 3440.0 && !pastround -7049973)
Round 24: fronobulax executes a macro!
Round 24: fronobulax casts LASAGNA BANDAGES!
You gain 12 hit points
Happened: skill 3009
Parsed round number: 25
Stasis option chosen: skill 3009 (round 25, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 25, profit: -0.06)
Queued: skill 3009
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; sub finito; skill 3009; call batround; endsub; call finito; repeat hasskill 3009 && (!hpbelow 2106.0 && hpbelow 7457 && !mpbelow 3437.0 && !pastround -7049973)
Round 25: fronobulax executes a macro!
Round 25: fronobulax casts LASAGNA BANDAGES!
You gain 16 hit points
Happened: skill 3009
Parsed round number: 26
Stasis option chosen: skill 3009 (round 26, profit: 16.39)
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 26, profit: -0.06)
WHAM: SmartStasis complete.
WHAM: SS did not finish the fight, continuing with script execution. 
WHAM: Starting evaluation and performing of attack
hobo nickel (15.0 @ +25.0): 50μ * 18.75% = 9.38
WHAM: Attack option chosen: attack (round 26, profit: -0.06)
WHAM: No need to stun this monster
Queued: attack
Happened: skill 3009
Parsed round number: 26
KoLmafia declares world peace.
You're on your own, partner.
Click here to continue in the relay browser.


Round 26: fronobulax casts WEAPON OF THE PASTALORD!
Round 27: spooky hobo takes 7406 damage.
Round 27: fronobulax wins the fight!
After Battle: PeggyLee bends its brim into an approximation of a smile.
You gain 36 Strongness
You gain 102 Mysteriousness
You gain 52 Roguishness

I stopped the fight manually which seems to be the instant SS gave up and switched to WHAM. My suspicion is that SS is overvaluing the profit from using Lasagna Bandages and failing to account for damage from the hobo.
 
A couple things stick out from this:

1) 1 HP costs 1.422μ. ( 6,898 / 7457 )

That seems a very high value for HP if you have Cocoon. Are you using UR to restore HP?

2) repeat hasskill 3009 && (!hpbelow 6910.0 && hpbelow 7457 && !mpbelow 3506.0 && !pastround -7049973)

Well, I don't know, I'm pretty sure we are past round -7049973.

It seems like that round number might be the clue to the whole thing, but I haven't found an answer yet.

What I have done, though, is add support for Siphoning Spirits. Yay?
 
A couple things stick out from this:

1) 1 HP costs 1.422μ. ( 6,898 / 7457 )

That seems a very high value for HP if you have Cocoon. Are you using UR to restore HP?

No. Does this mean there is some setting I am supposed to make manually in order to appropriately use SS? If so I'll whine at WHAM since I'm not using SS, WHAM is :-)
 
You could try manually setting your meatperhp to a more appropriate value. With a meatpermp of 0.685, restoring 4000 HP with Cocoon would work out to less than 0.0035 meat/HP, so try entering "set _meatperhp = 0.0035" in the CLI and see if that eliminates the problem. I'll wager it does.

Since it's a daily property, for now you'll have to enter this in daily. I'll add Cocoon to BatBrain's extremely simplified meatperhp calculations, but the whole BatMan family of scripts really was intended to be used along with UR.

I don't believe lack of an accurate meatperhp value is the root cause of your problem, since HP loss outweighs HP gain from Bandages, meaning the profit would be negative regardless of the value. However, in the event that the script is somehow ignoring monster damage in your situation, having a more accurate value would at least make the script consider the action's profit to be considerably lower -- probably too low to stasis with.

EDIT: I also tracked down that pastround -7049973 issue to something in WHAM and reported it, but don't believe that's the cause of the issue either.
 
Last edited:
See message in BatBrain update post explaining updates on the way right now.

1.18 Update

First, monster damage is now handled as a spread by BatBrain, a change which was late in coming but is finally here among us. This update is needed for SS to work with the new BatBrain.

Secondly, I've added initial support for Siphon Spirits. I wrote it to be fairly good at using your siphons, yet also somewhat conservative. If problems are found with certain playstyles, changes can be made or settings added as needed. For now, this is the logic:

  1. First, if the drink is a goal, siphon it.
  2. Next, there are two behaviors depending on whether you are in or out of HC/Ronin.
    • In aftercore (or post-Ronin), siphon red-aura drinks indiscriminately to maximize both daily siphons and quality of alcohol.
    • In HC/Ronin, siphon drinks which grant mainstat, and then only if you are not within 2 levels of the next higher grade of drink -- in which case it will wait for the aura to advance.

Please note before reporting dissatisfaction that some of the possible issues you may have can be overcome by setting goals as desired.

Enjoy!
 
Fixed in SmartStasis. WHAM is now broken because it copied so much SS code but that is not a SS problem. Didn't mean to sound impatient but with the various time zones involved I could not tell whether "an hour" had elapsed or not.
 
I'm in a Turtle Tamer class act run with a haiku katana equipped and SmartStasis is trying to cast spring raindrop attack over and over and just looping on the you don't have that skill message. It's running through WHAM if that makes a difference.

Edit: Yeah this is completely unusable, every combat is getting stuck in an infinite loop.
Edit Edit: I think it's probably WHAM, I changed it to only consult SmartStasis and it seems to be fine.
 
Last edited:
Hi. I recently upgraded to the latest release of SS and BB and now I'm getting the following error message whenever I try and use SS:

"Bad monster value: "frustrating knight" (BatBrain.ash, line 620)"

I have noticed similar errors reported in this thread, but I couldn't see any suitable fixes suggested. I have Re-downloaded both scripts with the same results. I am running the most recent versions of both Mafia and Java, and I do not use any other scripts related to combat.

Thanks.
 
Back
Top