Bug - Not A Bug Free runs underwater w/o fishy are still reported as no turn cost

Erosion

Member
When you don't have Fishy and you go into an underwater (2) zone, using a free run (in my case it was indigo taffy) will end the combat and report
"This combat did not cost a turn", even though the [adv] number will increment by 1, and Mafia will stop adventuring because it spent 1 adventure according to the [X] free advs vs turn count maximum setting.


> adv 1 icehol

Visit to The Glaciest: The Ice Hole in progress...

[2302] The Ice Hole
Encounter: Tin of Submardines
Round 0: the erosionseeker wins initiative!
Round 0: the erosionseeker tries to steal an item!
Round 1: Tin of Submardines takes 56 damage.
You gain 42 Meat.
Round 1: the erosionseeker casts EXTRACT!
You acquire an item: Source essence (3)
Round 2: Tin of Submardines takes 49 damage.
Round 2: the erosionseeker uses the porquoise-handled sixgun and uses the pulled indigo taffy!
Round 3: Tin of Submardines takes 42 damage.
Round 3: You gain 26 Mojo Points
You lose 42 Meat.
Tin of Submardines banished by pulled indigo taffy.
This combat did not cost a turn

Validating adventure sequence...

Visit to The Glaciest: The Ice Hole in progress...

[2303] The Ice Hole
Encounter: Arctic Octolus
Round 0: the erosionseeker wins initiative!
Round 0: the erosionseeker tries to steal an item!
Round 1: Arctic Octolus takes 45 damage.
Round 1: the erosionseeker casts EXTRACT!
You acquire an item: Source essence
Round 2: Arctic Octolus takes 57 damage.
Round 2: the erosionseeker uses the porquoise-handled sixgun and uses the pulled indigo taffy!
Round 3: Arctic Octolus takes 42 damage.
Round 3: You gain 23 Mojo Points
Arctic Octolus banished by pulled indigo taffy.
This combat did not cost a turn
 

Veracity

Developer
Staff member
KoLmafia reports "This combat did not cost a turn" if and only if KoL itself said it was free by including "FREEFREEFREE" in the response text.
Can you supply a DEBUG log, please?

I'm not sure I understand what you showed in your log. You typed a single command - "adv 1 icehol" - and KoLmafia spent one turn adventuring there - and then KoLmafia printed "Validating adventure sequence" and went there again? That message is only printed when you adventure via the GUI. So the adv command must have finished in the gCLI and then you automated an adventure via the GUI.

In both cases, it looks like it stopped because you really did spend a turn adventuring.

Other than the confusing message - which we printed because that is what KoL told us - what, exactly, do you think the correct behavior is for doing what you told it to do: first run one adventure using the gCLI and then run one adventure using the GUI? Stopping in both cases because you spent a turn adventuring looks like correct behavior to me.
 

Veracity

Developer
Staff member
Adventuring underwater without Fishy makes everything take an extra turn. That is an environmental effect. Here's what the Wiki says:

Adventuring in an underwater zone costs two (2) adventures unless you have the Fishy effect active. This applies to any underwater encounter, including special holiday monsters encountered while adventuring underwater. At the end of any combat which costs two adventures, the following message appears:

"Being underwater makes it hard to move -- it's really slowing you down!"
This extra adventure cost is applied after the combat has been completely resolved. This means, amongst other things, that escaping from combat with items like tattered scraps of paper will still result in you losing one adventure, not 0 or 2, if you are not Fishy. Similarly, status effects gained at the end of combat, such as Beaten Up, will lose one more turn of duration than normal, if you are not Fishy.

Which is to say, it is known and expected that free fights, free runaways, free banishes, whatever will still cost 1 adventure without Fishy.

KoLmafia does not track adventures used after encounters. It adjusts them after the fact when the subsequent api.php (or charpane.php) request returns. Since KoLmafia makes no attempt to figure out how many turns an encounter took, it does not notice or log or do anything at all with the "it's really slowing you down" message.

On the fight.php response, KoL says FREEFREEFREE and KoLmafia dutifully reports that as "This fight did not cost a turn". Which is correct; it was a free fight.

It was not, however, a free underwater encounter, since the environmental cost of "adventuring underwater without Fishy" still applies.

In my opinion, it is not worth the effort to see FREEFREEFREE and then look for "it's really slowing you down" and then print ... something different? Because it is absolutely true that "the fight did not cost a turn". It was "adventuring without Fishy" that cost a turn - and surely you expected that?

Regarding adventuring: If you tell KoLmafia to adventure for one iteration and your turns used goes up after making the request, it was clearly not a "skipped" adventure, so it stops automating.
 

Veracity

Developer
Staff member
Further instruction.

When you “adventure” using GUI or script, the unit, per holatuwol, is ”turnips” - the min of “turns” and “trips”.

Which is to say, if you want to adventure for 5 “turnips”, we will make at least 5 “trips”, using at least 5 “turns”.

All free fights?
5 trips but no turns. 5 more turnips to go.

4 un-Fishy trips to an underwater location?
8 turns but 4 trips. 1 more turnip to go.

Want 1 turnip?

1 un-Fishy trip to an underwater location?
2 turns and 1 trip. Check.

Free fight?
1 turn and 1 trip. Check.

You want to completely change the semantics after 16 years?

Convince me.
 

Erosion

Member
In my opinion, it is not worth the effort to see FREEFREEFREE and then look for "it's really slowing you down" and then print ... something different? Because it is absolutely true that "the fight did not cost a turn". It was "adventuring without Fishy" that cost a turn - and surely you expected that?
I did not realize that the problem stemmed from KoL reporting FREEFREEFREE even during situations where the turn counter progressed forward. I have since reported that as a KoL bug and will wait for a response.
 

lostcalpolydude

Developer
Staff member
I think the primary reason there was a request for KoL to make that visible was for BoomBox tracking, and similar things that specifically care about whether a combat took a turn. I would guess (though I'm becoming increasingly out of touch with detailed mechanics at this point) that this combat does not count to increment things like that. If that's the case, the message should be there, and at best one could argue that it could be worded slightly differently, but it's hidden in an HTML comment so that seems pointless to worry about.
 
Top