summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authordploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-26 17:48:29 +0000
committerdploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-26 17:48:29 +0000
commit00ceeefaaee699285172941fde8fb0da51aefa5a (patch)
treebc179fca265993db6c46d94e280064ad5a52cda6 /crawl-ref
parentff3b2cc0075fcd828d727780a5fff7ec99938d7f (diff)
downloadcrawl-ref-00ceeefaaee699285172941fde8fb0da51aefa5a.tar.gz
crawl-ref-00ceeefaaee699285172941fde8fb0da51aefa5a.zip
Deprecate various symbols for vault making:
F (was granite statue or rarely hostile statue), P (was non-guaranteed rune), R (was chance between honeycomb and royal jelly). Patch by Zaba. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10053 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/docs/level_design.txt25
-rw-r--r--crawl-ref/source/dat/float.des2
-rw-r--r--crawl-ref/source/dat/hive.des5
-rw-r--r--crawl-ref/source/dat/lair.des1
-rw-r--r--crawl-ref/source/dat/mini.des8
-rw-r--r--crawl-ref/source/dat/pan.des3
-rw-r--r--crawl-ref/source/dungeon.cc37
7 files changed, 34 insertions, 47 deletions
diff --git a/crawl-ref/docs/level_design.txt b/crawl-ref/docs/level_design.txt
index 8ca85fdba1..6bb1e88430 100644
--- a/crawl-ref/docs/level_design.txt
+++ b/crawl-ref/docs/level_design.txt
@@ -193,26 +193,21 @@ Features
in order.
C - Random Altar.
- F - Usually a Granite Statue, but may be Orange or Silver or Ice (1 in 100)
G - Granite statue (does nothing) - you can see through but not walk through.
Also, sight-based effects like smiting work past granite statues, as does
apportation.
+ NOTE: F used to put down a granite Statue most of the time but occasionally
+ Orange or Silver or Ice statues (1 in 100). You can reproduce this by using
+ F on the map together with
+ SUBST: F = G:100 F:1
+ KMONS: F = orange crystal statue / silver statue / ice statue
+
T - Water fountain
U - Magic fountain
V - Permanently dry fountain
Y - Blood fountain (use sparingly!)
-Note: Due to the level maker having seen incremental improvements over the
-years, there are some inconsistencies. For examples, dangerous statues (ice,
-orange, silver) are now genuine monsters. In particular, you might see many
-older vaults still using the deprecated 'H' and 'S' glyphs which should
-otherwise be dispensed with.
-
-Similarly, most of the other feature glyphs can be replaced with KFEAT:
-lines. The same goes for some item glyphs ('R', 'Z') which could be replaced
-by KITEM: lines.
-
Items
-----
$ - gold
@@ -220,11 +215,15 @@ Items
* - higher level item (good)
| - acquirement-level item (almost guaranteed excellent)
O - place an appropriate rune here. For portal vaults, place the portal here.
- P - maybe place a rune here (50%)
- R - honeycomb (2/3) or royal jelly (1/3)
Z - the Orb of Zot
d-k - item array item. See section below on ITEM: arrays for more info.
+NOTE: The P (place a rune here with 1/3 chance) and R (place a honeycomb with
+ 2/3 chance or else a royal jelly) symbols have been deprecated. You can
+ (and should) produce the desired behaviour using
+ SUBST: P = O..
+ KITEM: R = w:2 honeycomb / w:1 royal jelly
+
Monsters
--------
0 - normal monster
diff --git a/crawl-ref/source/dat/float.des b/crawl-ref/source/dat/float.des
index 9c5add4bd0..77e963bdeb 100644
--- a/crawl-ref/source/dat/float.des
+++ b/crawl-ref/source/dat/float.des
@@ -211,6 +211,8 @@ MONS: mummy, patrolling guardian mummy, patrolling greater mummy
MONS: large zombie
MONS: mummy / nothing
SHUFFLE: 2F, cbv
+SUBST: F = G:100 F:1
+KMONS: F = orange crystal statue / silver statue / ice statue
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxx3$$xxxxxxxxxxxxx
diff --git a/crawl-ref/source/dat/hive.des b/crawl-ref/source/dat/hive.des
index b49bf91a23..3008e352e4 100644
--- a/crawl-ref/source/dat/hive.des
+++ b/crawl-ref/source/dat/hive.des
@@ -22,6 +22,7 @@ ENDMAP
NAME: david_hive_1
TAGS: hive_entry
MONS: queen bee, killer bee, killer bee larva
+KITEM: R = w:2 honeycomb / w:1 royal jelly
ORIENT: float
MAP
............
@@ -181,8 +182,9 @@ MONS: killer bee / killer bee larva w:2
MONS: queen bee / killer bee w:2
MONS: oklob plant / plant w:1
MONS: plant / nothing
+KITEM: R = w:2 honeycomb / w:1 royal jelly
KMONS: R = killer bee / killer bee larva w:2
-KFEAT: R = R
+KFEAT: R = .
KMONS: M = plant
KMONS: N = plant
KFEAT: M = *
@@ -476,6 +478,7 @@ PLACE: Hive:2
ORIENT: encompass
MONS: queen bee, killer bee, killer bee larva, plant, yellow wasp
MONS: random, random
+KITEM: R = w:2 honeycomb / w:1 royal jelly
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
diff --git a/crawl-ref/source/dat/lair.des b/crawl-ref/source/dat/lair.des
index 63a60abc79..7df4edb5ae 100644
--- a/crawl-ref/source/dat/lair.des
+++ b/crawl-ref/source/dat/lair.des
@@ -169,6 +169,7 @@ MONS: steam dragon / mottled dragon / swamp drake
MONS: w:20 giant iguana / komodo dragon / giant gecko / giant lizard / nothing
SUBST: ? = x.c
SHUFFLE: %*RO
+KITEM: R = w:2 honeycomb / w:1 royal jelly
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
diff --git a/crawl-ref/source/dat/mini.des b/crawl-ref/source/dat/mini.des
index 413f321f3d..1c7aa82bd0 100644
--- a/crawl-ref/source/dat/mini.des
+++ b/crawl-ref/source/dat/mini.des
@@ -493,6 +493,7 @@ SUBST: ? : .w
SUBST: 1 = 1 a:2
SUBST: 1 : 1:15 2 3:2 4:1
SUBST: * : * R:3
+KITEM: R = w:2 honeycomb / w:1 royal jelly
MAP
????????
??????????
@@ -778,6 +779,7 @@ ENDMAP
NAME: minivault_7
TAGS: allow_dup
MONS: patrolling queen bee, patrolling killer bee, killer bee larva
+KITEM: R = w:2 honeycomb / w:1 royal jelly
MAP
............
....aaaa....
@@ -799,6 +801,8 @@ ENDMAP
NAME: minivault_8
TAGS: allow_dup
MONS: patrolling molten gargoyle
+SUBST: F = G:100 F:1
+KMONS: F = orange crystal statue / silver statue / ice statue
MAP
x.x.x.x.x.x.
.c.c.c.c.c.x
@@ -909,6 +913,8 @@ KITEM: A = gold / nothing
KITEM: B = gold / nothing
KITEM: C = gold / nothing
KITEM: D = gold / nothing
+SUBST: F = G:100 F:1
+KMONS: F = orange crystal statue / silver statue / ice statue
MAP
............
.xxxxxxxxxx.
@@ -1567,6 +1573,8 @@ NAME: small_statue_alley_a
TAGS: uniq_statue_alley extra luniq_mini
DEPTH: D:10-20
WEIGHT: 7
+SUBST: F = G:100 F:1
+KMONS: F = orange crystal statue / silver statue / ice statue
MAP
xxxcccccx
...G...G@
diff --git a/crawl-ref/source/dat/pan.des b/crawl-ref/source/dat/pan.des
index d217f12fb6..36cd3631e1 100644
--- a/crawl-ref/source/dat/pan.des
+++ b/crawl-ref/source/dat/pan.des
@@ -262,6 +262,7 @@ ENDMAP
NAME: rand_demon_4
TAGS: pan allow_dup
MONS: pandemonium demon, any demon, any demon
+SUBST: P = O..
MAP
............
.xxxxxxxxx..
@@ -282,6 +283,7 @@ ENDMAP
NAME: rand_demon_5
TAGS: pan allow_dup
MONS: pandemonium demon, any demon, any demon
+SUBST: P = O..
MAP
............
...xxxxxx...
@@ -362,6 +364,7 @@ ENDMAP
NAME: rand_demon_9
TAGS: pan allow_dup
MONS: pandemonium demon, any demon, greater demon
+SUBST: P = O..
MAP
............
.xxxxxxxxxx.
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 42a5abf993..e48b56ff8d 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -4702,17 +4702,6 @@ static bool _dgn_place_one_monster( const vault_placement &place,
return (false);
}
-static monster_type _random_evil_statue()
-{
- switch (random2(3))
- {
- case 0: return MONS_ORANGE_STATUE;
- case 1: return MONS_SILVER_STATUE;
- case 2: return MONS_ICE_STATUE;
- }
- return (MONS_PROGRAM_BUG);
-}
-
// Grr, keep this in sync with vault_grid.
dungeon_feature_type map_feature(map_def *map, const coord_def &c, int rawfeat)
{
@@ -4819,12 +4808,6 @@ static void _vault_grid( vault_placement &place,
return;
}
- if (vgrid == 'F' && one_chance_in(100))
- {
- vgrid = '.';
- create_monster(mgen_data::hostile_at(_random_evil_statue(), where));
- }
-
// First, set base tile for grids {dlb}:
grd(where) = ((vgrid == -1) ? grd(where) :
(vgrid == 'x') ? DNGN_ROCK_WALL :
@@ -4854,7 +4837,6 @@ static void _vault_grid( vault_placement &place,
static_cast<dungeon_feature_type>(
DNGN_ALTAR_FIRST_GOD + place.altar_count) :// see below
(vgrid == 'C') ? _pick_an_altar() : // f(x) elsewhere {dlb}
- (vgrid == 'F') ? DNGN_GRANITE_STATUE :
(vgrid == 'I') ? DNGN_ORCISH_IDOL :
(vgrid == 'G') ? DNGN_GRANITE_STATUE :
(vgrid == 'T') ? DNGN_FOUNTAIN_BLUE :
@@ -4893,12 +4875,10 @@ static void _vault_grid( vault_placement &place,
// yes, I know this is a bit ugly ... {dlb}
switch (vgrid)
{
- case 'R':
case '$':
case '%':
case '*':
case '|':
- case 'P': // possible rune
case 'O': // definite rune
case 'Z': // definite orb
{
@@ -4906,16 +4886,9 @@ static void _vault_grid( vault_placement &place,
object_class_type which_class = OBJ_RANDOM;
unsigned char which_type = OBJ_RANDOM;
int which_depth;
- bool possible_rune = one_chance_in(3); // lame, I know {dlb}
int spec = 250;
- if (vgrid == 'R')
- {
- which_class = OBJ_FOOD;
- which_type = (one_chance_in(3) ? FOOD_ROYAL_JELLY
- : FOOD_HONEYCOMB);
- }
- else if (vgrid == '$')
+ if (vgrid == '$')
{
which_class = OBJ_GOLD;
which_type = OBJ_RANDOM;
@@ -4930,14 +4903,12 @@ static void _vault_grid( vault_placement &place,
which_class = OBJ_ORBS;
which_type = ORB_ZOT;
}
- else if (vgrid == '|'
- || (vgrid == 'P' && (!possible_rune || place.num_runes > 0))
- || (vgrid == 'O' && place.num_runes > 0))
+ else if (vgrid == '|' || (vgrid == 'O' && place.num_runes > 0))
{
which_class = RANDOM_ELEMENT(_acquirement_item_classes);
which_type = OBJ_RANDOM;
}
- else // for 'P' (1 out of 3 times) {dlb}
+ else
{
if (place.rune_subst != -1)
{
@@ -4970,7 +4941,7 @@ static void _vault_grid( vault_placement &place,
}
which_depth = place.level_number;
- if (vgrid == '|' || vgrid == 'P' || vgrid == 'O' || vgrid == 'Z')
+ if (vgrid == '|' || vgrid == 'O' || vgrid == 'Z')
which_depth = MAKE_GOOD_ITEM;
else if (vgrid == '*')
which_depth = 5 + (place.level_number * 2);