The Unofficial Ascend.ash support thread.

fronobulax

Developer
Staff member
@Theraze - I get it. If someone searches for the latest version of EatDrink and finds a post with a file they should be warned if that is no longer the latest version. I have updated the posts to refer back to the First Post which has a link to the latest version. Next time around I will just update the first post with the script itself and post a pointer to it at the end of the thread. Since I wasn't thinking I have scattered files throughout this thread and will now try and make sure that someone who wants the latest only has to look at the first post.

@PullCrappers - (Why does that sound like something you might do at a plumbing supply store?). I think we have drifted from Bug to Feature. It sounds like the desire is to make PullCrap smarter and make pulls for quest items conditional upon whether the quest has already been completed. I'm not sure how easy that will be because I don't recall any direct ash support that would let me determine whether a quest has been done or not. I'll keep this in mind but it is not something that I am likely to deal with any time soon. However I will certainly incorporate someone elses changes to PullCrap and Crap.txt that seem appropriate and of universal interest.

Thanks.
 

icon315

Member
I don't recall any direct ash support that would let me determine whether a quest has been done or not.
you can do a visit_url("") for example, for the goat cheese thing

PHP:
//
//Technical stuff
//
log = visit_url("questlog.php?which=2")

int item_count() {
   item x = $item[goat cheese];
   int counter = item_amount( x ) + closet_amount( x );
   return counter;
}
//
//END
//

if (!contains_text("Am I my Trapper's Keeper?"))
pull("goat cheese", (6 - item_count(x))) 
else
{
print("Done with the quest; Skipping...")
}
 
Last edited:

Winterbay

Active member
I know that farm.ash really isn't included in this update but I thought that I should mention these small changes that I made recently since I decided my non-ascending farmmulti should get to try out the Sea a bit. In order for it to fairly take the fact that every turn takes two turns I added this code after the part that modifies the return from the Winecellar (line 724 in my version, can't remember if I did any other changes earlier):

Code:
//The sea locations take two turns each (unless fishy is active), thus halve the expected result.
if((have_effect(to_effect("fishy")) == 0) && (loc == to_location("The Briny Deeps") || loc == to_location("The Brinier Deepers") || loc == to_location("The Briniest Deepests") || loc == to_location("An Octopus's Garden") || loc == to_location("The Wreck of the Edgar Fitzsimmons") || loc == to_location("Madness Reef") || loc == to_location("The Mer-Kin Outpost") || loc == to_location("The Marinara Trench") || loc == to_location("Anemone Mine") || loc == to_location("The Dive Bar")))
{
      mon_meat = mon_meat / 2;
}

In order for this farming to work you need to equip some kind of underwater thingie to your familiar as well so had to add this shortly before the farm-part:

Code:
if (results[i].loc == to_location("The Briny Deeps") || results[i].loc == to_location("The Brinier Deepers") || results[i].loc == to_location("The Briniest Deepests") || results[i].loc == to_location("An Octopus's Garden") || results[i].loc == to_location("The Wreck of the Edgar Fitzsimmons") || results[i].loc == to_location("Madness Reef") || results[i].loc == to_location("The Mer-Kin Outpost") || results[i].loc == to_location("The Marinara Trench") || results[i].loc == to_location("Anemone Mine") || results[i].loc == to_location("The Dive Bar"))
				equip (to_item("little bitty bathysphere"));
(I only have the bathysphere so far)

Also: Is there a good way to indicate all zones underwater or do you have to use that wonderful long conditional that I have?
 

heeheehee

Developer
Staff member
Patched together from bits of profit_fx.ash, which I haven't really touched much in like forever:
PHP:
boolean sea;
string [string,string,boolean,location] locations;
string [location] container;
file_to_map("adventures.txt", locations);
foreach zone, url, something, loc, cond in locations {
    container[loc] = zone;
}
if(container[results[i].loc]=="The Sea") sea = true;

Edit: Or, in a function-format:
PHP:
boolean sea(location l) {
    string [string,string,boolean,location] locations;
    string [location] container;
    file_to_map("adventures.txt", locations);
    foreach zone, url, something, loc, cond in locations
        container[loc] = zone;
    return (container[l]=="The Sea");
}
 
