diff -uNpr ./circle-3.1-old/lib/world/mob/150.mob ./circle-3.1/lib/world/mob/150.mob
--- ./circle-3.1-old/lib/world/mob/150.mob	1997-10-28 21:16:14.000000000 -0800
+++ ./circle-3.1/lib/world/mob/150.mob	1969-12-31 16:00:00.000000000 -0800
@@ -1,424 +0,0 @@
-#15000
-gwydion guard royal~
-Gwydion~
-Gwydion the Royal Guard is here on duty.
-~
-As all members of the Guard, Gwydion wears the chain mail required
-of them as uniform.  He seems very well trained, and moves like an
-experienced fighter.
-~
-abg 0 800 S
-11 9 2 3d6+130 1d8+4
-400 11000
-8 8 1
-#15001
-king welmar~
-King Welmar~
-The wise King Welmar sits here in his throne.
-~
-In his later middle-age, with his beard starting to grey, King Welmar
-is still very powerfully built, and wouldn't take kindly to an attack.
-Despite that, you know he is well-loved throughout the land, and has
-a reputation as a wise and just ruler.
-~
-ab dh 1000 S
-33 0 -10 3d60+1480 4d8+16
-35000 1000000
-6 8 1
-#15002
-ghost horrible~
-the horrible ghost~
-You hear a frightening wail, and see a horrible ghost approaching.
-~
-The ghost is almost translucent, and looks really SCARY!
-~
-bcefnopqr dks -700 S
-15 6 -6 9d6+150 2d8+2
-3000 22000
-8 8 0
-#15003
-jim guard royal~
-Jim~
-Jim the Royal Guard is here on duty.
-~
-As all members of the Guard, Jim wears the chain mail required of
-them as uniform.  He seems very well trained, and moves like an
-experienced fighter.
-~
-ag 0 800 S
-11 9 2 3d6+130 1d8+4
-400 11000
-8 8 1
-#15004
-brian guard royal~
-Brian~
-Brian the Royal Guard is here, training with the Master.
-~
-As all members of the Guard, Brian wears the chain mail required of
-them as uniform.  He seems very well trained, and moves like an
-experienced fighter.
-~
-abg 0 800 S
-11 9 2 3d6+130 1d8+4
-400 11000
-8 8 1
-#15005
-mick guard royal~
-Mick~
-Mick the Royal Guard is here, training with the Master.
-~
-As all members of the Guard, Mick wears the chain mail required of
-them as uniform.  He seems very well trained, and moves like an
-experienced fighter.
-~
-abg 0 800 S
-11 9 2 3d6+130 1d8+4
-400 11000
-8 8 1
-#15006
-matt guard royal~
-Matt~
-Matt the Royal Guard is here on duty.
-~
-As all members of the Guard, Matt wears the chain mail required of
-them as uniform.  He seems very well trained, and moves like an
-experienced fighter.
-~
-ag 0 800 S
-11 9 2 3d6+130 1d8+4
-400 11000
-8 8 1
-#15007
-jochem guard royal~
-Jochem~
-Jochem the Royal Guard sits here, off duty.
-~
-As all members of the Guard, Jochem wears the chain mail required of
-them as uniform.  He seems very well trained, and moves like a fighter
-who has seen more than one battle, and longs to see the next!
-~
-ag 0 900 S
-13 7 2 3d6+150 1d8+5
-400 16000
-6 6 1
-#15008
-anne guard royal~
-Anne~
-Anne the Royal Guard is here on duty.
-~
-As all members of the Guard, Anne wears the chain mail required of
-them as uniform.  She seems very well trained, and moves like a fighter
-who has seen more than one battle, and longs to see the next!
-~
-ag 0 900 S
-13 7 2 3d6+150 1d8+5
-400 16000
-8 8 2
-#15009
-andrew guard royal~
-Andrew~
-Andrew the Royal Guard is here on duty.
-~
-As all members of the Guard, Andrew wears the chain mail required of
-them as uniform.  He seems very well trained, and moves like a fighter
-who has seen more than one battle, and longs to see the next!
-~
-ag 0 900 S
-13 7 2 3d6+150 1d8+5
-400 16000
-8 8 1
-#15010
-bertram bert guard royal~
-Bertram~
-Bertram the Royal Guard is here on duty.
-~
-As all members of the Guard, Bertram wears the chain mail required of
-them as uniform.  He seems very well trained, and carries his scars
-with pride.  This guy seems tough...
-~
-ag 0 900 S
-15 5 1 3d6+175 1d8+7
-400 21000
-8 8 1
-#15011
-jeanette guard royal~
-Jeanette~
-Jeanette the Royal Guard is here on duty.
-~
-As all members of the Guard, Jeanette wears the chain mail required of
-them as uniform.  She seems very well trained, and carries her scars
-with pride.  This girl could be nasty if she wanted to...
-~
-ag 0 900 S
-15 5 1 3d6+175 1d8+7
-400 21000
-8 8 2
-#15012
-peter captain guard royal~
-Peter, the Captain of the Royal Guard~
-Peter, the Captain of the Royal Guard, walks around inspecting.
-~
-As all members of the Guard, Peter wears the chain mail required of
-them as uniform.  Even though all the other guards seem well trained,
-you realise none of them would stand a chance against this man in a
-fight.  He stands at least two metres tall, but still moves with an
-almost feline grace.  He actually radiates strength and confidence,
-and you have to fight a sudden urge to come to attention as you see
-him.
-~
-ag 0 900 S
-19 1 -1 3d6+240 2d6+8
-1000 35000
-8 8 1
-#15013
-master trainingmaster~
-the Training Master~
-The Training Master is here, supervising.
-~
-Aged, but experienced, the Training Master is skilled in the use
-of virtually every weapon type invented by Man.
-~
-abg 0 950 S
-18 1 1 2d6+220 1d8+8
-1000 30000
-8 8 1
-#15014
-herald royal~
-the Royal Herald~
-The Royal Herald is standing here.
-~
-This is a young, powerfully built man, whose primary function
-is to make Royal Announcements.
-~
-0 0 800 S
-18 1 -1 3d6+220 1d8+9
-500 30000
-8 8 1
-#15015
-ergan murderer~
-Ergan the Murderer~
-Slumped in a corner you see Ergan, aka the Murderer of Townsbridge.
-~
-You remember a time almost a decade ago, when the news of the day
-was how this man had slaughtered the entire population of the little
-village of Townsbridge.  He was imprisoned, and here he is - a shadow
-of the undoubtedly great warrior he once was, but still to be reckoned
-with.
-~
-acefhno sp -1000 S
-13 8 2 3d6+155 2d8+2
-0 18000
-6 6 1
-#15016
-butler james~
-James the Butler~
-James the Butler is standing here, looking pompous.
-~
-The typical perfect butler: upper middle age, a bit bald and with 
-an impressive belly.
-~
-ag 0 500 S
-8 13 3 1d6+100 1d9+2
-200 3750
-8 8 1
-#15017
-woman cleaning~
-the Cleaning Woman~
-There is a Cleaning Woman here, trying not be noticed.
-~
-Although she has a menial job, she seems to like it.
-~
-ag 0 800 S
-1 20 9 4d6+1 1d5+0
-10 100
-8 8 2
-#15018
-cockroach roach~
-the cockroach~
-A large cockroach is crawling by the wall.
-~
-Very large indeed, and they say cockroaches are hard to kill...
-~
-eqr 0 -250 S
-4 20 3 2d6+120 1d3+0
-5 750
-8 8 0
-#15019
-astrologer~
-the Astrologer~
-The Astrologer is sitting here, studying a book.
-~
-He is old and white-haired, with a long beard.  As you see him,
-you can almost believe the rumours about stars deciding Fate,
-and that astrology is capable of seeing the future.
-~
-abelno 0 900 S
-23 0 -2 1d1+30000 3d8+30
-2000 80000
-6 6 1
-#15020
-tim guard lifeguard~
-Tim, the King's Lifeguard~
-Tim, the King's Lifeguard, is standing here.
-~
-This guy looks just like his twin, Tom.  There seems to be no
-doubt that he is completely prepared to give his life for the
-King, if necessary.
-~
-ab d 900 S
-17 4 1 3d6+205 1d8+8
-1000 28000
-8 8 1
-#15021
-tom guard lifeguard~
-Tom, the King's Lifeguard~
-Tom, the King's Lifeguard, is standing here.
-~
-This guy looks just like his twin, Tim.  There seems to be no
-doubt that he is completely prepared to give his life for the
-King, if necessary.
-~
-ab d 900 S
-17 4 1 3d6+205 1d8+8
-1000 28000
-8 8 1
-#15022
-chef cook~
-the Chef~
-The Chef is here, shouting orders to the other cooks.
-~
-It seems he has been tasting his own food a bit too enthusiastically.
-He is, in other words, a bit fat.
-~
-behlno 0 500 S
-19 4 -1 2d6+1283 4d4+14
-1000 40000
-8 8 1
-#15023
-cook~
-the cook~
-There is a cook here, making himself busy with a pot.
-~
-A junior cook, eager to do the Chef's bidding.
-~
-bh 0 300 S
-4 17 6 2d7+46 1d8+0
-50 600
-8 8 1
-#15024
-david man guard~
-David~
-David, a big, mean-looking man, stands here, guarding the door.
-~
-He really is big, and you get the feeling he wouldn't take kindly
-to an attempt to get past him.
-~
-ab d 250 S
-19 2 0 2d6+235 1d7+10
-2000 35000
-8 8 1
-#15025
-dick man guard~
-Dick~
-Dick, a big, mean-looking man, stands here, guarding the door.
-~
-He really is big, and you get the feeling he wouldn't take kindly
-to an attempt to get past him.
-~
-ab d 250 S
-19 2 0 2d6+235 1d7+10
-2000 35000
-8 8 1
-#15026
-jerry guard royal~
-Jerry~
-Jerry the Royal Guard is here off duty, playing dice.
-~
-As all members of the Guard, Jerry wears the chain mail required
-of them as uniform.  He seems very well trained, and moves like
-an experienced fighter.
-~
-ag 0 800 S
-11 9 2 3d6+130 1d8+4
-400 11000
-5 5 1
-#15027
-michael guard royal~
-Michael~
-Michael the Royal Guard is here off duty, playing dice.
-~
-As all members of the Guard, Michael wears the chain mail required
-of them as uniform.  He seems very well trained, and moves like an
-experienced fighter.
-~
-ag 0 800 S
-11 9 2 3d6+130 1d8+4
-400 11000
-5 5 1
-#15028
-hans guard royal~
-Hans~
-Hans the Royal Guard is here on duty.
-~
-As all members of the Guard, Hans wears the chain mail required
-of them as uniform.  He seems very well trained, and moves like
-a fighter who has seen more than one battle, and longs to see
-the next!
-~
-ag 0 900 S
-13 7 2 3d6+150 1d8+5
-400 16000
-8 8 1
-#15029
-boris guard royal~
-Boris~
-Boris the Royal Guard is here on duty.
-~
-As all members of the Guard, Boris wears the chain mail required of
-them as uniform.  He seems very well trained, and carries his scars
-with pride.  This guy seems tough...
-~
-ag 0 900 S
-15 5 1 3d6+175 1d8+7
-400 21000
-8 8 1
-#15030
-zombie villager~
-the zombie~
-A zombie is shambling over some corpses here, moving quite silently.
-~
-It is entirely possible that this zombie was once one of the villagers
-of Townsbridge who has been brought to an undead life by a fuelling
-desire for revenge.
-~
-befnpr dfks 0 S
-11 6 3 4d4+95 2d4+8
-0 10000
-8 8 0
-#15031
-skeleton villager~
-the skeleton~
-A skeleton is moving about with a loud clatter here, climbing over corpses.
-~
-It is entirely possible that this skeleton was once one of the villagers
-of Townsbridge who has been brought to an undead life by a fuelling desire
-for revenge.
-~
-befnpr dfk 0 S
-10 8 3 4d4+80 2d3+6
-0 8000
-8 8 0
-#15032
-pit fiend demon~
-the pit fiend~
-A large demon surrounded by flames rises out of the dark pool.
-~
-It is a horrifying thing, this demonic creature from the depths of the
-Abyss.  It glares down at you through blood-red eyes, and bares its huge
-white fangs and its razor-sharp talons.
-~
-abeflnopqr dfhk 1000 S
-33 0 -10 3d60+1480 4d8+16
-35000 1000000
-6 8 1
-$
diff -uNpr ./circle-3.1-old/lib/world/mob/index ./circle-3.1/lib/world/mob/index
--- ./circle-3.1-old/lib/world/mob/index	1997-10-28 21:16:16.000000000 -0800
+++ ./circle-3.1/lib/world/mob/index	2003-01-02 14:38:30.000000000 -0800
@@ -1,29 +1,28 @@
-0.mob
-9.mob
-12.mob
-15.mob
-25.mob
-30.mob
-31.mob
-33.mob
-35.mob
-36.mob
-40.mob
-50.mob
-51.mob
-52.mob
-53.mob
-54.mob
-60.mob
-61.mob
-62.mob
-63.mob
-64.mob
-65.mob
-70.mob
-72.mob
-79.mob
-120.mob
-150.mob
-186.mob
-$
+0.mob
+9.mob
+12.mob
+15.mob
+25.mob
+30.mob
+31.mob
+33.mob
+35.mob
+36.mob
+40.mob
+50.mob
+51.mob
+52.mob
+53.mob
+54.mob
+60.mob
+61.mob
+62.mob
+63.mob
+64.mob
+65.mob
+70.mob
+72.mob
+79.mob
+120.mob
+186.mob
+$
diff -uNpr ./circle-3.1-old/lib/world/obj/150.obj ./circle-3.1/lib/world/obj/150.obj
--- ./circle-3.1-old/lib/world/obj/150.obj	1997-10-28 22:06:36.000000000 -0800
+++ ./circle-3.1/lib/world/obj/150.obj	1969-12-31 16:00:00.000000000 -0800
@@ -1,253 +0,0 @@
-#15000
-nothingness universal~
-Sapowox's Universal Nothingness~
-You are quite unable to perceive Sapowox's Universal Nothingness here.~
-~
-5 bcg 8193
-0 6 4 1
-40 0 200000
-E
-nothingness universal~
-You are not sure, but you do not seem not able to figure out what
-it isn't, because it doesn't much resemble anything you haven't 
-ever seen.  You feel a bit of mortal confusion, but you notice a
-small inscription on it.
-~
-E
-text writing inscription~
-It just says: ' (void *) '
-Not very enlightening, is it?
-~
-A
-18 2
-A
-19 2
-#15001
-gold coins~
-the gold~
-A lot of gold is here.~
-~
-20 0 1
-32385 0 0 0
-0 32385 0
-#15002
-sceptre royal golden~
-a golden sceptre~
-A golden Royal sceptre lies on the ground.~
-~
-12 gk 16385
-0 0 0 0
-20 15000 3000
-A
-18 2
-#15003
-crown golden~
-a golden crown~
-A magnificently jewelled golden crown has been left here.~
-~
-9 gk 17
-7 0 0 0
-40 12000 10000
-A
-12 30
-A
-3 1
-#15004
-apple golden~
-a golden apple~
-There is a golden apple here.~
-~
-1 gk 16385
-0 0 -1 0
-5 8000 400
-#15005
-telescope scope~
-a large telescope~
-There is a large telescope here, pointing at the sky.~
-~
-12 0 0
-0 0 0 0
-0 0 0
-E
-telescope scope~
-A small sign says:
-
-Made in Siberia.
-
-~
-#15006
-sword training~
-a training sword~
-A training sword with blunt edges is leaned against a wall.~
-~
-5 0 8193
-0 1 4 3
-7 300 5
-A
-18 -2
-#15007
-key huge~
-a huge key~
-There is a huge, heavy-looking key on the floor here.~
-~
-18 c 16385
-15007 0 0 0
-1 0 0
-#15008
-Verminator sword~
-Verminator~
-A strange looking sword is lying upon the ground here.~
-~
-5 adjmnoq 8193
-0 3 4 11
-2 1 4000
-E
-verminator sword~
-This strange sword seems to be made of black metal, an eerie green glow
-surrounds the blade.
-~
-#15009
-key butlers butler~
-the Butler's key~
-The Butler's key is here.~
-~
-18 c 16385
-15009 0 0 0
-3 0 0
-#15010
-key small~
-a small key~
-A small key lies here.~
-~
-18 c 16385
-15010 0 0 0
-1 0 100
-#15011
-chest wooden~
-a large wooden chest~
-A large wooden chest stands here in a corner.~
-~
-15 0 1
-800 13 15010 0
-450 400 100
-E
-chest~
-It is equipped with a small lock, that any self-respecting thief
-should be able to pick.
-~
-#15012
-vial large potion brown~
-a large vial~
-A large vial has been left here.~
-~
-10 g 1
-15 15 -1 -1
-14 2000 2000
-E
-vial large brown potion~
-It is filled with a disgusting brown liquid.
-~
-#15013
-banner royal~
-a royal banner~
-The royal banner has been firmly planted in the ground here.~
-~
-12 0 0
-0 0 0 0
-0 0 0
-E
-banner royal standard~
-It is large and very heavy.  On top of it flutters King Welmar's flag
-proudly.
-~
-E
-flag~
-On the flag is the symbol of King Welmar's house, the rampant stag.
-~
-#15014
-key~
-a key~
-A key lies on the floor.~
-~
-18 c 1
-15014 0 0 0
-13 0 0
-E
-key~
-It has a finely carved letter 'W' inscribed on it.
-~
-#15015
-hauberk mail chain~
-a guard's chain mail hauberk~
-A chain mail hauberk lies on the floor~
-~
-9 0 9
-5 0 0 0
-60 2000 500
-#15016
-broadsword sword large~
-a large broadsword~
-There is a large broadsword lying here.~
-~
-5 0 8193
-0 2 6 3
-14 1300 3000
-#15017
-key cell~
-the cell key~
-A key lies on the floor.~
-~
-18 c 1
-15017 0 0 0
-3 0 0
-E
-key cell~
-This appears to be the key for the cells of the castle.
-~
-#15018
-corpse~
-a corpse~
-There is a corpse lying in the middle of the floor of the building here.~
-~
-13 0 0
-0 0 0 0
-0 0 0
-#15019
-lobster~
-a delicious-looking lobster~
-A delicious-looking lobster is lying here, tempting your appetite.~
-~
-19 0 1
-7 0 0 0 
-5 100 10
-#15020
-caviar~
-some Russian caviar~
-There is some delicious-looking Russian caviar here, making your mouth water.~
-~
-19 0 1
-2 0 0 0 
-1 250 20
-#15021
-glow~
-the glow from the west~
-There is a strange glow coming from the west.~
-~
-13 0 0
-0 0 0 0
-0 0 0
-E
-glow~
-The glow from the west appears to be quite strong, but it does not
-give enough light to see by here, nor can you see the source of the
-glow.
-~
-#15022
-wail sound~
-the wailing sound from the east~
-There is an eerie wailing sound coming from the house to the east.~
-~
-13 0 0
-0 0 0 0
-0 0 0
-$
diff -uNpr ./circle-3.1-old/lib/world/obj/index ./circle-3.1/lib/world/obj/index
--- ./circle-3.1-old/lib/world/obj/index	1997-10-28 21:16:16.000000000 -0800
+++ ./circle-3.1/lib/world/obj/index	2003-01-02 14:38:48.000000000 -0800
@@ -1,28 +1,27 @@
-0.obj
-9.obj
-15.obj
-25.obj
-30.obj
-31.obj
-33.obj
-35.obj
-36.obj
-40.obj
-50.obj
-51.obj
-52.obj
-53.obj
-54.obj
-60.obj
-61.obj
-62.obj
-63.obj
-64.obj
-65.obj
-71.obj
-72.obj
-79.obj
-120.obj
-150.obj
-186.obj
-$
+0.obj
+9.obj
+15.obj
+25.obj
+30.obj
+31.obj
+33.obj
+35.obj
+36.obj
+40.obj
+50.obj
+51.obj
+52.obj
+53.obj
+54.obj
+60.obj
+61.obj
+62.obj
+63.obj
+64.obj
+65.obj
+71.obj
+72.obj
+79.obj
+120.obj
+186.obj
+$
diff -uNpr ./circle-3.1-old/lib/world/shp/150.shp ./circle-3.1/lib/world/shp/150.shp
--- ./circle-3.1-old/lib/world/shp/150.shp	2001-11-12 06:10:10.000000000 -0800
+++ ./circle-3.1/lib/world/shp/150.shp	1969-12-31 16:00:00.000000000 -0800
@@ -1,55 +0,0 @@
-CircleMUD v3.0 Shop File~
-#15019~
-15012
-3050
-3052
--1
-1.2
-0.3
-SCROLL
-WAND
-STAFF
-POTION
--1
-%s But I have no such thing for sale.~
-%s But you do not have this item.~
-%s I have no interest in that.~
-%s I am sorry, but I can not afford such a valuable item.~
-%s But you can not afford that item.~
-%s It will cost you %d coins.~
-%s Here, you shall have %d coins for it.~
-2
-2
-15019
-40
-15052
--1
-2
-8
-20
-28
-#15022~
-15019
-15020
--1
-1.1
-1.0
--1
-%s Je suis tres desole, mais je n'ai pas ca.~
-%s Mais, je n'achete pas!~
-%s Mais, je n'achete pas!~
-%s Mais, je n'achete pas!~
-%s Si vous n'avez d'argent, vous ne pouvez p'acheter!~
-%s Ca coute %d piece d'or, s'il vous plait.~
-%s Oops - %d, a minor bug - please report!~
-0
-2
-15022
-0
-15005
--1
-6
-23
-0
-0
-$~
diff -uNpr ./circle-3.1-old/lib/world/shp/index ./circle-3.1/lib/world/shp/index
--- ./circle-3.1-old/lib/world/shp/index	1996-04-13 18:07:30.000000000 -0700
+++ ./circle-3.1/lib/world/shp/index	2003-01-02 14:39:11.000000000 -0800
@@ -1,10 +1,9 @@
-25.shp
-30.shp
-31.shp
-33.shp
-54.shp
-65.shp
-120.shp
-150.shp
-$
-
+25.shp
+30.shp
+31.shp
+33.shp
+54.shp
+65.shp
+120.shp
+$
+
diff -uNpr ./circle-3.1-old/lib/world/wld/150.wld ./circle-3.1/lib/world/wld/150.wld
--- ./circle-3.1-old/lib/world/wld/150.wld	1996-04-13 18:07:30.000000000 -0700
+++ ./circle-3.1/lib/world/wld/150.wld	1969-12-31 16:00:00.000000000 -0800
@@ -1,1766 +0,0 @@
-#15000
-The King's Road~
-   You stand at the beginning of the actual King's Road.  The road is wide
-enough for several horses to ride along side by side with room to spare.
-The stones which make up the road have been put into place with such skill
-that the road seems to be perfectly smooth and perfectly straight.
-   You spot a small trail leading to the south through the undergrowth which
-surrounds the road at this point.
-A traveller passes by and waves cheerfully at you.
-~
-150 c 1
-D1
-The King's Road continues in a straight line to the east towards a grand
-castle.
-~
-~
-0 -1 15001
-D2
-A small overgrown trail leads through the undergrowth to the south.
-~
-~
-0 -1 15061
-D3
-The King's Road thins out a bit into a lane just to the west.
-~
-~
-0 -1 3502
-E
-traveller~
-The traveller smiles cheerfully and calls 'hello' when you greet him,
-but continues on his way.
-The traveller is in excellent condition.
-~
-S
-#15001
-The King's Road~
-   You stand in the center of the great King's Road.  The road is very well
-built, and goes in a straight line due east-west.
-~
-150 0 1
-D1
-The King's Road continues in a straight line to the east.
-~
-~
-0 -1 15002
-D3
-You see that the King's Road continues westwards towards a large city.
-~
-~
-0 -1 15000
-S
-#15002
-The King's Road~
-   You stand on the King's Road, which leads east and west.  The
-skill of the builders is apparent, since it is impossible to notice
-any turn or irregularity in the road.
-~
-150 0 1
-D1
-You see a castle in the far east.
-~
-~
-0 -1 15003
-D3
-The King's Road continues in a straight line to the west.
-~
-~
-0 -1 15001
-S
-#15003
-On The King's Road Outside A Castle~
-   You are standing on the King's Road.  Before you is a large
-Castle, evidently built not so much for strength as for beauty.
-It is not totally without defences, though, for it is surrounded
-by a deep moat, and its windows are just narrow slits for archers
-to shoot through.  To the north there is a drawbridge across the
-moat.
-~
-150 0 1
-D0
-You see the drawbridge.
-~
-~
-0 -1 15004
-D3
-The King's Road continues in a straight line to the west.
-~
-~
-0 -1 15002
-S
-#15004
-On The Drawbridge~
-   You have arrived at the drawbridge leading into the Castle.  Before
-you is a huge, double-doored gate.  It seems very strong.  You see some
-whirls in the moat.
-~
-150 c 1
-D0
-The gate has huge, but intricately carved hinges.  As the Castle itself,
-it seems designed not only for strength, but also for beauty.
-~
-gate door~
-1 -1 15007
-D2
-You see the King's Road.
-~
-~
-0 -1 15003
-E
-whirls whirl moat~
-You can't see much, but it seems that something beneath the surface
-is creating them.
-~
-S
-#15005
-The Kitchen~
-   You are in the Kitchen.  Lots of helpers hurry to do the Chief Cook's
-bidding, and there is a wonderful smell that makes you feel very hungry.
-All around the room, there are shelves with different kinds of cooking 
-gear stacked on them.  There is an exit to the north, and one to the east;
-both leading to small passages.
-~
-150 d 0
-D0
-You see a small, dimly lit passage.
-~
-~
-0 -1 15010
-D1
-You see a small, dimly lit passage.
-~
-~
-0 -1 15006
-S
-#15006
-A Small Passage~
-   You are standing in a small passage, that is clearly intended mostly
-for the servants of the Castle.  It is only dimly lit and quite narrow.
-The passage leads west, and to the east there is a small door.
-~
-150 d 0
-D1
-The door is small and uninteresting.
-~
-door small~
-1 -1 15007
-D3
-You hear clanging of pots, and smell cooking meat.
-~
-~
-0 -1 15005
-S
-#15007
-The Entrance Hall~
-   You are standing in the impressive Entrance Hall of the Castle.
-To the north is an exit into the Great Hall.  There is also an exit
-east, and a small door to the west.
-~
-150 d 0
-D0
-You see the King's Great Hall.
-~
-~
-0 -1 15012
-D1
-There seems to be a small guard room to the east.
-~
-~
-0 -1 15008
-D2
-To the south, there is a gate, that leads to the Drawbridge.
-~
-gate~
-1 -1 15004
-D3
-The door is small and uninteresting.
-~
-door small~
-1 -1 15006
-S
-#15008
-The Guard Room~
-   You are in a small room, evidently meant for guards currently
-not on duty.  There is only one exit, back to the entrance hall.
-~
-150 d 0
-D3
-You see the Castle Entrance.
-~
-~
-0 -1 15007
-S
-#15009
-Under The Tower~
-   You are below one the three mighty towers of the Castle.  There are
-no guards here, and you sense that this part of the Castle is largely
-unused.  There are stairs going up to the tower, and there is also an
-exit to the north.
-~
-150 cd 0
-D0
-You see a small, dimly lit passage.
-~
-~
-0 -1 15014
-D4
-The stairs are old, but in good repair. They lead up into the tower.
-~
-~
-0 -1 15034
-E
-stairs~
-The stairs are old, but in good repair. They lead up into the tower.
-~
-S
-#15010
-The Small Passage~
-   You are standing in a small passage, that is clearly intended 
-mainly for the servants of the Castle.  The passage leads north
-and south.
-~
-150 d 0
-D0
-You see a small, dimly lit passage.
-~
-~
-0 -1 15015
-D2
-You hear the clanging of pots, and smell cooking meat.
-~
-~
-0 -1 15005
-S
-#15011
-The Great Hall~
-   You are standing in the south-west end of the Great Hall. It 
-is truly vast; the roof is so high above your head, that it seems no
-closer than the clouds outside.  The roof is beautifully painted, by
-someone who must have been a true master.  The hall is very large,
-and could easily seat several hundred people at a banquet.
-~
-150 d 0
-D0
-You see the King's Great Hall.
-~
-~
-0 -1 15016
-D1
-You see the King's Great Hall.
-~
-~
-0 -1 15012
-E
-roof paintings paint~
-The paintings on the roof depict the great heroes and gods.  One of 
-the gods is fairly heavy-bellied and incredibly hairy, with a massive
-beard.  Also among them are the great enemies and wrongdoers, such as
-the evil Goddess Yochlol and the powerful evil Wizard Tharoecon.
-~
-S
-#15012
-The Great Hall~
-   You are standing in the southern end of the Great Hall.  It
-is truly vast; the roof is so high above your head, that it seems no
-closer than the clouds outside.  The roof is beautifully painted, by
-someone who must have been a true master.  The hall is very large,
-and could easily seat several hundred people at a banquet.  To your
-north, you see King Welmar's great throne, and to the south is the
-Castle Entrance.
-~
-150 d 0
-D0
-You see the part of the Great Hall where the throne is.
-~
-~
-0 -1 15017
-D1
-You see the King's Great Hall.
-~
-~
-0 -1 15013
-D2
-You see the Castle Entrance.
-~
-~
-0 -1 15007
-D3
-You see the King's Great Hall.
-~
-~
-0 -1 15011
-E
-roof paintings paint~
-The paintings on the roof depict the great heroes and gods.  One of 
-the gods is fairly heavy-bellied and incredibly hairy, with a massive
-beard.  Also among them are the great enemies and wrongdoers, such as
-the evil Goddess Yochlol and the powerful evil Wizard Tharoecon.
-~
-S
-#15013
-The Great Hall~
-   You are standing in the south-east end of the Great Hall.  It
-is truly vast; the roof is so high above your head, that it seems no
-closer than the clouds outside.  The roof is beautifully painted, by
-someone who must have been a true master.  The hall is very large,
-and could easily seat several hundred people at a banquet.
-~
-150 d 0
-D0
-You see the King's Great Hall.
-~
-~
-0 -1 15018
-D3
-You see the King's Great Hall.
-~
-~
-0 -1 15012
-E
-roof paintings paint~
-The paintings on the roof depict the great heroes and gods.  One of
-the gods is fairly heavy-bellied and incredibly hairy, with a massive
-beard.  Also among them are the great enemies and wrongdoers, such as
-the evil Goddess Yochlol and the powerful, evil Wizard Tharoecon.
-~
-S
-#15014
-A Passage~
-   You are standing in a passage, that leads north and south.  To the south
-it leads towards one of towers.
-~
-150 d 0
-D0
-You see the small passage continue.
-~
-~
-0 -1 15019
-D2
-~
-~
-0 -1 15009
-S
-#15015
-The Passage~
-   You are in a passage, that leads north and south. To the east there
-is an exit to the Great Hall.
-~
-150 d 0
-D0
-You see the passage continue.
-~
-~
-0 -1 15020
-D1
-You see the King's Great Hall.
-~
-~
-0 -1 15016
-D2
-You see the passage continue.
-~
-~
-0 -1 15010
-S
-#15016
-The Great Hall~
-   You are standing in the north-west end of the Great Hall.  It 
-is truly vast; the roof is so high above your head, that it seems no
-closer than the clouds outside.  The roof is beautifully painted, by
-someone who must have been a true master.  The hall is very large,
-and could easily seat several hundred people at a banquet.  To your
-east, you see King Welmar's great throne, and to the west there is
-an exit to a passage.
-~
-150 d 0
-D1
-You see the part of the Great Hall where the throne is.
-~
-~
-0 -1 15017
-D2
-You see the King's Great Hall.
-~
-~
-0 -1 15011
-D3
-You see a passage.
-~
-~
-0 -1 15015
-E
-roof paintings paint~
-The paintings on the roof depict the great heroes and gods.  One of
-the gods is fairly heavy-bellied and incredibly hairy, with a massive
-beard.  Also among them are the great enemies and wrongdoers, such as
-the evil Goddess Yochlol and the powerful evil Wizard Tharoecon.
-~
-S
-#15017
-By The Throne In The Great Hall~
-   You are standing by the King's huge ivory throne.  The throne is, to
-an even greater degree than the Hall itself, a masterpiece.  It is
-intricately and beautifully carved, and it seems to be made out of a 
-single block of ivory, though you shiver at the thought of meeting
-the animal that died to yield a piece of that size.  The Hall continues
-to the east, west and south.
-~
-150 d 0
-D1
-You see the King's Great Hall.
-~
-~
-0 -1 15018
-D2
-You see the King's Great Hall.
-~
-~
-0 -1 15012
-D3
-You see the King's Great Hall.
-~
-~
-0 -1 15016
-E
-roof paintings paint~
-The paintings on the roof depict the great heroes and gods.  One of
-the gods is fairly heavy-bellied and incredibly hairy, with a massive
-beard.  Also among them are the great enemies and wrongdoers, such as
-the evil Goddess Yochlol and the powerful evil Wizard Tharoecon.
-~
-E
-throne ivory~
-It is large and very beautiful.  The carvings are mainly of animals and
-magic beasts.
-~
-S
-#15018
-The Great Hall~
-   You are standing in the north-east end of the Great Hall.  It
-is truly vast; the roof is so high above your head, that it seems no
-closer than the clouds outside.  The roof is beautifully painted, by
-someone who must have been a true master.  The hall is very large,
-and could easily seat several hundred people at a banquet.  To your
-west, you see King Welmar's great throne, and to the east there is
-an exit to a small passage.
-~
-150 d 0
-D1
-You see a passage.
-~
-~
-0 -1 15019
-D2
-You see the King's Great Hall.
-~
-~
-0 -1 15013
-D3
-You see the part of the Great Hall where the throne is.
-~
-~
-0 -1 15017
-E
-roof paintings paint~
-The paintings on the roof depict the great heroes and gods.  One of 
-the gods is fairly heavy-bellied and incredibly hairy, with a massive
-beard.  Also among them are the great enemies and wrongdoers, such as
-the evil Goddess Yochlol and the powerful evil Wizard Tharoecon.
-~
-S
-#15019
-The Small Passage~
-   You are standing in a small passage, that leads north and south.
-To the west, there is an exit into the Great Hall.
-~
-150 d 0
-D0
-The passage continues to the north.
-~
-~
-0 -1 15024
-D2
-The passage continues to the south.
-~
-~
-0 -1 15014
-D3
-To the west you see the Great Hall.
-~
-~
-0 -1 15018
-S
-#15020
-The Passage~
-   You are standing in a north-south leading passage.  There is a door
-to the east.
-~
-150 d 0
-D0 
-The passage leads to a staircase.
-~
-~
-0 -1 15025
-D1
-The door is quite small and unobtrusive.
-~
-door~
-1 -1 15021
-D2
-The passage continues to the south.
-~
-~
-0 -1 15015
-S
-#15021
-The Servants' Corridor~
-   You are standing in a corridor, that stretches further to the east.
-There are doors to the north and west.  The corridor itself is mainly
-used by servants, and lacks some of the beauty of the rest of the
-castle.
-~
-150 d 0
-D0
-There is a door there!
-~
-door~
-1 -1 15026
-D1
-The corridor seems to come to its end a bit further east.
-~
-~
-0 -1 15022
-D3
-The door to the west is made out of wood.
-~
-door wood~
-1 -1 15020
-S
-#15022
-The End Of The Servants' Corridor~
-   The corridor leads only west from here, but there is a door to
-the north.
-~
-150 d 0
-D0
-The door leads to a room intended for the butler.
-~
-door~
-1 15009 15027
-D3
-You see the corridor continue.
-~
-~
-0 -1 15021
-S
-#15023
-The Training Room~
-   This is the Training Room of the men of the Castle guard.  It is
-very large, with weapons standing in racks by all the walls.  Most
-of the weapons seem to be intended for training only, with blunt
-edges and the like, but there are some that might be useful for
-real fighting.  There is a door to the north.
-~
-150 d 0
-D0
-The door is large and heavy.
-~
-door large heavy~
-1 -1 15028
-D1
-You see a small passage.
-~
-~
-0 -1 15024
-S
-#15024
-The Small Passage~
-   You are standing in a small passage leading north and south.  There
-is also an exit to the west, from which grunts, cheers and heavy blows
-can be heard.
-~
-150 d 0
-D0
-The passage leads north to some stairs.
-~
-~
-0 -1 15029
-D2
-You see the passage continuing.
-~
-~
-0 -1 15019
-D3
-You see the Training Room.
-~
-~
-0 -1 15023
-S
-#15025
-The Stair Room~
-   You are standing below a great staircase, that leads up to the
-second floor of the Castle.  The stairs are made of marble, and there
-are pillars carved in the likenesses of trees with little animals
-running up and down the trunks.
-~
-150 d 0
-D2
-You see the passage.
-~
-~
-0 -1 15020
-D4
-The stairs lead up to the second floor.
-~
-~
-0 -1 15049
-E
-stairs stair~
-Made out of marble, and as all the rest of the Castle made primarily
-for beauty and with great skill.
-~
-E
-pillar pillars tree trees~
-Very nice. Squirrels and little birds all over.
-~
-S
-#15026
-The Servants' Quarters~
-   You are standing in a large room, that seems to house many of the
-servants.  The room is full of comfortable-looking beds.  There is also
-a large chest, probably containing some of the servants' belongings.
-~
-150 d 0
-D2
-The door is made out of wood.
-~
-door wood~
-1 -1 15021
-E
-bed~
-The beds all look comfortable, despite the fact that this is just
-the servants' place.
-~
-S
-#15027
-The Butler's Quarters~
-   You see at once that this must be the butler's room, for it lies
-in the servants' wing, and still it is large and comfortable; almost
-luxurious, in fact.  There is a large bed and a drawer in the room.
-The only exit is via the door to the south.
-~
-150 d 0
-D2
-You see the corridor.
-~
-door~
-1 15009 15022
-E
-bed~
-Looks very comfortable indeed.
-~
-S
-#15028
-The Guards' Barracks~
-   You are standing in a very large room with bunks all over.  It is
-obvious, that this is where the guards off duty spend most of their
-time, drinking and gambling or, probably, mostly sleeping.
-~
-150 d 0
-D2
-The door is large and heavy.
-~
-door large heavy~
-1 -1 15023
-E
-bunk bunks~
-They look a bit hard, but you could sleep in them.
-~
-S
-#15029
-The Stairs~
-   You are standing by a staircase leading down.  As you look down,
-you notice that for the first time since you entered the castle,
-things are not aesthetically made.  Instead it looks more functional
-and prison-like.
-~
-150 d 0
-D2
-You see the small passage.
-~
-~
-0 -1 15024
-D5
-The stairs down lead into darkness.
-~
-~
-0 -1 15055
-E
-stairs stair staircase~
-They seem to be made of granite, and stretch down into a more dimly
-lit area than where you come from.
-~
-S
-#15030
-At A Bend In The Corridor~
-   You are standing at a place where the corridor bends from east to north.
-~
-150 d 0
-D0
-You see the corridor continue.
-~
-~
-0 -1 15035
-D1
-You see the corridor continue.
-~
-~
-0 -1 15031
-S
-#15031
-The Corridor~
-   You are standing in a long corridor, decorated with tapestries
-depicting old times and old heroes.  It leads east and west.
-~
-150 d 0
-D1
-You see the corridor continue.
-~
-~
-0 -1 15032
-D3
-You see the corridor continue.
-~
-~
-0 -1 15030
-S
-#15032
-The Corridor~
-   You are standing in a long corridor, decorated with tapestries
-depicting old times and old heroes.  It leads east and west.
-~
-150 d 0
-D1
-You see the corridor continue.
-~
-~
-0 -1 15033
-D3
-You see the corridor continue.
-~
-~
-0 -1 15031
-S
-#15033
-The Corridor~
-   You are standing in a long corridor, decorated with tapestries
-depicting old times and old heroes.  The corridor continues west,
-and to the north you see the luxurious guest wing.
-~
-150 d 0
-D0
-You see the guest wing.
-~
-~
-0 -1 15038
-D3
-You see the corridor continue.
-~
-~
-0 -1 15032
-S
-#15034
-In The South-East Tower~
-   This part of the tower is fairly uninteresting, but it leads further
-upwards...
-~
-150 d 0
-D4
-The room at the top of the tower seems darkish for some reason.
-~
-~
-0 -1 15052
-D5
-You see the stairs at the bottom of the tower.
-~
-~
-0 -1 15009
-S
-#15035
-The Corridor~
-   You are standing in a long corridor, decorated with tapestries
-depicting old times and old heroes.  It leads north and south.  There
-is also an exit to the east here.
-~
-150 d 0
-D0
-You see the corridor continue.
-~
-~
-0 -1 15040
-D1
-You see a small room.
-~
-~
-0 -1 15036
-D2
-You see the corridor continue.
-~
-~
-0 -1 15030
-S
-#15036
-By The Treasure Room~
-   You are standing by a great iron door.  The door is very large, and
-seems very solid indeed.  There is a sign posted by it. 
-~
-150 d 0
-D1
-You see a large steel door.
-~
-door steel large~
-2 15007 15037
-D3
-You see the corridor.
-~
-~
-0 -1 15035
-E
-sign~
-
-              TREASURE ROOM
-
-   Authorized personnel only - all others keep out.
-   ANY trespassing will be SEVERELY punished!!
-
-~
-S
-#15037
-The Great Treasury~
-   As you enter this room, you are astonished by the riches that
-are stowed away here; not so much in gold, but paintings, tapestries,
-skillful carvings and sculptures all over the vast room.  You realise,
-however, that most of these things are too well known to be sold
-anywhere, without branding yourself as a thief, and condemning yourself
-to instant death at the hands of the Royal Guard.
-~
-150 d 0
-D3
-You see a large steel door.
-~
-door large steel~
-2 15007 15036
-E
-painting paintings carving carvings sculptures tapestries~
-It seems they are stored here temporarily to enable changing
-of the decoration in the Castle on a regular basis.
-~
-S
-#15038
-The Guest Wing~
-   You have arrived at the part of the Castle where prominent
-guests are housed.  To the east there is a large, ornamented
-door, and a somewhat smaller one leads north. 
-~
-150 d 0
-D0
-The door seems to lead to a guest room.
-~
-door small~
-1 -1 15043
-D1
-You see the guest suite behind the ornamented door.
-~
-door ornament ornamented~
-1 -1 15039
-D2
-You see the corridor.
-~
-~
-0 -1 15033
-S
-#15039
-The Guest Suite~
-   This must be where only the most highly regarded guests stay, since
-it is luxurious beyond your wildest imagination.  This is only the living
-room of the suite, but it is huge and tastefully decorated.  All the
-furniture is not only beautiful, but also made for comfort.  To the
-north, there is an exit to the bedroom, and there is a door to the west.
-~
-150 d 0
-D0
-You see the bedroom.
-~
-~
-0 -1 15044
-D3
-Behind the door you see the entrance to the Guest Wing.
-~
-door~
-1 -1 15038
-S
-#15040
-The Corridor~
-   You are standing in a long corridor, decorated with tapestries
-depicting old times and old heroes.  It leads north and south.
-~
-150 d 0
-D0
-You see the corridor continue.
-~
-~
-0 -1 15045
-D2
-You see the corridor continue.
-~
-~
-0 -1 15035
-S
-#15041
-The Ball Room~
-   You are standing in the great Ball Room.  It is a truly large room,
-with a stage for an orchestra in the south-east end.
-~
-150 d 0
-D0
-You see the Ball Room.
-~
-~
-0 -1 15046
-D1
-To the east you see the stage.
-~
-~
-0 -1 15042
-S
-#15042
-By The Stage~
-   Before you you see the stage.  It is large enough for some 40 
-musicians to play on at the same time.  The Ball Room continues
-to the west and north.
-~
-150 d 0
-D0
-You see the Ball Room.
-~
-~
-0 -1 15047
-D3
-You see the Ball Room.
-~
-~
-0 -1 15041
-S
-#15043
-A Guest Room~
-   You are standing in a large room.  Although it is comfortable enough,
-you can tell it is not meant for any of the most illustrious guests,
-since it lacks that extreme luxury found elsewhere in the Castle.
-~
-150 d 0
-D2
-Behind the door, you see the entrance to the Guest Wing.
-~
-door~
-1 -1 15038
-S
-#15044
-The Bedroom~
-   This room is dominated by the huge four-poster bed, that stands
-against the northern wall.  The room is large and cosy, and the bed
-virtually begs you to lie down in it and sleep.
-~
-150 d 0
-D2
-You see the living room of the suite.
-~
-~
-0 -1 15039
-E
-bed~
-Large, comfortable, bolstered... Invites you to sleep in it.
-~
-S
-#15045
-The Corridor~
-   You are standing in a long corridor, decorated with tapestries
-depicting old times and old heroes.  It leads north and south.  There
-is an exit to the east, that leads to a large room.
-~
-150 d 0
-D0
-You see the corridor continue.
-~
-~
-0 -1 15049
-D1
-You see the Ball Room.
-~
-~
-0 -1 15046
-D2
-You see the corridor continue.
-~
-~
-0 -1 15040
-S
-#15046
-The Ball Room~
-   You are standing in the great Ball Room.  It is a truly large room,
-with a stage for an orchestra in the south-east end.
-~
-150 d 0
-D1
-You see the Ball Room.
-~
-~
-0 -1 15047
-D2
-You see the Ball Room.
-~
-~
-0 -1 15041
-D3
-You see the corridor.
-~
-~
-0 -1 15045
-S
-#15047
-The Ball Room~
-   You are standing in the great Ball Room.  It is a truly large room,
-with a stage for an orchestra in the south-east end.
-~
-150 d 0
-D1
-To the east, you can enter a tower.
-~
-~
-0 -1 15048
-D2
-To the south you see the stage.
-~
-~
-0 -1 15042
-D3
-You see the Ball Room.
-~
-~
-0 -1 15046
-S
-#15048
-In The Tower~
-   You are standing in the north-eastern of the three great watch-
-towers of the Castle.  To the west, you can enter the Ball Room and
-there are stairs leading up into the Tower.
-~
-150 d 0
-D3
-You see the Ball Room.
-~
-~
-0 -1 15047
-D4
-The stairs lead a long way up to the top of the Tower.
-~
-~
-0 -1 15054
-E
-stairs~
-The stairs are made out of granite, and seem solid enough.
-~
-S
-#15049
-The Grand Staircase~
-   You are standing on a great staircase, that leads up and down.  To 
-the east, there is a large oak door, and a corridor leads south.
-~
-150 d 0
-D1
-The door is large and made out of oak.
-~
-door oak large~
-1 15014 15050
-D2
-You see the corridor.
-~
-~
-0 -1 15045
-D4
-The stairs continue up to the top of the tower.
-~
-~
-0 -1 15053
-D5
-The stairs lead down to the first floor of the Castle.
-~
-~
-0 -1 15025
-E
-stairs~
-The stairs are made of marble, and there are pillars carved in the
-likenesses of trees with little animals running up and down the
-trunks.
-~
-S
-#15050
-The Cosy Room~
-   You have entered a large, cosy living room.  There is a fireplace
-with a fire burning, and a few comfortable chairs around a little
-table.  There is a door to the west, and also an exit to the east.
-~
-150 d 0
-D1
-You see a large bedroom.
-~
-~
-0 -1 15051
-D3
-The door is large, and made out of oak.
-~
-door large oak~
-1 15014 15049
-E
-fire fireplace~
-The fire is built out of logs, and seems to be able to burn for 
-quite a while longer.
-~
-E
-table~
-The table is made of mahogany, and elegant in a cosy way(!)
-~
-E
-chairs~
-The chairs are arranged around the fireplace.
-~
-S
-#15051
-King Welmar's Bedroom~
-   This is a large room, with a wonderful view.  To one side of the
-room, stands a large four-poster bed.  All around the room there are
-massive bookshelves, filled with all kinds of books.  The titles include
-works such as: 'A Treatise on the History of Midgaard and surrounding
-areas', 'Magic - A Beginner's Introduction' and many others.  There is
-an exit to the west.
-~
-150 d 0
-D3
-There is a large and cosy room to the west.
-~
-~
-0 -1 15050
-E
-books book shelf shelves bookshelf bookshelves~
-Most of the books seem worn, as if thoroughly studied.  The King
-evidently is interested in keeping himself educated.
-~
-E
-bed~
-Seems nice enough to sleep in, though you would never dare to, since
-it is a Royal Bed!
-~
-E
-history midgaard~
-A dry tome, filled with boring knowledge.
-~
-E
-magic~
-Beginner?  This book goes beyond most of what YOU know about magic
-anyway.  But then, there are levels of magical knowledge, it seems.
-~
-S
-#15052
-Up In The Tower~
-   After a long climb, you finally reach the top of the tower.  This
-room is small, and the only light source is a flickering candle, on
-a cluttered table, in the middle of the room.  The only obvious exit
-is back down the stairs.
-~
-150 d 0
-D5
-The stairs go down the tower.
-~
-~
-0 -1 15034
-E
-table~
-On the table are various objects, all very strange-looking.
-~
-E
-candle~
-Small, uninteresting... A candle that is as normal as can be.
-~
-S
-#15053
-The Top Of The Tower~
-   You have arrived at the top of the tower.  This tower is pretty
-uninteresting, and seems made purely for reasons of defence and 
-guarding.  The windows are slits for bowmen, very narrow on the 
-outward side and broad inwards to allow a wide shooting angle.
-The only evident exit is down the stairs again.
-~
-150 d 0
-D5
-The stairs go down to the second floor.
-~
-~
-0 -1 15049
-E
-window slit~
-As you look out the windows, you are granted a view of the countryside.
-~
-S
-#15054
-The Top Of The Tower~
-   This is the highest of all the towers, and is obviously used for
-lookout purposes.  The view is splendid in all four directions.  All
-around you, the rich countryside spreads out to the horizon.  To the
-north and east you see a vast mountain range, and far to the west
-a beautiful lake.  A bit closer, the town of Midgaard lies at the
-end of the King's Road.  The only exit you can see is down again.
-~
-150 d 0
-D0
-To the north, the tall White Mountains have their highest peaks.
-The mountaintops disappear in the white clouds, far above the 
-plains.  The sight of those high, far mountains fills you with a
-desire to scale them, to see the world from that vantage.
-~
-~
-0 -1 -1
-D1
-In the east you see an arm of the dominating mountain range on this
-continent, the White Mountains.  Though not as high as those in the
-north, the sight of those mountains fills you with awe.
-~
-~
-0 -1 -1
-D2
-To the south, rolling hills stretch away, as far as you can see.
-~
-~
-0 -1 -1
-D3
-As you look west, you see a river flowing through all of Midgaard
-and continuing beyond it towards a great lake.  Still further
-away, you can glimpse something silvery that has to be the Sea.
-~
-~
-0 -1 -1
-D5
-You see the stairs going back down to the second floor.
-~
-~
-0 -1 15048
-S
-#15055
-The Bottom Of The Stairs~
-   The stairs lead down to a damp part of the castle, you can hear
-water dripping somewhere around you.  The area is lit by a single
-torch flickering in the room which this staircase is built off of.
-   The stairs lead upwards and they open up onto a fairly small
-room to the east.
-~
-150 d 0
-D1
-A small room opens up to the east.
-~
-~
-0 -1 15056
-D4
-The stairs lead upwards out of this dank, dark place.
-~
-~
-0 -1 15029
-S
-#15056
-The Guard Room~
-   You are at a loss to explain why someone would want to spend all
-day down here.  The only explanation that seems even remotely logical
-to you is that there must be an important prisoner kept in one of the
-cells through the south door.
-   The decorations of the room are sparse, merely a table, a chair,
-and a deck of cards.  A stairwell has been built into the western wall
-and it leads upwards. 
-~
-150 d 0
-D2
-Through the peep hole at the top of the small wooden door you can see
-that there is a small corridor leading past several cells.
-~
-door wooden~
-1 15017 15057
-D3
-A small stairwell built into the western wall of the room leads upwards.
-~
-~
-0 -1 15055
-E
-table cards deck~
-There is a deck of cards on the table in a small pile.  There is one card
-lying on the floor however.
-~
-E
-card floor~
-The card on the floor seems to be the Ace of Spades... a bad card to find
-indeed.  What could be the bad luck brought about by this discovery?
-~
-S
-#15057
-The Prison~
-   This small passage is about thirty feet long and is well lit by the
-torches on each wall.  The torches have been locked inside small metal
-cages to ensure that they are not removed.  The strangest thing about
-the torches however, is the manner in which they burn, they have what
-appears to be a constant flame in that it does not flicker whatsoever,
-and does not give off any smoke.  Perhaps they have been magicked to
-burn forever...
-   There are three cells along this passage way, one on each side of
-the corridor right near the north end and one isolated at the south
-end of the corridor with a small metal plaque located over the door
-in the keystone of the archway.
-~
-150 d 0
-D0
-A small wooden door blocks the way out of the prison.
-~
-door wooden~
-1 15017 15056
-D1
-A cell door is set into the eastern wall.
-~
-door cell~
-2 15017 15060
-D2
-The cell door to the south has been double padlocked and there is a
-plaque placed in the keystone above the door.
-~
-door cell~
-2 15017 15059
-D3
-A cell door is set into the western wall.
-~
-door cell~
-2 15017 15058
-E
-plaque keystone~
-The plaque in the keystone is engraved with four simple words:
-
-                Ergan, Murderer of Townsbridge
-
-~
-S
-#15058
-A Cell~
-   This cell is in a shambles.  There is a small hole in the
-western wall where something has broken through the stones
-into the cell.  There is a cell door in the eastern wall.
-~
-150 d 0
-D1
-The cell door to the east leads back to the prison hallway.
-~
-door cell~
-2 15017 15057
-E
-hole~
-The hole is much too small for you to clamber through.
-~
-S
-#15059
-Ergan's Cell~
-   This large cell is almost like a living quarters with a cot
-in one corner serving as a bed, a small table built out of the
-wall in another corner.  There is even a rug in the center of
-the floor to keep some warmth.  It seems that the prisoner kept
-here is treated quite well, almost too well for a murderer of
-an entire town...
-~
-150 d 0
-D0
-The cell door to the north leads back to the prison hallway.
-~
-door cell~
-2 15017 15057
-S
-#15060
-A Cell~
-   This small cell is damp and dark and looks like noone and nothing
-has lived in it for quite some time.  A small cell door is located in
-the west wall.
-~
-150 d 0
-D3
-The cell door to the west leads back to the prison hallway.
-~
-door cell~
-2 15017 15057
-S
-#15061
-An Overgrown Trail~
-   Moving off of the King's Road, you find yourself on a small
-fading trail which appears to have been so little used that it
-has almost completely grown over with vegitation from the woods
-here.  Sounds of the forest can be heard all round and you feel
-a peaceful feeling come over you as you realize that mankind
-has not passed this way for some time.
-   The faded trail appears to lead north and south.
-~
-150 0 4
-D0
-The travel upon the King's Road can be heard off to the north.
-~
-~
-0 -1 15000
-D2
-The trail continues southwards.
-~
-~
-0 -1 15062
-S
-#15062
-An Overgrown Trail~
-   Continuing through the heavy undergrowth, you find yourself
-in the middle of the forest.  The sounds of the forest can be
-heard all round and you feel a peaceful feeling come over you
-as you realize that mankind has not passed this way for some
-time.
-   The fading trail you are on appears to have been so little
-used that it has almost completely grown over with vegitation
-from the woods here.  
-   The faded trail appears to lead north and east.
-~
-150 0 4
-D0
-The trail continues northwards.
-~
-~
-0 -1 15061
-D1
-The trail appears to continue to the east.
-~
-~
-0 -1 15063
-S
-#15063
-An Overgrown Trail~
-   Continuing through the heavy undergrowth, you find yourself
-in the middle of the forest.  The sounds of the forest can be
-heard all round and you feel a peaceful feeling come over you
-as you realize that mankind has not passed this way for some
-time.
-   The fading trail you are on appears to have been so little
-used that it has almost completely grown over with vegitation
-from the woods here.  
-   The faded trail appears to lead west and south.  To the south
-a strange eerie silence seems to hang in the air, almost blocking
-out all the sounds that you can hear from the north and east.
-~
-150 0 4
-D2
-The undergrowth begins to open up to the south and you can see what
-appears to be a small village to the south.  It is very quiet, almost
-too quiet.
-~
-~
-0 -1 15064
-D3
-The overgrown trail continues to the northwest.
-~
-~
-0 -1 15062
-S
-#15064
-A Dirt Road~
-   As you leave the forest to the north, you find yourself at
-what appears to be the beginning of a dirt road and a small
-village.  Upon first laying eyes on this place you realize
-that there is something funny about this settlement... there
-is no sound other that the whistling wind here.  You would have
-expected to hear people going about their regular business, but
-the village is silent.  You cannot see any movement around the
-village either.  It is almost as still and silent as the woods
-to the north.
-There is a small sign lying by the side of the road here.
-~
-150 0 2
-D0
-An trail leads into the heavy undergrowth to the north.
-~
-~
-0 -1 15063
-D2
-The dirt road continues through the village to the south.
-~
-~
-0 -1 15065
-D3
-A house stands a short distance off the west side of the road, its
-door hanging ajar.
-~
-~
-0 -1 15068
-E
-sign~
-
-/----------------------------------\
-|     Welcome to the hamlet of     |
-|           Townsbridge            |
-|                                  |
-|                                  |
-|     Population:  276             |
-|                                  |
-\----------------------------------/
-
-The number 276 has been scratched out and replaced with the
-number 0.
-
-~
-S
-#15065
-A Small Intersection~
-   Continuing along the dirt road, you find yourself at a place where
-a small path splits away from the main road and leads off to the west.
-The woods around the village seem to be pressing inwards towards you
-as if the village hides a secret which they do not want to be spread
-about.
-   There is another house standing on the east side of the road.  
-~
-150 0 2
-D0
-The dirt road continues to the north.
-~
-~
-0 -1 15064
-D1
-You can hear a wailing sound coming from the house to the east.
-~
-~
-0 -1 15069
-D2
-The dirt road continues towards the south where a horrible smell
-permeates the air.
-~
-~
-0 -1 15066
-D3
-A small, dark trail leads off into the woods to the west.
-~
-~
-0 -1 15072
-S
-#15066
-A Dirt Road~
-   This section of the dirt road is quiet, but there is an awful stench
-in the air.  It brings to mind rotting corpses and raw sewage.  The woods
-contiue to press closely about you, and almost totally surround the small
-building to the west with a thatched roof.  There is a blackened shell of
-a building to the east with a small sign hanging out front from a black
-and charred chain.
-   The dirt road continues north and south.
-~
-150 0 2
-D0
-The small dirt road continues towards the north.
-~
-~
-0 -1 15065        
-D1
-The building to the east is merely a shell of what it once probably
-was.  The walls are blackened as if they had been exposed to fire at
-some point in the past...
-~
-~
-0 -1 15071
-D2
-The stench from the south is almost overpowering now... it seems that
-the source wouldn't be too far from here.
-~
-~
-0 -1 15067
-D3
-A small quiet cottage stands on the west side of the road, apparently
-untouched by the desecration and destruction that appears to have hit
-this small village.
-~
-~
-0 -1 15070
-E
-sign~
-The sign is covered with soot and the wood is quite charred, but you can
-still make out the following letters:
-
-        T   TO  SB  DGE   NER L    RE
-
-~
-S
-#15067
-A Large Pit~
-   The dirt road ends at the edge of a large pit here and you now
-realize where the awful smell was coming from.  This pit appears
-to be a mass grave for the citizens of the village.  There are
-bones and corpses lying all over the place.  A lot of the corpses
-look too recent to be from the Townsbridge murders of almost a
-decade ago, but the village seems to have been empty for almost
-that long.
-   The dirt road leads away from the carnage to the north.
-~
-150 0 2
-D0
-Just near the north edge of the pit a small and narrow trail leads
-away.
-~
-~
-0 -1 15066
-S
-#15068
-A House~
-   This house is a wreck, furniture has been strewn all about
-the room, and it looks like a tornado landed right in the middle
-of the room.  The destruction that has taken place in this room
-is almost beyond belief.  The oddest part of it all though, is
-how it all seems so recent, since there are no cobwebs, and there
-is no dust on anything.
-   The dirt road can be seen to the east through the doorway.
-~
-150 d 0
-D1
-You can see the dirt road through the doorway to the east.
-~
-~
-0 -1 15064
-S
-#15069
-A House~
-   This darkened room is barely lit by the outdoor light, but what
-you can see of it gives you the creeps.  There are cobwebs dangling
-from everything, a thick layer of dust begins to rise up at your
-passage, and a strange howl comes from somewhere around you.  The
-furniture in this house is old and of a type that hasn't been seen
-around these lands for some time.  If it was in better shape, you
-might be able to sell it as antique.
-   The meager light of the road shines through the doorway to the
-west.
-~
-150 ad 0
-D3
-You can see the dirt road through the doorway to the west.
-~
-~
-0 -1 15065
-S
-#15070
-A Small Cottage~
-   This cottage looks to have been left in exactly the same shape as
-it was in quite some time ago.  It looks as if the residents left one
-day and haven't returned home yet.  Oddly enough, the furniture is
-dust free and the food on the table still looks fresh.  This house is
-really strange, perhaps it wuld be in your best interests to leave as
-soon as humanly possible.
-   The road is back through the open doorway to the east.
-~
-150 d 0
-D1
-You can see the dirt road through the doorway to the east.
-~
-~
-0 -1 15066
-S
-#15071
-The Burned Shop~
-   As you enter this small building, you notice that that blackened
-walls are due to a fire that seemed to burn here unattended for quite
-some time.  There is almost nothing left of the roof that would have
-once covered this building, and the north and east walls have been
-burnt to almost half the height of the other two walls.  There are
-some burnt goods around on the ground and the remains of a counter
-near what is left of the north wall seems to indicate that this was
-once a shop.
-   The road lies to the west through the blackened wall.
-~
-150 0 2
-D3
-You can see the dirt road to the west.
-~
-~
-0 -1 15066
-S
-#15072
-A Dark Path~
-   As you move away form the open air into the darkness of the path
-and the sinister looking woods around you, you get a feeling of awe
-and something almost akin to horror.  The wood around is completely
-silent, not even the rustling of leaves or the cracking of branches
-breaks the silence.  The final thing you notice is that the darkness
-all around you seems to be almost contrived, and doesn't seem natural
-for this kind of vegitation.
-   The path continues west and you can see light to the east.
-~
-150 ad 1
-D1
-The path continues towards a small intersection with a dirt road.
-~
-~
-0 -1 15065
-D3
-The path continues through the darkness.
-~
-~
-0 -1 15073
-S
-#15073
-A Dark Path~
-   This narrow path leads through the overhanging trees in the unnatural
-darkness.  It seems almost as if the trees are crowding in on you here,
-as if they didn't want to feel your presence.  The wood is almost totally
-silent and you wonder silently to yourself why this could be.
-   The path appears to continue east and west.
-~
-150 ad 1
-D1
-The path continues through the darkness.
-~
-~
-0 -1 15072
-D3
-The glow from the west appears to be quite strong, but it does not
-give enough light to see by here, nor can you see the source of the
-glow.
-~
-~
-0 -1 15074
-S
-#15074
-The Circle Of Stones~
-   You are at the edge of a circle of seven large monolith-like stones.
-Each stone towers over your head and appears to be at least double your
-height.  The stones are made of a dark black material, almost black in
-colour.
-   In the center of the ring of stones, you can see a black circular
-mirror-like disk on the ground.  The surface is highly reflective and
-almost appears to be rippling.  The trees surrounding the circle tower
-far above your heads blocking out the sky.
-   A strange glow seems to be emanating from each stone, almost green
-in colour.  This glow provides enough light for you to see with even
-though the sky above has been blotted out.
-~
-150 d 1
-D1
-A narrow path leads away into the darkness.
-~
-~
-0 -1 15073
-D4
-You cannot see the sky above since the trees around the stone ring
-block it out entirely.
-~
-~
-0 -1 -1
-E
-stones glow stone ring circle~
-Each stone is at least fifteen feet tall, maybe more, and the dark
-material glows with a greenish aura providing more than enough light
-for you to see by.
-~
-S
-$
diff -uNpr ./circle-3.1-old/lib/world/wld/index ./circle-3.1/lib/world/wld/index
--- ./circle-3.1-old/lib/world/wld/index	1997-10-28 21:16:16.000000000 -0800
+++ ./circle-3.1/lib/world/wld/index	2003-01-02 14:39:29.000000000 -0800
@@ -1,31 +1,30 @@
-0.wld
-9.wld
-12.wld
-15.wld
-25.wld
-30.wld
-31.wld
-33.wld
-35.wld
-36.wld
-40.wld
-50.wld
-51.wld
-52.wld
-53.wld
-54.wld
-60.wld
-61.wld
-62.wld
-63.wld
-64.wld
-65.wld
-70.wld
-71.wld
-72.wld
-79.wld
-120.wld
-150.wld
-186.wld
-$
-
+0.wld
+9.wld
+12.wld
+15.wld
+25.wld
+30.wld
+31.wld
+33.wld
+35.wld
+36.wld
+40.wld
+50.wld
+51.wld
+52.wld
+53.wld
+54.wld
+60.wld
+61.wld
+62.wld
+63.wld
+64.wld
+65.wld
+70.wld
+71.wld
+72.wld
+79.wld
+120.wld
+186.wld
+$
+
diff -uNpr ./circle-3.1-old/lib/world/zon/150.zon ./circle-3.1/lib/world/zon/150.zon
--- ./circle-3.1-old/lib/world/zon/150.zon	2001-05-18 12:12:58.000000000 -0700
+++ ./circle-3.1/lib/world/zon/150.zon	1969-12-31 16:00:00.000000000 -0800
@@ -1,154 +0,0 @@
-#150
-King Welmar's Castle~
-15000 15099 120 2
-*
-* Created by Pjotr and Sapowox of CircleMUD
-*
-* Heavily modifed, edited, and added to for CircleMUD by Furry
-*
-* Mobiles
-M 0 15001 1 15017       King Welmar
-E 1 15002 1 17                  Golden Sceptre
-E 1 15003 1 6                   Golden Crown
-E 1 15004 1 0                   Golden Apple
-G 1 15014 1                     Key To King's Quarters
-M 0 15003 1 15042       Jim The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15004 1 15023       Brian The Royal Guard
-E 1 15006 100 16                Training Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15005 1 15023       Mick The Royal Guard
-E 1 15006 100 16                Training Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15006 1 15035       Matt The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15007 1 15028       Jochem The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15008 1 15023       Anne The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15009 1 15008       Andrew The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15010 1 15032       Bertram The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15011 1 15019       Jeanette The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15012 1 15023       Peter
-E 1 15015 50 5                  Chain Mail Hauberk
-E 1 15016 10 16                 Broadsword
-M 0 15013 1 15023       Training Master
-E 1 3022 100 16                 Long Sword
-M 0 15014 1 15017       Herald
-M 0 15016 1 15027       Butler
-G 1 15009 1                     Key To The Butler's Quarters
-M 0 15017 5 15010       Cleaning Woman
-M 0 15017 5 15010       Cleaning Woman
-M 0 15017 5 15041       Cleaning Woman
-M 0 15017 5 15041       Cleaning Woman
-M 0 15017 5 15038       Cleaning Woman
-M 0 15019 1 15052       Astrologer
-G 1 3052 100                    Scroll Of Recall 
-G 1 3050 100                    Scroll Of Identify 
-G 1 15012 10                    Brown Potion
-M 0 15020 1 15017       Tim The King's Lifeguard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15021 1 15017       Tom The King's Lifeguard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15022 1 15005       Chef
-G 1 15019 50                    Lobster
-G 1 15020 50                    Some Russian Caviar
-M 0 15023 2 15005       Cook
-G 1 15010 1                     Key To The Chest
-M 0 15023 2 15005       Cook
-M 0 15024 1 15036       David The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-G 1 15007 1                     Key To The Treasury
-M 1 15025 1 15036       Dick The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15026 1 15008       Jerry The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15027 1 15008       Michael The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15028 1 15047       Hans The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-M 0 15029 1 15009       Boris The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-* Objects
-R 0 15023 3020
-O 0 3020 100 15023      Dagger
-R 0 15023 3021
-O 0 3021 100 15023      Small Sword
-R 0 15023 3022
-O 0 3022 100 15023      Long Sword
-O 1 15001 1 15037       Treasure
-O 0 15005 1 15052       Telescope
-O 0 15011 1 15026       Chest
-* Doors
-D 0 15004 0 1           Front Gate
-D 0 15007 2 1
-D 0 15007 3 1           Small Passage
-D 0 15006 1 1           
-D 0 15020 1 1           Servants' Corridor
-D 0 15021 3 1
-D 0 15021 0 1           Servants' Quarters
-D 0 15026 2 1
-D 0 15022 0 2           Butler's Quarters
-D 0 15027 2 2           
-D 0 15023 0 1           Guard Barracks
-D 0 15028 2 1
-D 0 15036 1 2           Treasure Room
-D 0 15037 3 2
-D 0 15038 0 1           Guest Room
-D 0 15043 2 1
-D 0 15038 1 1           Guest Suite
-D 0 15039 3 1
-D 0 15049 1 2           King Welmar's Quarters
-D 0 15050 3 2
-*
-* Additions to King Welmar's Castle by Furry
-* Mobiles
-M 0 15000 1 15056       Gwydion The Royal Guard
-E 1 3022 100 16                 Long Sword
-E 1 15015 50 5                  Chain Mail Hauberk
-G 1 15017 1                     Cell Key
-M 0 15002 1 15069       Horrible Ghost
-M 0 15015 1 15059       Ergan The Murderer
-M 0 15018 2 15058       Cockroach
-M 0 15018 2 15058       Cockroach
-M 0 15030 2 15067       Villager Zombie
-M 0 15030 2 15067       Villager Zombie
-M 0 15031 2 15067       Villager Skeleton
-M 0 15031 2 15067       Villager Skeleton
-M 0 15032 1 15074       Pit Fiend
-E 1 15008 3 16                  Verminator
-* Objects
-O 0 15013 1 15054       Royal Banner
-O 0 15018 1 15070       Corpse
-O 0 15021 1 15073       Glow
-O 0 15022 1 15065       Sound
-* Doors
-D 0 15056 2 2           Prison Entrance
-D 0 15057 0 2
-D 0 15057 1 2           Cell Door
-D 0 15060 3 2
-D 0 15057 2 2           Ergan's Cell
-D 0 15059 0 2
-D 0 15057 3 2           Cell Door
-D 0 15058 1 2
-*
-S
-$
diff -uNpr ./circle-3.1-old/lib/world/zon/index ./circle-3.1/lib/world/zon/index
--- ./circle-3.1-old/lib/world/zon/index	2001-05-18 12:12:58.000000000 -0700
+++ ./circle-3.1/lib/world/zon/index	2003-01-02 14:39:51.000000000 -0800
@@ -1,32 +1,31 @@
-0.zon
-9.zon
-12.zon
-15.zon
-25.zon
-30.zon
-31.zon
-33.zon
-35.zon
-36.zon
-40.zon
-50.zon
-51.zon
-52.zon
-53.zon
-54.zon
-60.zon
-61.zon
-62.zon
-63.zon
-64.zon
-65.zon
-70.zon
-71.zon
-72.zon
-73.zon
-79.zon
-120.zon
-150.zon
-186.zon
-$
-
+0.zon
+9.zon
+12.zon
+15.zon
+25.zon
+30.zon
+31.zon
+33.zon
+35.zon
+36.zon
+40.zon
+50.zon
+51.zon
+52.zon
+53.zon
+54.zon
+60.zon
+61.zon
+62.zon
+63.zon
+64.zon
+65.zon
+70.zon
+71.zon
+72.zon
+73.zon
+79.zon
+120.zon
+186.zon
+$
+
diff -uNpr ./circle-3.1-old/src/castle.c ./circle-3.1/src/castle.c
--- ./circle-3.1-old/src/castle.c	2002-11-17 18:30:48.000000000 -0800
+++ ./circle-3.1/src/castle.c	1969-12-31 16:00:00.000000000 -0800
@@ -1,925 +0,0 @@
-/* ************************************************************************
-*   File: castle.c                                      Part of CircleMUD *
-*  Usage: Special procedures for King's Castle area                       *
-*                                                                         *
-*  All rights reserved.  See license.doc for complete information.        *
-*                                                                         *
-*  Special procedures for Kings Castle by Pjotr (d90-pem@nada.kth.se)     *
-*  Coded by Sapowox (d90-jkr@nada.kth.se)                                 *
-*  CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991.               *
-************************************************************************ */
-
-#include "conf.h"
-#include "sysdep.h"
-
-
-#include "structs.h"
-#include "utils.h"
-#include "comm.h"
-#include "interpreter.h"
-#include "handler.h"
-#include "db.h"
-#include "spells.h"
-
-
-/* IMPORTANT!
-   The below defined number is the zone number of the Kings Castle.
-   Change it to apply to your chosen zone number. The default zone
-   number (On Alex and Alfa) is 80 (That is rooms and mobs have numbers
-   in the 8000 series... */
-
-#define Z_KINGS_C 150
-
-
-/* external variables */
-extern struct time_info_data time_info;
-extern int mini_mud;
-
-/* local functions */
-mob_vnum castle_virtual(mob_vnum offset);
-room_rnum castle_real_room(room_vnum roomoffset);
-struct char_data *find_npc_by_name(struct char_data *chAtChar, const char *pszName, int iLen);
-int block_way(struct char_data *ch, int cmd, char *arg, room_vnum iIn_room, int iProhibited_direction);
-void assign_kings_castle(void);
-int member_of_staff(struct char_data *chChar);
-int member_of_royal_guard(struct char_data *chChar);
-struct char_data *find_guard(struct char_data *chAtChar);
-struct char_data *get_victim(struct char_data *chAtChar);
-int banzaii(struct char_data *ch);
-int do_npc_rescue(struct char_data *ch_hero, struct char_data *ch_victim);
-int is_trash(struct obj_data *i);
-void fry_victim(struct char_data *ch);
-int castle_cleaner(struct char_data *ch, int cmd, int gripe);
-int castle_twin_proc(struct char_data *ch, int cmd, char *arg, int ctlnum, const char *twinname);
-void castle_mob_spec(mob_vnum mobnum, SPECIAL(*specproc));
-
-
-/**********************************************************************\
-|* Special procedures for Kings Castle by Pjotr (d90-pem@nada.kth.se) *|
-|* Coded by Sapowox (d90-jkr@nada.kth.se)                             *|
-\**********************************************************************/
-
-SPECIAL(CastleGuard);
-SPECIAL(James);
-SPECIAL(cleaning);
-SPECIAL(DicknDavid);
-SPECIAL(tim);
-SPECIAL(tom);
-SPECIAL(king_welmar);
-SPECIAL(training_master);
-SPECIAL(peter);
-SPECIAL(jerry);
-SPECIAL(guild);
-ACMD(do_gen_door);
-ACMD(do_follow);
-
-/*
- * Assign castle special procedures.
- *
- * NOTE: The mobile number isn't fully specified. It's only an offset
- *	from the zone's base.
- */
-void castle_mob_spec(mob_vnum mobnum, SPECIAL(*specproc))
-{
-  mob_vnum vmv = castle_virtual(mobnum);
-  mob_rnum rmr = NOBODY;
-
-  if (vmv != NOBODY)
-    rmr = real_mobile(vmv);
-
-  if (rmr == NOBODY) {
-    if (!mini_mud)
-      log("SYSERR: assign_kings_castle(): can't find mob #%d.", vmv);
-  } else
-    mob_index[rmr].func = specproc;
-}
-
-
-mob_vnum castle_virtual(mob_vnum offset)
-{
-  zone_rnum zon;
-
-  if ((zon = real_zone(Z_KINGS_C)) == NOWHERE)
-    return NOBODY;
-
-  return zone_table[zon].bot + offset;
-}
-
-
-room_rnum castle_real_room(room_vnum roomoffset)
-{
-  zone_rnum zon;
-
-  if ((zon = real_zone(Z_KINGS_C)) == NOWHERE)
-    return NOWHERE;
-
-  return real_room(zone_table[zon].bot + roomoffset);
-}
-
-
-/*
- * Routine: assign_kings_castle
- *
- * Used to assign function pointers to all mobiles in the Kings Castle.
- * Called from spec_assign.c.
- */
-void assign_kings_castle(void)
-{
-  castle_mob_spec(0, CastleGuard);	/* Gwydion */
-  /* Added the previous line -- Furry */
-  castle_mob_spec(1, king_welmar);	/* Our dear friend, the King */
-  castle_mob_spec(3, CastleGuard);	/* Jim */
-  castle_mob_spec(4, CastleGuard);	/* Brian */
-  castle_mob_spec(5, CastleGuard);	/* Mick */
-  castle_mob_spec(6, CastleGuard);	/* Matt */
-  castle_mob_spec(7, CastleGuard);	/* Jochem */
-  castle_mob_spec(8, CastleGuard);	/* Anne */
-  castle_mob_spec(9, CastleGuard);	/* Andrew */
-  castle_mob_spec(10, CastleGuard);	/* Bertram */
-  castle_mob_spec(11, CastleGuard);	/* Jeanette */
-  castle_mob_spec(12, peter);		/* Peter */
-  castle_mob_spec(13, training_master);	/* The training master */
-  castle_mob_spec(16, James);		/* James the Butler */
-  castle_mob_spec(17, cleaning);	/* Ze Cleaning Fomen */
-  castle_mob_spec(20, tim);		/* Tim, Tom's twin */
-  castle_mob_spec(21, tom);		/* Tom, Tim's twin */
-  castle_mob_spec(24, DicknDavid);	/* Dick, guard of the
-					 * Treasury */
-  castle_mob_spec(25, DicknDavid);	/* David, Dicks brother */
-  castle_mob_spec(26, jerry);		/* Jerry, the Gambler */
-  castle_mob_spec(27, CastleGuard);	/* Michael */
-  castle_mob_spec(28, CastleGuard);	/* Hans */
-  castle_mob_spec(29, CastleGuard);	/* Boris */
-}
-
-
-/*
- * Routine: member_of_staff
- *
- * Used to see if a character is a member of the castle staff.
- * Used mainly by BANZAI:ng NPC:s.
- */
-int member_of_staff(struct char_data *chChar)
-{
-  int ch_num;
-
-  if (!IS_NPC(chChar))
-    return (FALSE);
-
-  ch_num = GET_MOB_VNUM(chChar);
-
-  if (ch_num == castle_virtual(1))
-    return (TRUE);
-
-  if (ch_num > castle_virtual(2) && ch_num < castle_virtual(15))
-    return (TRUE);
-
-  if (ch_num > castle_virtual(15) && ch_num < castle_virtual(18))
-    return (TRUE);
-
-  if (ch_num > castle_virtual(18) && ch_num < castle_virtual(30))
-    return (TRUE);
-
-  return (FALSE);
-}
-
-
-/*
- * Function: member_of_royal_guard
- *
- * Returns TRUE if the character is a guard on duty, otherwise FALSE.
- * Used by Peter the captain of the royal guard.
- */
-int member_of_royal_guard(struct char_data *chChar)
-{
-  int ch_num;
-
-  if (!chChar || !IS_NPC(chChar))
-    return (FALSE);
-
-  ch_num = GET_MOB_VNUM(chChar);
-
-  if (ch_num == castle_virtual(3) || ch_num == castle_virtual(6))
-    return (TRUE);
-
-  if (ch_num > castle_virtual(7) && ch_num < castle_virtual(12))
-    return (TRUE);
-
-  if (ch_num > castle_virtual(23) && ch_num < castle_virtual(26))
-    return (TRUE);
-
-  return (FALSE);
-}
-
-
-/*
- * Function: find_npc_by_name
- *
- * Returns a pointer to an npc by the given name.
- * Used by Tim and Tom
- */
-struct char_data *find_npc_by_name(struct char_data *chAtChar,
-		const char *pszName, int iLen)
-{
-  struct char_data *ch;
-
-  for (ch = world[IN_ROOM(chAtChar)].people; ch; ch = ch->next_in_room)
-    if (IS_NPC(ch) && !strncmp(pszName, ch->player.short_descr, iLen))
-      return (ch);
-
-  return (NULL);
-}
-
-
-/*
- * Function: find_guard
- *
- * Returns the pointer to a guard on duty.
- * Used by Peter the Captain of the Royal Guard
- */
-struct char_data *find_guard(struct char_data *chAtChar)
-{
-  struct char_data *ch;
-
-  for (ch = world[IN_ROOM(chAtChar)].people; ch; ch = ch->next_in_room)
-    if (!FIGHTING(ch) && member_of_royal_guard(ch))
-      return (ch);
-
-  return (NULL);
-}
-
-
-/*
- * Function: get_victim
- *
- * Returns a pointer to a randomly chosen character in the same room,
- * fighting someone in the castle staff...
- * Used by BANZAII-ing characters and King Welmar...
- */
-struct char_data *get_victim(struct char_data *chAtChar)
-{
-  struct char_data *ch;
-  int iNum_bad_guys = 0, iVictim;
-
-  for (ch = world[IN_ROOM(chAtChar)].people; ch; ch = ch->next_in_room)
-    if (FIGHTING(ch) && member_of_staff(FIGHTING(ch)))
-      iNum_bad_guys++;
-
-  if (!iNum_bad_guys)
-    return (NULL);
-
-  iVictim = rand_number(0, iNum_bad_guys);	/* How nice, we give them a chance */
-  if (!iVictim)
-    return (NULL);
-
-  iNum_bad_guys = 0;
-
-  for (ch = world[IN_ROOM(chAtChar)].people; ch; ch = ch->next_in_room) {
-    if (FIGHTING(ch) == NULL)
-      continue;
-
-    if (!member_of_staff(FIGHTING(ch)))
-      continue;
-
-    if (++iNum_bad_guys != iVictim)
-      continue;
-
-    return (ch);
-  }
-
-  return (NULL);
-}
-
-
-/*
- * Function: banzaii
- *
- * Makes a character banzaii on attackers of the castle staff.
- * Used by Guards, Tim, Tom, Dick, David, Peter, Master, King and Guards.
- */
-int banzaii(struct char_data *ch)
-{
-  struct char_data *chOpponent;
-
-  if (!AWAKE(ch) || GET_POS(ch) == POS_FIGHTING || !(chOpponent = get_victim(ch)))
-    return (FALSE);
-
-  act("$n roars: 'Protect the Kingdom of Great King Welmar!  BANZAIIII!!!'",
-	FALSE, ch, 0, 0, TO_ROOM);
-  hit(ch, chOpponent, TYPE_UNDEFINED);
-  return (TRUE);
-}
-
-
-/*
- * Function: do_npc_rescue
- *
- * Makes ch_hero rescue ch_victim.
- * Used by Tim and Tom
- */
-int do_npc_rescue(struct char_data *ch_hero, struct char_data *ch_victim)
-{
-  struct char_data *ch_bad_guy;
-
-  for (ch_bad_guy = world[IN_ROOM(ch_hero)].people;
-       ch_bad_guy && (FIGHTING(ch_bad_guy) != ch_victim);
-       ch_bad_guy = ch_bad_guy->next_in_room);
-
-  /* NO WAY I'll rescue the one I'm fighting! */
-  if (!ch_bad_guy || ch_bad_guy == ch_hero)
-    return (FALSE);
-
-  act("You bravely rescue $N.\r\n", FALSE, ch_hero, 0, ch_victim, TO_CHAR);
-  act("You are rescued by $N, your loyal friend!\r\n",
-	FALSE, ch_victim, 0, ch_hero, TO_CHAR);
-  act("$n heroically rescues $N.", FALSE, ch_hero, 0, ch_victim, TO_NOTVICT);
-
-  if (FIGHTING(ch_bad_guy))
-    stop_fighting(ch_bad_guy);
-  if (FIGHTING(ch_hero))
-    stop_fighting(ch_hero);
-
-  set_fighting(ch_hero, ch_bad_guy);
-  set_fighting(ch_bad_guy, ch_hero);
-  return (TRUE);
-}
-
-
-/*
- * Procedure to block a person trying to enter a room.
- * Used by Tim/Tom at Kings bedroom and Dick/David at treasury.
- */
-int block_way(struct char_data *ch, int cmd, char *arg, room_vnum iIn_room,
-	          int iProhibited_direction)
-{
-  if (cmd != ++iProhibited_direction)
-    return (FALSE);
-
-  if (ch->player.short_descr && !strncmp(ch->player.short_descr, "King Welmar", 11))
-    return (FALSE);
-
-  if (IN_ROOM(ch) != real_room(iIn_room))
-    return (FALSE);
-
-  if (!member_of_staff(ch))
-    act("The guard roars at $n and pushes $m back.", FALSE, ch, 0, 0, TO_ROOM);
-
-  send_to_char(ch, "The guard roars: 'Entrance is Prohibited!', and pushes you back.\r\n");
-  return (TRUE);
-}
-
-
-/*
- * Routine to check if an object is trash...
- * Used by James the Butler and the Cleaning Lady.
- */
-int is_trash(struct obj_data *i)
-{
-  if (!OBJWEAR_FLAGGED(i, ITEM_WEAR_TAKE))
-    return (FALSE);
-
-  if (GET_OBJ_TYPE(i) == ITEM_DRINKCON || GET_OBJ_COST(i) <= 10)
-    return (TRUE);
-
-  return (FALSE);
-}
-
-
-/*
- * Function: fry_victim
- *
- * Finds a suitabe victim, and cast some _NASTY_ spell on him.
- * Used by King Welmar
- */
-void fry_victim(struct char_data *ch)
-{
-  struct char_data *tch;
-
-  if (ch->points.mana < 10)
-    return;
-
-  /* Find someone suitable to fry ! */
-  if (!(tch = get_victim(ch)))
-    return;
-
-  switch (rand_number(0, 8)) {
-  case 1:
-  case 2:
-  case 3:
-    send_to_char(ch, "You raise your hand in a dramatical gesture.\r\n");
-    act("$n raises $s hand in a dramatical gesture.", 1, ch, 0, 0, TO_ROOM);
-    cast_spell(ch, tch, 0, SPELL_COLOR_SPRAY);
-    break;
-  case 4:
-  case 5:
-    send_to_char(ch, "You concentrate and mumble to yourself.\r\n");
-    act("$n concentrates, and mumbles to $mself.", 1, ch, 0, 0, TO_ROOM);
-    cast_spell(ch, tch, 0, SPELL_HARM);
-    break;
-  case 6:
-  case 7:
-    act("You look deeply into the eyes of $N.", 1, ch, 0, tch, TO_CHAR);
-    act("$n looks deeply into the eyes of $N.", 1, ch, 0, tch, TO_NOTVICT);
-    act("You see an ill-boding flame in the eye of $n.", 1, ch, 0, tch, TO_VICT);
-    cast_spell(ch, tch, 0, SPELL_FIREBALL);
-    break;
-  default:
-    if (!rand_number(0, 1))
-      cast_spell(ch, ch, 0, SPELL_HEAL);
-    break;
-  }
-
-  ch->points.mana -= 10;
-
-  return;
-}
-
-
-/*
- * Function: king_welmar
- *
- * Control the actions and movements of the King.
- * Used by King Welmar.
- */
-SPECIAL(king_welmar)
-{
-  char actbuf[MAX_INPUT_LENGTH];
-
-  const char *monolog[] = {
-    "$n proclaims 'Primus in regnis Geticis coronam'.",
-    "$n proclaims 'regiam gessi, subiique regis'.",
-    "$n proclaims 'munus et mores colui sereno'.",
-    "$n proclaims 'principe dignos'."
-  };
-
-  const char bedroom_path[] = "s33004o1c1S.";
-  const char throne_path[] = "W3o3cG52211rg.";
-  const char monolog_path[] = "ABCDPPPP.";
-
-  static const char *path;
-  static int path_index;
-  static bool move = FALSE;
-
-  if (!move) {
-    if (time_info.hours == 8 && IN_ROOM(ch) == castle_real_room(51)) {
-      move = TRUE;
-      path = throne_path;
-      path_index = 0;
-    } else if (time_info.hours == 21 && IN_ROOM(ch) == castle_real_room(17)) {
-      move = TRUE;
-      path = bedroom_path;
-      path_index = 0;
-    } else if (time_info.hours == 12 && IN_ROOM(ch) == castle_real_room(17)) {
-      move = TRUE;
-      path = monolog_path;
-      path_index = 0;
-    }
-  }
-  if (cmd || (GET_POS(ch) < POS_SLEEPING) ||
-      (GET_POS(ch) == POS_SLEEPING && !move))
-    return (FALSE);
-
-  if (GET_POS(ch) == POS_FIGHTING) {
-    fry_victim(ch);
-    return (FALSE);
-  } else if (banzaii(ch))
-    return (FALSE);
-
-  if (!move)
-    return (FALSE);
-
-  switch (path[path_index]) {
-  case '0':
-  case '1':
-  case '2':
-  case '3':
-  case '4':
-  case '5':
-    perform_move(ch, path[path_index] - '0', 1);
-    break;
-
-  case 'A':
-  case 'B':
-  case 'C':
-  case 'D':
-    act(monolog[path[path_index] - 'A'], FALSE, ch, 0, 0, TO_ROOM);
-    break;
-
-  case 'P':
-    break;
-
-  case 'W':
-    GET_POS(ch) = POS_STANDING;
-    act("$n awakens and stands up.", FALSE, ch, 0, 0, TO_ROOM);
-    break;
-
-  case 'S':
-    GET_POS(ch) = POS_SLEEPING;
-    act("$n lies down on $s beautiful bed and instantly falls asleep.", FALSE, ch, 0, 0, TO_ROOM);
-    break;
-
-  case 'r':
-    GET_POS(ch) = POS_SITTING;
-    act("$n sits down on $s great throne.", FALSE, ch, 0, 0, TO_ROOM);
-    break;
-
-  case 's':
-    GET_POS(ch) = POS_STANDING;
-    act("$n stands up.", FALSE, ch, 0, 0, TO_ROOM);
-    break;
-
-  case 'G':
-    act("$n says 'Good morning, trusted friends.'", FALSE, ch, 0, 0, TO_ROOM);
-    break;
-
-  case 'g':
-    act("$n says 'Good morning, dear subjects.'", FALSE, ch, 0, 0, TO_ROOM);
-    break;
-
-  case 'o':
-    do_gen_door(ch, strcpy(actbuf, "door"), 0, SCMD_UNLOCK);	/* strcpy: OK */
-    do_gen_door(ch, strcpy(actbuf, "door"), 0, SCMD_OPEN);	/* strcpy: OK */
-    break;
-
-  case 'c':
-    do_gen_door(ch, strcpy(actbuf, "door"), 0, SCMD_CLOSE);	/* strcpy: OK */
-    do_gen_door(ch, strcpy(actbuf, "door"), 0, SCMD_LOCK);	/* strcpy: OK */
-    break;
-
-  case '.':
-    move = FALSE;
-    break;
-  }
-
-  path_index++;
-  return (FALSE);
-}
-
-
-/*
- * Function: training_master
- *
- * Acts actions to the training room, if his students are present.
- * Also allowes warrior-class to practice.
- * Used by the Training Master.
- */
-SPECIAL(training_master)
-{
-  struct char_data *pupil1, *pupil2 = NULL, *tch;
-
-  if (!AWAKE(ch) || (GET_POS(ch) == POS_FIGHTING))
-    return (FALSE);
-
-  if (cmd)
-    return (FALSE);
-
-  if (banzaii(ch) || rand_number(0, 2))
-    return (FALSE);
-
-  if (!(pupil1 = find_npc_by_name(ch, "Brian", 5)))
-    return (FALSE);
-
-  if (!(pupil2 = find_npc_by_name(ch, "Mick", 4)))
-    return (FALSE);
-
-  if (FIGHTING(pupil1) || FIGHTING(pupil2))
-    return (FALSE);
-
-  if (rand_number(0, 1)) {
-    tch = pupil1;
-    pupil1 = pupil2;
-    pupil2 = tch;
-  }
-
-  switch (rand_number(0, 7)) {
-  case 0:
-    act("$n hits $N on $s head with a powerful blow.", FALSE, pupil1, 0, pupil2, TO_NOTVICT);
-    act("You hit $N on $s head with a powerful blow.", FALSE, pupil1, 0, pupil2, TO_CHAR);
-    act("$n hits you on your head with a powerful blow.", FALSE, pupil1, 0, pupil2, TO_VICT);
-    break;
-
-  case 1:
-    act("$n hits $N in $s chest with a thrust.", FALSE, pupil1, 0, pupil2, TO_NOTVICT);
-    act("You manage to thrust $N in the chest.", FALSE, pupil1, 0, pupil2, TO_CHAR);
-    act("$n manages to thrust you in your chest.", FALSE, pupil1, 0, pupil2, TO_VICT);
-    break;
-
-  case 2:
-    send_to_char(ch, "You command your pupils to bow.\r\n");
-    act("$n commands $s pupils to bow.", FALSE, ch, 0, 0, TO_ROOM);
-    act("$n bows before $N.", FALSE, pupil1, 0, pupil2, TO_NOTVICT);
-    act("$N bows before $n.", FALSE, pupil1, 0, pupil2, TO_NOTVICT);
-    act("You bow before $N, who returns your gesture.", FALSE, pupil1, 0, pupil2, TO_CHAR);
-    act("You bow before $n, who returns your gesture.", FALSE, pupil1, 0, pupil2, TO_VICT);
-    break;
-
-  case 3:
-    act("$N yells at $n, as he fumbles and drops $s sword.", FALSE, pupil1, 0, ch, TO_NOTVICT);
-    act("$n quickly picks up $s weapon.", FALSE, pupil1, 0, 0, TO_ROOM);
-    act("$N yells at you, as you fumble, losing your weapon.", FALSE, pupil1, 0, ch, TO_CHAR);
-    send_to_char(pupil1, "You quickly pick up your weapon again.\r\n");
-    act("You yell at $n, as he fumbles, losing $s weapon.", FALSE, pupil1, 0, ch, TO_VICT);
-    break;
-
-  case 4:
-    act("$N tricks $n, and slashes him across the back.", FALSE, pupil1, 0, pupil2, TO_NOTVICT);
-    act("$N tricks you, and slashes you across your back.", FALSE, pupil1, 0, pupil2, TO_CHAR);
-    act("You trick $n, and quickly slash him across $s back.", FALSE, pupil1, 0, pupil2, TO_VICT);
-    break;
-
-  case 5:
-    act("$n lunges a blow at $N but $N parries skillfully.", FALSE, pupil1, 0, pupil2, TO_NOTVICT);
-    act("You lunge a blow at $N but $E parries skillfully.", FALSE, pupil1, 0, pupil2, TO_CHAR);
-    act("$n lunges a blow at you, but you skillfully parry it.", FALSE, pupil1, 0, pupil2, TO_VICT);
-    break;
-
-  case 6:
-    act("$n clumsily tries to kick $N, but misses.", FALSE, pupil1, 0, pupil2, TO_NOTVICT);
-    act("You clumsily miss $N with your poor excuse for a kick.", FALSE, pupil1, 0, pupil2, TO_CHAR);
-    act("$n fails an unusually clumsy attempt at kicking you.", FALSE, pupil1, 0, pupil2, TO_VICT);
-    break;
-
-  default:
-    send_to_char(ch, "You show your pupils an advanced technique.\r\n");
-    act("$n shows $s pupils an advanced technique.", FALSE, ch, 0, 0, TO_ROOM);
-    break;
-  }
-
-  return (FALSE);
-}
-
-
-SPECIAL(tom)
-{
-  return castle_twin_proc(ch, cmd, argument, 48, "Tim");
-}
-
-SPECIAL(tim)
-{
-  return castle_twin_proc(ch, cmd, argument, 49, "Tom");
-}
-
-/*
- * Common routine for the Castle Twins.
- */
-int castle_twin_proc(struct char_data *ch, int cmd, char *arg, int ctlnum, const char *twinname)
-{
-  struct char_data *king, *twin;
-
-  if (!AWAKE(ch))
-    return (FALSE);
-
-  if (cmd)
-    return block_way(ch, cmd, arg, castle_virtual(ctlnum), 1);
-
-  if ((king = find_npc_by_name(ch, "King Welmar", 11)) != NULL) {
-    char actbuf[MAX_INPUT_LENGTH];
-
-    if (!ch->master)
-      do_follow(ch, strcpy(actbuf, "King Welmar"), 0, 0);	/* strcpy: OK */
-    if (FIGHTING(king))
-      do_npc_rescue(ch, king);
-  }
-
-  if ((twin = find_npc_by_name(ch, twinname, strlen(twinname))) != NULL)
-    if (FIGHTING(twin) && 2 * GET_HIT(twin) < GET_HIT(ch))
-      do_npc_rescue(ch, twin);
-
-  if (GET_POS(ch) != POS_FIGHTING)
-    banzaii(ch);
-
-  return (FALSE);
-}
-
-
-/*
- * Routine for James the Butler.
- * Complains if he finds any trash...
- *
- * This doesn't make sure he _can_ carry it...
- */
-SPECIAL(James)
-{
-  return castle_cleaner(ch, cmd, TRUE);
-}
-
-/*
- * Common code for James and the Cleaning Woman.
- */
-int castle_cleaner(struct char_data *ch, int cmd, int gripe)
-{
-  struct obj_data *i;
-
-  if (cmd || !AWAKE(ch) || GET_POS(ch) == POS_FIGHTING)
-    return (FALSE);
-
-  for (i = world[IN_ROOM(ch)].contents; i; i = i->next_content) {
-    if (!is_trash(i))
-      continue;
-
-    if (gripe) {
-      act("$n says: 'My oh my!  I ought to fire that lazy cleaning woman!'",
-          FALSE, ch, 0, 0, TO_ROOM);
-      act("$n picks up a piece of trash.", FALSE, ch, 0, 0, TO_ROOM);
-    }
-    obj_from_room(i);
-    obj_to_char(i, ch);
-    return (TRUE);
-  }
-
-  return (FALSE);
-}
-
-
-/*
- * Routine for the Cleaning Woman.
- * Picks up any trash she finds...
- */
-SPECIAL(cleaning)
-{
-  return castle_cleaner(ch, cmd, FALSE);
-}
-
-
-/*
- * Routine: CastleGuard
- *
- * Standard routine for ordinary castle guards.
- */
-SPECIAL(CastleGuard)
-{
-  if (cmd || !AWAKE(ch) || (GET_POS(ch) == POS_FIGHTING))
-    return (FALSE);
-
-  return (banzaii(ch));
-}
-
-
-/*
- * Routine: DicknDave
- *
- * Routine for the guards Dick and David.
- */
-SPECIAL(DicknDavid)
-{
-  if (!AWAKE(ch))
-    return (FALSE);
-
-  if (!cmd && GET_POS(ch) != POS_FIGHTING)
-    banzaii(ch);
-
-  return (block_way(ch, cmd, argument, castle_virtual(36), 1));
-}
-
-
-/*
- * Routine: peter
- * Routine for Captain of the Guards.
- */
-SPECIAL(peter)
-{
-  struct char_data *ch_guard = NULL;
-
-  if (cmd || !AWAKE(ch) || GET_POS(ch) == POS_FIGHTING)
-    return (FALSE);
-
-  if (banzaii(ch))
-    return (FALSE);
-
-  if (!(rand_number(0, 3)) && (ch_guard = find_guard(ch)))
-    switch (rand_number(0, 5)) {
-    case 0:
-      act("$N comes sharply into attention as $n inspects $M.",
-	  FALSE, ch, 0, ch_guard, TO_NOTVICT);
-      act("$N comes sharply into attention as you inspect $M.",
-	  FALSE, ch, 0, ch_guard, TO_CHAR);
-      act("You go sharply into attention as $n inspects you.",
-	  FALSE, ch, 0, ch_guard, TO_VICT);
-      break;
-    case 1:
-      act("$N looks very small, as $n roars at $M.",
-	  FALSE, ch, 0, ch_guard, TO_NOTVICT);
-      act("$N looks very small as you roar at $M.",
-	  FALSE, ch, 0, ch_guard, TO_CHAR);
-      act("You feel very small as $N roars at you.",
-	  FALSE, ch, 0, ch_guard, TO_VICT);
-      break;
-    case 2:
-      act("$n gives $N some Royal directions.",
-	  FALSE, ch, 0, ch_guard, TO_NOTVICT);
-      act("You give $N some Royal directions.",
-	  FALSE, ch, 0, ch_guard, TO_CHAR);
-      act("$n gives you some Royal directions.",
-	  FALSE, ch, 0, ch_guard, TO_VICT);
-      break;
-    case 3:
-      act("$n looks at you.", FALSE, ch, 0, ch_guard, TO_VICT);
-      act("$n looks at $N.", FALSE, ch, 0, ch_guard, TO_NOTVICT);
-      act("$n growls: 'Those boots need polishing!'",
-	  FALSE, ch, 0, ch_guard, TO_ROOM);
-      act("You growl at $N.", FALSE, ch, 0, ch_guard, TO_CHAR);
-      break;
-    case 4:
-      act("$n looks at you.", FALSE, ch, 0, ch_guard, TO_VICT);
-      act("$n looks at $N.", FALSE, ch, 0, ch_guard, TO_NOTVICT);
-      act("$n growls: 'Straighten that collar!'",
-	  FALSE, ch, 0, ch_guard, TO_ROOM);
-      act("You growl at $N.", FALSE, ch, 0, ch_guard, TO_CHAR);
-      break;
-    default:
-      act("$n looks at you.", FALSE, ch, 0, ch_guard, TO_VICT);
-      act("$n looks at $N.", FALSE, ch, 0, ch_guard, TO_NOTVICT);
-      act("$n growls: 'That chain mail looks rusty!  CLEAN IT !!!'",
-	  FALSE, ch, 0, ch_guard, TO_ROOM);
-      act("You growl at $N.", FALSE, ch, 0, ch_guard, TO_CHAR);
-      break;
-    }
-
-  return (FALSE);
-}
-
-
-/*
- * Procedure for Jerry and Michael in x08 of King's Castle.
- * Code by Sapowox modified by Pjotr.(Original code from Master)
- */
-SPECIAL(jerry)
-{
-  struct char_data *gambler1, *gambler2 = NULL, *tch;
-
-  if (!AWAKE(ch) || (GET_POS(ch) == POS_FIGHTING))
-    return (FALSE);
-
-  if (cmd)
-    return (FALSE);
-
-  if (banzaii(ch) || rand_number(0, 2))
-    return (FALSE);
-
-  if (!(gambler1 = ch))
-    return (FALSE);
-
-  if (!(gambler2 = find_npc_by_name(ch, "Michael", 7)))
-    return (FALSE);
-
-  if (FIGHTING(gambler1) || FIGHTING(gambler2))
-    return (FALSE);
-
-  if (rand_number(0, 1)) {
-    tch = gambler1;
-    gambler1 = gambler2;
-    gambler2 = tch;
-  }
-
-  switch (rand_number(0, 5)) {
-  case 0:
-    act("$n rolls the dice and cheers loudly at the result.",
-	    FALSE, gambler1, 0, gambler2, TO_NOTVICT);
-    act("You roll the dice and cheer. GREAT!",
-	    FALSE, gambler1, 0, gambler2, TO_CHAR);
-    act("$n cheers loudly as $e rolls the dice.",
-	    FALSE, gambler1, 0, gambler2, TO_VICT);
-    break;
-  case 1:
-    act("$n curses the Goddess of Luck roundly as he sees $N's roll.",
-	    FALSE, gambler1, 0, gambler2, TO_NOTVICT);
-    act("You curse the Goddess of Luck as $N rolls.",
-	    FALSE, gambler1, 0, gambler2, TO_CHAR);
-    act("$n swears angrily. You are in luck!",
-	    FALSE, gambler1, 0, gambler2, TO_VICT);
-    break;
-  case 2:
-    act("$n sighs loudly and gives $N some gold.",
-	    FALSE, gambler1, 0, gambler2, TO_NOTVICT);
-    act("You sigh loudly at the pain of having to give $N some gold.",
-	    FALSE, gambler1, 0, gambler2, TO_CHAR);
-    act("$n sighs loudly as $e gives you your rightful win.",
-	    FALSE, gambler1, 0, gambler2, TO_VICT);
-    break;
-  case 3:
-    act("$n smiles remorsefully as $N's roll tops $s.",
-	    FALSE, gambler1, 0, gambler2, TO_NOTVICT);
-    act("You smile sadly as you see that $N beats you. Again.",
-	    FALSE, gambler1, 0, gambler2, TO_CHAR);
-    act("$n smiles remorsefully as your roll tops $s.",
-	    FALSE, gambler1, 0, gambler2, TO_VICT);
-    break;
-  case 4:
-    act("$n excitedly follows the dice with $s eyes.",
-	    FALSE, gambler1, 0, gambler2, TO_NOTVICT);
-    act("You excitedly follow the dice with your eyes.",
-	    FALSE, gambler1, 0, gambler2, TO_CHAR);
-    act("$n excitedly follows the dice with $s eyes.",
-	    FALSE, gambler1, 0, gambler2, TO_VICT);
-    break;
-  default:
-    act("$n says 'Well, my luck has to change soon', as he shakes the dice.",
-	    FALSE, gambler1, 0, gambler2, TO_NOTVICT);
-    act("You say 'Well, my luck has to change soon' and shake the dice.",
-	    FALSE, gambler1, 0, gambler2, TO_CHAR);
-    act("$n says 'Well, my luck has to change soon', as he shakes the dice.",
-	    FALSE, gambler1, 0, gambler2, TO_VICT);
-    break;
-  }
-  return (FALSE);
-}
diff -uNpr ./circle-3.1-old/src/spec_assign.c ./circle-3.1/src/spec_assign.c
--- ./circle-3.1-old/src/spec_assign.c	2001-12-04 04:22:54.000000000 -0800
+++ ./circle-3.1/src/spec_assign.c	2003-01-02 14:36:22.000000000 -0800
@@ -39,7 +39,6 @@ SPECIAL(thief);
 SPECIAL(magic_user);
 SPECIAL(bank);
 SPECIAL(gen_board);
-void assign_kings_castle(void);
 
 /* local functions */
 void assign_mobiles(void);
@@ -89,7 +88,6 @@ void ASSIGNROOM(room_vnum room, SPECIAL(
 /* assign special procedures to mobiles */
 void assign_mobiles(void)
 {
-  assign_kings_castle();
 
   ASSIGNMOB(1, puff);
 
@@ -265,9 +263,6 @@ void assign_mobiles(void)
   ASSIGNMOB(12031, magic_user);
   ASSIGNMOB(12032, magic_user);
 
-  /* King Welmar's Castle (not covered in castle.c) */
-  ASSIGNMOB(15015, thief);      /* Ergan... have a better idea? */
-  ASSIGNMOB(15032, magic_user); /* Pit Fiend, have something better?  Use it */
 
   /* DWARVEN KINGDOM */
   ASSIGNMOB(6500, cityguard);
