Spam attack and save servers

Yeah... when I ran BM pasta, I ran it as a moxie plinker. Slow, but at least it didn't make me depressed in an extra-tragic way.
 
SpamAttack is getting stuck fighting a beefy bodyguard bat in a bees hate you run, here's the output with verbosity set to 10. I included the smart stasis output incase it's relevant.

I'm on r9466.

Code:
[20] Boss Bat's Lair
Encounter: beefy bodyguard bat
Strategy: C:\Users\jkirchoff\Documents\My Dropbox\kolmafia\ccs\ascension.ccs [default]
Round 0: Epicgamer wins initiative!
You lose 17 hit points
1 MP costs 17.0μ.
1 HP costs 4.4884486μ.
Value of stat gain: 412.5μ
Value of stat gain: 412.5μ
Monster: Beefy Bodyguard Bat, ATT: 70, DEF: 62, HP: 68, Value: 800
Profit per round: ActionProfitDamageOtherbase; Mini-Hipster (10.15μ)88.37μ0 (16.45) (16.45) Actual: 32.9 (-0.31 μ/dmg)Att: -0.35 (-0.16 DPR) Def: -0.35 HP: 3.64 MP: 3.64
Building options...
Evaluating 'zone(sea)*floor(min(800,18.0)/4)'...
Evaluating 'min(20.0+3,10)+floor(sqrt(max(20.0-7,0)))'...
Evaluating '325.5*zone(sea)'...
Evaluating '1.0*(5.5+min(0.07*16.0,15)+min(4.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(4.0,5)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40))'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(3.5+min(0.1*16.0,10)+min(4.0+0.0,10))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(22+min(0.3*16.0,30)+min(4.0+0.0,25))'...
Evaluating '1.0*(2.5+min(4.0+0.0,5))'...
Evaluating '(1+0.5*0.0)*1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Options built! (50 actions)
You will die in 7 rounds.
Your attack will kill the monster in 2 rounds.
Building custom actions...
Custom actions built! (0 actions)
Executing macro: scrollwhendone; sub batround; if haseffect 436 || haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; skill 5005; skill 5008; call batround; if hpbelow 18; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 1: Epicgamer executes a macro!
Round 1: Epicgamer casts DISCO DANCE OF DOOM!
Round 2: beefy bodyguard bat takes 8 damage.
Round 2: beefy bodyguard bat drops 5 attack power.
Round 2: beefy bodyguard bat drops 5 defense.
You lose 14 hit points
Round 2: Epicgamer casts DISCO DANCE II: ELECTRIC BOOGALOO!
Round 3: beefy bodyguard bat takes 8 damage.
You acquire an effect: Disco Nirvana (duration: 1 Adventure)
Round 3: beefy bodyguard bat drops 7 attack power.
Round 3: beefy bodyguard bat drops 7 defense.
You lose 11 hit points
Building options...
Evaluating 'zone(sea)*floor(min(800,18.0)/4)'...
Evaluating 'min(20.0+3,10)+floor(sqrt(max(20.0-7,0)))'...
Evaluating '325.5*zone(sea)'...
Evaluating '1.0*(5.5+min(0.07*16.0,15)+min(4.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(4.0,5)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40))'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(3.5+min(0.1*16.0,10)+min(4.0+0.0,10))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(22+min(0.3*16.0,30)+min(4.0+0.0,25))'...
Evaluating '1.0*(2.5+min(4.0+0.0,5))'...
Evaluating '(1+0.5*0.0)*1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Options built! (50 actions)
Stasis action chosen: skill 7061
Top of the stasis loop.
Stasis action chosen: skill 7061
Stasis action chosen: skill 7061
Executing macro: scrollwhendone; sub batround; if haseffect 436 || haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 7061; call batround; endsub; call batsub1; repeat !hpbelow 104.0 && hpbelow 105.0 && !mpbelow 48.0 && mpbelow 49.0 && !pastround 28; if hpbelow 18; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 3: Epicgamer executes a macro!
Round 3: Epicgamer casts SPRING RAINDROP ATTACK!
You gain 19 hit points
You gain 23 Mojo Points
Round 4: Converse hops on your back for an ironic piggy-back ride. You feel a little stronger after hauling all of that irony around.
You gain 3 Strengthliness
You lose 11 hit points
Building options...
Evaluating 'zone(sea)*floor(min(800,18.0)/4)'...
Evaluating 'min(20.0+3,10)+floor(sqrt(max(20.0-7,0)))'...
Evaluating '325.5*zone(sea)'...
Evaluating '1.0*(5.5+min(0.07*16.0,15)+min(4.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(4.0,5)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40))'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(3.5+min(0.1*16.0,10)+min(4.0+0.0,10))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(22+min(0.3*16.0,30)+min(4.0+0.0,25))'...
Evaluating '1.0*(2.5+min(4.0+0.0,5))'...
Evaluating '(1+0.5*0.0)*1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Options built! (46 actions)
Stasis action chosen: skill 3004
Top of the stasis loop.
Stasis action chosen: skill 3004
Stasis action chosen: skill 3004
Executing macro: scrollwhendone; sub batround; if haseffect 436 || haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; sub batsub1; skill 3004; call batround; endsub; call batsub1; repeat !hpbelow 112.0 && hpbelow 113.0 && !mpbelow 71.0 && mpbelow 72.0 && !pastround 28; 
Round 4: Epicgamer executes a macro!
Round 4: Epicgamer casts ENTANGLING NOODLES!
Building options...
Evaluating 'zone(sea)*floor(min(800,18.0)/4)'...
Evaluating 'min(20.0+3,10)+floor(sqrt(max(20.0-7,0)))'...
Evaluating '325.5*zone(sea)'...
Evaluating '1.0*(5.5+min(0.07*16.0,15)+min(4.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(4.0,5)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40))'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(3.5+min(0.1*16.0,10)+min(4.0+0.0,10))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(22+min(0.3*16.0,30)+min(4.0+0.0,25))'...
Evaluating '1.0*(2.5+min(4.0+0.0,5))'...
Evaluating '(1+0.5*0.0)*1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Options built! (45 actions)
Stasis action chosen: skill 4014
This monster is not your huckleberry.
Stasis loop complete.
SmartStasis complete.
1 MP costs 17.0μ.
1 HP costs 4.4884486μ.
Value of stat gain: 412.5μ
SpamAttack: You are fighting a Beefy Bodyguard Bat. Mafia considers that this monster has an attack of 58 or 70 when given a monster name.
SpamAttack: Mafia further considers that this monster has a defense value of 50 or 62 when given a monster name.
SpamAttack: Mafia further further considers that this monster has a HP value of 52 or 68 when given a monster name.
SpamAttack: Your current ML-adjustment is: 18.
Building options...
Evaluating 'zone(sea)*floor(min(800,18.0)/4)'...
Evaluating 'min(20.0+3,10)+floor(sqrt(max(20.0-7,0)))'...
Evaluating '325.5*zone(sea)'...
Evaluating '1.0*(5.5+min(0.07*16.0,15)+min(4.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(4.0,5)+0.0)'...
Evaluating '1.0*(12+min(0.15*16.0,20)+min(4.0,40))'...
Evaluating '1.0*(28+min(0.25*16.0,30)+min(4.0,60)+0.0)'...
Evaluating '1.0*(3.5+min(0.1*16.0,10)+min(4.0+0.0,10))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(22+min(0.3*16.0,30)+min(4.0+0.0,25))'...
Evaluating '1.0*(2.5+min(4.0+0.0,5))'...
Evaluating '(1+0.5*0.0)*1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Evaluating '1.0*(16+min(0.2*16.0,25)+min(4.0+0.0,15))'...
Options built! (45 actions)
SpamAttack: Monster HP is 52.0.
SpamAttack: You will kill the monster in 2 rounds with your basic attack.
SpamAttack: The monster will take 8 rounds to kill you.
Edit: Also got stuck on the boss bat, but killed a mumblebee with no issue. Next it killed a Harem Girl, then got stuck on a Harem Guard.
 
