BatBrain -- a central nervous system for consult scripts

delevelres should at least apply to monsters that are immune to deleveling (i.e. delevelres(100)). Off the top of my head, I can think of, uh, certain jickjar skeletons, some warbears, and some playmates.
 
I've been playing with Batbrain and trying to understand it all (I am working on a custom fight relay script).
I get some of it, but the Sauceror curses are a question.

When I run act(pg), it populates actions into opts. However, Cure of Weaksauce is the only curse. The others: Curse of Vichyssoise, Curse of Marinara, Curse of the Thousand Islands are not included. Why?

Also, even with Itchy Curse Finger, the curse reports .stun=0.0, where I would expect this to be 1.0
 
When I run act(pg), it populates actions into opts. However, Cure of Weaksauce is the only curse. The others: Curse of Vichyssoise, Curse of Marinara, Curse of the Thousand Islands are not included. Why?

Also, even with Itchy Curse Finger, the curse reports .stun=0.0, where I would expect this to be 1.0

I suspect they are not listed in batfactors. All answers reside in batfactors.
 
I suspect that this update may break WHAM. For the most part, it will be easy to fix -- I've moved most of the monster attributes into the monster_stat() function, so in place of nostagger you would instead use monster_stat("nostagger") and so forth. The only tricky bit is that some of the names have changed. The updated list of keywords is available on the batfactors Wiki page.
Enjoy!

All known errors in WHAM have been fixed. Thanks for your continued work on this.
 
I suspect they are not listed in batfactors. All answers reside in batfactors.

Yes. This is indeed the key. Is this something I can update?
I could not figure out how to make the stun on the Curses conditional on having Itchy Curse Finger.
 
Last edited:
Yes. This is indeed the key. Is this something I can update?

Oh indeed yes. You can upload an altered version of batfactors HERE. Just make sure that you are changing a current version before you update because you are uploading your current version.

I could not figure out how to make the stun on the Curses conditional on having Itchy Curse Finger.

That would require an update to BatBrain.
 
As pointed out in the WHAM-thread there may be a bug in the code for the use of PADL phones and Windchimes actually only allowing them against monsters that should not be in the battlefield rather than the other way around:
Code:
         case 2065: if (my_location() != $location[the battlefield (frat uniform)] || get_counters("PADL Phone",0,10) != "" ||  // PADL phone
            string_modifier("Outfit") != "Frat Warrior Fatigues" || appearance_rates(my_location())[last_monster()] > 0) continue;
         case 2354: if (to_float(my_stat("hp"))/my_maxhp() < 0.25) fields.pdmg = "-275";      // windchimes
             else if (to_float(my_stat("mp"))/max(1,my_maxmp()) < 0.25) fields.special = "mp 175";
              else fields.dmg = "175";
            if (to_item(it) == $item[PADL phone]) break;
            if (my_location() != $location[the battlefield (hippy uniform)] || get_counters("Communications Windchimes",0,10) != "" ||
                string_modifier("Outfit") != "War Hippy Fatigues" || appearance_rates(my_location())[last_monster()] > 0) continue; break;

The "> 0" part should be <= 0, shouldn't it?
 
War heroes also have an appearance rate of 0, so changing it would exclude them, but the only way to include them might be to list them specifically. Or maybe you can check for the map containing that monster instead, somehow (that seems like it would be better).
 
Getting "Unknown keyword found: momultistun" for broctopus, wild girl, and cocktail shrimp. Should be just a simple nostun. Updated batfactors.txt
 
Well, they're nostun, so nomultistun should be inferred. Or are there cases where you can't stun the monster for one round but can for multi-rounds?
 
"nomultistun" no longer exists. I search/replaced it and uploaded a fixed batfactors with r50, however due to my typos those didn't get replaced. Thanks for catching those, Fluxxy.

I intend for my next major update to add initial support for Sauceror curses. Kickback will be the tricky bit -- does it work for all combat spells or only Sauceror ones? Does it work for spells that aren't trained at your guild?

@Winterbay: Nice that a wandering monster found the bug for us. Looks like changing it to use "contains" would work.
 
By kickback, you mean the weaksauce & marinara explosions? Near as I can tell, they trigger when you're a Sauceror who finished the combat with any spell. In this case, I can confirm that any spell refers to: sauceror spells, pastamancer spells, and sauceshell. Presumably, this also fires for the Hobo spells, and probably anything else that gets reflected by Gurgle / negated by shiny skeletons, etc...
 
I just tested Weaksauce with Snowclone, Wassail, Volcanometeor Showeruption and Shrap so I suspect that it works on ALL spells. Are there any others you'd like me to test?

It does not work on Belch the Rainbow, but that is not a spell.
 
Last edited:
I just tested Weaksauce with Snowclone, Wassail, Volcanometeor Showeruption and Shrap so I suspect that it works on ALL spells. Are there any others you'd like me to test?

I am not sure it works with stuffed mortar shell.
 
I believe that's one of the tricks people use to really rake in MP. Cast stuff mortar shell a turn before the kill, then another spell on the kill round and both return MP.
 
Weaksauce only returns MP for a single hit. If a spell is split between elemental damage types (like saucestorm or weapon of the pastalord) it will only return MP for the largest damage in the final round.

Stuffed Mortar Shell is nice because it does a lot of damage for only 8 MP, not because it stacks.
 
Well, the strategy I usually use is to cast Stuffed Mortar Shell and then Weaksauce. It actually does return the MP and, if the shell is correctly aligned, it usually caps at 50MP. Only when running too much ML I need to soften it up a little before casting the Shell so it is guaranteed to be the last hit
 
Back
Top