]> granicus.if.org Git - nethack/commitdiff
<Someone>'s touchstone code and a bee swarm bit.
authornethack.allison <nethack.allison>
Wed, 9 Jan 2002 03:31:30 +0000 (03:31 +0000)
committernethack.allison <nethack.allison>
Wed, 9 Jan 2002 03:31:30 +0000 (03:31 +0000)
dat/history
doc/Guidebook.mn
doc/Guidebook.tex
include/decl.h
src/apply.c
src/decl.c
src/dokick.c
src/objects.c
src/u_init.c
win/share/objects.txt

index b40ef7129562f88d65dd88005b9d265a8b64593c..a3cc7d72be983e5d0ebb845d12fe29c7da05cd66 100644 (file)
@@ -132,38 +132,37 @@ particularly intriguing modification to help out with the game.  The Gods of
 the Dungeon sometimes make note of the names of the worst of these miscreants
 in this, the list of Dungeoneers:
 
-    Adam Aronow               Irina Rempt-Drijfhout     Mike Gallop
-    Andreas Dorn              Izchak Miller             Mike Passaretti
-    Andy Church               J. Ali Harlow             Mike Stephenson
-    Andy Swanson              Janet Walz                Norm Meluch
-    Ari Huttunen              Janne Salmijarvi          Olaf Seibert
-    Barton House              Jean-Christophe Collet    Pat Rankin
-    Benson I. Margulies       Jochen Erwied             Paul Winner
-    Bill Dyer                 John Kallen               Pierre Martineau
-    Boudewijn Waijers         John Rupley               Ralf Brown
-    Bruce Cox                 John S. Bien              Richard Addison
-    Bruce Holloway            Johnny Lee                Richard Beigel
-    Bruce Mewborne            Jon W{tte                 Richard P. Hughey
-    Carl Schelin              Jonathan Handler          Rob Menke
-    Chris Russo               Joshua Delahunty          Robin Johnson
-    David Cohrs               Keizo Yamamoto            Roland McGrath
-    David Damerell            Ken Arromdee              Ron Van Iwaarden
-    David Gentzel             Ken Lorber                Ronnen Miller
-    David Hairston            Ken Washikita             Ross Brown
-    Dean Luick                Kevin Darcy               Sascha Wostmann
-    Del Lamb                  Kevin Hugo                Scott Bigham
-    Deron Meranda             Kevin Sitze               Scott R. Turner
-    Dylan O'Donnell           Kevin Smolkowski          Stephen Spackman
-    Eric Backus               Kevin Sweet               Stephen White
-    Eric Hendrickson          Lars Huttar               Steve Creps
-    Eric R. Smith             Mark Gooderum             Steve Linhart
-    Eric S. Raymond           Mark Modrall              Steve VanDevender
-    Erik Andersen             Marvin Bressler           Tim Lennan
-    Frederick Roeber          Matthew Day               Timo Hakulinen
-    Gil Neiger                Merlyn LeRoy              Tom Almy
-    Greg Laskin               Michael Allison           Tom West
-    Greg Olson                Michael Feir              Warren Cheung
-    Gregg Wonderly            Michael Hamel             Warwick Allison
-    Hao-yang Wang             Michael Sokolov           Yitzhak Sapir
-    Helge Hafting             Mike Engber               
-
+    Adam Aronow               Irina Rempt-Drijfhout     Mike Engber 
+    Andreas Dorn              Izchak Miller             Mike Gallop
+    Andy Church               J. Ali Harlow             Mike Passaretti
+    Andy Swanson              Janet Walz                Mike Stephenson
+    Ari Huttunen              Janne Salmijarvi          Norm Meluch
+    Barton House              Jean-Christophe Collet    Olaf Seibert
+    Benson I. Margulies       Jochen Erwied             Pat Rankin
+    Bill Dyer                 John Kallen               Paul Winner
+    Boudewijn Waijers         John Rupley               Pierre Martineau
+    Bruce Cox                 John S. Bien              Ralf Brown
+    Bruce Holloway            Johnny Lee                Richard Addison
+    Bruce Mewborne            Jon W{tte                 Richard Beigel
+    Carl Schelin              Jonathan Handler          Richard P. Hughey
+    Chris Russo               Joshua Delahunty          Rob Menke
+    David Cohrs               Keizo Yamamoto            Robin Johnson
+    David Damerell            Ken Arnold                Roland McGrath
+    David Gentzel             Ken Arromdee              Ron Van Iwaarden
+    David Hairston            Ken Lorber                Ronnen Miller
+    Dean Luick                Ken Washikita             Ross Brown
+    Del Lamb                  Kevin Darcy               Sascha Wostmann
+    Deron Meranda             Kevin Hugo                Scott Bigham
+    Dylan O'Donnell           Kevin Sitze               Scott R. Turner
+    Eric Backus               Kevin Smolkowski          Stephen Spackman
+    Eric Hendrickson          Kevin Sweet               Stephen White
+    Eric R. Smith             Lars Huttar               Steve Creps
+    Eric S. Raymond           Mark Gooderum             Steve Linhart
+    Erik Andersen             Mark Modrall              Steve VanDevender
+    Frederick Roeber          Marvin Bressler           Tim Lennan
+    Gil Neiger                Matthew Day               Timo Hakulinen
+    Greg Laskin               Merlyn LeRoy              Tom Almy
+    Greg Olson                Michael Allison           Tom West
+    Gregg Wonderly            Michael Feir              Warren Cheung
+    Hao-yang Wang             Michael Hamel             Warwick Allison
+    Helge Hafting             Michael Sokolov           Yitzhak Sapir
index 69e1cd7468a8c14a28d8954c6b3b7d04fe9cef6b..ee4d7fd3a91020bc3200709c47df466db69a19ad 100644 (file)
@@ -2258,40 +2258,40 @@ in this, the list of Dungeoneers:
 center;
 c c c.
 .\"TABLE_START
-Adam Aronow    Irina Rempt-Drijfhout   Mike Gallop
-Andreas Dorn   Izchak Miller   Mike Passaretti
-Andy Church    J. Ali Harlow   Mike Stephenson
-Andy Swanson   Janet Walz      Norm Meluch
-Ari Huttunen   Janne Salmijarvi        Olaf Seibert
-Barton House   Jean-Christophe Collet  Pat Rankin
-Benson I. Margulies    Jochen Erwied   Paul Winner
-Bill Dyer      John Kallen     Pierre Martineau
-Boudewijn Waijers      John Rupley     Ralf Brown
-Bruce Cox      John S. Bien    Richard Addison
-Bruce Holloway Johnny Lee      Richard Beigel
-Bruce Mewborne Jon W{tte       Richard P. Hughey
-Carl Schelin   Jonathan Handler        Rob Menke
-Chris Russo    Joshua Delahunty        Robin Johnson
-David Cohrs    Keizo Yamamoto  Roland McGrath
-David Damerell Ken Arromdee    Ron Van Iwaarden
-David Gentzel  Ken Lorber      Ronnen Miller
-David Hairston Ken Washikita   Ross Brown
-Dean Luick     Kevin Darcy     Sascha Wostmann
-Del Lamb       Kevin Hugo      Scott Bigham
-Deron Meranda  Kevin Sitze     Scott R. Turner
-Dylan O'Donnell        Kevin Smolkowski        Stephen Spackman
-Eric Backus    Kevin Sweet     Stephen White
-Eric Hendrickson       Lars Huttar     Steve Creps
-Eric R. Smith  Mark Gooderum   Steve Linhart
-Eric S. Raymond        Mark Modrall    Steve VanDevender
-Erik Andersen  Marvin Bressler Tim Lennan
-Frederick Roeber       Matthew Day     Timo Hakulinen
-Gil Neiger     Merlyn LeRoy    Tom Almy
-Greg Laskin    Michael Allison Tom West
-Greg Olson     Michael Feir    Warren Cheung
-Gregg Wonderly Michael Hamel   Warwick Allison
-Hao-yang Wang  Michael Sokolov Yitzhak Sapir
-Helge Hafting  Mike Engber
+Adam Aronow    Irina Rempt-Drijfhout   Mike Engber 
+Andreas Dorn   Izchak Miller   Mike Gallop
+Andy Church    J. Ali Harlow   Mike Passaretti
+Andy Swanson   Janet Walz      Mike Stephenson
+Ari Huttunen   Janne Salmijarvi        Norm Meluch
+Barton House   Jean-Christophe Collet  Olaf Seibert
+Benson I. Margulies    Jochen Erwied   Pat Rankin
+Bill Dyer      John Kallen     Paul Winner
+Boudewijn Waijers      John Rupley     Pierre Martineau
+Bruce Cox      John S. Bien    Ralf Brown
+Bruce Holloway Johnny Lee      Richard Addison
+Bruce Mewborne Jon W{tte       Richard Beigel
+Carl Schelin   Jonathan Handler        Richard P. Hughey
+Chris Russo    Joshua Delahunty        Rob Menke
+David Cohrs    Keizo Yamamoto  Robin Johnson
+David Damerell Ken Arnold      Roland McGrath
+David Gentzel  Ken Arromdee    Ron Van Iwaarden
+David Hairston Ken Lorber      Ronnen Miller
+Dean Luick     Ken Washikita   Ross Brown
+Del Lamb       Kevin Darcy     Sascha Wostmann
+Deron Meranda  Kevin Hugo      Scott Bigham
+Dylan O'Donnell        Kevin Sitze     Scott R. Turner
+Eric Backus    Kevin Smolkowski        Stephen Spackman
+Eric Hendrickson       Kevin Sweet     Stephen White
+Eric R. Smith  Lars Huttar     Steve Creps
+Eric S. Raymond        Mark Gooderum   Steve Linhart
+Erik Andersen  Mark Modrall    Steve VanDevender
+Frederick Roeber       Marvin Bressler Tim Lennan
+Gil Neiger     Matthew Day     Timo Hakulinen
+Greg Laskin    Merlyn LeRoy    Tom Almy
+Greg Olson     Michael Allison Tom West
+Gregg Wonderly Michael Feir    Warren Cheung
+Hao-yang Wang  Michael Hamel   Warwick Allison
+Helge Hafting  Michael Sokolov Yitzhak Sapir
 .\"TABLE_END  Do not delete this line.
 .TE
 .ed
index 4fcfd77ff01cf0595c449818d486e722cbafa4b4..7bcd7c5e6ca0d7fab02498ec4cd2963fefa1c4f0 100644 (file)
@@ -2804,40 +2804,40 @@ in this, the list of Dungeoneers:
 \begin{center}
 \begin{tabular}{lll}
 %TABLE_START
-Adam Aronow & Irina Rempt-Drijfhout & Mike Gallop\\
-Andreas Dorn & Izchak Miller & Mike Passaretti\\
-Andy Church & J. Ali Harlow & Mike Stephenson\\
-Andy Swanson & Janet Walz & Norm Meluch\\
-Ari Huttunen & Janne Salmij\"{a}rvi & Olaf Seibert\\
-Barton House & Jean-Christophe Collet & Pat Rankin\\
-Benson I. Margulies & Jochen Erwied & Paul Winner\\
-Bill Dyer & John Kallen & Pierre Martineau\\
-Boudewijn Waijers & John Rupley & Ralf Brown\\
-Bruce Cox & John S. Bien & Richard Addison\\
-Bruce Holloway & Johnny Lee & Richard Beigel\\
-Bruce Mewborne & Jon W\{tte & Richard P. Hughey\\
-Carl Schelin & Jonathan Handler & Rob Menke\\
-Chris Russo & Joshua Delahunty & Robin Johnson\\
-David Cohrs & Keizo Yamamoto & Roland McGrath\\
-David Damerell & Ken Arromdee & Ron Van Iwaarden\\
-David Gentzel & Ken Lorber & Ronnen Miller\\
-David Hairston & Ken Washikita & Ross Brown\\
-Dean Luick & Kevin Darcy & Sascha Wostmann\\
-Del Lamb & Kevin Hugo & Scott Bigham\\
-Deron Meranda & Kevin Sitze & Scott R. Turner\\
-Dylan O'Donnell & Kevin Smolkowski & Stephen Spackman\\
-Eric Backus & Kevin Sweet & Stephen White\\
-Eric Hendrickson & Lars Huttar & Steve Creps\\
-Eric R. Smith & Mark Gooderum & Steve Linhart\\
-Eric S. Raymond & Mark Modrall & Steve VanDevender\\
-Erik Andersen & Marvin Bressler & Tim Lennan\\
-Frederick Roeber & Matthew Day & Timo Hakulinen\\
-Gil Neiger & Merlyn LeRoy & Tom Almy\\
-Greg Laskin & Michael Allison & Tom West\\
-Greg Olson & Michael Feir & Warren Cheung\\
-Gregg Wonderly & Michael Hamel & Warwick Allison\\
-Hao-yang Wang & Michael Sokolov & Yitzhak Sapir\\
-Helge Hafting & Mike Engber 
+Adam Aronow & Irina Rempt-Drijfhout & Mike Engber \\
+Andreas Dorn & Izchak Miller & Mike Gallop\\
+Andy Church & J. Ali Harlow & Mike Passaretti\\
+Andy Swanson & Janet Walz & Mike Stephenson\\
+Ari Huttunen & Janne Salmij\"{a}rvi & Norm Meluch\\
+Barton House & Jean-Christophe Collet & Olaf Seibert\\
+Benson I. Margulies & Jochen Erwied & Pat Rankin\\
+Bill Dyer & John Kallen & Paul Winner\\
+Boudewijn Waijers & John Rupley & Pierre Martineau\\
+Bruce Cox & John S. Bien & Ralf Brown\\
+Bruce Holloway & Johnny Lee & Richard Addison\\
+Bruce Mewborne & Jon W\{tte & Richard Beigel\\
+Carl Schelin & Jonathan Handler & Richard P. Hughey\\
+Chris Russo & Joshua Delahunty & Rob Menke\\
+David Cohrs & Keizo Yamamoto & Robin Johnson\\
+David Damerell & Ken Arnold & Roland McGrath\\
+David Gentzel & Ken Arromdee & Ron Van Iwaarden\\
+David Hairston & Ken Lorber & Ronnen Miller\\
+Dean Luick & Ken Washikita & Ross Brown\\
+Del Lamb & Kevin Darcy & Sascha Wostmann\\
+Deron Meranda & Kevin Hugo & Scott Bigham\\
+Dylan O'Donnell & Kevin Sitze & Scott R. Turner\\
+Eric Backus & Kevin Smolkowski & Stephen Spackman\\
+Eric Hendrickson & Kevin Sweet & Stephen White\\
+Eric R. Smith & Lars Huttar & Steve Creps\\
+Eric S. Raymond & Mark Gooderum & Steve Linhart\\
+Erik Andersen & Mark Modrall & Steve VanDevender\\
+Frederick Roeber & Marvin Bressler & Tim Lennan\\
+Gil Neiger & Matthew Day & Timo Hakulinen\\
+Greg Laskin & Merlyn LeRoy & Tom Almy\\
+Greg Olson & Michael Allison & Tom West\\
+Gregg Wonderly & Michael Feir & Warren Cheung\\
+Hao-yang Wang & Michael Hamel & Warwick Allison\\
+Helge Hafting & Michael Sokolov & Yitzhak Sapir
 %TABLE_END  Do not delete this line.
 \end{tabular}
 \end{center}
index db8a47f5ca750679b5c95cdb0b8b6a1e5e9a2c0b..3d0e20173fc54d7bef9c2e7db9a182a306c49d48 100644 (file)
@@ -275,6 +275,9 @@ E NEARDATA struct c_color_names {
 #define purple         c_color_names.c_purple
 #define White          c_color_names.c_white
 
+/* The names of the colors used for gems, etc. */
+E const char *c_obj_colors[];
+
 E struct c_common_strings {
     const char *const c_nothing_happens, *const c_thats_enough_tries,
                *const c_silly_thing_to, *const c_shudder_for_moment,
index 19a73a3eb13083cb1fa8d3ba7da5beac88e455bf..3ddc990b96e0c61de0c1c7599fd64a0260efb0c9 100644 (file)
@@ -9,7 +9,7 @@
 
 static const char tools[] = { TOOL_CLASS, WEAPON_CLASS, WAND_CLASS, 0 };
 static const char tools_too[] = { ALL_CLASSES, TOOL_CLASS, POTION_CLASS,
-                                         WEAPON_CLASS, WAND_CLASS, 0 };
+                                 WEAPON_CLASS, WAND_CLASS, GEM_CLASS, 0 };
 
 #ifdef TOURIST
 STATIC_DCL int FDECL(use_camera, (struct obj *));
@@ -1761,6 +1761,73 @@ reset_trapset()
        trapinfo.tobj = 0;
 }
 
+STATIC_OVL void
+use_stone(otmp)
+struct obj *otmp;
+{
+       struct obj *obj;
+       char allowall[2];
+       const char *color = 0;
+       static const char *ambiguous = "You make scratch marks on the stone";
+
+       allowall[0] = ALL_CLASSES;
+       allowall[1] = '\0';
+       if (!(obj = getobj(allowall, "rub on the stone")))
+           return;
+
+       if (otmp->cursed && obj->oclass == GEM_CLASS && rnd(5) == 1) {
+           pline(
+               (Blind ? "You feel something shatter" :
+                (Hallucination ? "Oh, wow, look at the pretty shards" :
+                "A sharp crack shatters %s %s")),
+               (obj->quan == 1 ? "the" : "a"),
+               lcase(makesingular(let_to_name(obj->oclass, FALSE))));
+           useup(obj);
+           return;
+       }
+
+       if (Blind) {
+           pline("\"scritch, scritch\"");
+           return;
+       }
+
+       if (Hallucination) {
+           pline("Oh wow, man: Fractals!");
+           return;
+       }
+
+       if (otmp->otyp != TOUCHSTONE) {
+           pline(ambiguous);
+           return;
+       }
+
+       switch (obj->oclass) {
+         case GOLD:
+           color = "golden";
+           break;
+         case GEM_CLASS:
+           if (otmp->blessed) {
+               makeknown(TOUCHSTONE);
+               makeknown(obj->otyp);
+               prinv((char *)0, obj, 0L);
+               return;
+           }
+           /* FALLTHROUGH */
+         case RING_CLASS:
+           if (objects[obj->otyp].oc_material == GLASS) {
+               pline(ambiguous); /* yet not amibguous if a known touchstone */
+               return;
+           }
+           color = c_obj_colors[objects[obj->otyp].oc_color];
+           break;
+         default:
+           pline("\"scritch, scritch\"");
+           return;
+       }
+       pline("You see %s streaks on the stone", color);
+       return;
+}
+
 /* Place a landmine/bear trap.  Helge Hafting */
 STATIC_OVL void
 use_trap(otmp)
@@ -2417,7 +2484,8 @@ doapply()
        register int res = 1;
 
        if(check_capacity((char *)0)) return (0);
-       obj = getobj(carrying(POT_OIL) ? tools_too : tools, "use or apply");
+       obj = getobj(carrying(POT_OIL) || carrying(TOUCHSTONE)
+               ? tools_too : tools, "use or apply");
        if(!obj) return 0;
 
        if (obj->oclass == WAND_CLASS)
@@ -2601,6 +2669,9 @@ doapply()
        case BEARTRAP:
                use_trap(obj);
                break;
+       case TOUCHSTONE:
+               use_stone(obj);
+               break;
        default:
                /* Pole-weapons can strike at a distance */
                if (is_pole(obj)) {
index a079c67e84b633388d49a40ed893ed62703a7c75..bdda5ec8f9c4c61da1a02063f116369618adeecd 100644 (file)
@@ -210,6 +210,25 @@ NEARDATA struct c_color_names c_color_names = {
        "white"
 };
 
+const char *c_obj_colors[] = {
+       "black",                /* CLR_BLACK */
+       "red",                  /* CLR_RED */
+       "green",                /* CLR_GREEN */
+       "brown",                /* CLR_BROWN */
+       "blue",                 /* CLR_BLUE */
+       "magenta",              /* CLR_MAGENTA */
+       "cyan",                 /* CLR_CYAN */
+       "gray",                 /* CLR_GRAY */
+       "transparent",          /* no_color */
+       "orange",               /* CLR_ORANGE */
+       "bright green",         /* CLR_BRIGHT_GREEN */
+       "yellow",               /* CLR_YELLOW */
+       "bright blue",          /* CLR_BRIGHT_BLUE */
+       "bright magenta",       /* CLR_BRIGHT_MAGENTA */
+       "bright cyan",          /* CLR_BRIGHT_CYAN */
+       "white",                /* CLR_WHITE */
+};
+
 struct c_common_strings c_common_strings = {
        "Nothing happens.",             "That's enough tries!",
        "That is a silly thing to %s.", "shudder for a moment.",
index 66a1369af3be95e6384dac79f5c12eef32a27fd2..35f86fa2032befa0d7d3f86bf9c377f24e74e68f 100644 (file)
@@ -873,7 +873,7 @@ dokick()
                        int cnt = rnl(5);
                        coord mm;
                        mm.x = x; mm.y = y;
-                       pline("You've disturbed the occupants!");
+                       pline("You've attracted the tree's former occupants!");
                        while (cnt--)
                            if (enexto(&mm, mm.x, mm.y, &mons[PM_KILLER_BEE]))
                                (void) makemon(&mons[PM_KILLER_BEE],
index 6677e524de35a1f10f3fbcdbe38c240830125e57..b13994981ad41c8d038ac17239ef1b40d19232d7 100644 (file)
@@ -927,7 +927,8 @@ GEM("worthless piece of violet glass", "violet", 77, 1, 0, 6, 5, GLASS, CLR_MAGE
 
 ROCK("luckstone", "gray",      0, 10,  10, 60, 3, 3, 1, 10, 7, MINERAL, CLR_GRAY),
 ROCK("loadstone", "gray",      0, 10, 500,  1, 3, 3, 1, 10, 6, MINERAL, CLR_GRAY),
-ROCK("flint", "gray",          0, 18,  10,  1, 6, 6, 0, 10, 7, MINERAL, CLR_GRAY),
+ROCK("flint", "gray",          0, 10,  10,  1, 6, 6, 0, 10, 7, MINERAL, CLR_GRAY),
+ROCK("touchstone", "gray",     0,  8,  10, 45, 3, 3, 1, 10, 6, MINERAL, CLR_GRAY),
 ROCK("rock", (char *)0,                1,100,  10,  0, 3, 3, 0, 10, 7, MINERAL, CLR_GRAY),
 #undef GEM
 #undef ROCK
index 05184198ae3b2b7e6b04c112582bf68127827674..b4b61066dc34a0e406d40501bf89f75e16a27bb6 100644 (file)
@@ -33,6 +33,7 @@ static struct trobj Archeologist[] = {
        { FOOD_RATION, 0, FOOD_CLASS, 3, 0 },
        { PICK_AXE, UNDEF_SPE, TOOL_CLASS, 1, UNDEF_BLESS },
        { TINNING_KIT, UNDEF_SPE, TOOL_CLASS, 1, UNDEF_BLESS },
+       { TOUCHSTONE, 0, GEM_CLASS, 1, 1 },
        { SACK, 0, TOOL_CLASS, 1, 0 },
        { 0, 0, 0, 0, 0 }
 };
@@ -606,7 +607,6 @@ u_init()
                if(!rn2(10)) ini_inv(Tinopener);
                else if(!rn2(4)) ini_inv(Lamp);
                else if(!rn2(10)) ini_inv(Magicmarker);
-               knows_class(GEM_CLASS);
                knows_object(SACK);
                skill_init(Skill_A);
                break;
index 2bccec5d7e2f1bb1a2bb9a1fc5610ceb18a2389e..d8707e816a9182a4a6dcb1cd81a47845d241875b 100644 (file)
@@ -8127,7 +8127,26 @@ P = (108, 145, 182)
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
 }
-# tile 427 (rock)
+# tile 427 (gray / touchstone)
+{
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+  MMMMMPPPPPMMMMMM
+  MMMMPNPPPPPMMMMM
+  MMMPNPPPPPPPAMMM
+  MMPPPPPPPPPPPAAM
+  MMPPPPPPPPPPPAAA
+  MMMPPPPPPPPPAAAM
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+  MMMMMMMMMMMMMMMM
+}
+# tile 428 (rock)
 {
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
@@ -8146,7 +8165,7 @@ P = (108, 145, 182)
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
 }
-# tile 428 (boulder)
+# tile 429 (boulder)
 {
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
@@ -8165,7 +8184,7 @@ P = (108, 145, 182)
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
 }
-# tile 429 (statue)
+# tile 430 (statue)
 {
   MMMMMMMMMMMMMMMM
   MMMMMMMMJJMMMMMM
@@ -8184,7 +8203,7 @@ P = (108, 145, 182)
   MMMMMJJJJJJAAMMM
   MMMMMMMMMMMMMMMM
 }
-# tile 430 (heavy iron ball)
+# tile 431 (heavy iron ball)
 {
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
@@ -8203,7 +8222,7 @@ P = (108, 145, 182)
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
 }
-# tile 431 (iron chain)
+# tile 432 (iron chain)
 {
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
@@ -8222,7 +8241,7 @@ P = (108, 145, 182)
   MMMMMMMMMMMPPMPA
   MMMMMMMMMMMMAAMM
 }
-# tile 432 (splash of venom / blinding venom)
+# tile 433 (splash of venom / blinding venom)
 {
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
@@ -8241,7 +8260,7 @@ P = (108, 145, 182)
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM
 }
-# tile 433 (splash of venom / acid venom)
+# tile 434 (splash of venom / acid venom)
 {
   MMMMMMMMMMMMMMMM
   MMMMMMMMMMMMMMMM