/*
Copyright (C) 1991, Marcus J. Ranum. All rights reserved.
*/
#ifndef lint
static char RCSid[] = "$Header: /home/mjr/hacks/umud/CMD/RCS/wear.c,v 1.1 92/02/24 13:15:47 mjr Exp $";
#endif
#include "config.h"
#include "mud.h"
#include "match.h"
#include "vars.h"
/* ARGSUSED */
cmd_wear(ac,av,who,aswho)
int ac;
char *av[];
char *who;
char *aswho;
{
char ob[MAXOID];
char *ud;
if(matchinv(who,av[1],0,MTCH_UNIQ|MTCH_QUIET,ob))
return(UERR_NOMATCH);
ud = ut_getatt(who,0,typ_list,var_wearing,(char *)0);
if(ud != (char *)0 && lstcnt(ud) > 5) {
say(who,"You can wear up to 5 things at once.\n",(char *)0);
return(UERR_PERM);
}
if(ut_listdel(who,who,var_cont,ob))
return(UERR_FATAL);
if(ut_listadd(who,who,var_wearing,ob))
return(UERR_FATAL);
say(who,"You are now wearing ",ut_name(ob),".\n",(char *)0);
return(UERR_NONE);
}
/* ARGSUSED */
cmd_unwear(ac,av,who,aswho)
int ac;
char *av[];
char *who;
char *aswho;
{
char ob[MAXOID];
if(matchwear(who,av[1],MTCH_UNIQ|MTCH_QUIET,ob))
return(UERR_NOMATCH);
if(ut_listdel(who,who,var_wearing,ob))
return(UERR_FATAL);
if(ut_listadd(who,who,var_cont,ob))
return(UERR_FATAL);
say(who,"You take off ",ut_name(ob),".\n",(char *)0);
return(UERR_NONE);
}