""" 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 colors—normal 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 projects—enchanted 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 controlled—neither too bright nor too dim—perfect 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 brewing—some 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 arrangements—saws, 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|n—carved 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|n—a 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|n—souls 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" ]