dsII/extra/wolfpaw/
dsII/lib/cmds/admins/
dsII/lib/cmds/common/
dsII/lib/cmds/creators/include/
dsII/lib/cmds/creators/include/SCCS/
dsII/lib/daemon/services/
dsII/lib/doc/
dsII/lib/domains/Ylsrim/
dsII/lib/domains/Ylsrim/adm/
dsII/lib/domains/Ylsrim/armor/
dsII/lib/domains/Ylsrim/broken/
dsII/lib/domains/Ylsrim/fish/
dsII/lib/domains/Ylsrim/meal/
dsII/lib/domains/Ylsrim/npc/
dsII/lib/domains/Ylsrim/virtual/
dsII/lib/domains/Ylsrim/weapon/
dsII/lib/domains/campus/adm/
dsII/lib/domains/campus/etc/
dsII/lib/domains/campus/meals/
dsII/lib/domains/campus/npc/
dsII/lib/domains/campus/txt/
dsII/lib/domains/campus/txt/ai/charles/
dsII/lib/domains/campus/txt/ai/charles/bak2/
dsII/lib/domains/campus/txt/ai/charles/bak2/bak1/
dsII/lib/domains/campus/txt/ai/charly/
dsII/lib/domains/campus/txt/ai/charly/bak/
dsII/lib/domains/campus/txt/jenny/
dsII/lib/domains/default/creator/
dsII/lib/domains/default/doors/
dsII/lib/domains/default/etc/
dsII/lib/domains/default/weap/
dsII/lib/domains/town/doors/
dsII/lib/domains/town/txt/
dsII/lib/domains/town/virtual/
dsII/lib/lib/comp/
dsII/lib/lib/lvs/
dsII/lib/lib/user/
dsII/lib/lib/virtual/
dsII/lib/log/archive/
dsII/lib/log/chan/
dsII/lib/log/errors/
dsII/lib/log/open/
dsII/lib/obj/book_source/
dsII/lib/obj/include/
dsII/lib/realms/template/
dsII/lib/realms/template/area/armor/
dsII/lib/realms/template/area/npc/
dsII/lib/realms/template/area/obj/
dsII/lib/realms/template/area/room/
dsII/lib/realms/template/area/weap/
dsII/lib/realms/template/bak/
dsII/lib/realms/template/cmds/
dsII/lib/save/
dsII/lib/save/kills/o/
dsII/lib/secure/cfg/
dsII/lib/secure/cfg/classes/
dsII/lib/secure/cfg/races/SCCS/
dsII/lib/secure/cmds/creators/include/
dsII/lib/secure/cmds/players/
dsII/lib/secure/cmds/players/include/
dsII/lib/secure/daemon/include/
dsII/lib/secure/lib/
dsII/lib/secure/lib/include/
dsII/lib/secure/lib/net/
dsII/lib/secure/lib/net/include/
dsII/lib/secure/lib/std/
dsII/lib/secure/modules/
dsII/lib/secure/npc/
dsII/lib/secure/obj/include/
dsII/lib/secure/room/
dsII/lib/secure/save/boards/
dsII/lib/secure/save/postal/c/cratylus/
dsII/lib/secure/save/votes/
dsII/lib/secure/tmp/
dsII/lib/secure/verbs/creators/
dsII/lib/shadows/
dsII/lib/spells/
dsII/lib/tmp/
dsII/lib/verbs/admins/include/
dsII/lib/verbs/common/
dsII/lib/verbs/common/include/
dsII/lib/verbs/creators/include/
dsII/lib/verbs/players/include/SCCS/
dsII/lib/verbs/rooms/
dsII/lib/verbs/rooms/include/
dsII/lib/www/
dsII/v22.2b14/
dsII/v22.2b14/Win32/
dsII/v22.2b14/compat/
dsII/v22.2b14/compat/simuls/
dsII/v22.2b14/testsuite/
dsII/v22.2b14/testsuite/clone/
dsII/v22.2b14/testsuite/command/
dsII/v22.2b14/testsuite/data/
dsII/v22.2b14/testsuite/etc/
dsII/v22.2b14/testsuite/include/
dsII/v22.2b14/testsuite/inherit/
dsII/v22.2b14/testsuite/inherit/master/
dsII/v22.2b14/testsuite/log/
dsII/v22.2b14/testsuite/single/
dsII/v22.2b14/testsuite/single/tests/compiler/
dsII/v22.2b14/testsuite/single/tests/efuns/
dsII/v22.2b14/testsuite/single/tests/operators/
dsII/v22.2b14/testsuite/u/
dsII/v22.2b14/tmp/
dsII/win32/
#include <lib.h>
inherit LIB_STORAGE;
inherit LIB_SURFACE;

private static string Composition, Name, ShortDesc, Desc;
private static string *Nouns, *Adjectives;

varargs string SetComposition(string comp, string name, string *nouns, string *adjs, string
  short, string desc);
void InitComposition();

void create(){
    string *tmpsave1, *tmpsave2, *tmpsave3, *tmpsave4;
    surface::create();
    storage::create();
    tmpsave1 = storage::GetSave(); 
    tmpsave2 = surface::GetSave(); 
    tmpsave3 = ({ "Composition","Name","Nouns","ShortDesc", "Desc","Adjectives" });
    tmpsave4 = tmpsave1 + 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, Adjectives, 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)){
	Adjectives = adjs;
	SetAdjectives(adjs);
    }

    return Composition;
}


void init(){
    ::init();
}