1 object wyrm;
2 
reset(started)3 reset(started)
4 {
5      if (!started)
6 	 set_light(0);
7      extra_reset();
8 }
9 
init()10 init()
11 {
12     add_action("up"); add_verb("up");
13 }
14 
15 short()
16 {
17     return "The bottom of the well";
18 }
19 
20 long()
21 {
22     write("You are standing at the bottom of the well, about thirty feet below the\n" +
23 	  "surface. Bones lie strwen about in a random fashion, many of them broken\n" +
24 	  "or shattered.\n" +
25 	  "\tThe only way out is the way in, back up the ladder.\n");
26 }
27 
up()28 up()
29 {
30     call_other(this_player(), "move_player", "up the ladder#room/south/sislnd17");
31     return 1;
32 }
33 
extra_reset()34 extra_reset()
35 {
36      if (!wyrm || !living(wyrm))
37 	 {
38 	     object coins, jem;
39 	     int jemnum;
40 	     wyrm = clone_object("obj/monster");
41 	     call_other(wyrm, "set_name", "wyrm");
42 	     call_other(wyrm, "set_level", 17 );
43 	     call_other(wyrm, "set_hp", 350);
44 	     call_other(wyrm, "set_al", -900);
45 	     call_other(wyrm, "set_short", "The Wyrm of Arcanarton");
46 	     call_other(wyrm, "set_long",
47 "The giant undead dragon you see before you is the result of one of\n"+
48 "Arcanarton's magic experiments.\n");
49 	     call_other(wyrm, "set_wc", 25);
50 	     call_other(wyrm, "set_ac", 7);
51 	     call_other(wyrm, "set_spell_chance", 50);
52 	     call_other(wyrm, "set_spell_dam", 100);
53 	     call_other(wyrm, "set_spell_mesg",
54 "Arcanarton's wyrm turns his head and breathes death at you.\n");
55              coins = clone_object("obj/money");
56 	     call_other(coins, "set_amount", random(500));
57 	     move_object(coins, wyrm);
58 	     jem = clone_object("obj/treasure");
59              jemnum = random(3);
60 	     if (jemnum == 0)
61 		 {
62 		     call_other(jem, "set_id", "diamond");
63 		     call_other(jem, "set_short", "a diamond");
64 		 }
65 	     if (jemnum == 1)
66 		 {
67 		     call_other(jem, "set_id", "emerald");
68 		     call_other(jem, "set_short", "an emerald");
69 		 }
70 	     if (jemnum == 3)
71 		 {
72 		     call_other(jem, "set_id", "sapphire");
73 		     call_other(jem, "set_short", "a sapphire");
74 		 }
75  	     call_other(jem, "set_alias", "jem");
76 	     call_other(jem, "set_value", random(250) + 300);
77 	     move_object(jem, wyrm);
78 	     move_object(wyrm, this_object());
79 	 }
80 }
81