Last edited:

Winterbay

Active member
Edit: Or, in a function-format:
PHP:
boolean sea(location l) {
    string [string,string,boolean,location] locations;
    string [location] container;
    file_to_map("adventures.txt", locations);
    foreach zone, url, something, loc, cond in locations
        container[loc] = zone;
    return (container[l]=="The Sea");
}

Looking in my data folder I seem to have no "adventures.txt" is this missing from my mafia installation or is it something you have pieced together yourself?
 

Grotfang

Developer
Run "update data" and see if that copies in the file?

I wouldn't advise that. Adventures.txt should already be inside mafia. Instead of running update data (if you think .txt files might be out of date) it is generally a better idea to grab a newer build of mafia.

However, I doubt this is the case here. Just try running the code snippet.
 

Winterbay

Active member
Code:
> ash boolean sea(location l) { string [string,string,boolean,location] locations; string [location] container; file_to_map("adventures.txt", locations); foreach zone, url, something, loc, cond in locations container[loc] = zone; return (container[l]=="The Sea"); } location test = to_location("The Briny Deeps"); sea(test);

Returned: true

Seems to be working. Still no adventures.txt though.
 

heeheehee

Developer
Staff member
Yeah, Grotfang hit the nail here -- adventures.txt is one of Mafia's internal datafiles, so it comes prepackaged with the jar (or exe, whatever you use). Mafia will use the built-in one, unless you have another file called "adventures.txt" in your \data folder.
 

Ferdawoon

Member
I have to say, this whole jumping around the forums for the latest version of everything is a bit of a treasurehunt in itself..
Would it not be easier to just update the first post with the latest versions and links?
Atm I have been scanning the "official" ascend thread for the latest versions and now I'm searching this thread for the latest of everything as well, and I'm not really sure which one is indeed the latest version.
 

fronobulax

Developer
Staff member
I have to say, this whole jumping around the forums for the latest version of everything is a bit of a treasurehunt in itself..
Would it not be easier to just update the first post with the latest versions and links?
Atm I have been scanning the "official" ascend thread for the latest versions and now I'm searching this thread for the latest of everything as well, and I'm not really sure which one is indeed the latest version.

Well you should probably read the first post just so you understand why things are the way they are. It is my hope that the first page in this thread will always contain the latest versions "according to me". If that is not the case please give me a specifics and I will try and update the first page so that it has the latest.

Note that I have been delaying tweaking the zip file because I keep thinking I am close to getting a couple changes out. Perhaps I should raise the priority on that.

I think you should also understand that there are really three classes of scripts here and that makes it difficult to really manage a complete package. One class of scripts are scripts that were written by dj_d and that were sold to users. Those scripts need to remain "protected" until such time as dj_d releases them for free. If my notes are correct the pay scripts are: Ascend Status; Ascend; dailygrind; and farm. The second class of scripts were written by dj_d but released to the public. These include BuyCrap; EatDrink; LevelUp; PullCrap and ver. Each one of these has a thread devoted to them and I try and cross-link so that Ascend owners only have to check this thread. But, since I am not the thread owner, there is a limit as to how much I can do in those threads. Finally there are scripts written by others and used with permission. They are maintained separately and it would be somewhat presumptuous to post changes in an Ascend thread. These scripts are canadv; macguffin; wossname and zlib, all maintained by zarqon.

So you are unlikely to have one stop shopping although it will be easier if I release a newer zip file. I suppose I should just redo the first post and include all of the above links and then you will at least have one place to check.

Since Ascend is in an awkward place where dj_d doesn't have the time to maintain it but has not abandoned it there will be the Official and Unofficial threads and the latest version that works will be in the Unofficial thread.
 

Ferdawoon

Member
Ahh, well true, that make it sound a lot more complicated. it is just that I cant shake the feeling that I have missed something and that any failure I see in the program is due to me missing some configuration I need to do or that I have downloaded a previous version.
Well, I got the ascend.ash script earlier today, going to see if I cant read through it andfigure out how it works. Is there any ReadMe for these files on how to config?
 

