]> granicus.if.org Git - nethack/commitdiff
Add helltweaks to fake wiz towers
authorPasi Kallinen <paxed@alt.org>
Mon, 30 Jan 2023 15:58:51 +0000 (17:58 +0200)
committerPasi Kallinen <paxed@alt.org>
Mon, 30 Jan 2023 15:58:51 +0000 (17:58 +0200)
dat/fakewiz1.lua
dat/fakewiz2.lua

index 194ad2e93a405138804f29e3fdcd6691f6a9d3a6..abee299d70ac8634e062ecb131a66fdda258db6b 100644 (file)
@@ -7,7 +7,11 @@ des.level_init({ style="mazegrid", bg ="-" });
 
 des.level_flags("mazelevel");
 
-des.map([[
+local tmpbounds = selection.match("-");
+local bnds = tmpbounds:bounds();
+local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);
+
+local fakewiz1 = des.map({ halign = "center", valign = "center", map = [[
 .........
 .}}}}}}}.
 .}}---}}.
@@ -16,20 +20,25 @@ des.map([[
 .}--.--}.
 .}}---}}.
 .}}}}}}}.
-]]);
-des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,7}, type="stair-up" })
-des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,7}, type="stair-down" })
-des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,7}, type="branch" });
-des.teleport_region({ region={01,00,79,20}, region_islev=1,exclude={2,2,6,6} })
-des.levregion({ region={4,4,4,4}, type="portal", name="wizard3" })
-des.mazewalk(08,05,"east")
-des.region({ region={04,03,06,06},lit=0,type="ordinary",irregular=1,arrival_room=true })
-des.monster("L",04,04)
-des.monster("vampire lord",03,04)
-des.monster("kraken",06,06)
--- And to make things a little harder.
-des.trap("board",04,03)
-des.trap("board",04,05)
-des.trap("board",03,04)
-des.trap("board",05,04)
+.........
+]], contents = function(rm)
+   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-up" })
+   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-down" })
+   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="branch" });
+   des.teleport_region({ region={01,00,79,20}, region_islev=1,exclude={2,2,6,6} })
+   des.levregion({ region={4,4,4,4}, type="portal", name="wizard3" })
+   des.mazewalk(08,05,"east")
+   des.region({ region={04,03,06,06},lit=0,type="ordinary",irregular=1,arrival_room=true })
+   des.monster("L",04,04)
+   des.monster("vampire lord",03,04)
+   des.monster("kraken",06,06)
+   -- And to make things a little harder.
+   des.trap("board",04,03)
+   des.trap("board",04,05)
+   des.trap("board",03,04)
+   des.trap("board",05,04)
+end
+});
 
+local protected = bounds2:negate() | fakewiz1;
+hell_tweaks(protected);
index 1c271255a5e5a8712a5a743b2c85e5c5205373b8..4b81ae338bdb529dc1911dd2ed0b7a73ca84ce54 100644 (file)
@@ -7,7 +7,11 @@ des.level_init({ style="mazegrid", bg ="-" });
 
 des.level_flags("mazelevel");
 
-des.map([[
+local tmpbounds = selection.match("-");
+local bnds = tmpbounds:bounds();
+local bounds2 = selection.fillrect(bnds.lx, bnds.ly + 1, bnds.hx - 2, bnds.hy - 1);
+
+local fakewiz2 = des.map({ halign = "center", valign = "center", map = [[
 .........
 .}}}}}}}.
 .}}---}}.
@@ -16,19 +20,25 @@ des.map([[
 .}--.--}.
 .}}---}}.
 .}}}}}}}.
-]]);
-des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,7}, type="stair-up" })
-des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,7}, type="stair-down" })
-des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,7}, type="branch" });
-des.teleport_region({ region={01,00,79,20}, region_islev=1,exclude={2,2,6,6} })
-des.mazewalk(08,05,"east")
-des.monster("L",04,04)
-des.monster("vampire lord",03,04)
-des.monster("kraken",06,06)
--- And to make things a little harder.
-des.trap("board",04,03)
-des.trap("board",04,05)
-des.trap("board",03,04)
-des.trap("board",05,04)
--- treasures
-des.object("\"",04,04)
+.........
+]], contents = function(rm)
+   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-up" })
+   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="stair-down" })
+   des.levregion({ region={01,00,79,20}, region_islev=1, exclude={0,0,8,8}, type="branch" });
+   des.teleport_region({ region={01,00,79,20}, region_islev=1,exclude={2,2,6,6} })
+   des.mazewalk(08,05,"east")
+   des.monster("L",04,04)
+   des.monster("vampire lord",03,04)
+   des.monster("kraken",06,06)
+   -- And to make things a little harder.
+   des.trap("board",04,03)
+   des.trap("board",04,05)
+   des.trap("board",03,04)
+   des.trap("board",05,04)
+   -- treasures
+   des.object("\"",04,04)
+end
+});
+
+local protected = bounds2:negate() | fakewiz2;
+hell_tweaks(protected);