Files
timmy-academy/world/workshop_wing.py

343 lines
15 KiB
Python
Raw Normal View History

"""
Workshop Wing - Crafting, Smithing, and Magical Creation
Evennia MUD World - Room TypeClass Definitions
"""
from evennia import DefaultRoom
class WorkshopEntrance(DefaultRoom):
"""
The entrance to the Workshop Wing where practical magic and crafting occur.
"""
def at_object_creation(self):
super().at_object_creation()
self.key = "Workshop Wing Entrance"
self.aliases = ["workshop entry", "crafting wing", "makers hall"]
self.db.desc = """
|wWorkshop Wing Entrance|n
The transition from polished academy corridors to the |yWorkshop Wing|n
is immediately apparent. The air grows |ywarmer|n and carries the
mingled scents of |yhot metal, sawdust, alchemical reagents, and
ozone|n from magical experiments. The floor changes from marble to
|ydurable stone flagging|n, scuffed and stained from years of heavy use.
The entrance hall is a |yhub of activity|n, with students rushing
to and from various workshops, carrying materials, tools, and
half-finished projects. |yLarge directional signs|n point the way
to specialized areas: |ySmithy|n to the |ynorth|n, |yAlchemy Lab|n to
the |yeast|n, |yWoodworking|n to the |ywest|n, and |yArtificing|n below.
A |ysafety station|n dominates one wall, equipped with emergency
showers, healing potion dispensers, and fire suppression crystals.
|yWarning signs|n in multiple languages caution about the dangers
inherent in practical magic and crafting.
The ceiling is unusually high, with |yexposed beams|n and |ymagical
ventilation shafts|n that whisk away dangerous fumes. |YTool rental|n
and |ymaterial storage|n offices line the walls, staffed by
experienced artisans who check out equipment to qualified students.
"""
self.db.atmosphere = {
"mood": "industrious, focused, slightly dangerous, energetic",
"lighting": "bright work lights, sparks from forges, magical glows",
"sounds": "hammering, sawing, sizzling, shouted warnings, machinery",
"smells": "hot metal, sawdust, chemicals, sweat, burning",
"temperature": "warm to hot, varying by proximity to forges"
}
self.db.exits = {
"north": "The Great Smithy",
"east": "Alchemy Laboratories",
"west": "Woodworking Studio",
"down": "Artificing Chambers",
"south": "Academy Main Corridor"
}
self.db.objects = [
"safety station with emergency equipment",
"directional signs to workshop areas",
"tool rental office counter",
"material storage lockers",
"fire suppression crystal clusters",
"magical ventilation shafts",
"healing potion dispensers",
"project submission desk",
"safety notice boards",
"protective equipment racks"
]
class GreatSmithy(DefaultRoom):
"""
The main blacksmithing and metalworking workshop.
"""
def at_object_creation(self):
super().at_object_creation()
self.key = "The Great Smithy"
self.aliases = ["smithy", "forge", "metal shop", "blacksmith hall"]
self.db.desc = """
|wThe Great Smithy|n
|yHeat blasts|n against your face as you enter the largest smithy
in the academy. The air shimmers with |ythermal distortion|n rising
from a dozen |ymagical forges|n that burn with flames of varying
colorsnormal orange, enchanted blue, and the rare |ywhite-hot
dragon-fire|n used for working the most resilient alloys.
|yMassive anvils|n of steel, meteoric iron, and enchanted stone
ring with the |yconstant percussion|n of hammers. Apprentice smiths
work at smaller stations along the walls, while master artisans
occupy the central positions, their movements precise and practiced.
|YSparks cascade|n like fiery rain, magically contained within
safety barriers.
The walls are lined with |ytool racks|n holding every implement
of the metalworker's art—tongs in dozens of sizes, hammers from
delicate planishing to heavy sledges, chisels, punches, and
specialized magical implements. |YQuenching troughs|n line one
wall, filled with water, oil, and exotic magical solutions.
A |ycompleted works display|n near the entrance showcases exceptional
student projectsenchanted blades, intricate armor, and delicate
jewelry that demonstrate the heights of metallurgical artistry.
"""
self.db.atmosphere = {
"mood": "intense, physical, dangerous, creative",
"lighting": "fire-glow, orange and blue flames, flying sparks",
"sounds": "hammering, sizzling quenches, roaring flames, bellows",
"smells": "hot iron, coal smoke, quenching oil, sweat, sulfur",
"temperature": "extremely hot, heat shimmers visible"
}
self.db.exits = {
"south": "Workshop Wing Entrance",
"north": "Master Smith's Private Forge",
"east": "Armor Assembly Bay",
"up": "Enchanted Metallurgy Lab"
}
self.db.objects = [
"dozen magical forges with colored flames",
"massive anvils of various materials",
"complete tool racks with smithing implements",
"quenching troughs with multiple solutions",
"magical spark containment barriers",
"completed works display case",
"large bellows operated by apprentices",
"metal storage bins sorted by type",
"measuring and marking tools",
"enchantment application stations"
]
class AlchemyLaboratories(DefaultRoom):
"""
The primary alchemy and potion-making facility.
"""
def at_object_creation(self):
super().at_object_creation()
self.key = "Alchemy Laboratories"
self.aliases = ["alchemy lab", "potion workshop", "brewing hall"]
self.db.desc = """
|wAlchemy Laboratories|n
The pungent aroma of |yhundreds of reagents|n greets you in this
sprawling laboratory complex. The space is divided into |ystations|n
by tall workbenches of |yslate and acid-resistant oak|n, each
equipped with a |yfull array of alchemical equipment|n. The lighting
is carefully controlledneither too bright nor too dimperfect
for observing the subtle color changes that indicate reaction progress.
|yGlassware of every description|n hangs from overhead racks:
beakers, flasks, retorts, alembics, and specialized apparatus
for distillation, filtration, and crystallization. |YCabinets|n
along the walls hold organized reagents, from common herbs to
exotic monster parts, each labeled with |yprecautionary runes|n.
At the center of the room, a |yfume hood|n the size of a small
house contains the most dangerous experiments. Its magical
extraction system hums constantly, drawing away toxic vapors
before they can harm the alchemists. |YEmergency showers|n and
|yneutralizing stations|n stand ready at each corner.
|yStudent workstations|n show various stages of potion brewingsome
bubbling merrily, others frozen at precise temperatures, still
others glowing with inner light. The |xatmosphere of careful
concentration|n is palpable as practitioners measure, mix, and
monitor their creations.
"""
self.db.atmosphere = {
"mood": "focused, meticulous, slightly tense, scientific",
"lighting": "controlled magical illumination, colored by reactions",
"sounds": "bubbling, hissing, grinding, whispered calculations",
"smells": "herbs, chemicals, sulfur, flowers, acrid smoke",
"temperature": "controlled, varying by station requirements"
}
self.db.exits = {
"west": "Workshop Wing Entrance",
"north": "Advanced Brewing Chambers",
"east": "Reagent Storage Vault",
"down": "Potion Testing Range"
}
self.db.objects = [
"slate and oak workbenches with equipment",
"hanging racks of glassware",
"organized reagent cabinets",
"massive central fume hood",
"magical vapor extraction system",
"emergency safety stations",
"temperature-controlled brewing vessels",
"precise measurement scales",
"reagent compendium library",
"finished potion display and storage"
]
class WoodworkingStudio(DefaultRoom):
"""
The woodworking and carpentry workshop.
"""
def at_object_creation(self):
super().at_object_creation()
self.key = "Woodworking Studio"
self.aliases = ["wood shop", "carpentry", "carving hall"]
self.db.desc = """
|wWoodworking Studio|n
The |yscent of fresh sawdust and wood resin|n fills this well-lit
workshop dedicated to the crafting of wooden goods. Unlike the
heat of the smithy, the atmosphere here is |ycool and pleasant|n,
with excellent ventilation carrying away sawdust and finishing
fumes. Natural light floods through |ylarge north-facing windows|n,
supplemented by |ymagical illumination|n that reveals wood grain
without glare.
|yWorkbenches|n line the walls, each customized to its regular
user's height and preferences. |YHand tools|n hang in precise
arrangementssaws, chisels, planes, gouges, and hundreds of
other implements. |YPower tools|n enhanced by magical automation
occupy the central area: lathes, band saws, and joiners that
would take teams of workers to operate conventionally.
Racks of |yseasoned lumber|n stand organized by species and cut,
from common pine to exotic |ymana-wood|n harvested from enchanted
forests. A |yfinishing room|n at the back provides space for
applying stains, varnishes, and protective enchantments.
The walls display |yexamples of fine craftsmanship|ncarved panels,
intricate furniture, and magical wands in various stages of
completion. The |xatmosphere is one of patient precision|n, where
rushing leads to ruined work and careful attention yields masterpieces.
"""
self.db.atmosphere = {
"mood": "patient, focused, creative, grounded",
"lighting": "natural north light, soft magical supplement",
"sounds": "sawing, planing, gentle hammering, wood whispering",
"smells": "sawdust, wood resin, linseed oil, fresh lumber",
"temperature": "cool and comfortable, well-ventilated"
}
self.db.exits = {
"east": "Workshop Wing Entrance",
"north": "Wand Carving Studio",
"west": "Lumber Storage Yard",
"up": "Furniture Design Gallery"
}
self.db.objects = [
"customized workbenches for each user",
"organized hand tool collections",
"magically enhanced power tools",
"seasoned lumber racks by species",
"finishing room with ventilation",
"examples of fine craftsmanship",
"wand blanks and carving tools",
"wood species reference library",
"sharpening station for edge tools",
"dust collection magical system"
]
class ArtificingChambers(DefaultRoom):
"""
The underground chambers for magical device creation and enchanting.
"""
def at_object_creation(self):
super().at_object_creation()
self.key = "Artificing Chambers"
self.aliases = ["artificing", "enchantment lab", "device workshop"]
self.db.desc = """
|wArtificing Chambers|n
Descending into the |yArtificing Chambers|n feels like entering
another world. The stone walls here are |yancient|n, predating
much of the academy above, carved by unknown hands and later
reinforced with |ymagical wards|n. The air tastes of |ypower|n
the accumulated residue of centuries of enchantment work.
The main chamber is |ycircular|n, with |yseven workstations|n
arranged around a |ycentral power nexus|na glowing crystal
formation that provides stable magical energy for charging
artifacts. Each station is |yspecially shielded|n to prevent
interference between simultaneous enchantment projects.
|yGlass cases|n along the walls contain |ydangerous magical
components|nsouls bound in gems, elemental essences, captured
starlight, and other materials that require careful handling.
|YRunes|n carved into the floor and ceiling provide containment
and focus for the energies manipulated here.
The |xatmosphere is heavy with potential|n. This is where
ordinary objects become magical artifacts, where the marriage
of craft and sorcery produces items of legend. The work requires
equal parts technical skill, magical aptitude, and creative
vision. |YMaster artificers|n move between stations, offering
guidance to students attempting their first permanent enchantments.
"""
self.db.atmosphere = {
"mood": "mysterious, powerful, focused, reverent",
"lighting": "glowing runes, crystal nexus, magical item auras",
"sounds": "humming power, whispered incantations, soft chimes",
"smells": "ozone, old stone, magical residues, rare incense",
"temperature": "cool and stable, climate controlled for artifacts"
}
self.db.exits = {
"up": "Workshop Wing Entrance",
"north": "Enchanted Vault",
"east": "Rune Inscription Studio",
"down": "Deep Containment"
}
self.db.objects = [
"seven shielded enchantment workstations",
"central power nexus crystal formation",
"glass cases with magical components",
"floor and ceiling containment runes",
"artifact charging stations",
"magical measuring instruments",
"enchantment formula library",
"emergency mana dampeners",
"artifact stabilization fields",
"master artificer consultation desk"
]