adding machines and spam witches

Spiny

Member
v8480

This is probably user error, rather than mafia bug, but I'm hoping for input one way or the other so I know what to do in the future.

Situation:
Funkslinging permed
Spam Witch Bounty - Goals: +5 sammich crust
Choice adventure for orc chasm set to: create goal, 31337, 668
Special: one-time olfaction set to goals
Mood running that I didn't disable: if On the Trail < 1; olfact monster goth giant

Begin auto-adventuring using hobomonkey CCS macrofied.

On 4th adventure, I kill a Spam Witch, but olfaction didn't occur.

On 5th adventure, rampaging adding machine is encountered and scrolls are auto-made as able. On 3rd round of the fight, olfaction fires off.

I can't make further scrolls as I'm out of base scrolls, so subsequent adding machines were killed outright.

Summation: Is the above expected behavior based on the factors involved? I guess the only thing that surprised me was the olfacting of the adding machine instead of the spam witch. Should I have specified monster spam witch instead of goals?

Thoughts?

Thanks!
 

StDoodle

Minion
My guess is that mafia is looking up what to match olfaction on via your goals, and matches the adding machine instead of the spam witch. It's a weird case, 'cause the way the Orc Chasm works in game & in mafia is a bit of a special case; in mafia, you basically can define two sets of goals (bounty + choice adv.). However, mafia doesn', to the best of my knowledge, actually keep separate goal lists, but rather one and only one. So whatever matches first -- in this case adding machines -- is used.

I could be wrong though. If I'm right, it would probably be a good idea to completely separate the special "choice adventure" handling of scroll creation from goals, but that may well be a huge PITA.
 

Spiny

Member
With another account, I set the one-time olfaction to monster spam witch and it still olfacted the adding machine and disregarded the previously encountered spam witch. I removed On the Trail and disabled my mood which is the same as my other account and a spam witch was seen and not olfacted. I'm guessing St Doodle is correct and using the choice adventure option for creating goals overrides other olfaction requests.
 

jasonharper

Developer
Having an 'olfact' command in your mood will immediately overwrite any one-time olfaction you attempt to set up, so it's not surprising that the Spam Witch wasn't olfacted. However, that doesn't explain why the adding machine was - its choiceadv setting does not affect your actual goals. I don't have enough information to even make a guess, so I'll try to reproduce this on my next login.
 

jasonharper

Developer
I'm completely unable to duplicate any of this - a Spam Witch was successfully olfacted due to goals (with no conflicting olfact command in my mood), and adding machines weren't olfacted.

If you want me to look into this any further, post the actual CLI output from an adding machine fight that resulted in olfaction, and the contents of the CCS section that was indicated as being used in that fight.
 

Spiny

Member
Still using v8481

Hrmm... today is not a spam witch bounty but in the interest of trying to test further:

1) I went into apathetic mood
2) I set goals to +2 spam witch sammich
3) I used the same CCS I used yesterday
4) one-time olfact set to monster spam witch

Results in CLI (adding machine olfacted):
Code:
[color=green]autoOlfact: monster spam witch[/color]
Validating adventure sequence...
Condition added: Spam Witch sammich (2)
Spam Witch sammich (2)
Requests complete.

Libram summon #35 when MP > 995.

Request 1 of 10 (Mountain: Orc Chasm) in progress...

