You're right, but Jesus. This is not how a setter should behave. The way the setter is defined, this simple statement:
globals.state.condition += 30
is equivalent to add to the current condition not just 30, but (30 + condition). I.e. the condition is doubled and then increased by 30. :|