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

Theraze

Active member
Code:
		if ((i_a("dictionary") == 0 && is_not_yet(get_property("questL09Lol"), "finished")) && index_of(visit_url("place.php?whichplace=orc_chasm"), "cross_chasm.gif") == -1) {
			cli_execute("outfit swashbuckling getup");
			cli_execute("buy 1 abridged dictionary");
			
			print("BCC: Using the dictionary.", "purple");
			
			//The below seems to exit the script on successful completion. I'm going to try capturing the output.
			visit_url("forestvillage.php?action=screwquest&submit="Sure Thing."");
			visit_url("forestvillage.php?place=untinker&action=screwquest");
			visit_url("forestvillage.php?action=screwquest&submit="Sure Thing."");
			safe_visit_url("knoll.php?place=smith");
		}

		if(i_a("smut orc keepsake box") > 0)
			use(item_amount($item[smut orc keepsake box]), $item[smut orc keepsake box]);	
		
		//Update Mafia's internal variable for the bridge
		if (to_int(get_property("lastChasmReset")) != my_ascensions())
			chasm = visit_url("place.php?whichplace=orc_chasm");
		//Disassemble the bridge and use all parts we have
		chasm = visit_url("place.php?whichplace=orc_chasm&action=bridge"+(to_int(get_property("chasmBridgeProgress"))));
We are supposed to buy the dictionary (per the top). We do the untinker quest (only if in a muscle sign... is there a major reason we don't use mafia's built-in completion instead?). We use keepsake boxes. We visit the chasm. We place the bridge.

Wait... we place the bridge? We never untinkered to create the bridge in the first place! :)
 
[1433] Sorceress Tower: Level 1
Encounter: fancy bath slug
Unexpected error, debug log printed.
Server-side change detected. Script aborted.
Round 0: X casts RETURN!
Encounter: fancy bath slug
Unexpected error, debug log printed.
You need 1 more steaming evil to continue.
Checking prerequisites...
Climbing the tower...

It does this until it wastes all my turns? 30 gone..:(
 

lostcalpolydude

Developer
Staff member
[1433] Sorceress Tower: Level 1
Encounter: fancy bath slug
Unexpected error, debug log printed.
Server-side change detected. Script aborted.
Round 0: X casts RETURN!
Encounter: fancy bath slug
Unexpected error, debug log printed.
You need 1 more steaming evil to continue.
Checking prerequisites...
Climbing the tower...

It does this until it wastes all my turns? 30 gone..:(

Post the debug log.
 

Winterbay

Active member
Code:
        if ((i_a("dictionary") == 0 && is_not_yet(get_property("questL09Lol"), "finished")) && index_of(visit_url("place.php?whichplace=orc_chasm"), "cross_chasm.gif") == -1) {
            cli_execute("outfit swashbuckling getup");
            cli_execute("buy 1 abridged dictionary");
            
            print("BCC: Using the dictionary.", "purple");
            
            //The below seems to exit the script on successful completion. I'm going to try capturing the output.
            visit_url("forestvillage.php?action=screwquest&submit="Sure Thing."");
            visit_url("forestvillage.php?place=untinker&action=screwquest");
            visit_url("forestvillage.php?action=screwquest&submit="Sure Thing."");
            safe_visit_url("knoll.php?place=smith");
        }

        if(i_a("smut orc keepsake box") > 0)
            use(item_amount($item[smut orc keepsake box]), $item[smut orc keepsake box]);    
        
        //Update Mafia's internal variable for the bridge
        if (to_int(get_property("lastChasmReset")) != my_ascensions())
            chasm = visit_url("place.php?whichplace=orc_chasm");
        //Disassemble the bridge and use all parts we have
        chasm = visit_url("place.php?whichplace=orc_chasm&action=bridge"+(to_int(get_property("chasmBridgeProgress"))));
We are supposed to buy the dictionary (per the top). We do the untinker quest (only if in a muscle sign... is there a major reason we don't use mafia's built-in completion instead?). We use keepsake boxes. We visit the chasm. We place the bridge.

Wait... we place the bridge? We never untinkered to create the bridge in the first place! :)

There's a built-in way to do it? That's news to me :) Does it work under zombie-runs? Otherwise using visit-url is probably the way forward still.
And I noticed that as well, but I ma certain that it has worked at least once so I wonder why that is...

