Someone has mailed that he lost my little modified hunt_victim function. Or better say I think that you reffered to me. Well here is it. void hunt_victim(struct char_data * ch) { ACMD(do_say); extern struct char_data *character_list; int dir; byte found; struct char_data *tmp; char buffff[160]; if (!ch || !HUNTING(ch)) return; if (GET_POS(ch) <= POS_FIGHTING) return; /* make sure the char still exists */ for (found = 0, tmp = character_list; tmp && !found; tmp = tmp->next) if (HUNTING(ch) == tmp) found = 1; if (!found) { do_say(ch, "Damn! My prey is gone!!", 0, 0); HUNTING(ch) = 0; return; } dir = find_first_step(ch->in_room, HUNTING(ch)->in_room); if (dir < 0) { if (dir == BFS_ALREADY_THERE) if ((ch->in_room == HUNTING(ch)->in_room)) { if (!ROOM_FLAGGED(ch->in_room, ROOM_PEACEFUL)) { hit(ch, HUNTING(ch), TYPE_UNDEFINED); do_say(ch, "You son of a bitch! I found you at last! Die!!", 0, 0); return; } else return; } buffff[0] = '\0'; sprintf(buffff, "Damn! Lost %s!", HMHR(HUNTING(ch))); do_say(ch, buffff, 0, 0); HUNTING(ch) = 0; return; } else { if (ROOM_FLAGGED(EXIT(ch, dir)->to_room, ROOM_NOMOB)) return; perform_move(ch, dir, 1); if ((ch->in_room == HUNTING(ch)->in_room) && (!ROOM_FLAGGED(ch->in_room, ROOM_PEACEFUL))) { hit(ch, HUNTING(ch), TYPE_UNDEFINED); do_say(ch, "You son of a bitch! I found you at last! Die!!", 0, 0); } return; } } It containes some more checking, and variable buffff ( first name I could think off ) that is used to replace global buf variable. Reason: buf is used in do_say so that way, if you send buf in do_say , it uses the same memory space for her stuff and you get following : The cityguard say' the cityguard say' the cityguard say' It just repeates it self. ------------------------------ To use it you could do just add in mobact.c /* Hunter mob */ if(MOB_FLAGGED(ch, MOB_HUNTER)) if (HUNTING(ch)) hunt_victim(ch); Make shure that in fight when mob is attacked by player it sets HUNTING(mob) = attacker; This way mob knows who to find and learn him thing or two :) I lost my original post so I'm sendind this ( I hope I haven't forget something - I'm pulling it from my code ) Hope this helps. P.S. for some gramatical errors I'm not responsible. ;-) Kresimir *----------------------------------------* | E-Mail address : madmax@fly.cc.fer.hr | *----------------------------------------* .... Kad si sretan lupi sysopom o pod...tup...tup...
This archive was generated by hypermail 2b30 : 12/07/00 PST