BatBrain -- a central nervous system for consult scripts

Winterbay

Active member
No possibly not, but something is making things iffy after noodling (not seen it happen when SS decides to not noodle). Not sure what it is though.
 

Raven434

Member
I set verbosity for 10:

BBB: No need to eat a cookie given the present counters.
You don't have any spooky putty monsters.

Request 10 of 129 (Friars: Dark Elbow of the Woods) in progress...

[132] Dark Elbow of the Woods
Encounter: L imp
Strategy: D:\Games\KoL\Current Builds\Joe_Mama\ccs\Juju.ccs [default]
Round 0: Joe_Mama loses initiative!
You lose 6 hit points
Round 1: l imp takes 10 damage.
You lose 21 hit points
1 MP costs 6.451613μ.
1 HP costs 10.0μ.
Imp Ale (30.0 @ +124.2435): 25μ * 67.27305% = 16.818262
cast (30.0 @ +124.2435): 32μ * 67.27305% = 21.527376
flaming crutch (30.0 @ +124.2435): 143μ * 67.27305% = 96.20046
Value of stat gain: 255μ
Factoring in Scarysauce: (6) damage, retal
Imp Ale (30.0 @ +124.2435): 25μ * 67.27305% = 16.818262
cast (30.0 @ +124.2435): 32μ * 67.27305% = 21.527376
flaming crutch (30.0 @ +124.2435): 143μ * 67.27305% = 96.20046
Value of stat gain: 255μ
Monster value: 431.55
You will die in 2 rounds.
Your attack will kill the monster in 4 rounds.
Profit per round: ActionProfitDamageOtherbase; Dandy Lion; crown (0μ)77.58μ--HP: 5.5 MP: 3.5
Building options...
Evaluating '1.55*(5.5+min(0.07*64.0,15)+min(35.0,25)+3.3333333)'...
Evaluating '1.55*(12+min(0.15*64.0,20)+min(35.0,40)+3.3333333)'...
Evaluating '1.55*(2.5+min(35.0,5)+0.0)'...
Options built! (8 actions)
Building custom actions...
Custom actions built! (0 actions)
Stasis action chosen: skill 3004
Stasis loop complete.
Unable to enqueue empty action.
Executing macro: scrollwhendone; sub batround; if haseffect 436 || haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; if hpbelow 21; abort "BatBrain abort: Danger, Will Robinson"; endif; endsub; skill 3004; call batround;
Round 1: Joe_Mama executes a macro!
Round 1: Joe_Mama casts ENTANGLING NOODLES!
Round 2: Spuds MacKenzie uses his vines to give you an invigorating head massage. It's not the same as giving you a foot massage, but it's in the same ballpark.
You gain 5 hit points
You gain 4 Mana Points
Round 2: Like the majority of whipholders, you crack your whip. Cleo Leo is startled by the noise and goes feral, clawing your opponent for 26 damage. All fear the kitten with a whip!
Round 2: l imp takes 26 damage.
Building options...
Evaluating '1.55*(5.5+min(0.07*64.0,15)+min(35.0,25)+3.3333333)'...
Evaluating '1.55*(12+min(0.15*64.0,20)+min(35.0,40)+3.3333333)'...
Evaluating '1.55*(2.5+min(35.0,5)+0.0)'...
Options built! (7 actions)
SmartStasis complete.
You're on your own, partner.
Click here to continue in the relay browser.

I finish the combat in a browser window
Round 2: Joe_Mama casts CANNELLONI CANNON!
Round 3: l imp takes 93 damage.
Round 3: Spuds MacKenzie uses his vines to give you an invigorating head massage. It's not the same as giving you a foot massage, but it's in the same ballpark.
You gain 5 hit points
You gain 4 Mana Points
Round 3: Like the majority of whipholders, you crack your whip. Cleo Leo is startled by the noise and goes feral, clawing your opponent for 35 damage. All fear the kitten with a whip!
Round 3: l imp takes 35 damage.
Round 3: Joe_Mama wins the fight!
After Battle: Spuds MacKenzie surveys the scene from atop the throne, and gains 1 Experience.
After Battle: Cleo Leo notices you're bleeding, nearly faints at the sight, then bandages you with a strip torn from his ruffly sleeves.
You gain 24 hit points
After Battle: Cleo Leo touches you with one exquisitely-manicured claw. The built-up static electricity in his wool suit shocks you.
You gain 26 Mana Points
You gain 40 Meat
After Battle: Cleo Leo does a mincing two-step, swinging his tail like a cane. Though it's utterly lacking in vim and verve, you applaud politely.
You acquire an item: Imp Ale
You acquire an item: cast
You gain 8 Strengthliness
You gain 15 Enchantedness
You gain 9 Smarm
Casting Empathy of the Newt 1 times...
You acquire an effect: Empathy (duration: 10 Adventures)
Empathy of the Newt was successfully cast.
Casting Curiosity of Br'er Tarrypin 1 times...
You acquire an effect: Curiosity of Br'er Tarrypin (duration: 10 Adventures)
Curiosity of Br'er Tarrypin was successfully cast.
Casting Jingle Bells 1 times...
You acquire an effect: Jingle Jangle Jingle (duration: 10 Adventures)
Jingle Bells was successfully cast.
 
