#include <lib.h>
inherit LIB_SURFACE;
private static string Composition, Name, ShortDesc, Desc;
private static string *Nouns, *Adjs;
varargs string SetComposition(string comp, string name, string *nouns, string *adjs, string
short, string desc);
void InitComposition();
void create(){
string *tmpsave2, *tmpsave3, *tmpsave4;
surface::create();
tmpsave2 = surface::GetSave();
tmpsave3 = ({ "Composition","Name","Nouns","ShortDesc", "Desc","Adjs" });
tmpsave4 = tmpsave2 + tmpsave3;
AddSave( tmpsave4 );
SetKeyName("lump");
SetId( ({"lump","clay","mass"}) );
SetAdjectives( ({"lump of","clay","mass of","heavy", "shapeless"}) );
SetShort("a lump of clay");
SetLong("This is a heavy, shapeless mass of clay.");
call_out( (: InitComposition :), 0);
SetNoCondition(1);
SetCanClose(0);
SetMaxCarry(200);
SetMass(200);
}
void InitComposition(){
SetComposition(Composition, Name, Nouns, Adjs, ShortDesc, Desc);
}
varargs string SetComposition(string comp, string name, string *nouns, string *adjs, string short, string desc){
string tmp;
if(name) {
Name = name;
SetKeyName(name);
}
if(comp) Composition = comp;
if(comp && !Desc){
tmp = replace_string(GetLong(),"clay",comp);
SetLong(tmp);
}
if(comp && !ShortDesc){
tmp = replace_string(GetShort(),"clay",comp);
SetShort(tmp);
}
if(sizeof(nouns)){
Nouns = nouns;
SetId(nouns);
}
if(desc){
Desc = desc;
SetLong(desc);
}
if(short){
ShortDesc = short;
SetShort(short);
}
if(sizeof(adjs)){
Adjs = adjs;
SetAdjectives(adjs);
}
return Composition;
}
void init(){
::init();
}