75 lines
1.5 KiB
C
75 lines
1.5 KiB
C
#include <lib.h>
|
|
#include <dirs.h>
|
|
|
|
inherit LIB_SHADOW;
|
|
inherit LIB_ID;
|
|
|
|
object me = this_object();
|
|
|
|
varargs string GetExternalDesc(object who){
|
|
return "A large brown bear. Not as huge as a grizzly, but plenty big enough to knock your block off.";
|
|
}
|
|
|
|
varargs string GetLong(object who){
|
|
return "A large brown bear. Not as huge as a grizzly, but plenty big enough to knock your block off.";
|
|
}
|
|
|
|
string GetName(){
|
|
return "Bear";
|
|
}
|
|
|
|
string GetCapName(){
|
|
return "Bear";
|
|
}
|
|
|
|
string GetKeyName(){
|
|
return "bear";
|
|
}
|
|
|
|
string GetShort(){
|
|
return "a bear";
|
|
}
|
|
|
|
string GetRace(){
|
|
return "bear";
|
|
}
|
|
|
|
int eventShadow(object whom){
|
|
object *shadows = keys(whom->GetShadows());
|
|
if(sizeof(shadows)){
|
|
foreach(object shade in shadows){
|
|
if(base_name(shade) == base_name(me)) return 0;
|
|
}
|
|
}
|
|
if(base_name(previous_object()) == "/domains/town/armor/bearsuit"){
|
|
::eventShadow(whom);
|
|
whom->SetId(({"bear"}));
|
|
whom->cmdParseRefresh();
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
int unbearshadow(){
|
|
object ob = GetShadowedObject();
|
|
if(!ob) return 0;
|
|
ob->SetId();
|
|
ob->cmdParseRefresh();
|
|
eventUnshadow();
|
|
}
|
|
|
|
string array parse_command_id_list() {
|
|
|
|
string array ids = (this_object()->GetId() + ({ "bear" }) || ({}));
|
|
|
|
return filter(ids, (: stringp($1) && ($1 != "") :));
|
|
|
|
}
|
|
|
|
string array parse_command_plural_id_list() {
|
|
string array ids = (this_object()->GetId() + ({"bear"}) || ({}));
|
|
|
|
ids = filter(ids, (: stringp($1) && ($1 != "") :));
|
|
return map(ids, (: pluralize :));
|
|
}
|