Last edited:

Raven434

Member
No possibly not, but something is making things iffy after noodling (not seen it happen when SS decides to not noodle). Not sure what it is though.

If I change my juju.ccs to invoke noodles manually, my Dandy Lion can go feral and Mafia does not tell me I am on my own.

[ default ]
skill entangling noodles
consult SmartStasis.ash
special action
skill wrath of the trickster god
skill wrath of the lightning god
skill wrath of the volcano god
skill cannelloni cannon

Hmmmm.....
 
Last edited:

EdFox

Member
This probably has to do with un-stunnable monsters, since BatBrain as yet doesn't know which monsters are immune to multi-round stuns. In all of these cases, was Noodles the last action before SS was finished? I suspect it was, which meant when SS finished mafia saw a KoL error message and aborted.

I can't speak for all cases because the session log doesn't seem to show the on your own partner break but today it was true in all cases.

I'll do my best to develop a list. I don't remember this happening at all before yesterday when I was in the cyrpt but that was using previous versions of SS and BB.
Current list:
Modern Zombie
dirty old lihc
beebee queue
bee swarm
buzzerker
Queen Bee
chatty pirate
moneybee
Larry of the field of signs
carbuncle top
Victor the Insult Comic Hellhound

EDIT: Now this is just annoying. I ran into the bug with a chatty pirate, then shortly thereafter another one went by with no error at all. The only difference is the Spring Raindrop thing. I wish I had noted my MP but these were automated combats.

Bugged:
Code:
[480] F'c'le
Encounter: chatty pirate
Strategy:     C:\Users\Eszetela\Documents\My Dropbox\KoLmafia\.kolmafia\ccs\Final.ccs     [default]
Round 0: edfox loses initiative!
You lose 25 hit points
You     lose 30 hit points
Monster value: 445.28
You     will die in 2 rounds.
Your attack will kill the monster in 1 rounds.
Profit     per round:                             Action                          Profit                          Damage                          Other                                      base; Pet Cheezling (0μ)                          0μ                          --                                                
    1/6 monsters drop goals here.
Round 1: edfox executes a macro!
Round     1: edfox casts ENTANGLING NOODLES!
You're on your     own, partner.
Click     here to continue in the relay browser.

Round 2: edfox executes     a macro!
Round 2: edfox attacks!
Round 3: chatty pirate takes 150     damage.
Round 3: edfox wins the fight!
After Battle: With a plop!,     Cheez Wizz hops onto the corpse of your foe, which begins to smoke and     dissolve in a rather gruesome fashion. After a minute, the cheezling     crawls back up onto your shoulder, burbling happily; it's much warmer than     before, and as the heat spreads through your body, you feel much better.     And kind of creeped out.
You gain 19 hit points
You gain 17     Muscularity Points
After Battle: Cheez Wizz covers one of its jalapeño     "eyes" with a pseudopod, in a sort of rough facsimile of a wink, and     burbles cheerfully at you
You gain 150 Meat
You gain 17 Fortitude
You     gain 7 Wizardliness
You gain 6 Sarcasm
Unbugged:
Code:
[483] F'c'le
Encounter: chatty pirate
Strategy:     C:\Users\Eszetela\Documents\My Dropbox\KoLmafia\.kolmafia\ccs\Final.ccs     [default]
Round 0: edfox loses initiative!
You lose 25 hit points
You     lose 30 hit points
Monster value: 445.28
You     will die in 4 rounds.
Your attack will kill the monster in 1 rounds.
Profit     per round:                             Action                          Profit                          Damage                          Other                                      base; Pet Cheezling (0μ)                          0μ                          --                                                
    1/6 monsters drop goals here.
Round 1: edfox executes a macro!
Round     1: edfox casts SPRING RAINDROP ATTACK!
You gain 25 hit points
You     gain 22 Muscularity Points
You lose 32 hit points
Round 2: edfox     executes a macro!
Round 2: edfox casts ENTANGLING NOODLES!
Round 3:     edfox executes a macro!
Round 3: edfox attacks!
Round 4: chatty     pirate takes 151 damage.
Round 4: edfox wins the fight!
After     Battle: Cheez Wizz covers one of its jalapeño "eyes" with a pseudopod, in     a sort of rough facsimile of a wink, and burbles cheerfully at you
You     gain 145 Meat
You gain 10 Muscleboundness
You gain 8 Mysteriousness
You     gain 11 Smarm
 
