soolar / sl_ascend

An ascension script for kolmafia
11 stars 5 forks source link

superamplified boombox #96

Closed taltamir closed 5 years ago

taltamir commented 5 years ago

Boombox is an IOTM that does not take a slot and is auto pulled.

Currently it is not used at all. While optimal usage requires some effort to implement, at the most basic it should at least be turned on to food on day one which requires only 3 lines of code in a single if function (you can just CLI "boombox 2" on first run of the script if the mafia variable "boomBoxSong" is currently set to an empty string. How do you actually set a variable to empty string using zlib?)

Anyways, just leaving it on food vibrations permanently for the rest of the run is the simplest way to at least use it at all. Not optimal but better than leaving it off entirely and wasted. Off it does nothing, on food vibrations it gives 3-5 mp per adv, +30% food drop, and every 11 turns it drops spices which get auto consumed whenever you eat a food item to give you +1 adv gained per food and a bonus stat XP.

For more advanced uses. total eclipse of your meat (boombox 5) is useful in nuns and meatwall. especially if you sing along. And eye of the giger (boombox 1) drops a spleen consumable called nightmare fuel that helps reduce evil the crypt, or can be used for free rests (not sure why you would waste it that way though).

taltamir commented 5 years ago

I tested some code that works that can be used on first run to avoid boombox being set to off.

if(get_property("boomBoxSong") == "") //mafia errors out if you try to switch boombox to an already selected song.
    {
    cli_execute("boombox 2");  //sadly there is no proper function for this. so CLI execute must be used.
    }

I also noticed that despite spending a while without a boombox song equipped, it ended the day with meat song. Presumably as a result of maximizer?

Anyways, I am using cli_execute because I can't find a proper function for it on https://wiki.kolmafia.us/index.php?title=Ash_Functions

jaspercb commented 5 years ago

I think we currently run Food Vibrations consistently (?). I agree there's room to optimize Cyrpt and Nuns, which I expect to shave off 5-10 turns in total.

jaspercb commented 5 years ago

I'm confused. We definitely run various songs at various times - we have several calls to songboomSetting in sl_ascend.ash.

taltamir commented 5 years ago

There seems to be instances of song's being run at certain times. But it seems like it doesn't set a song immediately on first run if it is set to nothing. (aka, if you just ascended). Where the code snipped I provided would do so if called when the script is triggered.

jaspercb commented 5 years ago

I'll investigate, thanks.

jaspercb commented 5 years ago

As far as I can tell we're setting Songboom properly (in songboomSetting()) at the beginning of a run. shrug. I'm adding Gremlins (+DR) and Nuns (+meat) support.