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

ML for quests are used in the relevant quests (oil peak and cyrpt) if you have allowML set to true. There also is a ML-familiar fiale, called bcs_fam_ml.txt (containing
Code:
1    Baby Bugged Bugbear
2    Purse Rat
3    smiling rat

bumAdv() will set +ML buffs if called with the mood-parameter "l" (That's an L) which currently only contains Ur-Kel (and the Jarlsberg-buff as well).
This code
Code:
                if(bcasc_AllowML)
                        setFamiliar("ml");
                bumAdv($location[oil peak], "", "", "", "Lowering the oil pressure");
which I just got off the SVN server, does indeed set your familiar to "ml", then sets it back to your default familiar in bumAdv. Neither "ml" for maxme (outfit) or "l" for moods is sent to bumAdv.

Something likes this, might work for everyone:
Code:
                if(bcasc_AllowML)
                     bumAdv($location[oil peak], "ml", "ml", "", "Lowering the oil pressure", "l");
                else
                     bumAdv($location[oil peak], "", "", "", "Lowering the oil pressure");
My patch was for speed ascenders only. I just was trying to show what I'd done.

I don't have a ml familiar file. No idea why.
 
Odd... Since the file I committed has the following code in it:
Code:
    //The Oil Peak - Kill oil monsters to lower the preassure, raised ML makes this go faster (TODO: Possibly add way of allowing +ML here)
    if (!checkStage("oilpeak") && !contains_text(visit_url("place.php?whichplace=highlands"), "fire3.gif")) {
        bumAdv($location[oil peak], "", (bcasc_AllowML ? "ml" : ""), "", "Lowering the oil pressure", "l");
        if (get_property("lastEncounter") == "Unimpressed with Pressure")
            checkStage("oilpeak", true);
    }
 
The "" between location and the value is the maximizer string. :) That should get the value as well. So we should have:
Code:
        bumAdv($location[oil peak], (bcasc_AllowML ? "ml, -weapon" : ""), (bcasc_AllowML ? "ml" : ""), "", "Lowering the oil pressure", "l");
instead. :) Or something else similar.
 
The ML-familiar file was apparently never uploaded to the server. I've done so now so that should resolve itself if you run the script again. I hope...

The "" between location and the value is the maximizer string.
smile.png
That should get the value as well. So we should have:
Code:
         bumAdv($location[oil peak], (bcasc_AllowML ? "ml, -weapon" : ""),  (bcasc_AllowML ? "ml" : ""), "", "Lowering the oil pressure", "l");
instead.
smile.png
Or something else similar.


But ML is already added to the default maximizer string if bcasc_AllowML is true.

Edit: No, it isn't. But it's not disallowed :)
 
Crap. I see the URL has changed. I've probably got a lot of merging to do.
Well, that was funny. Sorry about any outdated comments I made. I'd been wondering why no one seemed to care about BIG!. I managed to merge my version, but I haven't tested it. Maybe I'll have some constructive comments soon.
 
Okay, since I'm finally up to date and most of my BIG! patches were there. Here's the two I use that I think everyone would like.

The first part doesn't open the gallery in BIG! The second doesn't waste turns mining if you have unaccompanied miner. It might break the fully automation rule, since it will never spend turns in BIG! I'm not really sure how to detect it's finally time to spend turns anyway, so you can ascend.

EDIT: triple post!
 

Attachments

I have converted to SVN so this applies to the version I checked out this morning, although I have seen it happen many times before.

BCCA stops with the message that I need tower items that the script will not attempt to get. I immediately rerun the script and it goes off and gets those very same items.

I expect it to get the items because of the way I have set the parameters so stopping feels like an error. Ideally it would not stop if it knows it will be allowed to get them, but I would also accept a stop message that just told me the missing items so I did not have to run something else to find out what they were.

Thank you.
 
I have converted to SVN so this applies to the version I checked out this morning, although I have seen it happen many times before.

BCCA stops with the message that I need tower items that the script will not attempt to get. I immediately rerun the script and it goes off and gets those very same items.

