Yeah, Felicia's Cat Ride uses sysvar(0) to store the position when not in the standard states that use it.
[State -2, Cat Ride Pos]
type = VarSet
trigger1 = Enemy, AuthorName = "Jesuszilla"
trigger1 = Enemy, Name = "Felicia" || Enemy, Name = "Felicia_LG"
trigger1 = StateNo != 132 && StateNo != 155 ; Air guard
trigger1 = StateNo != [5000,5999] ; Gethits
sysvar(0) = (7 & 65535) | (-65 * 65536)
; x y
; Range for Pos X and Pos Y is [-32768,32767] (INT16)
; Pos XもPos Yの範囲は[-32768,32767]です。 (INT16)
We totally need to make better use of the sysvars, especially within helpers which get their own. That's the entire basis for Vans's reflector code.
Other good candidates:
data.sparkno: Returns value of the "sparkno" parameter. (int)
data.guard.sparkno: Returns value of the "guard.sparkno" parameter. (int)
I also think a lot of the float parameters added in 1.0 are kinda not needed, too, such as movement.down.bounce.offset.x and movement.down.bounce.offset.y. Of course common1 would need to be modified to get rid of a lot of these.
I'd also like to remind y'all that helpers can also get their own set of constants. Of particular interest are the following:
pos = off_x, off_y (int)
Specifies the x and y offsets to create this helper at. The precise meaning of these parameters is dependent on the postype. Defaults to 0,0.
These parameters have the same meaning as the corresponding parameters in the root's CNS file. You can specify one or more of these parameters to change it to a value suitable for this helper. Otherwise, they default to the values inherited from the parent.
pos is the only one that requires special processing, as it would need to be calculated at time = 0 and stored in its own variable, not making it too particularly useful. However, the head.pos and mid.pos values can be used just as well for the same purposes. Of course with helpers we won't need to standardize as much since we can make them do whatever we want for the helper's purposes.