Last edited:
Spamattack isn't choosing skills/attacks well for some reason. This is for a Disco Bandit in a Bees Hate You run. I have Shieldbutt HC permed and I do have a shield equipped. The problem is that the equipped weapon is a ranged weapon and spamattack is choosing Shieldbutt when another Cannelloni Cannon would have done the trick.

This is with KOLMafia r9601.

I'm using the version of spamattack that Theraze posted in post #23 of this topic. Any thoughts? Here is the output with zlib verbosity set to 8.

Code:
[1040] Black Forest
Encounter: blackberry bush
Round 0: Arbos wins initiative!
1 MP costs 17.0μ.
1 HP costs 5.093633μ.
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
Value of stat gain: 745.94μ
Profit per round: ActionProfitDamageOtherbase; Levitating Potato (0μ)0μ--45% stun chance
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
Value of stat gain: 745.94μ
Monster: Blackberry Bush, ATT: 217, DEF: 198, HP: 233, Value: 791.61
You will die in 4 rounds.
Your attack will kill the monster in 62 rounds.
Stasis action chosen: skill 3004
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; 
Round 1: Arbos executes a macro!
Round 1: Arbos casts ENTANGLING NOODLES!
1 MP costs 17.0μ.
1 HP costs 5.093633μ.
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
blackberry (15.0 @ +45.0): 70μ * 21.75% = 15.225
Value of stat gain: 745.94μ
SpamAttack: Monster HP is 233.0.
SpamAttack: You won't kill the monster before 30 rounds with your basic attack.
SpamAttack: The monster will take 4 rounds to kill you.
SpamAttack: The data suggests that we five-shot the monster.
SpamAttack: We are going to 5-shot with Cannelloni Cannon, Cannelloni Cannon, Cannelloni Cannon, Cannelloni Cannon and Shieldbutt.
Executing macro: scrollwhendone; sub batround; if haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; endsub; skill 3005; call batround; if hpbelow 51; abort "BatBrain abort: Danger, Will Robinson"; endif; skill 3005; call batround; if hpbelow 51; abort "BatBrain abort: Danger, Will Robinson"; endif; skill 3005; call batround; if hpbelow 51; abort "BatBrain abort: Danger, Will Robinson"; endif; skill 3005; call batround; if hpbelow 51; abort "BatBrain abort: Danger, Will Robinson"; endif; skill 2005; call batround; if hpbelow 48; abort "BatBrain abort: Danger, Will Robinson"; endif; 
Round 2: Arbos executes a macro!
Round 2: Arbos casts CANNELLONI CANNON!
Round 3: blackberry bush takes 47 damage.
Round 3: Arbos casts CANNELLONI CANNON!
Round 4: blackberry bush takes 44 damage.
Round 4: Oswald entangles your opponent with powerful vines, preventing it from attacking you.
Round 4: Arbos casts CANNELLONI CANNON!
Round 5: blackberry bush takes 50 damage.
Round 5: Arbos casts CANNELLONI CANNON!
Round 6: blackberry bush takes 47 damage.
Round 6: Oswald entangles your opponent with powerful vines, preventing it from attacking you.
This skill is useless with ranged weapons.
You're on your own, partner.
Click here to continue in the relay browser.
Round 7: Arbos attacks!
KoLmafia thinks it is round 8 but KoL thinks it is round 7
Round 8: Oswald entangles your opponent with powerful vines, preventing it from attacking you.
Round 8: Arbos casts CANNELLONI CANNON!
KoLmafia thinks it is round 9 but KoL thinks it is round 8
Round 9: blackberry bush takes 51 damage.
Round 9: Arbos wins the fight!
You gain 10 Beefiness
You gain 2 Mysteriousness
You gain 24 Sarcasm
You gain a Moxie point!
 
Not sure why you'd prefer the one from 23 over 28, but... eh. :)

Skills being available when they won't actually do damage is actually a BatBrain issue that zarqon is currently working on. Though I believe the one he was specifically looking at was LTS with ranged weapons instead of Shieldbutt, the same problem remains... KoL presents it as an option, so mafia presents it as an option, so BatBrain parses it as a valid option. It should work once BB gets its next update, probably. :)

Anyways, here's a modified form of the post 28 spamattack... this one has the same variable round ability, but will set its round count back if it doesn't manage to find a successful round. That means if you end up fighting a king bee with 0 mp and no restoratives, it won't leave you stuck with 10 maxround when it aborts to let you flee for your life, thereby making every fight where you actually do have mp take a VERY long time to process...
 

Attachments

Dislike double-posting, but... sometimes changes warrant it. Anyways, found a bug in my #44 spamattack... it considers anything above 1 round to have an extra automatic damage... so a 2-shot will have 3 rounds of your familiar and gear doing damage, a 5-shot will have 6 rounds of protection, etc. This means that it was overly optimistic on your chances on all sorts of things...

Attached is my more paranoid knee-jerk response... I was going to make this version anyways, then realized the bug that was part of the issue. The attached version doesn't consider familiar or other non-retaliatory damage as worth considering for protection. This means it's likely to overkill currently, but if it considers a kill as possible, it should always work. Barring missing on a muscle skill or something similar.

