Re: MOB MEMORY with Circle 3.0

From: Greg Alexander Irvine (s9211947@arcadia.cs.rmit.edu.au)
Date: 10/11/95


> It seems to me in playing with the base circle 3.0 code that when a group
> attacks a mob with memory, that the mob only remembers the tank. Am I wrong
> about this? I am about 95% through coding a MOB_SUMMONER that will summon
> opponents that flee away back and attack them, however, I am finding that
> the mob does not summon everyone in the group. Only the first person in the
> group that attacks the mob (tank) gets summoned. 


replace the memory sections of mob_specials with a pointer to this structure.

/* memory structure for characters */
struct memory_data {
   struct char_data *ch;
   struct memory_data *next;
};


when someone attacks, run through the mobs memory and add them to the list
the same with forgetting, run through and remove them from the list.

the only problem with this is that every attack the mob will remember, and
it would slow things down if a list of 20 people is run through every
attack to see if the mob's already remembered the current attacker.

------------------------

Just a further note on the subject of mob memory...

when a group of mobs attack a player, each mob that attacks remembers the
player.
so when a player dies to one of these mobs, the rest still remember.

one horrible example of this is assisting cityguards.  im a newbie just
new the game, and attack a drunk, meanwhile 5 cityguads jump in and nail me.
the guard the hit hte killing blow forgets me, the rest dont.. so half an
hour later i wonder through town to buy food, and all of a city guards
start hacking into me and killing me.. i KNOW i'd be frustrated, and i
know it frustrates my players.

ive been thinking on solutions, and the easiest one ive come up with is
to loop though all players in the room i died in, and make them all forget me

	for (tch=world[IN_ROOM(victim)]; tch; tch=tch->next_in_room)  {
		if (MEMORY(ch) == victim)
			forget(ch, victim);

this still doesnt account for mobs that attacked me and fled.
i considered simply making mobs that flee forget, but, well... if someone
attack me and i fled, i wouldnt be forgetting too quickly. *shrug*



Sorry for the long winded message.. just thought i'd raise a point and get
some responses as to how people have handled these problems.  :)


- Greg



This archive was generated by hypermail 2b30 : 12/07/00 PST