summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapdef.cc
Commit message (Collapse)AuthorAgeFilesLines
* Convert fprop instances in mapdef.* to unsigned long. (greensnark)Jude Brown2010-01-171-4/+11
| | | | | | fprop lists, and fprop_spec, now use unsigned long instead of int. This matches env.pgrid, and means that there won't be size issues in future when we end up with more feature properties.
* Add FPROP_NO_TIDE to tell the tide not to touch certain squares.Darshan Shaligram2010-01-171-2/+3
| | | | Wizmode &( now accepts fprop names to set the fprop on the current square.
* New needle brands! Sleep, paralysis, rage, confusion, sickness, slowing.Jude Brown2010-01-031-0/+7
| | | | | | The numbers and the names will likely need tweaking. Better throwing skill and blowgun enchantment will increase the duration of most of the effects, except for sleep and rage.
* Use strip_tag for cursed/randart/damaged in parse_single_spec.Vsevolod Kozlov2009-12-271-6/+3
|
* Basic support for tile recolouring.Enne Walker2009-12-241-3/+9
| | | | | | | | | | | | | | | | | | | | Added %variation, %repeat, %desat, %lum, %hue, %pal, %resetcol commands to rltiles. Also, multiple enum synonyms can now be specified. Documentation on all rltiles commands is forthcoming. Sorry. Added coloured variations for a number of floor and wall tiles, removing duplicate source art where it made sense. The variations probably need some adjusting to look less like fruit salad. COLOUR in a vault specification will now automatically try to pick coloured variations of basic floor and rock wall tiles by default. It will also pick coloured variations of any tiles specified by FTILE/RTILE/TILE. I'll leave it as an exercise for due to generalize this to features and monsters. tile_dngn_coloured (and corresponding functions for other tile sheets) can be used to look up coloured variations for a given tile index.
* Make KMASK: c = no_wall_fixup work. (nrook)Jude Brown2009-12-191-1/+1
|
* Allow vaults to specify door tiles sets.Jude Brown2009-12-191-2/+10
| | | | | | | | | In this instance, you need at least two tiles (closed, open), and up to nine (detected, closed, gateway left open, middle open, right open, closed, left closed, middle closed, right closed), and these should always include the "no_random" option. This also doesn't properly deal with detected doors.
* Tweak 'tile:' specifier for monsters.Jude Brown2009-12-161-3/+0
| | | | | | No longer automatically prepends 'mons_', as this is not a standard. Instead, generates an error for invalid tiles. Update documentation and uses.
* tiles: only include tiledef-*.h in files where they're neededSteven Noonan2009-12-121-0/+4
| | | | | | | This eliminates the annoying full rebuild that happens when the tiledefs are modified. Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* Allow setting monster's friendliness with att:XXX.Adam Borowski2009-12-121-0/+12
|
* Overriding monster tiles in vault definitions.Jude Brown2009-12-101-0/+17
| | | | | | | | It is now possible to specify a tile for monsters when specifying monsters in vault definitions. The syntax is "tile:<tile name>". All tiles that don't start with "mons_" will have this prefixed, therefore "tile:giant_bat" will become "tile:mons_giant_bat", but "tile:mons_rat" will remain unchanged.
* Minor tweaks to TILE: specifier.Jude Brown2009-12-101-1/+6
|
* Massively expand tile functionality in vault definitions.Jude Brown2009-12-091-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | This commit creates a new specifier for vaults: "TILE". Used much in the same way as COLOUR, it can apply any specific tile to a feature. Example syntax is specified in the syntax file, but copied here for clarity: TILE: x = wall_flesh Identical to FTILE and RTILE in syntax, but closer to COLOUR in functionality. Instead of replacing the floor or relevant rock tiles, this can be used to replace the tile used for any specific feature. This can be used in combination with FTILE and RTILE to change the appearance of features. It can only be used with previously specified tiles, however. Like COLOUR and FTILE, this should be used sparingly and to good effect. Please, feel free to update vaults to use this! We want to ensure that tiles players get the same experience as ASCII players do. This is only the first stage in a push for greater flexibiltiy through tiles, but hopefully it'll have a good impact.
* Allow vaults to create specifically themed randart books.Jude Brown2009-12-081-0/+97
| | | | | It is basically a simple wrapper onto spl-book.cc's make_book_theme_randart. More documentation can be found in syntax.txt.
* Don't convert item spec strings to lowercase.Jude Brown2009-12-081-1/+1
| | | | | | parse_single_spec itself does transformations to lowercase, so it can be assumed that it doesn't expect a lowercase string. See mapdef.cc:3799 to mapdef.cc:3802.
* Temporary hack to make set_border_fill_type work.Jude Brown2009-12-061-0/+4
| | | | | | See the comment in l_dgn.cc:dgn_set_border_fill_type. Should be replaced with something that works on map_lines instead, but this will do for the meantime.
* Add a "seen" flag.Jude Brown2009-12-051-0/+4
| | | | | | This allows dgn.create_monster to create monsters as though summoned, without generating "XYZ comes into view" messages (if the player happens to be resting at the time).
* New monster spec tags for marking monsters summoned.Jude Brown2009-12-051-0/+42
| | | | | | | | | | dur:1-6, marks the abjuration duration of a monster. sum:<str>, any of "clone", "animate", "chaos", "miscast", "zot", "wrath" or "aid", or the relevant spell we're mimicking; nas:<str> equivalent to the non-actor summoner. Not setting the non-actor summoner will mean that kills by these pseudo- summons are unmarked as such.
* Remove FPROP_FORCE_EXCLUDE.Robert Vollmert2009-12-021-3/+1
| | | | | It's not used anymore, and has issues, such as revealing information on the level map.
* Revert "Convert dgn.set_border_fill_type to BORDER."Jude Brown2009-11-301-2/+0
| | | | | | | This reverts commit 941444076c26e5e5149c6368a4261d60842fe3ec. After consultation with Enne, this doesn't really fix the issue, and is therefore superfluous.
* Convert dgn.set_border_fill_type to BORDER.Jude Brown2009-11-301-0/+2
| | | | | | | | | | The Lua prelude of maps isn't executed early enough now. Using 'BORDER' sets map->border_fill_type as soon as the map is read, rather than after it is placed. This commit increases the value of MAP_CACHE_VERSION. Can be reverted if it causes issues or is unwanted.
* Reduce dependency on travel.hMatthew Cline2009-11-291-0/+1
| | | | | | | | 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).
* Add text names for * and | items in vault, as per %.Jude Brown2009-11-291-2/+2
| | | | | | | | | | | | | "any", "random" and "%" are all synonyms in vault definitions, whereas "|" and "*" have no synonyms. "star_item" = "*" (as good_item is a tag which does something else) "superb_item" = "|". This is mostly useful for clarity (only) in instances where "%" and "|" glyphs have been used by KFEAT to mean other things. In these instances KITEM: r = % will still work, but may cause confusion: having textual names will help to alleviate any confusion.
* Subvaults.Enne Walker2009-11-281-46/+566
| | | | | | | | 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.
* Remove unnecessary header-header includes.Robert Vollmert2009-11-271-0/+1
|
* New tags for monster specs: "hd" and "hp". (kilobyte)Jude Brown2009-11-271-0/+8
| | | | | | Both values override the default class values. Placing "rat hd:20" will generate a rat with a hit dice of 20, while placing "rat hp:20" will set its hp to 20.
* Be more nazi about illegal brands (like, reaping on melee weapons like scythes).Adam Borowski2009-11-251-2/+3
|
* Add formatting fixes.David Lawrence Ramsey2009-11-211-2/+2
| | | | This mostly puts && and || on the proper lines, per the style guide.
* hort version of name_XXX flags for vaults.Jude Brown2009-11-181-5/+5
| | | | | | | | | | | | There is a limit on how long MONS/KMONS tags can be, and name_replace, etc, contribute to this; therefore, provide some shortened alternatives for long descriptions: name_suffix -> n_suf name_adjective -> n_adj name_replace -> n_rpl name_descriptor -> n_des name_definite -> n_the.
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-0/+1
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Allow portal vaults to specify fill and border glyph.Jude Brown2009-11-141-8/+9
| | | | | | | | | | | | | Also move dungeon_feature_by_name into terrain.cc, as it does not make sense it being in l_dgngrd.cc. The Lua function "set_border_fill_type(feature)" will replace the default DNGN_ROCK_WALL fill of a portal vault with the specified feature. This could be abused, and should probably only be limited to floor, water and sea, different types of walls, trees and lava; there are no sanity checks for endless traps, statues, stairs, etc. Finally, apply this to the island Trove, giving endless water effect.
* New monster vault flags: name_descriptor, name_definite.Jude Brown2009-11-141-0/+13
| | | | | | This changes the mechanics of naming slightly, allowing you to give a monster a name that is a descriptor and will be treated with the usual articles (your, the, a, etc) rather than as a name. See documentation.
* Fix all vault monsters having random colourMatthew Cline2009-11-121-1/+1
|
* mon_spec: "col:any" to get random coloursMatthew Cline2009-11-121-5/+11
|
* Typo fixes.David Lawrence Ramsey2009-11-121-2/+2
|
* Include the new brands. Dissallow clubs of penetration, caps of running and ↵Adam Borowski2009-11-121-0/+18
| | | | such.
* mapdef: extra validation for temple mapsMatthew Cline2009-11-121-0/+81
|
* Rename monspeak/monplace/monstuff to mon-speak/place/stuff.Jude Brown2009-11-121-1/+1
| | | | | I'm pretty sure I've managed to replace every instance of a reference to these files, so I hopefully haven't missed anything.
* Split map knowledge and FPROPs.Robert Vollmert2009-11-081-1/+1
| | | | | | | | map_cell no longer has the field "properties", which has been replaced by the unsigned long array env.pgrid. env.map has been renamed to env.map_knowledge. It should really be moved into player.
* Make monster name flags available to vaultsMatthew Cline2009-11-061-0/+7
| | | | | | The monster name modifier flags MF_NAME_SUFFIX, MF_NAME_ADJECTIVE, and MF_NAME_REPLACE can be used by monster specs via the spec tags name_suffix, name_adjective and name_replace.
* Error for non-monster spells in monster specsMatthew Cline2009-11-051-0/+7
| | | | | | Give an error when parsing a monster spec if it lists a spell a monster can't cast, rather than causing an assertion when the monster tries to cast it.
* Allow specifying "any weapon ego:XXX", "... missile", "... armour".Adam Borowski2009-11-041-11/+5
| | | | | This will select an item type that can have brand XXX. This requires a large list of allowable type/brand combinations in the code :(
* Allow vaults to override monster spells with spells:<xyz>Darshan Shaligram2009-11-041-2/+58
| | | | | | | | | | Vaults can now override monster spell sets, or give non-casting monsters spells, and mark monsters as wizard or priest types. The M_ACTUAL_SPELLS, M_SPELLCASTER and M_PRIEST monster class flags are converted into MF_* flags at monster creation/polymorph time, and only the per-monster flags are checked when determining wizard/priestliness. See caveats in level_design.txt.
* Allow forcing randarts in vaults.Adam Borowski2009-11-041-0/+5
|
* Move new map_lines methods outside USE_TILE #ifdef (greensnark).Robert Vollmert2009-11-021-47/+47
|
* Lua builder funcs act on map_lines, not grd.Enne Walker2009-11-021-2/+79
| | | | | | | This lets regular vaults use the same Lua functions that layout vaults do. Convert functions in l_dgnbld that acted on grd. Update layout vaults to use these new functions. Also, remove l_dgn_bf, as all of its functionality is now in l_dgnbld.
* mapdef.cc: add new(ish) ammo brandsMatthew Cline2009-11-011-0/+7
| | | | Let item specs understand the new(ish) brands "chaos" through "silver".
* Add minor cosmetic fixes.David Lawrence Ramsey2009-10-311-5/+5
|
* Add minor cosmetic fixes.David Lawrence Ramsey2009-10-311-13/+13
|
* Can specify size in slime creature monster specMatthew Cline2009-10-311-0/+28
| | | | | You can now use monster specs like "titanic slime creature". The initial HP given to them in _place_monster_aux() might need tweaking.