Adding a line to disassemble the dictionary should be enough to fix that I guess though (well apart from the non-muscle sign thingie)
 

Theraze

Active member
Supposed to work during Zombiecore, as it's a part of basic mafia functionality and mafia supports basic functionality+challenge paths. Looks like this part (from UntinkerRequest.java) does do the ZC:
Code:
	private static final String [] UNTINKER_STRINGS =
	{
		"Here, lemme mark the Knoll on your map."",
		"I lost it at Degrassi Knoll, you'll recall."",
		// Zombiecore
		"Sure, no problem."",
		"Oh right, Degrassi Knoll. Okay, I'll be right back.""
	};

Edit: Another tweak I'll probably include. Since mafia now parses the star charts properly, it knows you've failed when you try to create a star item without enough ingredients, and BCA aborts. The manual creation is unnecessary (unless you're using outdated mafia), but I've put it after a creatable_amount check. !retrieve_item & creatable_amount? Make manually, since apparently the user told us we can't use coinmasters/shops/whatever we call star charts currently. :)

Edit2: Something I'm less sure on how to make it do properly is fighting Ed. It's aborted twice now after Ed fight 1 to heal. I just ran adventure 6 lower chamber to finish it off, but we probably need something better than that. Probably.
 
Last edited:

Winterbay

Active member
It has been clearly stated somewhere that BCA only supports the latest .jar so there's no problem doing any changes that only work in newer versions. The start-chart thingie is as it is because of the new shop layout and should be changed to something more useful as soon as possible, the same goes for the pixel-part which currently does too many server hits for something that can be done the normal way again now (or at least I think Mafia's been fixed there as well, right?)
 
My new computer that I had set up to run bumcheekascend has crashed. I got my old computer back out, but it had been wiped, so I've lost everything that I had saved. I've spent the last couple hours trying to restore everything and finally have mafia up and running. Now I'm getting an error when I try to run BCA. Not sure what to do on this one. It's saying something about farquar and looking for eyedrops. And basically won't adventure any. Any help would be greatly apprectiated. Thanks guys.

Edit: I have the most recent version of mafia and all of my scripts, which I did save on a thumbdrive a few months ago, but this was before all of the Jarlsberg stuff came out. So I guess that's where I'm stuck at since I'm in the middle of an AOJ run. I think that I have the most current version of BCA, which I downloaded from sourceforge. But not quite sure.

I feel like I am forgetting to download something, but for the life of me I can't figure out what it is. Anyone have a list of scripts that they use?
 
Last edited:

jbouzanquet

Member
It's saying something about farquar and looking for eyedrops. And basically won't adventure any.
Do you have the knob goblin elite guard outfit? And did you wear it and visit the barracks to get the password, then the dispensary? I had mafia think it was unable to buy eyedrops when I had the outfit, so I manually bought one and then it worked fine after.
 

bumcheekcity

Active member
Copy/pasting the exact error message(s) is always infinitely more helpful than a vague description of error messages, though likely the above fixes things.
 
Do you have the knob goblin elite guard outfit? And did you wear it and visit the barracks to get the password, then the dispensary? I had mafia think it was unable to buy eyedrops when I had the outfit, so I manually bought one and then it worked fine after.

Yes, I did have the outfit on and did all of that. But, when I logged in this morning and adv again, it wasnt doing it anymore. I tried to c/p the error message but it wouldn't let me go that far back, as it had kept trying to adv and that's all it was showing.
 

Winterbay

Active member
Another "BCA forgot to go to the council for the Cyrpt even though the function starts with bcCouncil" abort. Is there a good reason why we do visit_url("council.php"); instead of council();?

Seeing that you've now done this change I have one question: Is there any way to repress the printout that the council()-command does to the CLI? I feel that one of the benefits of the visit_url-call was that it didn't print anything to the CLI/Log, something that gets especially noticeable when it does 9-10 visits in a row (one per level). Which btw was what I think the earlier code was intending to avoid, but I may be wrong there.
 

Theraze

