Please sign in to comment.
Deprecate acquire item specs for regular dungeon generation
Conditioning level generation on the player is generally now deprecated (I think there's consensus that this is bad for various reasons, but the reason I care about is that it interferes with seeding). This is the latest case of this that I have run across. These item specs directly call the acquirement code, which has a bunch of conditioning on the player to try to make the generated item more usable or appropriate. For non-pregenerated games this can affect randomization afterwards, and for pregenerated games it simply doesn't make much sense given that the player is mostly a blank slate when the acquirement is run. If you really want the player to have an item generated by this code, just drop a scroll of acquirement. In very special cases, it is possible in principle to generate an item on the fly with this item spec (several sprint maps do this). I've done somewhat arbitrary choices of replacements depending on my mood and what the vault appeared to intend, trying to get equivalently good and appropriate items, but these might need further refinement. Vault designers can consider `superb_item`, `any good_item`, and `star_item` when their intent is, place something potentially great but fairly random. There are some rarely used special cases of this syntax that are still in the code, e.g. the god syntax: there was all of one non-trove instance of this syntax left, and it was using a god (TSO) that has barely any acquirement special casing; I changed this one to something a bit more specific. Possibly this syntax should just be removed. This commit leaves only a few instances of this item spec, mainly in troves (where it is not deprecated). There are a couple calls in abyss that seemed ok, but possibly should be changed, as well as some uses in sprints as mentioned above.
- Loading branch information...
Showing with 39 additions and 37 deletions.
- +6 −3 crawl-ref/docs/develop/levels/syntax.txt
- +4 −4 crawl-ref/docs/develop/levels/triggerables.txt
- +1 −1 crawl-ref/source/dat/des/branches/depths_encompass.des
- +1 −1 crawl-ref/source/dat/des/branches/dis.des
- +6 −7 crawl-ref/source/dat/des/branches/lair.des
- +6 −6 crawl-ref/source/dat/des/branches/pan.des
- +1 −1 crawl-ref/source/dat/des/branches/snake.des
- +1 −1 crawl-ref/source/dat/des/branches/spider.des
- +1 −1 crawl-ref/source/dat/des/branches/zot.des
- +6 −6 crawl-ref/source/dat/des/variable/float.des
- +1 −1 crawl-ref/source/dat/des/variable/ghost.des
- +3 −3 crawl-ref/source/dat/des/variable/large_themed.des
- +2 −2 crawl-ref/source/dat/des/variable/mini_monsters.des