Dragon station with rooms, NPCs, and objects

Now we will add the objects we have built to the zone from the previous chapter. This is still not complete while it does compile and you can log into your zone, you still have to load your NPCs and objects but they do not load themselves and they are not dressed with their armour. This will be taken care of in the chapter called The reset section and you will finally have a finished zone. The following is the source file so far.


#include <composed.h>
%zone dragonst
lifespan 20
reset RESET_ANYHOW
creators {"whistler"}

notes
"This is the dragon station I shortened it to dragonst for ease in
loading.  If you have  any questions email me at whistler@valhalla.com"

help
"Not sure what could help you now.  You are stuck on one of the
weirdest space stations you have ever seen and you smell burning
sulfur."

%rooms

chamber
title "The middle chamber of the station"
descr
"This chamber seems to have the entire station rotating around it.  It 
is
unbelievably large the ceiling seems to be a good 200 meters high and
the room is perfectly cubic. Small human size ornate chairs with dragon
designs scrawled on the arms and back are arranged in a triangle like
setting with one large chair at the front.  This must be where all
station meetings are held. Large pictures cover the walls depicting
dragons in all kinds of situations.  Large passages lead off to the west
and the east."

extra {"chair","chairs"}
"The chairs are made of some metal you don't recognize and every inch 
is covered
with some kind of dragon."

extra  {"dragon picture","picture"}
"Thousands of dragons dot the skies of this rather life like picture.  
In the
center you see something move.  It looks to be a little green dragon."

extra{"green dragon","dragon","green"}
"An intelligent looking dragon is sitting perched on a large chair 
watching you."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}


west to disposal_room descr
"You see a small room.";

east to hallway descr
"You see what looks to be a hallway.";

end

hallway
title "Module tunnel"
descr "The hallway is about 50 meters long and around 100 meters from
side to side and top to bottom.  The hallway seems to be dust free.  
The
walls and the floors seem to be made out of the same sterile
metal-plastic that all space agencies uses.  There are large plate 
glass
windows that open up into space.  The hallway is filled with a dim 
light
that seems to come from everywhere yet no where all at once.  You 
notice
a glimmer of bright light coming from the windows.  To the east you see
an air lock and to the west the hallway opens up into a larger room."

extra {"windows","window"}
"Your eyes are drawn to a large ship lit up with running lights sitting
about 1 kilometer from the station."

extra{"floor","walls","wall"}
"Well what can be said it looks to be in perfect condition.  what else 
would
you want to know?"

extra {"large ship" ,"ship"}
"The ship looks really big and is shaped like a dragon.  The scales
sparkle and seem to be multiple colors."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

west to chamber descr
"The hallway opens up into a chamber."; 

east to office descr
"You see what looks to be an office."
keyword {"air lock door","air lock","door"}
open {EX_OPEN_CLOSE, EX_CLOSED};

end

office
title "The station office"
descr
"Large paintings fill the walls of this part of the station.  The room
is as large as the other rooms big enough for Dragons to lounge while
still having a desk in one corner small enough for a humanoid.  The
floor along the north wall is lined with some kind of fabric and seems 
very
soft to walk on, it may be some kind of dragon lounge judging by how 
large an
area it covers.  There is a passage to the west."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

extra {"paintings","painting"}
"The paintings are of many dragons and riders in all kinds of tasks 
from
combat to look out.  All the figures seem to be staring at a staff
being held by a depiction of a wizard on the south wall."

extra {"wizard","staff"}
"The wizard has his hand stretched out and it seems there is a place
you can almost grab the staff. Maybe if you searched the staff you 
would
find it."

extra {"desk"}
"It's a desk alright but there doesn't seem to be any drawers and it
seems totally empty."

extra{"fabric"}
"Wussshhhhh you bound across the comfortable floor wasn't that fun."

west to hallway descr
"You see what looks to be a hallway."
keyword {"air lock door","air lock","door"}
open {EX_OPEN_CLOSE, EX_CLOSED};

SECRET_DOOR_DIFFICULTY(SOUTH, 50)
south to portal_room descr
"You see what looks to be a portal room."
keyword {"air lock door","air lock","staff","door"}
key nokey
open {EX_OPEN_CLOSE, EX_CLOSED,EX_LOCKED,EX_HIDDEN};

end

portal_room
title "Green field room"
descr
"Like the other rooms on the station this one is large enough for
dragons to comfortably fit in.  The strange thing about this room 
though
is it is totally empty except for a green field right in the center. 
there is a door that leads to another room to the north."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

extra {"green field","field"}
"The field looks to be a green fog shifting and churning as you watch. 
if you are nuts you could probably enter it."

north  to office descr
"You see what looks to be an office."
keyword {"air lock door","air lock","door"}
key nokey
open {EX_OPEN_CLOSE, EX_CLOSED,EX_LOCKED};

