BoxSync
BoxSync makes several normally non-solid JJ2 objects behave as solid, pushable objects and synchronizes their movement between players.
It supports the crate/box-style objects used by the script, including crates, Big Boxes, Big Rocks, monitors, shields, morph objects and weapon powerups.
By default the feature is enabled in Single Player and Coop. If desired, this can be changed in BoxSync.asc by setting:
bool ONLY_COOP_MODES = false;
Pushing and multiplayer synchronization
Players can push supported objects from either side. Objects stop at level walls, fall when there is no floor beneath them, and cannot be pushed through another player standing on the opposite side.
In multiplayer, the active pusher sends the object's movement while the server keeps idle positions synchronized. Newly joining clients also receive the current object positions so that already-moved boxes do not suddenly appear back at their original locations.
Using the pack
For normal use, load:
BoxSync.mut
The mutator uses BoxSync.asc, so both files must remain together.
BoxSync.asc is also provided separately for level/script authors who prefer to integrate the BoxSync hooks into their own AngelScript instead of loading the mutator.