-tested and fixed new camouflage types and ammo weights

-fixed localization to read in XML file

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@400 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
MaddMugsy
2006-08-04 05:21:14 +00:00
parent 13a8319fbb
commit d7ea36a736
9 changed files with 146 additions and 50 deletions
+11 -17
View File
@@ -1613,17 +1613,11 @@ INT32 SoldierToSoldierLineOfSightTest( SOLDIERTYPE * pStartSoldier, SOLDIERTYPE
}
//get the total camouflage
float jungle = (float)(pEndSoldier->bCamo + pEndSoldier->wornCamo);
float urban = (float)(pEndSoldier->urbanCamo + pEndSoldier->wornUrbanCamo);
float desert = (float)(pEndSoldier->desertCamo + pEndSoldier->wornDesertCamo);
float snow = (float)(pEndSoldier->snowCamo + pEndSoldier->wornSnowCamo);
int totalCamo = (int)(jungle + urban + desert + snow);
//get the percentage of each type
jungle = jungle / totalCamo;
urban = urban / totalCamo;
desert = desert / totalCamo;
snow = snow / totalCamo;
int jungle = max(1,min(100,pEndSoldier->bCamo + pEndSoldier->wornCamo));
int urban = max(1,min(100,pEndSoldier->urbanCamo + pEndSoldier->wornUrbanCamo));
int desert = max(1,min(100,pEndSoldier->desertCamo + pEndSoldier->wornDesertCamo));
int snow = max(1,min(100,pEndSoldier->snowCamo + pEndSoldier->wornSnowCamo));
int totalCamo = max(1,min(100,jungle + urban + desert + snow));
if ( ( totalCamo ) > 0 && !bAware )
{
@@ -1647,23 +1641,23 @@ INT32 SoldierToSoldierLineOfSightTest( SOLDIERTYPE * pStartSoldier, SOLDIERTYPE
{
case LOW_GRASS:
case HIGH_GRASS: // jungle camo bonus
iTemp -= iTemp * (int)(jungle * bEffectiveCamo / 3) / 100;
iTemp -= iTemp * (jungle * bEffectiveCamo / 3 / totalCamo) / 100;
break;
case FLAT_FLOOR: // flat floor = indoors
case PAVED_ROAD: // urban camo bonus
iTemp -= iTemp * (int)(urban * bEffectiveCamo / 3) / 100;
iTemp -= iTemp * (urban * bEffectiveCamo / 3 / totalCamo) / 100;
break;
case DIRT_ROAD: // desert camo bonus
case TRAIN_TRACKS:
iTemp -= iTemp * (int)(desert * bEffectiveCamo / 3) / 100;
iTemp -= iTemp * (desert * bEffectiveCamo / 3 / totalCamo) / 100;
break;
//case ??? : // snow camo bonus
// iTemp -= iTemp * (snow * bEffectiveCamo / 3) / 100;
// iTemp -= iTemp * (snow * bEffectiveCamo / 3 / totalCamo) / 100;
// break;
case FLAT_GROUND:
//in this case both desert and jungle can work:
iTemp -= iTemp * (int)(jungle * bEffectiveCamo / 3) / 100;
iTemp -= iTemp * (int)(desert * bEffectiveCamo / 3) / 100;
iTemp -= iTemp * (jungle * bEffectiveCamo / 3 / totalCamo) / 100;
iTemp -= iTemp * (desert * bEffectiveCamo / 3 / totalCamo) / 100;
break;
default:
break;