» SmaugMuds » Bugfix Lists » AFKMud Bugfix List » AFKMud Bug Archive » [Bug] Breath mobs are biased ...
[Bug] Breath mobs are biased based on room occupant order
< Newer Topic
:: Older Topic >
AFKMud 1.77
Pages:<< prev 1 next >>
#1 Sep 10, 2006 4:42 pm
Black Hand
GroupAdministrators
Posts3,685
JoinedJan 1, 2002
Bug: Breath mobs are biased based on room occupant order
Danger: Medium - Whoever enters the room first is going to get picked on more
Discovered in: AFKMud 1.77
Found by: Valcados
Fixed by: Valcados
---
mspecial.c, dragon
Replace the function with:
Dragons ( or other breath mobs ) would tend to breathe on whoever was listed first in order by the occupants of the room. This makes the choice a little more random based on who is fighting the mob.
Danger: Medium - Whoever enters the room first is going to get picked on more
Discovered in: AFKMud 1.77
Found by: Valcados
Fixed by: Valcados
---
mspecial.c, dragon
Replace the function with:
bool dragon( CHAR_DATA * ch, char *fspell_name ) { CHAR_DATA *victim, *chosen = NULL; int sn, count=0; if( ch->position != POS_FIGHTING && ch->position != POS_EVASIVE && ch->position != POS_DEFENSIVE && ch->position != POS_AGGRESSIVE && ch->position != POS_BERSERK ) return FALSE; for( victim = ch->in_room->first_person; victim; victim = victim->next_in_room ) { if( who_fighting( victim ) != ch ) continue; if( !number_range( 0, count ) ) chosen = victim, count++; } if( !chosen ) return FALSE; if( ( sn = skill_lookup( fspell_name ) ) < 0 ) return FALSE; ( *skill_table[sn]->spell_fun ) ( sn, ch->level, ch, chosen ); return TRUE; }
Dragons ( or other breath mobs ) would tend to breathe on whoever was listed first in order by the occupants of the room. This makes the choice a little more random based on who is fighting the mob.
Pages:<< prev 1 next >>