Prefer it to still consider familiar damage? Go to where the # on the rounds are, remove the # (just the symbol) and the line after it, which is exactly the same as the # line except missing the "+ dmg_dealt(baseround().dmg" at the end...
 

Attachments

Triple posting! But hey, it's been a month and a half, so it's probably okay. Anyways, newest version of my spamattack included here. I rescinded my knee-jerk response but am still somewhat annoyed by the damage prediction. Eh, so it goes. Anyways, the base problem is that it does all the calculation in the script itself... it calls dmg_dealt and those, but does it on each individual skill, so delevelling and stuns and those aren't properly considered. Believe that Winterbay was having the same problem. Ah well.

Anyways, this version does better at properly setting the spamattack_rounds back if it fails to find the proper amount. If you abort out of combat, it still leaves it confused, but otherwise it should be able to have you set rounds down to 2 or 3 as your preference and if it can't find a way to do it, should raise it up... to 10, if need be, and then drop it back to whatever you prefer. I'll probably be looking at this code again to try to make it not screw up the setting if you decide you don't want it to think through how to kill powerful enemies in 10 rounds using lots of skills... that takes a while.

The biggest problem I've found is that it's horrible about predicting damage based on type. Elemental damage types appears to be ignored... it'll try to use fearful fet on spooky monsters, etc. There's probably some way to make this work, but I'd have thought that dmg_dealt should be against the current mob. Anyways, not sure... best/easiest way is probably to generate a full enqueue stack as it goes, but... I haven't looked yet into how to do that properly. :)
 

Attachments

Hmmmm. Here I am in my first Kittycore Bad Moon Run. I alternate between running turns by hand (due to item usage and general fiddly-ness) and letting Mafia do its thing. Earlier today, I update to SS 3.6 but only just tried some automated turns in the F'c'le and got:
[915] F'c'le
Encounter: cleanly pirate
Strategy: C:\Documents and Settings\marvitp\Desktop\Dropbox\KoLMafia-Otto\ccs\Smart_DB_BM.ccs [pirate]
Round 0: tragus wins initiative!
Round 0: tragus tries to steal an item! (auto-attack)
SpamAttack: Monster HP is 90.0.
Macro called on empty queue!
SpamAttack: We would die in 20 and have 0 0 0 0 0 0 0 0 0 0 as our options
SpamAttack: Unable to figure out a combat strategy, please fight the battle yourself
You're on your own, partner.

My css is really simple:
[ default ]
consult SmartStasis.ash
consult spamattack.ash

[ pirate ]
consult SmartStasis.ash
consult spamattack.ash

Note that I'm able to kill the pirates by hand in 4-7 rounds. Am I doing something wrong? Well, at first, I thought the problem was with SS, but it turns out to be some issues with spamattack.ash. For now, I've put it out of commission, and will try to look into the script a bit later.
 
SpamAttack is semi-stupid in that it doesn't know about different elements, moxious maneuver for alternate to-hit, etc. DAM does a better job with that sort of stuff.
 
DAM does a better job because it relies more on BatBrain so I don't even have to write code for those things. BatBrain proves that bats are more intelligent than I am.
 
1) I'm glad to see that that is not my version :)
2) SpamAttack does know about MM and other such things. Mine at least uses it. Also, I've never had any problem with things of different elements being attacked by the wrong element, even though I know it happens.
3) My local copy is set to attack by hand if you can kill it before the fight runs out of rounds, it can't kill you before you can kill it and you have at least a 50% chance of hitting it. That last number can be tweaked to fit the current play style.
 
