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

So... umm... set a consultMyst script? Or is that not what it's trying to do?

What's your line 1075? Mine is the one where it sets float myst to buffed myst stat.

My 1075 is:
float myst = my_buffedstat($stat[Mysticality]);

The whole section is this block of code:
Code:
float wtfpwnageExpected(skill s) {
		float bAbs = numeric_modifier("Spell Damage");
		float bPer = numeric_modifier("Spell Damage Percent")/100 + 1;
		//Should multiply the bonuses below by bonus spell damage. 
		float bCol = numeric_modifier("Cold Spell Damage");
		float bHot = numeric_modifier("Hot Spell Damage");
		float bSte = numeric_modifier("Stench Spell Damage");
		float bSle = numeric_modifier("Sleaze Spell Damage");
		float bSpo = numeric_modifier("Spooky Spell Damage");
		float bElm = bCol+bHot+bSte+bSle+bSpo;
		float myst = my_buffedstat($stat[Mysticality]);
		print("BCC: These are the figures for "+to_string(s)+": Bonus: "+bAbs+" and "+bPer+"%//"+bCol+"/"+bHot+"/"+bSte+"/"+bSle+"/"+bSPo+"/El: "+bElm+"/Myst: "+myst, "purple");
		
		//Uses the above three functions to estimate the wtfpwnage from a given skill. 
		switch (s) {
			case $skill[Spaghetti Spear] :
				return (2.5*bPer + min(5, bAbs))*isWeak();
			case $skill[Ravioli Shurikens] :
				return (5.5*bPer + 0.07*myst*bPer + min(25, bAbs) + bElm)*isWeak();
			case $skill[Cannelloni Cannon] :
				return (12*bPer + 0.15*myst*bPer + min(40, bAbs) + bElm)*isWeak();
			case $skill[Stuffed Mortar Shell] :
				return (40*bPer + 0.35*myst*bPer + min(55, bAbs) + bElm)*isWeak();
			case $skill[Weapon of the Pastalord] :
				float weak = isWeak();
				if (weak == 2) weak = 1.5;
				return (48*bPer + 0.35*myst*bPer + bAbs + bElm)*weak;
			case $skill[Fearful Fettucini] :
				return (48*bPer + 0.35*myst*bPer + bAbs + bElm)*isWeak($element[spooky]);
			case $skill[Salsaball] :
				return (2.5*bPer + min(5, bAbs))*isWeak($element[hot]);
			case $skill[Stream of Sauce] :
				return (3.5*bPer + 0.10*myst*bPer + min(10, bAbs) + bElm)*isWeak("");
			case $skill[Saucestorm] :
				return (16*bPer + 0.20*myst*bPer + min(15, bAbs) + bElm)*isWeak("");
			case $skill[Wave of Sauce] :
				return (22*bPer + 0.30*myst*bPer + min(25, bAbs) + bElm)*isWeak("");
			case $skill[Saucegeyser] :
				return (40*bPer + 0.35*myst*bPer + min(10, bAbs) + bElm)*isWeak("");
			case $skill[Käsesoßesturm] :
				return (16*bPer + 0.20*myst*bPer + min(15, bAbs) + bElm)*isWeak($element[stench]);
			case $skill[Surge of Icing] :
				//Sugar Rush has an effect on this skill. 
				return (16*bPer + 0.20*myst*bPer + min(15, bAbs) + bElm);
			default:
				return 0;
		}

I don't have my own combat script set to handle combat in mystic runs. I ended up making one that is jiggle (I am using the pumpkin staff), entangling, then cannon. I set that as my CCS and fired up bumcheekascend again and then it dropped out of the loop again in the HITS but this time instead of attack it used spells to kill the mobs.

I'm not sure why it was having problems figuring how to combat them, because I was one-shotting them with cold tuned cannons. I ended up manually running the HITS until I had the star items and key, then fired up the script again and had no problems up through the whole island war. So far only the HITS mobs caused problems with the combat portion.
 

Winterbay

Active member
So... umm... set a consultMyst script? Or is that not what it's trying to do?

What's your line 1075? Mine is the one where it sets float myst to buffed myst stat.

consultMyst is an adventure filter, it's a function in the script that performs the battle for you. Or well, should :)

I based WHAM partly at that function.

There is an option to let you use your CCS as a myst-class and that's probably the best way to handle situations like this.

Chef_rannos: Can you give a bit information on what happened before it got stuck? The information just before it started looping the battle-info?
 

Theraze

Active member
Heh, I just checked and that function is already there. It is used in one place, to help run the Beer Pong. My guess is that this is because the Beer Pong logic is also borrowed from Rinn :)

Thought it was when I'd scanned through, but it doesn't hurt to offer it up again. :)
 

retracell

New member
Yes, but if you need more Muscle to make the zone safe, you don't want the hat anyway, and if you have enough muscle, then the tie will put it on. It's also not really THAT amazing. If I or someone else get to it before Winterbay is finished with a couple of other and more important tweaks, it'll get in, but otherwise I'm not planning on having it in 0.46. Could take a look at it in 0.47.

At this point however when I equip the hat, the script takes it off and puts on something else that's less useful. An instance of this is it takes off the helm for a helmet turtle. Only when I place everything into the closet does it keep the hat on, but once it finds a hat, it puts it on in place of Boris's Helm.
 
Maybe an option for a section to add in manually on the maximizer would be handy, so in that field you could put items you want to equip if they are possible.
 

