Mods for NReality take the form of a string added to the end of the standard map data. When the map is loaded, the string disappears and the modifications are applied. The string is formatted like this:
Player 03 has created a list of applications for NReality mods which can be found here.
Each of these slots will accept a link to an online image. The first image will be displayed in the background, and the second will be displayed in front of everything in the level.
The foreground image can also be made into a color filter, as described here. To do this, add ?# to the end of the image URL, where # is a number between 1 and 14.
Any text in this slot will appear as a map's category when the map is displayed in the userlevels menu.
This slot allows modifications to any type of object, though modifications to the ninja should be done in the playerMod slot. Modifications are applied to every object of the selected type, not to individual objects.
The modifications are formatted like this: objectNumber,property,modification;, and any number of them can be strung together.
objectNumber indicates the type of object and must be a number between 0 and 15.
property indicates the property of the object to be modified.
modification indicates the new value of the property, and it must be a number.
The objects indicated by each number are these:
0: zap drone, seeker drone
1: laser drone
2: chaingun drone
6: gauss turret
9: drone (note: may conflict with modifications made to 0, 1, and 2)
10: oneway platform
13: rocket launcher
Here are the parameters that can be set for each type of object:
(Note: not all parameters have an effect on gameplay.)
zap drone, seeker drone (0):
default = 6
laser drone (1):
default = 6
default = 30; determines the amount of time the drone will spend charging
default = 40; determines how long the drone will pause after firing
default = 80; determines how long the drone will fire
laserLen default = 7; usage unknown
rotating laser drone (1):
default = 0; controls the angle at which it starts
default = 0.5; controls the speed and direction of rotation
no default value; if set, the laser will always be a fixed number of pixels long and can go through walls
chaingun drone (2):
default = 6 speed
default = 35; determines the amount of time the drone will spend charging
default = 60; determines how long the drone will pause after firing
default = 8; usage unknown
default = 6; usage unknown
default = 0.3; usage unknown
default = 6
default = 0.05; controls the speed at which the block bounces back- very high or very low values may prevent it from doing so
default = 0.2; controls the amount of force the block applies against the ninja- negative values make it propel the ninja forward
default = 40; determines how close the block has to come to its start position before it stops moving- low values make it stop sooner
default = 0; usage unknown
default = 5.1428568; controls launchpad strength
gauss turret (6):
oneway platform (10):
(some apparently useless settings omitted)
rocket launcher (13):
There are also some properties relating to an object's display that can be applied to anything. Note that these will not affect gameplay, though.
_xscale controls an object's width. The input is a number of pixels, so setting this to 20 would make the object appear to be 20 pixels wide.
_yscale is the same as _xscale, except it applies to height.
_alpha controls an objects transparency, and can be anything from 0 to 100.
_color controls an object's color, and can modify red, green, and blue values for the object.
It can be set to a value in the format red%.redMod.green%.greenMod.blue%.blueMod.transparent%.transparentMod. The "%" values multiply that channel by the given percent (e.g., if blue% was 50, the object's blue hues would be half as intense). The "Mod" values add the given amount to that channel.
The syntax for this slot is much like the syntax for the objectMod slot, except without the identifier number: property,modification;. Again, any number of these can be strung together.
Here is a list of all modifiable properties:
Rotating Laser Drone
A rotating laser drone cannot be created through the standard method of modding. Instead, it must be made by modifying a laser drone's code. The standard code for a laser drone is 6^x,y,path,0,1,direction. To create a rotating laser drone, replace the fourth attribute with 1. This will not interfere with the code for standard laser drones, as that property was only used for zap/seeker drones.
See the objectMod section for information about modifications for the rotating laser drone.