Feature - Implemented Time-Spinner

Veracity

Developer
Staff member
It is "automating" it because you use a UseItemRequest to "use" the time spinner - which explicitly automates a redirect to a choice adventure. I think that if you submit it via a GenericRequest it will work correctly. Trying that now.
 

Veracity

Developer
Staff member
Yes. gCLI:

Code:
[color=green]> timespinner eat Tea, Earl Grey, Hot[/color]

You gain 20 Adventures
You gain 1,000 Mojo Points
You gain 1,000 hit points

Session log:

Code:
use 1 Time-Spinner
Took choice 1195/2: (secret choice)
choice.php?whichchoice=1195&option=2&pwd
Took choice 1197/1: Spin and Munch!
choice.php?whichchoice=1197&option=1&foodid=9122&pwd
You gain 20 Adventures
You gain 1,000 Mojo Points
You gain 1,000 hit points

Revision 17283. Thanks, lost!
 

lostcalpolydude

Developer
Staff member
I thought I tried it with an explicit EatItemRequest at some point and it still didn't work. Regardless, thanks for getting it working.

I guess it would make sense to add a "prank [playername]" option. Maybe also "list monsters", though that list is likely to be huge. That's what filtering is for, I guess?

There are a few issues with "monster [monstername]". The first one is that you get dumped into a fight, which then requires having an appropriate CCS set up (or reloading the Relay Browser main pane to resolve there). That seems okay. The bigger problem is ambiguity in string <=> int monster representations. A number could be sent without error checking, and converting a monster name to number will probably work well enough for all of the cases people actually care about.
 

edgy

Member
Thanks for getting timespinner eating sorted.
Ran into a small issue: timespinner list food throws an exception when showing an empty list.

Code:
> timespinner list food

Available foods:
Unexpected error, debug log printed.
Code:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        KoLmafia v17.4 r17284, Windows 10, Java 1.8.0_101
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Unexpected error, debug log printed.
class java.lang.NumberFormatException: For input string: ""
java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.valueOf(Unknown Source)
	at net.sourceforge.kolmafia.textui.command.TimeSpinnerCommand.run(TimeSpinnerCommand.java:193)
	at net.sourceforge.kolmafia.KoLmafiaCLI.doExecuteCommand(KoLmafiaCLI.java:596)
	at net.sourceforge.kolmafia.KoLmafiaCLI.executeCommand(KoLmafiaCLI.java:549)
	at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:450)
	at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:318)
	at net.sourceforge.kolmafia.swingui.CommandDisplayFrame$CommandQueueHandler.handleQueue(CommandDisplayFrame.java:187)
	at net.sourceforge.kolmafia.swingui.CommandDisplayFrame$CommandQueueHandler.run(CommandDisplayFrame.java:163)
 
Last edited:

lostcalpolydude

Developer
Staff member
I just realized that mafia doesn't recognize the Mayo Minder being applied when eating with the timespinner command (no message, item isn't deducted), though it is applied.
 

Bale

Minion
Small request for timespinner command.

Add timespinner time to report the value of _timeSpinnerMinutesUsed. (Or 10 - _timeSpinnerMinutesUsed?) It would be convenient.
 

TwirlyRotini

New member
Mafia lists time residue as a 100% conditional drop (in the relay browser below the monster), but I just pickpocketed it from a prank monster. Does mafia have a different definition of conditional from the wiki?
 

Veracity

Developer
Staff member
I expect KoLmafia has similar definitions with the Wiki, but we do not look at the Wiki to get information. The fact that you have pickpocketed it tells us something we otherwise did not know.
 

Veracity

Developer
Staff member
Code:
use 1 Time-Spinner
Took choice 1195/3: (secret choice)
choice.php?pwd&whichchoice=1195&option=3
Encounter: Assembly Elemental
Round 0: Veracity wins initiative!
...

It would be nice if that logged as something like:

Code:
use 1 Time-Spinner
Took choice 1195/3: (secret choice)
choice.php?pwd&whichchoice=1195&option=3

[812] Way Back in Time
Encounter: Assembly Elemental
Round 0: Veracity wins initiative!
...
We do have the mechanism to do something like that; consider the choices that lead to getting a beehive, which take turns.

