CounterChecker: Wormwood, Semi-rares, Dance Cards and more

Could you add a zlib option to use a munchies pill with a fortune cookie?
Thanks for pointing this script out to me when we were chatting!
 

Bale

Minion
I suppose I could do that. I think the value of the zlib variable should be the maximum price to pay for the munchie pill. A price of 0 would refuse to use one. (Though honestly if there was a pill for 100 meat it would be stupid not to use one.) Does that sound good?
 
I suppose I could do that. I think the value of the zlib variable should be the maximum price to pay for the munchie pill. A price of 0 would refuse to use one. (Though honestly if there was a pill for 100 meat it would be stupid not to use one.) Does that sound good?

Well, in the case where I would set this variable it would be during crimbo (or other special events), in which case I would have farmed up a large supply of munchies pills ahead of time. So as long as it understands that it wants to use munchines pills already in your inventory (no matter the price), then that is ok with me.
 

slyz

Developer
So as long as it understands that it wants to use munchines pills already in your inventory (no matter the price), then that is ok with me.
Whether they are in your inventory or not shouldn't be relevant. When you use a pill from your inventory, it costs you since you could have sold it in the mall.

You could see the zlib setting Bale is proposing as the threshold at which you would rather sell them for meat rather than use them to get more adventures.
 

vert

New member
Looks like the Friar's Gate update has broken this script:

Code:
Visit to Island: Frat House (Stone Age) in progress...
Bad location value: "Friar's Gate" (CounterChecker.ash, line 511)
Fortune Cookie counter expired. Last semirare found 337 turns ago (on turn 71175) in Outskirts of The Knob
 

Winterbay

Active member
It's interesting that it complains on line 511 when the real problem, to me at least, seems to be on line 74 or so (give or take one or two due to modifications). Change of Friars gate to Pandamonium Slums should solve it, or at least mine stopped aborting when I did that :)
 

Bale

Minion
This script requires a serious overhaul. Maybe this error will inspire me to finally do that...
 

alfagetti

New member
Hi everyone,

First, thanks very much Bale for making this script, and for updating it so quickly after the Pandamonium update!

Next, I am looking for a little help.

I am running this script (as well as Universal Recovery, Smart_stasis and First Things First) alongside BCC's Ascension script. I am trying to get the script to abort when my fortune cookie counter expires, but without much luck; the CounterChecker tells me the following...

