Feature - Implemented Make "Spookyraven" command more robust

Bale

Minion
Either the Spookyraven command should be more robust, or else KoLmafia should provide better spoilers for the Lights Out choices to guide the player without needing to refer to the wiki. Particularly Stephen's quest has a number of choices to make (such as searching shelves or barrels) where the correct choice is not obvious,

All information is on the wiki HERE.
 
Until that is done (or to help that get done), I put this in my choice.ash relay override script (for Stephen quest anyway, which I just finished):

Code:
	if (contains_text(page,"Lights Out in the")) {
   
		foreach ss in $strings[
		Search for a light, 
		Search a nearby nightstand,
		Check a nightstand on your left,
		Search for a lamp,
		Search over by the (gaaah) stuffed animals,
		Examine the Dresser,
		Open the bear and put your hand inside,
		Unlock the box,
		Make a torch,
		Examine the graves,
		Examine the grave marked "Crumbles",
		What the heck\, let's explore a bit,
		Examine the taxidermy heads,
		Try to find a light,
		Keep your cool,
		Investigate the wine racks,
		Examine the Pinot Noir rack,
		Look for a light,
		Search the barrel,
		No\, but I will anyway,
		Check it out,
		Examine the weird machines,
		Enter 23-47-99 and turn on the machine] {
			
			page.replace_string(ss,">> "+ss+" <<");
		}
	}
 
I figured "more robust" was going to mean something else. Today I noticed that often the next Spookyraven Lights Out counter was not set, so I had to do "spookyraven on" after each one. It seems that if you haven't finished yet, it should be reset. Maybe it was how I was doing it. I had my version of CounterChecker wait when the timer was up, then I'd manually abort (hi) and manually adventure. Or sometimes I'd CLI adventure. A few times (because aborting is hard) I'd manually adventure while the CounterChecker was still waiting. I didn't do that more than a couple of times. Mostly when BCA was running, because aborting is hardest there.
 
Today I noticed that often the next Spookyraven Lights Out counter was not set

The new counter is created when you start the turn after Lights Out. I can't think of a good way to create it as soon as that turn ends (especially regardless of whether it was Lights Out) rather than before the next one starts.
 
I'm trying to figure something out for a script. Is there a preference where it stores the turn number of the last Lights Out adventure?
 
I'm trying to figure something out for a script. Is there a preference where it stores the turn number of the last Lights Out adventure?

total_turns_played() % 37 is what you want. If that's 0, you would need to check whether lastEncounter starts with "Lights Out", I guess. Unless you actually want to know when the adventure was last received, but I removed that setting because it seemed irrelevant.
 
O! So that's how it works!

I had remembered there was a setting for when it was received and was being puzzled at not being able to find it, but now it makes sense. Thanks.
 
The new counter is created when you start the turn after Lights Out. I can't think of a good way to create it as soon as that turn ends (especially regardless of whether it was Lights Out) rather than before the next one starts.
Well, that explains why sometimes it seemed to work. I'd spent another turn.
 
Code:
if (total_turns_played() % 37 == 0 && get_property("lastEncounter").index_of("Lights Out") == -1) ...
?
 
Back
Top