2) Oh, it uses it... but if it's the only way for it to hit them, it tends to not consider it. You can test that by doing some major moxie maximization... I've done >200 moxie <40 muscle in one of my few SC runs. SA, at least mine, doesn't think that MM will work in time if you have a melee weapon equipped, even when it easily one-hits the target.
3) Mine has the same bit, also defaulted to 50% I believe. Since it didn't mention it, and we got to the skill calculation phase, apparently it doesn't believe that 15-20 regular attacks will kill the pirates.
 
2) Oh, it uses it... but if it's the only way for it to hit them, it tends to not consider it. You can test that by doing some major moxie maximization... I've done >200 moxie <40 muscle in one of my few SC runs. SA, at least mine, doesn't think that MM will work in time if you have a melee weapon equipped, even when it easily one-hits the target.
3) Mine has the same bit, also defaulted to 50% I believe. Since it didn't mention it, and we got to the skill calculation phase, apparently it doesn't believe that 15-20 regular attacks will kill the pirates.

2) Oh. Hmm. Odd. I mean there's really no change to it in that case is there? If it discards the use in that case I feel that may be a BatBrain bug. The problem is of course the MM costs MP and if you're low on that then enqueueing 5 MMs won't work anyway.
3) Which is interesting since tragus specifically states that he can kill it with 4-7 attacks. My guess is that his hitchance is lower than 50% which means it skipped that part.
 
2) DAM knows about that because it actually enqueues the actions instead of just speculating about the raw data on them.
3) He didn't say 4-7 attack with weapons, he said "able to kill the pirates by hand in 4-7 rounds" which to me, suggests he's doing actual commands to them. Lending credence to my belief that it's a thing about SA not knowing complex combat strategy.
 
2) I've been trying to get mine to do that as well, but always fail on trying to revert the queue one step back in order to try another permutation. I noticed that Bale had a potential solution to that in DAM so may look at that some more and try and implement it when I have more time.
3) True :) I shoul dnot read things into things that aren't explicitly stated in the things I guess...
 
To clarify, "able to kill the pirates by hand in 4-7 rounds" meant "able to kill pirate by pressing 'attack' while yielding a ranged weapon for 4 to 7 times" AND/OR "letting Kolmafia unconditionally use 'attack with weapon' in a CSS for 4 to 7 rounds".

I've obviously not been following the Mafia fora well recently. What is DAM and where can I find more information?
 
Post 385 in the BatBrain thread has the Destroy All Monsters script, as well as an updated batfactors and a semi-updated (great for use with itself, not so good if you were following other updates) BatBrain. Most of the updates are in there, but it's missing the one that says certain commands don't work with a ranged weapon, so SmartStasis might decide that LTS is the best stasis command for you or something else similarly bizarre. Anyways, DAM is way more awesome than (my version of) SpamAttack.

Huh... just did 4-7 moxie weapon attack rounds? Weird... wonder why kill_rounds and die_rounds weren't being accurate. Anyways, DAM does a better job.
 
Post 385 in the BatBrain thread has the Destroy All Monsters script, as well as an updated batfactors and a semi-updated (great for use with itself, not so good if you were following other updates) BatBrain. Most of the updates are in there, but it's missing the one that says certain commands don't work with a ranged weapon, so SmartStasis might decide that LTS is the best stasis command for you or something else similarly bizarre. Anyways, DAM is way more awesome than (my version of) SpamAttack.

Huh... just did 4-7 moxie weapon attack rounds? Weird... wonder why kill_rounds and die_rounds weren't being accurate. Anyways, DAM does a better job.

Just updated batfactors in that post to use more accurate formulas for Fistcore skills
 
So, the recent change to BatBrain breaks the Spamattack-versions posted in this thread so here is my current iteration in case anyone is still interested. It comes with a big freaking warning not to run it while out of ronin or in aftercore (at least if you've emptied Hangks) since that will make very fight take way too long. If your inventory is devoid of most combat items it will run somewhat smoothly though.
 
Back
Top