GameMaker Touhou Engine   Home   Downloads   Documentation


An object that follows the actions of the head of the curvy lasers with a delay, serving to make calculations easier.


Name Type Significance
_HEAD Reference to Object The reference to the instance of _CURVY_LASER_HEAD_PARENT tied to this object.
_ACCEL_AMOUNT Float The object's acceleration.
_MAX_SPEED Integer The maximum/minimum speed the object is allowed to move at. (signifies maximum speed if accelerating, minimum otherwise)
_LOOKAHEAD_RADIUS Integer The distance from the tail to the second control point (see the illustration provided with _CURVY_LASER_HEAD_PARENT).
_BEHAVIORS Integer Array The special actions this object is designated to perform, in order. Typically set whenever a behavior is set for the head.
_BEHAVIOR_ARGS Matrix Special modifiers related to each behavior the object is set to perform. The first two spots are reserved for the behavior timer and repetition count.
_CURR_BEHAVIOR Non-negative Integer The index in the behavior array pointing to the next behavior it's set to perform.
_BEHAVIOR_TERMINATE Boolean If true, the object will stop performing behaviors after it's reached the last one set for it. Otherwise, it will repeat them in order.
_BEHAVIOR_REPEAT Non-negative Integer How many times the object should perform the current behavior. (1 or 0 indicates only once)
_CURVATURE Integer The current curving rate of the object, expressed in sweeping angle per step.
_DEVIATION Integer The amount that the object has curved since it last started curving.
_MAX_DEVIATION Integer The current maximum angle difference that the object can achieve while curving.
_NSPD Integer The speed at which this object will start moving at when it first starts moving.


Trigger # Actions
Create 1 Declare local variables.
Alarm 10 1 Begin moving at the designated speed.
Alarm 11 1 Perform the next indicated behavior or repeat the last one if needed. Note that curvy lasers can only perform the following behaviors: _CURVE, _SET_SPEED, _SET_ACCEL, _ADD_BEHAVIORS, _CHANGE_SPRITE and _CLEAR_BEHAVIOR.
Step 1 Update speed and direction according to locals.