diff --git a/Strategic/Assignments.cpp b/Strategic/Assignments.cpp index 830431114..9a2b22264 100644 --- a/Strategic/Assignments.cpp +++ b/Strategic/Assignments.cpp @@ -3140,8 +3140,9 @@ UINT32 CalculatePrisonGuardValue(SOLDIERTYPE *pSoldier ) // this is not an assignment. Simply being in the sector will allow us to be counted as guards UINT32 usValue = 0; - if ( pSoldier->flags.fMercAsleep ) - return 0; + // for simplicity, ignore sleep status (forcing the player to finetune sleeping is annoying) + /*if ( psoldier->flags.fMercAsleep ) + return 0;*/ // anv: undercover snitches don't count as guards as they don't guard in traditional sense if ( pSoldier->bAssignment == FACILITY_PRISON_SNITCH ) @@ -3214,7 +3215,7 @@ UINT32 CalculateAllGuardsValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ ) UINT32 lastid = gTacticalStatus.Team[ OUR_TEAM ].bLastID; for ( uiCnt = firstid, pSoldier = MercPtrs[ uiCnt ]; uiCnt <= lastid; ++uiCnt, ++pSoldier) { - if( pSoldier->bActive && ( pSoldier->sSectorX == sMapX ) && ( pSoldier->sSectorY == sMapY ) && ( pSoldier->bSectorZ == bZ) && !pSoldier->flags.fMercAsleep ) + if( pSoldier->bActive && ( pSoldier->sSectorX == sMapX ) && ( pSoldier->sSectorY == sMapY ) && ( pSoldier->bSectorZ == bZ) ) { prisonguardvalue += CalculatePrisonGuardValue(pSoldier ); } diff --git a/Strategic/Town Militia.cpp b/Strategic/Town Militia.cpp index e8562ed09..a172e25ec 100644 --- a/Strategic/Town Militia.cpp +++ b/Strategic/Town Militia.cpp @@ -2598,14 +2598,14 @@ FLOAT CalcHourlyVolunteerGain() UINT8 ubTownID = StrategicMap[CALCULATE_STRATEGIC_INDEX( sX, sY )].bNameId; if ( ubTownID != BLANK_SECTOR ) { - UINT16 population = GetSectorPopulation( sX, sY ); + UINT16 population = GetSectorPopulation( sX, sY, FALSE ); loyalpopulation += gTownLoyalty[ubTownID].ubRating * population / 100; } } } - FLOAT hourlygain = loyalpopulation * populationmodifier * gGameExternalOptions.dMilitiaVolunteerGainFactorHourly; + FLOAT hourlygain = log( 1.0 + loyalpopulation * populationmodifier * gGameExternalOptions.dMilitiaVolunteerGainFactorHourly); return hourlygain; }