summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.h
Commit message (Collapse)AuthorAgeFilesLines
* Burning trees in Swamp produces shallow water. Fire clouds adjacent to ↵Darshan Shaligram2010-01-171-0/+2
| | | | watery squares now produce steam.
* Experimental level builder changes for Swamp.Darshan Shaligram2010-01-161-0/+3
| | | | The Swamp now gets a border of trees and uses trees instead of walls. Swamp:5 vaults may need tweaking to fit in better.
* Move island-building code from dgn-shoals.cc->dgn-height.cc.Darshan Shaligram2010-01-131-0/+1
|
* Change stair placement on Shoal:$ so it no longer groups all stairs together.Darshan Shaligram2010-01-091-0/+7
|
* Fix Shoal:$ generation bugs: stairs could be surrounded by deep water, hut ↵Darshan Shaligram2010-01-051-0/+2
| | | | | | entrances could be blocked by rock. shoal-hut.lua test generates 1k Shoal:$ levels and verifies that the levels pass sanity tests.
* More sanity checks for Shoals vault and stair connectivity (due).Darshan Shaligram2009-12-301-0/+6
|
* Remove shoal decoy huts. The rune huts are now also used as decoys, with the ↵Darshan Shaligram2009-12-301-1/+2
| | | | rune replaced by |
* Merfolk (water/ice) elementalists join the Shoals guard.Darshan Shaligram2009-12-291-0/+6
|
* Place clumps of plants on Shoals levels.Darshan Shaligram2009-12-281-0/+3
|
* Move Shoals code out into its own file.Darshan Shaligram2009-12-261-0/+12
|
* Reduce dependency on travel.hMatthew Cline2009-11-291-162/+2
| | | | | | | | Removed inclusion of travel.h from most .h files to reduce the number of .cc files dependant on it. This involved moving the level_pos declaration to externs.h, moving the flood_find template to it's own header file, and moving two typedefs from travel.h to travel_defs.h because typedefs can't be forward declared (argh).
* Subvaults.Enne Walker2009-11-281-0/+1
| | | | | | | | Vaults can now include other vaults as a part of their definition. These subvaults are currently included by tag only and replace glyphs in their parent vault. See documentation for more details. Vault:8 has been modified to use subvaults.
* Don't use is_travelsafe_square for dungeon generation.Robert Vollmert2009-11-251-0/+3
| | | | This hopefully fixes recent disconnected level problems.
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-1/+0
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Rename fixary.h and fixvec.h.Robert Vollmert2009-11-151-2/+2
|
* seen_replace_feat(): replace one feat with anotherMatthew Cline2009-11-131-2/+2
| | | | | Replacement for replace_area_wrapper, and a lua accessor for the function. Returns true if the player saw the feature being changed.
* dungeon: Randomized altars for mini-templesMatthew Cline2009-11-111-3/+2
| | | | | | | | | Randomize the altars placed in mini-temples, rather than always going in enum order. If multiple mini-temples are placed on the same level with a combined altar count larger than the number of gods which can appear in temples, then a single mini-temple might contain duplicate altars.q Eliminates altar_count from vault_placement struct.
* Place some of the altars outside of the TempleMatthew Cline2009-11-111-0/+6
| | | | | | | | | | | | Framework for placing altars outside the Temple, into what I call "overflow temples". It currently places twelve altars in the Ecumenical Temple and two outside at D:2 through D:9, with each of the two overflow altars being placed in a "temple" which consists of a bare altar. The overflow temples can actually contain any number of altars, but I'm not a vault designer, so I went the minimalistic route. The levels the overflow temples are placed on can be listed with the wizard command "&:".
* FR 1837856: note vaults generated in dumpMatthew Cline2009-10-261-0/+4
| | | | | | | | | | Include new dump section "vaults", which for game-end dumps (or any wizard-mode dumps) will include a list (by place) of all the vaults generated in the game. The savefile now includes a player-associated CrawlHashTable (you.props), which can be used for storing player information which doesn't need to be accessed efficiently.
* More renaming and reorganization of feature checks.Robert Vollmert2009-10-171-1/+1
| | | | | | | | | There were a couple of functions is_something(dgn_feature_type feat) defined in travel.cc that were otherwise independent of travel. For consistency, move these to terrain.cc and rename to feat_is_something. One might also consider renaming the various feat_is_whatever functions to just is_whatever.
* Naming consistency.Robert Vollmert2009-10-171-6/+6
| | | | | Mostly rename functions from terrain.h that accept features of typ dgn_feature_type from grid_is_* to feat_is_*.
* Drop obsolete CVS last-committed headers ($Author$).Adam Borowski2009-10-061-2/+0
|
* Move 'FixAry.h' -> 'fixary.h', 'FixVec.h' -> 'fixvec.h' for file naming ↵Steven Noonan2009-09-291-2/+2
| | | | | | consistency Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* Set up a basic testing framework for LOS. ./crawl -test with a full debug ↵Darshan Shaligram2009-09-241-0/+2
| | | | build will run the test.
* Various cleanups, mostly having to do with coord_def().haranp2009-02-151-0/+4
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9086 c06c8d41-db1a-0410-9941-cceddc491573
* Store level generation information in env.properties, so that it can bezelgadis2009-01-301-1/+8
| | | | | | | | included in a crash dump even if the crash happens after level generation is complete. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8849 c06c8d41-db1a-0410-9941-cceddc491573
* Bug #2025033: To prevent a vault's rock walls from being changed to match thezelgadis2009-01-011-1/+2
| | | | | | | | walls of the rest of the level in the Vaults, the Crypt and in Dis you can use the tag no_wall_fixup git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8073 c06c8d41-db1a-0410-9941-cceddc491573
* Add arena mode, activated on the command-line by 'crawl -arena "monster v ↵dshaligram2008-12-311-4/+8
| | | | | | monster"' (eg: crawl -arena "Sigmund v Jessica") to let monsters fight each other undisturbed by the player. Good to examine monster AI and monster behaviour when the player is AWOL. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8059 c06c8d41-db1a-0410-9941-cceddc491573
* Start of moving special room definitions (monster lairs and monster pits)zelgadis2008-11-261-11/+0
| | | | | | | | | | | | | | | | | to lua. As of now all special rooms are filled with rats. Introduces two new members to map_def, weight_depth_mult and weight_depth_div, which change a map's weight based on the absolute dungeon depth (not yet accesible via lua or vault definitions). This needs to be done in C++ rather than in lua since a map's lua isn't re-invoked every time a random map is chosen, but only when the map is placed. NOTE: When I first made this change crawl started crashing until I manually forced the recompilation of util/levcomp.lex.o and util/levcomp.tab.o; if crawl starts crashing after this change, try doing that. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7629 c06c8d41-db1a-0410-9941-cceddc491573
* Add pillars to ziggurat, more utility functions for Lua to handle maps.dshaligram2008-11-241-7/+12
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7591 c06c8d41-db1a-0410-9941-cceddc491573
* Use map_def* instead of map indices.dshaligram2008-11-231-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7562 c06c8d41-db1a-0410-9941-cceddc491573
* Removed redundant buffer used to go from map_def to env.grid and all the ↵dshaligram2008-11-231-4/+31
| | | | | | tedious code used to mess with this pointless buffer. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7560 c06c8d41-db1a-0410-9941-cceddc491573
* Discard more junk parameters from vault building routines.dshaligram2008-11-231-2/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7558 c06c8d41-db1a-0410-9941-cceddc491573
* More steps toward ziggurats.dshaligram2008-11-231-0/+5
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7553 c06c8d41-db1a-0410-9941-cceddc491573
* Remove labyrinth entry placement from dungeon.cc, added support for "luniq" ↵dshaligram2008-11-191-0/+4
| | | | | | and "extra" tags. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7511 c06c8d41-db1a-0410-9941-cceddc491573
* [2154738] Addressing some dungeon continuity problems (i.e. Orc bubble ↵ennewalker2008-10-191-0/+3
| | | | | | | | | problem). Regions of the map without a down staircase of any sort get an escape hatch down. Bottoms of branches must contain a path back to a branch exit via stone stairs. Finally, the bottom levels of spotty branches (Orc, Lair) are now slightly bigger. They aren't always fully connected, but it's now more likely that this is the case. Also, fixing a terrible typo bug that I introduced that silently eliminated the check for missing staircases. (!!!) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7275 c06c8d41-db1a-0410-9941-cceddc491573
* Add whitespace fixes.dolorous2008-09-281-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7054 c06c8d41-db1a-0410-9941-cceddc491573
* Remove pre-Stone Soup change history from source files, and push it allj-p-e-g2008-09-141-4/+0
| | | | | | | | | | into a file crawlhistory.txt in docs/obsolete. I used a perl script to do this under the assumption that all these change logs used the same system following the keyword "Change History". git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6930 c06c8d41-db1a-0410-9941-cceddc491573
* Massive overhaul to move towards coord_def().haranp2008-07-301-8/+14
| | | | | | | | | | This might have introduced some bugs: I now get intermittent crashes on startup (this might have to do with the changes to special_room.) Sorry about that - committing before I need to do any more big conflict resolutions. Fixes coming later. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6732 c06c8d41-db1a-0410-9941-cceddc491573
* Adding lua function to fill in disconnected zones.ennewalker2008-07-261-0/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6689 c06c8d41-db1a-0410-9941-cceddc491573
* Remove unneeded methods (including the old resistance screen), renamej-p-e-g2008-06-121-2/+1
| | | | | | | debugging functions, and some other clean-up. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5757 c06c8d41-db1a-0410-9941-cceddc491573
* Fix wizard mode being unable to create monsters of nonfloor habitat.j-p-e-g2008-06-011-1/+2
| | | | | | | | | | | | | | | | Changed labyrinth handling for minotaurs: Instead of being magic mappable, labyrinths are plain mappable. Yes, that makes everything much easier, but allowing magic mapping and yet you still have to trudge along by hand (rather than use autotravel) is worse. To make up for it, we might want to boost the monster minotaur (trying to defend its home against a rival?) Or we could just remove the difference altogether... Cleaned up debug.cc a bit. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5401 c06c8d41-db1a-0410-9941-cceddc491573
* Add a "patrolling" flag to monster creation in mapdef and dungeon.cc, j-p-e-g2008-05-261-6/+6
| | | | | | | | | | | | | | | | | and add it to Orb Guardians in Zot:5. At least in theory, they should now be returning to their starting points if you flee and stay away for long enough. "In theory" because the bad monster pathfinding prevents them from actually finding their way back. We've got the same problem with minotaurs in labyrinths, who've also got this flag set. Because of these restrictions it's almost impossible to test whether it would work without such problems. In any case, it's there for later. Also: spacing and commenting fixes in dungeon.cc. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5253 c06c8d41-db1a-0410-9941-cceddc491573
* FR 1822931: Vaults can now include tags of the form "layout_foo" tozelgadis2008-05-261-0/+1
| | | | | | | | | | | | | | | | indicate which level layout types it's compatible with, where "foo" can be: rooms, caves, open, city, or cross (plus swamp, shoals and labyrinth, even though random vaults aren't used in those places). Having no "layout_foo" tag means that the vault is compatible with all layout types, which is the current behavior. Also, fixed bug where layouts plan_1 (donut levels), plan_2 (cross levels) and plan_6 (octagon with circle of pillars) were choosing randomly from the three Lua defined layouts in dat/layout.des, rather than choosing exactly the chosen layout. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5251 c06c8d41-db1a-0410-9941-cceddc491573
* Pushing some dungeon-related lua functions back into C++.ennewalker2008-05-221-0/+29
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5176 c06c8d41-db1a-0410-9941-cceddc491573
* Cleaned up monster generation functions, separate monster zombie type from ↵dshaligram2008-05-051-1/+0
| | | | | | | | | monster number. May be buggy. Allow hydra zombies (they currently do not get the right number of heads). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4872 c06c8d41-db1a-0410-9941-cceddc491573
* The level-builder now enforces the constraint that every contiguous region ↵dshaligram2008-04-101-1/+8
| | | | | | on a level must include at least one stair (ekiM). This guarantee does not apply to areas inside vaults (the builder assumes vault-designers are sane) and does not apply to certain branches (Swamp, Shoals, the branches of Hell), or the non-Dungeon areas (Abyss, Pan, Bazaars). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4169 c06c8d41-db1a-0410-9941-cceddc491573
* Added Water card. Might need some rebalancing.haranp2008-04-081-0/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4127 c06c8d41-db1a-0410-9941-cceddc491573
* Ha, I knew there was a reason to cleaning up dungeon.cc - learning by j-p-e-g2008-03-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | osmosis... :p Anyway, killing the royal jelly now turns all stone walls on the level into clear rock, together with a cute message. This currently only works if you actually kill it on the bottom level - other than the lua magic, which sets a marker to work no matter where you kill the jelly (I think). Still, it's better than nothing. Instead of introducing a wrapper function I probably should have made replace_area non-static, but I wasn't sure if there might be a better way to do this, and wanted to avoid having to change (and then possibly change back) all calls and their indenting. I would have changed the rune probability as well, but I wasn't entirely sure, how. If I had to guess, I'd say that changing P -> O on the branch map is the way to go. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3986 c06c8d41-db1a-0410-9941-cceddc491573
* Batch of tiny changes for MSVC compiles.pauldubois2008-03-101-1/+3
| | | | | | | | | | | | | | | Most of these fall into the category: - don't use struct to refer to a class, and vice versa - msvc doesn't like unistd.h or dirent.h Doesn't fix all the struct/class problems; I think I'll silence those for now and move on because it's not all that important. Tested on OS X. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3571 c06c8d41-db1a-0410-9941-cceddc491573