From 4dc40912e454bd1adce65fca21f6d0655b81ffa7 Mon Sep 17 00:00:00 2001 From: Flugente Date: Sun, 17 May 2020 14:20:17 +0000 Subject: [PATCH] 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 --- Tactical/DynamicDialogue.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/Tactical/DynamicDialogue.cpp b/Tactical/DynamicDialogue.cpp index 907946b5..18fd8c11 100644 --- a/Tactical/DynamicDialogue.cpp +++ b/Tactical/DynamicDialogue.cpp @@ -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;