From 32e4da8c2cf020527592b151d97fdb3f24678b1d Mon Sep 17 00:00:00 2001
From: Arkerthan <arkerthan@gmail.com>
Date: Wed, 18 Dec 2019 22:11:56 +0100
Subject: [PATCH] testGenetics can now handle layered objects

---
 src/pregmod/testGenetics.tw | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/pregmod/testGenetics.tw b/src/pregmod/testGenetics.tw
index aa29f07550c..ab0014a094f 100644
--- a/src/pregmod/testGenetics.tw
+++ b/src/pregmod/testGenetics.tw
@@ -24,7 +24,17 @@ All slave array slaves MUST be present in genePool or else there is a malfunctio
 	<<set _error = $genePool.every(function(g) { return $slaves[_i].ID !== g.ID; })>>
 	<<if _error>><<set _errorCause = "Doesn't exist in the gene pool">><</if>>
 	<<if !_error>>
-		<<set _missingProperties = _neededProperties.filter(function(p) { return !(p in _s);})>>
+		<<set _missingProperties = _neededProperties.filter(function(p) {
+			p = p.split(".");
+			let c = _s;
+			for (const r of p) {
+				if (!(r in c)) {
+					return true;
+				}
+				c = c[r];
+			}
+			return false;
+		})>>
 		<<if _missingProperties.length > 0>>
 			<<set _error = true, _errorCause = "Missing properties: " + _missingProperties.join(", ")>>
 		<</if>>
-- 
GitLab