Fix for Dynamic Opinions feature not respecting ini setting and not allowing it to be disabled easily (by Shadooow).

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9002 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2021-05-05 03:40:57 +00:00
parent c2ccc871fc
commit b7cc3bbcf8
18 changed files with 148 additions and 64 deletions
+4 -1
View File
@@ -5863,7 +5863,10 @@ void FatigueCharacter( SOLDIERTYPE *pSoldier )
bMaxBreathLoss = (float)min( 127, iBreathLoss );
// Flugente: dynamic opinions: other mercs might get annoyed, because we are slowing down the team
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_SLOWSUSDOWN, TRUE, TRUE );
if (gGameExternalOptions.fDynamicOpinions)
{
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_SLOWSUSDOWN, TRUE, TRUE);
}
}
}
+1 -1
View File
@@ -4887,7 +4887,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsOthers++;
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
if ( (pTarget->pSoldier->bTeam != OUR_TEAM) && (pTarget->pSoldier->aiData.bNeutral || pTarget->pSoldier->bSide == pAttacker->pSoldier->bSide) )
if ((gGameExternalOptions.fDynamicOpinions) && (pTarget->pSoldier->bTeam != OUR_TEAM) && (pTarget->pSoldier->aiData.bNeutral || pTarget->pSoldier->bSide == pAttacker->pSoldier->bSide) )
{
// not for killing animals though...
if ( pTarget->pSoldier->ubBodyType != CROW && pTarget->pSoldier->ubBodyType != COW )
+12 -3
View File
@@ -461,7 +461,10 @@ void HourlyLarryUpdate()
fTookDrugs = TRUE;
// Flugente: dynamic opinion
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ADDICT, TRUE, FALSE );
if (gGameExternalOptions.fDynamicOpinions)
{
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ADDICT, TRUE, FALSE);
}
if ( fBar )
{
@@ -645,7 +648,10 @@ void HourlyDisabilityUpdate( )
pSoldier->bBleeding = oldbleeding;
// Flugente: dynamic opinions
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
if (gGameExternalOptions.fDynamicOpinions)
{
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
}
// say something (which might also alert the player to what we just did)
TacticalCharacterDialogue( pSoldier, QUOTE_PERSONALITY_TRAIT );
@@ -820,7 +826,10 @@ void HourlyStealUpdate()
}
// Flugente: dynamic opinion
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_THIEF, TRUE, FALSE );
if (gGameExternalOptions.fDynamicOpinions)
{
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_THIEF, TRUE, FALSE);
}
}
}
}
+4 -1
View File
@@ -601,7 +601,10 @@ void MercDailyUpdate()
HandleSnitchCheck();
// Flugente: dynmaic opinion rollover
HandleDynamicOpinionsDailyRefresh( );
if (gGameExternalOptions.fDynamicOpinions)
{
HandleDynamicOpinionsDailyRefresh();
}
// Flugente: disease
HandleDiseaseDailyRefresh();
+1 -1
View File
@@ -2178,7 +2178,7 @@ void HandleLoyaltyImplicationsOfMercRetreat( INT8 bRetreatCode, INT16 sSectorX,
// Flugente: dynamic opinion: mercs retreated. Someone has to be blamed for this shameful defeat!
// only do this if the enemy actually noticed us - no need to punish the player for a successful stealth operation
if ( gTacticalStatus.Team[ENEMY_TEAM].bAwareOfOpposition )
if (gGameExternalOptions.fDynamicOpinions && gTacticalStatus.Team[ENEMY_TEAM].bAwareOfOpposition )
{
HandleDynamicOpinionRetreat();
}