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,