Active member
Well, I just checked my session logs on multiple characters both before and after that change and they don't have any records of the council trips showing in there. Did you mean the gCLI, or were you actually talking about it going into the log and I'm just missing it somehow?

The issue with before was that it wasn't marking the mafia lastCouncilVisit preference. We could manually set that along with the bcasc_lastCouncilVisit if we wanted, but it seems bad form to have mafia's internal "Have I already checked with the council? No? Quick, server hit so we unlock stuff!" preferences not get set properly. Especially when it affects things like unlocking the Fantasy airship, etc.
 

Theraze

Active member
Second time where I've had this happen in the last few days:
[728] Twin Peak
Round 2: Theraze casts BOIL!
KoLmafia thinks it is round 3 but KoL thinks it is round 2
Round 3: bearpig topiary animal takes 220 damage.
Round 3: Theraze wins the fight!
You gain 5 Strongness
You gain 14 Wizardliness
You gain 4 Roguishness

BCC: Run_Combat() being used normally.
Mood swing complete.
BCC: We have completed the stage [peakoil] and need to set it as so.
bcasc_stage_peakoil => 55
BCC: We have completed the stage [peakoil].
BCC: We have not completed the stage [peakinit].
BCC: Maximizing 'initiative'
Maximizing...
Basically, peakoil gets marked as completed even though it never got its choice adventure. This means that when peakinit comes up, it doesn't complete because it isn't available yet, so the whole Twin Peak automation breaks down and gets... confused. I'll look into it some more.

Edit: Ah... think that's it. We use the rusty hedge trimmers with a visit_url and don't refresh inv to fix it, so when I finished peakstench, it though I still had another RHT to finish off peakoil with easily. Easy enough to fix... just refresh inv after. If i_a(RHT) > 0. That should save the server hits when we actually hit the choiceadv.

Alternatively, could add another boolean and work off that, which would be more reliable... suppose that's the better way to do it. *nods*

Edit2: Ah. Interestingly, peakitems had been noted as needing the inventory refresh. The other two peaks were forgotten. Will set all 3 to use a boolean and only refresh inv if needed.

Edit3: Unrelated to that fix, but another optimization question. Is it worth it to use a blessed large box when we hit the entryway if we didn't get our bang potion when we got our wand? It guarantees that you get the potion you need at the cost of a clover...
 
Last edited:

heeheehee

Developer
Staff member
Edit3: Unrelated to that fix, but another optimization question. Is it worth it to use a blessed large box when we hit the entryway if we didn't get our bang potion when we got our wand? It guarantees that you get the potion you need at the cost of a clover...

Bear in mind that if you opt for this route, you'll need to save some liver space (unless you're really bleeding-edge/rich and willing to casual-drop+melange+ascend+try again), unless you can ID the booze pot through combat.

I guess you might have a spare clover if gate 2 (3?) didn't want gum, though, and if you already have all cloverable tower items, no reason not to use it here.
 

Theraze

Active member
It's just a question if you want to id all the potions with one large box or if you want it to take 1-? boxes instead. :) I managed to complete the ascension with 5 adventures left that day, which made me happy. Adventuring 40 or so adventures (first large box at 1566, finally got my second fizzy potion at 1603 adventures) to get 6 large boxes was depressing. I IDed the fizzy potion as the one I needed on my first large box, but it took 5 more large boxes (and 4 small boxes) before I got another.
 

heeheehee

Developer
Staff member
Hrmm. I generally don't combat-ID !-pots unless I have duplicates. Once I identify the booze pot, it's safe to drink with reckless abandon.

(am I just weird, or do other people also do this?)
 

Theraze

Active member
It gets done through WHAM/BCA automatically for me usually. But yeah, would have saved >30 adventures on that first character and would have ascended a day earlier on another. *shrugs* If it isn't generally wanted, I can skip it.

With the exception of Ed (where BCA tries to do the normal after-combat actions which includes healing after the fight), Wossman-boss (as myst/AoJ where I easily kill him with the script, but BCA aborts for safety), and Clancy/Boris (where WHAM believes Clancy is a pushover and dies quickly so I can't automate it), BCA is running pretty smoothly for me now.
 
Top