> Jason Pullara wrote: > > > > Hi all, > > > > First of all I would like to say that Ive got a blackjack maneuver that > > knocks somone out without hurting them (so they can be looted, ect..) > > > > However, lets say that two or more MOB's in a room > > > What exactly should the mobs DO if someone is blackjacked in the room? > Do you want all mobs to attack the attacker, or maybe just those mobs > which have an alignment different from the attacker (ie a good mob will > attack an evil attacker and vice versa, a neutral mob just minds it's > own buisiness regardless)? Perhaps you would want some mobs to flee the > room? Perhaps you want a ceartain amount of randomness involved in the > decision of the mob as to what they should do. > > > When somone/thing gets blackjacked the other MOB's just kinda > stand there > > looking dumb (hey, if you saw somone get knocked unconscious, youd be > > suspicous too, eh?) > > > Also keep in mind that rooms are different, you might have a crowded > room where the attack can be covered up by the sheer number of people in > the room, or maybe it occurs in a dark corner of a restaurant when > no-one is looking, perhaps you have a room which actually defines a > large field, someone at one end of the field might not see an attack at > the other. These are all things to take into consideration. The field problem can be avoided by using the last exit member, if the room is set to a field type, then check that the last exits (where they entered the field, inversely) are the same. The restaurant problem can be avoided by creating a new room flag, or using the DARK flag. These are all simple if statements that can be added thanks to the flexibility of the stock code. > > > Any help with this MOB awareness would be appriciated > > > Alrighty, it should be fairly easy to walk through the linked list of > characters in a room (top entry is tch=world[ch->in_room].people then > following entries are tch=tch->next_in_room) and check each one too see > if it is a mob (IS_NPC(tch)) then check any attributes on the mob to see > what you want you want it to do, add in some randomness and then force > it do whatever (see the commands related to what you want it to do). > > If you can't get it from this then give some best-effort code and we'll > go from there. > > Regards, Peter > > > +------------------------------------------------------------+ > | Ensure that you have read the CircleMUD Mailing List FAQ: | > | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | > +------------------------------------------------------------+ > +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT