""" Commons Wing - Social and Gathering Spaces Evennia MUD World - Room TypeClass Definitions """ from evennia import DefaultRoom class GrandCommonsHall(DefaultRoom): """ The central gathering hall where students, faculty, and visitors mingle. """ def at_object_creation(self): super().at_object_creation() self.key = "Grand Commons Hall" self.aliases = ["commons", "great hall", "main gathering", "social hall"] self.db.desc = """ |wGrand Commons Hall|n The |yGrand Commons|n rises before you in all its |csplendid grandeur|n—a testament to the academy's wealth and prestige. The ceiling soars sixty feet overhead, supported by |ytwelve marble columns|n carved with the likenesses of the academy's founding archmages. Between the columns, |ystained glass windows|n thirty feet tall depict great moments in magical history. The floor is a |ymosaic masterpiece|n of interlocking tiles forming a massive compass rose, with each cardinal direction marked in |yprecious metals|n—north in gold, south in silver, east in copper, west in platinum. Around the perimeter, |yraised galleries|n provide seating areas for hundreds, while the central space remains open for gatherings, performances, and impromptu demonstrations. |yMassive hearths|n occupy the north and south walls, each large enough to stand in, burning with magical flames that provide warmth without smoke. Between them, long |yfeasting tables|n can be arranged for formal dinners or cleared for dances and assemblies. The walls display |ytrophies of magical achievement|n—enchanted artifacts, preserved specimens of summoned creatures, and portraits of distinguished alumni. The air buzzes with |xconversation, laughter, and the subtle crackle of ambient magic|n. """ self.db.atmosphere = { "mood": "lively, social, energetic, welcoming", "lighting": "bright from windows, warm firelight, magical accents", "sounds": "conversations, laughter, footsteps on marble, fire crackling", "smells": "roasted meats, fresh bread, wine, wood smoke, perfumes", "temperature": "warm from fires and body heat, drafty near doors" } self.db.exits = { "north": "Hearthside Dining", "south": "Commons Entrance", "east": "Entertainment Gallery", "west": "Scholar's Corner", "up": "Upper Balcony", "down": "Cellar Stores" } self.db.objects = [ "twelve marble founder columns", "thirty-foot stained glass windows", "precious metal compass rose mosaic floor", "raised gallery seating areas", "massive double hearths with magical flames", "collapsible feasting tables", "magical achievement trophies", "portrait gallery of distinguished alumni", "crystal chandelier with ever-burning candles", "information desk with campus maps" ] class HearthsideDining(DefaultRoom): """ The main dining area attached to the Grand Commons. """ def at_object_creation(self): super().at_object_creation() self.key = "Hearthside Dining" self.aliases = ["dining hall", "great kitchen", "feasting hall"] self.db.desc = """ |wHearthside Dining|n The |yscent of cooking|n hits you first—roasting meats, baking bread, simmering stews, and a hundred other culinary delights. The dining hall stretches long and grand, with |yrows of oak tables|n capable of seating five hundred diners at once. The tables are dressed in |ylinen of academy blue|n, with fresh flowers in crystal vases at regular intervals. The |yserving area|n dominates the northern wall, a long counter behind which |yenchanted serving dishes|n keep food at perfect temperature. Chefs in |ywhite uniforms|n work in the visible kitchen beyond, their movements a choreographed dance of culinary expertise. |YSilver tureens|n and |ybrass warming trays|n gleam under the magical lights. The ceiling features |yhanging gardens|n—trailing vines and flowering plants that purify the air and provide fresh herbs for the kitchen. Between them, |ycrystal spheres|n cast warm, appetizing light over the diners below. The |ygreat hearth|n in the center of the room burns with a welcoming fire, around which smaller tables offer intimate dining. Students, faculty, and visitors mingle here, breaking bread together regardless of rank or origin. """ self.db.atmosphere = { "mood": "warm, welcoming, bustling, appetizing", "lighting": "warm crystal glow, firelight, kitchen brightness", "sounds": "clinking cutlery, conversation, kitchen sounds, sizzling", "smells": "roasting meat, fresh bread, herbs, wine, coffee", "temperature": "warm from cooking fires, comfortable throughout" } self.db.exits = { "south": "Grand Commons Hall", "north": "Kitchen Complex", "west": "Private Dining Rooms", "east": "Beverage Station" } self.db.objects = [ "rows of oak dining tables with academy blue linens", "enchanted serving dishes and warming trays", "visible kitchen with working chefs", "hanging gardens with trailing vines", "crystal sphere light fixtures", "central great hearth with seating", "silver tureens and brass serving ware", "fresh flower centerpieces", "beverage dispensers with magical cooling", "dessert cart with rotating selections" ] class ScholarsCorner(DefaultRoom): """ A quieter area of the Commons for study and intellectual discourse. """ def at_object_creation(self): super().at_object_creation() self.key = "Scholar's Corner" self.aliases = ["study area", "quiet commons", "reading nook"] self.db.desc = """ |wScholar's Corner|n Tucked away in the western wing of the Commons, this |yserene space|n offers respite from the bustle of the main hall. The acoustics here are |ymagically dampened|n, creating a hushed sanctuary where voices drop to respectful whispers and the turning of pages provides the primary soundtrack. |yLeather armchairs|n in deep burgundy and forest green cluster around |ysmall reading tables|n, each equipped with an |yadjustable reading lamp|n that provides optimal illumination for any task. The walls are lined with |ybuilt-in bookshelves|n containing reference works, popular literature, and daily newspapers from across the realm. A |ylong central table|n of polished walnut accommodates group study sessions, its surface enchanted to resist ink stains and burns. At one end, a |ypodium|n holds the current issue of the |yAcademy Chronicle|n, available for all to read. |YPotted plants|n—scholar's fern, memory moss, and concentration cactus—add greenery and subtle cognitive benefits. The |yaroma of quality tea|n wafts from a service station in the corner, where an |yenchanted samovar|n provides endless hot water and a selection of invigorating blends. """ self.db.atmosphere = { "mood": "quiet, studious, contemplative, respectful", "lighting": "soft individual lamps, natural light from clerestory windows", "sounds": "page turning, soft whispers, tea pouring, distant silence", "smells": "old books, leather, tea, coffee, concentration herbs", "temperature": "cool and comfortable, ideal for alertness" } self.db.exits = { "east": "Grand Commons Hall", "north": "Archives Annex", "west": "Debate Chamber" } self.db.objects = [ "burgundy and green leather armchairs", "reading tables with adjustable lamps", "built-in bookshelves with reference works", "polished walnut study table", "newspaper podium with Academy Chronicle", "cognitive-enhancing potted plants", "enchanted tea samovar station", "magical silence dampening field", "ink-resistant tabletop enchantments", "newspaper rack with realm-wide publications" ] class EntertainmentGallery(DefaultRoom): """ A space for performances, games, and recreational activities. """ def at_object_creation(self): super().at_object_creation() self.key = "Entertainment Gallery" self.aliases = ["games room", "performance hall", "recreation area"] self.db.desc = """ |wEntertainment Gallery|n Lively energy fills this |yspacious chamber|n dedicated to leisure and amusement. The ceiling soars high enough to accommodate aerial performances, reinforced with |ymagical safety nets|n that catch falling acrobats—or overconfident students practicing levitation. The floor is divided into |yactivity zones|n marked by different colored rugs. In the |ygreen section|n, |ychess tables|n and |ystrategy boards|n attract tactical minds. The |yblue zone|n features |ymagical gaming consoles|n that project illusionary battlefields. The |yred area|n contains a |ysmall stage|n for performances, complete with adjustable lighting and acoustics. Along the walls, |ycomfortable seating|n in curved arrangements encourages socializing. A |yserving bar|n offers refreshments, including non-alcoholic beverages for younger students. |YMusical instruments|n hang available for impromptu concerts—a lute, a harp, drums, and even a small pipe organ. The |yatmosphere is festive|n, with colorful banners depicting past performances and tournament champions. A |ybulletin board|n advertises upcoming events, club meetings, and open gaming sessions. """ self.db.atmosphere = { "mood": "playful, energetic, social, creative", "lighting": "colorful and adjustable, spotlights for stage", "sounds": "laughter, music, game sounds, applause, conversation", "smells": "sweet snacks, polished wood, stage makeup, excitement", "temperature": "energetic warmth from activity and crowds" } self.db.exits = { "west": "Grand Commons Hall", "north": "Music Practice Rooms", "east": "Art Studio", "up": "Theater Balcony" } self.db.objects = [ "magical safety nets overhead", "chess and strategy game tables", "magical gaming console projectors", "performance stage with lighting", "curved social seating arrangements", "serving bar with refreshments", "available musical instruments", "colorful event banners", "bulletin board with announcements", "trophy cases with gaming awards" ] class UpperCommonsBalcony(DefaultRoom): """ The elevated balcony overlooking the Grand Commons. """ def at_object_creation(self): super().at_object_creation() self.key = "Upper Balcony" self.aliases = ["commons balcony", "gallery overlook", "upper level"] self.db.desc = """ |wUpper Balcony|n From this |yelevated vantage|n, the Grand Commons spreads below like a living tapestry. The |ywrought-iron railing|n is worked with intricate patterns of scrolling vines and academic symbols, sturdy yet elegant. |yStone pillars|n support the roof overhead, each carved with the names of past student council presidents. The balcony provides a |yprivate retreat|n from the main floor's bustle while still allowing observation of events below. |ySmall tables|n with |yhigh-backed chairs|n offer intimate seating for private conversations or quiet observation. Potted |ynight-blooming jasmine|n releases its fragrance as evening approaches. A |yservice staircase|n spirals down to the main floor discreetly, while a |ydoor to the east|n leads to private meeting rooms reserved for official academy business. |YTapestries|n depicting aerial views of the academy campus hang between the pillars. From here, one can watch |yperformances|n on the main floor, observe the flow of students between classes, or simply enjoy the |xarchitectural beauty|n of the Commons from a distance. The |ypeaceful remove|n makes this a favorite spot for contemplation. """ self.db.atmosphere = { "mood": "observant, peaceful, slightly detached, elegant", "lighting": "soft from below, gentle magical accent lights", "sounds": "muffled from below, distant music, quiet conversation", "smells": "night-blooming jasmine, polish, distant food aromas", "temperature": "slightly cooler than below, gentle air circulation" } self.db.exits = { "down": "Grand Commons Hall", "east": "Private Meeting Rooms", "west": "Faculty Lounge" } self.db.objects = [ "wrought-iron decorative railing", "stone pillars with carved names", "small tables with high-backed chairs", "potted night-blooming jasmine", "spiraling service staircase", "aerial view tapestries", "private meeting room doors", "magical observation crystals", "reserved seating signs", "refreshment service station" ]