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

Or do i have to write an actual consult script for that? Is there a way to do that in just the built in CCS editor?
 
It should, as long as the consult script doesn't finish the fight. Not tested though :)
 
Last edited:
Small Efficiency:
1) if you suffer from teleportitus and haven't completed the Mine (exhausted unaccompanied) or haven't done the Daily Dungeon yet, do those to burn it off after getting the Oracle.

It does this already. Or at least mine did burn off turns in the daily dungeon.

Caught some weird glitch ( or, perhaps, it's a feature ? ) - while playing as a DB, the script is trying to craft an AT Epic weapon:

You can also see my puny attempt to skip the stage script is stuck on - by the way, it could be a great idea for implementing into relay script for bumcheekcend.

It wants an accordion in order to cast the AT buffs it uses. At the start it must get one if you are not an AT and as such you must sell your pork gems to finance that or gather meat yourself for a while.
 
Oh well. I came up with a real thing to post as well so tripple post it is...

Would it be possible to use Blood of the Wereseal if it is available as a Muscle class? It often helps with the last bit of muscle for some parts such as the F'c'le.

That said the script now wants to level up in the Haunted Gallery which fails because it hasn't unlocked it yet. It has however unlocked the ballroom which is nice I guess :)
Perhaps have it unlock the gallery if you're a muscle class while you're unlocking the 2nd floor of the manor?

Code:
BCC: We have completed the stage [piratefledges] and     need to set it as so.
bcasc_stage_piratefledges => 64
BCC:     We have completed the stage [piratefledges].
Need     to Level up a bit to get at least 68 base Primestat
Conditions     list cleared.
Condition added: Substats: 555 / 0 / 0
Substats: 555 /     0 / 0
When I run low on Go Get 'Em, Tiger!, use 5 Ben-Gal™ Balm
When     I run low on Go Get 'Em, Tiger!, use 5 Ben-Gal™ Balm
When I run     low on Patience of the Tortoise, cast 1 Patience of the Tortoise
BCC:     Need less combat, brave Sir Robin!
When I run low on Go Get 'Em,     Tiger!, use 5 Ben-Gal™ Balm
When I run low on Patience of the     Tortoise, cast 1 Patience of the Tortoise
When I run low on Smooth     Movements, cast 1 Smooth Movement
When I run low on Go Get 'Em, Tiger!,     use 5 Ben-Gal™ Balm
When I run low on Patience of the Tortoise,     cast 1 Patience of the Tortoise
When I run low on Smooth Movements,     cast 1 Smooth Movement
When I run low on The Sonata of Sneakiness, cast     1 The Sonata of Sneakiness
When I get Carlweather's Cantata of     Confrontation, uneffect Carlweather's Cantata of Confrontation
When I     run low on Go Get 'Em, Tiger!, use 5 Ben-Gal™ Balm
When I run low     on Patience of the Tortoise, cast 1 Patience of the Tortoise
When I run     low on Smooth Movements, cast 1 Smooth Movement
When I run low on The     Sonata of Sneakiness, cast 1 The Sonata of Sneakiness
BCC:     Need items!
When I get Carlweather's Cantata of Confrontation,     uneffect Carlweather's Cantata of Confrontation
When I run low on Fat     Leon's Phat Loot Lyric, cast 1 Fat Leon's Phat Loot Lyric
When I run     low on Go Get 'Em, Tiger!, use 5 Ben-Gal™ Balm
When I run low on     Patience of the Tortoise, cast 1 Patience of the Tortoise
When I run     low on Smooth Movements, cast 1 Smooth Movement
When I run low on The     Sonata of Sneakiness, cast 1 The Sonata of Sneakiness
When I get     Carlweather's Cantata of Confrontation, uneffect Carlweather's Cantata of     Confrontation
When I run low on Fat Leon's Phat Loot Lyric, cast 1 Fat     Leon's Phat Loot Lyric
When I run low on Go Get 'Em, Tiger!, use 5     Ben-Gal™ Balm
When I run low on Leash of Linguini, cast 1 Leash     of Linguini
When I run low on Patience of the Tortoise, cast 1 Patience     of the Tortoise
When I run low on Smooth Movements, cast 1 Smooth     Movement
When I run low on The Sonata of Sneakiness, cast 1 The Sonata     of Sneakiness
When I get Carlweather's Cantata of Confrontation,     uneffect Carlweather's Cantata of Confrontation
When I run low on Fat     Leon's Phat Loot Lyric, cast 1 Fat Leon's Phat Loot Lyric
When I run     low on Go Get 'Em, Tiger!, use 5 Ben-Gal™ Balm
When I run low on     Leash of Linguini, cast 1 Leash of Linguini
When I run low on Patience     of the Tortoise, cast 1 Patience of the Tortoise
When I run low on     Peeled Eyeballs, use 1 Knob Goblin eyedrops
When I run low on Smooth     Movements, cast 1 Smooth Movement
When I run low on The Sonata of     Sneakiness, cast 1 The Sonata of Sneakiness
Checking     for familiar 'Dandy Lion' where x=1
Checking     for familiar 'slimeling' where x=2
Checking     for familiar 'Coffee Pixie' where x=3
I     need 68 base moxie (going to Gallery)
BCC:     Attempting to get clovers to level with.
BCC:     We've already got Clovers Today

Visit to Manor1: Haunted     Gallery in progress...
You can't get to that area.
 
Why didn't you try with the latest version, or search the thread?

v16 doesn't even run if you are a myst classs sine myst classes aren't supported yet (which I knew).

Code:
******************
Ascending Starting
******************
Doing a check for Telescope Items
Level 1 Starting
BCC: We have completed the stage [toot].
BCC: We have completed the stage [knob].
BCC: We have completed the stage [pantry].
Level 2 Starting
BCC: We have not completed the stage [guild1].
BCC: We have completed the stage [spookyforest].
Level 3 Starting
BCC: We have not completed the stage [guild2].
BCC: We have completed the stage [tavern].
Level 4 Starting
BCC: We have completed the stage [bats1].
BCC: We have completed the stage [meatcar].
BCC: We have completed the stage [bats2].
BCC: We have completed the stage [8bit].
Level 5 Starting
BCC: We have completed the stage [knobking].
BCC: We have completed the stage [dinghy].
BCC: We have completed the stage [manorbilliards].
Level 6 Starting
BCC: We have completed the stage [friars].
BCC: We have completed the stage [friarssteel].
BCC: We have completed the stage [manorlibrary].
Level 7 Starting
BCC: We have completed the stage [cyrpt].
BCC: We have completed the stage [innaboxen].
BCC: We have completed the stage [manorbedroom].
Level 8 Starting
BCC: We have completed the stage [trapper].
BCC: We have completed the stage [wand].
BCC: We have not completed the stage [piratefledges].
ZOMG NO MYST

Since at the moment I am only have myst classes and want to use this script to help debug it I have been using 14.1.
 
So, did this update to my copy of the Level 3 tavern solver to make it efficient, but still able to handle if things go wrong... Since I made the change, it hasn't gotten past the bottom wall (though once it made it almost to the end of it), but... This would replace this part of picklish's code:
PHP:
        for x from 1 to 5 {
            for y from 1 to 5 {
                if (index_of(cellar, "Explore the Darkness (1) (" + x + "," + y + ")") > 0) {
                    try = x + (y - 1) * 5;
                } else if (index_of(cellar, "A Rat Faucet (1) (" + x + "," + y + ")") > 0) {
                    faucet = x + (y - 1) * 5;
                }
            }
        }
with this... first, I defined these outside the while loop, so it doesn't happen every time:
PHP:
   int circuit = 0;
   int x;
   int y;
Then, these happen:
PHP:
    try = 0;
    faucet = 0;
    circuit = 0;

    while (try + faucet == 0)
    {
     circuit += 1;
     switch( circuit )
     {
      case 1:
       y = 1;
       for x from 5 to 1
       {
        if (index_of(cellar, "A Rat Faucet (1) (" + x + "," + y + ")") > 0)
        {
         faucet = x + (y - 1) * 5;
        }
        else if (index_of(cellar, "Explore the Darkness (1) (" + x + "," + y + ")") > 0)
        {
         try = x + (y - 1) * 5;
        }
       }
       break;
      case 2:
       x = 1;
       for y from 5 to 1
       {
        if (index_of(cellar, "A Rat Faucet (1) (" + x + "," + y + ")") > 0)
        {
         faucet = x + (y - 1) * 5;
        }
        else if (index_of(cellar, "Explore the Darkness (1) (" + x + "," + y + ")") > 0)
        {
         try = x + (y - 1) * 5;
        }
       }
       break;
      case 3:
       y = 5;
       for x from 5 to 1
       {
        if (index_of(cellar, "A Rat Faucet (1) (" + x + "," + y + ")") > 0)
        {
         faucet = x + (y - 1) * 5;
        }
        else if (index_of(cellar, "Explore the Darkness (1) (" + x + "," + y + ")") > 0)
        {
         try = x + (y - 1) * 5;
        }
       }
       break;
      default:
       for x from 5 to 1
       {
        for y from 1 to 5
        {
         if (index_of(cellar, "A Rat Faucet (1) (" + x + "," + y + ")") > 0)
         {
          faucet = x + (y - 1) * 5;
         }
         else if (index_of(cellar, "Explore the Darkness (1) (" + x + "," + y + ")") > 0)
         {
          try = x + (y - 1) * 5;
         }
        }
       }
       break;
     }
    }

It's not as pretty, but it works guaranteed, with the fast system.

What it does is runs the adventures in circuits. First, (circuit 1) it runs against the top wall. Then, (circuit 2) it runs down the left wall. Next, (circuit 3) it runs across the bottom wall. If success still hasn't been met (default) it runs down to up, left to right... that means that with the currently spaded locations, it starts with the last possibile square as its first checked space, before moving on to the rest of the possible squares (which should never need to be checked, but if the designers decide to throw in a new wrench to the system, it'll still work).
 