[69206] Orc Chasm
Encounter: me4t begZ0r
Strategy: /home/debbie/.kolmafia/ccs/hobomonkey_balls.ccs [default]
Round 0: Spiny Twizzler wins initiative!
Round 1: Meaty Monkey takes a pull on the hookah, and immediately goes into a coughing fit, blowing a cloud of smoke in your face. Since this is magic smoke, instead of giving you cancer (or, perhaps in addition to giving you cancer), it gives you an effect:
You acquire an effect: Flamingly Floral (duration: 6 Adventures)
Generated macro:
abort hppercentbelow 5
sub mafiaround
endsub#mafiaround
sub mafiamp
****if hascombatitem 3697
********call mafiaround; use 3697
********goto mafiampexit
****endif
****if hascombatitem 465
********call mafiaround; use 465
********goto mafiampexit
****endif
****if hascombatitem 1965
********call mafiaround; use 1965
********goto mafiampexit
****endif
****if hascombatitem 1788
********call mafiaround; use 1788
********goto mafiampexit
****endif
****if hascombatitem 466
********call mafiaround; use 466
********goto mafiampexit
****endif
****call mafiaround; use 345
****mark mafiampexit
endsub#mafiamp
#mafiaheader
call monkey_stasis
if monstername "Goth Giant"
****if !haseffect On the Trail && !mpbelow 40
********if !haseffect 331
************if hasskill 19
****************call mafiaround; skill 19
************endif
********endif
****endif
endif
call attack_routine
sub monkey_stasis
****while !match "climbs up and sits on your shoulder" && !pastround 29
********call infinite_use_item
****endwhile
endsub
sub attack_routine
****#replace the commands in here with whatever you want
****call mafiaround; attack
****repeat
endsub
sub infinite_use_item
****if hascombatitem facsimile dictionary
********call mafiaround; use 1316
********goto infinite_use_end
****endif
****if hascombatitem turtle totem
********call mafiaround; use 4
********goto infinite_use_end
****endif
****if hascombatitem spices
********call mafiaround; use 8
********goto infinite_use_end
****endif
****if hascombatitem seal tooth
********call mafiaround; use 2
********goto infinite_use_end
****endif
****if hascombatitem spectre scepter
********call mafiaround; use 2678
********goto infinite_use_end
****endif
****if hascombatitem dictionary
********call mafiaround; use 1316
********goto infinite_use_end
****endif
****abort "Click Script button again to continue"
****#mafiarestart
****mark infinite_use_end
****mark mafiafinal
endsub
goto mafiafinal

Round 1: Spiny Twizzler executes a macro!
Round 1: Spiny Twizzler uses the facsimile dictionary!
Round 2: me4t begz0r takes 33 damage.
Round 2: Spiny Twizzler uses the facsimile dictionary!
Round 3: me4t begz0r takes 36 damage.
Round 3: Meaty Monkey climbs up and sits on your shoulder, and hands you some Meat. Huh, where did he find that?
You gain 54 Meat.
Round 3: Spiny Twizzler attacks!
Round 4: me4t begz0r takes 4394 damage.
You acquire an item: meat vortex
You gain 6 Beefiness
You gain 4 Magicalness
You gain 15 Chutzpah

Libram summon #35 when MP > 995.

Request 2 of 10 (Mountain: Orc Chasm) in progress...

[69207] Orc Chasm
Encounter: rampaging adding machine
Strategy: /home/debbie/.kolmafia/ccs/hobomonkey_balls.ccs [default]
Round 0: Spiny Twizzler wins initiative!
[color=red](unable to macrofy vs. RAM)[/color]
Round 1: Spiny Twizzler uses the 334 scroll and uses the 334 scroll!
You acquire an item: 668 scroll
Round 2: Meaty Monkey's bells jingle merrily
Round 2: Meaty Monkey climbs up and sits on your shoulder, and hands you some Meat. Huh, where did he find that?
You gain 94 Meat.
Round 2: Spiny Twizzler uses the 30669 scroll and uses the 668 scroll!
You acquire an item: 31337 scroll
[color=red]Round 3: Spiny Twizzler casts TRANSCENDENT OLFACTION![/color]
You acquire an effect: On the Trail (duration: 40 Adventures)
Round 4: Spiny Twizzler attacks!
Round 5: rampaging adding machine takes 4401 damage.
You gain 5 Strongness
You gain 7 Wizardliness
You gain 12 Cheek

Libram summon #35 when MP > 995.

Request 3 of 10 (Mountain: Orc Chasm) in progress...

[69208] Orc Chasm
Encounter: rampaging adding machine
Strategy: /home/debbie/.kolmafia/ccs/hobomonkey_balls.ccs [default]
Round 0: Spiny Twizzler wins initiative!
(unable to macrofy vs. RAM)
Round 1: Spiny Twizzler attacks!
Round 2: rampaging adding machine takes 4404 damage.
Round 2: Meaty Monkey's bells jingle merrily
Round 2: Meaty Monkey climbs up and sits on your shoulder, and hands you some Meat. Huh, where did he find that?
You gain 95 Meat.
You gain 4 Fortitude
You gain 10 Wizardliness
You gain 10 Chutzpah

