From de713b496dfbb484b3bb899cf6b29629f673c822 Mon Sep 17 00:00:00 2001 From: Wanne Date: Thu, 8 May 2014 18:48:42 +0000 Subject: [PATCH] Merged from revision: 7197 Fixes (by Buggler) - Allow hotkey squad switching to include squads in vehicles as well - Fixed wrong sign used for bSpeedModifierTrainingMilitia and bSpeedModifierTeachingOthers - Fixed usMobileMilitiaTraining value not read causing mobile militia training speed to be doubled git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7198 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Strategic/Assignments.cpp | 10 +++++----- Strategic/Town Militia.cpp | 2 +- Strategic/XML_FacilityTypes.cpp | 4 ++-- Tactical/Overhead.cpp | 4 ++-- Tactical/Turn Based Input.cpp | 2 +- Utils/_FrenchText.cpp | 10 +++++----- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Strategic/Assignments.cpp b/Strategic/Assignments.cpp index 9cc467c4..cb7338d0 100644 --- a/Strategic/Assignments.cpp +++ b/Strategic/Assignments.cpp @@ -2740,8 +2740,8 @@ UINT8 CalculateRepairPointsForRepairman(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts // SANDRO - Technician trait gives a good bonus to repair items if ( gGameOptions.fNewTraitSystem ) { - usRepairPts = usRepairPts * (100 - gSkillTraitValues.bSpeedModifierRepairing) / 100; - *pusMaxPts = *pusMaxPts * (100 - gSkillTraitValues.bSpeedModifierRepairing) / 100; + usRepairPts = usRepairPts * (100 + gSkillTraitValues.bSpeedModifierRepairing) / 100; + *pusMaxPts = *pusMaxPts * (100 + gSkillTraitValues.bSpeedModifierRepairing) / 100; if ( HAS_SKILL_TRAIT( pSoldier, TECHNICIAN_NT ) ) { @@ -6041,7 +6041,7 @@ INT16 GetBonusTrainingPtsDueToInstructor( SOLDIERTYPE *pInstructor, SOLDIERTYPE *pusMaxPts = max( 10, ( bTrainerNatSkill - bTraineeSkill )) * ( bTraineeNatWisdom + ( pInstructor->stats.bWisdom + pInstructor->stats.bLeadership ) / 2 ) / gGameExternalOptions.ubInstructedTrainingDivisor; // penalty for non-specialized mercs - bTrainingBonus = bTrainingBonus * (100 - gSkillTraitValues.bSpeedModifierTeachingOthers) / 100; + bTrainingBonus = bTrainingBonus * (100 + gSkillTraitValues.bSpeedModifierTeachingOthers) / 100; // check for teaching skill bonuses if ( HAS_SKILL_TRAIT( pInstructor, TEACHING_NT) ) @@ -20087,7 +20087,7 @@ void RecordNumMilitiaTrainedForMercs( INT16 sX, INT16 sY, INT8 bZ, UINT8 ubMilit if ( gGameOptions.fNewTraitSystem ) //old/new traits { // -10% penalty for untrained mercs - usTrainerEffectiveLeadership = (usTrainerEffectiveLeadership * (100 - gSkillTraitValues.bSpeedModifierTrainingMilitia) / 100); + usTrainerEffectiveLeadership = (usTrainerEffectiveLeadership * (100 + gSkillTraitValues.bSpeedModifierTrainingMilitia) / 100); if (HAS_SKILL_TRAIT( pTrainer, TEACHING_NT )) { @@ -20130,7 +20130,7 @@ void RecordNumMilitiaTrainedForMercs( INT16 sX, INT16 sY, INT8 bZ, UINT8 ubMilit if ( gGameOptions.fNewTraitSystem ) //old/new traits { // -10% penalty for untrained mercs - usTrainerEffectiveLeadership = (usTrainerEffectiveLeadership * (100 - gSkillTraitValues.bSpeedModifierTrainingMilitia) / 100); + usTrainerEffectiveLeadership = (usTrainerEffectiveLeadership * (100 + gSkillTraitValues.bSpeedModifierTrainingMilitia) / 100); if (HAS_SKILL_TRAIT( pTrainer, TEACHING_NT )) { diff --git a/Strategic/Town Militia.cpp b/Strategic/Town Militia.cpp index c9910bf1..5b3f14ee 100644 --- a/Strategic/Town Militia.cpp +++ b/Strategic/Town Militia.cpp @@ -1935,7 +1935,7 @@ UINT8 FindBestMilitiaTrainingLeadershipInSector ( INT16 sMapX, INT16 sMapY, INT8 if ( gGameOptions.fNewTraitSystem ) // SANDRO - old/new traits { // -10% penalty for untrained mercs - usTrainerEffectiveLeadership = (usTrainerEffectiveLeadership * (100 - gSkillTraitValues.bSpeedModifierTrainingMilitia) / 100); + usTrainerEffectiveLeadership = (usTrainerEffectiveLeadership * (100 + gSkillTraitValues.bSpeedModifierTrainingMilitia) / 100); if (HAS_SKILL_TRAIT( pCheckedTrainer, TEACHING_NT )) { diff --git a/Strategic/XML_FacilityTypes.cpp b/Strategic/XML_FacilityTypes.cpp index 32e9412d..c3166246 100644 --- a/Strategic/XML_FacilityTypes.cpp +++ b/Strategic/XML_FacilityTypes.cpp @@ -417,14 +417,14 @@ facilitytypeEndElementHandle(void *userData, const XML_Char *name) if (!FacilityTypes_TextOnly) { // Begin with basic facility data - wcscpy(gFacilityTypes[pData->curIndex].szFacilityName, pData->curFacilityTypeData.szFacilityName); + wcscpy(gFacilityTypes[pData->curIndex].szFacilityName, pData->curFacilityTypeData.szFacilityName); wcscpy(gFacilityTypes[pData->curIndex].szFacilityShortName, pData->curFacilityTypeData.szFacilityShortName); gFacilityTypes[pData->curIndex].ubTotalStaffLimit = pData->curFacilityTypeData.ubTotalStaffLimit; gFacilityTypes[pData->curIndex].ubMilitiaTrainersAllowed = pData->curFacilityTypeData.ubMilitiaTrainersAllowed; gFacilityTypes[pData->curIndex].ubMobileMilitiaTrainersAllowed = pData->curFacilityTypeData.ubMobileMilitiaTrainersAllowed; gFacilityTypes[pData->curIndex].usMilitiaTraining = pData->curFacilityTypeData.usMilitiaTraining; - gFacilityTypes[pData->curIndex].usMilitiaTraining = pData->curFacilityTypeData.usMilitiaTraining; + gFacilityTypes[pData->curIndex].usMobileMilitiaTraining = pData->curFacilityTypeData.usMobileMilitiaTraining; // Set assignment-specific data for (UINT16 cnt = 0; cnt < NUM_FACILITY_ASSIGNMENTS; cnt++) diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index eef99239..2db7a2da 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -4544,7 +4544,7 @@ SOLDIERTYPE *FindNextActiveSquad( SOLDIERTYPE *pSoldier ) { for( cnt2 =0; cnt2 < NUMBER_OF_SOLDIERS_PER_SQUAD; cnt2++ ) { - if ( Squad[ cnt ][ cnt2 ] != NULL && Squad[ cnt ][ cnt2 ]->bInSector && OK_INTERRUPT_MERC( Squad[ cnt ][ cnt2 ] ) && OK_CONTROLLABLE_MERC( Squad[ cnt ][ cnt2 ] ) && !(Squad[ cnt ][ cnt2 ]->flags.uiStatusFlags & SOLDIER_VEHICLE) ) + if ( Squad[ cnt ][ cnt2 ] != NULL && Squad[ cnt ][ cnt2 ]->bInSector && OK_INTERRUPT_MERC( Squad[ cnt ][ cnt2 ] ) && OK_CONTROLLABLE_MERC( Squad[ cnt ][ cnt2 ] ) ) { return( Squad[ cnt ][ cnt2 ] ); } @@ -4557,7 +4557,7 @@ SOLDIERTYPE *FindNextActiveSquad( SOLDIERTYPE *pSoldier ) { for( cnt2 =0; cnt2 < NUMBER_OF_SOLDIERS_PER_SQUAD; cnt2++ ) { - if ( Squad[ cnt ][ cnt2 ] != NULL && Squad[ cnt ][ cnt2 ]->bInSector && OK_INTERRUPT_MERC( Squad[ cnt ][ cnt2 ] ) && OK_CONTROLLABLE_MERC( Squad[ cnt ][ cnt2 ] ) && !(Squad[ cnt ][ cnt2 ]->flags.uiStatusFlags & SOLDIER_VEHICLE) ) + if ( Squad[ cnt ][ cnt2 ] != NULL && Squad[ cnt ][ cnt2 ]->bInSector && OK_INTERRUPT_MERC( Squad[ cnt ][ cnt2 ] ) && OK_CONTROLLABLE_MERC( Squad[ cnt ][ cnt2 ] ) ) { return( Squad[ cnt ][ cnt2 ] ); } diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index 8faa9d49..17a7df47 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -5758,7 +5758,7 @@ void ChangeCurrentSquad( INT32 iSquad ) { for( cnt2 = 0; cnt2 < NUMBER_OF_SOLDIERS_PER_SQUAD; cnt2++ ) { - if ( Squad[ cnt ][ cnt2 ] != NULL && Squad[ cnt ][ cnt2 ]->bInSector && OK_INTERRUPT_MERC( Squad[ cnt ][ cnt2 ] ) && OK_CONTROLLABLE_MERC( Squad[ cnt ][ cnt2 ] ) && !(Squad[ cnt ][ cnt2 ]->flags.uiStatusFlags & SOLDIER_VEHICLE) ) + if ( Squad[ cnt ][ cnt2 ] != NULL && Squad[ cnt ][ cnt2 ]->bInSector && OK_INTERRUPT_MERC( Squad[ cnt ][ cnt2 ] ) && OK_CONTROLLABLE_MERC( Squad[ cnt ][ cnt2 ] ) ) { cnt3++; break; diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 1c360576..59128565 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -6589,11 +6589,11 @@ STR16 gzTooltipStrings[] = L"%s|Compétence 1 : %s\n", L"%s|Compétence 2 : %s\n", L"%s|Compétence 3 : %s\n", - // Additional suppression effects - sevenfm - L"%s|P|A perdu(s) en raison de |S|uppression : %d\n", - L"%s|Tolérance de |Suppression : %d\n", - L"|Niveau |effectif du |C|hoc : %d\n", - L"%s|Moral de l'|I|A : %d\n", + // Additional suppression effects - sevenfm // TODO.Translate + L"%s|A|Ps lost due to |S|uppression: %d\n", + L"%s|Suppression |Tolerance: %d\n", + L"%s|Effective |S|hock |Level: %d\n", + L"%s|A|I |Morale: %d\n", }; STR16 New113Message[] =