I expect it to get the items because of the way I have set the parameters so stopping feels like an error. Ideally it would not stop if it knows it will be allowed to get them, but I would also accept a stop message that just told me the missing items so I did not have to run something else to find out what they were.

Thank you.

Could you post a log?
 
Nope. The messages appeared in the gCLI but they are not in the session log.

I think the message I saw was generated at line 7844 which is in bcs13.

Code:
		if(!tower_items && my_path() != "Bugbear Invasion")

			abort("BCC: You need tower items that the script won't automatically get. Go get them yourself.");

I wonder about the logic. I can imaging that bcs13 is called, checkStage(lair0) is false, bcascTelescope returns false because I need something. lair0 is set to true and I abort to missing items. Next call, lair0 is true so the telescope checking happens elsewhere.
 
Somewhat more obviously, could you tell us which tower items they are, and which ones you have when it does that?

Also, is this in BIG!?
 
Okay, since I'm finally up to date and most of my BIG! patches were there. Here's the two I use that I think everyone would like.

The first part doesn't open the gallery in BIG! The second doesn't waste turns mining if you have unaccompanied miner. It might break the fully automation rule, since it will never spend turns in BIG! I'm not really sure how to detect it's finally time to spend turns anyway, so you can ascend.

EDIT: triple post!

Under what situations would the second item be needed, on the grounds that there's an option to only mine when you have free turns anyway?
 
The information did not appear in the message in gCLI. Adding that was part of my request. I think it is a logic issue not immediately related to items. I will include the session log and you can deduce what I did and did not have from the successful climb after the re-reun.

[3365] Sorceress Tower: Level 1
Encounter: Flaming Samurai
Round 0: cafeboob wins initiative!
Round 1: cafeboob casts RETURN!
> BCC: Maximizing 'item'

equip hat miner's helmet

equip weapon magic whistle

equip off-hand Victor, the Insult Comic Hellhound Puppet

equip acc1 Baron von Ratsworth's monocle

equip acc3 lucky rabbit's foot
> BCC: Trying to check bcs_fam_hebo on the Bumcheekcity servers.
> Checking for familiar 'he-boulder' where x=1
> Checking for familiar 'jumpsuited hound dog' where x=2
> Checking for familiar 'slimeling' where x=3
> Checking for familiar 'baby gravy fairy' where x=4
> BCC: Switching Familiar for General Use
> BCC: Setting the default familiar to your choice of 'volleyball'.
> BCC: Nothing to fax according to whatShouldIFax
> BCC: We don't have the HeBo equipped, so we're either on a 100% run or you just don't have one. Trying a pumpkin bomb. If you have one, we'll use it.
> BCC: Need items!
> BCC: Getting frigid ninja stars
> BCC: Setting goals of '1 frigid ninja stars'...
> BCC: We should set the MCD if we can.
> BeatMe:A 0 174 false*
> BeatMe:C 0 174 false*

cast 16 Moxie of the Mariachi
You acquire an effect: Mariachi Mood (duration: 80 Adventures)

[3366] Ninja Snowmen
Encounter: Ninja Snowman
Round 0: cafeboob wins initiative!
> BCC: We are trying to use the HeBoulder, but you don't have one (or perhaps are on a 100% run without pumpkins or clipart), so I'm attacking.
> You have the latest batfactors.txt. Will not check again today.
> Checking for updates (running BatBrain ver. 1.38)...
> Running BatBrain version: 1.38 (current)
> Checking for updates (running SmartStasis ver. 3.21)...
> Running SmartStasis version: 3.21 (current)
> You have the latest pluralMonsters.txt. Will not check again today.
> WHAM: Running SmartStasis
Round 1: cafeboob executes a macro!
Round 1: cafeboob tries to steal an item!
You acquire an item: frigid ninja stars
> WHAM: Starting evaluation and performing of attack
> WHAM: We are going to 1-shot with attack with your weapon.
Round 2: cafeboob executes a macro!
Round 2: cafeboob attacks!
Round 3: ninja snowman (hilt/mask) takes 153 damage.
Round 3: cafeboob wins the fight!
You gain 5 Strengthliness
You gain 6 Wizardliness
You gain 15 Roguishness

