Additional tile properteis update (by anv):

- COVER_TOOLTIP_DISPLAY_DETAILED_TILE_PROPERTIES under [Tactical Cover System Settings] set to true will let "f" cover tooltip to present detailed information about tile. Only relevant (non-zero) info will be shown.
- fixed bug causing trap level to be ignored and limited final maximum and minimum camo of given map grid between 0 and 100.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7073 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2014-03-16 18:54:35 +00:00
parent 2e773a029d
commit f39dc4bfca
18 changed files with 184 additions and 26 deletions
+26 -10
View File
@@ -520,6 +520,7 @@ ADDITIONAL_TILE_PROPERTIES_VALUES GetAllAdditonalTilePropertiesForGrid( const IN
INT16 iCamoStanceModifer = 0;
INT16 iSoundModifier = 0;
INT16 iStealthDifficultyModifer = 0;
INT16 iTrapBonus = 0;
UINT8 ubTerrainID = 0;
BOOLEAN fFoundBottom = FALSE;
@@ -576,6 +577,8 @@ ADDITIONAL_TILE_PROPERTIES_VALUES GetAllAdditonalTilePropertiesForGrid( const IN
iSoundModifier += gTileDatabase[ pNode->usIndex ].bSoundModifier;
iStealthDifficultyModifer += gTileDatabase[ pNode->usIndex ].bStealthDifficultyModifer;
iTrapBonus += gTileDatabase[ pNode->usIndex ].bTrapBonus;
ubTerrainID = gTileDatabase[ pNode->usIndex ].ubTerrainID;
// going from the top, if any tile has terrain type, we're ignoring all tiles below it
if(ubTerrainID != NO_TERRAIN)
@@ -586,15 +589,17 @@ ADDITIONAL_TILE_PROPERTIES_VALUES GetAllAdditonalTilePropertiesForGrid( const IN
}
ubAllTileProperties.bWoodCamoAffinity = (INT8)iWoodCamoAffinity;
ubAllTileProperties.bDesertCamoAffinity = (INT8)iDesertCamoAffinity;
ubAllTileProperties.bUrbanCamoAffinity = (INT8)iUrbanCamoAffinity;
ubAllTileProperties.bSnowCamoAffinity = (INT8)iSnowCamoAffinity;
ubAllTileProperties.bWoodCamoAffinity = (INT8)max(0, min(100, iWoodCamoAffinity));
ubAllTileProperties.bDesertCamoAffinity = (INT8)max(0, min(100, iDesertCamoAffinity));
ubAllTileProperties.bUrbanCamoAffinity = (INT8)max(0, min(100, iUrbanCamoAffinity));
ubAllTileProperties.bSnowCamoAffinity = (INT8)max(0, min(100, iSnowCamoAffinity));
ubAllTileProperties.bCamoStanceModifer = (INT8)iCamoStanceModifer;
ubAllTileProperties.bSoundModifier = (INT8)iSoundModifier;
ubAllTileProperties.bStealthDifficultyModifer = (INT8)iStealthDifficultyModifer;
ubAllTileProperties.bTrapBonus = (INT8)iTrapBonus;
return ubAllTileProperties;
}
@@ -662,13 +667,24 @@ INT8 GetDetailedSightAdjustmentCamouflageOnTerrain( SOLDIERTYPE* pSoldier, const
effectiveness += (UINT8)(pSoldier->GetBackgroundValue(BG_PERC_CAMO));
scaler = effectiveness * scaler / 6;
if(gGameExternalOptions.fAlternateMultiTerrainCamoCalculation)
{
iResult += min( -GetJungleCamouflage(pSoldier) * scaler / 100, zGivenTileProperties.bWoodCamoAffinity);
iResult += min( -GetDesertCamouflage(pSoldier) * scaler / 100, zGivenTileProperties.bDesertCamoAffinity);
iResult += min( -GetUrbanCamouflage(pSoldier) * scaler / 100, zGivenTileProperties.bUrbanCamoAffinity);
iResult += min( -GetSnowCamouflage(pSoldier) * scaler / 100, zGivenTileProperties.bSnowCamoAffinity);
iResult = min( iResult, 100);
iResult = -iResult;
}
else
{
iResult += GetJungleCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bWoodCamoAffinity / 100;
iResult += GetDesertCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bDesertCamoAffinity / 100;
iResult += GetUrbanCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bUrbanCamoAffinity / 100;
iResult += GetSnowCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bSnowCamoAffinity / 100;
}
iResult += GetJungleCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bWoodCamoAffinity / 100;
iResult += GetDesertCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bDesertCamoAffinity / 100;
iResult += GetUrbanCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bUrbanCamoAffinity / 100;
iResult += GetSnowCamouflage(pSoldier) * scaler / 100 * zGivenTileProperties.bSnowCamoAffinity / 100;
return (INT8)min(100, max(0, iResult));
return (INT8)max(-100, min(0, iResult));
}
/**