forked from NetHack/NetHack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathearth.lua
130 lines (120 loc) · 6.03 KB
/
earth.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
-- NetHack endgame earth.lua $NHDT-Date: 1652196025 2022/05/10 15:20:25 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
-- Copyright (c) 1989 by Jean-Christophe Collet
-- Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
-- and Timo Hakulinen
-- NetHack may be freely redistributed. See license for details.
--
--
-- These are the ENDGAME levels: earth, air, fire, water, and astral.
-- The top-most level, the Astral Level, has 3 temples and shrines.
-- Players are supposed to sacrifice the Amulet of Yendor on the appropriate
-- shrine.
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noteleport", "hardfloor", "shortsighted")
des.message("Well done, mortal!")
des.message("But now thou must face the final Test...")
des.message("Prove thyself worthy or perish!")
-- The player lands, upon arrival, in the
-- lower-right cavern. The location of the
-- portal to the next level is randomly chosen.
-- This map has no visible outer boundary, and
-- is mostly diggable "rock".
des.map([[
...
.... ..
..... ... ..
.... .... ...
.... ... .... ... .
.. .. ....... . ..
.. ... .
. .. . ...
.. .. . .. .
.. ... .
... ...
.. ... ..
.... ..
.. ...
.. .....
... ...
....
..
]]);
des.replace_terrain({ region={0,0, 75,19}, fromterrain=" ", toterrain=".", lit=0, chance=5 })
-- Since there are no stairs, this forces the hero's initial placement
des.teleport_region({region = {69,16,69,16} })
des.levregion({ region = {0,0,75,19}, exclude = {65,13,75,19}, type="portal", name="air" })
-- Some helpful monsters. Making sure a
-- pick axe and at least one wand of digging
-- are available.
des.monster("Elvenking", 67,16)
des.monster("minotaur", 67,14)
-- An assortment of earth-appropriate nasties
-- in each cavern.
des.monster({ id = "earth elemental", x = 52, y = 13, peaceful = 0 })
des.monster({ id = "earth elemental", x = 53, y = 13, peaceful = 0 })
des.monster("rock troll", 53,12)
des.monster("stone giant", 54,12)
--
des.monster("pit viper", 70,05)
des.monster("barbed devil", 69,06)
des.monster("stone giant", 69,08)
des.monster("stone golem", 71,08)
des.monster("pit fiend", 70,09)
des.monster({ id = "earth elemental", x = 70, y = 08, peaceful = 0 })
--
des.monster({ id = "earth elemental", x = 60, y = 03, peaceful = 0 })
des.monster("stone giant", 61,04)
des.monster({ id = "earth elemental", x = 62, y = 04, peaceful = 0 })
des.monster({ id = "earth elemental", x = 61, y = 05, peaceful = 0 })
des.monster("scorpion", 62,05)
des.monster("rock piercer", 63,05)
--
des.monster("umber hulk", 40,05)
des.monster("dust vortex", 42,05)
des.monster("rock troll", 38,06)
des.monster({ id = "earth elemental", x = 39, y = 06, peaceful = 0 })
des.monster({ id = "earth elemental", x = 41, y = 06, peaceful = 0 })
des.monster({ id = "earth elemental", x = 38, y = 07, peaceful = 0 })
des.monster("stone giant", 39,07)
des.monster({ id = "earth elemental", x = 43, y = 07, peaceful = 0 })
des.monster("stone golem", 37,08)
des.monster("pit viper", 43,08)
des.monster("pit viper", 43,09)
des.monster("rock troll", 44,10)
--
des.monster({ id = "earth elemental", x = 02, y = 01, peaceful = 0 })
des.monster({ id = "earth elemental", x = 03, y = 01, peaceful = 0 })
des.monster("stone golem", 01,02)
des.monster({ id = "earth elemental", x = 02, y = 02, peaceful = 0 })
des.monster("rock troll", 04,03)
des.monster("rock troll", 03,03)
des.monster("pit fiend", 03,04)
des.monster({ id = "earth elemental", x = 04, y = 05, peaceful = 0 })
des.monster("pit viper", 05,06)
--
des.monster({ id = "earth elemental", x = 21, y = 02, peaceful = 0 })
des.monster({ id = "earth elemental", x = 21, y = 03, peaceful = 0 })
des.monster("minotaur", 21,04)
des.monster({ id = "earth elemental", x = 21, y = 05, peaceful = 0 })
des.monster("rock troll", 22,05)
des.monster({ id = "earth elemental", x = 22, y = 06, peaceful = 0 })
des.monster({ id = "earth elemental", x = 23, y = 06, peaceful = 0 })
--
des.monster("pit viper", 14,08)
des.monster("barbed devil", 14,09)
des.monster({ id = "earth elemental", x = 13, y = 10, peaceful = 0 })
des.monster("rock troll", 12,11)
des.monster({ id = "earth elemental", x = 14, y = 12, peaceful = 0 })
des.monster({ id = "earth elemental", x = 15, y = 13, peaceful = 0 })
des.monster("stone giant", 17,13)
des.monster("stone golem", 18,13)
des.monster("pit fiend", 18,12)
des.monster({ id = "earth elemental", x = 18, y = 11, peaceful = 0 })
des.monster({ id = "earth elemental", x = 18, y = 10, peaceful = 0 })
--
des.monster("barbed devil", 02,16)
des.monster({ id = "earth elemental", x = 03, y = 16, peaceful = 0 })
des.monster("rock troll", 02,17)
des.monster({ id = "earth elemental", x = 04, y = 17, peaceful = 0 })
des.monster({ id = "earth elemental", x = 04, y = 18, peaceful = 0 })
des.object("boulder")