This is a VERY rough code for an assassin that players can hire to kill
people. It is based on the Pet shop code. TO use it, drop it in the
spec_procs.c, and put in a spec_assign.c as well. Put all the mobs you
want to be assassins in the room +1 of the selling room (as with the pet
shop) and go. Please, if it works, or if any extra coding is needed,
PLEASE tell me. May I suggest testing it with simple mobs as assassins
(fidos) and close by victims (to avoid any no_track rooms) Please give
me feedback (either positive or negative, I want to know everything)
-----------------------------<SNIP HERE>--------------------------------
#define ASSASSIN_PRICE(assassin) (GET_LEVEL(assassin) * 100000)
SPECIAL(assassin)
{
char buf[MAX_STRING_LENGTH], assassin_name[256];
int assassin_room;
struct char_data *assassin, *vict;
assassin_room = ch->in_room + 1;
if (CMD_IS("list")) {
send_to_char("Available assassins are:\r\n", ch);
for (assassin = world[asassin_room].people; assassin;assassin =
assassin->next_in_room) {
sprintf(buf, "%8d - %s\r\n", ASSASSIN_PRICE(assassin),
GET_NAME(assassin));
send_to_char(buf, ch);
}
return (TRUE);
} else if (CMD_IS("hire")) {
argument = one_argument(argument, buf);
argument = one_argument(argument, victim_name);
if (!(assassin = get_char_room(buf, assassin_room))) {
send_to_char("There is nobody called that!\r\n", ch);
return (TRUE);
}
if (GET_GOLD(ch) < ASSASSIN_PRICE(assassin)) {
send_to_char("You don't have enough gold!\r\n", ch);
return (TRUE);
}
if (*victim_name) {
send_to_char("You need to specify a target!\r\n", ch);
return 0;
}
if ((vict = get_player_vis(assassin, victim_name, 0))) {
GET_GOLD(ch) -= ASSASSIN_PRICE(assassin);
assassin = read_mobile(GET_MOB_RNUM(assassin), REAL);
char_to_room(assassin, ch->in_room);
SET_BIT(MOB_FLAGS(assassin), MOB_MEMORY);
remember(assassin, vict);
HUNTING(assassin) = vict;
send_to_char("You will be contacted if it succeeds or not.\r\n", ch);
act("$n hires $N for a job.", FALSE, ch, 0, assassin, TO_ROOM);
return 1;
} else {
send_to_char("The assassin can't find the victim!\r\n", ch);
return 0;
}
}
return 0;
}
------------------------------------------------------------------
Ryan A.J. Biggs email-ae744@freenet.toronto.on.ca
Doppleganger, Charon the Boatman and member of Dieties Anonymous
Owner of a 100% organic wibble and Plasma lamp, and rubber chicken
Keeper of the sacred butcher knife and the Cloak of Shadows
Compiler of the Net.Psionics.Handbook
------------------------------------------------------------------
This archive was generated by hypermail 2b30 : 12/07/00 PST