Last edited:

roippi

Developer
I'm not sure what I've done here, but downloading fresh copies of Batbrain and SS don't fix the problem. Getting a divide-by-zero error from m_dpr(). Even when I'm below safe moxie. Arg.

Code:
[3813] Giant's Castle
Encounter: Procrastination Giant
Round 0: roippi wins initiative!
Division by zero (BatBrain.ash, line 576)
You're on your own, partner.

The offending line in Batbrain:

Code:
576:   return ceil(my_stat("hp") / m_dpr(0,-adj.stun)) + adj.stun

Code:
> ashq import <batbrain.ash>; print( m_dpr(0,-adj.stun));

0.0

Any idea how I managed to do this?
 

zarqon

Well-known member
That function needs to be fixed. I'm on it. However, I can't say why m_dpr() would return 0 for you.

About the other issue... I'll try submitting the same macro with a character who has Noodles against one of these monsters in the browser (I added a macro testing box to my fight.php) and see what KoL says.

Isn't there some safety check in mafia -- if N rounds have gone by without a consult script doing anything, it will abort? How does it calculate this? It's a possible cause worth investigating for these mystery aborts.
 

Bale

Minion
Isn't there some safety check in mafia -- if N rounds have gone by without a consult script doing anything, it will abort? How does it calculate this? It's a possible cause worth investigating for these mystery aborts.

There's a safety check in KoL. If a macro executes 37 instructions in a row without advancing combat you'll get a macro abort to that effect.
 

zarqon

Well-known member
No I'm talking about for consult scripts. There's a check for those as well, to avoid endless loops in the event that a consult script does nothing.
 

roippi

Developer
I seem to have fixed my issue by nuking my zlib from orbit and starting over. Still not sure what I did to mess up m_dpr().

ETA: would an .isstunnable proxy record make sense? Do $monsters even have proxy data?
 
Last edited:

Magus_Prime

Well-known member
Still testing BatBrain and SmartStasis in Beecore. I'm now trying Bale's FinalAttack script as well and I'm consistently getting beaten up by the high-level bees. The scripts are making the correct decisions against almost all monsters except for the bees.

FinalAttack seems to prefer physical attacks over magical in almost all circumstances and that, combined with the unstunability of the high-level bees will do me in every time. That would be okay if I were a muscle-class but I'm a myst-class this run.

