Friday, April 5, 2013

ACKS Scripts - Magic Item Availability

One thing which can sometimes be annoying in ACKS is when your players ask "Well, what magic items are available in town this month?"  When it comes to most goods like war galleys and military oil, indexing into the availability table and rolling the percent chance isn't so bad, because there just aren't that many things.  But depending on how you count scrolls, there are close on 300 magic items in ACKS Core, which can make playing the "magic item availability guessing game" a right royal pain in the arse if your players have a long wish-list of low-probability items.

So I automated it.  Here's a python script that checks availability for each item in this text file based on price and market class.  I'm reasonably certain it would work on Windows if you passed the input file in with Windows-style path separators, but don't actually have any (working) Windows machines to test it on :\ .  Works on linux, though.

Writing and running this script has also made me realize that scrolls are much more available than we thought, though the selection of available spells is pretty random.  This has a number of interesting implications.  First, wizards can use bought scrolls to expand their spell selection with a bit more control than learning from a master, and with a higher rate of success than doing research (as long as the spell is one available on bought scrolls, ie in Core).  Likewise, high-power scrolls of Death Spell, Disintegrate, Flesh to Stone, and similar are a nice (if pricey) way for a mid-level party to add some one-shot punch.  On the other side, high-level cleric scrolls of Restore Life and Limb, Remove Curse, Remove Disease, and Neutralize Poison can provide super-healing in the wilderness for a high price (something I know the Grim Fist has done; I kind of wondered where they had gotten two RL&L scrolls...).  Finally, with scrolls more readily available, the thief and bard ability to read scrolls is suddenly much more useful than when they were only found as random treasure or crafted.

In any case, this is the most recent of a decent pile of scripts I've written for ACKS.  I'll release more as I clean them up.  Others of interest include a treasure generator (there's already a good online version but I needed to write a recursive parser anyway, and didn't want trade goods in hoards by default), automatic hex-stocker (needs expanding with the recursive parser from the treasure generator, more monster data files), a henchman generator (needs naming, proficiencies, and hench magic items, but does choose class intelligently based on stats and generate wizard spells known), and one that takes in a text file containing information on a region's towns and their relative locations and generates all the mercantile demand modifiers (needs waypointing to cut down on the number of links you have to specify - all traffic from the Mediterranean to ports on the Atlantic has to pass through Gibraltar or Suez, so it would be better to specify distance from each Med port to Gibraltar and Suez and each Atlantic port to Gibraltar and Suez, but as it stands you'd need to specify the distance from each Mediterranean port to each Atlantic port, which is a real pain).  And I guess I should get a github or something for storing these, rather than throwing them in a web-public directory...

No comments: