bumcheekcend.ash - A zero setup semi-automated ascension script!

Ulti

Member
The script, for multiple ascensions now, I've had to do the hidden city manually.
It gets the machete, clears the vines, (it prompts me on the NCs to open the relay browser to open the side zones), but then it gets stuck here:
Code:
	//2 - Clear all vines and unlock hidden city area. 
	openStage(346, "The Hidden Apartment Building");
	openStage(347, "The Hidden Hospital");
	openStage(348, "The Hidden Office Building");
	openStage(349, "The Hidden Bowling Alley");
	openStage(350, "Unlocked Ziggurat");
Code:
	void openStage(int shrineSnarfblat, string locationName) {
		if (contains_text(visit_url("place.php?whichplace=hiddencity"), locationName)) {
			return;
		}

		equip($slot[weapon], $item[antique machete]);
		bumAdv(to_location(shrineSnarfblat), (my_path() == "Way of the Surprising Fist") ? "" : "-weapon, ", "", "1 choiceadv", "Opening "+locationName, "-");
	}
For the side zone "The Hidden Apartment Building", simply checking the page source will verify if the zone was already opened.
But for some reason, after clearing the vines, "A Massive Ziggurat" never reads "Unlocked Ziggurat" after clearing the vines, causing bumcheekcend to equip the machete and land on the NC, without any stone triangles in my inventory, thinking there's more vines to clear, when there's not. I believe the logic is flawed because it is expecting the page to contain the text "Unlocked Ziggurat" which apparently never appears. I'm not sure if this logic ever worked, I'm guessing people are auto-assigning a default choice option to this NC so you don't have to open the relay browser and relaunch bumcheekcend afterwards, and do it all over again ad infinitum.

Seems to have worked after running:
Code:
set_property("choiceAdventure791", "1");
Perhaps force this option to be set within bumcheekacend?
 
Last edited:

Fluxxdog

Active member
Suggestion for line 715?
Code:
		case $stat[Moxie] : 		cli_execute("maximize "+max_bees+" beeosity, mainstat "+maxMainstat+" max, "+(my_path() == "Way of the Surprising Fist"[COLOR="#FF0000"] || have_skill($skill[Tricky Knifework]) [/COLOR]? " " : " -melee ") + ((bcasc_AllowML) ? "" : "-10 ml") + " +moxie experience +0.5 mp regen min +0.5 mp regen max, .5 hp, "+maxme); break;[code]Similar change in 702 and 7590

Using this let's the Frankly Mr. Shank be equipped. Not best solution, but start to better one?
 

Crowther

Active member
It might be a good idea to allow people to opt out of -melee for moxie classes entirely. In heavy rains, I wanted to use Thor's Pliers, so I modified that same section of code as well.
 

Theraze

Active member
Suggestion for line 715?
Code:
		case $stat[Moxie] : 		cli_execute("maximize "+max_bees+" beeosity, mainstat "+maxMainstat+" max, "+(my_path() == "Way of the Surprising Fist"[COLOR="#FF0000"] || have_skill($skill[Tricky Knifework]) [/COLOR]? " " : " -melee ") + ((bcasc_AllowML) ? "" : "-10 ml") + " +moxie experience +0.5 mp regen min +0.5 mp regen max, .5 hp, "+maxme); break;[code]Similar change in 702 and 7590

Using this let's the Frankly Mr. Shank be equipped. Not best solution, but start to better one?[/QUOTE]

Is there anything that tracks 'knife' weapons in Mafia currently? If so, the better solution is probably to make a FReq to allow maximizing based on weapon type, since there are club bonuses, sword bonuses, knife bonuses, etc...
 

lostcalpolydude

Developer
Staff member
I can imagine a weapontype option being added to the maximizer (so "weapontype club" or "weapontype knife") even if I don't know how it would be coded, but I don't expect that you could say that you want a knife (always a melee weapon) or a ranged weapon in a single expression.
 

Theraze

Active member
Well, if weapontype is available to the maximizer, any chance for something like a "moxious" modifier available as an alternative to -melee? Or weaponstat moxie, weaponstat muscle? That would probably make more sense... Knives would use whatever the higher stat is, if you have the skills, but... yeah. :)
 

Bale

Minion
That keyword already exists. It's just "type" not "weapontype." Try maximizing for "type knife" or if you are a seal clubber you'll find "type club" to be useful.
 

Theraze

Active member
Any way to take type knife if it's better than your ranged weapons and not if you don't happen to have the Shank? Or is it time to request weaponstat or something similar as a modifier keyword?
 

Bale

Minion
The only way would be to whatif the results of the 5 parameter version of maximize for the two strings and comparing numeric_modifier("_spec", modifier) values.

Otherwise... I guess you could make a feature request, but I'm not sure exactly for what you'd ask.
 

fronobulax

Developer
Staff member
Is there any possibility that BCCAscend could be changed to delay when it goes after Groar? I have a couple characters who can clear to the peak, handle the fleeing Yetis but get beaten up by Groar. When I use Adventure Advisor or Guide there are several other steps that can be performed more safely, specifically the Orc Chasm and Highland Lord related material. I would be fine if the entire quest was delayed but it is only the boss fight that is out of place in terms of ability to survive.