fronobulax

Developer
Staff member
Ahh, well true, that make it sound a lot more complicated. it is just that I cant shake the feeling that I have missed something and that any failure I see in the program is due to me missing some configuration I need to do or that I have downloaded a previous version.
Well, I got the ascend.ash script earlier today, going to see if I cant read through it andfigure out how it works. Is there any ReadMe for these files on how to config?

Instructions are on my ToDo list but I am not there yet. From my notes - you really want to DL and configure Bale's UR and zarqon's SmartStasis. The former doesn't have much configuration if you use the associated relay browser script. The latter has instructions on the first page. These scripts are not required but if you use them you are less likely to have to deal with some things manually. There are mafia settings to automatically identify spheres and DoD potions that you want to enable. It is kind of hard to determine who is in charge (mafia or Ascend) on all the choice adventures but it is worth checking them, just in case it is mafia. You need to define an outfit named melee which will be what you wear all of the time. As you level up and gain items you will need to revisit the definition of melee. You will need to configure wossname according to zarqon's instructions. The important ones are which war plan to use. Either wossname or macguffin uses default (IIRC) as the name of the preferred outfit. You probably want to change that to melee. Running in full auto will consume a lot of meat. Until I release my changes to manage that you may want to closet your meat once in a while. However Ascend is sometimes smart enough to accumulate meat before it needs it so if you closet too much you will burn turns farming. There is an Acceptable damage parameter that may need to be tweaked. The default, which IIRC is 25% often works but raising it increases both the likelihood that automation will continue and the likelihood that play will be conservative. You definitely need to set up a CCS. Besides the Protector Spectres, I'm not sure what else has to be in it if you use SmartStasis.

Hope this helps. I'm only running one character with Ascend and I've only completed one ascension. My focus is still mechanical since the official version did not work with updated wossname, macguffin and/or zlib. And EatDrink had some infinite loops...

As a general rule, Ascend is for people who favor automation over everything else. It does little to nothing in terms of outfit and familiar management and most hardcore players get mad when it makes suboptimal choices.

But the whole point of this thread is to help folks who have the script so feel free to ask.
 

fronobulax

Developer
Staff member
OK. I put everything in one zip file available in the first post. Only change not mentioned (somewhere) above is putting EatDrink on a meat diet. There is a new variable, ascend_EatDrinkBudget, that is set to the maximum amount EatDrink is allowed to spend per day. The budget is enforced by closeting all meat above the remaining budget before calling EatDrink and uncloseting it afterward.
 

nsd45

New member
I was just running ascend and kolmafia stopped and redirected me to a choice menu for the new spooky Forrest adventure and i wasn't sure if that was an ascend thing or a mafia thing i currently have last weeks build if that helps.
 

fronobulax

Developer
Staff member
I was just running ascend and kolmafia stopped and redirected me to a choice menu for the new spooky Forrest adventure and i wasn't sure if that was an ascend thing or a mafia thing i currently have last weeks build if that helps.

Not sure. Mafia now recognizes the choice adventures. Ascend adventures in the Spooky Forest looking for specific items. What I am not sure of is whether you have to manually configure mafia to make the right choices or whether setting them as goals will be sufficient. I'll try and investigate but no promises. Real Life always gets busy in September.
 

nsd45

New member
Ok i will look into the mafia thing i just don't know enough to look into the script its self that's why i was asking and don't worry to much about it if you get to it you get to otherwise im not that concerned was just curious and wanted to make sure it wasn't a script problem
 

fronobulax

Developer
Staff member
Just a heads up - there have been two reports of EatDrink unilaterally deciding to corner the boxen market. I dismissed the first one because mafia support was in a state of flux but I can't do that for the second. I will look at it but for the moment closet your meat or be careful of the use boxen, repair boxen and buy from mall settings when running EatDrink directly. If you let Ascend call EatDrink you are covered because the budget code that closets meat before calling EatDrink works.
 

Theraze

Active member
I haven't seen this happen with updated copies of KoLmafia and EatDrink, but I hold it as immensely likely for people who don't update...
 
Top