Winterbay's Helpful Automatic Monsterbasher (WHAM)

Theraze

Active member
The special section for the RAM has actually never worked since there is no way for a consult script to take over from Mafia's internal handling for that one. It's there in case it starts to work (and because I thought it actually would work when I did it) :)

Not ENTIRELY true... equip a Black Cat, OAF, or Tiny Wardrobe and WHAM gets to control the RAM. :) Or does it just abort combat and force you to do it manually now...? Hmm...
 

Catch-22

Active member
Actually, it turns out that SmartStasis was managing to kill the bugbear scientists before WHAM had the chance to perform any actions. I added this in under the "identify spheres" section of SmartStasis
Code:
  // bugbear scientists
   if (my_location() == $location[Science Lab] && item_amount($item[quantum nanopolymer spider web]) > 0 && m == $monster[bugbear scientist])
      custom[count(custom)] = to_event("use 5686",1);
and I think it has done the trick. Maybe zarqon will be able to officially support this in SmartStasis when he finds the time.
 
Last edited:

fronobulax

Developer
Staff member
Latest everything that I know of. I have been dealing with Real Life and not following things as closely as I should. I recall some discussion about items and the failure to en-queue message. I am seeing it fairly often. It lists

Entangling Noodles
Disco Dance of Doom
Disco Dance of Doom
Suckerpunch
spider web
spider web
Suckerpunch
Suckerpunch
Suckerpunch

as the attempted strategy. I have two spider webs in inventory but also have double handed funk slinging. My hunch is that WHAM thinks it can use the web twice because there are two of them but then something puts a web in both hands using them both in the first action. If this doesn't make sense and isn't operator error let me know and I will try and reproduce with verbosity. Thanks.
 

Winterbay

Active member
I'd like to see a CLI-output of a fight for that. It should autofunk the items enqueued (batbrain feature) and I can't see why that would make it crash...
(or a log-output I guess if you run with high enough verbosity normally, I tend to run at 7 constantly)
 

fronobulax

Developer
Staff member
I'd like to see a CLI-output of a fight for that. It should autofunk the items enqueued (batbrain feature) and I can't see why that would make it crash...
(or a log-output I guess if you run with high enough verbosity normally, I tend to run at 7 constantly)

Best I can give you now is the session log
[263] Belilafs Comedy Club
Encounter: Pr Imp
Round 0: cafeboob wins initiative!
> WHAM: Running SmartStasis
> WHAM: Starting evaluation and performing of attack
> WHAM: Enqueuing a stun to help with the battle
> WHAM: Failed to enqueue spider web (entry 7 in the strategy).
> WHAM: The following combat strategy was attempted:
> Entangling Noodles
> razor-sharp can lid
> razor-sharp can lid
> Suckerpunch
> Suckerpunch
> spider web
> spider web
> Suckerpunch
> Suckerpunch
> Suckerpunch

I suppose I can run at higher verbosity. What do you suggest? 7? The last time I tried 10 because there is no such thing as too much logging (most of the time) and then found out there was a side effect of bypassing SmartStasis (or something similar) and the net result was the behavior was different at verbosity 10.
 

Winterbay

