Background: I am trying to do away with the need for special procedures for mobs to emulate class behaviors. So, for example, a thief mob will steal gold, a wizard will cast spells etc. I am trying to work with thief/steal first as I thought it was the least complicated :) I guess I am having problems with my for loop and next_in_room. Code from mobact.c follows: /* Add new mobile actions here */ /* Class based, non-combat actions here */ switch (GET_CLASS(ch)) { case CLASS_THIEF: found = FALSE; if (GET_POS(ch) == POS_STANDING && (!MOB_FLAGGED(ch, MOB_SPEC)) ) { for (vict = world[ch->in_room].people; vict && !found; vict = vict->next_in_room) if (vict == ch) { act("$n thinks stealing from self is a good idea.", FALSE, ch, 0, 0, TO_ROOM); continue; } if (vict && GET_LEVEL(vict) < LVL_IMMORT && !number(0, 4) ) { npc_steal(ch, vict); found = TRUE; } } break; } (The ! MOB_SPEC check was so I didn't have to go and unassign all my thief mobs in the game while I was working this out. Otherwise they would try to steal twice.) At first I found that the thief was trying to steal from himself, so I added a debug message. So then I looked at some other for loops in mobact and saw the 'found' logic and tried to work that in also, but all I end up with now is a thief who thinks he should steal from himself. Can someone please help me with my bad logic? --Ziz Eternal Empire MUD lyra.digitech.org 4000 _________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT