Automate the adventure/puzzle
A character can acquire a horn (from stealing it from the witch) and own the horn (traveling at will). The puzzle now gifts the players who win a blue medal for their effort.
This commit is contained in:
parent
3272af9f10
commit
8e2918564b
8 changed files with 357 additions and 69 deletions
|
|
@ -430,10 +430,17 @@ class Listener:
|
|||
c.tags.add(tag, category="mp")
|
||||
return
|
||||
|
||||
m = match(r"gift ([A-z]+) *?( to|=)? *(.+)( *: *[A-z]+( *: *[A-z]+)?)?", cmd)
|
||||
m = match(r"gift_all ([A-z]+)( *: *([^:]+)( *: *(.*))?)?", cmd)
|
||||
if m:
|
||||
logger.info(f"Higher Gift: {m.group(1)}")
|
||||
for c in self.characters_here(puppets=True):
|
||||
self.do_gift(c, m.group(1), m.group(3), m.group(5))
|
||||
return
|
||||
|
||||
m = match(r"gift ([A-z]+) *?( to|=)? *([^:]+)( *: *([^:]+)( *: *(.*))?)?", cmd)
|
||||
if m:
|
||||
logger.info(f"Higher Gift: {m.group(1)} to {m.group(3)}")
|
||||
self.do_gift(m.group(3), m.group(1), m.group(4), m.group(5))
|
||||
self.do_gift(m.group(3), m.group(1), m.group(5), m.group(7))
|
||||
return
|
||||
|
||||
if self.is_typeclass("typeclasses.characters.Character"):
|
||||
|
|
|
|||
|
|
@ -123,8 +123,12 @@ class Puppet(Character, Listener):
|
|||
"desc": desc or "Small cloth bag with a leather drawstring.|/You could probably |grummage|n around in that, and maybe |gkeep|n something.",
|
||||
"attr": {
|
||||
"stuff": "human"
|
||||
}
|
||||
},
|
||||
},
|
||||
'blue': {"typeclass": "typeclasses.things.Medal",
|
||||
"key": name or "blue medal",
|
||||
"desc": desc or "Gold medallion decorated with a trident and conch suspended by a blue ribbon.",
|
||||
},
|
||||
}
|
||||
receiver = self.search(recipient, global_search=True)
|
||||
if not receiver:
|
||||
|
|
|
|||
|
|
@ -421,3 +421,18 @@ class Boat(Script):
|
|||
# For the next time we need to sail, we go to a default island:
|
||||
self.db.sailing_direction = None
|
||||
self.db.is_sailing = False
|
||||
|
||||
|
||||
class ResetBoat(Script):
|
||||
"""
|
||||
Script to pull the boat back out to sea and dock it at an island.
|
||||
"""
|
||||
def at_repeat(self, **kwargs):
|
||||
script_results = search.scripts("sailing")
|
||||
if script_results:
|
||||
script = script_results[0]
|
||||
if not script.db.is_sailing:
|
||||
script.to_isle()
|
||||
|
||||
# Just make sure the script is running:
|
||||
script.start()
|
||||
|
|
|
|||
|
|
@ -147,11 +147,29 @@ class CreateSticks(Script):
|
|||
stick = spawn({
|
||||
"typeclass": "typeclasses.things.Stick",
|
||||
"key": "stick",
|
||||
"desc": """Its brown and sticky.
|
||||
|
||||
Well, by sticky, we mean, wizardly-sticky...an absolutely amazing looking stick...definitely a wizardly stick.""",
|
||||
"desc": """Its brown and sticky.|/|/Well, by sticky, we mean, wizardly-sticky...an absolutely amazing looking stick...definitely a wizardly stick.""",
|
||||
})[0]
|
||||
stick.location = woods
|
||||
woods.msg_contents("A stick falls from one of the trees and lands on the ground near your feet.")
|
||||
|
||||
|
||||
class CreateHorns(Script):
|
||||
"""
|
||||
Script to create calling horns.
|
||||
"""
|
||||
def at_repeat(self, **kwargs):
|
||||
hut = self.attributes.get("destination")
|
||||
results = hut.search('horn')
|
||||
if results and len(results) > 0 and results[0].location == hut:
|
||||
pass
|
||||
else:
|
||||
horn = spawn({
|
||||
"typeclass": "typeclasses.sailing.CallingHorn",
|
||||
"key": "horn",
|
||||
"desc": "While physical, this curved horn seems made from sea mist, and has an amorphous quality. Wonder what would happen if you |gblow|n this horn? And where?",
|
||||
})[0]
|
||||
horn.location = hut
|
||||
hut.msg_contents("The misty smell of brine wafts in through a window. The mists congeal to form a horn, hanging on a hook near the window.")
|
||||
|
||||
|
||||
class Spell(Script):
|
||||
|
|
|
|||
|
|
@ -24,6 +24,12 @@ from .scripts import KnockScript
|
|||
from .objects import Object
|
||||
|
||||
|
||||
class Medal(Object):
|
||||
"""
|
||||
A medal is mostly a marker for showing how far you made.
|
||||
"""
|
||||
|
||||
|
||||
class CoinPurse(Object):
|
||||
"""
|
||||
A pouch containing the character coins.
|
||||
|
|
|
|||
|
|
@ -15,10 +15,23 @@
|
|||
|
||||
|
||||
|
||||
# And we will create them regularly in the Homey Hut
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:3]]
|
||||
py timed_script = evennia.create_script(key="Create Horns",
|
||||
typeclass='typeclasses.scripts.CreateHorns',
|
||||
interval=14400, # 4 hours?
|
||||
start_delay=False, # wait interval before first call
|
||||
autostart=True,
|
||||
attributes=[("destination", here)] )
|
||||
# The Mist Horn:3 ends here
|
||||
|
||||
|
||||
|
||||
# The horn will come and go, and this is controlled by a StoryCube:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:3]]
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:4]]
|
||||
@teleport mp06
|
||||
#
|
||||
@create/drop mp06ctl:typeclasses.puzzles.StoryCube
|
||||
|
|
@ -27,17 +40,6 @@
|
|||
#
|
||||
# To make it invisible, we lock the view:
|
||||
@lock mp06ctl = view:false()
|
||||
# The Mist Horn:3 ends here
|
||||
|
||||
|
||||
|
||||
# To make sure other players can use the horn, we need to have it return to its original state. For this, we tether it to the StoryCube, and come up with a lovely excuse why they can’t have it forever:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:4]]
|
||||
@lock mist horn = tethered:id(mp06ctl)
|
||||
#
|
||||
@set mist horn/tethered_msg = "The horn dissipates back into the mist."
|
||||
# The Mist Horn:4 ends here
|
||||
|
||||
|
||||
|
|
@ -45,36 +47,38 @@
|
|||
# When a character arrives at the Lazy Dock and wait, the horn will appear.
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:5]]
|
||||
@set mp06ctl/arrive = "25 ;; gm The mists gather over the sea. ;; 5 ;; gm The swirling mists coalesce into a shape of a curved horn. ;; 2 ;; teleport mist horn = Lazy Dock ;; gm The curved horn, now physical, drops to the dock."
|
||||
# The Mist Horn:5 ends here
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:6]]
|
||||
# @set mp06ctl/arrive = "25 ;; gm The mists gather over the sea. ;; 5 ;; gm The swirling mists coalesce into a shape of a curved horn. ;; 2 ;; teleport mist horn = Lazy Dock ;; gm The curved horn, now physical, drops to the dock."
|
||||
#
|
||||
@set mp06ctl/arrive = "30 ;; gm Did you hear that? Sounds like a distant horn ... Perhaps the wind. ;; gm You think you saw a boat out on the sea ... but maybe not. "
|
||||
# The Mist Horn:6 ends here
|
||||
|
||||
|
||||
|
||||
# And let’s put the horn /in/ the StoryCube:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:6]]
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:7]]
|
||||
@teleport/quiet mist horn = mp06ctl
|
||||
# The Mist Horn:6 ends here
|
||||
# The Mist Horn:7 ends here
|
||||
|
||||
|
||||
|
||||
# And a cleanup command to remove the horn from wherever it is:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:7]]
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:8]]
|
||||
@set mp06ctl/cleanup = "@teleport mist horn = me"
|
||||
# The Mist Horn:7 ends here
|
||||
# The Mist Horn:8 ends here
|
||||
|
||||
|
||||
|
||||
# And cleanup:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:8]]
|
||||
# [[file:../../../projects/mud-adventure.org::*The Mist Horn][The Mist Horn:9]]
|
||||
py me.search('mp06ctl').cleanup()
|
||||
# The Mist Horn:8 ends here
|
||||
# The Mist Horn:9 ends here
|
||||
|
||||
# The Boat
|
||||
# When the boat is docked, we should have a special /state/ to describe it:
|
||||
|
|
@ -204,6 +208,19 @@ desc dock = A lazy dock with a comfortable-looking chair and a forest of colossa
|
|||
@teleport/tonone boat
|
||||
# The Boat:14 ends here
|
||||
|
||||
|
||||
|
||||
# Finally, we create a script that keeps the boat out at the island:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*The Boat][The Boat:15]]
|
||||
py timed_script = evennia.create_script(key="Reset Boat",
|
||||
typeclass='typeclasses.sailing.ResetBoat',
|
||||
interval=14400,
|
||||
start_delay=False,
|
||||
autostart=True)
|
||||
# The Boat:15 ends here
|
||||
|
||||
# Throne Island
|
||||
# The boat should land on a distant island.
|
||||
|
||||
|
|
@ -509,40 +526,9 @@ light torch
|
|||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*Puzzle Three][Puzzle Three:6]]
|
||||
@set obelisk/say = { r".*\b[Ww]ater\b": "gm Upon uttering that phrase, sparks of octarine magic and mist appear on the opening on the obelisk. ;; gm A conch materializes in the opening. ;; teleport conch = Antechamber ;; gm You also notice a secret door! ;; tag_all hidden_antechamber_door" }
|
||||
@set obelisk/say = { r".*\b[Ww]ater\b": "gm Upon uttering that phrase, sparks of octarine magic and mist appear on the opening on the obelisk. ;; gm A blue medal materializes in the opening. You snatch it, claiming your prize. ;; gift_all blue ;; gm You also notice a secret door! ;; tag_all hidden_antechamber_door" }
|
||||
# Puzzle Three:6 ends here
|
||||
|
||||
|
||||
|
||||
# Of course, we need a conch for this magic:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*Puzzle Three][Puzzle Three:7]]
|
||||
@create conch:typeclasses.sailing.CallingHorn
|
||||
# Puzzle Three:7 ends here
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*Puzzle Three][Puzzle Three:8]]
|
||||
@desc conch = A shimmering, otherworldly shell.
|
||||
# Puzzle Three:8 ends here
|
||||
|
||||
|
||||
|
||||
# This conch _belongs_ in the obelisk:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*Puzzle Three][Puzzle Three:9]]
|
||||
@set obelisk/objects_here = "conch"
|
||||
# Puzzle Three:9 ends here
|
||||
|
||||
|
||||
|
||||
# And put it away:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-adventure.org::*Puzzle Three][Puzzle Three:10]]
|
||||
py me.search('#610', global_search=True).cleanup()
|
||||
# Puzzle Three:10 ends here
|
||||
|
||||
# Puzzle Four
|
||||
# Another puzzle, another room:
|
||||
|
||||
|
|
|
|||
|
|
@ -445,7 +445,7 @@ py timed_script = evennia.create_script(key="Create Sticks",
|
|||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Field][Field:9]]
|
||||
@detail stream;field = A slow-moving stream meanders like a snake in the grassy field. Little green |Yfrogs|n cling to grass stems hanging over the water.
|
||||
@detail field = A slow-moving |Ystream|n meanders like a snake in the grassy field. Little green |Yfrogs|n cling to grass stems hanging over the water.
|
||||
# Field:9 ends here
|
||||
|
||||
|
||||
|
|
@ -462,7 +462,7 @@ py timed_script = evennia.create_script(key="Create Sticks",
|
|||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Waterfall][Waterfall:1]]
|
||||
@create/drop waterfall;water
|
||||
@create/drop waterfall
|
||||
# Waterfall:1 ends here
|
||||
|
||||
|
||||
|
|
@ -474,22 +474,26 @@ py timed_script = evennia.create_script(key="Create Sticks",
|
|||
@desc waterfall = Cascading down the cliff in three sections, each section of this giant waterfall widens ending in a large |Ypool|n.|/|/Wait! Is there a large |Ycave|n entrance hidden behind the water?
|
||||
# Waterfall:2 ends here
|
||||
|
||||
# [[file:../../../projects/mud.org::*Waterfall][Waterfall:3]]
|
||||
@lock waterfall = get:false()
|
||||
# Waterfall:3 ends here
|
||||
|
||||
|
||||
|
||||
# Looking at the waterfall, shows the cave entrance:
|
||||
|
||||
# [[file:../../../projects/mud.org::*Waterfall][Waterfall:3]]
|
||||
# [[file:../../../projects/mud.org::*Waterfall][Waterfall:4]]
|
||||
@set waterfall/hidden_tag = "hidden_cave"
|
||||
#
|
||||
@set waterfall/hidden_tag = "hidden_waterfall"
|
||||
#
|
||||
@lock waterfall = view:tag(hidden_waterfall)
|
||||
# Waterfall:3 ends here
|
||||
|
||||
# [[file:../../../projects/mud.org::*Waterfall][Waterfall:4]]
|
||||
@detail pool = A pool of cool, clear water.
|
||||
# Waterfall:4 ends here
|
||||
|
||||
# [[file:../../../projects/mud.org::*Waterfall][Waterfall:5]]
|
||||
@detail pool = A pool of cool, clear water.
|
||||
# Waterfall:5 ends here
|
||||
|
||||
# The Lair of the Beast
|
||||
# To create a place for our big, hairy beast to sleep, first jump to the Meadow:
|
||||
|
||||
|
|
@ -1261,6 +1265,20 @@ py timed_script = evennia.create_script(key="Create Sticks",
|
|||
@lock reed = view:tag(hidden_reed)
|
||||
# Inside Trampoli’s Hut:9 ends here
|
||||
|
||||
|
||||
|
||||
# The primary treasure is the horn. Anyone can acquire it, and keep it as a way to control the Leaf Boat. We generate them every 4 hours:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Inside Trampoli’s Hut][Inside Trampoli’s Hut:10]]
|
||||
py timed_script = evennia.create_script(key="Create Horns",
|
||||
typeclass='typeclasses.scripts.CreateHorns',
|
||||
interval=14400,
|
||||
start_delay=False,
|
||||
autostart=True,
|
||||
attributes=[("destination", here)] )
|
||||
# Inside Trampoli’s Hut:10 ends here
|
||||
|
||||
# Torches
|
||||
# The reed can be a [[file:~/src/moss-n-puddles/typeclasses/consumables.py::class Producer(Object):][producer]] that makes ten foot poles … needed to get into the hut.
|
||||
|
||||
|
|
@ -1382,8 +1400,13 @@ py bt = self.search('old lady'); bt.db.pose = 'playing with a deck of cards'
|
|||
@set old lady/desc_unpuppeted = "A blue shawl, adorned with arcane symbols in gold embroidery, covers the head of this small, napping woman. Her large nose protruding from under the shawl, as she snores loudly."
|
||||
# Trampoli the Witch:7 ends here
|
||||
|
||||
|
||||
|
||||
# If I do this, then she can’t really be puppeted.
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Trampoli the Witch][Trampoli the Witch:8]]
|
||||
@set old lady/arrive = "15 ;; gm You hear someone in the loft up the stairs stirring in their bed. ;; 15 ;; pose looking confused ;; emote The /me wakes up and says, \"What's all this then?\" ;; 5 ;; say Who are you, dearie? ;; 10 ;; say I'd think I have intruders in my home! ;; 1 ;; emote grabs her broom and with a sweeping motion from the stairs, you find yourself flying out the door! ;; teleport {3} = Mellow Marsh ;; 3 ;; gm/#457 You hear a voice coming from the hut, \"Scat!\" ;; pose sleeping in a bed up in the loft"
|
||||
@set old lady/arrive = "45 ;; gm You hear someone in the loft up the stairs stirring in their bed. ;; 55 ;; pose looking confused ;; emote The /me wakes up and says, \"What's all this then?\" ;; 5 ;; say Who are you, dearie? ;; 10 ;; say I'd think I have intruders in my home! ;; 1 ;; emote grabs her broom and with a sweeping motion from the stairs, you find yourself flying out the door! ;; teleport {3} = Mellow Marsh ;; 3 ;; gm/#457 You hear a voice coming from the hut, \"Scat!\" ;; pose sleeping in a bed up in the loft"
|
||||
# Trampoli the Witch:8 ends here
|
||||
|
||||
# The Dock
|
||||
|
|
@ -2807,6 +2830,222 @@ py bt = self.search('imp'); bt.db.pose = 'sitting on an ornate perch'
|
|||
@set imp/say = "1 ;; emote << nods ^ looks at you quizically ^ stares at you curiously ^ shrugs ^ investigates its fingerclaws ^ winks ^ smirks ^ raises an eyebrow ... well, if it had one, it would ^ stares at you ^ squints its eyes >>."
|
||||
# Imp:8 ends here
|
||||
|
||||
# Laughing Potion
|
||||
# Need a script….
|
||||
|
||||
# Colorful gigglecaps prefer well drained locations to grow, like on the top of boulders.
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Laughing Potion][Laughing Potion:1]]
|
||||
@teleport/quiet mp02
|
||||
#
|
||||
@create/drop patch of mushrooms;mushrooms;mushroom: typeclasses.consumables.Producer
|
||||
#
|
||||
@desc mushrooms = A vibrant patch of mushrooms bursts forth like a painter's palette, each cap shimmering with iridescent hues of violet, emerald, and gold. Their delicate stems sway gently in the enchanted breeze...wait, you feel no breeze. They seem to be undulating with unheard laughter.
|
||||
#
|
||||
@set mushrooms/make_name = "gigglecap mushroom"
|
||||
#
|
||||
@set mushrooms/make_verb = "$conj(harvest) a"
|
||||
#
|
||||
@set mushrooms/make_class = "typeclasses.consumables.Edible"
|
||||
#
|
||||
@set mushrooms/make_desc = "A whimsical fungi emits a soft, melodic laughter when touched."
|
||||
#
|
||||
@set mushrooms/make_amount = 1
|
||||
#
|
||||
@set mushrooms/make_spell_msgs = "10 ;; $You() $conj(<< giggle ^ chuckle ^ chortle >>) out loud."
|
||||
# Laughing Potion:1 ends here
|
||||
|
||||
|
||||
|
||||
# This purple grass, often called tickleweed since it vibrates as if laughing, can be found in fields and meadows throughout the area.
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Laughing Potion][Laughing Potion:2]]
|
||||
@teleport/quiet mp05
|
||||
#
|
||||
@create/drop patch of tickleweed;tickleweed: typeclasses.consumables.Producer
|
||||
#
|
||||
@desc tickleweed = Patches of this vivid grass vibrates as if giggling.
|
||||
#
|
||||
@set tickleweed/make_name = "bunch of tickleweed"
|
||||
#
|
||||
@set tickleweed/make_verb = "$conj(harvest) a"
|
||||
#
|
||||
@set tickleweed/make_class = "typeclasses.consumables.Herb"
|
||||
#
|
||||
@set tickleweed/make_desc = "This grass vibrates as if giggling."
|
||||
#
|
||||
@set tickleweed/make_amount = 1
|
||||
# Laughing Potion:2 ends here
|
||||
|
||||
|
||||
|
||||
# And some fizzy water;
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Laughing Potion][Laughing Potion:3]]
|
||||
@teleport/quiet mp05
|
||||
#
|
||||
@create/drop stream;water: typeclasses.drinkables.Water
|
||||
#
|
||||
@desc stream = A slow-moving stream meanders like a snake in the grassy field. The water, fizzy with bubbles from the waterfall torrent, creates an efforvesent aroma. Little green |Yfrogs|n cling to grass stems hanging over the sparkling water.
|
||||
#
|
||||
@lock stream = get:false()
|
||||
#
|
||||
@set stream/get_err_msg = "Seriously? You can't get that. Perhaps you can |gfill|n a |gbottle|n, or at least a cup, could hold the fizzy water."
|
||||
#
|
||||
@set stream/fill_name = "fizzy water"
|
||||
#
|
||||
@set stream/fill_desc = "sparkling water from waterfall turbulence."
|
||||
#
|
||||
@set stream/fill_msgs = ["$You() $conj(<< get ^ kneel >>) down, and $conj(fill) $pron(your) {2} with sparkling efforvesence.", "$You() $conj(<< get ^ kneel >>) down, and $conj(put) $pron(your) {2} in the cool water, filling it."]
|
||||
# Laughing Potion:3 ends here
|
||||
|
||||
# Trippy Potion
|
||||
# After ingesting this potion, they may see hallucinations and nightmares. It would be nice if these dreams could incorporate the room state.
|
||||
|
||||
# I’ve noticed Pixies often dance in the marshlands to the East, but are often invisible except in the evenings. I’ve attempted to discuss a trade for pixie dust, but often luck out as they often pay more attention to their choreography than any trinkets I could produce.
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Trippy Potion][Trippy Potion:1]]
|
||||
@teleport/quiet mp08
|
||||
#
|
||||
@create/drop patch of glitter;pixie dust;dust: typeclasses.consumables.Producer
|
||||
#
|
||||
@desc pixie dust = As you look at reeds and marsh grass, you notice the shiny glitter is actually dander from pixies... pixie dust. With a little effort, you could gather a small sack of it.
|
||||
#
|
||||
@set pixie dust/make_name = "sack of pixie dust"
|
||||
#
|
||||
@set pixie dust/make_verb = "$conj(collect) and $conj(fill) a"
|
||||
#
|
||||
@set pixie dust/make_class = "typeclasses.objects.Object"
|
||||
#
|
||||
@set pixie dust/make_desc = "Small bag of the good, shiny stuff."
|
||||
#
|
||||
@set pixie dust/make_amount = 1
|
||||
# Trippy Potion:1 ends here
|
||||
|
||||
|
||||
|
||||
# Fresh spring water should be in the Grotto, right?
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Trippy Potion][Trippy Potion:2]]
|
||||
@teleport/quiet mp04
|
||||
#
|
||||
@create/drop stream;water: typeclasses.drinkables.Water
|
||||
#
|
||||
@lock stream = get:false()
|
||||
#
|
||||
@set stream/get_err_msg = "Seriously? You can't get that. Perhaps a bottle, or at least a cup, could hold the fresh water."
|
||||
#
|
||||
@desc stream = A small stream, almost hidden behind the ferns and brambleberry bushes, drops down a lush hill, creating a lush, relaxing feeling. The water looks fresh and pure.
|
||||
#
|
||||
@set stream/fill_name = "still water"
|
||||
#
|
||||
@set stream/fill_desc = "fresh spring water."
|
||||
#
|
||||
@set stream/fill_msgs = ["$You() $conj(<< get ^ kneel >>) down, and $conj(fill) $pron(your) {2} with the << spring ^ fresh ^ refreshing >> water.", "$You() $conj(<< get ^ kneel >>) down, and $conj(put) $pron(your) {2} in the cool water, filling it."]
|
||||
# Trippy Potion:2 ends here
|
||||
|
||||
|
||||
|
||||
# Dreamshade mushrooms feed on floating dreams, and often congregate where dreamers sleep.
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Trippy Potion][Trippy Potion:3]]
|
||||
@teleport/quiet mp07
|
||||
#
|
||||
@create/drop cluster of mushrooms;mushroom: typeclasses.consumables.Producer
|
||||
#
|
||||
@desc mushrooms = Slender blue tendrils of a fungus encircle the base of the mattress.
|
||||
#
|
||||
@set mushrooms/make_name = "sack of mushrooms"
|
||||
#
|
||||
@set mushrooms/make_verb = "$conj(collect) and $conj(fill) a"
|
||||
#
|
||||
@set mushrooms/make_class = "typeclasses.consumables.Edible"
|
||||
#
|
||||
@set mushrooms/make_desc = "Small collection of slender, blue mushrooms."
|
||||
#
|
||||
@set mushrooms/make_amount = 1
|
||||
#
|
||||
@set mushrooms/make_spell_msgs = "10 ;; $You() $conj(nod) off, as $pron(your) head bobbles and bounces. ;; 5 ;; $You() $conj(awaken) with a start."
|
||||
# Trippy Potion:3 ends here
|
||||
|
||||
|
||||
|
||||
# The moonberries grow under conifers, and I find I often have to travel to one of the islands on the Lavender Sea to collect these.
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Trippy Potion][Trippy Potion:4]]
|
||||
@teleport/quiet gr02
|
||||
#
|
||||
@create/drop moonberries;moonberry;berry: typeclasses.consumables.Producer
|
||||
#
|
||||
@desc moonberries = Growing a slender vines that wrap around the trunks of the pine trees. Laden with small, blue berries, each reflecting a white cresent shape.
|
||||
#
|
||||
@set moonberries/make_name = "handful of moonberries"
|
||||
#
|
||||
@set moonberries/make_verb = "$conj(collect) a"
|
||||
#
|
||||
@set moonberries/make_class = "typeclasses.objects.Edible"
|
||||
#
|
||||
@set moonberries/make_desc = "Blue berries with a white cresent shape."
|
||||
#
|
||||
@set moonberries/make_amount = 1
|
||||
#
|
||||
@set moonberries/make_eat_msg = "Slightly bitter. Not very good."
|
||||
#
|
||||
@set mushrooms/make_spell_msgs = "10 ;; $You() $conj(nod) off, as $pron(your) head bobbles and bounces. ;; 5 ;; $You() $conj(awaken) with a start."
|
||||
# Trippy Potion:4 ends here
|
||||
|
||||
# Other
|
||||
# We’ll get ready by allowing one to collect water from _all_ the places, like the salty sea:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Other][Other:1]]
|
||||
@teleport/quiet mp06
|
||||
#
|
||||
@create/drop lavender sea;sea;water;bay: typeclasses.drinkables.Water
|
||||
#
|
||||
@desc sea = A gently waving sea. Too bad the shore doesn't respond with a greeting of its own.
|
||||
#
|
||||
@lock sea = get:false()
|
||||
#
|
||||
@set sea/get_err_msg = "You can only hold the sea in your heart. Perhaps a bottle, or at least a cup, could hold the salty water."
|
||||
#
|
||||
@set sea/fill_name = "salt water"
|
||||
#
|
||||
@set sea/fill_desc = "salty water with a purple hue."
|
||||
#
|
||||
@set sea/fill_msgs = ["$You() $conj(reach) down from the dock, and $conj(fill) $pron(your) {2} with the << salty ^ lavender ^ fragrant >> water."]
|
||||
# Other:1 ends here
|
||||
|
||||
|
||||
|
||||
# And the muddy marsh:
|
||||
|
||||
|
||||
# [[file:../../../projects/mud.org::*Other][Other:2]]
|
||||
@teleport/quiet mp08
|
||||
#
|
||||
@create/drop river;stream;water: typeclasses.drinkables.Water
|
||||
#
|
||||
@lock river = get:false()
|
||||
#
|
||||
@set river/get_err_msg = "Slippery things, those rivers. Seems you would need |gfill|n a |gbottle|n, or at least a cup to hold the muddy water."
|
||||
|
||||
@desc river = A muddy, almost stagnant river. Smells like a fecund stew of moist dirt and decomposing swamp herbage.
|
||||
#
|
||||
@set river/fill_name = "muddy water"
|
||||
#
|
||||
@set river/fill_desc = "muddy water from the marsh."
|
||||
#
|
||||
@set river/fill_msgs = ["$You() $conj(<< get ^ kneel >>) down, and $conj(fill) $pron(your) {2} with the muddy water."]
|
||||
# Other:2 ends here
|
||||
|
||||
# Bedroom
|
||||
# A bedroom with a wardrobe that goes to another land sounds great.
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,19 @@
|
|||
@detail chairs;chair = Didn't know that trees could grow in the shape of a chair, and yet, you're looking at examples.
|
||||
# Main Bar Area:10 ends here
|
||||
|
||||
|
||||
|
||||
# And how to leave …
|
||||
|
||||
|
||||
# [[file:../../../projects/mud-rpg.org::*Main Bar Area][Main Bar Area:11]]
|
||||
@open corridor of glowing orbs;corridor;leave = Frog Meadow
|
||||
#
|
||||
@desc corridor = The lights swaying in the boughs of the trees seem to swirl into a large oval shape between two tree trunks. More lights illuminate a corridor out from this tree ring ...
|
||||
#
|
||||
@set corridor/traverse_msg = "You follow the orbs through the trees and out of this mystical forest."
|
||||
# Main Bar Area:11 ends here
|
||||
|
||||
# Bowl of Candy
|
||||
# Gives out candy, as there is a never-ending bowl of them on the bar.
|
||||
|
||||
|
|
@ -186,7 +199,7 @@
|
|||
|
||||
|
||||
# [[file:../../../projects/mud-rpg.org::*Portal][Portal:2]]
|
||||
@desc orbs = The orbs swirl around in a circular pattern creating a mesmorizing vortex of light leading into the forest.
|
||||
@desc orbs = The orbs swirl around in a circular pattern creating a mesmorizing vortex of light leading into another part of the forest.
|
||||
# Portal:2 ends here
|
||||
|
||||
|
||||
|
|
@ -194,7 +207,7 @@
|
|||
# And a nice journey message to go east out of the forest:
|
||||
|
||||
# [[file:../../../projects/mud-rpg.org::*Portal][Portal:3]]
|
||||
@set orbs/traverse_msg = "You follow the orbs deeper into the forest, until you seem to drift away and doze off, but then..."
|
||||
@set orbs/traverse_msg = "You follow the orbs deeper into the forest, until you seem to drift away..."
|
||||
# Portal:3 ends here
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue