#include <mudlib.h>
#include <daemons.h>
inherit DAEMON;
inherit REF_D;
#define SYNTAX "Syntax: ref [<ref_name>;]<variable>\n"
int cmd_ref( string a )
{
string ref_name;
mixed var, tmp;
if( !a ) { notify_fail( SYNTAX ); return 0; }
seteuid( geteuid( previous_object() ) );
if( sscanf( a, "%s;%s", ref_name, var ) < 2 )
{
ref_name = "default";
var = a;
}
tmp = resolv_ref( var );
if( var == tmp ) var = resolv_str( var );
else var = tmp;
write( wrap( "Reference \"" + ref_name + "\" set to " + identify( var ) ) );
set_ref( ref_name, var );
return 1;
}
int help()
{
write( SYNTAX +
"Effect: Sets reference <ref_name> to variable <variable>\n"+
"NB The reference is stored in the player object using query() and set()\n"+
" as a mapping pair ref[<ref_name>] == <variable> where\n"+
" <ref_name> is a string and <variable> is any type of variable.\n"+
"" );
}