The Unofficial Ascend.ash support thread.

nakigara

New member
Hello.

I recently sent the Mr. A and received the password to ascend.ash

So, I was sleep deprived and drinking a bit, and decided to run farm.ash on one of my multi's.

seemed to run fine, I didn't really look too much at what it was doing, but shortly afterwards, I realized I had no idea where it spent the adventures, and realized they could have been in the slime tube or the sewers for all I know... I checked the clan basement logs, and my multi didn't adventure there (a bit of a relief...)

Anyways, is this an issue with farm.ash? or is there a (relatively) easy fix to prevent characters from adventuring in the clan basement?
I'd like to be able to mindlessly run the script without worrying about it interfering in these multi-player areas and what not.

I took a look through this thread, and didn't notice anything pertaining to clan dungeons, and I don't really know much about scripting, so figuring it out by looking at the text file wouldn't get me very far.

Thanks
 

Winterbay

Active member
You can edit the script easily to avoid certain areas that you don't want to adventure in. The Slime Tube is in there by default I think, as is the tavern. Open the script up and there are lines at the beginning of it that explains how to do it.
 

nakigara

New member
Winterbay> thanks, I really didn't expect a response that quickly.

I took a look at the script, and I think I found the lines you were referring to.

I basically just copy/pasted one of the lines, so it looks like this:

setvar("farm_skip_" + replace_string(to_string($location["a maze of sewer tunnels"])," ","_"), true);

so, that should work, right? there is no need for me to list each sub-area since they won't open without first adventuring in the sewers, correct?

and, if anyone notices any errors/mistakes with that line, I'd greatly appreciate it.

thanks again for the info.
 

heeheehee

Developer
Staff member
That should work -- just note that setvar is a ZLib function that is only called if the value hasn't already been set. I suppose I could add in an option to my relay override for creating new ZLib variables, but I actually don't have that much free time on my hands. :p Maybe in the next few days, if I remember.
 
Last edited:

Winterbay

Active member
That should work -- just note that setvar is a ZLib function that is only called if the value hasn't already been set.

And that also means that if you, for whatever reason, wants the script to go there again you must do that via either zlib in the gCLI or via a relay-editing-script.

I suppose I could add in an option to my relay override for creating new ZLib variables, but I actually don't have that much free time on my hands. :p Maybe in the next few days, if I remember.

That might be useful but I think that the copy-paste in the script is quite easy to use.
 

Drkirre

Member
Everything came through okay, but the bot is REALLY messed up, it seems. Either that or he intentionally filled the message with crazy stuff.
A (slightly modified) transcript is as follows:
Thank+you+for+the+Mr .+A% 21+I+hope+you+enjoy+ ascend.ash.++The+pas sword+is+% 27((REDACTED - it's behind a paywall for a reason! No, this isn't it!))% 27.+If+you+have+any+ questions% 2C+just+post+them+in +the+thread+at+www.k olmafia.us% 2C+which+I+check+reg ularly.++Enjoy%21++% 28note% 3A+this+account+is+n ot+regularly+monitor ed%29

The pass itself was.. well, it took a few tries to get it right, but I eventually managed it. Still kinda WTFark though.
 

xKiv

Active member
That looks like it has been URL-encoded and hasn't been URL-decoded.
(and then had spaces added by this forum's software)
 

jamfan14

New member
I'm running farm.ash and right after its done calculating everything, the first adventure it attempts to adv in the spooky gravy barrow. But its not selecting an elemental fairy as my active familiar so I can't adventure there. How do I fix this?
 

halfvoid

Member
If you open up the data folder in your kol mafia folder you'll see some files named vars_(your character name).
open that up and insert the following text.

farm_skip_Spooky_Gravy_Barrow true

farm.ash will never attempt to farm there again.
you can use this same format to skip any other zones.
 

Winterbay

Active member
If you open up the data folder in your kol mafia folder you'll see some files named vars_(your character name).
open that up and insert the following text.

farm_skip_Spooky_Gravy_Barrow true

farm.ash will never attempt to farm there again.
you can use this same format to skip any other zones.

While that would avoid the problem it doesn't solve it :)
In order to get it to actually choose an elemental fairy you would need to add something like

Code:
if(results[i].loc == $location[Spooky Gravy Barrow])
    cli_execute("familiar spooky gravy fairy"); //Or any other elemental fairy you might have and want to use

on the line before "adventure(my_adventures(),results.loc);", which should be around line 950 or so.
 

Theraze

Active member
But then you'd also have to have it check if you actually HAVE that familiar as well... if it doesn't have that check in naturally already.
 

Winterbay

Active member
That was why I said you should edit the familiar name to one you have, or at least that was what I intended to write. I just wrote down the first one that came to my mind :)
 

Theraze

