LRPG Illuminated Room #16070
Aliases: LRPG Illuminated Room, RPX Light Room, Lighted Room, Light Room
16 verbs · 25 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
enterfunc | this none this | | #16070 | 10 |
illuminate | this none this | | #16070 | 16 |
darken | this none this | | #16070 | 15 |
exitfunc | this none this | | #16070 | 11 |
illumination_check | this none this | | #16070 | 15 |
description | this none this | | #16070 | 13 |
visible | this none this | | #16070 | 12 |
dark_description | this none this | | #16070 | 1 |
say | any any any | rxd | #16070 | 8 |
look_self | this none this | | #16070 | 9 |
l*ook | any any any | rxd | #16070 | 0 |
pare*_list | this none this | | #16070 | 16 |
emote think | any any any | rxd | #16070 | 8 |
tell_contents | this none this | | #16070 | 2 |
announce_all | this none this | | #16070 | 11 |
obvious_exits obvious_entrances | this none this | | #16070 | 4 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
illumination | #16070 | rc | — | {} |
lightlevel | #16070 | rc | — | 0 |
totally_dark_msg | #16070 | rc | — | "It's pitch black in here." |
adjacent | #16070 | rc | — | {} |
fully_lit | #16070 | rc | — | 100 |
illumination_msg | #16070 | rc | — | value (298 chars){"Shadows are cast about %T from the pitiful light source.", "%T is slightly illuminated by the flickering light source.", "You can almost see %T clearly in the light.", "%T is well lit by the strong light source.", "%T is flooded with the blinding light emanating from the powerful light source."} |
light_enabled | #16070 | r | — | 0 |
dark_description | #16070 | rc | — | "Sure is some dark in here, boy." |
misc_notes | #16070 | | — | not readable (E_PERM) |
magic_effects | #16070 | | — | not readable (E_PERM) |
combat_effects | #16070 | | — | not readable (E_PERM) |
unannounced | #16070 | | — | not readable (E_PERM) |
allowed_exits | #16070 | | — | not readable (E_PERM) |
dawn_msg | #16070 | | — | "" |
night_msg | #16070 | | — | "" |
dusk_msg | #16070 | | — | "" |
day_msg | #16070 | | — | "" |
free_entry | #16070 | | — | 0 |
entrances | #16070 | | — | not readable (E_PERM) |
exits | #16070 | | — | not readable (E_PERM) |
ctype | #16070 | | — | 5 |
key | #16070 | | — | not readable (E_PERM) |
aliases | #16070 | | — | {"LRPG Illuminated Room", "RPX Light Room", "Lighted Room", "Light Room"} |
description | #16070 | | — | "Woo, pretty dark in here ... but there is that dimmer switch on the wall." |
object_size | #16070 | | — | {11110, 1141286561} |
Ancestry
Ancestors (nearest first): #258 Generic Dungeon Room → #1610 RPG RDB room → #364 outside room → #6792 Generic Integrating Description Room → #3879 Matching Room → #27777 Self-Cleaning Room
Children: none
Call graph
Source
enterfunc
Referenced by
none
Source
1"enterfunc ( victim ) =>"; 2"In addition to normal functions, make a call to see if the"; 3"lightlevel of the room needs adjusting."; 4{what} = args; 5if ((this.light_enabled && (what.location == this)) && (what in $local.rpg.pcs)) 6 this:illuminate(what); 7endif 8pass(what); 9"THX1138 13-MAR-1997 -- Added."; 10player:tell("Room illuminances: ", toliteral(this.illumination));
illuminate
Referenced by
- #16070:enterfunc line 6:
this:illuminate
Source
1(rpg = $local.rpg):secure(); 2if (this.light_enabled) 3 {what} = args; 4 lightlevel = this.lightlevel; 5 if (valid(doll = rpg:get_doll(what))) 6 for t in (doll.lights) 7 this.illumination = setadd(this.illumination, t); 8 this.lightlevel = this.lightlevel + t:candlefeet(); 9 endfor 10 player:tell("Doll illuminations: ", toliteral(doll.lights), " on ", #20:nn(doll)); 11 elseif (rpg:trusted_verb(what, "candlefeet")) 12 this.illumination = setadd(this.illumination, what); 13 this.lightlevel = this.lightlevel + what:candlefeet(); 14 endif 15endif 16"THX1138 13-MAR-1997 -- Added.";
darken
Referenced by
- #16070:exitfunc line 9:
this:darken
Source
1(rpg = $local.rpg):secure(); 2if (this.light_enabled) 3 {what} = args; 4 lightlevel = this.lightlevel; 5 if (valid(doll = rpg:get_doll(what))) 6 for t in (doll.lights) 7 this.illumination = setremove(this.illumination, t); 8 this.lightlevel = this.lightlevel - t:candlefeet(); 9 endfor 10 elseif (rpg:trusted_verb(what, "candlefeet")) 11 this.illumination = setremove(this.illumination, what); 12 this.lightlevel = this.lightlevel - what:candlefeet(); 13 endif 14endif 15"THX1138 13-MAR-1997 -- Added.";
exitfunc
Referenced by
none
Source
1"exitfunc ( victim ) =>"; 2"In addition to normal functions, make a call to see if the lightlevel of the room needs adjusting."; 3{what} = args; 4if (!(rpg = $local.rpg):trusted_efunc()) 5 return E_PERM; 6endif 7pass(what); 8if ((this.light_enabled && (what.location != this)) && (what in rpg.pcs)) 9 this:darken(what); 10endif 11"THX1138 13-MAR-1997 -- Added.";
illumination_check
Referenced by
none
Source
1{?lightlevel} = args; 2if (this.illumination) 3 if (lightlevel < 1) 4 this:announce_all_but({player}, this.name, " is flooded with light."); 5 " ... show the person who walked in the room."; 6 if ("light" in $list_utils:slice(callers(), 2)) 7 this:look_self(); 8 endif 9 endif 10else 11 if (lightlevel > 0) 12 this.lightlevel = 0; 13 this:announce_all(this.name, " is cast into darkness."); 14 endif 15endif
description
Referenced by
none
Source
1"description() ... returns the regular integrating room description unless the lightlevel in the room is less than one, in which case it returns :dark_description()."; 2if ((!this.illumination) || (this.lightlevel < 1)) 3 return this:dark_description(); 4else 5 if (typeof(desc = pass(@args)) != LIST) 6 desc = {desc}; 7 endif 8 if (desc = this:pare_list(desc)) 9 return desc; 10 else 11 return {"The light in here is very dim and you have difficulty making out details."}; 12 endif 13endif
visible
Referenced by
none
Source
1who = (args == {}) ? player | args[1]; 2firstlist = setremove({@who.contents, @this.contents, @this:exits()}, who); 3for each_room in (this.adjacent) 4 if (each_room in this.visible_from_here) 5 if (each_room.lightlevel > 4) 6 for each_thing in (each_room.contents) 7 firstlist = setadd(firstlist, each_thing); 8 endfor 9 endif 10 endif 11endfor 12return firstlist;
dark_description
Referenced by
- #16070:description line 3:
this:dark_description
Source
1return this.dark_description || "It is too dark to see.";
say
Referenced by
none
Source
1attrib = ((this.lightlevel * 15) / this.fully_lit) ? player.name | "Somebody"; 2try 3 player:tell("You say, \"", argstr, "\""); 4 "If light greater than 7 percent of fully, players can figure out who is saying what."; 5 this:announce(attrib, " ", $gender_utils:get_conj("says", player), ", \"", argstr, "\""); 6except (ANY) 7 "Don't really need to do anything but ignore the idiot who has a bad :tell"; 8endtry
look_self
Referenced by
- #16070:illumination_check line 7:
this:look_self
Source
1if (!this.lightlevel) 2 if (this.totally_dark_msg) 3 player:tell(this.totally_dark_msg); 4 else 5 player:tell("You can't see anything."); 6 endif 7else 8 pass(@args); 9endif
l*ook
Referenced by
none
Source
No program (verb defined but unprogrammed).
pare*_list
Referenced by
none
Source
1"pare_list(incoming LIST) => outgoing list pared down by room lighting."; 2{incoming} = args; 3if (((lightlevel = this.lightlevel) < 1) || (!incoming)) 4 return {}; 5elseif ((fully = this.fully_lit) <= lightlevel) 6 return incoming; 7else 8 outgoing = {}; 9 for t in (incoming) 10 if (random(fully) <= lightlevel) 11 outgoing = setadd(outgoing, t); 12 endif 13 endfor 14 return outgoing; 15endif 16"THX1138 15-MAR-1997 -- Added.";
emote think
Referenced by
none
Source
1attrib = ((this.lightlevel * 15) / this.fully_lit) ? player.name | "Somebody"; 2if (verb == "think") 3 this:announce_all(attrib, " . o O ( ", argstr[1..length(argstr)], " )"); 4elseif ((argstr != "") && (argstr[1] == ":")) 5 this:announce_all(attrib, argstr[2..length(argstr)]); 6else 7 this:announce_all(attrib, " ", argstr); 8endif
tell_contents
Referenced by
none
Source
1{contents, ctype} = args; 2pass(this:pare_list(contents), ctype);
announce_all
Referenced by
- #16070:illumination_check line 13:
this:announce_all - #16070:emote line 3:
this:announce_all - #16070:emote line 5:
this:announce_all - #16070:emote line 7:
this:announce_all
Source
1if (args[1] == player.name) 2 args[1] = ((this.lightlevel * 15) / this.fully_lit) ? player.name | "Somebody"; 3endif 4for dude in (this:contents()) 5 try 6 dude:tell(@args); 7 except (ANY) 8 "Just ignore the dude with the stupid :tell"; 9 continue dude; 10 endtry 11endfor
obvious_exits obvious_entrances
Referenced by
none
Source
1if ((!this.light_enabled) || (player in $local.rpg.gms)) 2 return pass(@args); 3endif 4return this:pare_list(pass(@args));