summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.cc
Commit message (Collapse)AuthorAgeFilesLines
* Clarify some code (dungeon.cc)reaverb2014-08-091-2/+4
| | | | | | The item squashing would not happen outside this conditional because acquirement quality items have too high a level to be squashed. (This was also the original behavior)
* Doxygen comment _builder_items()reaverb2014-08-081-0/+4
|
* Remove 2 more parameters from items()reaverb2014-08-081-5/+5
| | | | | They were only used in one place, and the relevant code was moved to that one place in the previous commit.
* Move item placement code from items() to the only place it is usedreaverb2014-08-081-1/+33
|
* Remove a parameter from items() (mundane)reaverb2014-08-081-10/+21
|
* allow iterating over branches in a non-enum order (8742)Jesse Luehrs2014-08-021-29/+27
| | | | | | | | | | | | This allows us to have a consistent and logical ordering of branches without requiring the branch enum itself to be reordered (which could have save compatibility implications). The new ordering of branches just moves Depths to the place in the ordering that it already is planned to go on the next major save compat bump, but other changes are possible, if desired. All places in the code that iterate over branches have been updated to use the new iterator except for code dealing with save files, which still uses enum order, so that we can change the display ordering without affecting saves.
* Remove stuffNicholas Feinberg2014-07-291-1/+1
| | | | | | | .cc, moving its contents into the new stepdown.cc and strings.cc. (The latter also got many donations from libutil.h.) Down with stuff! Up the new flesh!
* Don't veto when failing to connect Abyss vaultsNeil Moore2014-07-281-1/+2
| | | | | | | | | So they'll actually place. We should look more closely into *why* it fails to connect and whether that can/should be fixed; or, alternatively, whether we should make abyss vaults all no_exits. For now, this stopgap at least leaves us in the same situation we were in before the #8833 crashes began.
* Don't crash when abyss map placement is vetoed (#8833)Neil Moore2014-07-281-13/+0
|
* Add end.ccNicholas Feinberg2014-07-281-0/+1
|
* Don't veto every O/S/M/A level with a primary vault.Neil Moore2014-07-271-9/+5
|
* Veto a level if the primary vault's exits fail to connect.Steve Melenchuk2014-07-261-3/+13
| | | | | This doesn't solve the underlying problem, whatever it is, but it should stop games from reaching an unplayable state.
* Revert "Connect exits of primary vault to layout after building layout."Steve Melenchuk2014-07-261-20/+10
| | | | | | | There's already a ::connect call after build_postvault_level, so this is completely meaningless logic. This reverts commit a02710520930951c3f3b6685483d157d3b32bfcb.
* Connect exits of primary vault to layout after building layout.Steve Melenchuk2014-07-251-10/+20
| | | | | This should cause fewer issues with vaults not connecting to the rest of the level.
* Allow &Pminivault (Grunt)Neil Moore2014-07-101-1/+7
| | | | | | | If the player specified a minivault with &P, try to build a level containing that minivault. If the level doesn't try to place minivaults (encompass levels) there is no effect, but otherwise the level will be vetoed if the requested vault did not place.
* Support cursed/damaged items in monspecs (PleasingFungus)Neil Moore2014-07-051-1/+5
|
* Simplify blood potion initializationNicholas Feinberg2014-07-041-5/+0
| | | | | The back-compat code was hardly needed when it was added, much less now.
* Don't overwrite primary vault tiles with layout tiles (#8108, #6150)Neil Moore2014-07-021-1/+1
| | | | | | The remaining problem behind this longstanding bug was that the layout overwrote the colour, height, tiles, etc. of all squares---even ones that were already placed by the primary vault.
* Split butchering/bottling into a new fileNicholas Feinberg2014-07-011-0/+1
|
* Move blood rotting into a new fileNicholas Feinberg2014-07-011-0/+1
|
* Include veto reasons in mapstat.log.Neil Moore2014-07-011-1/+1
|
* Remove an unused argument from the items() functiongammafunk2014-06-291-13/+5
|
* Rename the 'can_overwrite' vault tag to 'overwrite_floor_cell'.Vsevolod Kozlov2014-06-281-1/+1
| | | | In an attempt to clarify its new, more restricted behaviour.
* objstat: Item and monster generation statisticsgammafunk2014-06-251-2/+2
| | | | | | | | The -objstat command-line option will generate iterations of the given levels, compiling stats on every item and monster generated, and average the results over the iterations. It's only available in debug builds and uses the same map specification format as -mapstat. The default number of iterations is 100.
* Clean up the mapstat function names and variablesgammafunk2014-06-241-3/+3
| | | | | | The command-line option is -mapstat, so the non-static functions use the prefix mapstat_ instead of mapgen_ now for consistency. The static functions and variables have had their mg_ prefixes removed.
* The great mon-stuff migration.Shmuale Mark2014-06-221-0/+1
| | | | | | | | | A good deal of functions move to the two new files, mon-poly and mon-message. Of the others, some go to where they are used, some to mon-util, and a few are made member methods of monster. This probably breaks Xcode compilation, and I'm not able to test the changes I made to MSVC that will (hopefully) keep it working.
* Treat minor Pan lord vaults properly as primary vaults (infiniplex).Steve Melenchuk2014-06-191-34/+9
| | | | I'm not sure why this extra behaviour was still around.
* Remove dart traps from Zot:5Nicholas Feinberg2014-06-161-0/+3
|
* Plus2: (JEWEL/WPN) SimplifyChris Oelmueller2014-06-141-5/+0
|
* Respect M_NO_GEN_DERIVED in a few more places.Neil Moore2014-06-131-1/+2
| | | | | Ghostly Flame spectrals, and Crypt level-gen zombies. For the latter, also respect M_NO_ZOMBIE just as we respect M_NO_SKELETON.
* Revert "Make random_choose_weighted() end on -1 weight"reaverb2014-06-101-4/+4
| | | | | | | This reverts commit 7e81480cda18144ff185f5248639a072b654deff. Turns out I missed some calls to random_choose_weighted(), this change might not even be worth doing.
* Make random_choose_weighted() end on -1 weightreaverb2014-06-101-4/+4
| | | | For consistency with random_choose().
* Remove Hall of Bladesreaverb2014-06-071-6/+2
| | | | | | The complaints against the branch are well documented, mostly stating Dancing Weapons are awful enemies and the Hall of Blades is filled with them.
* Fix a path-finding crash in the slime wall connectivity fixupgammafunk2014-06-051-0/+2
|
* Chance function(void) to function()reaverb2014-05-241-2/+2
|
* Really fix Gozag gold detection (#8584).Steve Melenchuk2014-05-231-1/+1
| | | | | | | | | It was moving the wrong item to the top of the cell - I wanted item_def::index(), not item_def::link. Also, if the gold was the second item on the cell, it would get missed, and if more than one identical item was being generated on the same tile before and after the gold, it could also get missed.
* When flagging Gozag-detected gold, assert that there's an item there.Steve Melenchuk2014-05-231-0/+3
| | | | Should catch the crash in #8584.
* Remove directional bias from making passages from vault exits.Steve Melenchuk2014-05-171-4/+10
| | | | | If the shortest path is a straight line, it'll still be a straight line, but more diagonal passageways should look somewhat more varied now.
* Have primary vaults respect nolayout_ tags.Steve Melenchuk2014-05-171-2/+8
| | | | | | There's some code duplication here between _vault_can_use_layout and _map_matches_layout_type which should probably go away in the future, if we can figure out a good way to do so.
* Support for variable-altar-count Temples.Steve Melenchuk2014-05-151-0/+6
| | | | | | | | Based on a note about wanting corrupted_temple to support a variable number of altars; it can now do 6-9. (I left the lower limit at 6 because that's currently the smallest any temple is.) Inspired by a couple of temple designs I'll probably add shortly.
* Make mini_float the default; add a no_exits tag instead.Steve Melenchuk2014-05-151-1/+1
| | | | | | | | | | | There have been so many problems with minivaults not having exits that this is an easier solution than the alternative. You're still allowed to explicitly place exits, of course, in which case floating exits go away. There are a couple of other small tweaks to the level documentation here as well.
* Fix indentationChris Campbell2014-05-151-1/+1
|
* Fix compilation.Neil Moore2014-05-151-1/+1
|
* Clean-up shaft_known() (MarvinPA)reaverb2014-05-151-1/+9
|
* Formatting fixes (add braces).Neil Moore2014-05-121-0/+6
| | | | This fixes all the instances caught by unbrace.
* Refactor / remove some less important / unnecessary Gozag code.Steve Melenchuk2014-05-111-12/+1
| | | | | | | | | | | | | | In particular, the potion and shop lists don't need to be generated in advance of using the ability altogether; they only last as long as the ability menu is present (thus they're still stored, as if you get a HUP in the middle of it we want to present the same choices). Since shop prices no longer depend on the generated shops, item generation for the shops is left to the shops. (If we want to preserve their item quality, we'll need a level_number paramter in shop specs, but I doubt players will notice the difference at all.) RIP item_def::to_spec; you will not be missed.
* Place Gozag shops at the player's location (elliptic).Steve Melenchuk2014-05-071-7/+5
| | | | | | | | | | | Must still be on a level that allows shops, for now; I'm open to changing this. No restrictions on the number of shops called per level, either. There's some support code left here in case people still have games in progress on the branch; when it hits trunk the support code will go away.
* Nudge Gozag's passive gold detection.Steve Melenchuk2014-05-071-4/+3
| | | | | Fix other item being detected in place of gold (#8499); don't show the message for it (elliptic).
* Fixes for Gozag bugs related to level generation.Steve Melenchuk2014-05-071-3/+10
| | | | | | | | * Properly unmark off-level shops (#8498). * Don't deduct bribes for vetoed levels (if, say, Elf:3 vetoed a lot you'd notice your bribe running out immediately on entering the level).
* Drop a now-unused argument to place_monster_corpse.Steve Melenchuk2014-05-071-1/+1
|