SmartStasis -- a complex script for a simple CCS

Seem to have an odd bug with adding machine which i think is relating to destroy all monsters rather than smartstasis since if i use smartstasis directly it works as normal.
Had a browse around and can't see anyone with similar output.

Code:
[784] Orc Chasm
Encounter: rampaging adding machine
Strategy:     D:\Laptop Backup\.kolmafia\ccs\default.ccs [default]
Round 0: meowtiger     wins initiative!
Running ZLib version: r31 (current)
1     MP costs 17.0μ.
1 HP costs 5.9649124μ.
Value     of stat gain: 383.42μ
Running BatBrain version:     1.11 (current)
Profit per round:                             Action                          Profit                          Damage                          Other                                      base; Li'l Xenomorph (0μ)                          0μ                          --                                                
    Running SmartStasis version: 3.7 (current)
Parsed     round number: 1
Building options...
Options     built! (27 actions)
Stasis action chosen:     skill 5021
SmartStasis: -4 profit is too low     to stasis with Suckerpunch
Value of stat gain: 383.42μ
Monster:     Rampaging Adding Machine, ATT: 90, DEF: 81, HP: 80, Value: 383.42
You     will die in 52 rounds.
Your attack will kill     the monster in 3 rounds.
Building custom     actions...
Custom actions built! (0 actions)
Stasis     action chosen: skill 5021
This monster is     not your huckleberry.
Stasis loop complete.
SmartStasis     complete.
DestroyAllMonsters: dictionary...     killrounds: 2, dierounds: 52
Executing     macro: scrollwhendone; sub batround; if haseffect 264 || haseffect 282 ||     haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif;     endsub; sub batsub1; use 536; call batround; endsub; call batsub1; repeat     hascombatitem 536 && (!times 30); if hpbelow 14; abort "BatBrain abort:     Danger, Will Robinson"; endif; 
Round 1: meowtiger executes     a macro!
Round 1: meowtiger uses the dictionary!
Round 2: meowtiger     uses the dictionary!
Round 3: meowtiger uses the dictionary!
Round     4: meowtiger uses the dictionary!
Round 5: meowtiger uses the     dictionary!
Round 6: meowtiger uses the dictionary!
Round 7:     meowtiger uses the dictionary!
Round 8: meowtiger uses the dictionary!
Round     9: meowtiger uses the dictionary!
Round 10: meowtiger uses the     dictionary!
Round 11: meowtiger uses the dictionary!
Round 12:     meowtiger uses the dictionary!
Round 13: meowtiger uses the dictionary!
Round     14: meowtiger uses the dictionary!
Round 15: meowtiger uses the     dictionary!
You lose 12 hit points
Round 16: meowtiger uses the     dictionary!
Round 17: meowtiger uses the dictionary!
Round 18:     meowtiger uses the dictionary!
Round 19: meowtiger uses the dictionary!
Round     20: meowtiger uses the dictionary!
Round 21: meowtiger uses the     dictionary!
Round 22: meowtiger uses the dictionary!
Round 23:     meowtiger uses the dictionary!
Round 24: meowtiger uses the dictionary!
Round     25: meowtiger uses the dictionary!
Round 26: meowtiger uses the     dictionary!
Round 27: meowtiger uses the dictionary!
You lose 12 hit     points
Round 28: meowtiger uses the dictionary!
Round 29: meowtiger     uses the dictionary!
Round 30: meowtiger uses the dictionary!
Round     31: meowtiger uses the dictionary!
Parsed round     number: 2
Building options...
Options     built! (23 actions)
DestroyAllMonsters:     dictionary... killrounds: 2, dierounds: 20
Executing     macro: scrollwhendone; sub batround; if haseffect 264 || haseffect 282 ||     haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif;     endsub; sub batsub1; use 536; call batround; endsub; call batsub1; repeat     hascombatitem 536 && (!times 19); if hpbelow 14; abort "BatBrain abort:     Danger, Will Robinson"; endif; 
Parsed     round number: 0
Building options...
Options     built! (27 actions)

Unsure why it would want to stasis with Dictionary for 30+ turns rather than actually using my scrolls, specially with a familiar that doesn't benefit from stasis.
 
