patch from Aldaril
update.c
void char_check(void)
{
....
if ( !ch->fighting ) /* add Aldaril 2005-09-16 */
retcode = move_char( ch, pexit, 0 );
....
}
void mobile_update( void )
{
....
/* Wander */
....
if ( !ch->fighting ) /* add Aldaril 2005-09-16 */
retcode = move_char( ch, pexit, 0 );
....
/* Flee */
/* для этого случая не менять ! */
....
retcode = move_char( ch, pexit, 0 );
....
}
а так же в функциях do_north, do_east, do_south, и т.д.
добавить
if ( ch->fighting ) /* add Aldaril 2005-09-16 */
return;
(это при том, что в bool check_pos( CHAR_DATA *ch, sh_int position ) в принципе есть проверка, но !...)
бага проявляется в том, что у игрока в какой то момент позиция не боевая, например standing
только этим можно обьяснить англицкий уход не попращавшись
(Добавление)
p.s. народ, не бойтесь, что патч добавят и халяву пофиксят, это будет через пару лет, хи ;)