Iron Guppy Game Script
This script is for The Iron Guppy. It is written in Dave's Game Script Language for Dave's Text Game Engine.
# The Space Guppy - A text-based adventure game for Dave's Game Engine
# v2.6
# Copyright 2003 David Gauer
# global vars
var room1_lightswitch_on;
var room2_lightswitch_on = 1;
var room3_lightswitch_on;
var room1_trunk_open;
var room2_trunk_open;
var seen_astrolog;
var galley_enemies_alive = 1;
var bridge_enemy_alive = 1;
var gun_state;
var lantern_state;
var topen_noguninv;
var lanternnocell;
var knowaboutcontrol;
var ship_depirated;
var hasweapon;
var haveuselessgun;
var buried;
# start->lookat() is the first object action called by
# the game engine. Use it to start the game.
object start
{
object_description = "The Start of the Game";
action lookat()
{
location = room1;
@
<div align="center"><img src="images/gameGuppyLogo.jpg"></div><br>You are aboard the space-going vessel
<i>The Iron Guppy</i>. You lie awake in your bunk in the darkness. Loud noises have
intruded on your dreams. Something is terribly wrong. Only a few faint sounds come
through the thick metal door to your quarters.
@
}
}
object room1
{
object_description = "Your Quarters";
action lookat()
{
if(room1_lightswitch_on == 0)
{
@
You are in complete darkness. You cannot see anything in your room. You can, however,
feel the [room1->fliplight():lightswitch] on the wall.
@
}
else
{
@
Your quarters are small, but neat and tidy. All of your worldly possesions are here.
Your [room1_desk->lookat():desk] is on the port side of the ship. Your
[room1_trunk->lookat():trunk] and [bunk->lookat():bunk] are on the starboard wall
facing the outside of the ship. To the bow is the
[room1->open_door():door to the aft passageway]. There is a
[room1->fliplight():lightswitch] on the wall next to the door.
@
}
}
action open_door()
{
location = passageway;
@
You open the door and cautiously peer outside. Seeing nothing wrong,
you step into the passageway and close the door to your quarters quietly behind you.
@
}
action fliplight()
{
if(room1_lightswitch_on == 1)
{
@
You turn the light switch off. The darkness fills the room once again. The afterimage of
the room quickly fades from your eyes.
@
room1_lightswitch_on = 0;
}
else
{
@
You turn the light switch on. You wince, but manage to keep your eyes open. Everything
in your room is now bathed in the warm glow of the ceiling light panel.
@
room1_lightswitch_on = 1;
}
}
}
object room1_desk
{
action lookat()
{
@
The desk is wood, one of the few items in the ship made of the bodies of trees. It is pitted
with age and use, but well cared-for. There is an [infopad->lookat():infopad] on the desk and
a long, horizonal [room1_desk->open_drawer():drawer].
@
}
action open_drawer()
{
if(inv_penknife == 1)
{
@
The drawer opens smoothly. It is empty.
@
}
else
{
@
The drawer opens quietly. Inside is a [penknife->lookat():penknife] and the smell of old wood.
@
}
}
}
object penknife
{
object_description = "Penknife";
is_inv_item;
action lookat()
{
if(inv_penknife == 1)
{
@
The penknife is just a bit longer than your index finger. Its scales are made from the shell of a
rare mullosk that lives on Ghrabir, a planet in the very outer spiral of the galaxy. The bolsters
and blade are both an opaque glass composite and very hard. It is quite sharp and very old.
@
}
else
{
@
The penknife is no longer than your index finger. Its scales are made from the shell of a rare
mullosk that lives on Ghrabir, a planet in the very outer spiral of the galaxy. The bolsters
and blade are both an opaque glass composite and very hard. It is quite sharp and very old.
You can [penknife->take():take] the knife.
@
}
}
action take()
{
inv_penknife = 1;
hasweapon = 1;
@
You pocket the penknife.
@
}
}
object infopad
{
action lookat()
{
@
The infopad is a simple device. It stores and retrieves information. It absorbs kinetic energy
and uses so little of it that it can run virtually forever without needing to be turned off. This
particular infopad is on and displaying a menu:<br>
-------------<br>
[infopad->show_manifest():Manifest]<br>
[infopad->show_log():Crew Member Log]<br>
[infopad->show_notes():Notes]
@
}
action show_manifest()
{
@
<i>The manifest contains information about the items contained on the ship. It is continually
updated as</i> The Iron Guppy <i>goes about its ore mining duties. Currently, the manifest
lists all of the food, the three crewmembers, various supplies, and mined cargo aboard
the vessel. You glance over the list breifly. Everything is as you last remember it.</i><br>
-------------<br>
[infopad->lookat():Main Menu]
@
}
action show_log()
{
@
<i>The crewmember log for The Iron Guppy is brief, since there are only three crew members.</i>
<br><br>
<b>Capt. Mogrii L. Fomeie</b> - Joined the Guppy: Mission+0 days. Expertise: piloting, leadership, mining
and minerals. Notes: Captian and owner of The Iron Guppy; leader of the asteroid mining expedition;
art collector.
<br><br>
<b>Sgt. Avery E. Sterbach</b> <i>(that's you!)</i> - Joined the Guppy: Mission+1 day. Expertise: asteroid
mining, zero-gravity combat, and basic ship engineering. Notes: Outpost 5 Marine Guard, retired;
abnormal physical strength.
<br><br>
<b>Dr. Jean T. Khomu</b> - Joined the Guppy: Mission+3 days. Expertise: medicine, emergency rescue
techniques, asteroid mining. Notes: hard-working miner; doctor; expert historian.
<br>
-------------<br>
[infopad->lookat():Main Menu]
@
}
action show_notes()
{
@
<i>The notes are your own personal notes taken while on the mission. They are not a diary by any
means so they are sporadic and there are large gaps in the 105 days aboard the </i>Guppy<i> so
far.</i>
<br><br>
<b>Mission+1 day:</b> I like Captain Fomeie. He seems very knowledgable and has been very straight-forward
with me about all elements of our expedition. The ship looks good. I have inspected most of it.
Time to move into my quarters.
<br><br>
<b>Mission+7 days:</b> Dr. Khomu is really nice. She's going to make this mining expedition go quickly.
<br><br>
<b>Mission+10 days:</b> Jean is a good friend. She's been helping me with the ship maintenance. We found
a gap in one of the thruster seals today and she helped me fix it.
<br><br>
<b>Mission+50 days:</b> Jean, my friend, has been very cold to me lately. I do not understand why.
<br><br>
<b>Mission+66 days:</b> Who ate all of the celebration cake?
<br><br>
<b>Mission+90 days:</b> We have almost filled the cargo hold with rare ore. Just one last sector to go.
<br><br>
<b>Mission+104 days:</b> Jean finally broke the silence with me today to tell me she's worried about the
last sector on our route. She will not tell me why.<br>
-------------<br>
[infopad->lookat():Main Menu]
@
}
}
object infopad2
{
action lookat()
{
@
The infopad is a simple device. It stores and retrieves information. It absorbs kinetic energy
and uses so little of it that it can run virtually forever without needing to be turned off. This
particular infopad is on and displaying a menu:<br>
-------------<br>
[infopad2->show_manifest():Manifest]<br>
[infopad2->show_log():Crew Member Log]<br>
[infopad2->show_notes():Notes]
@
}
action show_manifest()
{
@
<i>The manifest contains information about the items contained on the ship. It is continually
updated as</i> The Iron Guppy <i>goes about its ore mining duties. Currently, the manifest
lists all of the food, the three crewmembers, various supplies, and mined cargo aboard
the vessel. You glance over the list breifly. Everything is as you last remember it.</i><br>
-------------<br>
[infopad2->lookat():Main Menu]
@
}
action show_log()
{
@
<i>The crewmember log for The Iron Guppy is brief, since there are only three crew members.</i>
<br><br>
<b>Capt. Mogrii L. Fomeie</b> - Joined the Guppy: Mission+0 days. Expertise: piloting, leadership, mining
and minerals. Notes: Captian and owner of The Iron Guppy; leader of the asteroid mining expedition;
art collector.
<br><br>
<b>Sgt. Avery E. Sterbach</b> <i>(that's you!)</i> - Joined the Guppy: Mission+1 day. Expertise: asteroid
mining, zero-gravity combat, and basic ship engineering. Notes: Outpost 5 Marine Guard, retired;
abnormal physical strength.
<br><br>
<b>Dr. Jean T. Khomu</b> - Joined the Guppy: Mission+3 days. Expertise: medicine, emergency rescue
techniques, asteroid mining. Notes: hard-working miner; doctor; expert historian.
<br>
-------------<br>
[infopad2->lookat():Main Menu]
@
}
action show_notes()
{
@
<i>These are Dr. Jean T. Khomu's notes taken while on the mission. They are not a diary by any
means so they are sporadic and there are large gaps in the 105 days aboard the </i>Guppy<i> so
far.</i>
<br><br>
<b>Mission+4 days:</b> Captain Fomeie is a nice man. Really knows what he's doing. My crewmate,
Avery is extremely attractive. He's in great shape, too. He seems nice, if maybe a little dense.
His room is right next to mine. I must get to know him better.
<br><br>
<b>Mission+8 days:</b> It's been nice so far on The Iron Guppy. The work isn't bad.
No need of my medical services yet, which is a good thing.
<br><br>
<b>Mission+11 days:</b> I pretended to know more than I do about thrusters yesterday. I was able to work
along side Avery in the engine room. I made several
attempts go get him to come to my quarters, but he pretended not to understand my advances.
<br><br>
<b>Mission+21 days:</b> Tired of all the sweet talk, I finally just decided to get real close to
Avery today while he was working and 'through random chance', pose at all the right angles. I'm not sure
he even noticed! Is he homosexual?
<br><br>
<b>Mission+43 days:</b> Physical hints aren't working. I'm going to have to try to stimulate Avery
intellectually.
<br><br>
<b>Mission+46 days:</b> Oh the hell with it. Avery must be gay. Just my luck.
<br><br>
<b>Mission+66 days:</b> I wonder who ate all of the celebration cake? I wanted to, but didn't.
<br><br>
<b>Mission+100 days:</b> I've been doing a lot of research about the history of this area. I have to admit
I'm getting a little worried. The last wave of prospectors came through here about fifty years
ago and they ran into a lot of trouble. There's an unknown race of pirates out here.
<br><br>
<b>Mission+105 days:</b> If anybody finds this, we were attacked by pirates. Our communications are
jammed. I'm glad I smuggled a small P.F. Beam gun on board.<br>
-------------<br>
[infopad2->lookat():Main Menu]
@
}
}
object infopad3
{
action lookat()
{
@
The infopad is a simple device. It stores and retrieves information. It absorbs kinetic energy
and uses so little of it that it can run virtually forever without needing to be turned off. This
particular infopad is on and displaying a menu:<br>
-------------<br>
[infopad3->show_manifest():Manifest]<br>
[infopad3->show_log():Crew Member Log]<br>
[infopad3->show_notes():Notes]<br>
[infopad3->show_astrolog():Astronavigation Log]
@
}
action show_astrolog()
{
@
<i>The Astronavigation Log contains all of the major sector and subsector nav points that have
been visited in the course of the expedition.</i><br>
Navpt 00A ARAMN STATION PT1 NV S 3492 SS 88232<br>
Navpt 00B ARAMN NAV H12 PT6 CV S 3492 SS 17382<br>
Navpt 00C CHOLOIA NAV03 PT1 NV S 6741 SS 38093<br>
<i>etc...<br>
You do your best to commit the information to memory.</i><br>
-------------<br>
[infopad3->lookat():Main Menu]
@
seen_astrolog = 1;
}
action show_manifest()
{
@
<i>The manifest contains information about the items contained on the ship. It is continually
updated as</i> The Iron Guppy <i>goes about its ore mining duties. Currently, the manifest
lists all of the food, the three crewmembers, various supplies, and mined cargo aboard
the vessel. You glance over the list breifly. Everything is as you last remember it.</i><br>
-------------<br>
[infopad3->lookat():Main Menu]
@
}
action show_log()
{
@
<i>The crewmember log for The Iron Guppy is brief, since there are only three crew members.</i>
<br><br>
<b>Capt. Mogrii L. Fomeie</b> - Joined the Guppy: Mission+0 days. Expertise: piloting, leadership, mining
and minerals. Notes: Captian and owner of The Iron Guppy; leader of the asteroid mining expedition;
art collector.
<br><br>
<b>Sgt. Avery E. Sterbach</b> <i>(that's you!)</i> - Joined the Guppy: Mission+1 day. Expertise: asteroid
mining, zero-gravity combat, and basic ship engineering. Notes: Outpost 5 Marine Guard, retired;
abnormal physical strength.
<br><br>
<b>Dr. Jean T. Khomu</b> - Joined the Guppy: Mission+3 days. Expertise: medicine, emergency rescue
techniques, asteroid mining. Notes: hard-working miner; doctor; expert historian.
<br>
-------------<br>
[infopad3->lookat():Main Menu]
@
}
action show_notes()
{
@
<i>These are Capt. Mogrii L. Fomeie's notes taken while on the mission. They are not a diary by any
means so they are sporadic and there are large gaps in the 105 days aboard the </i>Guppy<i> so
far.</i>
<br><br>
<b>Mission+0 days:</b> I have lofty goals for this mission. I know there are untold riches just waiting for
us in the form of raw ore out there in the outer rim sectors. I have lined up an able crew. I will
be picking up the first of them, Sgt. Sterbach tommorrow.
<br><br>
<b>Mission+1 days:</b> Sgt. Sterbach is all settled nicely. Now just two days to Macchini Port to pick
up Dr. Khomu.
<br><br>
<b>Mission+3:</b> Dr. Khomu is now aboard. She is a very good-looking woman.
<br><br>
<b>Mission+13 days:</b> We have been extremely productive with the ore collection. Everything is going as
planned.
<br><br>
<b>Mission+21 days:</b> The Doctor has been putting on quite a show for that idiot, Stg. Sterbach! The fool
doesn't even seem to notice her advances!
<br><br>
<b>Mission+46 days:</b> Sterbach must be a homosexual.
<br><br>
<b>Mission+66 days:</b> Ha ha ha, I ate the celebration cake and I don't feel bad about it at all.
<br><br>
<b>Mission+97 days:</b> Not much more ore now. We're just about full. This expedition has been incredibly
productive...and lucrative.<br>
-------------<br>
[infopad3->lookat():Main Menu]
@
}
}
object room1_trunk
{
action lookat()
{
if(room1_trunk_open == 1)
{
@
The trunk is standard-issue. It is made of a common metal/plastic alloy and is virtually
indestructable. All of the crewmembers have them, and they come with locks. Yours is
currently open. Inside is a [room1_trunk->lookat_blanket():blanket], some
[room1_trunk->lookat_clothes():clothes], and [room1_trunk->lookat_picture():a picture frame].
You can [room1_trunk->close():close] the trunk.
@
}
else
{
@
The trunk is standard-issue. It is made of a common metal/plastic alloy and is virtually
indestructable. All of the crewmembers have them, and they come with locks. Yours does
not have the lock attached to it. You can [room1_trunk->open():open] the trunk.
@
}
}
action open()
{
room1_trunk_open = 1;
@
You open the trunk. The hinges are completely silent. Inside you find a
[room1_trunk->lookat_blanket():blanket], some [room1_trunk->lookat_clothes():clothes], and
[room1_trunk->lookat_picture():a picture frame].
@
}
action close()
{
room1_trunk_open = 0;
@
The trunk lid swings shut as quietly as it opened.
@
}
action lookat_blanket()
{
@
(In the [room1_trunk->lookat():trunk])<br>
The blanket is light blue, synthetic, soft, and extremely warm. The material is plastfiber
which is not only incredibly durable, but has a heat conduction point approaching zero.
Even if the ship's heating and cooling systems failed completely, the blanket should be
able to keep a spacer such as yourself at habitable temperatures.
@
}
action lookat_clothes()
{
@
(In the [room1_trunk->lookat():trunk])<br>
You have a second change of clothes in your trunk, neatly pressed and waiting. You have
never worn them. Bacteria cannot live on the surface of your clothing, and all foreign
matter such as dust and grease wipe away without leaving a trace. A simple rub-down and
shake-off in the morning is all that is needed to keep your clothing clean and dry.
@
}
action lookat_picture()
{
@
(In the [room1_trunk->lookat():trunk])<br>
The framed picture is a simple plastic-print sandwiched in thin glass. It shows a
smiling woman standing in front of a green rock formation. A nearby sign indicates
that the formation is <i>The Sign of the Ulthighniki's Return</i>, a religious symbol
created by Ulthignoptic Priests thousands of years ago. The woman was a friend you
knew long ago back at the Academy. you took that picture yourself ten years ago on a
vacation to the Snarkithan system.
@
}
}
object disease
{
object_description = "A Disease";
is_inv_item;
action lookat()
{
@
You have a nasty disease. It allows you to [disease->cough():cough] and [disease->vomit():vomit].
@
}
action cough()
{
@
You cough violently. You wipe your hand on your chin and see a red smear of blood.
@
}
action vomit()
{
@
You vomit for what seems like hours. Just when you think there is nothing left to disgorge,
you manage to start vomiting parts of your stomach wall in large, bloody rents.
@
}
}
object bunk
{
action lookat()
{
@
The bunk is a very simple contraption. It is bolted securely to the starboard bulkhead
there are several straps hanging on the wall that can be used to secure the blankets,
mattress, and sleeping person to the bunk when the gravity generators are offline.
The warm blankets look inviting. You can [bunk->sleep():hop back into] the small
bed and catch some more shut-eye if you want.
@
}
action sleep()
{
location = prison;
inv_disease = 1;
@
The bunk is, indeed quite comfortable. You sleep very well. You wake up and unknown amount
of time later, in a very small and very dark place. You get the feeling maybe you shouldn't
have gone back to sleep!
@
}
}
object prison
{
object_description = "Unknown Prison";
action lookat()
{
@
You are in a very small cell of some sort. There is no bed of any kind, and in the corner near
your head there is a foul-smelling hole in the floor that must be the toilet. The metal door
at the far wall seems to be quite secure and there is no visible locking mechanism. All you can
do is [prison->wait():wait for someone to come].
@
}
action wait()
{
@
Eventually, some food is pushed through a slot in the door. You eat it out of starvation. When
you are done, you feel quite sleepy. You can [prison->sleep():go to sleep] now.
@
}
action sleep()
{
@
You sleep on the cold, hard floor for an indeterminate amount of time. When you wake up, you
momentarily forget that you are not still on the <i>Guppy</i>, but when you look around and find
that you are sleeping on the floor of some unknown dungeon, it all comes back to you.
Your joints are stiff and movement is painful at first. You stand for a while, but eventually
resort to sitting on the floor with your back against the wall. There is nothing to do now but
[prison->wait():wait].
@
}
}
object passageway
{
object_description = "Aft Passageway";
action lookat()
{
@
The short passageway is dim, as always. On the starboard end is the
[passageway->open_room1door():door to your quarters]. The [passageway->open_room2door():door
to Dr. Khomu's quarters] is at the port end. Forward, to the bow, is a
[passageway->open_galleydoor():door to the galley]. On the floor is a large, circular
hatch which leads down to the engine room. There is a red, illuminated
[passageway->gotoengineroom():button that opens the hatch]. In case of an emergency, the
hatch seals the thrusters and superspace engines off from the rest of the ship. All of the
passageway's walls and ceiling are covered with dozens of
[passageway->checklockers():storage lockers].
@
if(galley_enemies_alive == 1)
{
@
There are muffled sounds of conversation in harsh voices coming from the galley.
@
}
else
{
@
It is completely silent.
@
}
}
action checklockers()
{
@
You open a few of the lockers, but just as you expected, they're all full of food, blankets,
and power cells.
@
}
action open_room1door()
{
location = room1;
@
You step quickly into your quarters and close the door behind you.
@
}
action open_room2door()
{
location = room2;
@
You open the door to Dr. Khomu's quarters and enter. You close the door behind you.
@
}
action open_galleydoor()
{
if(galley_enemies_alive == 1)
{
@
You open the galley door very quietly and peek inside. You see two creatures standing
in the middle of the room. They are roughly your size, but are clearly not human.
Currently, they are facing the other way and are communicating with some device
you can only assume must be a radio transmitter. Their language is completely foreign
to your ears, and somewhat musical. Their shiny red suits cover most of their bodies,
but their exposed skin is dark, ribbed, and covered in thin spines that might be hair.
You can [galley->kill():attempt to kill] them or
[galley->communicate():try to communicate] with them.
@
}
else
{
@
With the two galley aliens quite dead, you stride into the galley with no hesitancy at all.
@
location = galley;
}
}
action gotoengineroom()
{
location = engineroom;
@
You press the red button. The hatch lifts with minimal noise. You head down the rungs to
the engine room and hit the 'close' button to close the hatch behind you.
@
}
}
object galley
{
object_description = "The Galley";
action lookat()
{
@
This is the galley, one of your favorite places on the whole ship. This is
not only where all meals are consumed, but also a meeting place for the crew.
There are cabinets along all of the walls. All of the
[galley->cooking():basic cooking gear] is on the starboard side of the room.
There are two small benches on the port side. The
[galley->passdoor():door to the aft passageway] is to the aft and the
[galley->bridgedoor():door to the bridge] is to the bow. There are
[galley->aliens():two dead alien creatures] on the floor.
@
}
action cooking()
{
@
Come to think of it you've been awake for a while, and you are pretty hungry.
You get out a box of mix and create a short stack of tasty pancakes. You eat
the steaming-hot flapjacks at the bench with your feet propped up on the hard
armor shell of one of the dead aliens. That really hit the spot.
@
}
action aliens()
{
@
You examine the bodies. Unfortunately, there isn't much you can tell about the
creatures now that they are dead. All of their equipment is so alien to you
that you cannot even figure out what it might be for. You cannot even tell
if they are wearing any weapons.
@
}
action passdoor()
{
@
You step out into the main passageway.
@
location = passageway;
}
action bridgedoor()
{
if(bridge_enemy_alive == 1)
{
@
You open the door to the bridge just a crack and peek inside. You see another
alien creature standing in front of the main navigational display. It is
fiddling with something in its hands. It has a shiny red suit of armor
just like the two dead creatures in the galley.
You can [bridge->kill():attempt to kill] it or
[bridge->communicate():try friendly communication] with it.
@
}
else
{
@
You enter the bridge, quite pleased that when you open the door, it smashes
into the dead alien's head.
@
location = bridge;
}
}
action kill()
{
if(hasweapon == 0)
{
@
Completely unarmed, you leap at the creature closest to you. Your tackle is
succesful, but the second creature turns with surprising speed and grace
and aims something at your head. An eyeblink later, there is an orange
flash of light and you cease to live.
@
location = death;
}
if(inv_penknife == 1)
{
@
You lunge forward with the only weapon you have, your penknife.
With great satisfaction, you sink the small blade completely up to the handle
in the skull of the creature closest to you. However, the second creature
turns with surprising speed and grace
and aims something at your head. An eyeblink later, there is an orange
flash of light and you cease to live.
@
location = death;
}
if(haveuselessgun == 1)
{
@
You pull the PFB gun and aim it at the first creature. You squeeze the trigger
but nothing happens. Perhaps you should have checked the charge meter!
Just then, the creatures notice you. The creature closest to you
aims something at your head. An eyeblink later, there is an orange
flash of light and you cease to live.
@
location = death;
}
if(gun_state == 2)
{
@
You pull the PFB gun and aim it at the first creature. A quick squeeze of the
trigger reduces the fiend's upper torso to a pulp. There is a fine blue
mist in the air. The second creature has excellent reflexes, and turns
quickly towards you. However, you have the advantage of both surprise and
your military service. The second creature is dispatched as quickly as the
first. You stand triumphant over their bodies.
@
location = galley;
galley_enemies_alive = 0;
}
}
action communicate()
{
@
"Hello, my name is..." you begin. The creatures whirl in unison and draw tiny devices
you do not recognize from their suits. Their actions appear violent. You raise
your hands to protect yourself and start backing away. You are too late, the creature
closest to you gets a shot off first. There is a orange flash of light and you feel
a sudden numbness below the neck. There is a sound in your ears like ocean waves
and a thousand drums. You try to take a breath, but cannot. The hissing sound of
the air escaping from your lungs is the last sound you hear before you die.
@
location = death;
}
}
object bridge
{
object_description = "The Bridge";
action lookat()
{
@
The main feature of the bridge is the horseshoe-shaped
[bridge->console():main console]. There is
a large black chair in the middle of the horseshoe. A giant display covers the
entire wall to the bow of the room. To starboard is Captain Fomeie's
[bridge->bunk():bunk]. The [bridge->door():door to the galley] is on the aft wall.
There is quite a bit of art on the walls of the bridge. It covers many of the
lockers and shelves in the room. The [bridge->alien():dead alien] is in the middle
of the room.
@
if(buried == 0)
@
You are deeply saddened to see what has become of your
fellow crewmates. The [bridge->bodies():dead bodies] of both Captain Fomeie
and Dr. Khomu are lying on the port side of the room.
@
}
}
action console()
{
@
This is the main console, used to run all of the systems on the ship. You can see
there are four main areas on the console:<br>
[bridge->c_env():Environmental]<br>
[bridge->c_sys():Subsystems and Diagnostics]<br>
[bridge->c_cargo():Cargo Hold]<br>
[bridge->c_nav():Navigation and Maneuvering]
@
}
action c_env()
{
@
In the environmental controls, you can adjust everything in the ship from the percentage
of oxygen in the air to the temperature in each individual room. You play around with
the controls for a little while, making the bridge cold and then warm. Eventually you
become bored with it.
<br>
([bridge->console():Main Menu])
@
}
action c_sys()
{
if(ship_depirated == 1)
{
@
All systems appear to be working normally.
<br>
([bridge->console():Main Menu])
@
}
else
{
@
This area of the panel allows you to micromanage nearly all elements of the ship's functions
down to the voltage used in the kitchen appliances. It also contains diagnostic information
about all of the systems on the ship should any failures be detected.
There are currently a huge number of errors relating to the navigational thrusters. From what
you can tell, none of the signals from the main navigational computer are getting through to
the nav thrusters at all. You frown. There must be something physically wrong with the
ship. If that is so, then the engine room is the only place where such a problem can be
fixed.
<br>
([bridge->console():Main Menu])
@
knowaboutcontrol = 1;
}
}
action c_cargo()
{
@
From this area of the console, you can control all of the cargo bay doors and loading
equipment. You decide not to touch any of these controls. The ore currently held in the
cargo bay is worth a small fortune.
<br>
([bridge->console():Main Menu])
@
}
action c_nav()
{
if(ship_depirated == 0)
{
@
The navigation panel seems to be haywire. Not only can you not access any of the
maneuvering controls, but you cannot even set a course. Looks like you'll need to
take a look at the diagnostics panel.
<br>
([bridge->console():Main Menu])
@
}
else
{
@
You are extremely pleased to see that the navigation panel is behaving properly. You can't
wait to get out of this dangerous sector. You never know when more of those alien bastards
will show up. You're no pilot, but you do know how to [bridge->setcourse():set a course].
<br>
([bridge->console():Main Menu])
@
}
}
action setcourse()
{
@
The console prompts you for the navigation points of your course.
@
if(seen_astrolog == 1)
{
@
You set the navigation points that you saw in the captain's infopad.
Your grin turns into a smile. You're going home!
@
location = home;
}
else
{
@
Unfortunately, you have absolutely no clue what navigation points to set in order to get home.
You stare blankly at the display in frustration.
<br>
([bridge->c_nav():Navigation Menu])
@
}
}
action bunk()
{
@
This is Captain Fomeie's bunk. It is identical to yours and Dr. Khomu's. There is
an [infopad3->lookat():infopad] lying on the bunk.
@
}
action alien()
{
@
Unfortunately, you can't glean much more information from this alien than you could
from the ones in the galley. However, you inspect the gadget it was holding quite
carefully. It has many buttons and glyphs you could never decipher, but if you had
to guess what was on the screen, you would say that it looked like navigational points.
@
}
action bodies()
{
@
Because they were your friends, you give your fellow crewmates a burial at space.
The bodies drift silently away into the darkness of the Void. Now you just have to
figure out how to get yourself home properly.
@
buried = 1;
}
action door()
{
@
You slip out of the bridge and into the galley.
@
location = galley;
}
action kill()
{
if(haveuselessgun == 1)
{
@
You pull the PFB gun and aim it at the first creature. You squeeze the trigger
but nothing happens. Perhaps you should have checked the charge meter!
The creature aims something at your head. An eyeblink later, there is an orange
flash of light and you cease to live.
@
location = death;
}
if(gun_state == 2)
{
@
You pulp the creature's skull with the PFB gun and it slumps to the ground, dead.
That's one less alien fiend in the universe.
@
location = bridge;
bridge_enemy_alive = 0;
}
}
action communicate()
{
@
You put on your best smile and put our your hand to welcome the alien to <i>The
Iron Guppy</i>. You cough politely to get its attention. The alien
turns immediately and punches you in the head with such great strength that
it pushes your brain out of the back of your skull. It seems you are dead.
@
location = death;
}
}
object home
{
object_description = "Home";
action lookat()
{
@
You have made it home! Loosing two friends hasn't been easy, but you're
coping. The raw ore and <i>The Iron Guppy</i> both gained you quite a bit
of gold once they were put on the market. On top of that, you're a bit of a local
hero. You're the first person to bring back physical evindence of Khjurian pirates,
and three bodies, no less!
<br><br>
You look out from your balcony as lightning strikes some small island far out at
sea. It's been quite a journey from the Marine Corps, to asteroid mining, to
this extravagant home perched on a rocky outcropping on the pleasure world, Maris Velus.
<br><br>
So far, so good.
<br><br>
The end.
@
inv_gold = 1;
}
}
object gold
{
object_description = "Copious Gold";
is_inv_item;
action lookat()
{
@
You have enough gold, now, to live comfortably the rest of your life.
@
}
}
object death
{
object_description = "Death";
action lookat()
{
@
You are dead, and you're pretty darned sure you don't like it. You can now be reborn
and [start->lookat():try life again].
@
}
}
object room2
{
object_description = "Dr. Khumo's Quarters";
action lookat()
{
if(room2_lightswitch_on == 0)
{
@
You are in complete darkness. You cannot see anything in the room. You can, however,
feel the [room2->fliplight():lightswitch] on the wall.
@
}
else
{
@
The light is on in Dr. Khumo's Quarters. Her quarters are nearly identical to yours.
A [room2_trunk->lookat():trunk] and [bunk2->lookat():bunk] are on the port wall
facing the outside of the ship. To the port side is a large
[room2->checkmeds():medical supply kit]. To the bow is the
[room2->open_door():door to the aft passageway]. There is a
[room2->fliplight():lightswitch] on the wall next to the door.
@
}
}
action checkmeds()
{
@
You look in the huge kit. Unfortunately, besides the medical supplies, most of which you
recognize from basic medicine in the Marines, there is nothing that you can see that will be
of immediate use to you.
@
}
action open_door()
{
location = passageway;
@
You step into the passageway and close the door to Dr. Khumo's quarters quietly behind you.
@
}
action fliplight()
{
if(room2_lightswitch_on == 1)
{
room2_lightswitch_on = 0;
@
You turn the light switch off. The darkness fills the room once again. The afterimage of
the room quickly fades from your eyes.
@
}
else
{
room2_lightswitch_on = 1;
@
You turn the light switch on. Dr. Khumo's room is now bathed in light.
@
}
}
}
object bunk2
{
action lookat()
{
@
The bunk is a very simple contraption. It is bolted securely to the starboard bulkhead
there are several straps hanging on the wall that can be used to secure the blankets,
mattress, and sleeping person to the bunk when the gravity generators are offline.
There is an [infopad2->lookat():infopad] laying casually near the head of the bunk.
The warm blankets look inviting. You can [bunk->sleep():jump into] Dr. Khumo's bunk
and catch some more shut-eye if you want.
@
}
action sleep()
{
location = prison;
inv_disease = 1;
@
The bunk is, indeed quite comfortable. You sleep very well. You wake up and unknown amount
of time later, in a very small and very dark place.
@
}
}
object room2_trunk
{
action lookat()
{
if(room2_trunk_open == 1)
{
@
Just like your own, inside the trunk is a [room2_trunk->lookat_blanket():blanket] and some
[room2_trunk->lookat_clothes():clothes].
@
}
else
{
@
The trunk is standard-issue. It is made of a common metal/plastic alloy and is virtually
indestructable. All of the crewmembers have them, and they come with locks. Dr. Khumo's
trunk has a flimsy-looking lock attached to it. You can
[room2_trunk->open():attempt to open] the trunk.
@
}
if(topen_noguninv == 1)
{
@
However, Dr. Khumo's trunk contains one item not
in your own: a Phase 3 P.F.B. (Particle Force Beam) [gun->lookat():Gun]. As an ex-marine, you
are intimately familiar with the weapon and its devastating effects on a living organism. You
breifly wonder how Dr. Khumo managed to get her hands on one. But there are more pressing
matters at hand, and you brush the unanswerable question aside.
@
}
}
action open()
{
@
You strain against the lock will all of your extraordinary might. As flimsy as it looks, the lock
is too strong to break with your bear hands.
@
if(inv_penknife == 1)
{
inv_penknife = 0;
room2_trunk_open = 1;
topen_noguninv = 1;
hasweapon = 0;
@
<br>
Then you remember that you are carrying your small penknife. Perhaps, you think, you could
use the extra leverage to pry open the lock. You flip out the diminutive blade and put your full
force behind it. You hear it snap and your heart sinks. But then you notice that the lock has
also given way. You drop the handle of the now-useless penknife on the floor and pull away the
remains of the lock. You can now [room2_trunk->lookat():look inside] the trunk.
@
}
}
action lookat_blanket()
{
@
(In the [room2_trunk->lookat():trunk])<br>
The blanket is light blue, synthetic, soft, and extremely warm. The material is plastfiber
which is not only incredibly durable, but has a heat conduction point approaching zero.
Even if the ship's heating and cooling systems failed completely, the blanket should be
able to keep a spacer such as yourself at habitable temperatures. Dr. Khumo's looks to have
never been used.
@
}
action lookat_clothes()
{
@
(In the [room2_trunk->lookat():trunk])<br>
Dr. Khumo's clothes are much like your own only, well, shaped differently. They are, however
made of the same material as your own. Bacteria cannot live on the surface, and all foreign
matter such as dust and grease wipe away without leaving a trace. A simple rub-down and
shake-off in the morning is all that is needed to keep the clothing clean and dry.
@
}
}
object gun
object_description = "PFB Gun";
is_inv_item;
action lookat()
{
@
The Particle Force Beam gun is a squat, ugly piece of metal, completely berift of all ornamentation.
The gun is very small and has virtually no recoil. It contains internal dual-axis gyroscopes
and when used in conjuction with the top-mount magnifying sight, it is easily lethal at 2000 meters.
On the butt of the gun is the [gun->cell():electrocell compartment]. On the left side is the tiny
rectangular particle casing ejection port. On the right side is the [gun->meter():charge meter].
@
if(inv_gun == 0)
{
@
You can [gun->take():take] the gun.
@
}
}
action take()
{
@
You pocket the gun.
@
inv_gun = 1;
topen_noguninv = 0;
hasweapon = 1;
haveuselessgun = 1;
}
action meter()
{
@
You toggle the charge meter. A small colored bar illuminates on the smooth surface of the
weapon, displaying the current charge in the electrocell.
@
if(gun_state == 0)
{
@
Unfortunately, with the current electrocell loaded in this gun, it won't be firing any
shots any time soon. The charge meter barely shows a charge at all.
@
}
if(gun_state == 1)
{
@
With no electrocell in this gun, the charge meter cannot light up at all. This gun
is not going to do any damage unless you throw it, and even then it's really too light
for that kind of thing.
@
}
if(gun_state == 2)
{
@
With the fresh electrocell loaded into the gun, it shows a nice, full, healthy charge.
You'll run out of the thousands of tiny projectile particles in the cartridge long before
this electrocell is depleated.
@
}
}
action cell()
{
@
You thumb open the latch that seals the electrocell compartment.
@
if(gun_state == 1)
{
@
The gun is devoid of electrocell, just as expected.
@
}
if(gun_state == 0)
{
@
Out slides the most blackened and corroded electrocell you have ever seen. It's amazing
that the pitted and scored cell can hold a charge at all.
@
inv_oldcell = 1;
gun_state = 1;
}
if(gun_state == 2)
{
@
Out slides the nice, new lantern battery. It gleams in the pale light.
@
inv_newcell = 1;
gun_state = 1;
haveuselessgun = 1;
}
}
}
object oldcell
object_description = "Old Cell";
is_inv_item;
action lookat()
{
@
This old electrocell appears to be extremely old. It is covered with the kind of stains
and corrosion about which fables are made. You can [oldcell->drop():drop] this old hunk
of crap.
@
}
action drop()
{
@
You drop the hideous electrocell. It falls to the floor, and to your surprised, it actually
breaks in half, spilling green fluid all over.
@
inv_oldcell = 0
}
}
object newcell
object_description = "New Cell";
is_inv_item;
action lookat()
{
@
This electrocell is so new, it shines. There is plenty of charge left in it. You can load
this cell [newcell->lantern():back into the lantern].
@
if(gun_state == 1)
{
@
You can also load this cell [newcell->gun():in the PFB gun]. It looks to be exactly the
same as the old one, just in much better shape.
@
}
}
action lantern()
{
@
You uncap the lantern and load the electrocell back into it. You flip the light on momentarily
to make sure it works. It does.
@
lantern_state = 0;
inv_newcell = 0;
lanternnocell = 0;
}
action gun()
{
@
You open up the PFB gun's electrocell chamber and load the cell. This gun is locked and loaded.
@
gun_state = 2;
inv_newcell = 0;
haveuselessgun = 0;
}
}
object engineroom
{
object_description = "The Engine Room";
action lookat()
{
@
You are in the engine room of <i>The Iron Guppy</i>. The room is not only the main
thruster engine maintenance and control area, but also a general workshop. There are
tool cabinets to the starboard side. On the port side is a workbench and several analysis
machines. Across from you is a [crawlspace->see():crawlspace] with direct access to the
navigation thruster controls.
There is a [engineroom->hatch():hatch] to the aft passageway
on the ceiling and rungs on the wall for accending through the hatch on the wall behind you.
@
if(inv_lantern == 0)
{
@
There is a [lantern->lookat():lantern] on a shelf.
@
}
}
action hatch()
{
@
You hit the hatch button and climb the rungs up to the aft passageway.
@
location = passageway;
}
}
object lantern
{
object_description = "Lantern";
is_inv_item;
action lookat()
{
@
The electroluminescant lantern is made of a bright yellow rubberized polymer.
It produces a beam of very bright and even white light. Airtight, the lantern
can be used in a vacuum, in pressurized gas, and in liquids.
@
if(inv_lantern == 1)
{
@
There is a large
[lantern->switch():switch] on top of the lantern that turns it on and off.
There is a [lantern->cap():cap] on the end that can be screwed off.
@
}
else
{
@
You can [lantern->take():take] the lantern.
@
}
}
action take()
{
@
You grab the lantern and take it with you.
@
inv_lantern = 1;
}
action switch()
{
if(lantern_state == 0)
{
@
You flip the switch and the lantern lights up gloriously, clearly illuminating
everything you aim it at.
@
lantern_state = 2;
}
else
{
@
Darkness.
@
lantern_state = 0;
}
if(lanternnocell == 1)
{
@
You flip the switch, but nothing happens. You toggle it on and off a couple
times and shake it. But then you remember that you took out the electrocell.
@
}
}
action cap()
{
if(lanternnocell == 0)
{
@
You unscrew the cap and a shiny new electrocell slides out. You grab the cell and
screw the cap back on.
@
inv_newcell = 1;
lanternnocell = 1;
lantern_state = 1;
}
else
{
@
You unscrew the lantern's cap and peer inside the empty electrocell compartment. It is
pitch-black inside. For a breif moment, you think about how nice it would be
to have a lantern to shine into the dark cavity. You screw the cap back on.
@
}
}
}
object crawlspace
{
object_description = "Nav Thruster Crawlspace";
action lookat()
{
@
You are in the crawlspace. It is very cramped and dimly lit. There are dozens of
switches and ports around you, and hundreds of indicator lights. Nevertheless, it is orderly
and mostly sane.
You can [crawlspace->getout():crawl out] of the crawlspace.
@
if(knowaboutcontrol == 1)
{
@
You can [crawlspace->lookforrc():look] for any anomalies in the area.
@
}
}
action getout()
{
@
You crawl out of the crawlspace and stand up straight. You stretch your joints and
pop a few misplaced vertibre back into place.
@
location = engineroom;
}
action lookforrc()
{
if(lantern_state == 2)
{
@
By your lantern's glow, you can now see what you would never have noticed before.
It is a tiny control box with a single green light burrowed deep in one of the
control panels just below the midship starboard thruster dataport. You rip it out,
and a knot of coiled microwires comes with it. The tiny green light fades out.
The pirate navigational remote control has been safely removed.
You breathe a sigh of relief. The ship is now under your control.
@
ship_depirated = 1;
knowaboutcontrol = 0;
}
else
{
@
You know you are looking for something out of place, but in the dim light, you really
can't see much. Perhaps if you turned on your lantern.
@
}
}
action see()
{
@
The crawlspace is essentially a dimly-lit, two meter long passage only large enough to
crouch in. In extreme emergencies, a spacer could crawl into the tight area and
plug into direct control of the ship's navigation thrusters. The steering would then be
guided by a remote nav computer hookup.
You can [crawlspace->crawl():crawl] into the crawlspace.
@
}
action crawl()
{
@
You bend down and cram yourself into the tiny area.
@
location = crawlspace;
}
}