Hi folks,

I was using SmartStasis (which I love by the way) in the junkyard today and it totally ignored a tool that the gremlin pulled out and proceeded to pass control along to the lines after it which kill the monster. Any thoughts on what is up here?

Thanks for any help you can provide.
apenny
 
Yesterday I added an attack_action() to my copy of BatBrain which returns, simplistically, your best option for attacking the monster (the most profitable action that will kill the monster before you die). This will allow SS to avoid this gremlins issue, which I recently encountered myself. Expect the next update not too long from now.
 
Thanks for the new SmartStasis. Unfortunately I keep getting this error:
Code:
Unexpected error, debug log printed.
[color=red]Script execution aborted
You're on your own, partner.[/color]

I have tracked the error down to SmarStasis line 256: remove custom[n]; (The debug line before that prints, but the debug after that line does not print so I am positive.)

It fails every time it tries to remove custom[n] where n is 0 and ev.id is "use 823". This happens as it needs to throw DoD potions. Closeting the bad potion merely changes the value of ev.id in a predictable way to another potion. When I closeted all unidentified potions the script resumed function.


The debug log looks like this.
Code:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
         KoLmafia v14.8 r10051, Windows XP, Java 1.6.0_26
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Please note: do not post this log in the KoLmafia thread. If you
 would like the dev team to look at it, please write a bug report
 at kolmafia.us. Include specific information about what you were 
 doing when you made this and include the log as an attachment.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Timestamp: Wed Nov 30 01:56:33 EST 2011
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Unexpected error, debug log printed.
class java.util.ConcurrentModificationException: null
java.util.ConcurrentModificationException
	at java.util.TreeMap$PrivateEntryIterator.remove(Unknown Source)
	at net.sourceforge.kolmafia.textui.parsetree.MapValue.remove(MapValue.java:91)
	at net.sourceforge.kolmafia.textui.parsetree.CompositeReference.removeKey(CompositeReference.java:258)
	at net.sourceforge.kolmafia.textui.parsetree.Operator.applyTo(Operator.java:377)
	at net.sourceforge.kolmafia.textui.parsetree.Expression.execute(Expression.java:221)
	at net.sourceforge.kolmafia.textui.parsetree.BasicScope.execute(BasicScope.java:454)
	at net.sourceforge.kolmafia.textui.parsetree.Conditional.execute(Conditional.java:95)
	at net.sourceforge.kolmafia.textui.parsetree.If.execute(If.java:67)
	at net.sourceforge.kolmafia.textui.parsetree.BasicScope.execute(BasicScope.java:454)
	at net.sourceforge.kolmafia.textui.parsetree.Loop.execute(Loop.java:58)
	at net.sourceforge.kolmafia.textui.parsetree.ForEachLoop.executeSlice(ForEachLoop.java:165)
	at net.sourceforge.kolmafia.textui.parsetree.ForEachLoop.execute(ForEachLoop.java:110)
	at net.sourceforge.kolmafia.textui.parsetree.BasicScope.execute(BasicScope.java:454)
	at net.sourceforge.kolmafia.textui.parsetree.UserDefinedFunction.execute(UserDefinedFunction.java:130)
	at net.sourceforge.kolmafia.textui.parsetree.FunctionCall.execute(FunctionCall.java:167)
	at net.sourceforge.kolmafia.textui.parsetree.Assignment.execute(Assignment.java:102)
	at net.sourceforge.kolmafia.textui.parsetree.BasicScope.execute(BasicScope.java:454)
	at net.sourceforge.kolmafia.textui.parsetree.UserDefinedFunction.execute(UserDefinedFunction.java:130)
	at net.sourceforge.kolmafia.textui.parsetree.FunctionCall.execute(FunctionCall.java:167)
	at net.sourceforge.kolmafia.textui.parsetree.BasicScope.execute(BasicScope.java:454)
	at net.sourceforge.kolmafia.textui.parsetree.UserDefinedFunction.execute(UserDefinedFunction.java:130)
	at net.sourceforge.kolmafia.textui.Interpreter.executeScope(Interpreter.java:322)
	at net.sourceforge.kolmafia.textui.Interpreter.execute(Interpreter.java:249)
	at net.sourceforge.kolmafia.textui.Interpreter.execute(Interpreter.java:242)
	at net.sourceforge.kolmafia.request.FightRequest.nextRound(FightRequest.java:633)
	at net.sourceforge.kolmafia.request.FightRequest.runOnce(FightRequest.java:1288)
	at net.sourceforge.kolmafia.request.FightRequest.run(FightRequest.java:1313)
	at net.sourceforge.kolmafia.webui.RelayAutoCombatThread.run(RelayAutoCombatThread.java:73)

