Some text adventure games written for HERITAGE
Clone
HTTPS:
git clone https://vervis.peers.community/repos/Krnxv
SSH:
git clone USERNAME@vervis.peers.community:Krnxv
Branches
Tags
rest.heritage
room(2.4.2):
description: You're outside, standing in a grassy field. In the horizon,
mountains surround you from all directions. You are in a
valley. The valley is covered with grass, but the mountains
are grey, and have snowy white peaks.
There is a stone staircase here leading underground.
Far above you, in sky, there is a cloud.
exits: down, up.6, north.4, south.4, east.4, west.4
exit(4):
succeed: You make a few steps in the grassy field.
new_location: 2.4.2
action(fly|fly_up):
succeed: $(equals:flied,0;Want to fly, eh? You start flapping your right
wing. For a moment is seems hopeless, but then a miracle happens.
You're taking off, leaving the ground. Excited, you stop flapping
and land safely.
Looks like you can 'go up' now by flying.)$ #(flied=1)#
$(equals:flied,1;I think we got the idea. You can fly. Just use
"go" as you're used to. And fly safely!)$
fail: I don't know how to fly.
require_inventory: right_wing
exit(6):
require_inventory: right_wing
equals: flied,1
room(2.4.3):
description: You're in the sky, beneath the cloud. You can see the grassy
field below, and the cloud above.
Some birds are flying nearby.
exits: down, up.6
room(2.4.4):
description: You're in the sky, beneath the cloud. You can see the grassy
field below, and the cloud above.
Some pigeons are flying nearby.
exits: down, up.6
room(2.4.5):
description: You're in the sky, beneath the cloud. You can see the grassy
field below, and the cloud above.
Some angels are flying nearby.
exits: down, up.6
room(2.4.6):
description: You're in the sky, beneath the cloud. You can see the grassy
field below, and the cloud above.
You're the only one crazy enough to fly this high.
exits: down, up.6
item(scale):
on_examine: It's a metal balance scale. But one of the pans is much larger
and heavier than the other. Dropping items into the smaller one
could perhaps create balance.
$(require_here:briefcase;There's a briefcase on the smaller pan.)$
$(require_here:shovel;There's a shovel on the smaller pan.)$
$(require_here:shard;There's a glass shard on the smaller pan.)$
$(require_here:blue_lock;There's a blue lock on the smaller pan.)$
action(drop_briefcase):
succeed: You put the briefcase on the smaller pan.
require_here: scale
require_inventory: briefcase
lose: briefcase
drop: briefcase
action(drop_shovel):
succeed: You put the shovel on the smaller pan.
require_here: scale
require_inventory: shovel
lose: shovel
drop: shovel
action(drop_shard):
succeed: You put the glass shard on the smaller pan.
require_here: scale
require_inventory: shard
lose: shard
drop: shard
action(drop_blue_lock):
succeed: You put the blue lock on the smaller pan.
require_here: scale
require_inventory: blue_lock
lose: blue_lock
drop: bluc_lock
exit(8):
succeed: You try to open the door. And... it opens! You walk through.
fail: You try to open the door. And... it doesn't open.
require_here: scale,briefcase,shovel,shard,blue_lock
room(2.4.7):
description: You are inside a cloud. It's a bit cold here, but it could be
worse.
There's an ad here, written on the cloud in red, bold letters.
There's a tap here, in the cloud. But no sink.
There's a metal balance scale standing here. Like the ones
they use to weigh justice.
There's a door to the north.
items: scale, tap, ad
exits: down, north.8
item(ad):
on_examine: "New! Store all your pictures on the cloud!
- Automatic backup, never worry again about disk failure!
- Tired of reading long Terms of Use? Great! Get simple terms
anyone can underand, such as "Your data belogs to us"!
- Access from any computer, requiring just a web browser!
- Never worry again about your privacy being accidetally
respected! Get FREE periodic intentional leaks of your most
personal pictures to 3rd party companies!
Hurry up and register at http://greedy.com, before all the free
accounts are taken!"
item(tap):
on_examine: It's a regular home tap, serving tap water. There's no sink
under it, though.
Did you know tap water is generally meant to be good for any
use of humans, including drinking? If you live in a developed
country, you can just drink tap water!
All those mineral water companies just want us to think tap
water isn't good, and by scaring us they hope to get us to buy
their bottled water. Don't listen to their lies! Drink from the
tap. Countries provide tap water at low costs because water is
a basic right. Fight for this right, drink from the tap!
Bottles trash the planet. Not all bottles are recycled
properly, and anyway as long as we use bottles, there's more
manufacturing of them. More plastic, more toxics, more
pollution. Don't let them force-sell you bottled water. Just
keep a few bottles at home, and fill them - with tap water -
whenever you outside for long time.
"Fun" fact, two of the bottled water companies in the US
actually use filtered tap water! And imagine what mineral water
companies do to nature, to the planet, when they place their
gigantic factories and plants in the middle of beautiful
nature, destroying it and blocking access to it.
It's that's not enough, some of the bottled drink companies - I
don't remember which ones exactly - make their drinks using
water they selfishly steal from wells and water sources in
third world countries, leaving the local people to... die.
Let's show them what we think by refusing to fund their
actions!
If you can (you probably do, if you're playing this), drink
tap!
action(fill_glass|fill_glass_with_tap|fill_glass_using_tap|fill_glass_from_tap):
succeed: You fill the glass with tap water. #(filled=1)#
require_inventory: glass
equals: drank,1
require_here: tap
action(take_red_key):
succeed: You get the red key out of the glass.
require_inventory: glass
equals: filled,1
gain: red_key
!require_inventory: red_key
exit(7):
require_inventory: right_wing,left_wing
equals: flied,1
fail: It's too high here to fly with a single wing.
room(2.5.7):
description: You're in the sky. There's a cloud beneath. Looking up, you
see another cloud above.
It's a bit difficult to fly this high.
exits: down, up.7
room(2.5.8):
description: You're in the sky. There's a cloud beneath. Looking up, you
see another cloud above.
It's somewhat difficult to fly this high.
There's wind pushing the cloud to the south, and you feel it
pulling you too. It's not too strong to resist, though.
exits: down, up.7, south
room(2.5.9):
description: You're in the sky. There's a cloud beneath. Looking up, you
see another cloud above.
It's quite difficult to fly this high.
exits: down, up.7
room(2.5.10):
description: You're in the sky. There's a cloud beneath. Looking up, you
see another cloud above.
It's very difficult to fly this high. You can't go further up
here, the wind is too strong and the wings are barely holding
you.
$(require_here:glue;Hmmm there is a bottle of glue flying
around.)$
items: glue
exits: down
items(glue):
on_examine: A bottle of organic, fully recyclable glue.
$(equals:glued,0;The bottle is full.)$
$(equals:glued,1;The bottle is half-full.)$
$(equals:glued,2;The bottle is empty.)$
exit(9):
require_inventory: oar
less_than: oarb,1
fail: It's a small cloud, where can you go? And it's too high to fly, even
with two wings.
action(tie_oar):
succeed: #(oarb-1)#
require_inventory: rope, oar
lose: rope
action(glue_oar):
succeed: #(glued+1)# #(oarb-1)#
require_inventory: glue, oar
less_than: glued,2
fail: $(require_inventory:glue;It's empty.)$
action(row|paddle):
succeed: $(equals:paddled,0;Want to row, eh? You start paddling with your
oar. For a moment is seems hopeless, but then a miracle happens.
The cloud seems to have moved a bit. Excited, you stop paddling
and slow down safely.
Looks like you can 'go south' now by paddling.)$ #(paddled=1)#
$(equals:paddled,1;I think we got the idea. You can paddle. Just
use "go" as you're used to. And paddle safely!)$
fail: I don't know how, or why would you, row or paddle.
require_inventory: oar
equals: oarb,0
room(2.4.8):
description: You're in the sky. There's a cloud beneath. Looking up, you
see another cloud above.
----- #(_write_to=ans)#
"Free software, free _____".
exits: north, up.10
exit(10):
equals: ans,"society"
require_inventory: right_wing,left_wing
room(2.4.9):
description: You're in the sky. There's a cloud beneath. Looking up, you
see another cloud close above.
----- #(_write_to=ans)#
"An Individual has not started living fully until they can
rise above the narrow confines of individualistic concerns to
the broader concerns of humanity.
Every person must decide at some point, whether they will walk
in light of creative altruism or in the darkness of
destructive selfishness.
This is the judgment: Life's most persistent and urgent
question is: 'What are you doing for _____?'"
(Martin Luther King Jr.)
exits: down, up.11
exit(11):
equals: ans,"others"
require_inventory: right_wing,left_wing
room(2.4.10):
description: You're in the sky. There's a cloud beneath. Looking up, you
see another cloud very close above.
----- #(_write_to=ans)#
"A good person will resist an evil system with his whole soul.
Disobedience of the laws of an evil state is therefore a
_____." (Gandhi)
exits: down, up.12
exit(12):
equals: ans,"duty"
require_inventory: right_wing,left_wing
room(2.4.11):
description: You're standing on a cloud, high in the sky. There's another
cloud far below. Quite far to the south, you see another small
cloud.
exits: down, south.9
room(2.3.11):
description: You're standing on a cloud, high in the sky. There's another
cloud far below. Far to the south, you see another small
cloud.
exits: north, south.9
room(2.2.11):
description: You're standing on a cloud, high in the sky. There's another
cloud far below. A bit far to the south, you see another small
cloud.
exits: north, south.9
room(2.1.11):
description: You're standing on a cloud, high in the sky. There's another
cloud far below.
To the south, you see another cloud, and an orange-colored
tent standing on the cloud.
exits: north, south.9
room(2.0.11):
description: You're inside a large orange-colored tent, standing on a
cloud.
$(equals:pressed,0;
There is an old man with a long beard here.
$(equals:done,0;He says:
"Hello, my name is Richard. Welcome to my humble home!
I assume you'd like to return to your home too. You came to
the right place. Through this laptop here, I control the
transportation system which takes people to and from this
place back to their homes. Once I activate the system, all you
need to do is jump into the pool on the other side of the
house, and you will be taken home.
However, as I'm a religious person, your departure won't be
possible without some holy bread. Do you have any?
#(talked=1)#
)$)$
There is a small desk here. There is a laptop on the desk.
It's open, and the screen is displaying some complex graphical
interface.
To the east is the other side of the tent.
items: old_man, laptop, desk
exits: north, east
action(give_man_bread|give_old_man_bread|give_bread_to_man|give_bread_to_old_man):
succeed: You pass the wrapped bread to the old man, holding it with your
glove. He takes it carefully, holds it close to his chest, closes his
eyes and whispers some prayer.
"Great," he says. "Now I'll set up the transportation system to take
you home. Like I said, just jump into the pool in the other room."
He types some commands into his laptop, and for a moment you hear a
sound of flowing water coming from the other part of the tent.
"Go ahead," he says. "Your family and friends must be wondering where
you are." #(done=1)#
fail: $(!require_inventory:bread;Which bread?|
$(!require_here:old_man;Which man?|
$(!equals:wrapped,1;"Not like that!" says the old man. "Wrap it with
something! Come on, it's holy bread!"|
$(!equals:wear,1;"Not with your bare hands! says the old man. "It's
holy, remember? Don't touch it directly!")$)$)$)$
equals: wrapped,1
equals: wear,1
require_inventory: bread
require_here: old_man
item(old_man):
on_examine: $(equals:pressed,0;He looks very old. But he sounds younger.)$
item(laptop):
on_examine: This a fully free-hardware and free-software laptop,
manufactured in environment-friendly ways, and with proper
working conditions. No slave or child labor. It can run for
centuries, and then it can easily be fully recycled into a new
laptop.
When I say free hardware, I don't mean that the board design is
free, while the components are proprietary. I mean that the
entire thing is actually free as in freedom! Including the
processor and the GPU and everything else.
The design is based on lowRISC, OpenGPU, the Open Graphics
Project, MIAOW, OpenRISC, FPGA Libre and several other
projects.
It is running the GNU operating system through the GNU Guix
Software Distribution (GuixSD), and the GNU Hurd kernel.
Taking a longer look at the screen, you recognize the GNU Xfce
desktop, which is the continuation of Xfce after version 4.12.
Xfce has become a GNU project and moved its UI translation
system from the proprietary and centralized Transifex to GNU's
Pootle instance, which is free software.
It's not like GNOME and KDE don't deserve a chance here too.
But they decided to tie themselves into systemd, and their own
efforts to revert this disaster (which started after RedHat and
Canonical became no-profits) are still in progress. Many people
in the free software commmunity are helping them.
item(desk):
on_examine: A desk.
action(wrap_bread|wrap_bread_in_note|wrap_bread_with_note|wrap_bread_using_note):
succeed: You wrap the piece of bread with the note paper. #(wrapped=1)#
require_inventory: bread, note
lose: note
equals: talked,1
fail: $(require_inventory:bread,note;You could do that. But why would you?)$
action(wear_glove):
succeed: #(wear=1)#
require_inventory: glove
lose: glove
equals: talked,1
fail: $(require_inventory:glove;You could do that. But why would you?)$
room(3.0.11):
description: You're inside a large orange-colored tent, standing on a
cloud.
$(equals:done,1;There is a tiny pool here, filled with water.)$
$(equals:done,0;There is a tiny pool here, but it's empty.)$
To the west is the other side of the tent.
exits: west
action(jump|jump_into_water|jump_into_pool|jump_into_the_pool|jump_into_the_water):
succeed: #(_game_over=1)#
equals: done,1
fail: The pool is empty, I'm not sure it's a good idea.