FANDOM

N
1,288 Pages

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:
|bgImage|fgImage|NRealityMapType|objectMod|playerMod

Player 03 has created a list of applications for NReality mods which can be found here.


bgImage, fgImage

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.

NRealityMapType

Any text in this slot will appear as a map's category when the map is displayed in the userlevels menu.

objectMod

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, rotating laser drone
2: chaingun drone
3: gold
4: bounceblock
5: launchpad
6: gauss turret
7: floorguard
8: ninja
9: drone (note: may conflict with modifications made to 0, 1, and 2)
10: oneway platform
11: thwump
12: door
13: rocket launcher
14: exit
15: mine


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)

r
default = 9
speed


laser drone (1)

r
default = 9
speed
laserPrefireDelay
default = 30; determines the amount of time the drone will spend charging
laserPostfireDelay
default = 40; determines how long the drone will pause after firing
laserRate
default = 80; determines how long the drone will fire
laserLen default = 7; usage unknown

Modifications for the rotating laser drone:
startingAngle
default = 0; controls the angle at which it starts
rotateSpeed
default = 0.5; controls the speed and direction of rotation
fixedLaserLength
no default value; if set, the laser will always be a fixed number of pixels long and can go through walls

chaingun drone (2)

r
default = 9
speed
chaingunPrefireDelay
default = 35; determines the amount of time the drone will spend charging
chaingunPostfireDelay
default = 60; determines how long the drone will pause after firing
chaingunMaxNum
default = 8; usage unknown
chaingunRate
default = 6; usage unknown
chaingunSpread
default = 0.3; usage unknown


gold (3)

r
default = 6


bounceblock (4)

stiff
default = 0.05; controls the speed at which the block bounces back- very high or very low values may prevent it from doing so
mass
default = 0.2; controls the amount of force the block applies against the ninja- negative values make it propel the ninja forward
sleepThreshold
default = 40; determines how close the block has to come to its start position before it stops moving- low values make it stop sooner
sleepTimer
default = 0; usage unknown


launchpad (5)

r
default = 6 strength
default = 5.1428568; controls launchpad strength


gauss turret (6)

closeAimSpeed
default = 0.05; determines how fast the crosshairs move when close to the ninja
midAimSpeed
default = 0.035; determines how fast the crosshairs move when a medium distance away from the ninja
farAimSpeed
default = 0.03; determines how fast the crosshairs move when far away from the ninja
aimSpeed
default = 0.03; usage unknown outerThreshold
default = 9216; determines how far away from the ninja is considered "far" away midThreshold
default = 1764; determines what is considered to be "mid" distance from the ninja innerThreshold
default = 576; determines how close the crosshairs must be to the ninja to be considered "close" shotRate
default = 60; controls the minimum time between shots
shotTimer
default = 0; usage unknown
fireDelayTimer
default = 0; usage unknown
prefireDelay
default = 10; controls the turret's warm-up time
postfireDelay
default = 10; controls the turret's cooldown time


floorguard (7)

r
default = 6
speed
default = 51.428568


thwump (11)

(some apparently useless settings omitted)
xw
yw
fallspeed
raisespeed
speed


door (12)

doorsize
r
maxtimer


rocket launcher (13)

speed
maxspeed
startaccel
curaccel
accelrate
turnrate
isHoming
prefireDelay
fireDelayTimer


exit (14)

r


mine (15)

r


Additional properties

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.

playerMod

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:

r
maxspeedAir
maxspeedGround
groundAccel
airAccel
normGrav
jumpGrav
normDrag
winDrag
wallFriction
skidFriction
standFriction
g
d
jumpAmt
jump_y_bias
max_jump_time
terminal_vel

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.

Community content is available under CC-BY-SA unless otherwise noted.