Feature - Rejected Delay counters

demon llama

New member
Due to the new (but temporary) changes to delay() (see here: http://forums.kingdomofloathing.com/vb/showthread.php?t=185999) I think it would be handy to have some new standardized ascension-relevant properties that keep track of this:

delayCounterFoo=5
delayCounterBar=0
delayCounterXXX=2

etc.

They obviously decrement with normal adventuring, hipster combats, poppers, runaways, etc. and would reset back to 5 with ascension.

This would let other scripts be aware of this now more transparent mechanic and allow for things like a relay browser decorater to inform the player how much delay is left on certain zones. Thoughts?
 

slyz

Developer
Do we have somewhere a list of zones with delay()? A few are well known, but I seem to remember that we weren't sure about some zones.

Other zones, like the cyrpt or the Airship, have slightly more complicated mechanics too, where delay() isn't the only game mechanic in play.
 

StDoodle

Minion
This is a very temporary change; Jick has stated that he's still working on other zones to change the mechanic. It seems to me as though adding a preference that will only be useful for a very limited amount of time isn't such a great idea. Until then, perhaps and alias to add your own delay() counter may be in order.
PHP:
alias delay => ashq cli_execute("counters add 5 Delay @ %%");
Then just type "delay " followed by a name for that particular counter when you're about to start adv'ing somewhere with delay(), and you'll get a five-turn counter added with whatever name you choose.
 
Last edited:

StDoodle

Minion
Oh yeah... perhaps a more generally-useful feature request would be a way to specify counters that DID decrement with free fights?
 

Kirkpatrick

New member
This is a trimmed down version of a list I maintain based on current HCO spading and knowledge, it should be quite extensive. I really need to make it public D:


Outskirts of the Knob: Unknown floor.

Haunted Pantry: Delay +3-5 turn floor - Outskirts used to have same mechanic

Spooky Forest: NC won't show up for 5 turns - effectively the same as newDelay()

Billiards Room: pool game: delay().

Library: First NC (of either type): delay().

Bedroom: delay() on the first moxie (wooden) nightstand.

Ballroom: B-flat: delay().

Conservatory: Gallery Key: delay() plus a few turn floor.

NOTE: Conservatory delay() is equal in value to bedroom delay().

Friars: Neck, Heart, Elbow; all NCs. If you don't see the first progress NC in five turns in that zone, you will get it guaranteed on the 6th (via a superlikely copy of the adventure). The same for the second progress NC on the 11th turn, and the quest item on the 16th.

Cyrpt Subzones: delay, plus 5 turn floor, so 10 turn floor. Then increasing chance mechanic: 33% chance of boss on the first turn, 66% on the second, 100% on the third.

Valley: adding machines: delay().

Airship: delay() on all of the Immateria.

Castle: delay() on the first wheel.

Hidden Temple: delay() on the first choice adv.
 

lostcalpolydude

Developer
Staff member
This is a very temporary change; Jick has stated that he's still working on other zones to change the mechanic. It seems to me as though adding a preference that will only be useful for a very limited amount of time isn't such a great idea.

On the one hand, that makes sense. On the other hand, I thought the same thing about shore counters before they got added.
 

slyz

Developer
Airship: delay() on all of the Immateria.
Does this means that there is a new 5 adventure delay that starts after getting each Immateria?

Concerning the implementation of counters in KoLMafia, I guess it would either have to be a list of hardcoded locations, either automatically storing the number of adventures spend in every zone you adventure in?

I don't find it hard to manually track the number of turns and free fights spend in a specific area during a run, and it wouldn't be difficult for scripts either (although it would take some work).

To go back to demon llama's idea, a script that fired after each Relay Browser adventure could update properties (maybe a script called through a mood, since a betweenBattleScript doesn't work when adventuring manually).
 

Darzil

Developer
Oh yeah... perhaps a more generally-useful feature request would be a way to specify counters that DID decrement with free fights?

I guess the general principle is that zone counters (increments each time you visit a zone) do decrement with free fights/runaways, but adventure counters (increments each time you spend an adventure) don't ?
 

demon llama

New member
My really quick and dirty idea was just to hardcode all the known delay locations. That would let us gradually trim the list as the places with delay() get phased out over the next year or so. I know it's not elegant, but well, neither is this band-aid of a fix that they put in place (but better then before!).

The other downside of using straight up counters is that if you set a 5 turn counter and adventure elsewhere the counter gets affected by that. Now that delay is less transparent that might not happen as much but it's still an annoyance.

Since delay() is so localized per location it would make sense to not make it a counter at all (in the traditional sense). Mnemonically counters represent global events to keep track of (well at least to me they do). A counter-like thing next to other counters would be confusing and really wouldn't make much sense. This is why I was going for something like a hardcoded property that other script writers can access.

Making use of this special counter in the relay browser I'd imagine something like showing a small innocuous number floating next to the adventurable location in addition to reporting how much delay there is left in that location post combat/noncombat (note: skipped noncombats DO NOT burn delay). No delay left? Nothing is needed to be said.

Outside of the relay browser a GCLI command "delay" might handy which would basically iterate through the list of delayed places and report the turns left on each.
 

lostcalpolydude

Developer
Staff member
If mafia were to create settings that say how many turns you've spent in a zone, why limit it to delay() locations? First, that has the drawback of settings that will still be in people's data files when they become useless. Second, there are things like Friar superlikelies and screambats that are based on turns in the zone and have nothing to do with delay().
 
Top