diff --git a/Strategic/Auto Resolve.cpp b/Strategic/Auto Resolve.cpp index ce308e1fc..449a7ba94 100644 --- a/Strategic/Auto Resolve.cpp +++ b/Strategic/Auto Resolve.cpp @@ -4709,8 +4709,9 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget ) { gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsOthers++; - // Flugente: dynamic opinions - HandleDynamicOpinionChange( pAttacker->pSoldier, OPINIONEVENT_CIVKILLER, TRUE, TRUE ); + // Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians + if ( pTarget->pSoldier->aiData.bNeutral || pTarget->pSoldier->bSide == pAttacker->pSoldier->bSide ) + HandleDynamicOpinionChange( pAttacker->pSoldier, OPINIONEVENT_CIVKILLER, TRUE, TRUE ); } break; } diff --git a/Tactical/Soldier Ani.cpp b/Tactical/Soldier Ani.cpp index dbc0e37ea..af22c58f1 100644 --- a/Tactical/Soldier Ani.cpp +++ b/Tactical/Soldier Ani.cpp @@ -3943,8 +3943,9 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse ) { gMercProfiles[ MercPtrs[ ubAttacker ]->ubProfile ].records.usKillsOthers++; - // Flugente: dynamic opinions - HandleDynamicOpinionChange( MercPtrs[ubAttacker], OPINIONEVENT_CIVKILLER, TRUE, TRUE ); + // Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians + if ( pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide ) + HandleDynamicOpinionChange( MercPtrs[ubAttacker], OPINIONEVENT_CIVKILLER, TRUE, TRUE ); } break; }