Re: Blackjacking and MOB awareness

From: Treker (treker@positron.net)
Date: 09/17/00


> 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