Auto 2-day HCCS

rocky

New member
Your.Master, Valliant, and RNGHeHateMe's issues should all be fixed now, they are live on my release.

HotelDon, can you run "get_property chateauAvailable" in the CLI? If it doesn't return true, Mafia thinks you don't have the Chateau for some reason.

Jeff, what is the G-9 serum issue? My fork should run fine without CI.

manually visiting the chateau in the relay browser before running the script may help. that's how i got past this problem before.

the script wastes a lot of meat and MP if you rerun it after it fails. we need to build in more safeguards against that.
 

Malurth

Member
I keep forgetting to check this thread, sorry. I've merged all of RESPRiT's changes and so all of his fixes should be live in my release branch.

@jeff, yeah, perming Curse of Weaksauce solves powerleveling MP issues, and not having CI shouldn't be a problem so I don't know what that issue is referring to.

@RESPRiT: you could move the variables stored in AutoHCCSvars to user properties if you'd like, I only did it that way as it's the only way I knew how at the time, honestly. This whole thing has spiraled well beyond my expectations, I wrote it for personal use and just figured I'd make it public and fix any bugs that cropped up :p
 

CoC

New member
Using latest version in release branch, script only drank 5 pilsners and claimed it didn't generate enough adventures for test 6. I'm pretty sure it would usually drink all 6 there?

Drank 6th manually and it finished out the day as it normally would (I think).

Figured I'd mention it because I've never seen that before.

Excellent work. Thanks again.
 

RESPRiT

Member
I checked the code and it looks like Croft left a comment saying "// consume only 5 max for D1" in regards to pilsners. I'm not sure why that is exactly (he optimized the script, so presumably his decisions were related to efficiency), but if you seem to come out fine on day 2, I can look into it.
 
Alright, trying the script again (with Cannelloni Cocoon this time) and when it gets to the 4th service (spell damage) I get a pop-out asking if I want to overdrink. Is that supposed to happen or am I missing something again?
 

CoC

New member
@respirit Run finished out OK and did it in 2/448 which is 25 or so turns faster than any previous run. Thanks for checking into it.

Ran into same issue in my new run. I'm 5 turns short of being able to do test 6. Either bad RNG or I'm missing something that would save turns on the test. There's 2 drunk left I'm guessing the script may want a Speakeasy drink for another test?

In any case drank and the script finished out Day 1 just fine again.
 
Last edited:

RESPRiT

Member
@yiffmaster420 If that was at the end of day 1, the overdrink prompt is normal.

@Coc Could you post a session log on pastebin or something? If the script is still working out that's good, but I'm not really sure how you're getting to that point. Especially if your runs are as fast as 2/448.

@jeff This issue was fixed yesterday, try updating your script.
 

Croft

Member
I checked the code and it looks like Croft left a comment saying "// consume only 5 max for D1" in regards to pilsners. I'm not sure why that is exactly (he optimized the script, so presumably his decisions were related to efficiency), but if you seem to come out fine on day 2, I can look into it.

Leaving 2 space for dinsey whisky. But yeah. In need of turns the last astral beer & cold one should be consumed.
 
@yiffmaster420 If that was at the end of day 1, the overdrink prompt is normal.

@Coc Could you post a session log on pastebin or something? If the script is still working out that's good, but I'm not really sure how you're getting to that point. Especially if your runs are as fast as 2/448.

@jeff This issue was fixed yesterday, try updating your script.

How many services is it supposed to do on day 1? I just want to make sure it's not screwing or I'm missing anything.
 

RESPRiT

Member
3 services I think? It goes right up to before the spell test. It drinks the margarita reward to nightcap since it gives +spell.
 

CoC

New member
Leaving 2 space for dinsey whisky. But yeah. In need of turns the last astral beer & cold one should be consumed.

@respirit finished my run just now and landed a 2/373.

I can figure out how to post logs if you want but I'm guessing it's just bad RNG based on Croft's response. RNGs tend to hate me.
 
3 services I think? It goes right up to before the spell test. It drinks the margarita reward to nightcap since it gives +spell.

Yeah that's where it stopped so all good. My only question now is one day 2 it's constantly running out of MP causing me to resort to non-free rests since it spends all my money on HP restores meaning I'm constantly forced to sell crap. Is there a skill (I have weaksauce) I'm missing or is there something else?
 
Last edited:

Hellno