//A link to the portal is also here from room_port
end

ship_port
names{"green field", "field"}
title "Green field"
descr
"Green Mist swirls about you."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

in ship

dilcopy force_move@function(
//Time to activation
4,
//room and act
"portal_room@dragonst!You feel your body dissolving for lack of a 
better
description.&nYou appear on the deck of a ship.",
//True or False for randomizing or not
FALSE);


end                                             

room_port
names{"green field", "field"}
title "Green field"
descr
"Green Mist swirls about you."
movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

in portal_room

dilcopy force_move@function(
//Time to activation
4,
//room and act
"ship@dragonst!You feel your body dissolving for lack of a better
description.&nYou appear on the deck of a ship.",
//True or False for randomizing or not
FALSE);


end

disposal_room
title "Red field room"
descr
"Like the other rooms on the station this one is large enough for
dragons to comfortably fit in.  The strange thing about this room 
though
is it is totally empty except for a red field right in the center. 
there is a door that leads to another room to the east."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

extra {"red field","field"}
"The field looks to be a red fog shifting and churning as you watch. 
if you are nuts you could probably enter it."

east to chamber descr
"You see the main chamber.";

//A link to the portal is also here from dis_port
end

dis_port
names {"red field","field"}
title "Red field"
descr
"Red Mist swirls about you."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}
dilcopy force_move@function(
//how fast to force move in seconds
4,
//room to force move to and act
"deathspace@dragonst!You feel your body dissolving for lack of a better 
description.",
//true or false random move or not
0);
in disposal_room 

end

ship
title "War dragon"
descr
"Blue light softly glows from con duets that line the walls of this 
ship.
The floors beside the east and west wall have what looks to be soft
fabric covering.  The south wall has small controls that seem to be 
made
for humanoids with two small chairs that look to be pilot seats.  view
portals are about 50 meters up the side of the ship on the west and 
east
wall and some kind of electronic screen covers the south wall.  The 
ship
seems to be a one room ship but there is a green field by the north
wall."

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

extra {"view port"}
"Sorry you're not 50 meters tall maybe it is made for a dragon?"

extra {"view screen","screen"}
"It seems to be the pilots view screen but you can't seem to see a way
to turn it on."

extra {"controls","control"}
"The controls are in some weird language and you're afraid if you start
pushing buttons you might rocket in to the station or worse slam into
a planet."

extra {"soft fabric","fabric"}
"It looks to be a dragon lounge area."

//A link to the portal is also here from ship_port
end

deathspace
title"Open space"
descr
"You see the ship and the station far off in the distance and you are 
in Space!"

movement SECT_INSIDE
ALWAYS_LIGHT
flags {UNIT_FL_NO_WEATHER, UNIT_FL_INDOORS}

