The TODO comment aboves gives some hint that the EMEDF_TESTS dict should contain a 'negate' key - I'm assuming keyed with the negated test's node.id and valued with the corresponding instruction (ie, if node.id is 'PlayerHasWeapon' and negate is true, then do tests = tests['negate'] which returns {'if': 'IfPlayerDoesNotHaveWeapon'}). If the 'negate' key doesn't exist, throw NoNegateError which would then be resolved with a temporary condition by the caller here (ie, if node.id is 'PlayerInCovenant' and negate is true, then throw NoNegateError since there's no corresponding negated instruction).
Is my understanding correct and am I missing something? This is a feature that was working before so it'd be helpful to have working again. I'll try the above approach and report back the results
See relevant line in evs.py
The TODO comment aboves gives some hint that the
EMEDF_TESTS
dict should contain a 'negate' key - I'm assuming keyed with the negated test'snode.id
and valued with the corresponding instruction (ie, ifnode.id
is 'PlayerHasWeapon' andnegate
is true, then dotests = tests['negate']
which returns{'if': 'IfPlayerDoesNotHaveWeapon'}
). If the 'negate' key doesn't exist, throwNoNegateError
which would then be resolved with a temporary condition by the caller here (ie, ifnode.id
is 'PlayerInCovenant' andnegate
is true, then throwNoNegateError
since there's no corresponding negated instruction).Is my understanding correct and am I missing something? This is a feature that was working before so it'd be helpful to have working again. I'll try the above approach and report back the results