It wants an accordion in order to cast the AT buffs it uses. At the start it must get one if you are not an AT and as such you must sell your pork gems to finance that or gather meat yourself for a while.

But how exactly is the script planning to cast the AT buffs if I don't even have any ? The account I'm using it on is in it's first softcore run, and the only permed skill is Advanced Cocktailcrafting.
 
It doesn't know you have no AT buffs. It'll still make the RNR on the basis that you should totally get them, like a reminder :P

In all seriousness, lack of effort on my part. If someone wants to write the if statement for the buffs which the script would ever be vaguely likely to cast, I'll wrap it the RNR making code in that if statement.

As a general rule, if it's a minor optimisation that doesn't really effect me I'm not going to make it, but if someone else makes it, I'll happily include it.
 
Last edited:
Didn't I do that a ways back? ;)

Edit: yes I did, but I can't figure out how to link to a post. :(

Code:
boolean require_rock_and_roll_legend() {
    float n = 0;
    if (have_skill($skill[ The Moxious Madrigal ])) n += 0.1 + (0.1 * to_float(my_primestat() == $stat[Moxie]));
    if (have_skill($skill[ The Magical Mojomuscular Melody ])) n += 0.1 + (0.3 * to_float(my_primestat() == $stat[Mysticality]));
    if (have_skill($skill[ Cletus's Canticle of Celerity ])) n += 0.1;
    if (have_skill($skill[ The Power Ballad of the Arrowsmith ])) n += (0.5 * to_float(my_primestat() == $stat[Muscle]));
    if (have_skill($skill[ The Polka of Plenty ])) n += 0.1;
    if (have_skill($skill[ Jackasses' Symphony of Destruction ])) n += 0.2;
    if (have_skill($skill[ Fat Leon's Phat Loot Lyric ])) n += 0.8;
    if (have_skill($skill[ Brawnee's Anthem of Absorption ])) n += 0.1;
    if (have_skill($skill[ The Psalm of Pointiness ])) n += 0.1;
    if (have_skill($skill[ Stevedave's Shanty of Superiority ])) n += 0.2;
    if (have_skill($skill[ Aloysius' Antiphon of Aptitude ])) n += 0.2;
    if (have_skill($skill[ The Ode to Booze ])) n += 0.6;
    if (have_skill($skill[ The Sonata of Sneakiness ])) n += 0.5;
    if (have_skill($skill[ Ur-Kel's Aria of Annoyance ])) n += 0.4;
    if (have_skill($skill[ Dirge of Dreadfulness ])) n += 0.1;
    if (have_skill($skill[ Inigo's Incantation of Inspiration ])) n+= 0.7;
    return (n >= 1.0);
}
 
Last edited:
V0.17:
Code:
BCC: We have not completed the stage [chasm].
Searching for "abridged dictionary"...
Purchasing abridged dictionary (1 @ 1,000)...
You acquire an item: abridged dictionary
You spent 1,000 Meat
Purchases complete.
BCC: Using the dictionary.
Accepting quest to find the Untinker's screwdriver
Accepting quest to find the Untinker's screwdriver
Accepting quest to find the Untinker's screwdriver
Server www2.kingdomofloathing.com returned a blank page from knoll.php. Complain to Jick, not us.

Obviously the blank page isn't the issue, but the screwdriver thing. BTW: I already have the screwdriver.
 
Code:
boolean require_rock_and_roll_legend() {
    float n = 0;
    if (have_skill($skill[ The Moxious Madrigal ])) n += 0.1 + (0.1 * to_float(my_primestat() == $stat[Moxie]));
    if (have_skill($skill[ The Magical Mojomuscular Melody ])) n += 0.1 + (0.3 * to_float(my_primestat() == $stat[Mysticality]));
    if (have_skill($skill[ Cletus's Canticle of Celerity ])) n += 0.1;
    if (have_skill($skill[ The Power Ballad of the Arrowsmith ])) n += (0.5 * to_float(my_primestat() == $stat[Muscle]));
    if (have_skill($skill[ The Polka of Plenty ])) n += 0.1;
    if (have_skill($skill[ Jackasses' Symphony of Destruction ])) n += 0.2;
    if (have_skill($skill[ Fat Leon's Phat Loot Lyric ])) n += 0.8;
    if (have_skill($skill[ Brawnee's Anthem of Absorption ])) n += 0.1;
    if (have_skill($skill[ The Psalm of Pointiness ])) n += 0.1;
    if (have_skill($skill[ Stevedave's Shanty of Superiority ])) n += 0.2;
    if (have_skill($skill[ Aloysius' Antiphon of Aptitude ])) n += 0.2;
    if (have_skill($skill[ The Ode to Booze ])) n += 0.6;
    if (have_skill($skill[ The Sonata of Sneakiness ])) n += 0.5;
    if (have_skill($skill[ Ur-Kel's Aria of Annoyance ])) n += 0.4;
    if (have_skill($skill[ Dirge of Dreadfulness ])) n += 0.1;
    if (have_skill($skill[ Inigo's Incantation of Inspiration ])) n+= 0.7;
    return (n >= 1.0);
}

if (have_skill($skill[ Carlweather's Cantata of Confrontation ])) n += 0.4;
 
Following neatly onto the other golden rule whereby I forget to do a lot of things. Except this one. Added in 0.18.

Yay, glad to help! Notice, I'm not sure which of those are ever used by your script (or if your script uses the user's moods). If bumcheekcend.ash will never use a particular song, just remove that line. And maybe edit values as you deem appropriate. And maybe add "if (my_class() == $class[Accordion Thief]) return true;" to the top, depending on when this function is called and whether it's the only check for making the R'n'R or not. ;)
 
if (have_skill($skill[ Carlweather's Cantata of Confrontation ])) n += 0.4;

Yeah, can't recall if BCC said this script ignores using that, or what... I honestly don't know a lot of its internals. Honestly, I mostly likely just overlooked that one. If Cantata is / may ever be used, yeah, I'd give it a +0.3 or +0.4 value.
 
Whether or not the script uses it, working based on whether the user has it is still good... just like food, there may be some buffs that the user manually adds to their mood at times.
 
Back
Top