On Wed, 11 Oct 1995, E.I. wrote: > > About the memory of the mobile you are correct unless you have > changed your fight system allowing a random hit to every attacker fo every > attacker and funny-bunny things like this. Hmm one solution can be to > look for the group of the memorized person and summon randomly one guy > from there, that is insane, or simply summon the guy that attacked him > 1st hence as you call'im "the tank". > To summon everyone in the group: a cheap and buggy version is as I said > check the descriptors for the guy in memory, > above: do a ch->master check and a follower check and then with a for > loop do a char_to_room stuff to get them in the room of yer mob. > > Urm I do not see yer point but, a very silly way is to trap the > flee command! do a if check for fight and for flee command and > summon the guy. > > Hope that was a helpfullllzzz :) > > Emre > > Instead, don't even let them flee, in do_flee: if (FIGHTING(ch) && IS_NPC(FIGHTING(ch))) { struct char_data * mob; mob = FIGHTING(ch); if (IS_SET(MOB_FLAGS, MOB_STOP_FLEE)) { sprintf( buf, "The %s thwarts your desperate attempts to flee.\r\n", GET_NAME(FIGHTING(ch)) ); send_to_char( buf, ch ); } } Or, you can do like I did and make a 'trip' skill, and then which not only trips people during battle (it should be an auto-skill), but randomly if they flee, this provides it for players, then, for mobiles, instead of checking for the skill, check for MOB_STOP_FLEE and then make a quick level/hp check to prevent them from fleing. For instance: if (GET_HIT(ch) > GET_MAXHIT(ch) / 2) { /* * * Person is tripped * * this also helps to * * stop thieves from * * backstabbing and * * fleing. */ } else { /* The person flees */ }
This archive was generated by hypermail 2b30 : 12/07/00 PST