Manual stop requested.

Actual CCS used during the above turns:

Code:
[ cadáver ]
section Holiday Monster

[ candied yam golem ]
section Holiday Monster

[ default ]
try to steal an item
call monkey_stasis
if monstername "Goth Giant"
    if !haseffect On the Trail && !mpbelow 40
        skill transcendent olfaction
    endif
endif
call attack_routine
sub monkey_stasis
    while !match "climbs up and sits on your shoulder" && !pastround 29
        call infinite_use_item
    endwhile
endsub
sub attack_routine
    #replace the commands in here with whatever you want
    attack with weapon
    "repeat"
endsub
sub infinite_use_item
    if hascombatitem facsimile dictionary
        item facsimile dictionary
        goto infinite_use_end
    endif
    if hascombatitem turtle totem
        item turtle totem
        goto infinite_use_end
    endif
    if hascombatitem spices
        item spices
        goto infinite_use_end
    endif
    if hascombatitem seal tooth
        item seal tooth
        goto infinite_use_end
    endif
    if hascombatitem spectre scepter
        item spectre scepter
        goto infinite_use_end
    endif
    if hascombatitem dictionary
        item dictionary
        goto infinite_use_end
    endif
    abort
    mark infinite_use_end
endsub

[ holiday monster ]
item love song of smoldering passion, love song of smoldering passion

[ malevolent tofurkey ]
section Holiday Monster

[ possessed can of cranberry sauce ]
section Holiday Monster

[ stuffing golem ]
section Holiday Monster

Edit: Keeping mood apathetic and selecting attack with weapon instead of my CCS, and one-time olfact spam witch, sniffed the spam witch even though it saw an adding machine first. So basically I guess I can't use my CCS because it mentions the goth giant olfact... or maybe I can't use a CCS at all? if I want the spam witches sniffed in this situation.

Edit edit: Looking at the commit message for 7597 which predates combat macros obviously:

Handling of Rampaging Adding Machines has been revamped. Scroll creation is now deferred until after special actions have been performed, assuming that you have "special action" within the first 10 lines of your CCS. This means that preparatory actions such as Entangling Noodles can be used, and that auto-olfact and auto-putty are now fully usable with the RAM.

The specification of what to do after all scrolls listed in your goals have been created has been moved from Preferences to Choice Advs, and now has two more options: in addition to making 668 or 31337 scrolls if possible, you can choose to make no extra scrolls, or to simply abort the combat (useful for Black Cat runs).

As it stands, I can't use a meat farming CCS cos of the goth giant olfact check, which appears on line 9 , but that seems silly since I'm specifying what I want olfacted and that isn't even in this zone. The one-time olfaction for the spam witch should take precedence. I just don't know how intuitive the code is and it's probably a drag to deal with. The only reason I'm using the meat farming script is so that I don't forget to switch it back after the bounty.

Additionally, is the "create goal scrolls" choice adventure option the same as don't use pre-defined special handling? Would I then be able to include my own handling in a CCS for the adding machines? I know there have been tons of adding machine threads over time and some may pre-date the forum revamp and I can't find the data I'm looking for.
 
Last edited:

jasonharper

Developer
Aha - I see what the problem is. If a combat can't be macrofied (as is currently the case with the adding machine), all macro commands are simply ignored in your CCS. That makes your CCS vs. the adding machine basically this:
Code:
[ default ]
try to steal an item[FONT=monospace]
[/FONT]skill transcendent olfaction
attack with weapon
item facsimile dictionary
item turtle totem
item spices
item seal tooth
item spectre scepter
item dictionary
...which isn't quite what you intended!

Simple fix: add an [adding machine] section that just says something like
special action
attack

which will work when not macrofied.
 

Spiny

Member
Thanks Jason, that handles the adding machine great... but am I going to have to add special handling for the spam witch for one-time olfaction as well due to the combat being macroified? I saw some other discussion on olfaction recently, I'll see if I can track that down to see if it helps me.

So I should add "special action" as the first line under default I guess... yep that worked :D
 
Last edited:
Top