Active member
What I mean is, the code should check for the familiar when it's trying to decide if it can farm there. :D If you don't have the familiar, the location is not a valid farming location. If it is, then it should automatically switch familiars to farm there. Optimally, it should switch them back when done.
 

Winterbay

Active member
What I mean is, the code should check for the familiar when it's trying to decide if it can farm there. :D If you don't have the familiar, the location is not a valid farming location. If it is, then it should automatically switch familiars to farm there. Optimally, it should switch them back when done.

Ahh yes. That is true. I think that might be a communication problem between CanAdv and farm and the way that farm builds it map of how to farm at specific places.
 

fronobulax

Developer
Staff member
Ahh yes. That is true. I think that might be a communication problem between CanAdv and farm and the way that farm builds it map of how to farm at specific places.

I have found several instances where CanAdv is called by Ascend and it either returns an inappropriate location or Ascend fails to equip necessary items to adventure there. I'd love to look at that but my current highest priority with my limited time is to verify that EatDrink does what it is supposed to with the recent crafting changes. But yes, I think Winterbay has figured it out.
 

Drkirre

Member
Of note: It cannot handle switching to some form of elemental damage when fighting things resistant to physical. IE, protector spirits. It will just fight them over.. and over.. and over.. until it runs completely dry.
 

Theraze

Active member
Well, CanAdv shouldn't equip the items automatically... it should just verify that it's possible. Though I suppose that it might be useful to have an optional boolean that you can pass for equip items for trip... but if you accidentally pass that on a check for which area to farm, you're looking at potentially 40-50 extra server hits. Better to just try to have an extra function added to zlib, since Zarqon made both of them, with a different name, named PrepAdv or something like that... call the variable and the area, and if it's possible to prepare you for the area, do it. Same checks that CanAdv should have for familiars being possible and the like, but equips one, or the outfit, or whatever is needed for the area.

If is_100_run is set to something besides 'none' and it requires a familiar besides the is_100_run option, CanAdv SHOULD return false... Whether or not it currently does so.
 

Theraze

Active member
Drkirre, that'd be waiting for BatMan. But that's on hold while Zarqon waits for KoLmafia to better handle tracking ML in-combat.

ML might be a good project for me to try to work on, at least on spaded/known ML bits... they should either have a unique message or be detectable through checking equipment slots for items... the problem would be items with random levels.

For that matter, mobs using healing is still an issue... Still end up with mobs with -200 health or more displayed in the relay browser... and don't even get me started on the naughty sorority nurse. :D
 
Last edited:

Winterbay

Active member
Of note: It cannot handle switching to some form of elemental damage when fighting things resistant to physical. IE, protector spirits. It will just fight them over.. and over.. and over.. until it runs completely dry.

Can't you handle that with a CCS in some way?

Well, CanAdv shouldn't equip the items automatically... it should just verify that it's possible. Though I suppose that it might be useful to have an optional boolean that you can pass for equip items for trip... but if you accidentally pass that on a check for which area to farm, you're looking at potentially 40-50 extra server hits. Better to just try to have an extra function added to zlib, since Zarqon made both of them, with a different name, named PrepAdv or something like that... call the variable and the area, and if it's possible to prepare you for the area, do it. Same checks that CanAdv should have for familiars being possible and the like, but equips one, or the outfit, or whatever is needed for the area.

If is_100_run is set to something besides 'none' and it requires a familiar besides the is_100_run option, CanAdv SHOULD return false... Whether or not it currently does so.

CanAdv returns true for the barrow if you are in a muscle sign, have a main stat above 40 and have at least one of the elemental fairies. Given that information I feel it is safe to say that the problem is farm.ash not handling special equipment needs, I don't think it handles cold protection for the icy peak either for example.
 
Last edited:

fronobulax

Developer
Staff member
To be clear - it is my belief that Ascend and those scripts that call CanAdv need to take some action to verify that the prerequisites for a location are actually in place before adventuring there. That is not currently the case. Part of the problem is just assembling the data and the actions to be taken before adventuring. I have found places where the required familiar is not used, where the required outfit is not worn, where the required protection is not in place and where the location is just not available. CanAdv loves to return the Haunted Kitchen even when SpookyRaven Manor has not been "discovered" and I seem to recall attempts to adventure on the Island before the a rowboat is available. So I think it is a known problem, with a fix that will be harder than trivial but a solution that needs to be implemented external to CanAdv.

@Drkirre - point noted, however it is actually buried somewhere in the documentation that there are some cases you will have to handle yourself by setting outfits. Ascend is actually calling MacGuffin and Wossname and it is my hope that Zarqon will address the issue there since most of the elemental special cases occur there. I'm not really aware of any other case Ascend expects to handle where a good CCS isn't enough. Which certainly suggests a quasi-universal CCS should be packaged with Ascend but... ;-)
 
Top