Added disease resistance and lowered food and drink consumption to survival trait.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7768 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2015-03-05 22:43:15 +00:00
parent 5b5f24401c
commit 66d4bc8a33
13 changed files with 83 additions and 10 deletions
+12 -8
View File
@@ -2526,15 +2526,19 @@ void LoadSkillTraitsExternalSettings()
gSkillTraitValues.fSNTPrisonSnitchGuardStrengthMultiplier = iniReader.ReadFloat("Snitch","PRISON_SNITCH_GUARD_STRENGTH_MULTIPLIER", 3.0, 0.0, 10.0);
// Flugente: SURVIVAL
gSkillTraitValues.ubSVGroupTimeSpentForTravellingFoot = iniReader.ReadInteger( "Survival", "GROUP_TIME_SPENT_FOR_TRAVELLING_BY_FOOT_REDUCTION", 20, 0, 100 );
gSkillTraitValues.ubSVGroupTimeSpentForTravellingVehicle = iniReader.ReadInteger( "Survival", "GROUP_TIME_SPENT_FOR_TRAVELLING_IN_VEHICLE_REDUCTION", 10, 0, 100 );
gSkillTraitValues.ubSVMaxBonusesToTravelSpeed = iniReader.ReadInteger( "Survival", "MAX_STACKABLE_LESS_TRAVEL_TIME_BONUSES", 2, 0, 20 );
gSkillTraitValues.ubSVBreathForTravellingReduction = iniReader.ReadInteger( "Survival", "ENERGY_SPENT_TRAVEL_REDUCTION", 30, 0, 100 );
gSkillTraitValues.ubSVWeatherPenaltiesReduction = iniReader.ReadInteger( "Survival", "WEATHER_PENALTIES_REDUCTION", 50, 0, 100 );
gSkillTraitValues.ubSVCamoWornountSpeedReduction = iniReader.ReadInteger( "Survival", "CAMO_WORNOUT_SPEED_REDUCTION", 50, 0, 100 );
gSkillTraitValues.usSVTrackerMaxRange = iniReader.ReadInteger( "Survival", "TRACKER_MAX_RANGE", 30, 0, 50 );
gSkillTraitValues.usSVTrackerAbility = iniReader.ReadInteger( "Survival", "TRACKER_ABILITY", 30, 0, 50 );
gSkillTraitValues.ubSVGroupTimeSpentForTravellingFoot = iniReader.ReadInteger( "Survival", "GROUP_TIME_SPENT_FOR_TRAVELLING_BY_FOOT_REDUCTION", 30, 0, 100 );
gSkillTraitValues.ubSVGroupTimeSpentForTravellingVehicle = iniReader.ReadInteger( "Survival", "GROUP_TIME_SPENT_FOR_TRAVELLING_IN_VEHICLE_REDUCTION", 15, 0, 100 );
gSkillTraitValues.ubSVMaxBonusesToTravelSpeed = iniReader.ReadInteger( "Survival", "MAX_STACKABLE_LESS_TRAVEL_TIME_BONUSES", 2, 0, 20 );
gSkillTraitValues.ubSVBreathForTravellingReduction = iniReader.ReadInteger( "Survival", "ENERGY_SPENT_TRAVEL_REDUCTION", 50, 0, 100 );
gSkillTraitValues.ubSVWeatherPenaltiesReduction = iniReader.ReadInteger( "Survival", "WEATHER_PENALTIES_REDUCTION", 35, 0, 100 );
gSkillTraitValues.ubSVCamoWornountSpeedReduction = iniReader.ReadInteger( "Survival", "CAMO_WORNOUT_SPEED_REDUCTION", 75, 0, 100 );
gSkillTraitValues.usSVTrackerMaxRange = iniReader.ReadInteger( "Survival", "TRACKER_MAX_RANGE", 30, 0, 50 );
gSkillTraitValues.usSVTrackerAbility = iniReader.ReadInteger( "Survival", "TRACKER_ABILITY", 30, 0, 50 );
gSkillTraitValues.usSVDiseaseResistance = iniReader.ReadInteger( "Survival", "DISEASE_RESISTANCE", 10, 0, 100 );
gSkillTraitValues.sSVFoodConsumption = iniReader.ReadInteger( "Survival", "FOOD_CONSUMPTION", -20, -100, 100 );
gSkillTraitValues.sSVDrinkConsumption = iniReader.ReadInteger( "Survival", "DRINK_CONSUMPTION", -10, -100, 100 );
}
//DBrot: Grids
void LoadModSettings(){
CIniReader iniReader(MOD_SETTINGS_FILE);
+3
View File
@@ -1826,6 +1826,9 @@ typedef struct
UINT8 ubSVCamoWornountSpeedReduction;
UINT16 usSVTrackerMaxRange;
UINT8 usSVTrackerAbility;
UINT8 usSVDiseaseResistance;
INT8 sSVFoodConsumption; // alters food consumption rate
INT8 sSVDrinkConsumption;
} SKILL_TRAIT_VALUES;
// HEADROCK HAM 4: Constants used as coefficients by the various parts of the new CTH system.
+25
View File
@@ -8315,6 +8315,31 @@ void AssignPersonnelSkillTraitHelpText( UINT8 ubTraitNumber, BOOLEAN fExpertLeve
swprintf( atStr, gzIMPMajorTraitsHelpTextsSurvival[5], (gSkillTraitValues.usSVTrackerAbility * gSkillTraitValues.usSVTrackerMaxRange / 100) );
wcscat( apStr, atStr );
}
if ( gGameExternalOptions.fDisease )
{
if ( gSkillTraitValues.usSVDiseaseResistance != 0 )
{
swprintf( atStr, gzIMPMajorTraitsHelpTextsSurvival[6], gSkillTraitValues.usSVDiseaseResistance > 0 ? L"+" : L"", gSkillTraitValues.usSVDiseaseResistance );
wcscat( apStr, atStr );
}
}
if ( gGameOptions.fFoodSystem )
{
if ( gSkillTraitValues.sSVFoodConsumption != 0 )
{
swprintf( atStr, gzIMPMajorTraitsHelpTextsSurvival[7], gSkillTraitValues.sSVFoodConsumption > 0 ? L"+" : L"", gSkillTraitValues.sSVFoodConsumption );
wcscat( apStr, atStr );
}
if ( gSkillTraitValues.sSVDrinkConsumption != 0 )
{
swprintf( atStr, gzIMPMajorTraitsHelpTextsSurvival[8], gSkillTraitValues.sSVDrinkConsumption > 0 ? L"+" : L"", gSkillTraitValues.sSVDrinkConsumption );
wcscat( apStr, atStr );
}
}
break;
}
case NO_SKILLTRAIT_NT:
+8 -2
View File
@@ -384,8 +384,14 @@ void HourlyFoodSituationUpdate( SOLDIERTYPE *pSoldier )
FLOAT temperaturemodifier = (FLOAT)(3 + sectortemperaturemod)/3;
FLOAT specialfoodmodifier = 100.0 + pSoldier->GetBackgroundValue(BG_PERC_FOOD);
FLOAT specialdrinkmodifier = 100.0 + pSoldier->GetBackgroundValue(BG_PERC_WATER);
FLOAT specialfoodmodifier = 100.0 + pSoldier->GetBackgroundValue( BG_PERC_FOOD );
FLOAT specialdrinkmodifier = 100.0 + pSoldier->GetBackgroundValue( BG_PERC_WATER );
if ( HAS_SKILL_TRAIT( pSoldier, SURVIVAL_NT ) )
{
specialfoodmodifier += gSkillTraitValues.sSVFoodConsumption;
specialdrinkmodifier += gSkillTraitValues.sSVDrinkConsumption;
}
for ( int i = 0; i < NUM_DISEASES; ++i )
{
+3
View File
@@ -18939,6 +18939,9 @@ INT16 SOLDIERTYPE::GetDiseaseResistance( )
// Flugente: resistance can per definition only be between -100 and 100 (at least that's my definition)
INT16 val = 0;
if ( HAS_SKILL_TRAIT( this, SURVIVAL_NT ) )
val += gSkillTraitValues.usSVDiseaseResistance;
val += this->GetBackgroundValue( BG_RESI_DISEASE );
val = max( -100, val );
+4
View File
@@ -393,6 +393,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
//L"迷彩涂装效果 +%d%s\n",// L"+%d%s camouflage effectiveness\n",
L"迷彩涂装退色的速度 -%d%s\n",// L"-%d%s worn out speed of camouflage by water or time\n",
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
L" %s%d%% disease resistance\n",
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+4
View File
@@ -394,6 +394,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
L"-%d%s weather penalties\n",
L"-%d%s worn out speed of camouflage by water or time\n",
L"Can spot tracks up to %d tiles away\n",
L" %s%d%% disease resistance\n",
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+4
View File
@@ -395,6 +395,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] =
//L"+%d%s camouflage effectiveness\n",
L"-%d%s worn out speed of camouflage by water or time\n",
L"Can spot tracks up to %d tiles away\n",
L" %s%d%% disease resistance\n",
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+4
View File
@@ -393,6 +393,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
//L"+%d%s d'efficacité du camouflage\n",
L"-%d%s de l'usure du camouflage due au temps ou à l'eau\n",
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
L" %s%d%% disease resistance\n",
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+4
View File
@@ -396,6 +396,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] =
//L"+%d%s Tarnungs-Effektivität\n",
L"-%d%s Abnutzung von Tarnfarbe durch Wasser oder Zeit\n",
L"Kann Spuren bis zu %d Felder weit erkennen\n",
L" %s%d%% disease resistance\n", //TODO.Translate
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+4
View File
@@ -392,6 +392,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
L"-%d%s weather penalties\n",
L"-%d%s worn out speed of camouflage by water or time\n",
L"Can spot tracks up to %d tiles away\n",
L" %s%d%% disease resistance\n",
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+4
View File
@@ -394,6 +394,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
L"-%d%s weather penalties\n",
L"-%d%s worn out speed of camouflage by water or time\n",
L"Can spot tracks up to %d tiles away\n",
L" %s%d%% disease resistance\n",
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+4
View File
@@ -400,6 +400,10 @@ STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
L"-%d%s weather penalties\n",
L"-%d%s worn out speed of camouflage by water or time\n",
L"Can spot tracks up to %d tiles away\n",
L" %s%d%% disease resistance\n",
L" %s%d%% food consumption\n",
L" %s%d%% water consumption\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=