Author Topic: [XP] Heretic's Mirror Movement (for Puzzles)  (Read 2278 times)

Offline Heretic86

  • Astral Trancist
  • *****
  • Posts: 776
  • LV: 34
    • View Profile
[XP] Heretic's Mirror Movement (for Puzzles)
« on: April 30, 2015, 02:05:00 AM »
Mirror Movement XP
Authors: Heretic
Version: 1.0
Type: Custom Movement System
Key Term: Custom Movement System


This script will allow you to easily set up Events to Mirror movements of the Player simply by adding a few comments and without complex eventing.

Mirrors that both try to move to the same location will prevent both from being able to move.  Mirrors are able to both move the same direction without interference from each other.  This is VERY useful for puzzles!


  • Add Comments to create a Mirror Event with no Eventing!
  • Allows for Vertical, Horizontal, Opposite and Clone Movement
  • Highly useful for creating Puzzles
  • Superior to Event Solutions because Mirror Events match Perfectly
  • Mirror Events do not move when the Player can not move
  • Mirror Events will not try to both move to the same location at a distance
  • Mirror Events can be next to each other and both mirror movement
  • Behavior of Mirrors is exactly predictable, necessary for puzzles
  • Mirrors can be Limited where they reflect Movement
  • Use mirror_at?(id, x, y) or mirrors_at?([ids],[xs],[ys]) for Puzzle Solution Detection
  • I fell off a cliff one time and died to death,b ut I got better


No screenshots



Place below Modular Passable (Required)
Place below Collision Optimizer (Optional)
Place below Loop Maps (Optional)

(click to show/hide)


Create a Mirror by adding a Comment to the first 10 lines of an Event:
\mirror[N] - Use 0 for Vertical, 1 for Horizontal, 2 for Both, 3 for Clone

Enable a Mirror with either a Script or by adding another Comment:
@>Script: $[11].mirror_enable = true
@>Comment: \mirror_enable


Not compatible with Seven Years of Bad Luck.  Real Life bad luck, not the script...

Credits and Thanks

  • I'd like to thank whoever invented origami as I use it on Junk Mail to make Origami Boulders very frequently.

Author's Notes

Mirrors are intended for Puzzles!

Most Mirror Puzzles involve moving one or more Mirros to a location.  You can check if Mirrors are at a Location with a couple of included scripts for Conditional Branches: mirror_at?(id, x, y).  If you need to check many mirrors, you can use mirrors_at?( [id, id], [x, x, x], [y, y, y]) which does a form of Permutations and allows ANY Mirror to be at ANY Location in the argument arrays.
« Last Edit: April 30, 2015, 04:48:27 AM by Heretic86 »
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)