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

Crowther

Active member
1) Why do you have the character remove the familiar?

2) Would it possible or even worth it to put a limiter on the rounds spent. Say by Round 18 if using sing the molybdenum object has not dropped it is fairly certain it will not drop. So switch from using sing to all out attack.

Granted the turns lost to combat reaching 30 and ending in defeat are minimal at best.

I still manage to pull of 4 day HC runs with ease if I tweak day 1.
I assumed he was worried about familiars with attacks. I switched it to always use my hound.

For me, I had to start attacking after round 15 to be sure I'd kill them. Here's my patch:
Code:
***************
*** 1207,1213 ****
                        print("BCC: The script is trying to use the moly magnet. This may be the cause of the NULL errors here.", "purple");
                        return "item molybdenum magnet";
                } else {
!                       if (my_hp() < 50 && have_skill($skill[lasagna bandages])) {
                                //print("BCC: Let's cast bandages to heal you.", "purple");
                                return ((my_primestat() == $stat[Mysticality] && in_hardcore()) ? consultMyst(round, opp, text) : get_ccs_action(round));
                                //For some reason, this doesn't work at all and I can't work out why.
--- 1207,1215 ----
                        print("BCC: The script is trying to use the moly magnet. This may be the cause of the NULL errors here.", "purple");
                        return "item molybdenum magnet";
                } else {
!                       if (round > 15) {
!                               print("BCC: Too many rounds", "purple");
!                       } else if (my_hp() < 50 && have_skill($skill[lasagna bandages])) {
                                //print("BCC: Let's cast bandages to heal you.", "purple");
                                return ((my_primestat() == $stat[Mysticality] && in_hardcore()) ? consultMyst(round, opp, text) : get_ccs_action(round));
                                //For some reason, this doesn't work at all and I can't work out why.
I'm also doing regular 4-day HCNP runs, but my day one is a mess still. And I do part of day four by hand. I have to monitor the script full time, because it still wanders off and does the wrong thing now and then.
 
Last edited:

Tom Sawyer

Member
Crowther

Forgive my ignorance of scripting but how did you get those lines "1207,1213" ect to appear? I am assuming those indicate where to start and where to end.

I was comparing your patch to the original bumcheek file but to be honest was unclear what and how much you took out.

I like your patch, as I too have the hound and having the script stop after 15 turns and open up full guns is what I was trying to do.

Thanks in advance
 

slyz

Developer
It's a free pull, so it's the only offhand a newly ascended character has access to.

Apparently the Maximizer isn't as aware of trendiness as I thought it would.
 
Bumcheek

Kudos on this great script.

I suspect the answer is buried somewhere in the 187 pages but when adventuring in the junkyard:

1) Why do you have the character remove the familiar?


I wouldn't mind a relay option to stop at the junkyard. If I catch it I escape to do the junkyard manually.

I like to use a bander and use my free runaways here, and against the right gremlin my saucey salve casts sometimes heal for more with the bander out, and you get some more stats too. You also might need gremlin juice, so if you have a yellow ray available you can use it if a wrong gremlin is encountered.
 

slyz

Developer
Edit: Bwhahaha, was not expecting that...
Edit Edit: For clarity, this was using the 10006 latest version of mafia.

Code:
******************
Ascending Starting
******************
Doing a check for Telescope Items
Level 1 Starting
BCC: We have completed the stage [toot].
BCC: We have not completed the stage [guild].
BCC: Maximizing ''
Maximizing...
24 combinations checked, best score -60.75
Wielding rubber band gun...
Equipment changed.
Pulling items from storage...
You need 1 more The Spirit of Crimbo to continue.
Unable to meet all requirements via equipment changes.
See the Modifier Maximizer for further suggestions.
Should be fixed in r10009. The Maximizer will now pull the hobo code binder instead :)
At least the binder is ascension-relevant in some very special cases (2 day HCNP, here we come?).
 

Crowther

Active member
Forgive my ignorance of scripting but how did you get those lines "1207,1213" ect to appear? I am assuming those indicate where to start and where to end.

I was comparing your patch to the original bumcheek file but to be honest was unclear what and how much you took out.
I'm not sure exactly what you're asking. The command I ran was, "diff -c bumcheekascend\ v0.35.ash ascend.ash". I'm pretty sure it can be applied by doing "patch bumcheekascend\ v0.35.ash < thestuffIposted". The exclamation marks show the lines that changed. The top ones are before and the bottom ones after. Other systems use a similar format for patches (RCS, CVS, SVN). You might need to use a flag to tell patch to ignore white space differences, since the released ash script has inconstant end of line characters and that used to cause me trouble.
 

bumcheekcity

Active member
I've made a decision about where to go for the ascend script. I'm dialing back it's remit - which will now be to complete HCNP ascensions for moxie classes for the purposes of continuing to gain karma in periods where you can't play the game actively for any reason. Primary goals will be.

1) Zero click 4-day HCNP moxie ascension, not including consumption.
2) Ascend HCNP Muscle and Myst classes acceptably, so you can finish off a started ascension with one of those characters and save some days.
3) Do whatever the challenge path is. The challenge path could well be a little dodgy at any given point in time.

