From 484f8572ca4ac77d579c383ce1f33bcf291cc342 Mon Sep 17 00:00:00 2001 From: Flugente Date: Mon, 15 Sep 2014 21:37:58 +0000 Subject: [PATCH] Merged revision(s) 7521 from branches/ja2_source_official_2014: Fix: Kingpin's assassins do not attack git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7522 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Soldier Control.cpp | 2 +- Tactical/Soldier Control.h | 2 +- Tactical/opplist.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index 32d4bb227..34180ee3d 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -15806,7 +15806,7 @@ BOOLEAN SOLDIERTYPE::SeemsLegit( UINT8 ubObserverID ) // even as a soldier, we will be caught around fresh corpses // assassins will not be uncovered around corpses, as the AI cannot willingly evade them... one could 'ward' against assassins by surrounding yourself with fresh corpses - if ( distance < gSkillTraitValues.sCOCloseDetectionRangeSoldierCorpse && !(this->usSoldierFlagMask & SOLDIER_ASSASSIN) ) + if ( distance < gSkillTraitValues.sCOCloseDetectionRangeSoldierCorpse && !this->IsAssassin() ) { // check wether we are around a fresh corpse - this will make us much more suspicious // I deem this necessary, to avoid cheap exploits by nefarious players :-) diff --git a/Tactical/Soldier Control.h b/Tactical/Soldier Control.h index 17b12aee5..4dab51b94 100644 --- a/Tactical/Soldier Control.h +++ b/Tactical/Soldier Control.h @@ -368,7 +368,7 @@ enum #define SOLDIER_DAMAGED_PANTS 0x00000100 //256 // Soldier's vest is damaged (and thus can't be taken off) #define SOLDIER_HEADSHOT 0x00000200 //512 // last hit received was a headshot (attack to the head, so knifes/punches also work) #define SOLDIER_POW 0x00000400 //1024 // we are a prisoner of war -#define SOLDIER_ASSASSIN 0x00000800 //2048 // we are an enemy assassin, and thus we will behave very different from normal enemies +#define SOLDIER_ASSASSIN 0x00000800 //2048 // we are an enemy assassin, and thus we will behave very different from normal enemies (not set on Kingpin's assassins intentionally) #define SOLDIER_POW_PRISON 0x00001000 //4096 // this guy is a prisoner of war in a prison sector. SOLDIER_POW refers to people we capture, this refers to people we hold captive #define SOLDIER_EQUIPMENT_DROPPED 0x00002000 //8192 // under certain circumstances, militia can be ordered to drop their gear twice. Thus we set a marker to avoid that. diff --git a/Tactical/opplist.cpp b/Tactical/opplist.cpp index 85f85d445..75601a240 100644 --- a/Tactical/opplist.cpp +++ b/Tactical/opplist.cpp @@ -2545,7 +2545,7 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo, { // ... check wether he is not neutral against us (account for the fact that we might be covert!) // if we are an NPC assassin - if ( pSoldier->usSoldierFlagMask & SOLDIER_ASSASSIN && pSoldier->usSoldierFlagMask & (SOLDIER_COVERT_CIV|SOLDIER_COVERT_SOLDIER) ) + if ( pSoldier->IsAssassin() && pSoldier->usSoldierFlagMask & (SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER) ) { // check wether our opponent would see us as an opponent if we weren't covert if ( !( (pSoldier->aiData.bNeutral || pSoldier->usSoldierFlagMask & SOLDIER_POW) && ( pOpponent->bTeam != CREATURE_TEAM || pOpponent->flags.uiStatusFlags & SOLDIER_VEHICLE ) ) )