mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
Fixed problems with enemy rooftop climbing (by sevenfm)
- Also updated "Water", "DeepWater" and "WaterTooDeepForAttacks" methods: Added bLevel parameter (by sevenfm) - see: http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=22966&start=0& git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8110 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+1
-1
@@ -2624,7 +2624,7 @@ if(!GridNoOnVisibleWorldTile(iDestination))
|
||||
fNonSwimmer = !( IS_MERC_BODY_TYPE( s ) );
|
||||
if ( fNonSwimmer )
|
||||
{
|
||||
if ( Water( sDestination ) )
|
||||
if ( Water( sDestination, ubLevel ) )
|
||||
{
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
@@ -1117,7 +1117,7 @@ INT32 FindRandomGridNoBetweenCircles( INT32 sCenterGridNo, UINT8 uInnerRadius, U
|
||||
|
||||
sGridNo = sCenterGridNo + (WORLD_COLS * sY) + sX;
|
||||
|
||||
if ( TileIsOutOfBounds( sGridNo ) || Water( sGridNo ) || !IsLocationSittable( sGridNo, 0 ) || PythSpacesAway( sGridNo, sCenterGridNo ) <= uInnerRadius || PythSpacesAway( sGridNo, sCenterGridNo ) > uOuterRadius )
|
||||
if ( TileIsOutOfBounds( sGridNo ) || Water( sGridNo, 0 ) || !IsLocationSittable( sGridNo, 0 ) || PythSpacesAway( sGridNo, sCenterGridNo ) <= uInnerRadius || PythSpacesAway( sGridNo, sCenterGridNo ) > uOuterRadius )
|
||||
sGridNo = NOWHERE;
|
||||
else
|
||||
fFound = TRUE;
|
||||
|
||||
@@ -16318,7 +16318,7 @@ void SOLDIERTYPE::DropSectorEquipment( )
|
||||
if ( sPutGridNo == NOWHERE )
|
||||
sPutGridNo = RandomGridNo( );
|
||||
|
||||
if ( Water( sPutGridNo ) )
|
||||
if ( Water( sPutGridNo, this->pathing.bLevel ) )
|
||||
sPutGridNo = gMapInformation.sCenterGridNo;
|
||||
|
||||
if ( (this->sSectorX == gWorldSectorX) && (this->sSectorY == gWorldSectorY) && (this->bSectorZ == gbWorldSectorZ) )
|
||||
|
||||
@@ -2829,7 +2829,7 @@ UINT8 GetActionModeCursor( SOLDIERTYPE *pSoldier )
|
||||
|
||||
// WANNE.WATER: Allow shooting if we are on a "water" tile, but on level > 0
|
||||
// Now check our terrain to see if we cannot do the action now...
|
||||
if ( WaterTooDeepForAttacks( pSoldier->sGridNo) && pSoldier->pathing.bLevel == 0 )
|
||||
if ( WaterTooDeepForAttacks( pSoldier->sGridNo, pSoldier->pathing.bLevel) && pSoldier->pathing.bLevel == 0 )
|
||||
{
|
||||
ubCursor = INVALIDCURS;
|
||||
}
|
||||
|
||||
@@ -5408,11 +5408,11 @@ UINT8 MovementNoise( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
|
||||
// if sneaker is moving through water
|
||||
if (Water( pSoldier->sGridNo ) )
|
||||
if (Water( pSoldier->sGridNo, pSoldier->pathing.bLevel ) )
|
||||
{
|
||||
iStealthSkill -= 10; // 10% penalty
|
||||
}
|
||||
else if (DeepWater( pSoldier->sGridNo ) )
|
||||
else if (DeepWater( pSoldier->sGridNo, pSoldier->pathing.bLevel ) )
|
||||
{
|
||||
iStealthSkill -= 20; // 20% penalty
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user