From 7f5a06bb931b419442ff9752dac3ca1efe935e0a Mon Sep 17 00:00:00 2001 From: Sevenfm Date: Sat, 28 Aug 2021 21:09:51 +0000 Subject: [PATCH] Fix the 'between' operator as well as 'greater than' and 'less than' comparisons for LOBOT filters (by Asdow). git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9159 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/LogicalBodyTypes/Filter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tactical/LogicalBodyTypes/Filter.cpp b/Tactical/LogicalBodyTypes/Filter.cpp index 5e5ce4e3..1c303a03 100644 --- a/Tactical/LogicalBodyTypes/Filter.cpp +++ b/Tactical/LogicalBodyTypes/Filter.cpp @@ -230,9 +230,9 @@ bool Filter::Match(SOLDIERTYPE* pSoldier) { } else if (r & _TYPE_PAIR) { NumberPair* nl = ii->second.numberPair; // TODO: resolve compiler warning about usigned/signed and the comparison ops?!? - sgn = (nl->second > cmp_val) ? -1 : (nl->first < cmp_val) ? 1 : 0; + sgn = (nl->second < cmp_val) ? -1 : (nl->first > cmp_val) ? 1 : 0; } else { - sgn = (ii->second.number > cmp_val) ? -1 : (ii->second.number < cmp_val) ? 1 : 0; + sgn = (ii->second.number < cmp_val) ? -1 : (ii->second.number > cmp_val) ? 1 : 0; } } else if (r & _TYPE_STRING) { // string comparison is quite costly at the moment. should be avoided or reimplemented.