summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/ossuary.des
diff options
context:
space:
mode:
authordploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-24 02:55:47 +0000
committerdploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-24 02:55:47 +0000
commit4cc5c01913415d503bb4d88e532a67b4ad0cff08 (patch)
tree4759891b2b5efbfc560aa48f0d319e0426adbc49 /crawl-ref/source/dat/ossuary.des
parentf4215d61e15876263b5c8a0d995172c6270de57c (diff)
downloadcrawl-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.des377
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