dilcopy death_room@function (
//how often is damage done 4 would be 1 second
4, 
//damage
400,
//act for the damage.
"You realize to late that was the trash disposal transporter and you 
feel
your lungs explode.");


end

%mobiles

bldragon

title "a black dragon"
descr "A big ugly black dragon is clawing the ground here." 
names {"big ugly black dragon","ugly black dragon","big black dragon",
"black dragon","dragon"}

extra {}
"The black dragons scales glitter like black granite that has been
polished for years by water.  He has a large neck and huge bat like
wings.  his eyes watch you as you stand before him.  One claw seems to 
be
tapping slightly on the ground as if the dragon is waiting for
something."

extra {"eye","eyes"}
"The dragons eyes seem to follow you no matter where you go in the room
nothing seems to escape the dragons attention."

extra {"claws","claw"}
"The claw is big black and it looks very deadly.  It seems like the
dragon has two sets of 4 large claws and 2 sets of 4 smaller claws 
which
to say means the claws are about the size of short swords and long
swords."

extra {"scales","scale"}
"It's a scale!  Haven't you ever seen a dragon before!"

extra {"bat wings","wings"}
"The dragon sees you looking and flaps his wings creating one heck of a
wind blast."

M_DRAGON_BLACK_OLD(SEX_MALE)

end

janitor
names {"ugly janitor", "janitor", "hobgoblin"}
title "an ugly janitor"
descr "an ugly janitor is walking around, cleaning up."

extra{}
"This ugly green thing looks more goblin than hobgoblin but he seems 
intent on
cleaning everything around him."

M_AVG_HOBGOBLIN(6, SEX_MALE)

// he is sort of good for cleaning so much
alignment 900

//give him some money
money 5 IRON_PIECE

dilcopy janitors@function(15);

// only want him cleaning the station
dilcopy wander_zones@function("dragonst", 20, 1, 1);

end

bob

names {"Bob"}
title "Bob"
descr "Bob the Banker is here, sitting behind the counter."
extra {}
"He has a very serious look on his face."

// define from composed.h
M_SHOP_KEEPER(4, SEX_MALE, RACE_HUMAN)

//discourage people from killing banker
exp -500

flags {UNIT_FL_NO_TELEPORT}

special SFUN_BANK
end

%objects

info_board

title "a merchant information board"
descr "A merchant information Board is mounted on a wall here."
names {"merchant information board","information board","merchant
board","board"} extra {} "A large flashy black steal board."

MATERIAL_METAL("A very fine quality black steel")
type ITEM_BOARD
dilcopy board@boards("info","","rem_res@boards","",100);

end

w_stiletto
title "a stiletto"
names {"deadly looking stiletto","deadly stiletto","stiletto", 
"dagger"}
descr "A deadly looking stiletto has been left here."

MATERIAL_METAL("A very fine quality steel")
manipulate {MANIPULATE_TAKE, MANIPULATE_WIELD}
WEAPON_DEF(WPN_DAGGER, 1, 2)
weight 2
cost 2 GOLD_PIECE
rent 1 COPPER_PIECE

SKILL_TRANSFER(SKI_BACKSTAB, 2)
dilcopy abi_restrict@function (ABIL_DEX,10,0,25,"");

extra{}
"This looks like a thief dream come true. "

extra {"$identify"}
"The stiletto looks magical in nature and seems really sharp.  You can
tell if you wield it you would be able to backstab someone really 
easy."

extra{"$improved identify"}
"The stiletto gives you a magic bonus of +1 and has a quality of +2. 
It also raises your back stabbing skill  by 2%.  You have to have at
least 10% in dex before you can wield this magical weapon."

end

wpn_locker

title "a weapons locker"
names {"weapons locker","weapon locker","locker"}

descr "a small weapons locker hangs on the wall here."
manipulate {MANIPULATE_ENTER}
CONTAINER_DEF(500)
open {EX_OPEN_CLOSE, EX_CLOSED,EX_LOCKED}
weight 400
MATERIAL_METAL("A very fine quality steel")

extra {}
"It is an ordinary weapons locker that looks like it holds any illegal
weapons that are taken on the station."

end

pol_plate
names {"polished breast plate","polished plate","breast plate","plate"}
title "a polished breast plate"
descr "A polished breast plate has been left here."
extra{}
"This is one shiny plate it seems to be made out of one perfect piece 
of
metal.  There doesn't even seem to be any markings of owner ship."
manipulate {MANIPULATE_TAKE, MANIPULATE_WEAR_BODY} ARMOUR_PLATE(5,9)

MATERIAL_METAL("A high luster silver colored metal")

manipulate {MANIPULATE_TAKE, MANIPULATE_WEAR_BODY}
ARMOUR_DEF(ARM_PLATE,5,9)
dilcopy abi_restrict@function (ABIL_STR,40,0,25,"");
cost 2 GOLD_PIECE
rent 3 COPPER_PIECE
weight 25

extra{"$identify"}
"This is a high quality plate with a magical feeling."

extra{"$improved identify"}
"The plate has a magical bonus to your defence of a +5 and a quality of
+9. You need 40% in strength to be able to wear it."
end

liq_ration
names {"red bag", "bag", "wine"}
title "a red bag"
descr "A red bag has been gently placed here."

MATERIAL_ORGANIC("a soft plastic")
manipulate {MANIPULATE_TAKE}

LIQ_WINE(1,2,2,0)
cost 2 IRON_PIECE
extra {}
"A small label reads Tassel Grove's finest.  Year 321"

extra {"$identify"}
"It's the special wine from Tassel grove a small halfling village on the
planet Valhalla.  It seems like a great vintage wine."

end

beef_stick

title "a tough leathery stick"
descr "A tough leathery looking stick is laying here."
names {"tough leathery stick","tough leather stick","leathery stick",
"leather stick","tough stick","stick"}

extra {}
"This has the word BEEF burnt into it."

manipulate {MANIPULATE_TAKE}
FOOD_DEF(5,0)
weight 1
cost 1 COPPER_PIECE
MATERIAL_ORGANIC("tough beef")
end

  maskwa

names {"maskwa platinum ring", "platinum ring","maskwa 
ring","maskwa","ring"}
title "a Maskwa ring"
descr "A Maskwa platinum ring is laying here."
MATERIAL_METAL("Platinum, and other precious metals")
extra {}
"The ring has a large bear head.  Could this be the legendary head of
Maskwa?  Any thing formed with its head on it is said to strengthen the
wearer."
type ITEM_WORN
manipulate {MANIPULATE_TAKE, MANIPULATE_HOLD, MANIPULATE_WEAR_FINGER}
cost 100 COPPER_PIECE
rent 50 IRON_PIECE
weight 1
STR_TRANSFER(+1)
end

%end