342 lines
15 KiB
Python
342 lines
15 KiB
Python
|
|
"""
|
||
|
|
Dormitory Entrance - The Dormitories Wing
|
||
|
|
Evennia MUD World - Room TypeClass Definition
|
||
|
|
"""
|
||
|
|
|
||
|
|
from evennia import DefaultRoom
|
||
|
|
|
||
|
|
class DormitoryEntrance(DefaultRoom):
|
||
|
|
"""
|
||
|
|
The grand entrance to the Dormitories Wing, where students and residents
|
||
|
|
of the arcane academy find their respite and personal quarters.
|
||
|
|
"""
|
||
|
|
|
||
|
|
def at_object_creation(self):
|
||
|
|
"""Called when the room is first created."""
|
||
|
|
super().at_object_creation()
|
||
|
|
|
||
|
|
# Room identity
|
||
|
|
self.key = "Dormitory Entrance"
|
||
|
|
self.aliases = ["dorm entrance", "dormitories", "sleeping quarters"]
|
||
|
|
|
||
|
|
# Detailed description
|
||
|
|
self.db.desc = """
|
||
|
|
|wThe Dormitory Entrance|n
|
||
|
|
|
||
|
|
A soaring archway of aged |ywhite marble|n marks the threshold between
|
||
|
|
the bustling academy corridors and the sanctuary of rest. The entrance
|
||
|
|
hall stretches thirty feet overhead, its vaulted ceiling painted with
|
||
|
|
a magnificent |cmural of the moon phases|n, each lunar stage rendered
|
||
|
|
in silver and pearl that seems to |xshimmer faintly|n in any light.
|
||
|
|
|
||
|
|
The floor consists of hexagonal tiles in alternating patterns of
|
||
|
|
|rslate gray|n and |gsoft moss green|n, worn smooth by generations of
|
||
|
|
footsteps. Along the walls, |yoil lanterns|n burn with enchanted flames
|
||
|
|
that never consume their fuel, casting warm golden pools of illumination.
|
||
|
|
|
||
|
|
To the |ynorth|n, the corridor leads deeper into the dormitories wing,
|
||
|
|
toward the residential chambers. A small |ypolished oak desk|n sits to
|
||
|
|
one side, where the |ylodging master|n typically maintains records of
|
||
|
|
room assignments. Pinned boards display notices about quiet hours,
|
||
|
|
maintenance schedules, and the occasional student message.
|
||
|
|
|
||
|
|
The air here carries the scent of |ylavender and cedar|n—warding herbs
|
||
|
|
that promote restful sleep and pleasant dreams. A pervasive sense of
|
||
|
|
|xcalm tranquility|n settles over visitors, as if the very walls were
|
||
|
|
enchanted to soothe weary minds.
|
||
|
|
"""
|
||
|
|
|
||
|
|
# Atmospheric tags
|
||
|
|
self.db.atmosphere = {
|
||
|
|
"mood": "peaceful, welcoming, restful",
|
||
|
|
"lighting": "warm golden lantern light, soft shadows",
|
||
|
|
"sounds": "distant footsteps, quiet murmurs, the crackle of magical flames",
|
||
|
|
"smells": "lavender, cedar, old parchment, sleep charms",
|
||
|
|
"temperature": "comfortably warm, slightly cool in shadowed corners"
|
||
|
|
}
|
||
|
|
|
||
|
|
# Exits (to be connected by builder)
|
||
|
|
self.db.exits = {
|
||
|
|
"north": "Corridor of Rest",
|
||
|
|
"south": "Academy Main Hall",
|
||
|
|
"west": "Visitor Waiting Area",
|
||
|
|
"east": "Resident Services Office"
|
||
|
|
}
|
||
|
|
|
||
|
|
# Objects in the room
|
||
|
|
self.db.objects = [
|
||
|
|
"polished oak desk with leather-bound registry",
|
||
|
|
"brass oil lanterns with eternal flames",
|
||
|
|
"cork notice board with various postings",
|
||
|
|
"velvet rope barriers for queue management",
|
||
|
|
"marble bench for waiting visitors",
|
||
|
|
"crystal water fountain with pure spring water",
|
||
|
|
"potted dreamlilies in bronze planters",
|
||
|
|
"enchanted bell for summoning the lodging master"
|
||
|
|
]
|
||
|
|
|
||
|
|
# Special features
|
||
|
|
self.db.features = {
|
||
|
|
"sleep_ward": "Prevents magical scrying into sleeping quarters",
|
||
|
|
"silence_zone": "Suppresses loud noises beyond normal conversation",
|
||
|
|
"comfort_aura": "Reduces fatigue recovery time for resting characters",
|
||
|
|
"mural_enchantment": "Changes moon phase based on actual lunar cycle"
|
||
|
|
}
|
||
|
|
|
||
|
|
class DormitoryLodgingMaster(DefaultRoom):
|
||
|
|
"""
|
||
|
|
The office and workspace of the Lodging Master who manages room assignments.
|
||
|
|
"""
|
||
|
|
|
||
|
|
def at_object_creation(self):
|
||
|
|
super().at_object_creation()
|
||
|
|
|
||
|
|
self.key = "Resident Services Office"
|
||
|
|
self.aliases = ["lodging office", "room assignments", "housing desk"]
|
||
|
|
|
||
|
|
self.db.desc = """
|
||
|
|
|wResident Services Office|n
|
||
|
|
|
||
|
|
This |ycozy chamber|n serves as the administrative heart of the
|
||
|
|
dormitories. Bookshelves line every wall, crammed with |yleather-bound
|
||
|
|
ledgers|n dating back centuries, each spine labeled with years in
|
||
|
|
flowing gold script. The air smells of |yink, old paper, and beeswax|n.
|
||
|
|
|
||
|
|
A |ymassive mahogany desk|n dominates the center of the room, its surface
|
||
|
|
covered with stacks of forms, sealing wax, and a magnificent |ybrass
|
||
|
|
astrolabe|n that seems to track more than just celestial bodies. Behind
|
||
|
|
the desk hangs a |ydetailed map|n of the entire dormitory wing, with
|
||
|
|
small colored pins indicating room occupancy.
|
||
|
|
|
||
|
|
|yHigh windows|n let in afternoon light through panes of colored glass,
|
||
|
|
casting prismatic patterns across the floor. A |yfireplace|n on the east
|
||
|
|
wall burns with cool blue flames that provide warmth without smoke.
|
||
|
|
|
||
|
|
The Lodging Master, when present, sits in a |yhigh-backed chair|n of
|
||
|
|
worn velvet, ready to assist with room assignments, resolve disputes,
|
||
|
|
or address maintenance concerns. A |ysilver service bell|n sits prominently
|
||
|
|
on the desk corner for summoning assistance.
|
||
|
|
"""
|
||
|
|
|
||
|
|
self.db.atmosphere = {
|
||
|
|
"mood": "organized, professional, slightly cluttered",
|
||
|
|
"lighting": "colored sunlight, magical blue firelight",
|
||
|
|
"sounds": "scratching quills, paper rustling, occasional coughs",
|
||
|
|
"smells": "parchment, ink, beeswax polish, dried lavender",
|
||
|
|
"temperature": "warm and comfortable, fireplace heat"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.exits = {
|
||
|
|
"west": "Dormitory Entrance",
|
||
|
|
"north": "Records Archive"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.objects = [
|
||
|
|
"mahogany desk covered in paperwork",
|
||
|
|
"brass astrolabe tracking room assignments",
|
||
|
|
"wall map of dormitories with occupancy pins",
|
||
|
|
"bookshelves filled with century-old ledgers",
|
||
|
|
"high-backed velvet chair",
|
||
|
|
"silver service bell",
|
||
|
|
"inkwell with enchanted never-empty quill",
|
||
|
|
"wooden filing cabinets with brass handles",
|
||
|
|
"stained glass windows with academy crest",
|
||
|
|
"blue-flame fireplace with marble mantel"
|
||
|
|
]
|
||
|
|
|
||
|
|
class CorridorOfRest(DefaultRoom):
|
||
|
|
"""
|
||
|
|
The main corridor connecting the various dormitory halls.
|
||
|
|
"""
|
||
|
|
|
||
|
|
def at_object_creation(self):
|
||
|
|
super().at_object_creation()
|
||
|
|
|
||
|
|
self.key = "Corridor of Rest"
|
||
|
|
self.aliases = ["dormitory corridor", "sleeping hall", "residents way"]
|
||
|
|
|
||
|
|
self.db.desc = """
|
||
|
|
|wCorridor of Rest|n
|
||
|
|
|
||
|
|
This |ylong corridor|n stretches before you like a pathway through
|
||
|
|
twilight itself. The walls are paneled in |ydark walnut|n that absorbs
|
||
|
|
sound, creating a hushed atmosphere broken only by the softest of
|
||
|
|
footsteps. Every ten feet, |yalcoves|n hold statues of |ydream guardians|n—
|
||
|
|
mythical creatures said to protect sleepers from nightmares.
|
||
|
|
|
||
|
|
The ceiling arches overhead in a series of |yribbed vaults|n, each
|
||
|
|
painted with a different |cconstellation|n that actually corresponds
|
||
|
|
to the rooms beneath. Small |ystarlight crystals|n embedded in the
|
||
|
|
vault ribs provide gentle illumination, mimicking the night sky.
|
||
|
|
|
||
|
|
|yPolished bronze plaques|n mark the entrances to various dormitory
|
||
|
|
halls: |yThe Novice Wing|n to the |yeast|n, |yThe Adept Chambers|n to
|
||
|
|
the |ywest|n, and |yThe Master Suites|n further |ynorth|n. Each doorway
|
||
|
|
is framed by |yheavy velvet curtains|n in colors denoting the rank
|
||
|
|
of residents within.
|
||
|
|
|
||
|
|
The floor is carpeted with thick |ywoven rugs|n depicting peaceful
|
||
|
|
landscapes—meadows, forests, and shores—designed to relax the mind
|
||
|
|
before sleep. At intervals, |yporcelain urns|n hold fresh lavender
|
||
|
|
and chamomile, their fragrances released slowly by warming enchantments.
|
||
|
|
"""
|
||
|
|
|
||
|
|
self.db.atmosphere = {
|
||
|
|
"mood": "serene, quiet, contemplative",
|
||
|
|
"lighting": "soft starlight glow, gentle shadows",
|
||
|
|
"sounds": "muted footsteps, distant soft breathing, magical hum",
|
||
|
|
"smells": "lavender, chamomile, polished wood, sleep herbs",
|
||
|
|
"temperature": "cool and comfortable, perfect for sleeping"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.exits = {
|
||
|
|
"south": "Dormitory Entrance",
|
||
|
|
"north": "Master Suites Approach",
|
||
|
|
"east": "Novice Wing",
|
||
|
|
"west": "Adept Chambers",
|
||
|
|
"up": "Observatory Landing"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.objects = [
|
||
|
|
"dream guardian statues in wall alcoves",
|
||
|
|
"starlight crystal ceiling fixtures",
|
||
|
|
"bronze directional plaques",
|
||
|
|
"heavy velvet curtains in rank colors",
|
||
|
|
"thick woven landscape rugs",
|
||
|
|
"porcelain urns with sleep herbs",
|
||
|
|
"small meditation benches",
|
||
|
|
"water basins for refreshing travelers",
|
||
|
|
"enchanted silence orbs",
|
||
|
|
"moon-phase wall calendar"
|
||
|
|
]
|
||
|
|
|
||
|
|
class NoviceDormitoryHall(DefaultRoom):
|
||
|
|
"""
|
||
|
|
The dormitory hall for novice students and apprentices.
|
||
|
|
"""
|
||
|
|
|
||
|
|
def at_object_creation(self):
|
||
|
|
super().at_object_creation()
|
||
|
|
|
||
|
|
self.key = "Novice Dormitory Hall"
|
||
|
|
self.aliases = ["novice wing", "apprentice quarters", "student dorms"]
|
||
|
|
|
||
|
|
self.db.desc = """
|
||
|
|
|wNovice Dormitory Hall|n
|
||
|
|
|
||
|
|
This |yspacious chamber|n houses the sleeping quarters for the academy's
|
||
|
|
newest students. The hall stretches nearly a hundred feet, lined on
|
||
|
|
both sides with |ysimple wooden doors|n leading to individual cells.
|
||
|
|
Each door bears a |ybrass number plate|n and a |ysmall chalkboard|n for
|
||
|
|
residents to leave messages.
|
||
|
|
|
||
|
|
Down the center runs a |ylong communal table|n where novices gather
|
||
|
|
for late-night study sessions or early morning meals. The table is
|
||
|
|
scarred with years of use—burn marks from failed spells, ink stains
|
||
|
|
from frenzied note-taking, and countless initials carved by restless
|
||
|
|
hands. |YWrought-iron candelabras|n provide warm illumination.
|
||
|
|
|
||
|
|
The walls are painted in |ycheerful pale blue|n, decorated with
|
||
|
|
educational tapestries showing magical theory diagrams, herb
|
||
|
|
identification charts, and the academy's history. Near the far end,
|
||
|
|
a |ycommunity bookshelf|n overflows with well-worn textbooks and
|
||
|
|
shared study materials.
|
||
|
|
|
||
|
|
|yComfortable but simple|n, the hall maintains a youthful energy.
|
||
|
|
Small groups of novices can often be found here, comparing notes,
|
||
|
|
practicing basic enchantments, or simply unwinding after demanding
|
||
|
|
classes. The atmosphere is one of |xshared struggle and camaraderie|n.
|
||
|
|
"""
|
||
|
|
|
||
|
|
self.db.atmosphere = {
|
||
|
|
"mood": "energetic but tired, studious, communal",
|
||
|
|
"lighting": "warm candlelight, some magical glow from practice",
|
||
|
|
"sounds": "whispered conversations, page turning, muffled spell practice",
|
||
|
|
"smells": "young sweat, ink, cheap candles, nervous energy",
|
||
|
|
"temperature": "slightly warm from body heat, drafty near windows"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.exits = {
|
||
|
|
"west": "Corridor of Rest",
|
||
|
|
"north": "Novice Bath House",
|
||
|
|
"east": "Study Nook"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.objects = [
|
||
|
|
"wooden doors with brass numbers",
|
||
|
|
"long scarred communal table",
|
||
|
|
"wrought-iron candelabras",
|
||
|
|
"educational tapestries",
|
||
|
|
"overflowing community bookshelf",
|
||
|
|
"chalkboards on each door",
|
||
|
|
"wooden benches and stools",
|
||
|
|
"shared spell component cabinet",
|
||
|
|
"lost and found crate",
|
||
|
|
"bulletin board for announcements"
|
||
|
|
]
|
||
|
|
|
||
|
|
class MasterSuitesApproach(DefaultRoom):
|
||
|
|
"""
|
||
|
|
The approach to the master suites for senior mages and faculty.
|
||
|
|
"""
|
||
|
|
|
||
|
|
def at_object_creation(self):
|
||
|
|
super().at_object_creation()
|
||
|
|
|
||
|
|
self.key = "Master Suites Approach"
|
||
|
|
self.aliases = ["senior quarters", "master wing", "faculty housing"]
|
||
|
|
|
||
|
|
self.db.desc = """
|
||
|
|
|wMaster Suites Approach|n
|
||
|
|
|
||
|
|
The corridor transforms as you approach the senior quarters, becoming
|
||
|
|
more |yprivate and prestigious|n. The walls shift from institutional
|
||
|
|
stone to |ypaneling of rare woods|n—ebony, purpleheart, and silverleaf—
|
||
|
|
inlaid with delicate |ymarvory filigree|n depicting academic achievements.
|
||
|
|
|
||
|
|
The ceiling rises higher here, crowned with a |ystained glass dome|n
|
||
|
|
that filters daylight into cascades of color. At night, |yluminescent
|
||
|
|
crystals|n take over, providing adjustable lighting suited to each
|
||
|
|
resident's preference. The floor is paved with |ymarble tiles|n in
|
||
|
|
complex geometric patterns.
|
||
|
|
|
||
|
|
Heavy |yiron-bound doors|n stand at intervals, each unique in design,
|
||
|
|
bearing the |ypersonal heraldry|n of the master who dwells within.
|
||
|
|
Small |ywaiting areas|n with comfortable chairs occupy the spaces
|
||
|
|
between doors, allowing guests to await admittance in comfort.
|
||
|
|
|
||
|
|
The air carries a sense of |xgravitas and accomplishment|n. These
|
||
|
|
quarters house the academy's most accomplished scholars, and the
|
||
|
|
space reflects their status. A |yattendant's station|n near the
|
||
|
|
entrance ensures that only appropriate visitors gain access to
|
||
|
|
the private suites beyond.
|
||
|
|
"""
|
||
|
|
|
||
|
|
self.db.atmosphere = {
|
||
|
|
"mood": "dignified, quiet, exclusive",
|
||
|
|
"lighting": "filtered colored light, adjustable magical illumination",
|
||
|
|
"sounds": "near silence, occasional muffled conversation, distant bells",
|
||
|
|
"smells": "expensive incense, old books, rare woods, magical reagents",
|
||
|
|
"temperature": "perfectly climate controlled, individualized zones"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.exits = {
|
||
|
|
"south": "Corridor of Rest",
|
||
|
|
"north": "Archmage's Residence",
|
||
|
|
"east": "Master Suite Alpha",
|
||
|
|
"west": "Master Suite Beta"
|
||
|
|
}
|
||
|
|
|
||
|
|
self.db.objects = [
|
||
|
|
"rare wood paneling with ivory inlay",
|
||
|
|
"stained glass dome ceiling",
|
||
|
|
"luminescent crystal light fixtures",
|
||
|
|
"marble tile geometric flooring",
|
||
|
|
"iron-bound doors with personal heraldry",
|
||
|
|
"comfortable waiting area chairs",
|
||
|
|
"attendant's station with guest registry",
|
||
|
|
"magical privacy screens",
|
||
|
|
"fresh flower arrangements in crystal vases",
|
||
|
|
"portraits of former resident masters"
|
||
|
|
]
|