I am having a slight problem with mine. In 2.2 Say I have a mob flagged: special, scavenger, aggressive evil, and memory It will not attack evil. Here is my aggessive code from mobact.c if (IS_SET(ch->specials2.act, MOB_AGGRESSIVE)) { found = FALSE; for (tmp_ch = world[ch->in_room].people; tmp_ch && !found; tmp_ch = tmp_ch->next_in_room) { if (CAN_SEE(ch, tmp_ch) && !PRF_FLAGGED(tmp_ch, PRF_NOHASSLE)) { if (!IS_SET(ch->specials2.act, MOB_WIMPY) || !AWAKE(tmp_ch)) { if ((IS_SET(ch->specials2.act, MOB_AGGRESSIVE_EVIL) && IS_EVIL(tmp_ch) || IS_TSALARI(tmp_ch) || IS_MARDUK(tmp_ch) || IS_MARDUK_PAL(tmp_ch)) || (IS_SET(ch->specials2.act, MOB_AGGRESSIVE_GOOD) && IS_GOOD(tmp_ch) || IS_AO(tmp_ch) || IS_AO_PAL(tmp_ch)) || (IS_SET(ch->specials2.act, MOB_AGGRESSIVE_NEUTRAL) && IS_NEUTRAL(tmp_ch)) || (IS_SET(ch->specials2.act, MOB_AGGRESSIVE_MARDUK) && IS_MARDUK(tmp_ch) || IS_TSALARI(tmp_ch)) || (!IS_SET(ch->specials2.act, MOB_AGGRESSIVE_EVIL) && !IS_SET(ch->specials2.act, MOB_AGGRESSIVE_NEUTRAL) && !IS_SET(ch->specials2.act, MOB_AGGRESSIVE_GOOD) ) && !IS_SET(ch->specials2.act, MOB_AGGRESSIVE_MARDUK) ) { if (ch != tmp_ch) { hit(ch, tmp_ch, 0); found = FALSE; } else { found = TRUE; etc... --Ziz, NetShamen
This archive was generated by hypermail 2b30 : 12/07/00 PST