Open AlchemistCH opened 8 years ago
I'd rather make it work. It should be possible for the mod to know when the identifier of a set is a global variable of one of the four magic names and do something special instead.
Good thought!
One of the more reasonable options may be such a difference between LOCK
and SET
:
LOCK THROTTLE
- locks it to an expression that gets reevaluated every frame.
SET THROTTLE
- locks it to a constant value (current result of expression provided) until the next command sets/locks it to something else
With this, the same dichotomy could be also implemented for raw controls, adding the ability to lock them to an expression.
Locking raw controls is hard because they are suffixes. If we solve the problem of locking setsuffixes theb we'd get it for free with that.
Basically, it's a major pitfall that does nothing else than leaves the user confused. We have
LOCK THROTTLE TO expression.
that controls the throttle and gets evaluated every frame, We haveSET SHIP:CONTROL:PILOTMAINTHROTTLE TO value.
that sets the throttle when it's not locked. But usingSET THROTTLE TO value.
does completely nothing, when the user might have wanted to achieve one of the aforementioned effects. Maybe we need a warning message showing that this is a wrong command and what are the correct options.