This error makes no sense at all to me. Hopefully someone else will understand why a perfectly legal command causes a debug log.
 
That's most perplexing, since I didn't change any of the code which handles custom[]! I just ran across the same error and it had me stymied for a good half hour.

Finally I figured it out. I didn't change the code that handles custom[], but I did change when it gets called! Enqueueing now triggers an options rebuild, and build_items() adds unknown potions/spheres directly to custom. So every time it added an unknown bang potion from custom to the queue, it also augmented custom by the number of unknown bang potions. Infinite loop! To solve this problem I need to move that bit out into SS's build_custom(). I've actually just done that in a rather hasty fashion, and it works, but I want to make a few more changes to it while I'm at it and it's already after midnight here, so I'll put up a fixed BB/SS tomorrow.

For a quick workaround in the meantime, comment out these two lines around line 848 of BB, like so:

PHP:
         case 819: case 820: case 821: case 822: case 823: case 824: case 825: case 826: case 827: // ! potions
            if (get_property("lastBangPotion"+it) == "") {   // needs IDing, add to custom[]
//               if (item_amount(to_item(it)) > to_int(get_property("autoPotionID") == "false"))
//                  custom[count(custom)] = to_event("use "+it,get_bang("")); continue;
            } fields = get_bang(get_property("lastBangPotion"+it)); break;

It will no longer try to ID unknown bang potions, but at least it won't crash.
 
Just upgraded to SS 3.8 and am getting the following:


PHP:
Validating adventure sequence...

Unknown variable 'page' (SmartStasis.ash, line 114)
Consult script 'SmartStasis.ash' not found.
You're on your own, partner.
Click here to continue in the relay browser.

edit:

I needed to also upgrade BatBrain. I managed to miss that message in the CLI somehow. All is well.
 
I might just be thick, but SS is casting noodles on gremlins... It's not supposed to doing that right? My CCS is simply:

[ gremlin ]
consult SmartStasis.ash

I don't have mafia set to cast noodles as a special action either. SS also seems to think it's a good idea to olfact gremlins, is that also really supposed to be intended behaviour? Am I just being stupid?
 
Lasagna bandages are doing me more harm than good with this script.. Is there any way I can fix this?

Request 14 of 37 (Beanstalk: Fantasy Airship) in progress...

