Limit ability to litter with berries, flowers, etc.
Also gave the wee beastie a taste for yellow flowers.
This commit is contained in:
parent
a73faf0161
commit
f293b506b9
7 changed files with 451 additions and 19 deletions
|
|
@ -13,7 +13,20 @@ from typeclasses.objects import Object
|
||||||
from utils.word_list import routput # , choices
|
from utils.word_list import routput # , choices
|
||||||
|
|
||||||
|
|
||||||
class Consumable(Object):
|
class Litterable(Object):
|
||||||
|
"""
|
||||||
|
Objects, that if dropped, are deleted instead.
|
||||||
|
The default thing for a producer.
|
||||||
|
"""
|
||||||
|
def at_pre_drop(self, dropper):
|
||||||
|
"""
|
||||||
|
Let's keep this world tidy.
|
||||||
|
"""
|
||||||
|
dropper.announce_action(f"$You() $conj(drop) the {self.name}.")
|
||||||
|
self.delete()
|
||||||
|
|
||||||
|
|
||||||
|
class Consumable(Litterable):
|
||||||
"""
|
"""
|
||||||
Create with a command:
|
Create with a command:
|
||||||
|
|
||||||
|
|
@ -60,7 +73,7 @@ class Consumable(Object):
|
||||||
self.delete()
|
self.delete()
|
||||||
|
|
||||||
|
|
||||||
class Herb(Object):
|
class Herb(Litterable):
|
||||||
"""
|
"""
|
||||||
Essentially a marker for something that can go in a cauldron.
|
Essentially a marker for something that can go in a cauldron.
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -459,6 +459,57 @@ class Friendly(Pet):
|
||||||
petter.announce_action(f"$You() $conj(pet) {self.name}.")
|
petter.announce_action(f"$You() $conj(pet) {self.name}.")
|
||||||
|
|
||||||
|
|
||||||
|
class WeeBeastie(Friendly):
|
||||||
|
"""
|
||||||
|
The stoat that lives in Dabbler's house, is a finicky eater.
|
||||||
|
"""
|
||||||
|
def feed(self, feeder, item=None):
|
||||||
|
"""
|
||||||
|
Feeding the beast. If item is None, we choose something
|
||||||
|
the character has, and go with that...
|
||||||
|
"""
|
||||||
|
# Categorize items that can be used to feed the beast:
|
||||||
|
def is_flower(item):
|
||||||
|
return (not item and feeder.has("yellow flower")) or \
|
||||||
|
(item and item.key == 'yellow flower')
|
||||||
|
|
||||||
|
# Based on the reaction to the feeder, the adjectives may alter:
|
||||||
|
noun = "The " + random.choice(["wee", "furry", "white", "adorable"]) + " beastie"
|
||||||
|
|
||||||
|
match self.friendly_reaction(feeder):
|
||||||
|
case Reaction.SCARED:
|
||||||
|
how_sniff = "carefully"
|
||||||
|
how_eat = "curiously"
|
||||||
|
and_then = "nonchalantly walks away"
|
||||||
|
case Reaction.CONCERNED:
|
||||||
|
how_sniff = "gently"
|
||||||
|
how_eat = "gingerly"
|
||||||
|
and_then = "indifferently returns to its nap"
|
||||||
|
case Reaction.INTERESTED:
|
||||||
|
how_sniff = "quickly"
|
||||||
|
how_eat = "curiously"
|
||||||
|
and_then = "gingerly sniffs to see what else $you() might have"
|
||||||
|
case _:
|
||||||
|
how_sniff = "excitedly"
|
||||||
|
how_eat = random.choice(["eagerly", "gladly", "vigorously"])
|
||||||
|
and_then = random.choice([
|
||||||
|
"gives $pron(you,op) a cute lick as if to say, Thank you",
|
||||||
|
"purrs in appreciation for the treat",
|
||||||
|
"rubs its wee widdle head under $pron(you,op) chin in gratitude",
|
||||||
|
])
|
||||||
|
|
||||||
|
if is_flower(item):
|
||||||
|
msg = f"{noun} {how_sniff} sniffs $your() << hand holding a ^>> flower. It {how_eat} eats it, and {and_then}."
|
||||||
|
self.adjust_character(feeder, 100)
|
||||||
|
feeder.has('yellow flower').delete()
|
||||||
|
else:
|
||||||
|
msg = f"{noun} doesn't appear interested in anything you have."
|
||||||
|
|
||||||
|
if msg:
|
||||||
|
feeder.announce_action(msg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class BHB(Friendly):
|
class BHB(Friendly):
|
||||||
def return_appearance(self, looker):
|
def return_appearance(self, looker):
|
||||||
if self.db.is_awake:
|
if self.db.is_awake:
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,9 @@ from commands.misc import (CmdSetPuddle,
|
||||||
from commands.consumables import CmdSetMakeConsumable
|
from commands.consumables import CmdSetMakeConsumable
|
||||||
from commands.wizards import CmdSetWand
|
from commands.wizards import CmdSetWand
|
||||||
from utils.word_list import routput, choices, paragraph
|
from utils.word_list import routput, choices, paragraph
|
||||||
from .scripts import KnockScript
|
from typeclasses.consumables import Litterable
|
||||||
from .objects import Object
|
from typeclasses.objects import Object
|
||||||
|
from typeclasses.scripts import KnockScript
|
||||||
|
|
||||||
|
|
||||||
class Medal(Object):
|
class Medal(Object):
|
||||||
|
|
@ -78,7 +79,7 @@ class CoinPurse(Object):
|
||||||
return self.how_much() >= at_least
|
return self.how_much() >= at_least
|
||||||
|
|
||||||
|
|
||||||
class Rope(Object):
|
class Rope(Litterable):
|
||||||
"""
|
"""
|
||||||
A rope can be used in particular circumstances.
|
A rope can be used in particular circumstances.
|
||||||
"""
|
"""
|
||||||
|
|
@ -318,7 +319,7 @@ class Pipe(Object):
|
||||||
The << smoke ^ >> << monster ^ {monster} >> changes << colors ^ to purple ^ to blue ^ to pink>> before << dissipating ^ dispersing >>.""")
|
The << smoke ^ >> << monster ^ {monster} >> changes << colors ^ to purple ^ to blue ^ to pink>> before << dissipating ^ dispersing >>.""")
|
||||||
self.location.location.msg_contents(msg)
|
self.location.location.msg_contents(msg)
|
||||||
|
|
||||||
class Wood(Object):
|
class Wood(Litterable):
|
||||||
"An object to burn."
|
"An object to burn."
|
||||||
def at_object_creation(self):
|
def at_object_creation(self):
|
||||||
self.db.singular = "a log"
|
self.db.singular = "a log"
|
||||||
|
|
@ -942,7 +943,7 @@ class BagofJunk(Object):
|
||||||
description = f"An interesting item found in a {where}."
|
description = f"An interesting item found in a {where}."
|
||||||
|
|
||||||
item = spawn({
|
item = spawn({
|
||||||
"typeclass": "typeclasses.objects.Object",
|
"typeclass": "typeclasses.consumables.Litterable",
|
||||||
"key": self.db.latest_item,
|
"key": self.db.latest_item,
|
||||||
"desc": description
|
"desc": description
|
||||||
})[0]
|
})[0]
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,11 @@ textarea.inputfield:focus {
|
||||||
color: #19130d;
|
color: #19130d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.color-003 {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #ffd700;
|
||||||
|
text-shadow: 2px 2px;
|
||||||
|
}
|
||||||
.color-015 {
|
.color-015 {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: black;
|
color: black;
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,7 @@ HELP_ENTRY_DICTS = [
|
||||||
"key": "start",
|
"key": "start",
|
||||||
"aliases": ["intro"],
|
"aliases": ["intro"],
|
||||||
"locks": "read:all()",
|
"locks": "read:all()",
|
||||||
"text": """Again, welcome to my cozy little game.
|
"text": """To |wplay this game|n, you typically type a |w<verb>|n for an action, or |w<verb> <object>|n combinations. For instance, type |glook|n to look around the area, and |glook tree|n to examine the trees in particular. The more you look, the more you explore.
|
||||||
|
|
||||||
To |wplay this game|n, you typically type a |w<verb>|n for an action, or |w<verb> <object>|n combinations. For instance, type |glook|n to look around the area, and |glook tree|n to examine the trees in particular. The more you look, the more you explore.
|
|
||||||
|
|
||||||
What verbs are available depends on where you are and what you might be holding. Type |ghelp|n with no other option to get a list of those commands. Then type |ghelp look|n to get details on how to use the |wlook|n verb.
|
What verbs are available depends on where you are and what you might be holding. Type |ghelp|n with no other option to get a list of those commands. Then type |ghelp look|n to get details on how to use the |wlook|n verb.
|
||||||
|
|
||||||
|
|
@ -65,8 +63,6 @@ You will also want to |wadd to that description|n with a pose, like:
|
||||||
|
|
||||||
These two labels will be shown to anyone looking around the area you are in.
|
These two labels will be shown to anyone looking around the area you are in.
|
||||||
|
|
||||||
What is the goal of this game? Just to escape the chaos of the world and explore an idyllic setting. I call it my |yegg hunt game|n, as the game is full odd stuff to discover. Feel free to find me to chat, but good luck finding me, as I may be hiding.
|
|
||||||
|
|
||||||
This is the end of this help section, but I have some related topics to this intro, so you can type |ghelp start/commands|n to get a list of typical commands, or just start playing this game.
|
This is the end of this help section, but I have some related topics to this intro, so you can type |ghelp start/commands|n to get a list of typical commands, or just start playing this game.
|
||||||
|
|
||||||
Enjoy!
|
Enjoy!
|
||||||
|
|
@ -88,6 +84,8 @@ A command is typically a 'verb'. The most common ones in this game are:
|
||||||
|
|
||||||
Type |ghelp|n and those commands to get more information on its usage.
|
Type |ghelp|n and those commands to get more information on its usage.
|
||||||
|
|
||||||
|
Or see the online Player's Handbook at https://howardabrams.com/cozy-players-guide/
|
||||||
|
|
||||||
## Exits
|
## Exits
|
||||||
|
|
||||||
Exits are special commands, and move you to a new location. So typing |gsouth|n will move you to a new location (assuming that exit is available). Some exits can be abbreviated, so typing |gs|n alone is the same as 'south'.
|
Exits are special commands, and move you to a new location. So typing |gsouth|n will move you to a new location (assuming that exit is available). Some exits can be abbreviated, so typing |gs|n alone is the same as 'south'.
|
||||||
|
|
@ -105,17 +103,19 @@ Leave your current character by typing:
|
||||||
|
|
||||||
|gooc|n
|
|gooc|n
|
||||||
|
|
||||||
Then delete your old character with:
|
While you don't have to, you can delete your old character with:
|
||||||
|
|
||||||
|gchardelete <original-name>|n
|
|gchardelete <original-name>|n
|
||||||
|
|
||||||
This only deletes the character of that name, not your account with that name.
|
This only deletes the character of that name, not your account.
|
||||||
|
|
||||||
Next, create a new character by typing:
|
Next, create a new character by typing:
|
||||||
|
|
||||||
|gcharcreate Rambler = A frumpy, but spry person with large ears and dark blue cloak.|n
|
|gcharcreate|n
|
||||||
|
|
||||||
And now, assume that character by typing:
|
And follow the step-by-step guide to creating a new character.
|
||||||
|
|
||||||
|
Assume a previously created character by typing:
|
||||||
|
|
||||||
|gic Rambler|n"""
|
|gic Rambler|n"""
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -768,7 +768,7 @@ send "drop book\n"
|
||||||
expectit "flies"
|
expectit "flies"
|
||||||
|
|
||||||
send "sit\n"
|
send "sit\n"
|
||||||
expectit "You sit in the few overstuffed chairs."
|
expectit "You sit in "
|
||||||
|
|
||||||
send "hint\n"
|
send "hint\n"
|
||||||
expectit "You are in a cozy and casual place"
|
expectit "You are in a cozy and casual place"
|
||||||
|
|
@ -1050,7 +1050,7 @@ send "up\n"
|
||||||
expectit "Cozy House"
|
expectit "Cozy House"
|
||||||
|
|
||||||
send "give laughing potion to gnome\n"
|
send "give laughing potion to gnome\n"
|
||||||
expectit "You give a laughing potion to Dabbler."
|
expectit "You give a laughing potion"
|
||||||
|
|
||||||
# Close the log file
|
# Close the log file
|
||||||
log_file
|
log_file
|
||||||
|
|
|
||||||
|
|
@ -1460,6 +1460,123 @@ py timed_script = evennia.create_script(key="Create Sticks",
|
||||||
@detail jars = Sealed jars of fruits, vegetables, herbs and spices.
|
@detail jars = Sealed jars of fruits, vegetables, herbs and spices.
|
||||||
# Inside Trampoli’s Hut:5 ends here
|
# Inside Trampoli’s Hut:5 ends here
|
||||||
|
|
||||||
|
# Jars
|
||||||
|
# Every time we look at a jar, we see something else … that we can’t take. This creates ambiance without adding too much complexity?
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:1]]
|
||||||
|
@tel/quiet Homey Hut
|
||||||
|
#
|
||||||
|
@create/drop assortment of jars;jars;jar: typeclasses.puzzles.Changling
|
||||||
|
# Jars:1 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Can’t get them:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:2]]
|
||||||
|
@lock jars = get:false()
|
||||||
|
#
|
||||||
|
@set jars/get_err_msg = "\"Do not steal our winter provisionings,\" the horned wolf skull says. \"What are you a thief?\""
|
||||||
|
# Jars:2 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And the generate description:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:3]]
|
||||||
|
@set jars/desc_first_prefix = "<< Fascinating ^ Interesting ^ Curious >> << collection of ^ assortment of ^ >> << jars ^ contents ^ ingredients >>. You look at one << jar ^ >> with << an afixed ^ an attached >> label of << scrawling ^ scribbling ^ squiggling >> << ink ^ writing ^ letters >>,|w"
|
||||||
|
#
|
||||||
|
@set jars/desc_prefix = "You look at another << jar ^ >> with << an afixed ^ an attached >> label of << scrawling ^ scribbling ^ squiggling >> << ink ^ writing ^ letters >>,|w"
|
||||||
|
#
|
||||||
|
@set jars/desc_postfix = ""
|
||||||
|
# Jars:3 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And now for a list of the contents:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:4]]
|
||||||
|
@set jars/descs = (
|
||||||
|
"Dragon's Breath|n. A swirling mist of iridescent smoke that changes color, said to contain the essence of fire.",
|
||||||
|
"Mermaid Tears|n. Clear, crystalline droplets that shimmer with a hint of blue, believed to bring good fortune.",
|
||||||
|
"Phoenix Ashes|n. A small jar filled with fine, red and gold ash, said to have the power of rebirth.",
|
||||||
|
"Enchanted Rose Petals|n. Dried petals that change color with the phases of the moon, said to attract love.",
|
||||||
|
"Eye of Newt|n. Filled with many small eyeballs.",
|
||||||
|
"Timekeeper's Sand|n. Fine, golden sand that flows slowly, rumored to have the power to manipulate time.",
|
||||||
|
"Cursed Bone Shards|n. Jagged pieces of bone, each one etched with strange symbols and glowing faintly.",
|
||||||
|
"Enchanted Honey|n. Thick, golden honey that glimmers with tiny flecks of light, like captured sunlight.",
|
||||||
|
"Faerie Wings|n. Delicate, translucent wings that shimmer in various colors, said to grant agility.",
|
||||||
|
"Elemental Stones|n. Small, smooth stones representing earth, air, fire, and water, each with a unique glow.",
|
||||||
|
"Owlbear Hair|n. Strands of shimmering hair from various magical creatures, said to enhance spells.",
|
||||||
|
"Frosted Rose Petals|n. Dried flowers that appear to be covered in frost, said to bring winter's magic.",
|
||||||
|
"Toadstool Caps|n. Vibrant mushroom caps of red, orange, and yellow, and adorned with delicate white speckles that catch the light.",
|
||||||
|
"Glowcaps|n. Clusters of tiny, bioluminescent mushrooms that emit a soft, greenish glow.",
|
||||||
|
"Dream|n. Fluffy, cotton-like wisps gently floating, resembling miniature clouds in the jar.",
|
||||||
|
"Mandrake Root|n. A twisted, gnarled root with a faintly green hue, nestled in a jar of dark soil.",
|
||||||
|
)
|
||||||
|
# Jars:4 ends here
|
||||||
|
|
||||||
|
# Herbs
|
||||||
|
# Like the [[*Jars][Jars]], the herbs return a different response each time they are viewed.
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Herbs][Herbs:1]]
|
||||||
|
@create/drop collection of herbs;herbs;herb: typeclasses.puzzles.Changling
|
||||||
|
# Herbs:1 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# While the skull protects the jars, we will have the demon stop the herbs from being pinched.
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Herbs][Herbs:2]]
|
||||||
|
@lock herbs = get:false()
|
||||||
|
#
|
||||||
|
@set herbs/get_err_msg = "On the wall, the carving comes to life, and flies next to you. \"Do not take her harvest,\" it says as it bats your hand away."
|
||||||
|
# Herbs:2 ends here
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Herbs][Herbs:3]]
|
||||||
|
@set herbs/desc_first_prefix = "<< Plenty ^ Many >> bundles around the room. One << particular ^ peculiar ^ >> << bundle ^ bouquet garni >> of "
|
||||||
|
#
|
||||||
|
@set herbs/desc_prefix = "<< Another ^ This >> << particular ^ peculiar ^ >> << bundle ^ bouquet garni >> of "
|
||||||
|
#
|
||||||
|
@set herbs/desc_postfix = " Tied with << twine ^ string ^ lace >> and << hanging from a rafter ^ hung from a nail ^ dangling from a post of a chair >>."
|
||||||
|
# Herbs:3 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And the individiaul choices are more appearance, and possibly smell, without claiming to be /worldly herbs/. Would like to add some dried red and other colored leaves to make it more fantastical.
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Herbs][Herbs:4]]
|
||||||
|
@set herbs/descs = (
|
||||||
|
"grayish-green, crinkled leaves, and has a strong, earthy aroma, like sage.",
|
||||||
|
"small, purple flowers, with that sweet, lavender scent.",
|
||||||
|
"thin, woody needles, and has a strong, pine-like fragrance, like rosemary.",
|
||||||
|
"small, white flowers with yellow centers, resembling tiny daisies.",
|
||||||
|
"tiny, greenish-brown leaves, with a robust, herbal scent, like thyme.",
|
||||||
|
"dark green leaves with a refreshing, minty aroma.",
|
||||||
|
"brown leaves, with a refreshing, minty aroma.",
|
||||||
|
"dark green and crinkled leaves, and have a sweet, peppery scent"
|
||||||
|
"brown, crinkled leaves, with a sweet, peppery, almost basil-like scent"
|
||||||
|
"grayish-green, feathery leaves, with a slightly bitter, mugwort-like aroma.",
|
||||||
|
"small, white and yellow flowers that have a feathery appearance, like yarrow.",
|
||||||
|
"dark green, almost brown leaves, with a slightly bitter aroma.",
|
||||||
|
"dark green leaves, some almost brown, with a coarse texture and earthy scent, like nettle.",
|
||||||
|
"feathery fronds, ranging from light green to brown, with a sweet, anise-like scent.",
|
||||||
|
"purple flowers (some brown), with a spiky center and a slightly sweet aroma, like echinacea.",
|
||||||
|
"bright orange to yellow flowers, with a slightly sweet, herbal scent.",
|
||||||
|
"dark green, smooth leaves, and have a strong, aromatic scent, like bay.",
|
||||||
|
"grayish-green, feathery leaves with a distinctive, bitter aroma.",
|
||||||
|
"brown and woody roots, with a strong, earthy Valerian-like smell.",
|
||||||
|
"brown, woody root with a sweet, distinct aroma, like licorice.",
|
||||||
|
)
|
||||||
|
# Herbs:4 ends here
|
||||||
|
|
||||||
# Talismans
|
# Talismans
|
||||||
# To give some character, we create some interesting art that decorates this hut.
|
# To give some character, we create some interesting art that decorates this hut.
|
||||||
|
|
||||||
|
|
@ -1861,6 +1978,184 @@ Someone has set a nice |Ychair|n for viewing.
|
||||||
@set sign/get_err_msg = "This granny knot holding the sign to the chair is serious. You can't take it."
|
@set sign/get_err_msg = "This granny knot holding the sign to the chair is serious. You can't take it."
|
||||||
# Sign:4 ends here
|
# Sign:4 ends here
|
||||||
|
|
||||||
|
# Sandy Shore
|
||||||
|
# Could we extend the sea from the [[file:mud.org::*The Dock][The Dock]] down a shore:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:1]]
|
||||||
|
@teleport/quiet mp06
|
||||||
|
#
|
||||||
|
@dig Shore;mp14 :typeclasses.rooms_weather.TimeWeatherRoom = south along shore;shore;south;s,north to dock;north;n;dock
|
||||||
|
# Sandy Shore:1 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# With a mesage about leaving the trees so that I don’t have to repeat that in the room description:
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:2]]
|
||||||
|
@set south/traverse_msg = "Leaving the dock, you want along the soft sandy shore next to the Lavender Sea, enjoying the mesmerizing sound of the surf... until you come to a shack that blocks your stroll."
|
||||||
|
# Sandy Shore:2 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And a description:
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:3]]
|
||||||
|
@desc south = You see a shack down along the sandy shore.
|
||||||
|
# Sandy Shore:3 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And move ourselves there:
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:4]]
|
||||||
|
@teleport mp15
|
||||||
|
# Sandy Shore:4 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And describe the walk back to the dock:
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:5]]
|
||||||
|
@set north/traverse_msg = "You walk along the shore of the lavender sea back to the dock."
|
||||||
|
# Sandy Shore:5 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And a description:
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:6]]
|
||||||
|
@desc north = The sandy shore to the north ends at a dock, jutting into the lavender sea.
|
||||||
|
# Sandy Shore:6 ends here
|
||||||
|
|
||||||
|
|
||||||
|
# And describe this.
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:7]]
|
||||||
|
@desc here = Puppy-dog |Ywaves|n on a lavender |Ysea|n, snap your heels half-heartedly. Walking hard steps, punching crusted |Ysand|n, difficulty crossing land. Robust |Yshack|n squatting below a |Ypine|n, locked door holding painted |Ysign|n.
|
||||||
|
# Sandy Shore:7 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And details?
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sandy Shore][Sandy Shore:8]]
|
||||||
|
@detail waves = Despite the inclement weather, the waves ripple gently against the shore.
|
||||||
|
#
|
||||||
|
@detail sea;lavender sea = Is that a |Yboat|n you see sailing the sea in the distance?
|
||||||
|
#
|
||||||
|
@detail boat;ship = The mastless ship looks like a giant leaf. Wonder if it comes to shore?
|
||||||
|
#
|
||||||
|
@detail shack = Standing crookedly at the edge of the sandy shore, this shack's weathered planks, bleached by the salty mist, imparts a ghostly appearance. The roof, adorned with seashells and driftwood, appears to be a patchwork of nature's treasures, inviting curious souls to uncover the secrets hidden within.
|
||||||
|
# Sandy Shore:8 ends here
|
||||||
|
|
||||||
|
# Sand
|
||||||
|
# Part of the [[Potions and their Ingredients][Alchemist Path]], we use sand as an ingredient in a potion we want to make.
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sand][Sand:1]]
|
||||||
|
@create/drop lot of sand;sand : typeclasses.consumables.Producer
|
||||||
|
#
|
||||||
|
@desc sand = Glittery sand with small flecks of lavender-colored gems.
|
||||||
|
#
|
||||||
|
@set sand/make_name = "bag of sand"
|
||||||
|
#
|
||||||
|
@set sand/make_verb = "$conj(fill) a small"
|
||||||
|
#
|
||||||
|
@set sand/make_desc = "Small leather pouch of sand with lavender gems."
|
||||||
|
#
|
||||||
|
@lock sand = view:tag(hidden_sand)
|
||||||
|
# Sand:1 ends here
|
||||||
|
|
||||||
|
# Pine Flowers
|
||||||
|
# Part of the [[Potions and their Ingredients][Alchemist Path]], we use /pine flowers/ to create a potion TBD, and feed the stoat in Dabbler’s House.
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Pine Flowers][Pine Flowers:1]]
|
||||||
|
@create/drop pine tree;pine;tree;flowers;flower = typeclasses.consumables.Producer
|
||||||
|
#
|
||||||
|
@desc pine = Windswept pine leans to shade the shack, protecting it somewhat from the regular occuring rain. Interesting, that the pine has beautiful, yellow |Yflowers|n.
|
||||||
|
#
|
||||||
|
@set pine/make_class = "typeclasses.consumables.Herb"
|
||||||
|
#
|
||||||
|
@set pine/make_name = "yellow flower"
|
||||||
|
#
|
||||||
|
@set pine/make_verb = "$conj(pick) a small"
|
||||||
|
#
|
||||||
|
@set pine/make_desc = "Briny smelling flower with purple spots."
|
||||||
|
#
|
||||||
|
@lock pine = view:tag(alchemist) # We want the user to be able to "look pine" as a detail?
|
||||||
|
# Pine Flowers:1 ends here
|
||||||
|
|
||||||
|
# Sign
|
||||||
|
# We make the sign as an “object” for others to read:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Sign][Sign:1]]
|
||||||
|
@create/drop sign = typeclasses.readables.Readable
|
||||||
|
#
|
||||||
|
@desc sign = A hand-painted sign with beautiful calligraphy reads: |wFor Rent. See Dabbler for details.|n
|
||||||
|
#
|
||||||
|
@set sign/inside = "For Rent. See Dabbler for details."
|
||||||
|
#
|
||||||
|
@lock sign = get:false()
|
||||||
|
# Sign:1 ends here
|
||||||
|
|
||||||
|
# Salty Shack
|
||||||
|
# Let’s keep this pretty empty.
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Salty Shack][Salty Shack:1]]
|
||||||
|
@teleport/quiet mp15
|
||||||
|
#
|
||||||
|
@dig Salty Shack;mp16 = locked door;door;inside,door to outside;door;outside;leave;exit
|
||||||
|
# Salty Shack:1 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And described the exit:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Salty Shack][Salty Shack:2]]
|
||||||
|
@desc door = Barnacle encrusted door with rusty irons bands and a comically large padlock. The door sports a hand-painted |Ysign|n that reads: |wFor Rent. See Dabbler for details.
|
||||||
|
#
|
||||||
|
@set door/traverse_msg = "The lock opens when you touch it, and the door opens with loud sigh. You step inside and close the door behind you."
|
||||||
|
# Salty Shack:2 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And lock the exit:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Salty Shack][Salty Shack:3]]
|
||||||
|
@lock door = traverse:tag(open_shack_door, mp)
|
||||||
|
#
|
||||||
|
@set door/err_traverse = "The door is obviously locked."
|
||||||
|
# Salty Shack:3 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Generic description of the insides of this house:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Salty Shack][Salty Shack:4]]
|
||||||
|
@teleport/quiet mp16
|
||||||
|
#
|
||||||
|
@desc here = The shack is curiously bare and devoid of all personality.
|
||||||
|
# Salty Shack:4 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And describe the exit:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Salty Shack][Salty Shack:5]]
|
||||||
|
@desc door = Large wood door with iron bands.
|
||||||
|
#
|
||||||
|
@set door/traverse_msg = "You open the door and step out on the sand, closing the door behind you."
|
||||||
|
# Salty Shack:5 ends here
|
||||||
|
|
||||||
# Grotto
|
# Grotto
|
||||||
|
|
||||||
# Return to the forest:
|
# Return to the forest:
|
||||||
|
|
@ -2709,7 +3004,7 @@ pose gnome/default = smoking his pipe
|
||||||
|
|
||||||
|
|
||||||
# [[file:../../../projects/mud.org::*Stoat][Stoat:1]]
|
# [[file:../../../projects/mud.org::*Stoat][Stoat:1]]
|
||||||
@create/drop wee beastie;Mochi;stoat: typeclasses.pets.Friendly
|
@create/drop wee beastie;Mochi;stoat: typeclasses.pets.WeeBeastie
|
||||||
#
|
#
|
||||||
# @typeclass/force/reset wee beastie
|
# @typeclass/force/reset wee beastie
|
||||||
# Stoat:1 ends here
|
# Stoat:1 ends here
|
||||||
|
|
@ -3152,6 +3447,73 @@ py here.search("cabinet").do_bake()
|
||||||
@detail tools = A set of finely crafted tools lies neatly arranged on a velvet cloth: a pair of tweezers for handling delicate ingredients, a small scalpel for precise cutting, and a set of measuring spoons made from silver, each engraved with different symbols representing the elements.
|
@detail tools = A set of finely crafted tools lies neatly arranged on a velvet cloth: a pair of tweezers for handling delicate ingredients, a small scalpel for precise cutting, and a set of measuring spoons made from silver, each engraved with different symbols representing the elements.
|
||||||
# Inside the Secret Room:8 ends here
|
# Inside the Secret Room:8 ends here
|
||||||
|
|
||||||
|
# Jars
|
||||||
|
# Can jars be a producer that returns a random jar with a “content”?
|
||||||
|
|
||||||
|
# Every time we look at a jar, we see something else … that we can’t take. This creates ambiance without adding too much complexity?
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:1]]
|
||||||
|
@tel/quiet Secret Room
|
||||||
|
#
|
||||||
|
@create/drop collection of jars;jars;jar: typeclasses.puzzles.Changling
|
||||||
|
# Jars:1 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Can’t get them:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:2]]
|
||||||
|
@lock jars = get:false()
|
||||||
|
#
|
||||||
|
@set jars/get_err_msg = "The imp slaps your hand away and shakes his head. While you can take an empty |Ybottle|n, you can't take the currated ingredients. Guess you can always find your own ingredients, eh?"
|
||||||
|
# Jars:2 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And the generate description:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:3]]
|
||||||
|
@set jars/desc_first_prefix = "<< Fascinating ^ Interesting ^ Curious >> << collection of ^ assortment of ^ >> << jars ^ contents ^ ingredients >>. You look at one << jar ^ >>, << elegantly ^ hastily ^ legibly ^ >> labeled,|w"
|
||||||
|
#
|
||||||
|
@set jars/desc_prefix = "You look at another << jar ^ >>, << elegantly ^ hastily ^ legibly ^ >> labeled,|w"
|
||||||
|
#
|
||||||
|
@set jars/desc_postfix = ""
|
||||||
|
# Jars:3 ends here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# And now for a list of the contents:
|
||||||
|
|
||||||
|
|
||||||
|
# [[file:../../../projects/mud.org::*Jars][Jars:4]]
|
||||||
|
@set jars/descs = (
|
||||||
|
"Glimmering Dust|n. A jar filled with fine, shimmering powder that sparkles like a thousand stars.",
|
||||||
|
"Dragon Blood|n. A deep red liquid that swirls with hints of gold, resembling liquid rubies.",
|
||||||
|
"Crystalized Stardust|n. Tiny, sparkling crystals that twinkle like stars, believed to hold the essence of the cosmos.",
|
||||||
|
"Moonstone Crystals|n. Iridescent stones that glow softly in the dark, casting a gentle light.",
|
||||||
|
"Bottled Lightning|n. A swirling blue liquid that crackles with energy, contained within a glass jar.",
|
||||||
|
"Dragon Scale Powder|n. A fine, metallic powder that shifts colors with the light, reminiscent of dragon scales.",
|
||||||
|
"Mermaid Tears|n. Tiny, glistening droplets that resemble diamonds, each one capturing a moment of sorrow.",
|
||||||
|
"Essence of Shadow|n. A dark, swirling liquid that seems to absorb light, creating an eerie atmosphere.",
|
||||||
|
"Shadow Essence|n. A dark, swirling liquid that absorbs light, said to grant invisibility.",
|
||||||
|
"Starflower Petals|n. Delicate, translucent petals that shimmer like the night sky, layered in a glass jar.",
|
||||||
|
"Whispering Seeds|n. Tiny, dark seeds that seem to rustle softly when the jar is moved, as if alive.",
|
||||||
|
"Golden Sand|n. A jar filled with fine, shimmering sand that glows warmly, reminiscent of a sunset.",
|
||||||
|
"Wisp of Smoke|n. A swirling, grayish substance that drifts lazily within the confines of its jar.",
|
||||||
|
"Nightshade Berries|n. Dark, glossy berries that glisten ominously, nestled in a jar of dark liquid.",
|
||||||
|
"Phoenix Ashes|n. A fine, gray powder that sparkles faintly, as if containing remnants of a fiery rebirth.",
|
||||||
|
"Silver Thread|n. A spool of shimmering thread that glows softly, appearing almost ethereal in nature.",
|
||||||
|
"Timekeeper Sand|n. A jar filled with golden sand that flows slowly, as if measuring the passage of time.",
|
||||||
|
"Elven Wine|n. A deep green liquid that sparkles with tiny bubbles.",
|
||||||
|
"Ghostly Essence|n. A pale, translucent ichor that swirls with a soft glow.",
|
||||||
|
"Celestial Oil|n. A shimmering oil that glows with a soft light.",
|
||||||
|
"Cat Shadow|n. A swirling, inky blackness that pulses and shifts.",
|
||||||
|
)
|
||||||
|
# Jars:4 ends here
|
||||||
|
|
||||||
# Stool
|
# Stool
|
||||||
# A stool to sit while working
|
# A stool to sit while working
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue