diff options
author | Enne Walker <ennewalker@users.sourceforge.net> | 2009-10-18 16:32:37 -0400 |
---|---|---|
committer | Enne Walker <ennewalker@users.sourceforge.net> | 2009-10-18 16:52:02 -0400 |
commit | df0b2a5165b84d52d9c43d76d14adea095b671c8 (patch) | |
tree | 6e1587fae77a2c020b8c7e5498e5eb8caab88cdf /crawl-ref/docs | |
parent | 52fce0a7785eccba94e59c7ec8375019780eddcc (diff) | |
download | crawl-ref-df0b2a5165b84d52d9c43d76d14adea095b671c8.tar.gz crawl-ref-df0b2a5165b84d52d9c43d76d14adea095b671c8.zip |
Lua map improvements.
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.
Diffstat (limited to 'crawl-ref/docs')
-rw-r--r-- | crawl-ref/docs/develop/level_design.txt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/crawl-ref/docs/develop/level_design.txt b/crawl-ref/docs/develop/level_design.txt index f68a1b166f..0788a355f7 100644 --- a/crawl-ref/docs/develop/level_design.txt +++ b/crawl-ref/docs/develop/level_design.txt @@ -736,6 +736,9 @@ FTILE: . = floor_grass:20 / floor_dirt / none destroyed, this floor tile will be used in place of the normal floor. Thus, it can be useful even for non-floor features. + For convenience, multiple glyphs can be specified together as a + group, e.g. ".[{( = floor_orc". + Like COLOUR, this should be used sparingly. RTILE: x = wall_hive:15 / wall_lair / none @@ -1847,6 +1850,17 @@ mons_from_index, change_level_flags, change_branch_flags, set_random_mon_list +Additionally, the dgn module provides a global "grd" variable that +can access the current map glyphs. The top left symbol in the map +can be assigned like this: + + grd[1][1] = 'x' + +The bottom right symbol can be assigned like this: + + grd[width()][height()] = "." + + Lua API - global game state --------------------------- |