I'm using the latest versions of zlib, BatBrain, and SmartStasis and I think it's the most recent version of FinalAttack (

The relay browser just generated the "Danger Will Robinson" error and left me to my own devices. Here's the output from KOLMafia with zlib verbosity set to 10.

Code:
[2612] Haunted Bedroom
Encounter: Queen Bee
Round 0: Arbos wins initiative!
Round 1: Lefty latches onto your opponent's face with his wriggling tentacles.
Round 1: queen bee drops 3 attack power.
Round 1: queen bee drops 3 defense.
1 MP costs 3.8461537μ.
1 HP costs 0.5366726μ.
Value of stat gain: 10μ
Value of stat gain: 10μ
Monster value: 10
Evaluating 'max(2,(25.0/2))'...
You will die in 3950 rounds.
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Your attack will kill the monster in 1 rounds.
Evaluating 'max(2,(25.0/2))'...
Profit per round: ActionProfitDamageOtherbase; Pair of Ragged Claws (0μ)0μ6.25 Actual: 1 (0 μ/dmg)
Building options...
Evaluating '45*loc(chasm)'...
Evaluating '1.0*(5.5+min(0.07*287.0,15)+min(10.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*287.0,20)+min(10.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*287.0,30)+min(10.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(10.0,5)+0.0)'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Options built! (36 actions)
Building custom actions...
Evaluating 'max(2,(25.0/2))'...
Custom actions built! (0 actions)
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Stasis action chosen: use 1316
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
This monster is not your huckleberry.
Stasis loop complete.
Evaluating 'max(2,(25.0/2))'...
SmartStasis complete.
1 MP costs 3.8461537μ.
1 HP costs 0.5366726μ.
Value of stat gain: 10μ
Building options...
Evaluating '45*loc(chasm)'...
Evaluating '1.0*(5.5+min(0.07*287.0,15)+min(10.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*287.0,20)+min(10.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*287.0,30)+min(10.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(10.0,5)+0.0)'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Options built! (36 actions)
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Executing macro: scrollwhendone; sub batround; if haseffect 436 || haseffect 8 || haseffect 264 || haseffect 282 || haseffect 283 || haseffect 284; abort "BatBrain abort: poisoned"; endif; if hpbelow 14; abort "BatBrain abort: Danger, Will Robinson"; endif; endsub; sub batsub1; attack; call batround; endsub; call batsub1; repeat ; 
Round 1: Arbos executes a macro!
Round 1: Arbos attacks!
Round 2: Lefty snaps at your opponent with his sharp claws, dealing 3 (+1) damage.
Round 2: queen bee takes 4 damage.
You lose 35 hit points
Round 2: Arbos attacks!
Round 3: Lefty snaps at your opponent with his sharp claws, dealing 6 (+3) damage.
Round 3: queen bee takes 9 damage.
You lose 35 hit points
Round 3: Arbos attacks!
Round 4: queen bee takes 28 damage.
You lose 33 hit points
Round 4: Arbos attacks!
You lose 31 hit points
Round 5: Arbos attacks!
Round 6: Lefty snaps at your opponent with his sharp claws, dealing 1 (+4) damage.
Round 6: queen bee takes 5 damage.
You lose 34 hit points
Round 6: Arbos attacks!
You lose 35 hit points
Round 7: Arbos attacks!
You lose 32 hit points
Building options...
Evaluating '45*loc(chasm)'...
Evaluating '1.0*(5.5+min(0.07*287.0,15)+min(10.0,25)+0.0)'...
Evaluating '1.0*(12+min(0.15*287.0,20)+min(10.0,40)+0.0)'...
Evaluating '1.0*(28+min(0.25*287.0,30)+min(10.0,60)+0.0)'...
Evaluating '1.0*(2.5+min(10.0,5)+0.0)'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Evaluating 'max(2,(25.0/2))'...
Options built! (36 actions)
You're on your own, partner.
Round 8: Arbos uses the divine can of silly string and uses the divine noisemaker!
Round 9: queen bee takes 29 damage.
You gain 18 Wizardliness
Round 9: queen bee takes 19 damage.
You gain 14 Fortitude
You lose 37 hit points
You've had the crap beaten out of you... attempting to find some more crap.
Visiting Relaxing Hot Tub in clan VIP lounge
You lose an effect: Beaten Up
You gain 238 hit points

Any thoughts?
 
Last edited:

Theraze

Active member
Bees still don't have official data in mafia, so it thinks that (all) bees have 1 attack, 1 defense, and 1 hp. Or maybe 0 on those. Anyways, as such, it expects to be able to stasis them as long as possible with no risk.
 

roippi

Developer
You might just want to have a separate [bee] section in your CCS. I'm not sure if the bees even have monster data for batbrain to parse yet.

Therazeninja'd
 
Also, Bale's FinalAttack only processes combat spells when Shieldbutt isn't available, you're a saucerer, have jala and jaba active, and haven't been laid in a couple weeks. ;)
 

Winterbay

Active member
BatBrain uses the zlib variable unkown_ml for unkown monsters, if you get constantly beaten up by the bees that indicates to me that you have it set too low. I set mine at 170 and that solved most of my problems with the bees (well at the moment I have it set to a special bee section of BatBrain but that is my own modification)
 

Theraze

Active member
170 is the default, but it still decides sometimes for me that it should stasis rather than noodle/abort when my attack is under 100... It's possible that unknown_ml isn't used anymore since mafia makes internal monster overrides, so it exists...
 

Winterbay

Active member
Well, even if it exists it is set to 0 so it still counts (I know this since even the bee monsters I've ran into under a day still gets the benefit of adding the unknown_ml on top of my calculated "actual" value, at least I think so...)
 

Theraze

Active member
No clue why it hasn't treated mine as 170 then, since they're all there, and it's still tried to stasis.
 

Winterbay

Active member
I just tried it with the last bee I ran into:
Code:
> ash monster_hp(to_monster("beebee swarm"))

Returned: 0

> ash monster_attack(to_monster("beebee swarm"))

Returned: 0

> ash monster_defense(to_monster("beebee swarm"))

Returned: 0

The code in batbrain clearly says to treat 0-health monsters as unknown monsters.
 

Theraze

Active member
Eh, seems if I set it to 0 it seems it should allow me to manually fight unknown monsters, so... that should force it to work properly for me, at least. :)
 

Bale

Minion
If you are using a Black Cat, drop rate is never 100%. Modest suggestion to change line 337:

Code:
            if (!should_pp && count(stolen) == 0 && (rec.rate*(item_drop_modifier()+100)/100.0 < 100 [COLOR="#ff0000"][B]|| my_familiar() == $familiar[Black Cat][/B][/COLOR])) should_pp = true;

Yes, I have a character doing Black Cat right now. ;)
 
Top