#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "emlen.h"
void
place_pets (CHAR_DATA * ch)
{
int k;
MOB_PROTOTYPE *mid;
CHAR_DATA *mob;
if (IS_MOB (ch))
return;
for (k = 0; k < 20; k++)
{
if (ch->pcdata->pet_temp[k] != 0)
{
if ((mid = get_mob_index (ch->pcdata->pet_temp[k])) == NULL)
{
ch->pcdata->pet_temp[k] = 0;
continue;
}
mob = create_mobile (mid);
char_to_room (mob, ch->in_room);
ch->pcdata->number_pets++;
mob->hit = ch->pcdata->pet_hps[k];
mob->move = ch->pcdata->pet_move[k];
SET_BIT (mob->affected_by, AFF_CHARM);
SET_BIT (mob->act, ACT_PET);
add_follower (mob, ch);
}
}
return;
}
void do_order (CHAR_DATA* ch, char* argy)
{
char victim[SML_LENGTH];
char command[SML_LENGTH];
char target[SML_LENGTH];
CHAR_DATA *mobile;
DEFINE_COMMAND ("order", do_order, POSITION_DEAD, 0, LOG_NORMAL, "Orders a servant mob to do something.")
argy = one_argy (argy, victim);
one_argy (argy, command);
one_argy (argy, target);
if (victim[0] == '\0' || argy[0] == '\0') {
send_to_char ("Order whom to do what?\n\r", ch);
return;
}
if ((mobile = get_char_world_2 (ch, victim)) == NULL) {
send_to_char ("They aren't here.\n\r", ch);
return;
}
if (!(IS_AFFECTED(mobile, AFF_CHARM) && mobile->fgt->master == ch) ) {
send_to_char ("Yeah right!\n\r", ch);
return;
}
if(!str_prefix (command, "kill") ||
!str_prefix (command, "k") ||
!str_prefix (command, "kick") ||
!str_prefix (command, "rescue") ||
!str_prefix (command, "assist") ||
!str_prefix (command, "give") ||
!str_prefix (command, "get") ||
!str_prefix (command, "wear") ||
!str_prefix (command, "remove") ||
!str_prefix (command, "resize") ||
!str_prefix (command, "repair") ||
!str_prefix (command, "flee") ||
!str_prefix (command, "drop") ||
!str_prefix (command, "bash")) {
send_to_char ("Ok.\n\r", ch);
interpret (mobile, argy);
} else send_to_char("Your minion doesn't seem to understand.\n\r", ch);
return;
}