I'd like to properly resource manage this script - does anyone know how to use sourceforge to set up proper versioning so that people can submit patches and I can accept them using Tortoise CVS/SVN or something?
 

Winterbay

Active member
What's the main difference between .35 and .36?

Edit: also, is there a reason why the "hebo"-datafile is a lot less filled out than the "item"-one?

Edit, edit: Connected to the svn, created patch, uploaded to the site (adds have_trendy_familiar()-function and uses that instead of pure have_familiar(). Seems to be working.)
 
Last edited:

bumcheekcity

Active member
No difference. I spin release X, then change my NEW version to (X+1) and keep it on my machine. So version 0.35 is released, and version 0.36 is in development. I'll upload the file to the "Files" section at some appropriate interval.
 

Crowther

Active member
I think I've got it. I uploaded 0.36 there and would ask people to submit patches in diff files now (finally). I'm completely happy to accept people onto the project so they can submit "properly" as well.
Well, I submitted a patch. It's not one I'm proud of, but I really hope you don't mind. The patch makes the end of line characters uniform, which makes my life a whole lot easier. I've got a bunch of small patches I want to submit and I'm worried they won't match right otherwise. I figured now or never, because other people might not to see want so many trivial changes.
 

bumcheekcity

Active member
For some reason, your file doesn't work through tortoiseSVN patcher, even if I add .diff or .patch to the filename.

In principle I have no objection to standardisation of course, I'm just struggling to understand exactly what it does (I can see the patch in notepad, it just won't apply for some reason - can you try re-uploading?).
 
Here's a change I made. I've got a lot of karma banked and I wanted to at least SC perm all the Sauce skills I'm missing, and I was getting tired of the script setting the MCD so low. I figured if I'm over level 5, I should be able to spell sling and kill anything with another 10ML, which setting the ML higher for the whole run might save some turns later leveling.

I'd submit a patch but I have to go look up again how to make one...it's been a long time (10 years) since I used diff and patch. ;)

Code:
boolean setMCD(int moxie, int sMox) {
	//Can't be bothered to deal with this for other classes. 
	//if (!(my_primestat() == $stat[Moxie])) return false;
	if (get_property("bcasc_disableMCD") == "true") return false;
	
	if (canMCD()) {
		print("BCC: We CAN set the MCD.", "purple");
		//We do. Check maxMCD value
		int maxmcd = 10;
		int mcdval = 0;
		
		switch (my_primestat()) {
			case $stat[Muscle] :
				mcdval = my_buffedstat(my_primestat()) - sMox;
			break;
		
			case $stat[Mysticality] :
				if (my_level() > 5) {
					mcdval = maxmcd;
				} else {
					mcdval = my_buffedstat(my_primestat()) - sMox;
				}
			break;
		
			case $stat[Moxie] :
				mcdval = my_buffedstat(my_primestat()) - sMox;
			break;
		}
		if (mcdval > maxmcd) {
			mcdval = maxmcd;
		}
		cli_execute("mcd "+mcdval);
		return true;
	}
	return false;
}


EDIT: Hrm...my changes don't seem to work, because later it set the MCD back to 0 and left it there. :(
 
Last edited:

fronobulax

Developer
Staff member
end of line characters uniform

I may be totally wrong in which case I know someone will let me know, but I thought there was a way to configure SVN servers and clients so that the end of line stuff that happens when devs mix various operating systems just automagically goes away. In other words, the repository uses a consistent standard for EOL and the SVN client converts to and from that standard as files are copied locally and then committed back.

Bottom line, if I am right then it appears that the patch is not needed but SVN configuration may need to be tweaked.
 

bumcheekcity

Active member
Is anyone else able to get read access to the SVN (i.e. do I have to grant that to people, or does everyone have read access and I only have to grant commit priviliges to people)?
 

morgad

Member
I did a
Code:
git-svn init https://bumcheekascend.svn.sourceforge.net/svnroot/bumcheekascend bumcheekascend 
cd bumcheekascend/
git-svn fetch

and I now have a bumcheackascend.ash file labelled version 0.36, with the airship patch, and some trendy stuff in it

best regards
Dave
 

bumcheekcity

Active member
The dev version will be the one named bumcheekascend.ash, and then I'll manually take a revision once I think enough's got done, rename it to v0.xx.ash and put it up in the files page.

But the dev version will be the one I actually use, so the intention is for it to be permanently working, not broken half the time or anything.

You'll also find dev versions of the snapshot script up there soon, and anything else, because there's pretty much no point in opening new sourceforge pages for a one-file project :D
 

lightwolf

Member
I had been using 0.35 with a 100% familiar run set up in the relay script and it had been working fine.

I just downloaded the latest patched version from source forge, and it seems to be working great now without needing the 100% familiar option.

I think if it had been able to switch to item drop familiars more easily the last two days it even would have made it on the Trendy leader board! As it is now though, 5 days will be pushed off by the time i finish it, since i started late. It would be cool to see a scripted run make the boards at least for a little while though :p


Question, should the script be able to use an unbearable light if you have one in your inventory? (Or for when the pumpkin bombs are no longer useable in trendy path.) It looks like it doesn't now, and just keep's checking for the pumpkin which i already ate.
 
Top