Ok so I'm assuming I'm getting the errors because of the different variable types.
I am using the variable "X" as a value for infinite/manual removal.
[h: listCount(ConditionList)]
[foreach(Condition, ConditionList, ", "), code: {
[h: ConditionInfo=json.get(Conditions, Condition)]
[h: json.toVars(ConditionInfo)]
[h: OldTimer=Timer)]
[if(OldTimer=="X"), code: {[NewTimer="X"]};{[NewTimer=OldTimer-1]}]
[if(NewTimer=="X" || NewTimer>=0), CODE: {Yes};{No}]
}]```
This obviously isn't the finished code, and I'm just running it through to get it to work.