KingdomExplorer

Bale

Minion
That's script is actually pretty cool. Thank you. I just made one little tweak to keep from running a maximization every single time I get a new monster.

Code:
	if (appearance_rates(bloc)[$monster[none]] > 0) {
		cli_execute {
			mood default, pestertemp
			mood clear
			trigger lose_effect, hippy stench, use either 1 handful of pine needles, 1 reodorant
			trigger lose_effect, musk of the moose, cast 1 musk of the moose
			trigger lose_effect, carlweather's cantata of confrontation, cast 1 carlweather's cantata of confrontation
		}
		equip(thing);
	} else {
		cli_execute("mood default");
		equip(thing);
	}
 

Bale

Minion
He's my horrible start of an abomination of a script. It's very buggy. Mostly, I'm waiting to see if KoLmafia will support tracking, so I put my effort into other parts. Use this at your own risk! Think of it as a proof of concept.

After using it a bit more I start to see what you mean by buggy. There are quite a few areas which aren't handled smoothly. I've been expanding the blacklist to cover them, but many could be useful with a bit of special handling.
 

Donavin69

Member
The script was originally just supposed to tell you where you hadn't been recently. Any suggestions on how to make it better? (and why has it been suddenly used a lot again? am I missing something)
 

Valliant

Member
To add more detail, this crimbo everyone is trying to encounter every monster in the kingdom twice, once each with two different off-hand items. Given the fiddliness of this task, people are looking for a scripted solution, since there's nothing in game that says who you've talked to except for a comment at the end of combat.
 

Crowther

Active member
Well, I'll be darned. The monsters don't reset at rollover, which this code assumes. I also errored on the side of marking a monster done even if it wasn't to prevent loops and such. Now that seems like a very bad idea. If I have some code I later, I'll start a new thread with it.
 

Donavin69

Member
To add more detail, this crimbo everyone is trying to encounter every monster in the kingdom twice, once each with two different off-hand items. Given the fiddliness of this task, people are looking for a scripted solution, since there's nothing in game that says who you've talked to except for a comment at the end of combat.

Ok...I hadn't really looked at the Crimbo content yet, I just finished my run...

I guess I should look at this script again! Thanks for the info
 

coandco

Member
For what it's worth, there's a page to keep track of which monsters have been successfully proselytized at <kol>/c15totals.php. Maybe a Crimbo script could use that to keep track of what to avoid?
 

Bale

Minion
Oh for the sake of all that is holy. My list has 3 Ninja Snowman and 3 Orcish Frat Boy along with other non-determinable monsters. Thanks KoL. Thanks a lot.

As usual, nothing is perfect with this game.

I found that out after making a parser for that page so I can work with it...

Code:
void c15parse() {
	record {
		boolean elf;
		boolean reindeer;
	} [monster] c15parse;
	monster mon;
	
	matcher row = create_matcher('<tr><td style="border-bottom: 1px solid black"><b>(.+?)</b></td><td style="border-bottom: 1px solid black" align="center">( |X)</td><td style="border-bottom: 1px solid black" align="center">( |X)</td></tr>'
		, visit_url("c15totals.php"));
	
	while(row.find()) {
		mon = row.group(1).to_monster();
		if(mon == $monster[none]) {
			print("Cannot parse: " + row.group(1));
		} else {
			c15parse [mon].elf = row.group(2) == "X";
			c15parse [mon].reindeer = row.group(3) == "X";
		}
	}
	
	map_to_file(c15parse, my_name().to_lower_case() + "_c15totals.txt");
}

void main() {
	c15parse();
	print("Crimbo '15 proselytization has been parsed.", "green");
}
 

Bale

Minion
I'd like to point you all to my attempt at solving this problem. Criticism welcome!

If I understand properly, you're keeping a total as well as monster list to determine which faction to update next. But if you get a monster that doesn't disambiguate properly you fail to update the total? And otherwise you ignore the problem monsters?

Yeah, I don't really get your attempt. Sorry. Could you explain it better that I did?
 

digitrev

Member
If I understand properly, you're keeping a total as well as monster list to determine which faction to update next. But if you get a monster that doesn't disambiguate properly you fail to update the total? And otherwise you ignore the problem monsters?

Yeah, I don't really get your attempt. Sorry. Could you explain it better that I did?

This is true. However, given that the script will only attempt to adventure once in each location, it shouldn't cause too many problems with ambiguous monsters.
 

Bale

Minion
Then I would recommend incrementing total += 1 even if you cannot disambiguate the monster. That's the part which confused me.
 
Top