@ -2570,7 +2570,7 @@ void RhinoAi(int i)
if ( dist > = 5
& & v < 2 * monster . _mint + 43
& & LineClear ( [ & monster ] ( Point position ) { return IsTileAvailable ( monster , position ) ; } , monster . position . tile , { fx , fy } ) ) {
if ( AddMissile ( monster . position . tile , { fx , fy } , md , MIS_RHINO , monster . _menemy , i , 0 , 0 ) ! = - 1 ) {
if ( AddMissile ( monster . position . tile , { fx , fy } , md , MIS_RHINO , TARGET_PLAYERS , i , 0 , 0 ) ! = - 1 ) {
if ( monster . MData - > snd_special )
PlayEffect ( monster , 3 ) ;
dMonster [ monster . position . tile . x ] [ monster . position . tile . y ] = - ( i + 1 ) ;
@ -2744,7 +2744,6 @@ void BatAi(int i)
assert ( i > = 0 & & i < MAXMONSTERS ) ;
auto & monster = Monsters [ i ] ;
int pnum = monster . _menemy ;
if ( monster . _mmode ! = MM_STAND | | monster . _msquelch = = 0 ) {
return ;
}
@ -2774,7 +2773,7 @@ void BatAi(int i)
& & ( abs ( xd ) > = 5 | | abs ( yd ) > = 5 )
& & v < 4 * monster . _mint + 33
& & LineClear ( [ & monster ] ( Point position ) { return IsTileAvailable ( monster , position ) ; } , monster . position . tile , { fx , fy } ) ) {
if ( AddMissile ( monster . position . tile , { fx , fy } , md , MIS_RHINO , pnum , i , 0 , 0 ) ! = - 1 ) {
if ( AddMissile ( monster . position . tile , { fx , fy } , md , MIS_RHINO , TARGET_PLAYERS , i , 0 , 0 ) ! = - 1 ) {
dMonster [ monster . position . tile . x ] [ monster . position . tile . y ] = - ( i + 1 ) ;
monster . _mmode = MM_CHARGE ;
}
@ -3037,7 +3036,6 @@ void SnakeAi(int i)
auto & monster = Monsters [ i ] ;
char pattern [ 6 ] = { 1 , 1 , 0 , - 1 , - 1 , 0 } ;
int pnum = monster . _menemy ;
if ( monster . _mmode ! = MM_STAND | | monster . _msquelch = = 0 )
return ;
int fx = monster . enemyPosition . x ;
@ -3048,7 +3046,7 @@ void SnakeAi(int i)
monster . _mdir = md ;
if ( abs ( mx ) > = 2 | | abs ( my ) > = 2 ) {
if ( abs ( mx ) < 3 & & abs ( my ) < 3 & & LineClear ( [ & monster ] ( Point position ) { return IsTileAvailable ( monster , position ) ; } , monster . position . tile , { fx , fy } ) & & monster . _mVar1 ! = MM_CHARGE ) {
if ( AddMissile ( monster . position . tile , { fx , fy } , md , MIS_RHINO , pnum , i , 0 , 0 ) ! = - 1 ) {
if ( AddMissile ( monster . position . tile , { fx , fy } , md , MIS_RHINO , TARGET_PLAYERS , i , 0 , 0 ) ! = - 1 ) {
PlayEffect ( monster , 0 ) ;
dMonster [ monster . position . tile . x ] [ monster . position . tile . y ] = - ( i + 1 ) ;
monster . _mmode = MM_CHARGE ;