337 lines
14 KiB
Python
337 lines
14 KiB
Python
|
|
"""
|
||
|
|
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"
|
||
|
|
]
|