Generic Feature Object #74
Aliases: Generic Feature Object, Generic .Features_Huh Object, Feature Object, .Features_Huh Object
10 verbs · 24 properties · 7 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
help_msg | this none this | rxd | #74 | 20 |
look_self | this none this | rxd | #74 | 8 |
using this | this none this | rxd | #74 | 18 |
examine_commands_ok | this none this | rxd | #74 | 1 |
set_feature_ok | this none this | rxd | #74 | 5 |
hidden_verbs | this none this | rxd | #74 | 11 |
set_feature_verbs | this none this | rxd | #74 | 5 |
initialize | this none this | rxd | #74 | 6 |
init_for_core | this none this | rxd | #74 | 5 |
feature_remove | this none this | rxd | #74 | 1 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
warehouse | #74 | r | #36 | #101 |
help_msg | #74 | rc | #36 | "The Generic Feature Object--not to be used as a feature object." |
feature_verbs | #74 | r | #36 | {"Using"} |
feature_ok | #74 | r | #36 | 1 |
drop_failed_msg | #5 | rc | #36 | <clear> |
drop_succeeded_msg | #5 | rc | #36 | <clear> |
odrop_failed_msg | #5 | rc | #36 | <clear> |
odrop_succeeded_msg | #5 | rc | #36 | <clear> |
otake_succeeded_msg | #5 | rc | #36 | <clear> |
otake_failed_msg | #5 | rc | #36 | <clear> |
take_succeeded_msg | #5 | rc | #36 | <clear> |
take_failed_msg | #5 | rc | #36 | <clear> |
value_base | #102 | r | #2 | <clear> |
damage_base | #102 | r | #2 | <clear> |
x_loc | #102 | r | #36 | <clear> |
y_loc | #102 | r | #36 | <clear> |
ansi_title | #102 | r | #36 | <clear> |
obvious | #102 | r | #36 | <clear> |
build_help | #102 | rc | #36 | <clear> |
key | #1 | c | #36 | <clear> |
aliases | #1 | rc | #36 | {"Generic Feature Object", "Generic .Features_Huh Object", "Feature Object", ".Features_Huh Object"} |
description | #1 | rc | #36 | "This is the Generic Feature Object. It is not meant to be used as a feature object itself, but is handy for making new feature objects." |
object_size | #1 | r | #36 | {7045, -1090650497} |
html | #1 | rc | #36 | <clear> |
Ancestry
Ancestors (nearest first): #5 generic thing → #102 subthing → #1 Root Class
Children: #92 Pasting Feature, #98 roleplay regulator, #99 scheduler, #100 reaper feature, #124 Mini Social Feature, #143 Public Broadcast System, #144 Puppet Strings
Call graph
Source
help_msg
Referenced by
none
Source
1all_help = this.help_msg; 2if (typeof(all_help) == STR) 3all_help = {all_help}; 4endif 5helpless = {}; 6for vrb in (this.feature_verbs) 7if (loc = $object_utils:has_verb(this, vrb)) 8loc = loc[1]; 9help = $code_utils:verb_documentation(loc, vrb); 10if (help) 11all_help = {@all_help, "", tostr(loc, ":", verb_info(loc, vrb)[3]), @help}; 12else 13helpless = {@helpless, vrb}; 14endif 15endif 16endfor 17if (helpless) 18all_help = {@all_help, "", ("No help found on " + $string_utils:english_list(helpless, "nothing", " or ")) + "."}; 19endif 20return {@all_help, "----"};
look_self
Referenced by
none
Source
1"Definition from #1"; 2desc = this:description(); 3if (desc) 4player:tell_lines(desc); 5else 6player:tell("You see nothing special."); 7endif 8player:tell("Please type \"help ", this, "\" for more information.");
using this
Referenced by
none
Source
1"Proper usage for the Generic Feature Object:"; 2""; 3"First of all, the Generic Feature Object is constructed with the idea"; 4"that its children will be @moved to #24300, which is kind of a warehouse"; 5"for feature objects. If there's enough interest, I'll try to make the"; 6"stuff that works with that in mind optional."; 7""; 8"Make a short description. This is so I can continue to have looking at"; 9"#24300 give the descriptions of each of the objects in its .contents."; 10"The :look_msg automatically includes a pointer to `help <this object>',"; 11"so you don't have to."; 12""; 13"Put a list of the commands you want people to use in"; 14"<this object>.feature_verbs. (You need to use the :set_feature_verbs"; 15"verb to do this.)"; 16""; 17"When someone types `help <this object>', they will be told the comment"; 18"strings from each of the verbs named in .feature_verbs.";
examine_commands_ok
Referenced by
none
Source
1return this in args[1].features;
set_feature_ok
Referenced by
none
Source
1if ($perm_utils:controls(caller_perms(), this) || (caller == this)) 2return this.feature_ok = args[1]; 3else 4return E_PERM; 5endif
hidden_verbs
Referenced by
none
Source
1"Can't see `get' unless it's in the room; can't see `drop' unless it's in the player. Should possibly go on $thing."; 2"Should use :contents, but I'm in a hurry."; 3hidden = pass(@args); 4if (this.location != args[1]) 5hidden = setadd(hidden, {$thing, verb_info($thing, "drop")[3], {"this", "none", "none"}}); 6hidden = setadd(hidden, {$thing, verb_info($thing, "give")[3], {"this", "at/to", "any"}}); 7endif 8if (this.location != args[1].location) 9hidden = setadd(hidden, {$thing, verb_info($thing, "get")[3], {"this", "none", "none"}}); 10endif 11return hidden;
set_feature_verbs
Referenced by
none
Source
1if ($perm_utils:controls(caller_perms(), this) || (caller == this)) 2return this.feature_verbs = args[1]; 3else 4return E_PERM; 5endif
initialize
Referenced by
none
Source
1if ((caller == this) || $perm_utils:controls(caller_perms(), this)) 2pass(@args); 3this.feature_verbs = {}; 4else 5return E_PERM; 6endif
init_for_core
Referenced by
- #98:init_for_core line 6:
pass( - #99:init_for_core line 12:
pass( - #100:init_for_core line 6:
pass( - #143:init_for_core line 5:
pass(
Source
1if (($code_utils:verb_location() == this) && caller_perms().wizard) 2this.warehouse = $feature_warehouse; 3`delete_property(this, "guest_ok") ! ANY'; 4`delete_verb(this, "set_ok_for_guest_use") ! ANY'; 5endif
feature_remove
Referenced by
none
Source
1"This is just a blank verb definition to encourage others to use this verb name if they care when a user is no longer using that feature.";