/**************************************************************************
* Mindor 1.0 is copyright 2002-2004 by Shaun Mcbride *
* Portions of the code were inspired by other works *
* found around the internet. *
* *
* Please follow all previous copyrights and licenses. *
**************************************************************************/
#if defined(macintosh)
#include <types.h>
#include <time.h>
#else
#include <sys/types.h>
#include <sys/time.h>
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "merc.h"
DECLARE_DO_FUN( do_help );
/** Function: do_petname
* Descr : renames pets, also allows changing of short/long and
* descritpion variables.
* Returns : (void)
* Syntax : petname ([name|short|long|desc]) (argument)
* Written : v1.1 1/98
* Author : Gary McNickle <gary@dharvest.com>
*/
void do_petname(CHAR_DATA *ch, char *argument)
{
char buf[MAX_STRING_LENGTH];
char command[MAX_INPUT_LENGTH];
/* smash all tilde's right away. */
smash_tilde(argument);
if ( ch->pet == NULL )
{
send_to_char("You dont have a pet!\n\r", ch);
return;
}
if ( ch->in_room != ch->pet->in_room )
{
send_to_char("Kinda hard for your pet to learn his new name\n\r",ch);
send_to_char("if he's not even with you! *boggle*\n\r", ch);
return;
}
argument = one_argument(argument, command);
if ( command[0] == '\0' || argument[0] == '\0' )
{
send_to_char(
"\n\rsyntax: petname [name|short|long|desc] <argument>\n\r",ch);
send_to_char( "\n\r example: \"petname name fido\n\r", ch);
send_to_char( " \"petname short is hungry!\"\n\r",ch);
send_to_char("\n\rTry using color in the descriptions!\n\r\n\r", ch);
send_to_char(
"See \"help petname\" and \"help color\" for more information.\n\r",ch);
return;
} /* syntax */
if ( !str_prefix(command, "name") )
{
ch->pet->name = "A pet";
} /* name */
else
if ( !str_prefix(command, "short") )
{
if ( argument[0] == '\0' ) return;
free_string(ch->pet->short_descr);
/* short description should not have an "\n\r" appended to it. */
ch->pet->short_descr = str_dup(argument);
sprintf(buf, "%s's short description set to: \n\r%s\n\r",
ch->pet->name, ch->pet->short_descr);
send_to_char(buf, ch);
} /* short */
else
if ( !str_prefix(command, "long") )
{
if ( argument[0] == '\0' ) return;
free_string(ch->pet->long_descr);
/* long descr needs "\n\r" appended to it. */
sprintf(buf, "%s\n\r", argument);
ch->pet->long_descr = str_dup(buf);
sprintf(buf, "%s's long description set to: \n\r%s\n\r",
ch->pet->name, ch->pet->long_descr);
send_to_char(buf, ch);
} /* long */
else
if ( !str_prefix(command, "description") )
{
#if defined (OldDesc)
do_description(ch, argument);
#else
if ( argument[0] == '\0' )
{
string_append( ch, &ch->pet->description );
return;
}
#endif
} /* desc */
else
do_help(ch, "petname");
return;
} /* end of do_petname */