Add helltweaks to wizard1

This commit is contained in:
Pasi Kallinen
2023-01-30 17:31:25 +02:00
parent 744d64487b
commit 7def7ece92

View File

@@ -9,85 +9,94 @@
des.level_init({ style="mazegrid", bg ="-" });
des.level_flags("mazelevel", "noteleport", "hardfloor")
des.map([[
----------------------------.
|.......|..|.........|.....|.
|.......S..|.}}}}}}}.|.....|.
|..--S--|..|.}}---}}.|---S-|.
|..|....|..|.}--.--}.|..|..|.
|..|....|..|.}|...|}.|..|..|.
|..--------|.}--.--}.|..|..|.
|..|.......|.}}---}}.|..|..|.
|..S.......|.}}}}}}}.|..|..|.
|..|.......|.........|..|..|.
|..|.......|-----------S-S-|.
|..|.......S...............|.
----------------------------.
]]);
des.levregion({ type="stair-up", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
des.levregion({ type="stair-down", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
des.levregion({ type="branch", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
des.teleport_region({ region={01,00,79,20}, region_islev=1, exclude={0,0,27,12} })
des.region({ region={12,01, 20,09}, lit=0, type="morgue", filled=2, contents=function()
local sdwall = { "south", "west", "east" };
des.door({ wall = sdwall[math.random(1, #sdwall)], state = "secret" });
end })
-- another region to constrain monster arrival
des.region({ region={01,01, 10,11}, lit=0, type="ordinary", arrival_room=true })
des.mazewalk(28,05,"east")
des.ladder("down", 06,05)
-- Non diggable walls
-- Walls inside the moat stay diggable
des.non_diggable(selection.area(00,00,11,12))
des.non_diggable(selection.area(11,00,21,00))
des.non_diggable(selection.area(11,10,27,12))
des.non_diggable(selection.area(21,00,27,10))
-- Non passable walls
des.non_passwall(selection.area(00,00,11,12))
des.non_passwall(selection.area(11,00,21,00))
des.non_passwall(selection.area(11,10,27,12))
des.non_passwall(selection.area(21,00,27,10))
-- The wizard and his guards
des.monster({ id = "Wizard of Yendor", x=16, y=05, asleep=1 })
des.monster("hell hound", 15, 05)
des.monster("vampire lord", 17, 05)
-- The local treasure
des.object("Book of the Dead", 16, 05)
-- Surrounding terror
des.monster("kraken", 14, 02)
des.monster("giant eel", 17, 02)
des.monster("kraken", 13, 04)
des.monster("giant eel", 13, 06)
des.monster("kraken", 19, 04)
des.monster("giant eel", 19, 06)
des.monster("kraken", 15, 08)
des.monster("giant eel", 17, 08)
des.monster("piranha", 15, 02)
des.monster("piranha", 19, 08)
-- Random monsters
des.monster("D")
des.monster("H")
des.monster("&")
des.monster("&")
des.monster("&")
des.monster("&")
-- And to make things a little harder.
des.trap("board",16,04)
des.trap("board",16,06)
des.trap("board",15,05)
des.trap("board",17,05)
-- Random traps.
des.trap("spiked pit")
des.trap("sleep gas")
des.trap("anti magic")
des.trap("magic")
-- Some random loot.
des.object("ruby")
des.object("!")
des.object("!")
des.object("?")
des.object("?")
des.object("+")
des.object("+")
des.object("+")
local tmpbounds = selection.match("-");
local bnds = tmpbounds:bounds();
local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);
local wiz1 = des.map({ halign = "center", valign = "center", map = [[
----------------------------x
|.......|..|.........|.....|x
|.......S..|.}}}}}}}.|.....|x
|..--S--|..|.}}---}}.|---S-|x
|..|....|..|.}--.--}.|..|..|x
|..|....|..|.}|...|}.|..|..|x
|..--------|.}--.--}.|..|..|x
|..|.......|.}}---}}.|..|..|x
|..S.......|.}}}}}}}.|..|..|x
|..|.......|.........|..|..|x
|..|.......|-----------S-S-|x
|..|.......S...............|x
----------------------------x
]], contents = function(rm)
des.levregion({ type="stair-up", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
des.levregion({ type="stair-down", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
des.levregion({ type="branch", region={01,00,79,20}, region_islev=1, exclude={0,0,28,12} })
des.teleport_region({ region={01,00,79,20}, region_islev=1, exclude={0,0,27,12} })
des.region({ region={12,01, 20,09}, lit=0, type="morgue", filled=2, contents=function()
local sdwall = { "south", "west", "east" };
des.door({ wall = sdwall[math.random(1, #sdwall)], state = "secret" });
end })
-- another region to constrain monster arrival
des.region({ region={01,01, 10,11}, lit=0, type="ordinary", arrival_room=true })
des.mazewalk(28,05,"east")
des.ladder("down", 06,05)
-- Non diggable walls
-- Walls inside the moat stay diggable
des.non_diggable(selection.area(00,00,11,12))
des.non_diggable(selection.area(11,00,21,00))
des.non_diggable(selection.area(11,10,27,12))
des.non_diggable(selection.area(21,00,27,10))
-- Non passable walls
des.non_passwall(selection.area(00,00,11,12))
des.non_passwall(selection.area(11,00,21,00))
des.non_passwall(selection.area(11,10,27,12))
des.non_passwall(selection.area(21,00,27,10))
-- The wizard and his guards
des.monster({ id = "Wizard of Yendor", x=16, y=05, asleep=1 })
des.monster("hell hound", 15, 05)
des.monster("vampire lord", 17, 05)
-- The local treasure
des.object("Book of the Dead", 16, 05)
-- Surrounding terror
des.monster("kraken", 14, 02)
des.monster("giant eel", 17, 02)
des.monster("kraken", 13, 04)
des.monster("giant eel", 13, 06)
des.monster("kraken", 19, 04)
des.monster("giant eel", 19, 06)
des.monster("kraken", 15, 08)
des.monster("giant eel", 17, 08)
des.monster("piranha", 15, 02)
des.monster("piranha", 19, 08)
-- Random monsters
des.monster("D")
des.monster("H")
des.monster("&")
des.monster("&")
des.monster("&")
des.monster("&")
-- And to make things a little harder.
des.trap("board",16,04)
des.trap("board",16,06)
des.trap("board",15,05)
des.trap("board",17,05)
-- Random traps.
des.trap("spiked pit")
des.trap("sleep gas")
des.trap("anti magic")
des.trap("magic")
-- Some random loot.
des.object("ruby")
des.object("!")
des.object("!")
des.object("?")
des.object("?")
des.object("+")
des.object("+")
des.object("+")
end
});
local protected = bounds2:negate() | wiz1;
hell_tweaks(protected);