Add ability to match against leg armor attachments (#96)

This commit is contained in:
Asdow
2023-01-19 14:16:03 +02:00
committed by GitHub
parent e62fa859ff
commit 57fcdaf4fe
3 changed files with 22 additions and 2 deletions
+12
View File
@@ -237,6 +237,18 @@ bool Filter::Match(SOLDIERTYPE* pSoldier) {
case REQ_HELMETPOSATTACHMENT3:
cmp_val = CompareAttachment(pSoldier, HELMETPOS, 3);
break;
case REQ_LEGPOSATTACHMENT0:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 0);
break;
case REQ_LEGPOSATTACHMENT1:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 1);
break;
case REQ_LEGPOSATTACHMENT2:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 2);
break;
case REQ_LEGPOSATTACHMENT3:
cmp_val = CompareAttachment(pSoldier, LEGPOS, 3);
break;
default:
if (q < NUM_REQTYPESINV) {
cmp_val = pSoldier->inv[q].usItem;
+4
View File
@@ -68,6 +68,10 @@ public:
REQ_HELMETPOSATTACHMENT1,
REQ_HELMETPOSATTACHMENT2,
REQ_HELMETPOSATTACHMENT3,
REQ_LEGPOSATTACHMENT0,
REQ_LEGPOSATTACHMENT1,
REQ_LEGPOSATTACHMENT2,
REQ_LEGPOSATTACHMENT3,
NUM_REQTYPES,
// 3rd byte is for operator flags
_REQ_BTWN = 0x20000,
+6 -2
View File
@@ -270,7 +270,7 @@ namespace LogicalBodyTypes {
/*****************************************
Filter enum criterion types
******************************************/
LOGBT_ENUMDB_ADD("IntegerFilterCriterionTypes", 37,
LOGBT_ENUMDB_ADD("IntegerFilterCriterionTypes", 41,
Filter::REQ_HELMETPOS,
Filter::REQ_VESTPOS,
Filter::REQ_LEGPOS,
@@ -307,7 +307,11 @@ namespace LogicalBodyTypes {
Filter::REQ_HELMETPOSATTACHMENT0,
Filter::REQ_HELMETPOSATTACHMENT1,
Filter::REQ_HELMETPOSATTACHMENT2,
Filter::REQ_HELMETPOSATTACHMENT3
Filter::REQ_HELMETPOSATTACHMENT3,
Filter::REQ_LEGPOSATTACHMENT0,
Filter::REQ_LEGPOSATTACHMENT1,
Filter::REQ_LEGPOSATTACHMENT2,
Filter::REQ_LEGPOSATTACHMENT3
);
/*****************************************