[3367] Sorceress Tower: Level 1
Encounter: Flaming Samurai
Round 0: cafeboob wins initiative!
Round 1: cafeboob uses the frigid ninja stars!
Round 2: cafeboob wins the fight!
You gain 7 Beefiness
You gain 13 Enchantedness
You gain 23 Smarm

[3368] Sorceress Tower: Level 2
Encounter: the Fickle Finger of F8
Round 0: cafeboob wins initiative!
Round 1: cafeboob uses the razor-sharp can lid!
Round 2: cafeboob wins the fight!
You gain 12 Fortitude
You gain 11 Mysteriousness
You gain 20 Cheek

[3369] Sorceress Tower: Level 3
Encounter: Big Meat Golem
Round 0: cafeboob wins initiative!
Round 1: cafeboob uses the meat vortex!
Round 2: cafeboob wins the fight!
You gain 10 Strengthliness
You gain 12 Enchantedness
You gain 21 Smarm

[3370] Sorceress Tower: Level 4
Encounter: El Diablo
Round 0: cafeboob wins initiative!
Round 1: cafeboob uses the mariachi G-string!
Round 2: cafeboob wins the fight!
You gain 11 Strongness
You gain 9 Magicalness
You gain 23 Roguishness

[3371] Sorceress Tower: Level 5
Encounter: Electron Submarine
Round 0: cafeboob wins initiative!
Round 1: cafeboob uses the photoprotoneutron torpedo!
Round 2: cafeboob wins the fight!
You gain 8 Muscleboundness
You gain 10 Wizardliness
You gain 25 Cheek

[3372] Sorceress Tower: Level 6
Encounter: collapsed mineshaft golem
Round 0: cafeboob wins initiative!
Round 1: cafeboob casts RETURN!
> BeatMe:A 0 144 false*
> BeatMe:C 0 144 false*

cast 11 Moxie of the Mariachi
You acquire an effect: Mariachi Mood (duration: 55 Adventures)

[3373] Muscle Vacation
Encounter: Bang!
You acquire an item: stick of dynamite

[3376] Sorceress Tower: Level 6
Encounter: collapsed mineshaft golem
Round 0: cafeboob wins initiative!
Round 1: cafeboob uses the stick of dynamite!
Round 2: cafeboob wins the fight!
You gain 10 Strengthliness
You gain 6 Mysteriousness
You gain 28 Roguishness
 
I aborted due to missing items.
I immediately reran and did not abort.
The session log quoted above came immediately after the restart.
Therefore, to the best of my ability to reconstruct, I was missing frigid ninja stars and stick of dynamite the first time I aborted.

I'm not having an especially good day and I'm sorry for both sounding snippy and being unclear in the process. I do appreciate your willingness to look into this no matter what emotional tone might be (incorrecly) derived from my posts.

Thank you.
 
I think the continuing after you reran it is because bcs13 () sets lair0 to true after it has looked for items once. It then, in your case, aborted and when you reran it it was under the impression that you had found the items yourself and moved on. This could probably be worded better in the abort message.