golden_cow2

New member
Is there any way to change what familiar the script is using, because it's decided that the smiling rat is the second best stat familiar in the game.
 

golden_cow2

New member
Durr. (On a side note, there should probably be "Default Fairy" and "Default Stat" options).

Edit: Then what do MineUnaccOnly, telescope, and telescopeAsYouGo do?
 
Last edited:
Durr. (On a side note, there should probably be "Default Fairy" and "Default Stat" options).

Edit: Then what do MineUnaccOnly, telescope, and telescopeAsYouGo do?
MineUnaccOnly, if enabled, tells BCC to only mine if you know Unaccompanied Miner and have free mining uses left. The other 2 I don't know.
 

morgad

Member
They don't show for me :( - screenshot enclosed

the CLI output is
Code:
There is a new version available - go download the next version of bumcheekascend.ash at http://kolmafia.us/showthread.php?t=5470!
server) bumcheekcity
tab) bcsrelay_settings
loading map bumseman_scripts on server bumcheekcity
<li><a href='?tab=bcsrelay_settings&server;=bumcheekcity'>bumcheekcity - Ascend</a></li><li><a href='?tab=prefRefChoiceAdv&server;=other'>KoLMafia - ChoiceAdv</a></li><li><a href='?tab=prefRefGlobal&server;=other'>KoLMafia - Global</a></li><li><a href='?tab=prefRefOther&server;=other'>KoLMafia - Other </a></li><li><a href='?tab=bumrats_settings&server;=bumcheekcity'>bumcheekcity - bUMRATS</a></li><li><a href='?tab=zlib&server;=zarqon'>zLib Variables</a></li>
loading map bcsrelay_settings on server bumcheekcity

best regards
Dave
View attachment 6216
 

Attachments

  • Screenshot-bumSeMan Settings Manager 0.2 - Mozilla Firefox.png
    Screenshot-bumSeMan Settings Manager 0.2 - Mozilla Firefox.png
    115.6 KB · Views: 45

Winterbay

Active member
Delete the bcsrelay_settings.txt file from the /data directory. I had that trouble a while ago and deleting that file and letting BCCAscend redownload it solved the problem.
 

morgad

Member
thanks

Did I mention that the new leveling and temple traversal code in the current svn version rocks? :)

Virtual beers to all concerned :)

Dave
 

golden_cow2

New member
So I have defaultFamiliar set to "Frumious bandersnatch" but it's still using the rat.

Checking for familiar 'mini-hipster' where x=1
Checking for familiar 'smiling rat' where x=2

And then it uses the rat.

Edit: Relay 0.2, ascend .45 (I'll update later, busy now), most current mafia, not seeing descriptions.
 
Last edited:

bumcheekcity

Active member
You'll need to give more CLI output than that. It can be tricky to know how much, I appreciate that, but feel free to post a page or two then just bold where you feel the problem is.
 

Winterbay

Active member
I think the only place the script checks for "Hipster" is when revealing the Oasis where getting combats of that sort may be beneficial to you. That "x = 1" thing is ony used when an external file is being checked at and then the default familiar is out the window anyway.
 
I believe familiar use still needs some tweaking to be more optimal. Usually it's just fine for me but here's where I've noticed things I'd do differently (if I knew how to code it and could submit the patches).

It's pretty much always uses the rat for me in the temple, because I don't have a hipster. Every time I've noticed it going to the hidden temple it looks to see if I have a hipster, then looks for the smiling rat and uses that one.

When faxing t usually selects a jump suited hound dog for me for things like ASCII Art, Knob Goblin Elite, and Lobsterfrogmen. None of those are less than 100% drops so an item familiar is sub-optimal. Spleen or stats would be better. It doesn't fight the adding machine, but if you have funkslinging and entangling noodles that combat should be easy to win (I use my bandersnatch there).

It does use the organ grinder for some boss fights but unless I break and manually adventure it doesn't always use him enough to get a badass pie.



EDIT: For example, just now it switched to a slimeling when it faxed a lobsterfrogman, first adventure of the day as I fired up the script.

EDIT 2: Another example is the junkyard...it uses no familiar when there are plenty of familiars that don't damage the gremlins that would be helpful.
 
Last edited:
Here's an example for the smiling rat:

Code:
BCC: We have completed the stage [manorbilliards] and need to set it as so.
bcasc_stage_manorbilliards => 101
BCC: We have completed the stage [manorbilliards].
BCC: levelMe(29, true) called.
Need to Level up a bit to get at least 29 base Primestat
BCC: Maximizing ''
Maximizing...
16 combinations checked, best score -30.25
Conditions list cleared.
Condition added: Substats: 0 / 0 / 148
Checking for familiar 'mini-hipster' where x=1
Checking for familiar 'smiling rat' where x=2
Putting Poeticus Furious the Frumious Bandersnatch back into terrarium...
Taking Pinky the Smiling Rat out of terrarium...


It put my bander away (default familiar) to take the smiling rat to go level at the hidden temple.
 

slyz

Developer
Gathering data on all the familiars and adding code to BCAscend to use them optimally doesn't seem worth it. Having one stat familiar and one fairy familiar seems enough for scripted runs.

If you cringe at seeing the script doing unoptimal things, maybe it isn't meant for you. Implementing straightforward tweaks is one thing, making complex decisions like choosing a familiar is another.
 
Top