Leveling Up Scripts - collecting best practices

tgetgel

Member
Various people have mentioned in different threads that they have their own leveling up scripts. I am working on one but am new to Mafia scripting.

Having a background in process improvement, I am collecting the best practices in leveling up scripting.

What works for you? What does not work. What are some of the things to remember? What are some things to avoid? What mafia capabilities are most useful?

The idea is that I will take your input (remarks and ASH files), combine the best practices and repost the ASH for all to use.

Note: I already have One-Click Level from dj_d (http://kolmafia.us/showthread.php?t=1582&highlight=levelup.ash) and Powerleveling past Level 11 from cjswimmer (http://kolmafia.us/showthread.php?t=195).

Comments?
 

tgetgel

Member
I have started to develop a requirements/features list:
Check for current script version (ver.ash - modified - more verbose)
Get and save current stats
Determine stat needs for next level
Determine outfit/equipment for max desired stat gain
Determine buffs for max desired stat gain
Determine locations to get max needed stat increase (safe.ash, canadv.ash ?)
Maximize number of adventures (eatdrink.ash)
Dress (and buff) to kill
Kill (include AutoMCD .ash) (monitor and rebuff as expire?)
Determine outfit/equipment for max overnight adv gain
Dress to sleep
Generate report (stat, substat, xp, meat, & items gained, #adv, avg xp/adv)

What this does not do is account for ascension paths, ronin, using items/skills, creating stuff, and lots of other things that I do not know about. Ideally, the resultant script will pull information once near the beginning directly from mafia for determinations to reduce server hits. I know that this is not possible for EatDrink when it is trying to shop, but in theory it should be possible for the determining the locations in which to adventure.

Possible? Too ambitious? Already been done?
 

dj_d

Member
That's a good list, but I think it skips the hardest part. The hard part seems to be figuring out the optimal fight strategy for a given character, then determining at which level it will be effective, then finding the balance of +ML and other buffs/equip (+musc or +mox) that will maximize experience while keeping your strategy effective. For example, if you're level 1, you almost certainly can't survive strictly maximizing +ML; at the very least you might need a shield for noodlebutting. If you're using a ranged weapon, you might need some +moxie items so you can hit.

You also need some sort of ranking of areas - which ones are the highest yield, taking in to account noncombats, etc? (and speaking of which, you may want to maximize noncombats). This spreadsheet should be amazingly helpful - you probably want to either recalculate in code or precalculate and store its contents.
http://www.alliancefromhell.com/forum/viewtopic.php?t=117

A suggestion: Start with a script that determines the best location to level up assuming no equipment (i.e. you're naked, no buffs) and spends one adventure there. This is very achievable and is actually a great start (and levelup.ash should be a help as a framework, although the code is ugly as hell). Then, add to it a check that only puts you somewhere that you can kill things, given a strategy that you set - basically, call canadv, and if it returns OK, calculate if you have the strength to kill what lives there in one hit OR the moxie to hit them and avoid getting hit etc. This is now really useful. Next figure out buffs and equipment to keep the area beatable while maximizing experience. Now you're rocking! Then the rest is easy (and has already been done in a few other places like eatdrink.ash, ascend.ash - which I will give you a free copy of if you get half this far! :) - etc). I would save all that (checking stats, consumption, etc) for last.

Last but not least, check out equipt.ash - it will make your project MUCH easier. :)

So you need something a lot more sophisticated than AutoMCD.
 

dj_d

Member
It used to be that changing noncombats modified your monster level and vice versa, but is no longer true. They called it the "antisynergy of ML and noncombats" or something. It was goofy, and fortunately, it is no more.

I would check out the alliancefromhell website and look at the latest posts in the "optimal leveling spreadsheet" thread too!
 
Top