That said: I assume you do not have a telescope (since it was the first item you didn't have yet)? It went and got the ninja starts when you reran it because guardians() returned what you needed and the script then went and hunted for it. If you had had telescope parts enough to tell what was needed it would've hunted for them before the abort, but on the other hand it should've returned true from the telescope function if you had all parts it knew about and then it shouldn't have aborted...
 
I think the continuing after you reran it is because bcs13 () sets lair0 to true after it has looked for items once. It then, in your case, aborted and when you reran it it was under the impression that you had found the items yourself and moved on. This could probably be worded better in the abort message.

I don't have a telescope.

What you describe is, IMO, unusual or unexpected behavior. It stopped because something was missing. It then ran without stopping because it had permission to obtain that which was missing. I would much prefer that, so long as it had permission to get something, it did not stop but just went off and obtained it.

Alternative behavior that would be IMO an improvement would be to stop when something was missing, tell the user it was missing and then refuse to run until it found the missing item was found in inventory.

I understand that in the absence of a telescope, there is the potential to stop as many as six times if the RNG is especially malicious.

Regardless of whether the behavior is changed, it would be very useful if the abort message named the missing item(s) when running with "normal" verbosity.

It does seem to me that there might be some logic to investigate. It seems as if lair0 being true when the items are not present is doing what I would hope to see. Thus I would consider aborting only if the items are not present and the user has not set one of the preferences that allows bccascend to go and adventure for those items.

Thanks.
 
Ok running the most current SVN of the script and the most current kolmafia in a HCO ascension and getting the following:

Ascending Starting
******************
Conditions list cleared.
BCC: Trying to check bcsrelay_settings on the Bumcheekcity servers.
Level 1 Starting
BCC: We have completed the stage [toot].
BCC: We have completed the stage [guild].
BCC: We have completed the stage [knob].
BCC: We have completed the stage [pantry] and need to set it as so.
BCC: We have completed the stage [pantry].
BCC: levelMe(5, true) called.
Level 2 Starting
BCC: We have completed the stage spookyforest
BCC: levelMe(8, true) called.
Level 3 Starting
BCC: We have completed the stage tavern
BCC: levelMe(13, true) called.
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].
BCC: levelMe(20, true) called.
Level 5 Starting
BCC: We have completed the stage [knobking].
BCC: We have completed the stage [dinghy].
BCC: We have completed the stage [manorbilliards].
BCC: levelMe(29, true) called.
Level 6 Starting
BCC: We have completed the stage [friars].
BCC: We have completed the stage [knobking].
BCC: We have completed the stage [friarssteel].
BCC: We have completed the stage [manorlibrary].
BCC: levelMe(40, true) called.
Level 7 Starting
BCC: We have completed the stage [friarssteel].
BCC: We have completed the stage [cyrpt].
BCC: We have completed the stage [innaboxen].
BCC: We have completed the stage [manorbedroom].
BCC: levelMe(53, true) called.
Level 8 Starting
BCC: We have completed the stage Trapper
BCC: We have completed the stage [wand].
BCC: We have completed the stage [piratefledges].
BCC: levelMe(68, true) called.
Level 9 Starting
BCC: We have not completed the stage [chasm].
BCC: We have completed the stage [aboopeak].
BCC: We have completed the stage [oilpeak].
BCC: We have completed the stage [oilpeak].
BCC: We have not completed the stage [twinpeak].
BCC: We have not completed the stage [peakitems].
BCC: Maximizing 'item'
Maximizing...
92 combinations checked, best score 281.50
Putting on fuzzy montera...
Equipment changed.
Cleared mood.
Set mood trigger: When I get Just the Best Anapests, uneffect just the best anapests
Set mood trigger: When I run low on Mariachi Mood, cast 1 Moxie of the Mariachi
Set mood trigger: When I run low on Disco State of Mind, cast 1 Disco Aerobics
Set mood trigger: When I run low on Butt-Rock Hair, use 5 hair spray
BCC: Need less combat, brave Sir Robin!
Set mood trigger: When I run low on Smooth Movements, cast 1 Smooth Movement
Set mood trigger: When I run low on The Sonata of Sneakiness, cast 1 The Sonata of Sneakiness
Set mood trigger: When I get Carlweather's Cantata of Confrontation, uneffect Carlweather's Cantata of Confrontation
BCC: Need items!
Set mood trigger: When I run low on Leash of Linguini, cast 1 Leash of Linguini
Mood swing complete.
Mood swing complete.
Maximizing...
624 combinations checked, best score 129.01
Putting on miner's helmet...
Equipment changed.
You can't equip an off-hand item while wielding a 2-handed weapon.
 
Back
Top