Active member
Yeah, any verbosity higher than 9 will only perform estimations and checks and then generate debug output and not do anything (this is why it's bypassing SS since there is no way to tell SS to not actually do something). If you want the script to go all the way to execution and give as much debug info as possible then 9 is the way to go.
 

Theraze

Active member
Also, inv spider web, refresh inv, inv spider web. Make sure that it isn't just that mafia's inventory count has gotten out of sync... that tends to be what messes up my usual item enqueuing, but since I can't replicate it or figure out exactly what I've done to get there, it doesn't really function as a workable reportable mafia bug. :(
 

Terragon

New member
I spent a bit of time jiggling batfactors.

Here's what I have:
skill 7131 Kodiak Moment 0 0 regular, once, bear !! instant crit
skill 7132 Grizzly Scene 0.5*monsterhp 0 once, bear
skill 7133 Bear-Backrub 0 -20 once, stun 1, bear
skill 7134 Bearly-Legal 0 0 once, bear
skill 7135 Bear Hug {20,25,30} -{20,25,30} once, bear
skill 7136 I Can Bearly Hear You Over The Applause 0 0 once, bear

I've not added the delevelling bits.

I also added:

skill 12000 Infectious Bite L*{1,3,5} 0
skill 12006 Devour Minions 0 -max(20,0.5*maxhp)

Infectious bite is a pain as it deals level damage in each round - so I put an average rounds of '3' in for now.

I also added the following to WHAM.ash at line 566:

if(contains_text(opt.id, "skill ") ) {
if( contains_text(factors["skill",to_int(optid.group(2))].special, "bear")) {
if( happened( "skill 7131" ) || happened( "skill 7132" ) ||
happened( "skill 7133" ) || happened( "skill 7134" ) ||
happened( "skill 7135" ) || happened( "skill 7136" ) )
continue; // Don't try multiple bear skills in one combat
}

(Just after the line commented "Don't retry things that can only be done once" in the attack_option function)

This appears to make it call bear hug and kodiak moment for me, and I'd expect it to try grizzly scene on bosses.
 

Winterbay

Active member
I currently have the following in my batfactors:
Code:
skill    12006    Devour Minions    0    -min(20,maxhp/2)
skill    12010    Ravenous Pounce    0    0    0    !!An attack that deals more damage the hungrier you are and always hits
skill    12011    Distracting Minion    0    0    regular
skill    12012    Plague Claws    0    0    att -{5,7,10}, def -{5,7,10}    !!Delevels, increases damage from infectious bite
skill    12013    Flesh Mob    0    0    0    !!Unleash your horde to damage your foes
skill    12017    Bilious Burst    0    0    0    !!Explode some zombies, dealing Spooky and Stench damage
skill    12019    Corpse Pile    0    0    stun 3    !!Pile zombies on your foe, preventing him/her/it from moving for a while, and dealing damage
skill    12020    Howl of the Alpha    0    0    0    !!Scare your enemy away for a while, Deals major damage to unscarable enemies
skill    12023    Smash & Graaagh    {7,10,12}    0    0    !!Attempt to steal an item from your opponent
skill    12025    Meat Shields    0    0    0    !!Hide behind your zombies, making you harder to attack -> meatshielded 1 turn
skill    12030    Zombie Maestro    0    0    0    !!Order your horde to attack an enemy en masse

I never added infectious bite I just realised. That said, it's even more complicated than just "it goes on for more rounds than one" since it is also affected by how many plague claws you use afterwards...

On top of this I've modified batbrain to make sure it sets hitchance to 1 for distracting minions (something that needs to be done for everything that is marked as "regular", modifying batbrain that is, not setting hitchance to 1...). Unfortunately most things were unspaded last time I checked and also, the "steal"-feature of smash&graagh is not added in any way (script used it to steal something anyway, but I think that was mainly due to it being a cheap damage skill).
 

Terragon

New member
I currently have the following in my batfactors:
Code:
skill    12010    Ravenous Pounce    0    0    0    !!An attack that deals more damage the hungrier you are and always hits

I just got Ravenous Pounce, and it seemed trivial to implement the "hunger" factor

Code:
skill    12010    Ravenous Pounce    hunger*{6,7,8}    0    regular !!An attack that deals more damage the hungrier you are and always hits

Added to batfactors:

Code:
fvars["hunger"] = fullness_limit() - my_fullness();

And a bit to ensure hitchance = 100%
 

heeheehee

Developer
Staff member
I've definitely seen damage higher than 240 with Ravenous Pounce. Where's the spading for this?

edit: even with the clarifications on the Wiki talk page (which say to take into account bonus weapon and elemental damage after the multiplier), that doesn't seem to account for 480 damage (with +50% weapon damage, more like 360, but I'm pretty sure I wasn't running 100 weapon damage on the Battlefield). My guess is that it's a regular attack with 100% hit and the above formula for bonus weapon damage.
 
Last edited:

heeheehee

Developer
Staff member
Also, is the handling for infectious bite significantly different than that for, say, pufferfish or candicaine powder (or are these not implemented)? Seems like a similar enough mechanic.
 

Bale

Minion
It's not significantly different. Continuing damage effects such as the Pufferfish Spine, Candicaine Powder and Stringozzi Serpent are not implemented.
 

Winterbay

Active member
I think the serpent is in there as 1.5 times the base damage or something like that, but yeah, predictive stuff like that is not yet in in any way. Tips on how to implement are very welcome :)
 

Bale

Minion
I think the serpent is in there as 1.5 times the base damage or something like that.

It is, but that is only it's first round damage. (It does poison damage on the same round that it does the base damage. That's the extra .5 damage.)
 

Winterbay

Active member
Under what circumstance would one want to use "smash & graaagh"? I am thinking setting the script up to use it if the monster drops a goal item and you still have a good way of killing it after using the skill. Anything else?
 
Top