Winterbay's Helpful Automatic Monsterbasher (WHAM)

zarqon

Well-known member
How did you add the ghosts to batfactors? I wasn't aware that these monsters are even in mafia yet, which means that to_monster(whatever string you used) is $monster[none] and therefore won't match anything.

Really, until these monsters are known by mafia, you'll have to use a monster-agnostic CCS.
 

Crowther

Active member
Yes, my copy has Rinn's patch. The monsters have been recognized by KoL for a while. Rinn's patch gives more information about them. As I said, it works very well. Now WHAM knows the element type of werewolves for example and casts spells they are weak against. Thanks to the patch. That's really quite sweet.

I've got a working CCS against ghosts, but I'm wasting MP over killing them. WHAM's advice is pretty good, except it doesn't know they have 100% physical resistance. I can't for the life of me figure out how that works for other physically resistant monsters like the snow queen.

Code:
> ash $monster[hot ghost]

Returned: hot ghost
base_hp => 0
base_attack => 0
base_defense => 0
raw_hp => -1
raw_attack => -1
raw_defense => -1
base_initiative => -1
attack_element => hot
defense_element => hot
min_meat => 0
max_meat => 0
base_mainstat_exp => 0.0
phylum => undead
poison => none
boss => false
image => dvshotghost1.gif

> ash to_monster("hot ghost")

Returned: hot ghost
base_hp => 0
base_attack => 0
base_defense => 0
raw_hp => -1
raw_attack => -1
raw_defense => -1
base_initiative => -1
attack_element => hot
defense_element => hot
min_meat => 0
max_meat => 0
base_mainstat_exp => 0.0
phylum => undead
poison => none
boss => false
image => dvshotghost1.gif
 

Crowther

Active member
I should add, that it works well for me, because I have a Monster Manuel. Without that, we get into the logs/kiss issue which has been rightly called a biggie.
 
Saucegeyser with saucespheres up and immaculate seasoning is my go to for scaling monsters and these new areas.

It may not be optimal, but my outfit I use for items and spell damage has 30-40 MP regen so between that and the recovered MP/HP from the casts I do pretty well.

With the way karma has changed perming things, if you don't have those skills permed I'd pick them up at least for SC to start. No matter your class, if you can equip some decent gear you'll have little problems killing things. ;)
 

Crowther

Active member
Saucegeyser with saucespheres up and immaculate seasoning is my go to for scaling monsters and these new areas.

It may not be optimal, but my outfit I use for items and spell damage has 30-40 MP regen so between that and the recovered MP/HP from the casts I do pretty well.

With the way karma has changed perming things, if you don't have those skills permed I'd pick them up at least for SC to start. No matter your class, if you can equip some decent gear you'll have little problems killing things. ;)
I was using the 30 MP hobo spells. Saucegeyser would probably be cheaper. I've got plenty of karma. I believe I just passed 10K, but I still want WHAM to be able to kill the ghosts and I'm only missing one thing.
 

fronobulax

Developer
Staff member
Since I'm a never ascended pastamancer, Saucegyeser isn't going to work. The Hobopolis skills do just fine, as might the cheaper equivalents, and I look forward to the time when mafia knows what it needs to know so that BatBrain and WHAM can deal with Dreadsylvaia.
 

zarqon

Well-known member
Yes, my copy has Rinn's patch. The monsters have been recognized by KoL for a while. Rinn's patch gives more information about them.

How long is "a while"? Using r12385:

> ash to_monster("hot ghost")

Returned: none
base_hp => 0
base_attack => 0
base_defense => 0
raw_hp => 0
raw_attack => 0
raw_defense => 0
base_initiative => 0
attack_element => none
defense_element => none
min_meat => 0
max_meat => 0
base_mainstat_exp => 0.0
phylum => none
poison => none
boss => false
image =>

> ash get_monsters($location[dreadsylvanian woods])

Returned: aggregate monster [int]

> ash get_monsters($location[dreadsylvanian village])

Returned: aggregate monster [int]

> ash get_monsters($location[dreadsylvanian castle])

Returned: aggregate monster [int]

I'm not seeing any Dreadsylvania monsters here. If by using Rinn's patch you have those monsters showing up, make sure you've entered the information correctly in batfactors (tabs not spaces, correct number of fields, sequential integer keys). Beyond that, I can be of no further help.