(I suspect I have mentioned this before but I cannot recall why it was a bad idea. So this post is either the result of memory loss or the "Squeaky Wheel Theory").

Thanks.
 

Fluxxdog

Active member
EDIT: r14964 recently resolved this. Nothing to see here folks.

There is a compound bug in BCA. In line 3772, BCA visits Castle Top Floor whether it's open or not. BCA has checks to see what is actually available, but because of this bug, questL10Garbage gets set to step 9.

Because that preference is set incorrectly, other scripts, such as a bBS, can set choice adventures incorrectly because they think the Top Floor is open. BCA will adventure in the basement until it gets the choice adventure it wants as it's lastEncounter and trick itself into think the Ground Floor is open.

This will cause BCA to attempt adventuring on the Ground Floor indefinitely.
 
Last edited:

Fluxxdog

Active member
Code:
Using 1 "I Love Me, Vol. I"...
Finished using 1 "I Love Me, Vol. I".
You acquire an item: "2 Love Me, Vol. 2"
You lose 338 hit points
Using 1 "2 Love Me, Vol. 2"...
Finished using 1 "2 Love Me, Vol. 2".
Encounter: Another Errand I Mean Quest
BCC: Preparing Booze (Have 0 SCC and 0 ACC)
You are currently in a choice.
Encounter: Another Errand I Mean Quest
Line 5966 visits your Paco, which can lead to a choice adventure. Since it use visit_url, no choices are made, causing an indefinite loop.
 

Razorsoup

Member
So, I'm getting this right now:
BCC: Maximizing '5 elemental damage, +equip bloodied surgical dungarees, +equip surgical apron, +equip half-size scalpel, +equip head mirror, +equip surgical mask, '
Maximizing...
456 combinations checked, best score 2,172.00 (FAIL)
Wielding happiness...
Equipment changed.
Putting on Ultracolor™ shirt...
Equipment changed.
Putting on Danglin' Chad's loincloth...
Equipment changed.
Putting on Mudflap-Girl Ring...
Equipment changed.
Putting on Ring of the Sewer Snake...
Equipment changed.
Unable to meet all requirements via equipment changes.
See the Modifier Maximizer for further suggestions.
BCC: Maximizing '5 elemental damage, +equip bloodied surgical dungarees, +equip surgical apron, +equip half-size scalpel, +equip head mirror, +equip surgical mask, '
Maximizing...
456 combinations checked, best score 2,172.00 (FAIL)
Unable to meet all requirements via equipment changes.
See the Modifier Maximizer for further suggestions.
BCC: Maximizing '5 elemental damage, +equip bloodied surgical dungarees, +equip surgical apron, +equip half-size scalpel, +equip head mirror, +equip surgical mask, '
Maximizing...
456 combinations checked, best score 2,172.00 (FAIL)
Unable to meet all requirements via equipment changes.
See the Modifier Maximizer for further suggestions.

I have the surgical equipment but the maximizer seems to be preferring that other equipment. It seems the "+equip" keyword doesn't force mafia to equip those items causing the maximization to fail.. I'm not entirely sure what the fix for this would be but if it can be fixed please do. Thank you.
 

Theraze

Active member
Equip only forces it as an option. If the maximizer beats it out, the required item can lose. It's a 'feature' of the maximizer, with a very good reason behind it... before that was added, you needed to maximize twice to actually get the optimal gear, since until you had the requirements, all new items would only be added if they helped the requirements. After you've met the requirements, it would move on and do an optimal maximization. Now, the way it works is that if your requirement fails, the maximizer will just give you random stuff that may or may not have had anything to do with what you asked for. So try not to give it requirements when you aren't paying attention to it very carefully.

The only way to avoid that is to skip maximizing the slots, which becomes a problem with the accessory slots. But if nobody else has taken that on in the next few days, I'll probably fix that script bug. Equip + adding to the string with each bit, giving each potential accessory its own slot which will be avoided if it's used. Should be simple. But should hopefully also be done by someone without a raging head cold. :)

Along with the one that thinks you can get the LEW at 11 mainstat rather than 12.
 

theselor

New member
I am very sorry for posting a question that is probably answered somewhere... but searching just isn't getting me a complete, understandable answer.
I can see that the script can do the War as a Hippy... do I change those doWarAs bits in the script? In this relay script I see mentioned?
Can someone give me the TotalIdiotsGuide for the current version of the script?
Thanks
 

Crowther

Active member
The relay script is the easiest way to find and set most of the settings. As it says, choose "frat" or "hippy". You can also choose "abort" if you want to do the war yourself. I do that, because in softcore there's many trick that BCA doesn't take advantage of.
 

Winterbay

Active member
ANd just for completeness: The relay script can be found in the relay browser, up to the right when launching the browser is a drop down menu with your currently installed relay scripts. Use the one called something like "bumcheekrelay" (can't remember the actual name atm) and you will get presented with a long list of options for settings you can tweak.
 

theselor

New member
thanks tons, folks

ANd just for completeness: The relay script can be found in the relay browser, up to the right when launching the browser is a drop down menu with your currently installed relay scripts. Use the one called something like "bumcheekrelay" (can't remember the actual name atm) and you will get presented with a long list of options for settings you can tweak.
 
Top