Features 
* shoot multiple targets to have 1 mover pass to its next keyframe 
* on each keyframe other than 0, the player has an amount of time to hit the next target and make the mover pass to the next key 
* if the user doesn't hit the next target in time, the mover immediately moves to key 0 
* optionally, the mover can return by its previous keyframes 
* if a player fails to go to the next key, a fail event can be triggered for that key 
* the mover can become a loopmover 


Properties 
* Targets here are triggers in general, but I used triggers in my idea. This can be used as any mover. 
* All the triggers that are used should have different events, and they can all be set in the mover properties (as tags) 
* Optionally, the mover can trigger events at the end of each key 
* Up to 20 tags/events/keys/fail-events can be set 
* Mover can return immediately or by its previous keyframes 
* It can automatically move through all the keyframes, optionally looped 

Settings 
* AttachTags is a list where you can enter up to 20 different tags of Actors that should move relatively to where the mover goes. 
Important: if you have CollideWorld set to True in the actor properties, the actors can be blocked and their relative position may change because of it! 
* bAutomate makes the mover move through all keys automatically when triggered 
* bLoop makes the mover loop. Read the explanation below to get a full loopmover 
* In events you can set the events that should be triggered if the the mover reaches the specified key 
* In FailEvents you can trigger an event on failure for each key 
* FailWaitTime is the time the mover will wait before returning. Set to 0 to disable 
* FinalOpenTime is the time the mover waits on the very last keyframe before returning to key 0. This is only used when the player has completed the sequence, and overrides any other waiting period. (This is done so all 20 keys can be used, if ever.) 
* ImmediateReturn - allows you to make the mover return either immediately (true), or have it return by the keys that it has passed (false). If set to 'false', MoveTimes and OpenTimes values are used. If set to 'true', ReturnTime is used. 
* MoveTimes contain the times the mover takes to get to the next key 
* OpenTimes contain the times the mover waits on a certain key (except the first and the last). The user has that amount of time to trigger the next trigger for the mover to go to the next key. If player fails, mover will return to key 0. 
* ReturnTime is the time the mover takes to go to key 0 on either failure or completion. Only used when ImmediateReturn is set to true. 
* Tags contain the events for each key of all the triggers. I advice to use different tagnames for each key. This way, the 3rd trigger (for example) cannot activate the mover immediately, but the first triggers must be activated first. 

Making a loopmover 
* The mover becomes a proper loopmover if bAutomate, bImmediateReturn AND bLoop are set to True. 
* bLoop triggers the mover again when it reaches key 0 after it has been triggered. 
* If bAutomate is True, it will move on through all keys until it reaches the last one. Then if bImmediateReturn is True, it will instantly go back to key 0. There, with bLoop set to true, it does the whole process again. If bImmediateReturn is False, the mover will go back to key 0 through all keyframes. Then once again when bLoop is true, it will start again until the map ends. 

If you only have bAutomate to True, again it will move through all keys until the last one. There it depends on bImmediateReturn whether it goes straight back to key 0 or through all the keys again. Once at 0, it is ready to be triggered again because bLoop is False. 

For now there is no option to stop the mover if bLoop is set to true.