room_db #248
Aliases: room_db, rdb
18 verbs · 42 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
wait_for_tasks | this none this | | #248 | 9 |
end_wait | this none this | | #248 | 4 |
trusted | this none this | | #248 | 3 |
add_weather_zone | this none this | | #248 | 32 |
remove_weather_zone | this none this | | #248 | 35 |
all_rooms find_all | this none this | rx | #248 | 27 |
update_weather | this none this | | #248 | 106 |
add_flag | this none this | | #248 | 27 |
remove_flag | this none this | | #248 | 26 |
cycle | this none this | | #248 | 16 |
default_weather_desc | this none this | rx | #248 | 10 |
add_drowning | this none this | | #248 | 11 |
do_drown | this none this | | #248 | 29 |
remove_drowning | this none this | | #248 | 0 |
time_of_day | this none this | | #248 | 12 |
is_water_breathing | this none this | | #248 | 20 |
room_magic_effect | this none this | | #248 | 48 |
protected | this none this | | #248 | 8 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
flag_exclude | #248 | r | — | value (273 chars){{"cavern", "structure"}, {"structure", "outdoors"}, {}, {}, {}, {}, {"outdoors"}, {"damned"}, {"blessed"}, {"dark", "lighted", "sun-lit"}, {"dim", "lighted", "sun-lit"}, {"dim", "dark", "sun-lit"}, {"dim", "dark", "lighted"}, {"submerged", "seashore"}, {}, {}, {}, {}, {}} |
flag_depend | #248 | r | — | {{}, {}, {}, {}, {}, {}, {"wet"}, {}, {}, {}, {}, {}, {}, {"wet"}, {"wet"}, {}, {}, {}, {}} |
flag_names | #248 | r | — | {"outdoors", "cavern", "seashore", "forest", "structure", "wet", "submerged", "blessed", "damned", "dim", "dark", "lighted", "sun-lit", "sea", "swamp", "tavern", "lighting", "stable", "peaceful"} |
zone_names | #248 | r | — | {"castle", "eternal mist", "jungle", "ocean", "tower"} |
zone_climates | #248 | r | — | value (373 chars){{"cold", "cold", "cloudy", "cloudy", "sunny", "windy", "rainy", "rainy", "rainy", "stormy", "misty", "misty", "misty", "warm"}, {"cloudy", "rainy", "stormy", "stormy", "stormy", "misty", "misty", "misty"}, {"J_clear", "J_cloudy", "J_stormy"}, {"S_calm", "S_calm", "S_windy", "S_foggy", "S_stormy"}, {"cold", "cloudy", "sunny", "windy", "rainy", "stormy", "misty", "warm"}} |
zone_weather | #248 | r | — | {"drizzle", "clouds", "J_overcast", "S_windy1", "overcast"} |
zone_forecast | #248 | r | — | {"rainy", "cloudy", "J_cloudy", "S_windy", "cloudy"} |
season | #248 | r | — | "summer" |
time_count | #248 | r | — | 783 |
global_tendancy | #248 | r | — | "calm" |
default_climate | #248 | r | — | {"cold", "cloudy", "sunny", "windy", "rainy", "stormy", "misty", "warm"} |
maintainers | #248 | r | — | {#105941} |
weather_types | #248 | r | — | value (391 chars){"chilly", "flakes", "snow", "blizzard", "sun", "clouds", "overcast", "breeze", "wind", "gusts", "drizzle", "rain", "downpour", "sleet", "hail", "thunder", "storm", "tempest", "mist", "fog", "hot", "muggy", "S_placid", "S_breeze", "S_windy1", "S_mist", "S_fog", "S_windy2", "S_rain", "D_calm", "D_wind", "D_sandstorm", "J_sun", "J_breeze", "J_clouds", "J_overcast", "J_squall", "J_downpour"} |
all_rooms | #248 | r | — | value (6183 chars){#258, #3092, #1131, #5747, #6619, #9512, #11174, #740, #760, #757, #763, #95, #99, #7370, #7373, #591, #358, #751, #7367, #532, #354, #11960, #11959, #1622, #13697, #17506, #18647, #10336, #4371, #19232, #33439, #41735, #9355, #261, #295, #91, #105, #111, #192, #224, #10161, #29129, #59976, #85821, #9876, #69, #7200, #97146, #97149, #97389, #89923, #44048, #6628, #71048, #3733, #1181, #82749, #2990, #12758, #146, #10555, #2075, #83, #7750, #9079, #16070, #2707, #29500, #36893, #107305, #8111, #83072, #14060, #175, #64666, #21317, #7773, #66017, #101054, #62398, #84279, #42997, #129, #72483, #60414, #70710, #6243, #78422, #60939, #2765, #77404, #17149, #36618, #117058, #1501, #118833, #61212, #62121, #1997, #85405, #66068, #16239, #40311, #75719, #38233, #98903, #94711, #84319, #99048, #52272, #15449, #100620, #77878, #95886, #643, #3040, #3051, #646, #710, #713, #3043, #8068, #8071, #10430, #10433, #10436, #48687, #10337, #10340, #10343, #11243, #11246, #11787, #12137, #12493, #8736, #68818, #59680, #66520, #102785, #8777, #5350, #95454, #98670, #116058, #82539, #93905, #103366, #77712, #49444, #161, #377, #754, #63230, #70477, #9955, #14599, #9585, #106346, #92585, #9260, #25633, #75469, #74909, #101247, #3771, #75530, #97643, #882, #2147, #77, #3768, #6757, #3779, #3765, #2930, #21656, #2963, #2948, #2945, #2150, #49563, #51503, #43, #201, #227, #233, #339, #342, #529, #108, #12565, #10358, #75904, #107196, #111985, #73169, #71130, #70056, #75410, #21089, #15796, #19750, #105170, #56294, #37218, #73128, #66580, #115602, #38282, #8807, #80523, #39614, #89964, #118387, #99770, #40173, #97710, #22415, #32497, #54916, #10577, #11249, #6609, #1277, #1288, #4557, #4553, #71830, #9505, #82000, #46025, #84346, #35000, #22430, #87296, #14148, #102438, #9962, #1408, #9103, #71066, #7838, #8997, #62589, #4893, #49586, #34498, #6022, #16020, #10026, #109726, #108093, #3723, #98896, #2742, #2743, #74146, #113442, #12338, #49572, #115965, #100637, #6720, #2241, #85872, #31789, #12388, #51313, #81212, #61010, #118815, #27053, #2502, #82138, #3609, #2509, #41836, #105174, #116737, #12738, #65089, #64451, #106915, #4727, #114987, #77533, #102748, #110305, #52017, #5042, #77139, #112090, #79675, #121375, #77711, #54929, #97068, #77754, #9257, #9339, #9343, #9346, #77996, #104873, #63979, #33554, #39450, #51512, #101364, #103472, #43693, #66008, #51075, #14591, #92414, #5616, #109520, #103148, #101327, #111402, #85494, #113673, #17659, #87689, #80946, #1499, #8420, #100800, #85118, #72794, #72269, #100822, #100630, #58290, #53182, #12886, #53820, #63134, #68398, #58641, #57921, #86065, #91864, #100211, #106353, #93439, #86992, #49057, #58424, #36667, #50875, #22929, #22566, #9055, #27861, #6060, #47966, #55776, #51891, #59956, #47775, #22482, #36185, #54444, #58985, #71569, #46387, #45849, #61908, #55693, #17745, #3251, #81991, #28263, #12300, #60692, #76461, #16379, #91985, #89800, #34463, #71799, #96189, #45765, #32575, #10647, #102138, #42754, #72063, #101365, #24643, #51126, #87884, #85583, #100555, #13186, #63910, #62973, #5786, #21963, #78665, #106493, #1126, #94378, #106480, #80492, #104516, #11345, #5244, #35034, #9960, #9961, #29977, #108229, #52041, #1230, #57791, #3811, #5742, #3989, #61020, #33644, #6981, #8414, #68555, #86624, #100228, #9444, #7004, #8358, #16898, #23406, #33947, #33950, #33954, #5378, #46282, #1378, #1302, #1274, #28482, #28489, #28504, #28532, #1270, #1260, #49267, #13337, #17396, #53622, #66744, #83452, #82764, #83471, #57081, #47177, #71451, #44381, #76952, #91678, #94052, #5491, #7547, #1711, #9471, #87861, #195, #13649, #2646, #2413, #9459, #7195, #8399, #7399, #62820, #2986, #1756, #2337, #2448, #3972, #17164, #35674, #77765, #77704, #3814, #77705, #41113, #116688, #111234, #39993, #72777, #118811, #118844, #115522, #9958, #1282, #2080, #1494, #1463, #1418, #1455, #1588, #1386, #1389, #23403, #107890, #116677, #120372, #9331, #76289, #121010, #82024, #68956, #61849, #84046, #98051, #94970, #89573, #56392, #82702, #60710, #76672, #57186, #2381, #67874, #68480, #12660, #86476, #198, #6600, #6986, #63286, #61664, #75565, #79013, #9022, #112278, #77440, #90819, #12507, #13263, #12273, #61818, #71935, #116129, #102202, #16089, #4820, #10419, #22040, #22047, #22685, #24102, #24164, #29711, #17239, #17146, #51772, #33105, #11358, #52665, #52671, #30358, #52678, #21999, #51910, #43810, #34802, #56934, #54493, #31156, #33720, #46216, #51945, #4673, #36628, #55369, #36890, #36888, #36892, #63903, #64066, #109709, #64814, #51275, #71232, #2733, #60039, #69592, #82975, #47477, #8203, #53552, #42866, #85812, #79701, #65545, #82608, #2799, #54237, #66091, #12757, #78069, #67424, #75341, #74810, #5212, #84325, #9110, #1048, #964, #1142, #82264, #25673, #4989, #31645, #89584, #21035, #88001, #75237, #33857, #17408, #76692, #12021, #1063, #1067, #1077, #4464, #7737, #9959, #5713, #1322, #8352, #1066, #1613, #1079, #10600, #1081, #1344, #2744, #2751, #2752, #8030, #16633, #68363, #2292, #5415, #30802, #18030, #53064, #38175, #36393, #63281, #64753, #98412, #36373, #46304, #43013, #60246, #60843, #60245, #1703, #1704, #1705, #1706, #1712, #1850, #1851, #1852, #1853, #1132, #1134, #13673, #13670, #13676, #13679, #13661, #13667, #13664, #13658, #13651, #13655, #12446, #65970, #88067, #49356, #73254, #100423, #11582, #12969, #64281, #61543, #932, #76464, #2317, #12228, #110324, #74963, #60093, #12176, #98678, #87527, #112123, #68263, #88715, #63928, #112373, #17983, #31258, #23198, #102533, #14597, #28726, #3545, #92410, #5648, #59056, #50905, #110734, #3840, #70511, #72188, #75966, #12134, #14975, #9422, #7029, #24655, #2443, #33870, #5391, #6067, #96221, #51604, #68371, #119614, #70461, #80124, #51491, #3567, #3656, #77798, #77797, #77795, #77764, #77758, #77745, #7319, #85363, #56739, #109687, #77482, #42408, #42869, #54780, #95002, #110193, #116707, #11731, #75801, #62231, #62123, #117799, #118813, #71313, #118810, #118820, #118830, #80120, #81762, #42626, #74636, #56365, #74911, #82079, #29473, #75810, #10387, #72574, #59085, #8028, #89692, #83184, #14337, #68197, #87353, #1146, #1087, #11675, #38226, #81035, #4683, #53781, #80896, #46670, #74946, #80515, #57226} |
last_room_list_update | #248 | r | — | 1141745324 |
current_task | #248 | r | — | 0 |
last_weather_update | #248 | r | — | 1141745324 |
heart | #248 | r | — | #-1 |
dummy1 | #248 | r | — | 0 |
dummy2 | #248 | r | — | 0 |
dummy3 | #248 | r | — | 0 |
weather_classes | #248 | r | — | {"cold", "cloudy", "sunny", "windy", "rainy", "stormy", "misty", "warm", "S_calm", "S_windy", "S_foggy", "S_stormy", "D_clear", "D_windy", "J_clear", "J_cloudy", "J_stormy"} |
default_type_desc | #248 | r | — | value (5935 chars){{"The sun is hidden behind the clouds and the air is quite cold.", 1, 1, "The stars are hidden by clouds, and the air is bitterly cold."}, {"White flakes of snow drift down out of a sky filled with grey.", 1, 1, "Tiny white flakes of snow drift down from the darkened, starless sky."}, {"Snowflakes swirl down from the cloud filled sky.", 1, 1, "Snowflakes swirl down out of the darkness."}, {"The wind howls blasting snowflakes in your face, and reducing your vision to almost nothing.", 1, 1, 1}, {"The sun pokes its orange-yellow head above the horizon, lighting the blue and almost cloudless sky.", "The sun shines down from a cloudless sky.", "The western horizon is orange from the last rays of the setting sun.", "Stars shine down from the clear night sky."}, {"The rising sun peeks through the clouds on the western horizon.", "Clouds occasionally drift across the sky, casting shadows over the landscape.", "A glorious sunset fills the western horizon with a dazzling display of orange and yellow.", "Stars peek out here and there from the cloudy sky."}, {"The grey sky grows lighter as the unseen sun rises.", "The sky is filled with grey clouds, hiding the sun from sight.", "The grey sky grows darker as the sun sets.", "The stars are hidden from view by the clouds that fill the sky."}, {"A light breeze blows across the landscape.", 1, 1, 1}, {"A strong wind blows across the landscape.", 1, 1, 1}, {"Fierce gusts of wind blast dust in your face.", 1, 1, 1}, {"A light drizzle is falling from the cloudy sky.", 1, 1, "A light drizzle falls from the midnight sky."}, {"A steady rain falls from the sullen, overcast sky.", 1, 1, "A steady rain falls from the darkened sky."}, {"A tremendous downpour falls from the sky, soaking everthing around.", 1, 1, 1}, {"A bitterly cold, icy sleet is falling from the clouds above.", 1, 1, "Icy sleet falls from the darkness above."}, {"Hailstones pelt you from the sky.", 1, 1, 1}, {"The occasional rumble of thunder comes from the dark clouds above.", 1, 1, "The blackness of the night sky is occasionally pierced by a flicker of lightning or rumble of thunder."}, {"Rain pours from the heavens as flashes of lightning strike all about.", 1, 1, "The midnight sky is illuminated by flashes of lightning, as rain pours from the heavens."}, {"An incredible downpour falls, soaking everything, as lightning flashes all around followed by earshattering thunder.", 1, 1, "Heavy rain falls upon you, and the night sky is lit up by lightning every few seconds."}, {"A light mist covers the ground.", 1, 1, "The night is filled with an eerie mist that hugs the ground."}, {"A dense fog fills the air, muffling sound, and making vision difficult.", 1, 1, "The night is filled with a dense fog, restricting vision to only a few paces."}, {"The early morning air is already quite warm, even though the sun is just above the horizon.", "It is quite warm, and the land basks in the heat of the midday sun.", "The sun is setting, but the air is still quite warm.", "The nightime air is comfortably warm."}, {"The early morning air is already uncomfortably warm. and humid.", "The air is hot and muggy.", "The humid air is still uncomfortably warm", "The warm night air is quite humid."}, {"The sun pokes above the western horizon, casting its golden light upon the placid waters of the sea.", "The day is warm and clear, and the surface of the sea is calm and placid.", "The orange orb of the sun is setting beneath the calm waters of the sea.", "Stars can be seen reflected in the calm, placid waters of the sea."}, {"A light breeze blows across the gently lapping waters and the sky is bright and clear.", 1, 1, "A nightime breeze blows across the waters of the sea."}, {"A strong wind blows across the roiling sea. An occasional cloud drifts across the sun.", 1, 1, "The sound of the wind is punctuated by the sound of the turbulent sea, rolling beneath the stars."}, {"The surface of the sea is barely visible through the light mist that covers it.", 1, 1, 1}, {"The dense fog that covers the sea muffles sound and sight.", 1, 1, 1}, {"The cloudy skies shift and swirl, as whitecaps dance among the waves.", 1, 1, 1}, {"The wind howls, rain pours from the grey clouds above, and the sea lurches about sickeningly.", 1, 1, "The wind howls about, rain pours from the starless skies above, and the sound of the waves thrashing about can be heard."}, {"The desert sun peeks above the dunes, casting shadows on the sand.", "The sun beats down upon the desert like a hammer on an anvil.", "The desert sunset is a glorious display of reds and oranges.", "The desert air is cold and clear. A million stars twinkle in the heavens above."}, {"The desert sands shift and swirl in the gusty winds.", 1, 1, 1}, {"The wind howls about, blasting sand into eyes, nose, and mouth. It is almost impossible to see more than 3 feet in front of you.", 1, 1, 1}, {"The sun has only just begun to rise into the sky, but already the humid air is uncomfortably warm.", "The blazing sun hammers down on you and the air is wet and miserable.", "It is still muggy and unpleasant, even though the sun is setting in the west.", "The night air is warm and humid."}, {"A light breeze does little to cool the uncomfortably hot and humid air.", 1, 1, "A light breeze blows out of the night, bringing a pleasant coolness."}, {"The sun peeks through the clouds on the western horizon.", "The clouds swirling in the sky, while occasionally blocking the sun, do nothing to help the heat and humidity.", "The sun sets above the jungle, creating a beautiful orange sunset.", "Stars peek through the clouds in the sky above."}, {"The sky is filled with grey clouds and it is warm and humid.", 1, 1, "Not a star can be seen in the sky above."}, {"A light intermittant rain falls from the cloud-filled sky.", 1, 1, 1}, {"A fierce downpour soaks everything in the jungle.", 1, 1, "A heavy rain falls from the dark, starless skies."}} |
weather_transitions | #248 | r | — | value (977 chars){{"chilly", "flakes"}, {"chilly", "snow"}, {"flakes", "flakes", "snow", "blizzard"}, {"blizzard", "snow"}, {"clouds", "sun", "sun", "hot"}, {"sun", "clouds", "overcast", "thunder"}, {"overcast", "overcast", "clouds", "drizzle", "mist"}, {"clouds", "sun", "breeze", "wind"}, {"breeze", "gusts"}, {"wind"}, {"overcast", "drizzle", "rain"}, {"drizzle", "drizzle", "rain", "rain", "downpour", "hail", "sleet"}, {"rain"}, {"rain"}, {"rain"}, {"clouds", "thunder", "storm"}, {"thunder", "thunder", "storm", "tempest"}, {"storm"}, {"overcast", "fog"}, {"fog", "mist"}, {"hot", "sun", "hot", "muggy"}, {"hot", "muggy"}, {"S_placid"}, {"S_breeze", "S_windy1"}, {"S_breeze", "S_windy1"}, {"S_fog", "S_mist"}, {"S_fog", "S_mist"}, {"S_windy2", "S_rain"}, {"S_windy2", "S_rain"}, {"D_calm"}, {"D_wind", "D_sandstorm"}, {"D_wind", "D_sandstorm"}, {"J_sun", "J_breeze"}, {"J_sun", "J_breeze"}, {"J_clouds", "J_overcast"}, {"J_clouds", "J_overcast"}, {"J_squall", "J_downpour"}, {"J_squall"}} |
class_weather | #248 | r | — | value (497 chars){{"chilly", "flakes", "snow", "blizzard"}, {"clouds", "overcast"}, {"sun", "clouds", "breeze"}, {"breeze", "wind", "gusts"}, {"overcast", "drizzle", "rain", "downpour", "sleet", "hail"}, {"clouds", "thunder", "storm", "tempest"}, {"clouds", "overcast", "mist", "fog"}, {"sun", "hot", "muggy"}, {"S_placid"}, {"S_breeze", "S_windy1"}, {"S_mist", "S_fog"}, {"S_windy2", "S_rain"}, {"D_calm"}, {"D_windy", "D_sandstorm"}, {"J_sun", "J_breeze"}, {"J_clouds", "J_overcast"}, {"J_squall", "J_downpour"}} |
class_transitions | #248 | r | — | value (413 chars){{"cloudy"}, {"sunny", "windy", "stormy", "misty", "rainy", "cold"}, {"warm", "windy", "cloudy"}, {"cloudy", "sunny", "stormy"}, {"cloudy"}, {"cloudy"}, {"sunny", "cloudy"}, {"sunny", "cloudy"}, {"S_calm", "S_windy", "S_foggy"}, {"S_calm", "S_windy", "S_stormy"}, {"S_calm"}, {"S_windy", "S_stormy"}, {"D_clear", "D_windy"}, {"D_clear"}, {"J_clear", "J_cloudy"}, {"J_clear", "J_cloudy", "J_stormy"}, {"J_cloudy"}} |
class_transitionable | #248 | r | — | value (351 chars){{"chilly"}, {"clouds", "overcast"}, {"sun", "clouds", "breeze"}, {"breeze", "wind"}, {"overcast", "drizzle"}, {"clouds", "thunder"}, {"clouds", "overcast"}, {"sun", "hot", "muggy"}, {"S_placid"}, {"S_breeze", "S_windy1"}, {"S_mist"}, {"S_windy2"}, {"D_calm"}, {"D_wind"}, {"J_sun", "J_breeze"}, {"J_clouds", "J_overcast"}, {"J_squall", "J_downpour"}} |
weather_transition_msgs | #248 | r | — | value (5540 chars){{"The temperature has dropped considerably, it is now quite cool.", "", "Tiny snowflakes have begun to drift down from the cold, white skies."}, {"", "The snowflakes have stopped falling, but it is still quite cold.", "It has begun to snow more heavily."}, {"", "The fall of snow has lessened slightly.", "Only a few flakes now drift down from the skies.", "", "The wind picks up, howling around you and blowing snow all over."}, {"", "", "The winds slow and the fall of snow lessens slightly."}, {"The sky is virtually cloud free, right now.", "The sky is filled with clouds, but patches of sky can be seen between them.", "", "", "The temperature is now quite warm."}, {"Clouds drift through the sky, partially obscuring it.", "Most of the clouds in the sky have drifted away or dissipated.", "", "The clouds thicken and nary a trace of sky can be seen in the heavens above.", "The warm air has caused the clouds to grow into tall thunderheads, which produce an occasional rumble."}, {"Not a trace of sky is visible in the clouds above.", "", "", "The thick cloud cover thins, and patches of sky can be seen in the heavens above.", "A light drizzle has begun to fall.", "As the humid air cools slightly, a mist begins to rise from the ground."}, {"A light breeze has begun to blow.", "Although the breeze near the ground has died down, clouds still drift through the skies overhead.", "The breeze dies down, but the warm sun continues to shine down from the clear blue sky.", "", "The speed of the wind has picked up. It is now quite strong."}, {"It has become quite windy.", "The speed of the wind has died down, but a noticeable breeze is still present.", "The wind has picked up, and fierce gusts of wind blow dust in your eyes and mouth."}, {"", "The wind has died down slightly, but is still quite strong."}, {"A light rain has begun to fall.", "Gradually, the raindrops cease their gentle pitter-patter, but the sky remains hidden above the grey clouds.", "", "The rain has begun to fall more heavily."}, {"", "The rain has decreased to a light drizzle.", "The rain has let up slightly.", "", "", "The tempo of the raindrops increases considerably. Water is now pouring from the sky.", "The rain lets up briefly for a minute, then hail begins to fall", "The rain grows gradually colder and becomes a freezing sleet which delivers a bitter chill."}, {"", "The downpour lets up, but it is still raining heavily."}, {"", "The sleet lets up and is replaced by a warmer rain."}, {"", "The hail ceases and gives way to a normal rain."}, {"The clouds above have begun to rumble ominously.", "The time between rumbles of thunder lengthens as the storm clouds dissipate.", "", "Lightning flickers through the sky and it begins to rain."}, {"", "The rain ceases, but there is still an occasional rumble of thunder.", "The rain stops, but lightning still flickers in the sky.", "", "The rains increases to a downpour as lightning flashes and thunder crashes about you."}, {"", "The rain lets up slightly, but lightning still flashes amongst the clouds."}, {"A white mist rises from the ground.", "The mist dissipates, leaving overcast skies.", "The mist thickens and rises, engulfing the world in a white fog."}, {"", "", "The fog has partially dissipated, but it is still somewhat misty."}, {"The temperature grows quite warm.", "", "It has cooled off slightly, but remains clear", "", "The hot air grows moist, becoming damp and miserable"}, {"It has become hot and muggy.", "The air drys out a bit, but it is still hot.", ""}, {"The wind ceases and the sea grows calm and placid.", ""}, {"A steady breeze blows across the waters.", "", "The breeze grows into a strong wind and the waves grow higher."}, {"A strong wind lashes the waters of the sea, producing waves of considerable size.", "The wind gradually decreases and the seas grow calmer.", ""}, {"Mist is rising from the placid surface of the sea.", "The mist thickens into a dense fog which muffles sound and blocks vision.", ""}, {"", "", "The fog thins, but there is still mist on the surface of the water."}, {"Dark clouds roil in the heavens above, as the strong winds whip the sea up into a frenzy of waves and whitecaps.", "", "The wind grows stronger, and a heavy, cold rain begins to fall upon the restless sea."}, {"", "The rain ceases to fall and the sea grows slightly calmer.", ""}, {"All wind has died down and the dry desert air is now quite motionless.", ""}, {"A strong wind has begun to blow, causing the sand to shift and swirl.", "", "The howling wind starts picking up sand from the desert floor and blasting it into your eyes and mouth."}, {"", "The wind has calmed, allowing its burden of sand to fall to the ground, but it still swirls about uneasily.", ""}, {"The jungle air is warm and humid, but the sky is mostly clear of clouds.", "", "A warm breeze begins to blow."}, {"A warm breeze is blowing.", "The breeze has died down, leaving the hot, humid air quite still.", ""}, {"Clouds swirl in the sky above, bringing little relief from the oppressive heat and humidity.", "", "The clouds thicken into a grey sheet that fills the sky, but it is still miserably hot and wet."}, {"The sky is filled with grey clouds, but it is warm and wet.", "The clouds thin, allowing patches of sky to show through.", ""}, {"A light, intermittent rain falls from the grey skies, giving a little bit of relief from the heat.", "", "The rain begins to fall more heavily, and soon a fierce downpour drenches everything."}, {"", "The rain decreases in intensity abruptly."}} |
drowning | #248 | r | — | {{#5003, 852846242}, {#4688, 852846242}, {#6113, 852846242}, {#31020, 859058650}, {#1742, 859262571}, {#1251, 859852067}} |
weather_pen | #248 | r | — | 0 |
room_parent | #248 | r | — | #1610 |
seaworthy_weapon_parents | #248 | rc | — | {#2231, #1394, #1454, #58137, #42517, #37646} |
spell_index | #248 | rc | — | value (344 chars){"summon", "conjure", "biting_cloud", "iceshell", "waterwhip", "windwall", "stinkcloud", "calm_winds", "storm", "predict", "heal", "pacify", "slow", "recall", "harden", "shatter", "hail", "firebolt", "heat", "barkskin", "enchant", "depress", "mindprobe", "stealskill", "lifelink", "forcewall", "claim", "dispell", "wound", "drain", "mindshock"} |
weather_magic_effect | #248 | r | — | value (2841 chars){{0, 0, -8, 10, 0, 2, -2, 2, -10, -1, -1, 1, 2, 1, 1, 0, 0, -8, -8, -2, -1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -1, -16, 20, 0, 4, -4, 1, -20, -2, -1, 0, 2, 0, 0, 0, 0, -16, -16, -4, -2, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -3, -24, 30, -2, 6, -6, -1, -30, -3, -3, -1, -3, 0, 0, 1, 1, 1, -24, -24, -6, -3, 3, -1, 0, 0, 0, 0, 0, 0, 0}, {0, -4, -32, 40, -4, 10, -10, -6, -40, -4, -5, 0, 2, 0, 1, 1, 1, -24, -24, -9, -3, 4, -1, -1, -1, -2, 0, 0, 0, 0, 0}, {0, 0, 4, -4, -1, -1, 1, 2, -5, 2, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -6, 0, 0, 6, -8, -3, 1, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -12, 0, 0, 12, -16, -5, 3, -1, -1, -5, -4, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -18, 0, 0, 20, -24, -8, 6, -2, -1, -6, -4, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -6, 2, 8, 0, -6, -2, 5, 0, 0, 0, 0, 0, 0, 0, 0, -6, -4, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -12, 4, 16, 3, -12, -4, 10, -1, -1, -1, 0, 0, 0, 0, 0, -12, -8, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -18, 6, 24, 5, -18, -6, 15, 0, -2, -2, 0, 0, 0, 0, 0, -18, -12, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -14, 10, 18, 4, -14, -5, 4, 0, -3, -1, 0, -1, 0, 0, 0, -24, -20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -20, 14, 14, 4, -8, -5, 4, 0, -3, -1, 0, -1, 0, 0, 0, -20, -20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 4, -4, -3, 6, 0, -4, -5, -3, 0, 0, 0, 0, -5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -8, 3, 3, 10, -8, -6, 12, 0, -4, -6, -5, 0, 0, 0, 0, 0, -10, -10, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -12, 5, 6, 16, -10, -9, 20, 0, -4, -6, -5, 0, 0, 0, 0, 0, -15, -15, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 4, -5, 5, 5, -5, 0, 0, 5, 5, 0, 0, 0, 0, -4, -4, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 5, 0, 4, -5, 8, 5, -10, 0, 0, 5, 5, 0, 0, 0, 0, -6, -6, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -15, -5, -5, 0, 5, -10, 0, 5, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -15, -4, -5, 5, 5, -15, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 8, -10, -2, -3, 2, 4, -10, 2, 3, 0, 0, 0, 0, 0, 0, 4, 8, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -10, 4, 6, 6, -8, -3, 1, 0, 0, -2, -1, 0, 0, 0, 0, -12, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -12, 4, 6, 12, -16, -5, 3, -1, -1, -5, -4, 0, 0, 0, 0, -12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 5, 10, -5, 5, 5, -5, 0, 0, 5, 5, 0, 0, 0, 0, -15, -4, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 5, 5, 10, -5, 8, 5, -10, 0, 0, 5, 5, 0, 0, 0, 0, -20, -6, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} |
area_magic_effect | #248 | r | — | {} |
weather_effect_words | #248 | r | — | {} |
area_effect_words | #248 | r | — | {} |
weather_task | #248 | r | — | 2002816584 |
key | #248 | | — | not readable (E_PERM) |
aliases | #248 | | — | {"room_db", "rdb"} |
description | #248 | | — | "A database to allow easy global weather and magic effects related to terrain..." |
object_size | #248 | | — | {54481, 1141286558} |
Ancestry
Ancestors (nearest first): none
Children: none
Call graph
Source
wait_for_tasks
Referenced by
- #248:add_weather_zone line 5:
this:wait_for_tasks - #248:remove_weather_zone line 3:
this:wait_for_tasks - #248:all_rooms line 2:
this:wait_for_tasks - #248:add_flag line 12:
this:wait_for_tasks - #248:remove_flag line 5:
this:wait_for_tasks
Source
1":wait_for_tasks() => wait until the database is done making previous modifications. In some cases, a check of all rooms may be forced to suspend in the middle and it would be bad for other changes to be made in this unstable state. This ensures that only 1 update is happening at a time."; 2if (!this:trusted(caller_perms())) 3 return E_PERM; 4endif 5"Warning, tasks had better be suspending in _my_ queue, unless somebody comes up with a :valid_task verb which would be preferable"; 6while ($code_utils:task_valid(this.current_task)) 7 suspend(0); 8endwhile 9this.current_task = task_id();
end_wait
Referenced by
- #248:add_weather_zone line 9:
this:end_wait - #248:add_weather_zone line 13:
this:end_wait - #248:add_weather_zone line 32:
this:end_wait - #248:remove_weather_zone line 7:
this:end_wait - #248:remove_weather_zone line 11:
this:end_wait - #248:remove_weather_zone line 35:
this:end_wait - #248:all_rooms line 26:
this:end_wait - #248:update_weather line 106:
this:end_wait - #248:add_flag line 26:
this:end_wait - #248:remove_flag line 26:
this:end_wait
Source
1"rdb:end_wait() => Stop waiting on the specified task."; 2if (task_id() == this.current_task) 3 this.current_task = 0; 4endif
trusted
Referenced by
- #248:wait_for_tasks line 2:
this:trusted - #248:add_weather_zone line 2:
this:trusted - #248:update_weather line 2:
this:trusted - #248:add_flag line 2:
this:trusted - #248:remove_flag line 2:
this:trusted
Source
1":trusted(<perms>) => return 1 if the caller is trusted to freely make modifications to the database. G_M is _way_ busy, so Im going to include the possibility of non-grandmasters modifying the database."; 2workhorse = args[1]; 3return (workhorse in this.maintainers) || (workhorse in $local.rpg.grand_masters);
add_weather_zone
Referenced by
none
Source
1":add_weather_zone(<zone name>, [climate]) => adds a new weather zone of <zone name>."; 2if (!this:trusted(caller_perms())) 3 return E_PERM; 4endif 5this:wait_for_tasks(); 6zone_names = this.zone_names; 7zone_name = args[1]; 8if (typeof(zone_name) != STR) 9 this:end_wait(); 10 return E_TYPE; 11endif 12if (zone_name in zone_names) 13 this:end_wait(); 14 return E_NONE; 15endif 16lu = $list_utils; 17if ((length(args) > 1) && (typeof(args[2]) == LIST)) 18 climate = {}; 19 weather_classes = this.weather_classes; 20 for n in (args[2]) 21 if (n in weather_classes) 22 climate = {@climate, n}; 23 endif 24 endfor 25else 26 climate = this.default_climate; 27endif 28this.zone_names = {@this.zone_names, zone_name}; 29this.zone_climates = {@this.zone_climates, climate}; 30this.zone_forecast = {@this.zone_forecast, forecast = lu:random_element(climate)}; 31this.zone_weather = {@this.zone_weather, lu:random_element(this.class_weather[forecast in this.weather_classes])}; 32this:end_wait();
remove_weather_zone
Referenced by
none
Source
1":remove_weather_zone(<zone name>) => removes a weather zone from the database. Will reset all rooms that are set to this zone to zone 0 (no weather)."; 2this:secure(); 3this:wait_for_tasks(); 4zone_names = this.zone_names; 5zone_name = args[1]; 6if (typeof(zone_name) != STR) 7 this:end_wait(); 8 raise(E_TYPE, "Non-string specified for zone name"); 9endif 10if (!(zone = zone_name in zone_names)) 11 this:end_wait(); 12 raise(E_NONE, ("Zone '" + zone_name) + "' does not exist."); 13endif 14this.zone_names = listdelete(this.zone_names, zone); 15this.zone_climates = listdelete(this.zone_climates, zone); 16this.zone_weather = listdelete(this.zone_weather, zone); 17this.zone_forecast = listdelete(this.zone_forecast, zone); 18room_type = this.room_parent; 19rooms = $object_utils:descendants_suspended(room_type); 20for room in (rooms) 21 try 22 if (room.weather_zone == zone) 23 room.weather_zone = 0; 24 endif 25 if (room.weather_zone > zone) 26 room.weather_zone = room.weather_zone - 1; 27 endif 28 except x (ANY) 29 player:tell("Error raised while trying to process " + $string_utils:nn(room)); 30 endtry 31 $command_utils:suspend_if_needed(0); 32endfor 33this.all_rooms = rooms; 34this.last_room_list_update = time(); 35this:end_wait();
all_rooms find_all
Referenced by
none
Source
1":all_rooms(<room type>) => If <room type> is a valid flag that rooms may posess, returns a list of all rooms, if any, that have that flag. If not a valid flag, return an error."; 2this:wait_for_tasks(); 3{?flag = ""} = args; 4if ((time() - this.last_room_list_update) > (3600 * 24)) 5 this.all_rooms = $object_utils:descendants_suspended(this.room_parent); 6endif 7rooms = this.all_rooms; 8targets = {}; 9if (!flag) 10 targets = rooms; 11elseif (flag in this.flag_names) 12 for room in (rooms) 13 if (`flag in room.room_data ! ANY') 14 targets = setadd(targets, room); 15 endif 16 endfor 17elseif (flag_num = flag in this.zone_names) 18 for room in (rooms) 19 if (`room.weather_zone == flag_num ! ANY') 20 targets = setadd(targets, room); 21 endif 22 endfor 23else 24 targets = E_INVARG; 25endif 26this:end_wait(); 27return targets;
update_weather
Referenced by
- #248:cycle line 12:
this:update_weather
Source
1":update_weather() => Updates weather for all weather zones, changing as appropriate."; 2if (!this:trusted(caller_perms())) 3 return E_PERM; 4endif 5lu = $list_utils; 6season = this.season; 7rpg = $local.rpg; 8this.all_rooms = $object_utils:descendants_suspended(this.room_parent); 9rooms = this.all_rooms; 10this.last_room_list_update = time(); 11for zone_num in [1..length(this.zone_names)] 12 $command_utils:suspend_if_needed(10); 13 climate = this.zone_climates[zone_num]; 14 class = this.zone_forecast[zone_num]; 15 class_num = class in this.weather_classes; 16 type = this.zone_weather[zone_num]; 17 old_type = type; 18 if ((type in this.class_transitionable[class_num]) && (random(4) == 1)) 19 possible_classes = {}; 20 transitions = this.class_transitions[class_num]; 21 if (season == "summer") 22 for w in ({"warm", "stormy"}) 23 if (w in climate) 24 climate = listappend(climate, w); 25 endif 26 endfor 27 for w in ({"cold", "misty"}) 28 if (w in climate) 29 climate = setremove(climate, w); 30 endif 31 endfor 32 elseif (season == "winter") 33 for w in ({"cold", "cold"}) 34 if (w in climate) 35 climate = listappend(climate, w); 36 endif 37 endfor 38 for w in ({"warm", "misty", "stormy"}) 39 if (w in climate) 40 climate = setremove(climate, w); 41 endif 42 endfor 43 endif 44 t = this:time_of_day(); 45 if (t == "dawn") 46 for w in ({"stormy", "warm"}) 47 if (w in climate) 48 climate = setremove(climate, w); 49 endif 50 endfor 51 elseif (t == "day") 52 for w in ({"misty"}) 53 if (w in climate) 54 climate = setremove(climate, w); 55 endif 56 endfor 57 elseif (t == "dusk") 58 if ("misty" in climate) 59 climate = setremove(climate, "misty"); 60 endif 61 elseif (t == "night") 62 if ("warm" in climate) 63 climate = setremove(climate, "warm"); 64 endif 65 endif 66 for w in (climate) 67 if (w in transitions) 68 possible_classes = {@possible_classes, w}; 69 endif 70 endfor 71 if (possible_classes) 72 class = lu:random_element(possible_classes); 73 class_num = class in this.weather_classes; 74 type = lu:random_element(this.class_transitionable[class_num]); 75 endif 76 weather_change_msg = this.weather_transition_msgs[type in this.weather_types][1]; 77 else 78 possible = {}; 79 type_num = type in this.weather_types; 80 class_weather = this.class_weather[class_num]; 81 for p in (this.weather_transitions[type_num]) 82 if (p in class_weather) 83 possible = {@possible, p}; 84 endif 85 endfor 86 type = lu:random_element(possible); 87 weather_change_msg = this.weather_transition_msgs[old_type in this.weather_types][(type in this.weather_transitions[old_type in this.weather_types]) + 1]; 88 endif 89 this.zone_forecast[zone_num] = class; 90 this.zone_weather[zone_num] = type; 91 $command_utils:suspend_if_needed(10); 92 if (weather_change_msg) 93 for room in (rooms) 94 if (room.weather_zone == zone_num) 95 rpg:rpg_announce_all(room, weather_change_msg); 96 endif 97 $command_utils:suspend_if_needed(10); 98 endfor 99 endif 100endfor 101this.time_count = (this.time_count + 1) % 1111; 102if (this.time_count == 159) 103 seasons = {"spring", "summer", "fall", "winter"}; 104 this.season = seasons[((this.season in seasons) % 4) + 1]; 105endif 106this:end_wait();
add_flag
Referenced by
none
Source
1":add_flag(<flag name>, {<depend>}, {<exclude>}) => Add a flag to the room_dbs list of acceptable room flags. "; 2if (!this:trusted(caller_perms())) 3 return E_PERM; 4endif 5{name, ?depend = {}, ?exclude = {}} = args; 6if (((typeof(name) != STR) || (typeof(depend) != LIST)) || (typeof(exclude) != LIST)) 7 return E_INVARG; 8endif 9if (name in this.flag_names) 10 return E_NONE; 11endif 12this:wait_for_tasks(); 13for n in (depend) 14 if ((!n) in this.flag_names) 15 depend = setremove(depend, n); 16 endif 17endfor 18for n in (exclude) 19 if ((!n) in this.flag_names) 20 exclude = setremove(exclude, n); 21 endif 22endfor 23this.flag_names = {@this.flag_names, name}; 24this.flag_depend = {@this.flag_depend, depend}; 25this.flag_exclude = {@this.flag_exclude, exclude}; 26this:end_wait(); 27"Mooshie (#106469) - Sun Mar 3, 2002 - Changed to handle arguments a bit more smoothly.";
remove_flag
Referenced by
none
Source
1":remove_flag(<flag name>) => Remove <flag name> from the database, and from all rooms that have it."; 2if (!this:trusted(caller_perms())) 3 return E_PERM; 4endif 5this:wait_for_tasks(); 6flag_name = args[1]; 7flag = flag_name in this.flag_names; 8if (!flag) 9 return E_NONE; 10endif 11for n in [1..length(this.flag_names)] 12 this.flag_depend[n] = setremove(this.flag_depend[n], flag_name); 13 this.flag_exclude[n] = setremove(this.flag_exclude[n], flag_name); 14endfor 15this.flag_names = listdelete(this.flag_names, flag); 16this.flag_depend = listdelete(this.flag_depend, flag); 17this.flag_exclude = listdelete(this.flag_exclude, flag); 18room_type = this.room_parent; 19rooms = $object_utils:descendants_suspended(room_type); 20for room in (rooms) 21 room.room_data = setremove(room.room_data, flag_name); 22 $command_utils:suspend_if_needed(0); 23endfor 24this.all_rooms = rooms; 25this.last_room_list_update = time(); 26this:end_wait();
cycle
Referenced by
none
Source
1":cycle() => update the weather."; 2if ($code_utils:task_valid(this.weather_task) && (this.weather_task != task_id())) 3 return E_QUOTA; 4endif 5"fork x (2000)"; 6" this:cycle();"; 7"endfork"; 8rpg = $local.rpg; 9if ((rpg.clock:not_checkpoint() && (rpg.gm_lag < rpg.idle_threshold)) && ((time() - this.last_weather_update) > 1800)) 10 fork x (5) 11 this.last_weather_update = time(); 12 this:update_weather(); 13 endfork 14 this.weather_task = x; 15endif 16"Profane (#30788) - Sat Apr 14, 2001 - New cycle paradigm- check this verb whenever a room uses :get_weather.";
default_weather_desc
Referenced by
none
Source
1":default_weather_desc(<weather type>) => If weather is an appropriate type, return a description of what that weather might look at, at this particular time of day."; 2weather = args[1] in this.weather_types; 3time = this:time_of_day() in {"dawn", "day", "dusk", "night"}; 4if (weather && time) 5 if (typeof(msg = this.default_type_desc[weather][time]) == NUM) 6 msg = this.default_type_desc[weather][msg]; 7 endif 8 return msg; 9endif 10return "";
add_drowning
Referenced by
none
Source
1":add_drowning(<victim>) => Add the victim to the queue of potentialy drowning persons. Should probably be called by room's enterfunc. Is called by #1610:enterfunc, so no need to worry., all RPG rooms use this, except for the mazes."; 2rpg = $local.rpg; 3if (!rpg:trusted(caller_perms())) 4 return E_PERM; 5endif 6victim = args[1]; 7doll = rpg:get_doll(victim); 8victims = $list_utils:slice(this.drowning); 9if (valid(doll) && (!(victim in victims))) 10 this.drowning = setadd(this.drowning, {victim, time()}); 11endif
do_drown
Referenced by
none
Source
1":do_drown() => Check everybody who's been logged as being in an underwater room. If they're still there, check if they've exhausted their air supply, and dock them some fatigue, if they're drowning."; 2(rpg = $local.rpg):secure(); 3for victim_data in (this.drowning) 4 rpg:s_i_f_i_n(); 5 victim = victim_data[1]; 6 time = victim_data[2]; 7 location = victim.location; 8 doll = rpg:get_doll(victim); 9 if (rpg:trusted_verb(location, "get_room_flags") && valid(doll)) 10 flags = location:get_room_flags(); 11 if ("submerged" in flags) 12 if ((!this:is_water_breathing(victim)) && ((!is_player(victim)) || (victim in connected_players()))) 13 diff = time() - time; 14 res = rpg:resolve(victim, "stamina", (-diff) / 4); 15 if (res < 0) 16 doll.fat = min(900, doll.fat - (res / 2)); 17 victim:tell("The air in your lungs is exhausted! You're drowning!"); 18 else 19 victim:tell("You're beginning to exhaust the air in your lungs, but you can still remain under for a bit longer."); 20 endif 21 endif 22 else 23 this.drowning = setremove(this.drowning, victim_data); 24 victim:tell("You've finally recovered from your underwater experience and are now breathing easily."); 25 endif 26 else 27 this.drowning = setremove(this.drowning, victim_data); 28 endif 29endfor
remove_drowning
Referenced by
none
Source
No program (verb defined but unprogrammed).
time_of_day
Referenced by
- #248:update_weather line 44:
this:time_of_day - #248:default_weather_desc line 3:
this:time_of_day
Source
1":time_of_day([NUM time]) => returns a string reflecting the time."; 2{?time = time()} = args; 3sun = $time_utils:sun(time); 4if (sun < -1500) 5 return "night"; 6elseif (sun > 1500) 7 return "day"; 8elseif (tonum(ctime(time)[12..13]) < 12) 9 return "dawn"; 10else 11 return "dusk"; 12endif
is_water_breathing
Referenced by
- #248:do_drown line 12:
this:is_water_breathing
Source
1":is_water_breathing(<victim>) => Does victim have a ring of water breathing, or are the a critter or GM with a .water_breather prop set?"; 2{victim} = args; 3rpg = $local.rpg; 4if (is_player(victim)) 5 if (rpg:trusted_property(victim, "water_breather") && victim.water_breather) 6 return 1; 7 endif 8elseif ("water_breather" in victim.flags) 9 return 1; 10endif 11doll = rpg:get_doll(victim); 12if (doll) 13 for item in (doll.wearing) 14 if ((item == #63112) || (parent(item) == #63112)) 15 return 1; 16 endif 17 endfor 18endif 19return 0; 20"THX1138 (#105941) - Thu Jun 18, 1998 - Re-wrote for \"water_breather\" in monster.flags instead of checking trusted monster.water_breather which was a huge waste of clear properties on the 660 descendants of rpg.monster.";
room_magic_effect
Referenced by
none
Source
1":room_magic_effect(<room>, <caster doll>, <qual>, <skill>, <target>) => Magic effect for room, based on Global weather/room flags. On the db, because there are several trees of rooms that need this effect."; 2rpg = $local.rpg; 3if (!rpg:trusted(caller_perms())) 4 return E_PERM; 5endif 6rdb = this; 7{room, caster_doll, qual, skill, target_doll} = args; 8caster = caster_doll.character; 9spell = (typeof(skill) == OBJ) ? skill.aliases[1] | skill; 10flags = room:get_room_flags(); 11if (room.weather_zone) 12 weather = rdb.zone_weather[room.weather_zone] in rdb.weather_types; 13else 14 weather = "none"; 15endif 16strings = {}; 17spell_num = spell in rdb.spell_index; 18value = 0; 19if (spell_num && weather) 20 value = value + rdb.weather_magic_effect[weather][spell_num]; 21 ww = rdb.weather_effect_words[weather]; 22 words = (typeof(ww) == STR) ? ww | tostr(rdb.weather_effect_words[ww]); 23 if (value > 1) 24 strings = setadd(strings, ("Your spell draws energy from the " + word) + "."); 25 elseif (value < -1) 26 strings = setadd(strings, ("The " + word) + " interferes with your spell."); 27 endif 28endif 29if (spell_num) 30 for flag in (flags) 31 flag_num = flag in rdb.flag_names; 32 v = rdb.area_magic_effect[flag_num][spell_num]; 33 value = value + v; 34 if (v > 0) 35 strings = setadd(strings, rdb.area_effect_words[flag_num][1]); 36 elseif (v < 0) 37 strings = setadd(strings, rdb.area_effect_words[flag_num][2]); 38 endif 39 endfor 40endif 41value = value - this.magic_effect; 42if (strings) 43 caster:tell($list_utils:random_element(strings)); 44endif 45if ((-value) > qual) 46 caster:tell("Nothing happens."); 47endif 48return -value;
protected
Referenced by
none
Source
1":protected() => raise an error if caller not trusted to maintain room db or modify the room."; 2c = callers(); 3who = `c[2][3] ! ANY => player'; 4what = `c[2][1] ! ANY => player'; 5if ((((what == caller) || (who == caller.owner)) || (who in this.maintainers)) || (who in $local.rpg.grand_masters)) 6 return; 7endif 8raise(E_PERM, "RPG room database security violation.");