/
umud/DOC/
umud/DOC/U/
umud/DOC/U/U-examples/
umud/DOC/internals/
umud/DOC/wizard/
umud/MISC/
umud/MISC/dbchk/
umud/RWHO/rwhod/
/*
	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);
}