summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapdef.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Splitting up stuff.cc.Robert Vollmert2009-10-301-0/+3
| | | | New: colour.cc, coord.cc, coordit.cc, random.cc, rng.cc.
* Allow assignment to multiple glyphs at once.Enne Walker2009-10-291-31/+103
| | | | | | All glyph assignment declarations in maps (e.g. COLOUR, KPROP, FTILE) can now assign multiple glyphs simultaneously. This should make some vault definitions less cumbersome. See the doc for more details.
* (MONS_PROGRAM_BUG || -1) --> MONS_NO_MONSTERMatthew Cline2009-10-271-1/+1
| | | | | | | | | Change MONS_PROGRAM_BUG to MONS_NO_MONSTER when "no monster" is what was meant. Now all instances of MONS_PROGRAM_BUG should indicated some sort of failure or error. Also, fixed some places which were still using -1 instead of MONS_NO_MONSTER.
* Make FPROP_FORCE_EXCLUDE set an actual travel exclusion.Jude Brown2009-10-241-3/+5
| | | | | | | | | FPROP_FORCE_EXCLUDE now sets an actual travel exclusion rather than bypassing the travel exclusion system. Exclusions are single squares. Signed-off-by: Jude Brown <bookofjude@users.sourceforge.net> Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
* KPROP: assign feature properties in Lua vaults: FPROP_BLOODY, etc.Jude Brown2009-10-211-0/+75
|
* Create l_defs.h and move stuff there.Robert Vollmert2009-10-211-0/+1
| | | | | l_defs.h contains headers for things defined in the Lua functions but used elsewhere. This should probably not exist long-term.
* cosmetic: strip trailing whitespaceSteven Noonan2009-10-201-1/+1
| | | | Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* Naming monsters via MONS: rat name:Yves (Jude & Vsevolod).David Ploog2009-10-191-0/+7
|
* Lua map improvements.Enne Walker2009-10-181-266/+145
| | | | | | | | | | | | | | | | | | | | The previous dungeon layout.des functions all apply directly to the grid and so are unsuitable for use in vaults. This aims to correct that by providing lua functions that can manipulate maps (of glyphs). grd[x][y] in a .des file can now be used to get and set glyphs in the current map. This should allow for less cumbersome map variations than what you can do with just SUBST and SHUFFLE. To support that, map_def no longer batches up transforms--it applies them all immediately. This resulted in a good bit of refactoring. FTILE/RTILE map commands now support setting the tile for multiple features at once. There are also a small number of new lua functions that apply to maps (map_octa_room, map_smear, and map_extend). Ideally, these will eventually replace the existing builder funcs that work on grd.
* versioning: remove SVN-specific revision data, add Git versioningSteven Noonan2009-10-181-1/+0
| | | | Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* Merge branch 'master' into treesAdam Borowski2009-10-121-1/+0
|\
| * Remove a lot of unneccessary includes.Robert Vollmert2009-10-091-1/+0
| | | | | | | | | | | | | | The console version still compiles on Linux; both console and tiles version compile in OS X. I haven't been able to test the DOS and Windows compiles -- please fix or tell me about any errors that show up.
* | Trees -- a new wall type, can be seen through (2nd square blocks LOS).Adam Borowski2009-10-091-1/+1
|/ | | | | Available as 't' for vault builders. Can be ignited using wands of fire, but the fire can't be controlled.
* Drop obsolete CVS last-committed headers ($Author$).Adam Borowski2009-10-061-2/+0
|
* Allow vaults to request use of the acquirement code with "acquire ↵dshaligram2009-09-211-0/+26
| | | | | | <item_class>" or "acquire:<god> <item_class>" in item specs (due). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10765 c06c8d41-db1a-0410-9941-cceddc491573
* Fix Shoal:5 not being generated.dshaligram2009-08-221-0/+14
| | | | | | | | | | | | Reinstate the distinction between minivaults and regular vaults when placing maps based on PLACE:, because minivaults cannot be placed before the rest of the level is built. Change Shoal huts to be picked by tag instead of PLACE. Allow DEPTH: to use branch:$. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10591 c06c8d41-db1a-0410-9941-cceddc491573
* A KFEAT specified trap can start out known to the player by adding "known"zelgadis2009-08-191-1/+3
| | | | | | | to the trap name. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10581 c06c8d41-db1a-0410-9941-cceddc491573
* Fix being unable to create hydra undead with requested number of heads (Eino).dshaligram2009-08-131-11/+17
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10535 c06c8d41-db1a-0410-9941-cceddc491573
* Fix bug that prevented the random placement of minivaults (syllogism)dshaligram2009-07-141-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10211 c06c8d41-db1a-0410-9941-cceddc491573
* First part of the merger of fixed artefacts into unrandom artefactszelgadis2009-06-251-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (further changes will be much smaller). Breaks savefile compatibility, and bumps the major savefile version up to 6. Some changes made to some tiles files, but it hasn't been tested with a tiles build. Overview of changes: * Unrand artefacts are now defined in art-data.txt and is turned into C code via util/art-data.pl. This has the dual advantage of being more readable by humans, and that if the unrand data structure changes then you can just change util/art-data.pl and regenerate the C code rather than having to change some 70 different C structs by hand. * util/art-data.pl automatically updates NO_UNRANDARTS, and also automatically generates an enumeration of all the unrands which are equal to their item.special field. * randart.cc and randart.h have been renamed to artefact.cc and artefact.h, since the files covers all types of artefacts, and the differences between randarts, unrandarts and (former) fixed arts have been minimized since the terms were introduced. Also renamed unrand.h to art-data.h * The brands and resistances of former fixed arts are now handled via artefact properties, but the rest of their special behaviours are still hardcoded. * Unrandarts are now distinguished between normal and "special", with the special ones currently just being identical to the list of the formed fixed arts. Special unrandarts are randomly generated less often than normal unrandarts, can be generated in the Abyss if they've been lost, can't be picked up by monsters, and can't be affected by Tukima's Dance. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10035 c06c8d41-db1a-0410-9941-cceddc491573
* Remove one more reference to the POISONED_II missile brand.dolorous2009-05-231-1/+0
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9809 c06c8d41-db1a-0410-9941-cceddc491573
* Add spacing fixes.dolorous2009-04-301-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9709 c06c8d41-db1a-0410-9941-cceddc491573
* Properly use default parameters when displaying comma-separated lists.dolorous2009-02-121-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9048 c06c8d41-db1a-0410-9941-cceddc491573
* Commit patch by castamir:j-p-e-g2009-01-221-2/+31
| | | | | | | * allow placement of fixedarts and damaged/cursed items in vaults git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8699 c06c8d41-db1a-0410-9941-cceddc491573
* Adding FTILE/RTILE vault commands for setting per-glyph floor and rock ↵ennewalker2009-01-201-41/+178
| | | | | | | | | | | tiles. Most vaults with COLOUR tags now also use FTILE/RTILE. FLOORCOL, ROCKCOL, FLOORTILE, and ROCKTILE have been renamed to LFLOORCOL, LROCKCOL, LFLOORTILE, and LROCKTILE to emphasize the fact that they are a per-level setting (similar to LFLAGS) and to disambiguate them from COLOUR/FTILE/RTILE. This change also fixes green water not appearing green outside of the sewers and vaults (like the ice cave) not getting their default tiles set appropriately due to a recent change. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8615 c06c8d41-db1a-0410-9941-cceddc491573
* Let the shield ego "reflection" be used in item specs.zelgadis2009-01-131-0/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8441 c06c8d41-db1a-0410-9941-cceddc491573
* Fix the strings for the weapon egos "dragon slaying" and "venom" being smushedzelgadis2009-01-101-6/+6
| | | | | | | | | together, which caused an off-by-one error for all subsequent egos (in addition to preventing the dragon slaying and venom egos from being used in monster specs). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8366 c06c8d41-db1a-0410-9941-cceddc491573
* Adding REVISION() macro to all source files.ennewalker2009-01-041-1/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8217 c06c8d41-db1a-0410-9941-cceddc491573
* [2468791] Reduce distinction between minivaults and floating vaults. All ↵dshaligram2009-01-031-1/+8
| | | | | | vaults are now handled by _build_vaults. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8169 c06c8d41-db1a-0410-9941-cceddc491573
* Fix .des files not using the right brands (sorear).dshaligram2009-01-021-1/+2
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8137 c06c8d41-db1a-0410-9941-cceddc491573
* Add arena mode, activated on the command-line by 'crawl -arena "monster v ↵dshaligram2008-12-311-2/+19
| | | | | | 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
* Let e.set_random_mon_list() work, as well as dgn.set_random_mon_list()zelgadis2008-12-251-3/+4
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7969 c06c8d41-db1a-0410-9941-cceddc491573
* Breaks savefile compatibility.zelgadis2008-12-131-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow Shadow Creatures spell (along with anything that uses create_monster(), mons_place(), place_monster() or pick_random_monster()) to work in portal vaults; only fixed ziggurats to use it. Must be done by manually calling dgn.set_random_mon_list(); can't automatically set it from MONS since the actual frequency of the monster specified that way is controlled by the number of 1/2/3/etc symbols that are in the map combined with symbol shufflings and substitutions. Can add an RMONS keyword to handle it if needed. Limitations: can only use level id or monster type + base type. Monster number (specific number of hydra heads), colour, items, band, and patrolling are all discarded/ignored. This can be improved if it's too limiting. New per-level env.properties CrawlHashTable stores the information. env.properties can be used to store new per-level data without breaking savefile compatibility (though changing the handling of old data in env.properties can still break compatibility). Random monster spawn rate is now controlled by the per-level env.spawn_random_rate (though the default rates are all the same as before), in case any weird portal vaults want to turn on random monster spawning. Could also be used to alter the random spawn rate for places like Vault:8 Prevented Shadow Creatues from working in the Temple. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7816 c06c8d41-db1a-0410-9941-cceddc491573
* Allow hydras to be specified by strings like "two-headed hydra" as wellzelgadis2008-12-111-3/+27
| | | | | | | | | as "2-headed hydra". Also, increase maximum number of hydra heads to 20, since an 19 headed hydra can become a 20 headed one but a 20 headed one can't become 21 headed. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7806 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed ziggurat entry vaults appearing too early.dshaligram2008-12-071-1/+6
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7764 c06c8d41-db1a-0410-9941-cceddc491573
* Breaks savefile compatibility.zelgadis2008-12-071-2/+16
| | | | | | | | | | | | | | | | | | | | Re-arranged book_type so that books you might find on the floor come first, then books only given out by certain gods, and so on. Added book types BOOK_RANDART_LEVEL, BOOK_RANDART_THEME and BOOK_CARD_EFFECT. Can now get randart books both from acquirement and shops/floor. Acquirement books have a chance of being a manual with a spell discipline skill. Randart books have their own appearances now, and fixed level books their own naming scheme. Needs more entries. Randart books aren't hilited in the menu like other randarts are; don't know why. Added some assertions to choose_random_weighted(). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7761 c06c8d41-db1a-0410-9941-cceddc491573
* [2054793] Partial implementation of the request to have COLOUR tags affect ↵ennewalker2008-12-011-1/+3
| | | | | | | | | tile choice. Vaults can now override the default tileset (walls and floors) for an entire level. This has been pushed to vaults where it makes sense (sewers, ice caves, ziggurats, bazaars, Shoals:5, Zot). ROCKTILE and FLOORTILE can be used when authoring vaults to set these values, both of which take a single tile name as a string. These values are ignored in console builds. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7700 c06c8d41-db1a-0410-9941-cceddc491573
* Fix broken timed portals (pointless).dshaligram2008-11-291-0/+1
| | | | | | Fix floor/rock colour changes running LOS when entering bazaars before the player is moved to the destination stair. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7685 c06c8d41-db1a-0410-9941-cceddc491573
* Make .des file depth-parse stricter, fixed default-depth for minitomb.dshaligram2008-11-291-3/+13
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7684 c06c8d41-db1a-0410-9941-cceddc491573
* Start of moving special room definitions (monster lairs and monster pits)zelgadis2008-11-261-4/+10
| | | | | | | | | | | | | | | | | 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
* Place external loot chamber for ziggurat levels with jellies.dshaligram2008-11-251-4/+49
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7625 c06c8d41-db1a-0410-9941-cceddc491573
* Enable vault generation for non-LEVEL_DUNGEON levels, make ziggurat eligible ↵dshaligram2008-11-251-9/+14
| | | | | | for random gen in main dungeon and Pan; still needs entry portal timing/charging fixes, and ziggurat builder is still incomplete. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7601 c06c8d41-db1a-0410-9941-cceddc491573
* Removed redundant buffer used to go from map_def to env.grid and all the ↵dshaligram2008-11-231-0/+5
| | | | | | 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
* Clean up legacy cruft involved in placing vaults.dshaligram2008-11-231-23/+29
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7557 c06c8d41-db1a-0410-9941-cceddc491573
* More steps toward ziggurats.dshaligram2008-11-231-0/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7553 c06c8d41-db1a-0410-9941-cceddc491573
* Allow place:X in MONS specifications to place random monsters suitable for ↵dshaligram2008-11-231-2/+39
| | | | | | place X. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7550 c06c8d41-db1a-0410-9941-cceddc491573
* Allow .des files to place manuals with names as "manual of Fighting" or ↵dshaligram2008-11-231-0/+11
| | | | | | "random manual" (dpeg). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7549 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed nsubst restricting counts to single digits (dpeg).dshaligram2008-11-231-4/+7
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7548 c06c8d41-db1a-0410-9941-cceddc491573
* Spadework for ziggurats and other multilevel portal vaults.dshaligram2008-11-201-1/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7520 c06c8d41-db1a-0410-9941-cceddc491573
* Separate CHANCE and WEIGHT. CHANCE is a probability, WEIGHT is a raw number ↵dshaligram2008-11-191-3/+30
| | | | | | used as a generation weight (i.e. WEIGHT is what the old CHANCE used to be). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7501 c06c8d41-db1a-0410-9941-cceddc491573