From 4823ef49297040257fb5a9bdcc6f2a05d2b22520 Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Thu, 6 Mar 2025 17:38:52 +0200 Subject: [PATCH] Add check for vest position attachments --- Tactical/LogicalBodyTypes/Filter.cpp | 12 ++++++++++++ Tactical/LogicalBodyTypes/Filter.h | 4 ++++ Tactical/LogicalBodyTypes/FilterDB.cpp | 8 ++++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Tactical/LogicalBodyTypes/Filter.cpp b/Tactical/LogicalBodyTypes/Filter.cpp index d0a60a9e..3d666cbf 100644 --- a/Tactical/LogicalBodyTypes/Filter.cpp +++ b/Tactical/LogicalBodyTypes/Filter.cpp @@ -258,6 +258,18 @@ bool Filter::Match(SOLDIERTYPE* pSoldier) { case REQ_LEGPOSATTACHMENT3: cmp_val = CompareAttachment(pSoldier, LEGPOS, 3); break; + case REQ_VESTPOSATTACHMENT0: + cmp_val = CompareAttachment( pSoldier, VESTPOS, 0 ); + break; + case REQ_VESTPOSATTACHMENT1: + cmp_val = CompareAttachment( pSoldier, VESTPOS, 1 ); + break; + case REQ_VESTPOSATTACHMENT2: + cmp_val = CompareAttachment( pSoldier, VESTPOS, 2 ); + break; + case REQ_VESTPOSATTACHMENT3: + cmp_val = CompareAttachment( pSoldier, VESTPOS, 3 ); + break; default: if (q < NUM_REQTYPESINV) { cmp_val = pSoldier->inv[q].usItem; diff --git a/Tactical/LogicalBodyTypes/Filter.h b/Tactical/LogicalBodyTypes/Filter.h index b8a865d2..cbc896bb 100644 --- a/Tactical/LogicalBodyTypes/Filter.h +++ b/Tactical/LogicalBodyTypes/Filter.h @@ -75,6 +75,10 @@ public: REQ_LEGPOSATTACHMENT1, REQ_LEGPOSATTACHMENT2, REQ_LEGPOSATTACHMENT3, + REQ_VESTPOSATTACHMENT0, + REQ_VESTPOSATTACHMENT1, + REQ_VESTPOSATTACHMENT2, + REQ_VESTPOSATTACHMENT3, NUM_REQTYPES, // 3rd byte is for operator flags _REQ_BTWN = 0x20000, diff --git a/Tactical/LogicalBodyTypes/FilterDB.cpp b/Tactical/LogicalBodyTypes/FilterDB.cpp index 747d19f1..b5f23d73 100644 --- a/Tactical/LogicalBodyTypes/FilterDB.cpp +++ b/Tactical/LogicalBodyTypes/FilterDB.cpp @@ -270,7 +270,7 @@ namespace LogicalBodyTypes { /***************************************** Filter enum criterion types ******************************************/ - LOGBT_ENUMDB_ADD("IntegerFilterCriterionTypes", 43, + LOGBT_ENUMDB_ADD("IntegerFilterCriterionTypes", 47, Filter::REQ_HELMETPOS, Filter::REQ_VESTPOS, Filter::REQ_LEGPOS, @@ -313,7 +313,11 @@ namespace LogicalBodyTypes { Filter::REQ_LEGPOSATTACHMENT0, Filter::REQ_LEGPOSATTACHMENT1, Filter::REQ_LEGPOSATTACHMENT2, - Filter::REQ_LEGPOSATTACHMENT3 + Filter::REQ_LEGPOSATTACHMENT3, + Filter::REQ_VESTPOSATTACHMENT0, + Filter::REQ_VESTPOSATTACHMENT1, + Filter::REQ_VESTPOSATTACHMENT2, + Filter::REQ_VESTPOSATTACHMENT3 ); /*****************************************