It would also be nice if the "Back to Your Inventory" link at the end was either replaced or augmented with "Back to Your Time-Spinner".

I have one minute left today. I'll see what I can come up with.
 

Veracity

Developer
Staff member
Code:
[996] Way Back in Time
Took choice 1195/3: (secret choice)
choice.php?pwd&whichchoice=1195&option=3

[996] Way Back in Time
Encounter: Wooly Duck
Round 0: Veracity wins initiative!
Not quite right - but better. I will submit it and look more tomorrow.
 

dapanda

Member
Hi Guys,

Was there ever a plan to use the gCLI to access the Time-Spinner's "Adventure Way Back in Time" option? Or even a script someone had thought up? I tried a few variations with the ASH script like:

cli_execute("use 1 Time-Spinner");
visit_url("choice.php?pwd&whichchoice=1195&option=3");
run_combat();

but I wasn't able to make it work. All that would happen was a relay window was forced open.

Thanks!
 

Bale

Minion
I'd just like to remind folks that fighting a monster with the time spinner (either way back in time or a recent fight) is the only thing still unimplemented with the timespinner command and the only reason this thread isn't tagged as Implemented.
 

lostcalpolydude

Developer
Staff member
Given that any use I might make of that would be immediately followed by going to the relay browser to actually handle the fight, I have no plan to add that.
 

Veracity

Developer
Staff member
I recently tried "recall a recent fight" and made it actually log appropriately in revision 17392.

We still don't log doing a prank the way I'd prefer. In general, if we have a command to do something, we registerRequest to display the command, as if you'd typed it in the gCLI. Currently, if you do a prank, here is what I see in the session log:

Code:
use 1 Time-Spinner
Took choice 1195/5: (secret choice)
choice.php?pwd&whichchoice=1195&option=5
Encounter: Play a Time Prank
Took choice 1198/1: Spin and Prank!
choice.php?pwd&whichchoice=1198&option=1&pl=Bale&th=Boo%21
Encounter: Play a Time Prank
Took choice 1198/1: Spin and Prank!
choice.php?pwd&whichchoice=1198&option=1&pl=Darzil&th=Boo%21
Bale was unavailable, since somebody had already pranked him and he'd not seen it yet. Darzil was available.

I don't think we detect failure of a prank correctly, yet. I didn't check minutes used, but it would not surpise me if we decrement them when you attempt, not when you succeed.

And, the one that actually worked COULD have logged as:

timespinner prank Darzil Boo!

(Actual, both attempts should have logged that way - with an error message if it failed.)

Another thing is that when you do a prank, you are not given a use link to return to the time-spinner, I believe. That is inconvenient.

Regarding adding a "fight recent monster" to the "timespinner" command, I share lost's ambivalence. I've actually never used it in-run, since I've been summoning Earl Grey tea and recalling it twice, in my Nuclear Autumn runs; that sufficed to fill my stomach every day. Perhaps I will try the "recall a fight" option in-run when the new Standard year comes along, on Jan 15 or so.

So, we can debate/discuss how much CLI command support we need, but there do remain a handful of improvements that I just identified which don't involve that that it would be nice to fix before we declare this "done".
 
Regarding adding a "fight recent monster" to the "timespinner" command, I share lost's ambivalence. I've actually never used it in-run, since I've been summoning Earl Grey tea and recalling it twice, in my Nuclear Autumn runs; that sufficed to fill my stomach every day. Perhaps I will try the "recall a fight" option in-run when the new Standard year comes along, on Jan 15 or so.

I ended up in this thread because I didn't remember that "fight a recent monster" was unimplemented, and I was sure I was just missing something in the built-in help. I'm sure I'm suboptimal in this, as in so many things, but I'd definitely be using that function in Gelatinous Noob, if it existed!
 

Veracity

Developer
Staff member
Well, I'll take a look at it. In my twelve Standard 2017 runs, I used digitize when I wanted multiples of a specific monster. I believe there was exactly one time when I recalled a fight with the Time-Spinner: when I digitized a lobsterfrogman just a little too late in the day to get the fifth one.

The thing is, I never automate fights in-run - and a "timespinner fight" command would summon the monster and hand it over to automation - so this will STILL be of no personal interest to me. :)
 
Top