On Wed, 28 May 1998, Pheonix Shadowflame wrote:
> I'm trying to implement tracking mobs. Mobs with the MOB_TRACKING flag
> would track the people who are in it's memory and attack em once they
> find the target. It seems like a pretty easy code, using graph.c's
> find_first_dir or something like that but I can't no matter what
> approach
> I try I can't get it to work. Anyone ever wrote this? I would guess so.
> Any hints on how I would go about codin this?
>
> Pheonix Shadowflame
>
if (MOB_FLAGGED(ch, MOB_ARRESTOR) && (!MEMORY(ch)))
extract_char(ch);
/* Mob Memory */
if (MOB_FLAGGED(ch, MOB_MEMORY) && MEMORY(ch)) {
found = FALSE;
for (vict = world[ch->in_room].people; vict && !found; vict =
vict->next_in_room) {
if (IS_NPC(vict) || !CAN_SEE(ch, vict) || PRF_FLAGGED(vict,
PRF_NOHASSLE))
continue;
for (names = MEMORY(ch); names && !found; names = names->next)
if (names->id == GET_IDNUM(vict)) {
found = TRUE;
WHYTRACK = TRUE;
/* act("'Hey! You're the fiend that attacked me!!!', exclaims
$n.",
FALSE, ch, 0, 0, TO_ROOM);*/
if (!MOB_FLAGGED(ch, MOB_ARRESTOR)) /*is he here to kill
or arrest Banyal*/
hit(ch, vict, TYPE_UNDEFINED);
else{
perform_arrest(vict);
forget(ch, vict);
extract_char(ch);
}
continue;
}
}
} /*Fast track Banyal*/
if ((WHYTRACK == FALSE) && (!MOB_FLAGGED(ch, MOB_SENTINEL))) {
if (MOB_FLAGGED(ch, MOB_FAST_TRACK)){
if (MOB_FLAGGED(ch, MOB_MEMORY) && MEMORY(ch)) {
for (i = character_list; i; i = i->next){
for (names = MEMORY(ch); names && !found; names = names->next)
if (names->id == GET_IDNUM(i)){
/*hunt_victim(i);*/
cmd_track = find_command("track");
do_track(ch, i->player.name, cmd_track, 0);
}
}
}
}
}
}
This is my mob track, note that it has mob fast track. For i crated a new
pulse for memory and aggro mobs and fast track. In that taking memory and
aggro out of old mob pulse and adding a mob slow track there
wowla.
Enjoy...
Sorry I only read mail once a week and am shamed to say dont look at alot
of it
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST