Ascend.ash: hands-off ascension script

seamer

New member
Yaha, I see what you're both saying about files into appropriate directories. Hadn't occurred to me mafia will look outside a script's folder when it's told to implicity import without a relative link.

There's a learning curve here making a game into a work project ;)

Got it sorted, ta.
 

dj_d

Member
@tgetgel: price.ash is a remnant of when mafia used to not implement mall pricing functions. Farm.ash does mallsell or autosell depending on the value of the item; dailygrind farms the castle, which doesn't produce items worth mallselling (plus, as you gather, it's much older). And I never looked closely at demons as an optimization, although if someone does the math and shows that they're a good deal, I'll add them to farm.ash.
 

Heffed

Member
So I realize this is completely anecdotal because I did a manual workaround instead of just waiting to see if the script would sort itself out, but anyway, I've been experimenting with this script on one of my characters and seemed to encounter a bit of a loop.

Two days ago I ran out of turns while adventuring in the mine for the Tr4pz0r.

Last night I continued the script and it finished in the mine (I thought) and tried to adventure at the goatlet. I saw the error message that the area wasn't available and then it went to spend some adventures in the menagerie, then attempt the goatlet again, then back to the menagerie, rinse-repeat.

After seeing this happen 5 times I stopped the script thinking maybe it didn't get the full set of Mining Gear when it thought it did and couldn't clear the rocks out of the way. It had the full set, which I equipped, but when I tried to get to the goatlet in the relay browser, I found that the Tr4pz0r was still asking for 3 chunks of ore.

So I mined the ore manually and ran the script again, which then started on the goatlet looking for cheese.

At first I was thinking that maybe the script felt that I wasn't able to survive at the goatlet and that was why it was giving me the area unavailable message and was adventuring at the menagerie to level up, but the fact that it kept trying the goatlet and then picked right up and started looking for cheese after I mined the ore makes me wonder.

Any ideas what happened here? I'm assuming the script is able to mine for the ore by itself?
 
Last edited:

zarqon

Well-known member
Preternatural Greed is +100% meat for 30 adventures. The cost of summoning is usually under 2000 meat for farmers, particularly since plenty of candles are usually on hand.

On that fairly loose calculation, if the average meat/adv rate in a zone is more than 66 meat, it's worth it. You could get more precise using mall_price(), but you can see that it's usually likely to be worth it unless the chosen area has no meat drop, such as Hole in the Sky.

I did a bit of this math a while ago when I was trying to decide whether or not to summon Ak'gyxoth in my logout script. It turns out to be profitable (although not by a whole lot) to summon him on logout if you haven't already used your daily summon.
 
Sorry for the late reply, but I am having quite some problems with my eyes unfortunately.

First of all, introducing such a feature via new code, now that I think about it, MIGHT be superfluous. I seem to remember a way to "attach" a familiar to an outfit. Someone care to refresh my memory?

Second, I do not think that there is an easy way to define the "optimal" familiar for each quest steps, nor that such behavior is actually needed. I've been reviewing my auto ascension process occasionally, and Mafia usually looks for three things: more MOX, more meat and some items.
To keep the process as clean as possible, I would use either the Bandersnatch with the appropriate jub-jub bird or the sandworm (effortless spleen items) for the first requirement and a fairychaun for both the second and third.
I guess that, putting it in simple words, a way to change the familiar equipped based on what the script is trying to do (giving the player the option to set up the familiar/task relationship) would be a great thing :)

Also, I may be sounding a little too critical, or spitting in the plate I'm eating from. Let me assure you that this is not the case. I respect your awesome skills in creating such a script, as much as I respect Zarqon and all the authors of the scripts I use. Kudos to you all :)
 

dj_d

Member
No problem! But I'm still not really inspired by the use case, as we've been discussing above. (and I'm also pretty RL busy right now)
 

Bale

Minion
And that's why my outfits for Farnswarthy's Basement are named...

Basement damage f=sandworm e=fireworks
Basement element f=exotic parrot e=cracker
Basement gauntlet f=Dis Hand e=sniff sword

... and so on. It makes things so much easier.

I've also got an underwater outfit named...
Seaworthy f=green pixie e=fireworks m=sea

but I could never think of a good use for the "c=" parameter.
 
Last edited:

Bale

Minion
He knows how to use the set command. He even knows how to do it in ash. I think dj_d wants to know how the number is actually used in calculations. This is what Jason has to say in the changelog.

Code:
Rev 7760 - jasonharper (18 file(s) modified)
Start of major concoctions overhaul:
The mixing type in concoctions.txt can now be a comma-separated list, rather
than just a single keyword: the basic creation method can be followed by any
number of flags expressing needed skills, other requirements, or information
about the creation. This allows all sorts of oddball special cases to be
explicitly handled:
* Skirts/kilts are now flagged as being creatable only by characters of the
appropriate gender.
* Potions can now indicate whether Saucerors make them 3 at a time.
* Green beer is mixable only on SSPD.
* The bad-ass club can now indicate that is requires Super-Advanced
Meatsmithing and a tenderizing hammer - even though it's created by item use,
not smithing.

(Internally, this change means that a mixingMethod value is now a bitfield,
and will need to be masked before most uses other than simply passing it to
isPermittedMethod().)

Multiple recipes per item are now allowed in the file. Mafia currently
ignores all but the first, but all alternate recipes that I'm aware of are
now included for the benefit of scripts that read the file directly.

Create vs. buy decisions now take into account some incidental costs:
* The cost of meat paste is considered if needed.
* Crafting using a box servant is valued at 1/90 of the Mall price of the
basic servant (the possibility of using a clockwork servant, and the value of
the items from an exploded servant, are not yet considered).
* Crafting without a servant, or that otherwise takes turns, uses preference
"[B][COLOR="Blue"]valueOfAdventure[/COLOR][/B]" (default 500).
* Still upgrades use "valueOfStill" (default 0).
 
Last edited:
Something I didn't quite understand... Does Ascend.ash have inbuilt functionality for custom outfit management apart from "Melee" and "Pajamas"? Also, Dj_d, if I were to try and implement the thing myself (I'm an amateur compared to you, Zarqon or Bale, but I could at least try), would you have any objections?
 
Top