Fix: Requirements opinionevents OPINIONEVENT_CIVKILLER and OPINIONEVENT_CIV_ATTACKER were different, leading to situations were mercs complained about harming civilians, but not about killling them

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8803 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2020-05-17 14:20:17 +00:00
parent 952408b961
commit 4dc40912e4
+6 -10
View File
@@ -2193,8 +2193,11 @@ void HandleDynamicOpinionChange( SOLDIERTYPE* pSoldier, UINT8 usEvent, BOOLEAN f
break;
case OPINIONEVENT_CIVKILLER:
// only continue if this is a good guy
if ( !(gMercProfiles[pTeamSoldier->ubProfile].ubMiscFlags3 & PROFILE_MISC_FLAG3_GOODGUY) )
case OPINIONEVENT_CIV_ATTACKER:
// only continue if this is a good guy, not malicious and not a psacho
if ( !(gMercProfiles[pTeamSoldier->ubProfile].ubMiscFlags3 & PROFILE_MISC_FLAG3_GOODGUY)
|| DoesMercHavePersonality( pTeamSoldier, CHAR_TRAIT_MALICIOUS ) ||
DoesMercHaveDisability( pTeamSoldier, PSYCHO ) )
continue;
break;
@@ -2324,14 +2327,7 @@ void HandleDynamicOpinionChange( SOLDIERTYPE* pSoldier, UINT8 usEvent, BOOLEAN f
DoesMercHavePersonality( pTeamSoldier, CHAR_TRAIT_PACIFIST ) ) )
continue;
break;
case OPINIONEVENT_CIV_ATTACKER:
// psychos or malicious characters dont care
if ( DoesMercHavePersonality( pTeamSoldier, CHAR_TRAIT_MALICIOUS ) ||
DoesMercHaveDisability( pTeamSoldier, PSYCHO ) )
continue;
break;
default:
// either unknown event, or event is handled elsewhere - exit
return;