[490] Fantasy Airship
Encounter: Protagonist
Strategy: /Users/Sander/Library/Application Support/KoLmafia/ccs/standard.ccs [default]
Round 0: bsander loses initiative!
You lose 28 hit points
Run SmartStasis! (97 profit to stasis with Lasagna Bandages -- good enough)
Round 1: bsander executes a macro!
Round 1: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
You lose 28 hit points
Round 2: bsander executes a macro!
Round 2: bsander casts LASAGNA BANDAGES!
You gain 12 hit points
You lose 28 hit points
Round 3: bsander executes a macro!
Round 3: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
Round 4: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 4: bsander executes a macro!
Round 4: bsander casts LASAGNA BANDAGES!
You gain 15 hit points
You lose 28 hit points
Round 5: bsander executes a macro!
Round 5: bsander casts LASAGNA BANDAGES!
You gain 15 hit points
Round 6: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 6: bsander executes a macro!
Round 6: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
Round 7: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 7: bsander executes a macro!
Round 7: bsander casts LASAGNA BANDAGES!
You gain 14 hit points
Round 8: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 8: bsander executes a macro!
Round 8: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
You lose 27 hit points
Round 9: bsander executes a macro!
Round 9: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
Round 10: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 10: bsander executes a macro!
Round 10: bsander casts LASAGNA BANDAGES!
You gain 18 hit points
You lose 27 hit points
Round 11: bsander executes a macro!
Round 11: bsander casts LASAGNA BANDAGES!
You gain 12 hit points
You lose 27 hit points
Round 12: bsander executes a macro!
Round 12: bsander casts LASAGNA BANDAGES!
You gain 32 hit points
You lose 26 hit points
Round 13: bsander executes a macro!
Round 13: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
Round 14: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 14: bsander executes a macro!
Round 14: bsander casts LASAGNA BANDAGES!
You gain 16 hit points
Round 15: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 15: bsander executes a macro!
Round 15: bsander casts LASAGNA BANDAGES!
You gain 17 hit points
Round 16: bsander executes a macro!
Round 16: bsander casts LASAGNA BANDAGES!
You gain 19 hit points
You lose 27 hit points
Round 17: bsander executes a macro!
Round 17: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
You lose 27 hit points
Round 18: bsander executes a macro!
Round 18: bsander casts LASAGNA BANDAGES!
You gain 19 hit points
You lose 26 hit points
Round 19: bsander executes a macro!
Round 19: bsander casts LASAGNA BANDAGES!
You gain 22 hit points
You lose 28 hit points
Round 20: bsander executes a macro!
Round 20: bsander casts LASAGNA BANDAGES!
You gain 14 hit points
Round 21: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 21: bsander executes a macro!
Round 21: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
Round 22: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 22: bsander executes a macro!
Round 22: bsander casts LASAGNA BANDAGES!
You gain 15 hit points
Round 23: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 23: bsander executes a macro!
Round 23: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
You lose 25 hit points
Round 24: bsander attacks!
Round 25: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 25: bsander attacks!
Round 26: protagonist takes 4 damage.
Round 26: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Round 26: bsander attacks!
Round 27: protagonist takes 3 damage.
You lose 27 hit points
Round 27: bsander attacks!
Round 28: protagonist takes 2 damage.
You lose 26 hit points
Round 28: bsander attacks!
Round 29: protagonist takes 3 damage.
You lose 25 hit points
Round 29: bsander attacks!
You lose 1 hit point
You lose 26 hit points
You acquire an effect: Temporary Amnesia (duration: 5 Adventures)

Insufficient health to continue (auto-abort triggered).
 
Setting your verbosity to 9 or so and having it happen again so that the macro can be analysed. Without that it is hard to say anything.
 
The baffling number there is that Lasagna Bandages was seen as having a profit of 97, despite using an Untamed Turtle (0 profit). Ordinarily I'd say that means your meatperhp number was off, but in this case the damage from the monster was clearly outweighing it. But again, without seeing a higher verbosity combat (I recommend 8 or 9 for posting in this thread) I can't really figure out what's going on here.

Within the next two minutes I'll update SS to always pickpocket/Rave Steal in the Lolly/Fudge zones.
 
Okay I have one recorded with verbosity 9 now. It's not as drastic as the previous one but SmartStasis is still spending several turns casting Lasagna Bandages while consistently losing 10+ HP per round..

Request 3 of 20 (Beanstalk: Fantasy Airship) in progress...