I'm also looking forward to BatBrain supporting Dreadsylvania, though I'm only just now completing support for the Gladiator path in the Sea. Basically whenever KoL adds new content there is a pretty big delay before I am able to add scripting support:

  1. Players spade the content.
  2. KoLmafia devs add initial support.
  3. Users make feature requests / bug reports regarding mafia's support of the content.
  4. Devs refine or flesh out support, adding tweaks, tracking properties, new commands, etc.
  5. I play the content myself so that I can code and test script support for the content.

I'm sure many people would be happier if I jumped on board right after step 2, but my German sense of efficiency prefers the delay. My Japanese sense of apologizing for everything asks you to forgive the fact that my Korean sense of impatience is obviously not well developed, but my French sense of shrugging wouldn't actually much mind if you didn't.
 

Crowther

Active member
How long is "a while"? Using r12385:
I'm not seeing any Dreadsylvania monsters here.
It's not the definition of "a while", but "recognize". Mafia has been calling them "hot ghost" or whatever when you fight them since shortly after the dungeon opened. It does not have any information on what a hot ghost is without Rinn's patch, but it "recognizes" them.

tabs not spaces
JFC! I did it again. I put tabs after "monster" and now WHAM kills ghost just fine. New batfactors.txt uploaded. The general strategy . . . noodle, saucegeyser, repeat. No surprise, but it's nice to see WHAM working.

I'm sure many people would be happier if I jumped on board right after step 2, but my German sense of efficiency prefers the delay. My Japanese sense of apologizing for everything asks you to forgive the fact that my Korean sense of impatience is obviously not well developed, but my French sense of shrugging wouldn't actually much mind if you didn't.
:D I had hoped you wouldn't have to do anything, but failed that.
 

lostcalpolydude

Developer
Staff member
Some monster stats (including important values like HP) vary based on difficulty changes that can be made at any time, and mafia can't practically track that stuff. Base stats could be included (probably what's in that patch), but only Manuel users are going to have complete monster stats under most circumstances.
 

Crowther

Active member
Some monster stats (including important values like HP) vary based on difficulty changes that can be made at any time, and mafia can't practically track that stuff. Base stats could be included (probably what's in that patch), but only Manuel users are going to have complete monster stats under most circumstances.
Rinn's patch just has phylum and element. KoLmafia doesn't pick the element off from the MM, so you need Rinn's patch for WHAM/BatBrain to compute damage right. Yes, automatic fighting there without the MM might never happen.
 

bsander

Member
Is there a way to tell WHAM that it's important I don't get hit? Currently I'm not stunning/staggering at all in dreadsylvania, but being touched by a ghost seriously sucks and if I could get it to throw my blueballs and/or cast noodles, that would make autoadventuring much more pleasant there.
 

Crowther

Active member
Is there a way to tell WHAM that it's important I don't get hit? Currently I'm not stunning/staggering at all in dreadsylvania, but being touched by a ghost seriously sucks and if I could get it to throw my blueballs and/or cast noodles, that would make autoadventuring much more pleasant there.
Put those as the first lines of your CCS before WHAM, then set "zlib WHAM_roundcost_aftercore" to a fairly high number.
 

Veracity

Developer
Staff member
Not without parsing the raid log - and even then, your clannies can change the horribleness between your checking the log and your visiting the area.
 

Crowther

Active member
There's no way of knowing how horrible a dreadsylvanian monster is going to be right?

Not without parsing the raid log - and even then, your clannies can change the horribleness between your checking the log and your visiting the area.

I was thinking it would be possible to count kisses at the end of combat and so have a guess how horrible the next monster will be. Not a perfect solution by any measure, but at least it wouldn't cost a server hit. However, I can already envision the constant stream of bug reports saying the kiss count is wrong for the first monster fought.
 

Winterbay

Active member
Funny thing: I've fought somee dreadsylvanian fights in the elaybrowser and never seen a message about kisses. Is there one for 1-kiss-per-fight fights?

Also that sounds reasonable, any idea what the cutoff for the different abilities are and what the message to look for is?
 

Magus_Prime

Well-known member
Is there one for 1-kiss-per-fight fights?

Yes there is. It may be a few hours before I can provide an example.

Edit: Here's what shows in the relay browser after winning a fight"
"An old Dreadsylvanian grandma gives you a kiss on the cheek."

Everything before "gives you a kiss on the cheek" is variable.

Nothing kiss related shows in the gCLI.
Nothing kiss related shows in the KoLMafia session logs
 
Last edited:
Top