Request 4 of 16 (Beanstalk: Giant's Castle) in progress...
(cli abort counter discarded due to conflict)
Checking for updates (running CounterChecker ver. 1.41)...
_version_BaleCC => 1.41
You have a current version of CounterChecker.
Checking counters now.
Semi-rares choices are not automated in hardcore or ronin.
Your last semi-rare adventure was at Knob Goblin Harem, so plan accordingly.
Fortune Cookie counter expired. Last semirare found 353 turns ago (on turn 446) in Knob Goblin Harem


and then the BCC script continues on its way.

Recently, i've been trying to use the following command "counters add X cli abort" to try and abort it. it was working (well, kinda) and today its got a conflict.

I am not an ASH scripter (but wouldn't mind trying my hand at it one day!), but would appreciate any suggestions/tips regarding how to get CounterChecker to stop!

Thanks very much for listening to this noob :)
 

alfagetti

New member
Easiest thing to do is to remove the semirare items you don't want, and turn on SRinHC setting...

Thanks for the quick reply!

The reason i haven't done this yet is i was concerned it would just default to getting one or 2 items (i.e. alternate between cyclops eyedrops and knob goblin lunchboxes) since i understood it would always attempt to get the most expensive item market-wise. What if i want shrinking powder? What if i only want one eyedrops and 2 inhalers?

I really just want it to stop when the counter expires. What would happen if i removed ALL locations?
 

Theraze

Active member
Well, it can only get from whatever list you give it... if you want shrinking powder and a lunchbox, put those two in the list and remove the rest. If you want it to alternate between eyedrops and inhalers, remove everything but the limerick and castle. The script does what you tell it to, when it's time...

Just remember to leave at least 2 items, so it can alternate.
 
I guess I'm going to have to look in the code and add a case statement or something, because I'm running 3 characters; one in HC, one in BM/HC, and one in softcore. They all have different needs in run.
 

Theraze

Active member
Just drop in a switch (my_name()) bit, case "Weatherboy", etc?

Check on newLife, the "special" function. Bale has it check on character name there.
 

Winterbay

Active member
I've modified the start of my expensive_semi()-function to look like this:

Code:
location expensive_semi(string last)
{
	item [location] semi_rare;
	if(can_interact())
	{
		semi_rare[$location[The Purple Light District]] = $item[lewd playing card];
		semi_rare[$location[Haunted Billiards Room]] = $item[cube of billiard chalk];
		semi_rare[$location[Menagerie 2]] = $item[irradiated pet snacks];
		semi_rare[$location[Outskirts of The Knob]] = $item[Knob Goblin lunchbox];
		semi_rare[$location[Limerick Dungeon]] = $item[cyclops eyedrops];
		semi_rare[$location[Sleazy Back Alley]] = $item[distilled fortified wine];
		semi_rare[$location[Haunted Pantry]] = $item[tasty tart];
		semi_rare[$location[Harem]] = $item[scented massage oil];
		semi_rare[$location[Haunted Kitchen]] = $item[freezerburned ice cube];
		semi_rare[$location[Haunted Library]] = $item[black eyedrops];
		semi_rare[$location[Goatlet]] = $item[can of spinach];
		semi_rare[$location[Ninja Snowmen]] = $item[bottle of antifreeze];
		semi_rare[$location[Orc Chasm]] = $item[ASCII shirt];
		semi_rare[$location[Battlefield (No Uniform)]] = $item[six-pack of New Cloaca-Cola];
		semi_rare[$location[Batrat and Ratbat Burrow]] = $item[Dogsgotnonoz pills];
		semi_rare[$location[Giant's Castle]] = $item[Mick's IcyVapoHotness Inhaler];
		semi_rare[$location[Guano Junction]] = $item[Eau de Guaneau];
		semi_rare[$location[Laboratory]] = $item[bottle of Mystic Shell];
		semi_rare[$location[Pre-Cyrpt Cemetary]] = $item[poltergeist-in-the-jar-o];
		semi_rare[$location[Post-Cyrpt Cemetary]] = $item[poltergeist-in-the-jar-o];
		semi_rare[$location[South of The Border]] = $item[donkey flipbook];
		semi_rare[$location[Pandamonium Slums]] = $item[SPF 451 lip balm];
		semi_rare[$location[Hidden City]] = $item[shrinking powder];
		semi_rare[$location[8-Bit Realm]] = $item[fire flower];
		semi_rare[$location[Spooky Forest]] = $item[fake blood];
		semi_rare[$location[Whitey's Grove]] = $item[bag of lard];
		semi_rare[$location[Hippy Camp]] = $item[teeny-tiny magic scroll];
		semi_rare[$location[Frat House]] = $item[bottle of rhinoceros hormones];
		semi_rare[$location[Pirate Cove]] = $item[bottle of pirate juice];
		semi_rare[$location[Burnbarrel Blvd]] = $item[jar of squeeze];
		semi_rare[$location[Exposure Esplanade]] = $item[bowl of fishysoisse];
		semi_rare[$location[The Heap]] = $item[concentrated garbage juice];
		semi_rare[$location[The Ancient Hobo Burial Ground]] = $item[deadly lampshade];
		semi_rare[$location[Chapel]] = $item[pixel stopwatch];
	}
	else
	{
		semi_rare[$location[Outskirts of The Knob]] = $item[Knob Goblin lunchbox];
		semi_rare[$location[Sleazy Back Alley]] = $item[distilled fortified wine];
		semi_rare[$location[Haunted Pantry]] = $item[tasty tart];
		semi_rare[$location[Harem]] = $item[scented massage oil];
		semi_rare[$location[Giant's Castle]] = $item[Mick's IcyVapoHotness Inhaler];
		semi_rare[$location[Hidden City]] = $item[shrinking powder];
	}
	remove semi_rare[last.to_location()];

	int[item] semi_rare_multiplier;
	semi_rare_multiplier[$item[distilled fortified wine]] = 3;
	semi_rare_multiplier[$item[tasty tart]] = 3;
	semi_rare_multiplier[$item[scented massage oil]] = 3;
	if((!can_interact() && item_amount($item[Mick's IcyVapoHotness Inhaler]) == 0) || (!can_interact() && item_amount($item[shrinking powder]) == 0))
	{
		semi_rare_multiplier[$item[Mick's IcyVapoHotness Inhaler]] = 10;
		semi_rare_multiplier[$item[shrinking powder]] = 10;
	}

I.e. if I'm unable to interact (i.e. being in HC) it only uses the trimmed list and since I want to have a shrinking powder and a Inhaler for the level 12 quest I've set it so that those are upvalued by a factor of 10 when I don't have any of them. This seemed to be working just fine together with BCCs script and SRinHC = true.
 
Yeah, Winterbay, that's exactly what I was thinking of doing. The if(!can_interact() && item_amount($item[item])==0) would be a growing list based on character. IE, my softcore dude only gets 3 SR's per run, so the list would include only KGE, ascii, and inhaler; if the I have more than zero, it removes it from the list until there is only the inhaler remaining. I'll add massage oil, pet snacks and cyclops eyedrops for my low-skilled HC characters. Very nice. Thanks.
 

Winterbay

Active member
Interesting fact: If the random square that counterchecker.ash chooses in the Hidden City is a former protector spirit it will think that it was the incorrect adventure to find a semirare, even though it may not have been.
 

Bale

Minion
Interesting fact: If the random square that counterchecker.ash chooses in the Hidden City is a former protector spirit it will think that it was the incorrect adventure to find a semirare, even though it may not have been.

Thanks for the tip. I'll keep that in mind when the day comes that I add that semi-rare to the script. It's a pretty easy fix. In the meantime, anyone using your mod had best be careful.
 
Last edited:
Top