[532] Fantasy Airship
Encounter: Burly Sidekick
Strategy: /Users/Sander/Library/Application Support/KoLmafia/ccs/standard.ccs [default]
Round 0: bsander loses initiative!
You lose 28 hit points
Running ZLib version: r33 (current)
1 MP costs 5μ. ( 222 / 258 )
1 HP costs 10μ. ( 106 / 134 )
armgun (9.0 @ +40.0): 300μ * 12.6% = 37.8
cocoa eggshell fragment (30.0 @ +40.0): 114μ * 42.0% = 47.88
Mohawk wig (10.0 @ +40.0): 155μ * 14.0% = 21.7
tiny house (30.0 @ +40.0): 107μ * 42.0% = 44.94
Value of stat gain: 263.9μ
Running BatBrain version: 1.15 (current)
Profit per round: ActionProfitDamageOtherbase; Untamed Turtle (0μ)0μ--66% stun chance
Running SmartStasis version: 3.9 (current)
Running Destroy All Monsters version: 0.3.2.0 (current)
Parsed round number: 1
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Run SmartStasis! (101 profit to stasis with Lasagna Bandages -- good enough)
armgun (9.0 @ +40.0): 300μ * 12.6% = 37.8
cocoa eggshell fragment (30.0 @ +40.0): 114μ * 42.0% = 47.88
Mohawk wig (10.0 @ +40.0): 155μ * 14.0% = 21.7
tiny house (30.0 @ +40.0): 107μ * 42.0% = 44.94
Value of stat gain: 263.9μ
Monster: Burly Sidekick, ATT: 108, DEF: 98, HP: 108, Value: 546.22
You will die in 13 rounds.
Your attack will kill the monster in 28 rounds.
Building custom actions...
Custom actions built! (0 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 106.0 && hpbelow 134 && !mpbelow 222.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 1: bsander executes a macro!
Round 1: bsander casts LASAGNA BANDAGES!
You gain 19 hit points
You lose 28 hit points
Happened: skill 3009
Parsed round number: 2
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 97.0 && hpbelow 134 && !mpbelow 216.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 2: bsander executes a macro!
Round 2: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
Round 3: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 3
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 107.0 && hpbelow 134 && !mpbelow 210.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 3: bsander executes a macro!
Round 3: bsander casts LASAGNA BANDAGES!
You gain 12 hit points
You lose 27 hit points
Happened: skill 3009
Parsed round number: 4
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 92.0 && hpbelow 134 && !mpbelow 204.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 4: bsander executes a macro!
Round 4: bsander casts LASAGNA BANDAGES!
You gain 18 hit points
Round 5: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 5
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 110.0 && hpbelow 134 && !mpbelow 198.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 5: bsander executes a macro!
Round 5: bsander casts LASAGNA BANDAGES!
You gain 15 hit points
You lose 26 hit points
Happened: skill 3009
Parsed round number: 6
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 99.0 && hpbelow 134 && !mpbelow 192.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 6: bsander executes a macro!
Round 6: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
Round 7: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 7
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 109.0 && hpbelow 134 && !mpbelow 186.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 7: bsander executes a macro!
Round 7: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
Round 8: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 8
Building options...
Options built! (24 actions)
Stasis action chosen: skill 3009
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (24 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 120.0 && hpbelow 134 && !mpbelow 180.0 && !pastround 7); if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 8: bsander executes a macro!
Round 8: bsander casts LASAGNA BANDAGES!
You gain 16 hit points
Round 9: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 9
Building options...
Options built! (24 actions)
Stasis action chosen: attack
Attack action chosen: skill 7116
This monster is not your huckleberry.
Stasis loop complete.
Queued: skill 3004
Building options...
Options built! (23 actions)
SmartStasis complete.
DestroyAllMonsters starts now! (0mp option Feed -- killrounds: 3, dierounds: 20)
Queued: skill 7116
Building options...
Options built! (22 actions)
Queued: skill 3003
Building options...
Options built! (22 actions)
skill 3004; call batround;
skill 7116; call batround;
skill 3003; call batround; if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; skill 3004; call batround; skill 7116; call batround; skill 3003; call batround; if hpbelow 28; abort "BatBrain abort: Danger, Will Robinson"; endif;
Round 9: bsander executes a macro!
Round 9: bsander casts ENTANGLING NOODLES!
Round 10: bsander casts FEED!
Round 11: burly sidekick takes 42 damage.
You gain 21 hit points
You gain 21 Mana Points
Round 11: bsander casts RAVIOLI SHURIKENS!
Round 12: burly sidekick takes 69 damage.
Round 12: bsander wins the fight!
You gain 135 Meat
After Battle: You look at the smiley-face sticker plastered on Grort's shell and chuckle briefly. Grort does not appreciably react.
You gain 13 Strongness
You gain 17 Enchantedness
You gain 3 Chutzpah
 
Within the next two minutes I'll update SS to always pickpocket/Rave Steal in the Lolly/Fudge zones.

I don't think you can rave steal anythign (yet at least) from the fudgies, at least my multi totally faield to do so yesterday when I tested it out.
 
Man. This lasagna bandages thing is really wearing me out. Is there any way I can blacklist it or something so that SS just doesn't use it?

Code:
Request 34 of 38 (IsleWar: Wartime Sonofa Beach) in progress...

[917] Wartime Sonofa Beach
Encounter: lobsterfrogman
Strategy: /Users/Sander/Library/Application Support/KoLmafia/ccs/standard.ccs [default]
Round 0: bsander wins initiative!
Running ZLib version: r33 (current)
1 MP costs 4.348μ. ( 135 / 310 )
1 HP costs 10μ. ( 170 / 233 )
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Running BatBrain version: 1.15 (current)
Profit per round: ActionProfitDamageOtherbase; Untamed Turtle (0μ)0μ--75% stun chance
New Version of SmartStasis Available: 3.10
Upgrade from 3.9 to 3.10 here!

Running Destroy All Monsters version: 0.3.2.0 (current)
Parsed round number: 1
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
Run SmartStasis! (108 profit to stasis with Lasagna Bandages -- good enough)
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Monster: Lobsterfrogman, ATT: 179, DEF: 160, HP: 198, Value: 547.21
You will die in 17 rounds.
Your attack will kill the monster in 89 rounds.
Building custom actions...
Custom actions built! (0 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 170.0 && hpbelow 233 && !mpbelow 135.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 1: bsander executes a macro!
Round 1: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 2
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 139.0 && hpbelow 233 && !mpbelow 129.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 2: bsander executes a macro!
Round 2: bsander casts LASAGNA BANDAGES!
You gain 12 hit points
Round 3: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 3
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 151.0 && hpbelow 233 && !mpbelow 123.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 3: bsander executes a macro!
Round 3: bsander casts LASAGNA BANDAGES!
You gain 14 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 4
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 124.0 && hpbelow 233 && !mpbelow 117.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 4: bsander executes a macro!
Round 4: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 5
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 93.0 && hpbelow 233 && !mpbelow 111.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 5: bsander executes a macro!
Round 5: bsander casts LASAGNA BANDAGES!
You gain 15 hit points
Round 6: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 6
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 108.0 && hpbelow 233 && !mpbelow 105.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 6: bsander executes a macro!
Round 6: bsander casts LASAGNA BANDAGES!
You gain 16 hit points
Round 7: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 7
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 124.0 && hpbelow 233 && !mpbelow 99.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 7: bsander executes a macro!
Round 7: bsander casts LASAGNA BANDAGES!
You gain 20 hit points
You lose 43 hit points
Happened: skill 3009
Parsed round number: 8
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 101.0 && hpbelow 233 && !mpbelow 93.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 8: bsander executes a macro!
Round 8: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
You lose 43 hit points
Happened: skill 3009
Parsed round number: 9
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 69.0 && hpbelow 233 && !mpbelow 87.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 9: bsander executes a macro!
Round 9: bsander casts LASAGNA BANDAGES!
You gain 18 hit points
Round 10: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 10
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 87.0 && hpbelow 233 && !mpbelow 81.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 10: bsander executes a macro!
Round 10: bsander casts LASAGNA BANDAGES!
You gain 34 hit points
Round 11: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 11
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 121.0 && hpbelow 233 && !mpbelow 75.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 11: bsander executes a macro!
Round 11: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 12
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 90.0 && hpbelow 233 && !mpbelow 69.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 12: bsander executes a macro!
Round 12: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
You lose 43 hit points
Happened: skill 3009
Parsed round number: 13
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 57.0 && hpbelow 233 && !mpbelow 63.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 13: bsander executes a macro!
Round 13: bsander casts LASAGNA BANDAGES!
You gain 20 hit points
Round 14: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 14
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 77.0 && hpbelow 233 && !mpbelow 57.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 14: bsander executes a macro!
Round 14: bsander casts LASAGNA BANDAGES!
You gain 20 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 15
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 56.0 && hpbelow 233 && !mpbelow 51.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 15: bsander executes a macro!
Round 15: bsander casts LASAGNA BANDAGES!
You gain 11 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 16
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 26.0 && hpbelow 233 && !mpbelow 45.0 && !pastround 17); if hpbelow 42; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 16: bsander executes a macro!
Round 16: bsander casts LASAGNA BANDAGES!
You gain 10 hit points
Round 17: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 17
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 36.0 && hpbelow 233 && !mpbelow 39.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 17: bsander executes a macro!
Round 17: bsander casts LASAGNA BANDAGES!
You gain 14 hit points
Round 18: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 18
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (33 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 50.0 && hpbelow 233 && !mpbelow 33.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 18: bsander executes a macro!
Round 18: bsander casts LASAGNA BANDAGES!
You gain 17 hit points
Round 19: Your opponent moves to attack you, but trips over Grort and falls on their face (or face-analogue). Grort briefly peeks out of his shell, then withdraws again.
Happened: skill 3009
Parsed round number: 19
Building options...
Options built! (33 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (32 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 67.0 && hpbelow 233 && !mpbelow 27.0 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 19: bsander executes a macro!
Round 19: bsander casts LASAGNA BANDAGES!
You gain 18 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 20
Building options...
Options built! (32 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (32 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 44.0 && hpbelow 233 && !mpbelow 21.0 && mpbelow 24 && !pastround 17); if hpbelow 45; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 20: bsander executes a macro!
Round 20: bsander casts LASAGNA BANDAGES!
You gain 14 hit points
You lose 41 hit points
Happened: skill 3009
Parsed round number: 21
Building options...
Options built! (32 actions)
Stasis action chosen: skill 3009
barrel of gunpowder (100.0 @ +45.0): 50μ * 100.0% = 50.0
Value of stat gain: 419.21μ
Attack action chosen: skill 7116
Top of the stasis loop.
Queued: skill 3009
Building options...
Options built! (31 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3009; call batround; endsub; call batsub1; repeat hasskill 3009 && (!hpbelow 17.0 && hpbelow 233 && !mpbelow 15.0 && mpbelow 24 && !pastround 17); if hpbelow 34; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 21: bsander executes a macro!
Round 21: bsander casts LASAGNA BANDAGES!
You gain 24 hit points
You lose 42 hit points
Happened: skill 3009
Parsed round number: 0
Building options...
Options built! (31 actions)
Stasis action chosen: skill 7116
Stasis loop complete.
SmartStasis complete.

Insufficient health to continue (auto-abort triggered).
 
I ruled out some possibilities:

DAM uses to_profit() properly to call stasis, so the problem is not DAM.

I'm doing a Pastamancer run at the moment -- playing it as a proper myst class and using it to tweak attack_action() -- and my combat script, which also uses SS, has been using Lasagna Bandages at appropriate times. So the problem is not the Lasagna Bandages formula.

I am using Bale's UR for recovery, which sets my meatperhp/meatpermp values more accurately than BB's default values. If you're not using UR, using it may help slightly with this problem. However, the HP gain from Bandages is being outweighed by the HP loss from the monster, so the actual value of HP is just a side issue.

So, reviewing these combats again, I suspect either the formula is off for the Untamed Turtle or you were just the victim of RNG swing in a script that uses averages. The monster was dealing over 40 damage, and Bandages heals 16. Since BB thought the monster was blocked 75% of the time, that means that in an average round Bandaging, you take 10 damage and gain 16, for a net profit of 6 HP. Why 6 HP would be worth over 100 is mysterious, but still just a side effect. In both of your posted examples, your buddy Grort blocked significantly fewer of the monster's attacks than BB thought it would, and ended up getting you killed. This could just be RNG swing, or it could be an inaccurate formula. Either way, something should be changed. Perhaps I'll try some kind of potato for my next 100% run to see if I can iron this out.

Another possibility is that somehow the calculation for the monster's damage was off. I'll add further debug lines which show BB's assessment of expected monster damage, so we can hopefully isolate this problem to its source.

In the meantime, if you'd like to make BB ignore that skill, you could remove the line from batfactors.txt.
 
Back
Top