summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapdef.h
Commit message (Collapse)AuthorAgeFilesLines
* Don't overwrite primary vault tiles with layout tiles (#8108, #6150)Neil Moore2014-07-021-2/+2
| | | | | | 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.
* Chance function(void) to function()reaverb2014-05-241-1/+1
|
* 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.
* Check for exits from maps at DB generation time.Steve Melenchuk2014-05-151-0/+1
| | | | This should prevent this from cropping up as often as it does.
* Formatting fixes (add braces).Neil Moore2014-05-121-0/+2
| | | | This fixes all the instances caught by unbrace.
* Don't generate racial armourChris Oelmueller2014-03-061-3/+1
| | | | | | | | [It had much the same problems as racial weapons, with only very slightly more significant effects. Some of the old effects of racial armour could potentially be rethought and made into a new armour ego. Beogh still gives a (slightly smaller than before) bonus for armour use, without the orcish requirement. -MarvinPA]
* Allow specifying Serpent of Hell subtype in spec again.Steve Melenchuk2014-02-041-0/+1
| | | | | | | | | Instead of using soh_flavour:, just specify the branch immediately after "serpent of hell" either in full or abbreviation, e.g. "serpent of hell tartarus" or "serpent of hell coc". Mostly for use with the monster program, but vault makers needing a specific Serpent (sprint, anyone?) can do so now.
* Demonspawn enemies: underlying base/non-base monster work.Steve Melenchuk2014-01-211-0/+1
| | | | | | | | | | | | | | | | | See: https://crawl.develz.org/wiki/doku.php?id=user:hangedman#faceted_classed_demonspawn_for_pan for explanations. This includes a move of the demonspawn glyph to '6'; this is intended to make the glyphs for each of the enemies unique, which wouldn't really be possible with the overloaded '@' glyph. A lot of the functionality that varies for base demonspawn is present, including attack flavours and spininess; the base monsters differ slightly to reflect this. The nonbase enemies are all currently identical; further, nothing places anywhere yet. Differentiation to come in following commits.
* Drop double newlines where they seem to serve no purpose.Adam Borowski2013-12-211-3/+0
| | | | | Sometimes, they're there to emphasize a break between two sections of code, which is good. In a majority of cases, though, they're just inconsistent.
* Indentation fixes.Adam Borowski2013-12-041-3/+3
|
* More formatting fixes for return (...);Neil Moore2013-11-151-2/+2
|
* Shorten branch enums.Adam Borowski2013-11-031-1/+1
| | | | | Seriously, even preparing this commit gave me a pain in the triangle between the thumb and index finger's bases and the wrist.
* Add a new "ORDER:" map header for sorting game-mode maps.Neil Moore2013-09-051-0/+2
| | | | | | | | | | | The first step towards fixing #7383. Defaults to INT_MAX, so things that do not set it explicitly will be last. If two maps have the same ORDER:, they will be sorted by description/name as before. Also change the des cache index format to store ORDER (necessitating a minor version bump). Rather than leaving ORDER at its default value when loading an des cache index from earlier versions, we throw out the entire index so that it can be regenerated.
* Support chimera in monster spec syntaxPete Hurst2013-06-231-0/+2
| | | | | | | | Currently the syntax as implemented is chimera:foo,bar,baz But this will most likely change.
* Make mimic: and no_mimic meaningful for shop specs.Steve Melenchuk2013-06-071-1/+1
| | | | This gets ab2ad4d4 working properly.
* Add a CLEAR directive for map filesPete Hurst2013-05-291-0/+3
| | | | | | | | | The syntax is as follows: CLEAR: xyz This will substitute the glyphs x, y and z for ' ' i.e. the space character, becoming not part of the map.
* ORIENT: centre.Steve Melenchuk2013-05-141-0/+3
| | | | | | | | | | | | | | | | | | This places the vault at the centre of the map, and tries to use a layout that benefits from having a vault at the centre of the map (indicated by using the tag "central" in the layout). A few older vaults have been tagged with ORIENT: centre, and a handful of layouts have been tagged with central; these are vaults and layouts that have been observed to benefit from the interaction in the past for the most part. This may be the first step towards better specifying how primary vaults interact with layouts (castle-like maps with layout_stronghold or layout_gridville, for example, as suggested by mumra). This also fixes a couple of bugs in the layout selector (in particular, "no_primary_layout" being ignored outside of Pan).
* Simplify summoning of demons by tier.Adam Borowski2013-02-261-5/+3
| | | | | Especially, don't encode two distinct types in mspec.type, use enums like draconians do.
* Merge branch 'master' into mon-pickAdam Borowski2013-02-241-2/+20
|\ | | | | | | Sorry for merge commits, but rerere is pretty limited.
| * Save subvaults, tag vault monsters.Darshan Shaligram2013-01-131-2/+20
| | | | | | | | | | | | | | | | | | Save subvaults in vault_placement with their parent mapdefs, include subvault names when generating logfile entries. Tag monsters with the name of the map that placed them, and write a killermap field to the logfile if the killer was placed by a map, and the player did not die in that same map.
* | Merge branch 'master' into mon-pickAdam Borowski2013-01-091-0/+2
|\|
| * Track unique tags while placing subvaults (#6328).Zannick2013-01-011-0/+2
| |
* | Handle vault OODs via a monster_type enum rather than an additional field.Adam Borowski2012-11-071-2/+2
| | | | | | | | Draconians/etc do this; there's no need to keep remnants of level there.
* | Merge branch 'master' into mon-pickAdam Borowski2012-11-041-213/+202
|\| | | | | | | | | Merge commits instead of rerere suck, but not being able to comfortably use the test rig sucks even more.
| * Remove unnecessary includes from header files.Jay3.14152012-10-231-0/+2
| | | | | | | | | | | | | | | | | | | | For most header files, this only saves on having to recompile a small number of source files, but there are also a few headers where small changes would now take significantly less time. This is most obvious for the Tiles build for which the dependencies have been greatly reduced, so that the only additional includes when compared to console are strictly library or tile related.
| * Use unique_ptr instead of auto_ptr (emulated for non-C++11).Adam Borowski2012-08-281-6/+6
| | | | | | | | | | | | This stops the tons of warnings, while allowing building for both old and new C++ standards. And if we wanted to use shared_ptr or something, now we can without being ambiguous.
| * Use std namespace.Raphael Langella2012-08-261-213/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* | Rename mons_spec.mlevel to ood, as it's used only for '8' and '9'.Adam Borowski2012-11-041-6/+4
|/ | | | Also, remove the vault monster tag lev: which has never been used.
* Remove parentheses around return (simple_function_call).Adam Borowski2012-07-051-1/+1
| | | | For way too paranoid and underinclusive values of "simple".
* Drop parentheses around scalar values in "return".Adam Borowski2012-07-051-1/+1
|
* Make feature renames local to a vault rather than the whole level.Adam Borowski2012-07-051-0/+3
| | | | | | | | For technical reasons (vault_placement), subvaults use renaming data of the top-level vault, this might be changed one day; that'd require a bit more writing but would allow different renames in different subvaults. TODO: "line of fire blocked by XXX".
* Remove (unused) support for vault welcome messages.Adam Borowski2012-06-211-2/+0
| | | | | | | | | The only use of something like this, in Pan unique levels, is done a different way to reduce text duplication. I guess the intent of such level messages was to announce the presence of special rooms like in Nethack, but that would bring confusion for no gain. And they are already possible via map epilogues.
* Axe (unused) scaling of vault weights by depth.Adam Borowski2012-06-211-3/+0
| | | | | | I can't even fathom how this could ever be useful: it'd add a constant based on depth to all WEIGHT settings, resulting in vaults being more uniform deeper on.
* Less redundant forward declarations.Adam Borowski2012-06-181-2/+0
|
* Merge branch 'master' into portal_branchesAdam Borowski2012-04-251-0/+3
|\
| * Improve KMASK/KMONS interaction, singlify Orb Guardians.Neil Moore2012-04-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KMONS, KITEM, and KFEAT are intended to override the normal meaning of the key glyph. For example, with: MONS: kobold KMONS: 1 = orc the glyph '1' will produce an orc and not a kobold; and with: KMONS: W = orc the glyph 'W' will produce an orc on floor, not shallow water. KMASK works differently: it keeps the underlying meaning of the glyph. This is accomplished by keyed_mapspec::set_mask() setting the feature to the original glyph (commit 3ba8bc8). So with: KMASK: W = no_monster_gen the glyph 'W' will produce shallow water with the no_monster_gen mask, and with: MONS: kobold KMASK: 1 = no_trap_gen the glyph '1' will produce a kobold on floor with the no_trap_gen mask. This is all well and good. However, when both KMONS (or KITEM or KFEAT) and KMASK are specified, the glyph should be overridden. However, since set_mask() set the feature explicitly, this does not happen: both the glyph and the KMONS have their effect. That is: MONS: kobold KMONS: 1 = orc KMASK: 1 = no_item_gen results in the glyph '1' producing both a kobold and an orc. The difference in result from the first example is unacceptible. Furthermore, a multi-glyph key in KMASK was applying the fix-up only for the first glyph: KMASK: wW = no_pool_fixup caused the 'W' glyph to become floor rather than shallow water. Fix all of this by removing the special-case code from set_mask(), and instead having _vault_grid() treat a mask-only mapspec the same as no mapspec, using _vault_grid_glyph() rather than _vault_grid_mapspec(). The mask itself is handled elsewhere, in dgn_register_place(). Fixes 5561. This reverts commit 3ba8bc84d018da1452880ac897a433ca7752ebb5.
* | Merge branch 'master' into portal_branchesAdam Borowski2012-03-261-4/+1
|\| | | | | | | | | This includes fixes for 64834896234968 places in master that add new uses of LEVEL_FOO and so on.
| * Make another bunch of functions static or deleted.Adam Borowski2012-03-211-3/+0
| | | | | | | | | | Looks like get_XXX_path and the like in files.cc could use some drastic simplification, or perhaps even a nuking and rewrite.
| * Declare an explicit type for colours.Adam Borowski2012-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | An imperial buttload of places assumes these to be 8 bits, which makes it impossible to add support for 256 (or more!) colours. This commit tries to allow expanding it in the future; sadly, it is badly incomplete. At least, new code can use the new type. Also, beware of "branded" colours which use bits above 8 for inverse, underline, etc.
* | Remove a pointless function whose name is longer and more complex than contents.Adam Borowski2012-03-261-2/+0
| |
* | Let PLACE: selectors use level ranges as well.Adam Borowski2012-03-261-1/+1
| | | | | | | | | | | | This usually makes little sense, but can be good for absdepth ones (PLACE: Bedlam:1, !10-), and it removes the need to implement :$ support for PLACE: in a different way.
* | Allow using Bedlam:$ as "the deepest level of branch Bedlam" in vaults.Adam Borowski2012-03-261-1/+2
| | | | | | | | | | | | This means, a game started when Elf was 5 levels deep will get the end vault on level 5 even if the game was transferred to a version where Elf has only 3 levels.
* | Merge branch 'master' into portal_branchesAdam Borowski2012-02-201-9/+9
|\|
| * s/(mons_spec)\.mid/$1.type/Adam Borowski2012-01-051-3/+3
| |
| * Whitespace fixes.Adam Borowski2011-12-301-6/+6
| |
* | Merge branch 'master' into portal_branchesAdam Borowski2011-12-281-8/+0
|\|
| * Make tile enums available in console builds.Adam Borowski2011-12-141-8/+0
| | | | | | | | The actual data isn't loaded or preserved yet.
* | Get rid of level_type, unify BRANCH_*, LEVEL_* and portal vaults.Adam Borowski2011-11-041-1/+0
|/
* Split away enchantment code from monster.ccAdam Borowski2011-09-281-1/+1
|
* Add ench: and perm_ench: to MONS specs.Adam Borowski2011-09-281-0/+3
|