[Content Patcher] add negative conditions
Pathoschild opened this issue ยท 4 comments
Content Patcher 1.3 added conditions with the When
field. Extend that to support negative conditions with WhenNot
:
// any day in summer except the 11th
"When": {
"Season": "Summer"
},
"WhenNot": {
"Day": 11
}
Your idea could cause problems if someone tried to set both a positive and negative condition for the same condition type. For example:
"When": {
"Season": "Summer"
},
"WhenNot": {
"Season": "Summer"
}
Another idea is to mark a condition as negative if it starts with !
. For example:
"When": {
"Season": "!Summer, Winter",
"Day": "!11, 24"
}
Which means when it isn't the 11th or 24th of summer or winter.
Contradictory conditions would work fine (insofar as they'll correctly never apply). Supporting negation within the condition could work too (though of course they could do "Season": "Summer, !Summer"
too).
(I think a !
flipping all values would be confusing though. If it's inside the condition list, it would only be for the condition it's in front of.)
Per discussion on Discord, the preferred format is:
"When": {
"Season": "Summer",
"Not:Day": "11"
}