/*
do_as
Attaches the immortal's descriptor to the character, then executes
a command, so the immortal sees the output. Like a cross between
snoop and force.
*/
void do_as(CHAR_DATA *ch, char *argument)
{
char arg[MAX_STRING_LENGTH];
CHAR_DATA *target;
DESCRIPTOR_DATA *temp;
argument = one_argument(argument, arg);
target = get_char_world(ch, arg);
if (target == NULL)
{
send_to_char("As who what?\n\r", ch);
return;
}
if (!IS_NPC(target) && get_trust(ch) <= get_trust(target))
{
send_to_char("I don't think so.\n\r", ch);
return;
}
/* any commands that might screw with the descriptors should
probably be blocked */
if (!str_prefix(argument, "quit")
|| !str_prefix(argument, "delete")
|| !str_prefix(argument, "switch"))
{
send_to_char("You will need to use the 'force' command!\n\r", ch);
return;
}
temp = target->desc;
target->desc = ch->desc;
interpret(target, argument);
target->desc = temp;
}