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