diff options
author | dploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-06-24 02:55:47 +0000 |
---|---|---|
committer | dploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-06-24 02:55:47 +0000 |
commit | 4cc5c01913415d503bb4d88e532a67b4ad0cff08 (patch) | |
tree | 4759891b2b5efbfc560aa48f0d319e0426adbc49 /crawl-ref/source/dat/ossuary.des | |
parent | f4215d61e15876263b5c8a0d995172c6270de57c (diff) | |
download | crawl-ref-4cc5c01913415d503bb4d88e532a67b4ad0cff08.tar.gz crawl-ref-4cc5c01913415d503bb4d88e532a67b4ad0cff08.zip |
Rename Minitomb (a portal vault made by Zaba) to Ossuary.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10026 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/dat/ossuary.des')
-rw-r--r-- | crawl-ref/source/dat/ossuary.des | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/crawl-ref/source/dat/ossuary.des b/crawl-ref/source/dat/ossuary.des new file mode 100644 index 0000000000..b00bdfc606 --- /dev/null +++ b/crawl-ref/source/dat/ossuary.des @@ -0,0 +1,377 @@ +############################################################################## +# +# The Ossuary, a Tomb en miniature (Zaba) +# +# +# The Ossuary tries to pose an unusual early challenge: many traps and slow +# monsters, making the player choose between pressing on towards the loot or +# leaving the vault. +# +# Flavour: Mini versions of Tomb:* and otherwise crypt like. +# +############################################################################## + +{{ +function ossuary_portal(e) + local timeout_turns = crawl.random_range(1500, 2000) + + local messager = + timed_msg { + visible = true, + -- $F{xxx} will be substituted with the 'entity' property of the timed + -- marker, or with the desc property (if entity is not set). + messages = time_messages(timeout_turns, + "Nearby sand pours into $F{the}.", + "Nearby sand pours into $F{the}, lightly covering it.", + "Nearby sand pours into $F{the}, greatly covering it.", + "Nearby sand pours into $F{the}, almost completely blocking access.") + } + + e.lua_marker('O', + timed_marker { + disappear = "The staircase has disappeared completely beneath the sand.", + desc = "A sand-covered staircase", + entity = 'staircase', + dst = "ossuary", + dstorigin = "in a tomb", + overmap = "sand-covered staircase", + turns = timeout_turns, + floor = "floor", + msg = messager }) + e.kfeat("O = enter_portal_vault") + e.colour("O = yellow") +end + +-- Use the following line in destination maps after all SUBSTs +-- : ossuary_setup_features(_G) +-- Note that the function also defines < to be the exit portal. +function ossuary_setup_features(e) + e.kfeat("< = exit_portal_vault") + e.colour("< = yellow") + e.lrockcol("white") + e.lfloorcol("yellow") + e.lrocktile("wall_tomb") + e.lfloortile("floor_tomb") +end +}} + + +#### Portal entry vaults. +default-depth: D:4-8 + +NAME: enter_ossuary_1 +TAGS: uniq_ossuary no_monster_gen +SUBST: . = . Y:7 +COLOUR: Y = yellow +FTILE: Y = floor_tomb +SUBST: Y = . +: ossuary_portal(_G) +MAP +..... +..... +..O.. +..... +..... +ENDMAP + +NAME: enter_ossuary_2 +TAGS: uniq_ossuary no_monster_gen +COLOUR: ' = yellow +FTILE: ' = floor_tomb +SUBST: ' = . +: ossuary_portal(_G) +MAP +....... +.cc=cc. +.c'''c. +.c'O'c. +.c'''c. +.ccccc. +....... +ENDMAP + +NAME: enter_ossuary_3 +TAGS: uniq_ossuary no_monster_gen +SUBST: . = Y . +COLOUR: Y = yellow +FTILE: Y = floor_tomb +SUBST: Y = . +MONS: rat zombie / jackal zombie / worm zombie +MONS: kobold zombie / goblin zombie / hobgoblin zombie +MONS: orc zombie / gnoll zombie / human zombie +SUBST: . = .:100 11 2 3 +: ossuary_portal(_G) +MAP +... +.O. +... +ENDMAP + +NAME: enter_ossuary_4 +TAGS: uniq_ossuary no_monster_gen +COLOUR: 1 = yellow, ' = yellow, x = white +MONS: rat zombie / quokka zombie / goblin zombie +FTILE: 1 = floor_tomb, ' = floor_tomb, x = floor_tomb, O = floor_tomb +RTILE: x = wall_tomb +: ossuary_portal(_G) +MAP +......... +.xxxxxxx. +.x''O''x. +.x'''''x. +.x'x'x'x. +.x1x'x1x. +.xxx'xxx. +....'.... +ENDMAP + + +#### The portal vaults #################################### + +# Reset default depth to prevent random generation of portal vaults. +default-depth: + +NAME: ossuary_1 +WEIGHT: 60 +ORIENT: encompass +TAGS: ossuary no_item_gen no_monster_gen no_rotate +SHUFFLE: dwyz +SUBST: w=2, y=2 +NSUBST: z= 1:1 / *:3 +KFEAT: T = alarm trap / floor +# loot: 12.5 items +ITEM: any scroll w:2 / any scroll q:2 w:3 / \ + any potion w:4 / any potion q:2 w:6 +MONS: mummy +MONS: rat zombie / jackal zombie / snake zombie / goblin zombie / \ + hobgoblin zombie / kobold zombie / big kobold zombie / \ + human zombie / elf zombie / centaur zombie +MONS: kobold zombie / orc zombie / hobgoblin zombie +: ossuary_setup_features(_G) +MAP +xxxxxxxxxxxxxxxxxxxxxx +x.........<A.........x +x....................x +x...cccccccccccccc...x +x...c.22*c...cdddc...x +x3..c1cccc...cdddc..3x +x..3c........+cccc3..x +x3..cccccc.<.....c..3x +x..3c.zzzc.......c3..x +x3..c.czzc.......c..3x +x...c.cccc.......c...x +x...c............c...x +x...c.ccccTTcccc.c...x +x...c.cyycTTcwwc.c...x +x...c.yyycTTcwww.c...x +x...ccccccTTcccccc...x +x....................x +x.3.3.3..G..G..3.3.3.x +x..3.3..........3.3..x +x....................x +xxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +NAME: ossuary_the_hunt_dp +WEIGHT: 10 +ORIENT: encompass +TAGS: ossuary no_item_gen no_monster_gen +# loot: 8 items of which 6 should be good. +# Most of the loot helps right here, if need be. +ITEM: potion of healing / potion of heal wounds / potion of speed / \ + potion of confusion w:5 / potion of mutation w:5 / \ + scroll of identify / scroll of teleportation w:5 / \ + scroll of blinking w:5 / scroll of holy word / \ + scroll of curse armour w:5 / scroll of curse weapon w:5 +# There are three setups than can occur: +# 10% - part of the loot in the closets, secret doors, bit more loot +# 45% - doors are secret, traps are nasty, monsters asleep +# 45% - doors are obvious, traps are softer, monsters are awake +: if crawl.one_chance_in(10) then +SUBST: 3 = d +NSUBST: d = 6:3 / *:d +SUBST: M = 111. +: elseif crawl.coinflip() then +SUBST: M = 111. +: else +SUBST: = = + +SUBST: ~ = T +SUBST: 3 = 2 +NSUBST: M = 1:1 / *:. +:end +MONS: mummy +MONS: generate_awake centaur zombie / generate_awake hobgoblin zombie / \ + generate_awake big kobold zombie / nothing w:20 +MONS: centaur zombie / hobgoblin zombie / big kobold zombie / nothing w:20 +KFEAT: ~ = dart trap w:20 / axe trap w:2 / net trap / needle trap / \ + alarm trap / floor w:40 +KFEAT: T = alarm trap w:20 / net trap / floor w:70 +KFEAT: ^ = net trap w:15 / needle trap w:4 / axe trap w:1 / floor w:20 +COLOUR: ^ = red +KFEAT: W = dart trap / floor w:20 +: ossuary_setup_features(_G) +MAP + cccccccccccccccccccc + ccccccccc3c3c3c3c3c3c3cddddccc + ccc.....WWc=c=c=c=c=c=c=c^.....c +cc1.....WW~~~~~~~~~~~~~~~~^.....cc +c......WWW~~~~~~~~~~~~~~~~^.....Mcc +c1....AW<W~~~~~~~~~~~~~~~~^.....M<c +c......WWW~~~~~~~~~~~~~~~~^.....Mcc +cc1.....WW~~~~~~~~~~~~~~~~^.....cc + ccc.....WWc=c=c=c=c=c=c=c^.....c + ccccccccc3c3c3c3c3c3c3cddddccc + cccccccccccccccccccc +ENDMAP + +NAME: ossuary_crypta +WEIGHT: 30 +ORIENT: encompass +TAGS: ossuary no_item_gen no_monster_gen no_rotate no_vmirror +MONS: mummy +MONS: gnoll zombie / hobgoblin zombie / orc zombie / \ + human zombie / kobold zombie / goblin zombie / \ + big kobold zombie / centaur zombie +# mix of strictly good items with strictly useless ones +ITEM: scroll of curse armour / scroll of enchant armour w:5 / \ + scroll of curse weapon / scroll of remove curse / \ + potion of mutation w:5 / potion of cure mutation w:5 / \ + potion of confusion / potion of healing w:15 / \ + potion of degeneration / potion of restore abilities / \ + scroll of immolation / scroll of identify +# and sometimes strictly useless ones +ITEM: scroll of curse armour / scroll of curse weapon / \ + scroll of paper / scroll of random uselessness / \ + potion of mutation w:5 / potion of confusion / \ + potion of degeneration / scroll of immolation / \ + potion of confusion / potion of paralysis +# occasionally just use this +ITEM: any potion / any scroll w:5 / nothing +SHUFFLE: hjkl +SUBST: h:d, j:e, k:de, l:.de +NSUBST: f = 6:f / *:e +NSUBST: d = 2:M / *:d +NSUBST: e = 2:M / *:e +SUBST: M = 1f, d = dddf, e = eeef +NSUBST: . = 6:^ / *:. +KFEAT: ^ = alarm trap / floor w:20 +SUBST: = : =+ +SUBST: = = =+ +: ossuary_setup_features(_G) +MAP + vvv + vvv1vvv + ccccc vvfffffvv ccccc + clllc vfff1fffv chhhc + clllc vvvv^vvvv chhhc + cc^cc c^c cc^cc +ccc.c ccc+ccc c.ccc +c2+.cc cc.....cc cc.+2c +ccc..ccc.......ccc..ccc +c2+...c.........c...+2c +ccc...=....U....=...ccc +c2+...c.........c...+2c +ccc..ccc.......ccc..ccc +c2+.cc cc.....cc cc.+2c +ccc.c ccc+ccc c.ccc + cc^cc c.c cc^cc + ckkkc cc.cc cjjjc + ckkkc c.A.c cjjjc + ccccc c.<.c ccccc + ccccc +ENDMAP + +NAME: ossuary_2 +# Generally have rooms full of either monsters or traps. To protect the +# monsters, all doors are secret, no alarm traps, and mostly needle +# traps. +WEIGHT: 30 +ORIENT: encompass +TAGS: ossuary no_item_gen no_monster_gen no_rotate +KFEAT: ~ = dart trap w:1 / arrow trap w:1 / needle trap +KFEAT: ^ = dart trap / arrow trap +# Number of 1's is 53, number of ~'s is 57. +: if crawl.one_chance_in(10) then +SUBST: ~ = 1 +SUBST: 1 = 1:20 2:10 ~:50 .:30 +: else +SHUFFLE: 1~ +SUBST: 1 = 1:20 2:10 .:20 +SUBST: ~ = ~:20 .:10 +:end +SUBST: z = 1 +NSUBST: B = 1:= / *:c +NSUBST: C = 1:= / *:c +NSUBST: D = 1:= / *:c +NSUBST: E = 1:= / *:c +NSUBST: F = 1:= / *:c +NSUBST: G = 1:= / *:c +NSUBST: H = 1:= / *:c +NSUBST: I = 1:= / *:c +NSUBST: J = 1:= / *:c +NSUBST: K = 1:= / *:c +# loot: 12 items +ITEM: any scroll w:6 / any potion / any potion q:2 w:2 +MONS: snake zombie / hobgoblin zombie / orc zombie / kobold zombie / nothing +MONS: big kobold zombie / brown snake zombie / gnoll zombie / nothing +MONS: mummy +: ossuary_setup_features(_G) +MAP +cccccccccccccccccccccc +c<11H~~~G1111F~~~E111c +c111H~~~G1111F~~~E111c +c111H~~~G1111F~~~E111c +cIIIccccccccccccccDDDc +c~~~c c~~~c +c~~~c c~~~c +c~~~c c~~~c +c~~~c c~~~c +cJJJc cCCCc +c111c c111c +c111c c111c +c111c c111c +c111c c111c +cKKKc cBBBc +c~~~c c^^^c +c~~~cccccccccccccc^^^c +c~~~c...cddddc...c.z^c +c~~~+3<3=d**dn.A.+.^^c +c~~~c...cddddc...c.z<c +cccccccccccccccccccccc +ENDMAP + +NAME: ossuary_3 +WEIGHT: 10 +ORIENT: encompass +TAGS: ossuary no_item_gen no_monster_gen no_rotate no_vmirror +# zombies should be awake, so they march downwards in a line +MONS: generate_awake orc zombie / generate_awake kobold zombie / \ + generate_awake hobgoblin zombie / generate_awake gnoll zombie +MONS: mummy +MONS: orc zombie / kobold zombie / big kobold zombie / hobgoblin zombie +# loot: 24 items +ITEM: nothing / any scroll w:5 / any potion +KFEAT: ^ = alarm trap +: ossuary_setup_features(_G) +MAP +cccccccccccccccccccccc +cccc.....2222.....cccc +ccc..2...cccc...2..ccc +cc......cc..cc......cc +cc.....cc....cc.....cc +cc........22........cc +ccc..3....22....3..ccc +cccc..............cccc +cccc+cc........cc+cccc +cccc^^cc111111cc^^cccc +cccd...cc....cc...dccc +ccdd....c....c....ddcc +c$ddd...c....c...ddd$c +c$ddd...c....c...ddd$c +c$$dd...c....c...dd$$c +cc$ddd..c....c..ddd$cc +cc$$dd.cc....cc.dd$$cc +ccc$dd.cc....cc.dd$ccc +ccc$ddccc.<A.cccdd$ccc +cccccccccccccccccccccc +ENDMAP |