Bug Macro building doesn't check for Funkslinging

Yvain

Member
When autoadventuring with a CSS that uses funkslinging mafia will build a macro that funkslings but not check if the character has funkslinging resulting in nothing happening for 30 rounds.

[ default ]
item tattered scrap of paper, tattered scrap of paper

without funkslinging results in:

[2971] The Slime Tube
Encounter: glistening Slime lump
Strategy: F:\dist\ccs\tatter.ccs [default]
Round 0: yvain wins initiative!
Round 1: Pelvis Resley 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: Steroid Boost (duration: 6 Adventures)
You lose 38 hit points
Round 1: yvain executes a macro!
Round 1: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 2: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 3: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 4: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 5: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 6: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 7: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 8: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 9: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 10: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 11: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 12: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 13: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 14: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 15: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 16: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 17: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 18: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 19: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 20: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 21: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 22: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 23: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 24: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 25: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 26: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 27: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 28: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 29: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 30: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
Round 31: yvain uses the tattered scrap of paper and uses the tattered scrap of paper!
 

Theraze

Active member
If you do have funkslinging, can't you set it to just do like:
[ default ]
item tattered scrap of paper
item tattered scrap of paper
and it'll automatically funksling?
 

Theraze

Active member
From looking at the code in FightRequest, if you don't have funkslinging and you ask for it, the code (FightRequest, lines 932-935) just aborts out of the second item after executing the first... Only time the code should actually care about the second item when you don't have funkslinging is if your first item doesn't exist or you don't have any (lines 896-902) in which case it reassigns your second item over the first item, and does it as a single action. Maybe something else happened in your case? I'll need to try to assign some item to fail sometime soon. Problem is that with most logs, it doesn't say what happened. Suppose it's time to turn full logging back on.
 

Yvain

Member
I was sure what exactly is meant by full logging but I went to the relay browser and hit the script button while the above mentioned script was selected on the adventure tab. The GLI window output is as above. The relay browser output is:

Combat: Round 2! (jump to final round)
You're fighting a glistening Slime nodule
HP: 210, Atk: 110, Def: 110
Drops: slimy sweetbreads (5), slimy fermented bile bladder (5), tiny slimy cyst (5 no pp), wad of slimy rags (1 no pp)
That request doesn't make any sense.
Round 3!
That request doesn't make any sense.
Round 4!
That request doesn't make any sense.
Round 5!
That request doesn't make any sense.
Round 6!
That request doesn't make any sense.
Round 7!
That request doesn't make any sense.
Round 8!
That request doesn't make any sense.
Round 9!
That request doesn't make any sense.
Round 10!
That request doesn't make any sense.
Round 11!
That request doesn't make any sense.
Round 12!
That request doesn't make any sense.
Round 13!
That request doesn't make any sense.
Round 14!
That request doesn't make any sense.
Round 15!
That request doesn't make any sense.
Round 16!
That request doesn't make any sense.
Round 17!
That request doesn't make any sense.
Round 18!
That request doesn't make any sense.
Round 19!
That request doesn't make any sense.
Round 20!
That request doesn't make any sense.
Round 21!
That request doesn't make any sense.
Round 22!
That request doesn't make any sense.
Round 23!
That request doesn't make any sense.
Round 24!
That request doesn't make any sense.
Round 25!
That request doesn't make any sense.
Round 26!
That request doesn't make any sense.
Round 27!
That request doesn't make any sense.
Round 28!
That request doesn't make any sense.
Round 29!
That request doesn't make any sense.
Round 30!
That request doesn't make any sense.
Round 31!
That request doesn't make any sense.
Round 32!
This fight is being ended because it took more than 30 rounds, which is sort of unreasonable.

You lose. You slink away, dejected and defeated.
 

slyz

Developer
I think Theraze meant you should select Help -> Start Debug Log, then run a combat, then do Help -> Stop Debug Log, and attach in your next post the DEBUG_<date>.txt file in KoLMafia's directory.
 

Theraze

Active member
Debug on will likely do the same as starting the debug log.

But actually, what I was suggesting is that in Preferences -> Session Logs, check everything there except Log adventures left instead of adventures used. See if the health level changes, what your familiar is doing, etc. :) Debug log is better for actual checking though.
 

jwylot

Member
The OP is right. Funk was broken like this once before. Here's the debugscript output.
[81] Post-Cyrpt Cemetary
Encounter: senile lihc
Round 0: woodowl wins initiative!
Generated macro:
sub mafiaround
endsub#mafiaround
sub mafiamp
****abort "No MP restoratives!"
****mark mafiampexit
endsub#mafiamp
#mafiaheader
mark mafiafinal
call mafiaround; use 3114,3114
goto mafiafinal

Round 1: woodowl executes a macro!
Round 1: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 2: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 3: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 4: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 5: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 6: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 7: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 8: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 9: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 10: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 11: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 12: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 13: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 14: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 15: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 16: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 17: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 18: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 19: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 20: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 21: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 22: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 23: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 24: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 25: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 26: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 27: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 28: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 29: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 30: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
Round 31: woodowl uses the Miniborg Destroy-O-Bot and uses the Miniborg Destroy-O-Bot!
 

slyz

Developer
At least there's a simple workaround! (do not ask your CCS to funksling items).

Maybe Mafia should warn you about using item item1,item2 in a CCS when you don't have funkslinging. I think this would be better than automatically changing it to item item1;item item2.
 
Top