diff options
author | dploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-06-26 17:48:29 +0000 |
---|---|---|
committer | dploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-06-26 17:48:29 +0000 |
commit | 00ceeefaaee699285172941fde8fb0da51aefa5a (patch) | |
tree | bc179fca265993db6c46d94e280064ad5a52cda6 /crawl-ref | |
parent | ff3b2cc0075fcd828d727780a5fff7ec99938d7f (diff) | |
download | crawl-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.txt | 25 | ||||
-rw-r--r-- | crawl-ref/source/dat/float.des | 2 | ||||
-rw-r--r-- | crawl-ref/source/dat/hive.des | 5 | ||||
-rw-r--r-- | crawl-ref/source/dat/lair.des | 1 | ||||
-rw-r--r-- | crawl-ref/source/dat/mini.des | 8 | ||||
-rw-r--r-- | crawl-ref/source/dat/pan.des | 3 | ||||
-rw-r--r-- | crawl-ref/source/dungeon.cc | 37 |
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); |