Member
If you do mortar->weaksauce when powerleveling you should not run out of MP. It's better damage than saucegeyser too assuming you can tune the skill.
 
In quest stage 240, there is a protion where you cast multiple ur-kels, Pride of Puffins and drescher's annoying noise (and a whole host of other mutliple casts). This should be handled with a mood, I think. Or at least check to see if you have any turns of the relevant skill cast. The issue I am having is that it bombed out in this stage, and then when I reran it sucked down all my meat mindlessly casting +ML stuff.

You even have a function set up to set a powerlevel mood - you should use it here!

Code:
if(statemap["questStage"] == 240) {
		// --------------------------------------------------
		// ML
		if ((have_effect($effect[The Dinsey Look]) == 0) && ($item[FunFunds™].available_amount() > 0)) { 
			buy($coinmaster[The Dinsey Company Store], 1, $item[Dinsey face paint]);
			use(1, $item[Dinsey face paint]); // +40 ML @ 20 adv
		}
		if ((g9val() > 300 && $item[yellow pixel].available_amount() >= 10) ||
		     (($item[yellow pixel].available_amount() >= 10) && ($item[yellow pixel].available_amount() < 15))) {
			create(1, $item[yellow pixel potion]);
			use(1, $item[yellow pixel potion]); // +25 ML @ 20 adv
		}
		chateauCast($skill[Ur-Kel's Aria of Annoyance]); // +18/+20 ML @ 5 adv
		chateauCast($skill[Ur-Kel's Aria of Annoyance]);
		chateauCast($skill[Ur-Kel's Aria of Annoyance]);
		chateauCast($skill[Ur-Kel's Aria of Annoyance]);
		chateauCast($skill[Ur-Kel's Aria of Annoyance]);
		if (($item[hot ashes].available_amount() > 0) && (have_effect($effect[Ashen Burps]) == 0)) {
			create(1, $item[ash soda]);
			use(1, $item[ash soda]); // +15 ML @ 15 adv
		}
		chateauCast($skill[Pride of the Puffin]); // +10 ML @ 10 adv
		chateauCast($skill[Pride of the Puffin]);
		chateauCast($skill[Pride of the Puffin]);
		chateauCast($skill[Drescher's Annoying Noise]); // +10 ML @ 20 adv
		chateauCast($skill[Drescher's Annoying Noise]);
		if ($item[perfume of prejudice].available_amount() == 0 && get_property_int("_rapidPrototypingUsed") < 5) {
			create(1, $item[perfume of prejudice]);
		}
		useifhave(2, $item[perfume of prejudice]); // +5 ML @ 15 adv
		useIfHave(1, $item[cuppa Mediocri tea]); // only in case
		// plus +50 ML barrel lid (later equipped)
		// plus +30 ML friars set after turn 1
		// plus +10 ML MCD

		// --------------------------------------------------
		// +all%
		useIfHave(1, $item[experimental serum G-9]); // +???% all @ 40 adv
		chateauCast($skill[The Ode to Booze]);
		visit_url("clan_viplounge.php?preaction=speakeasydrink&drink=5&pwd="+my_hash()); //bee's knees +100% all @ 25 adv
		cli_execute("shrug ode");
		if ($item[power pill].available_amount() > 0) {
			useIfHave(1, $item[power pill]); // +100% all @ 30 adv
		} else {
			if ($item[yellow pixel].available_amount() >= 15) {
				create(1, $item[miniature power pill]);
				use(1, $item[miniature power pill]);
			}
		}
		useIfHave(2, $item[potion of temporary gr8tness]); // +100% all @ 15 adv
		useIfHave(2, $item[tomato juice of powerful power]); // +50% all @ 15 adv
		if (doghouseAvailable()) {
			set_property("choiceAdventure1106","2"); // Adventurer's Best Friendship +50% all @ 30 adv
		}
		pulverize($item[A Light That Never Goes Out]);
		if (have_effect($effect[Smithsness Presence]) == 0 && $item[handful of Smithereens].available_amount() > 0) {
			chew(1, $item[handful of Smithereens]);
		}
		useIfHave(1, $item[Gene Tonic: Humanoid]); // +10% all @ 30 adv
		chateauCast($skill[Stevedave's Shanty of Superiority]); // +10% all @ 5 adv
		chateauCast($skill[Stevedave's Shanty of Superiority]);
		chateauCast($skill[Stevedave's Shanty of Superiority]);
		chateauCast($skill[Stevedave's Shanty of Superiority]);
		chateauCast($skill[Stevedave's Shanty of Superiority]);

		// --------------------------------------------------
		// +myst%
		useIfHave(1, $item[ointment of the occult]); // +100% myst @ 15 adv
		buy(10, $item[glittery mascara]); // +15% myst @ 3adv
		use(10, $item[glittery mascara]);

		// --------------------------------------------------
		// +myst
		chateauCast($skill[The Magical Mojomuscular Melody]);
		chateauCast($skill[The Magical Mojomuscular Melody]);
		chateauCast($skill[The Magical Mojomuscular Melody]);
		chateauCast($skill[The Magical Mojomuscular Melody]);
		chateauCast($skill[The Magical Mojomuscular Melody]);
		chateauCast($skill[Sauce Contemplation]);
		chateauCast($skill[Sauce Contemplation]);
		chateauCast($skill[Sauce Contemplation]);
		chateauCast($skill[Sauce Contemplation]);
		chateauCast($skill[Sauce Contemplation]);
		chateauCast($skill[Manicotti Meditation]);
		chateauCast($skill[Manicotti Meditation]);
		chateauCast($skill[Manicotti Meditation]);
		chateauCast($skill[Manicotti Meditation]);
		chateauCast($skill[Manicotti Meditation]);

		// --------------------------------------------------
		// +exp
		chateauCast($skill[Aloysius' Antiphon of Aptitude]); // +1 exp @ 5 adv
		chateauCast($skill[Aloysius' Antiphon of Aptitude]);
		chateauCast($skill[Aloysius' Antiphon of Aptitude]);
		chateauCast($skill[Aloysius' Antiphon of Aptitude]);
		chateauCast($skill[Aloysius' Antiphon of Aptitude]);
		chateauCast($skill[Wry Smile]); // +1 exp @ 10 adv
		chateauCast($skill[Wry Smile]);
		chateauCast($skill[Wry Smile]);

		// --------------------------------------------------
		// +all
		useIfHave(1, $item[Gene Tonic: Dude]);

		// --------------------------------------------------
		// +hp
		buy(10, $item[Ben-Gal™ Balm]);
		use(10, $item[Ben-Gal™ Balm]);
		chateauCast($skill[Reptilian Fortitude]);
		chateauCast($skill[Reptilian Fortitude]);
		chateauCast($skill[Reptilian Fortitude]);
		chateauCast($skill[Reptilian Fortitude]);
		chateauCast($skill[Reptilian Fortitude]);

		// --------------------------------------------------
		// +spell dmg%
		chateauCast($skill[Song of Sauce]);
		chateauCast($skill[Song of Sauce]);
		chateauCast($skill[Song of Sauce]);

		// --------------------------------------------------
		// familiar
		if (alwaysFam != $familiar[none]) {
			use_familiar(alwaysFam);
		} else if (have_familiar($familiar[Galloping Grill])) {
		  use_familiar($familiar[Galloping Grill]);
		} else if (have_familiar($familiar[Hovering Sombrero])) {
			use_familiar($familiar[Hovering Sombrero]);
		} else if (have_familiar($familiar[Golden Monkey])) {
			use_familiar($familiar[Golden Monkey]);
		} else if (have_familiar($familiar[Grim Brother])) {
			use_familiar($familiar[Grim Brother]);
		} else if (have_familiar($familiar[Unconscious Collective])) {
			use_familiar($familiar[Unconscious Collective]);
		} else if (have_familiar($familiar[Smiling Rat])) {
			use_familiar($familiar[Smiling Rat]);
		}
		while ($item[Ghost Dog Chow].available_amount() > 0) {
			use(1, $item[Ghost Dog Chow]); // +20 fam exp
		}
		if ($item[astral pet sweater].available_amount() > 0) {
			equip($item[astral pet sweater]); // +10 lb
		}
		chateauCast($skill[Leash of Linguini]); // +5 lb @ 10 adv
		chateauCast($skill[Leash of Linguini]);
		chateauCast($skill[Leash of Linguini]);
		chateauCast($skill[Empathy of the Newt]); // +5 lb @ 5 adv
		chateauCast($skill[Empathy of the Newt]);
		chateauCast($skill[Empathy of the Newt]);
		chateauCast($skill[Empathy of the Newt]);
		chateauCast($skill[Empathy of the Newt]);

		// --------------------------------------------------
		// wrap up
		while (free_rest()) {
			while (have_skill($skill[Summon Taffy]) && my_mp() > (mp_cost($skill[Summon Taffy]) + 100)) {
				cast($skill[Summon Taffy]);
			}
		}
		useIfHave(7, $item[pulled violet taffy]);
		useIfHave(7, $item[pulled blue taffy]); // up to +5lb & + 10 fam exp @ 50 adv

		maximize("myst", false);
		equip($item[barrel lid]); // +50 ML
		saveProgress(250);
		if (doCheckpoints) {
			abort("Checkpoint: Before Powerleveling.  G-9: "+g9val());
		}
	}
 

Hellno

Member
The reason to cast all those things at that point is that you can use you rests (since you're using the mana gained) before you start powerlevelling, and therefore get (very slightly) more stats from powerlevelling. That said, I already created a mood for that purpose in the script I modified (linked earlier):

Code:
void powerlevelMood() {
	cli_execute("mood AutoHCCSPowerlevel");
	cli_execute("mood clear");
	
	if (have_skill($skill[Elemental Saucesphere])) {
		cli_execute("trigger lose_effect, Elemental Saucesphere, cast 1 Elemental Saucesphere");
	}
	
	//Totem buffs
	if (have_skill($skill[Astral Shell])) {
		cli_execute("trigger lose_effect, Astral Shell, cast 1 Astral Shell");
	}
	if (have_skill($skill[Ghostly Shell])) {
		cli_execute("trigger lose_effect, Ghostly Shell, cast 1 Ghostly Shell");
	}
	if (have_skill($skill[Reptilian Fortitude])) {
		cli_execute("trigger lose_effect, Reptilian Fortitude, cast 1 Reptilian Fortitude");
	}


	//shitty buffs
	if (have_skill($skill[Sauce Contemplation])) {
		cli_execute("trigger lose_effect, Saucemastery, cast 1 Sauce Contemplation");
	}
	if (have_skill($skill[Manicotti Meditation])) {
		cli_execute("trigger lose_effect, Pasta Oneness, cast 1 Manicotti Meditation");
	}
	if (have_skill($skill[Patience of the Tortoise])) {
		cli_execute("trigger lose_effect, Patience of the Tortoise, cast 1 Patience of the Tortoise");
	} 
	
	//AT buffs
	if (have_skill($skill[Ur-Kel's Aria of Annoyance])) {
		cli_execute("trigger lose_effect, Ur-Kel's Aria of Annoyance, cast 1 Ur-Kel's Aria of Annoyance");
	}
	if (have_skill($skill[Aloysius' Antiphon of Aptitude])) {
		cli_execute("trigger lose_effect, Aloysius' Antiphon of Aptitude, cast 1 Aloysius' Antiphon of Aptitude");
	}
	if (have_skill($skill[Stevedave's Shanty of Superiority])) {
		cli_execute("trigger lose_effect, Stevedave's Shanty of Superiority, cast 1 Stevedave's Shanty of Superiority");
	}
	if (have_skill($skill[The Magical Mojomuscular Melody])) {
		cli_execute("trigger lose_effect, The Magical Mojomuscular Melody, cast 1 The Magical Mojomuscular Melody");
	}

	//ML
	if (have_skill($skill[Pride of the Puffin])) {
		cli_execute("trigger lose_effect, Pride of the Puffin, cast 1 Pride of the Puffin");
	}
	if (have_skill($skill[Drescher's Annoying Noise])) {
		cli_execute("trigger lose_effect, Drescher's Annoying Noise, cast 1 Drescher's Annoying Noise");
	}
	
	
	//spell damage
	if (have_skill($skill[Song of Sauce])) {
		cli_execute("trigger lose_effect, Song of Sauce, cast 1 Song of Sauce");
	}
	
	//weight
	if (have_skill($skill[Leash of Linguini])) {
		cli_execute("trigger lose_effect, Leash of Linguini, cast 1 Leash of Linguini");
	}
	if (have_skill($skill[Empathy of the Newt])) {
		cli_execute("trigger lose_effect, Empathy, cast 1 Empathy of the Newt");
	}

	//+myst stats
	if (have_skill($skill[Wry Smile])) {
		cli_execute("trigger lose_effect, Wry Smile, cast 1 Wry Smile");
	}
	
	cli_execute("mood execute");
}
 
Top