Daniel Durnin wrote:
<snip>
>
> 1> Probably very simple to most of you, a Mob spec that makes it switch.
> You know, a mob is fighting three people, and it chooses a person different
> from the present one to start fighting.
What a pleasant fellow. And a merry christmas to you, too, good sir.
UNTESTED code follows:
SPECIAL(switcheronius)
{
int fighters = 0, found = FALSE;
struct char_data *vict;
if (cmd || GET_POS(ch) != POS_FIGHTING)
return FALSE;
/* make sure at least 2 people are fighting me */
for (vict = world[ch->in_room].people; vict; vict = vict->next_in_room)
if (FIGHTING(vict) == ch)
count++;
if (count < 2)
return (FALSE);
/*
* pick someone who's fighting me that I'm not already fighting, and
* make it a litle random
*/
do {
for (vict = world[ch->in_room].people; vict; vict = vict->next_in_room)
if (FIGHTING(vict) == ch && FIGHTING(ch) != vict && !number(0, 4) )
{
found = TRUE;
break;
}
} while (!found);
act("$n turns on $N!", TRUE, ch, 0, vict, TO_NOTVICT);
act("$n turns on you!", TRUE, ch, 0, vict, TO_VICT);
stop_fighting(vict);
stop_fighting(ch);
set_fighting(ch, vict);
return(TRUE);
}
--
-- dkarnes@mystech.com
-- Serapis, Imp of Dark Pawns
-- www.augusta.net 4000
-- Open for Beta testing
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST