N
m (→‎force field drone (16): made corrections)
Line 210: Line 210:
   
 
=== force field drone (16) ===
 
=== force field drone (16) ===
The [[List of NReality Mods#Force Field Drone|force field drone]] can be modified in the standard way, but its properties can also be modified by adding '''^''detectRadius'',''forcePower'',''forceDelayTimer'',''forceMaxCount'',''forceMaxCountDelay''''' after each drone's code. You can omit any of these that you do not wish to change.
+
Most of the properties of the [[List of NReality Mods#Force Field Drone|force field drone]] cannot be modified in the standard way, but they can be modified by adding '''^''detectRadius'',''forcePower'',''forceDelayTimer'',''forceMaxCount'',''forceMaxCountDelay''''' after each drone's code. You can omit any of these that you do not wish to change.
   
 
'''detectRadius'''<br />
 
'''detectRadius'''<br />
Line 221: Line 221:
 
default = 3; controls the number of consecutive shots the drone can fire before recharging for a longer time<br />
 
default = 3; controls the number of consecutive shots the drone can fire before recharging for a longer time<br />
 
'''forceMaxCountDelay'''<br />
 
'''forceMaxCountDelay'''<br />
default = 200; controls the time spent recharging after forceMaxCount is reached<br />
+
default = 200; controls the time spent recharging after forceMaxCount is reached
  +
  +
These properties can be modified in the standard way:
 
'''speed'''<br />
 
'''speed'''<br />
  +
default = 1;<br />
'''r'''
+
'''r'''<br />
  +
default = 9;
   
 
=== Additional properties ===
 
=== Additional properties ===

Revision as of 16:53, 12 July 2008

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. New such uses should be posted there, not on this page.

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: does not appear to affect any drones; use 0, 1, and 2 instead)
10: oneway platform
11: thwump
12: door
13: rocket launcher
14: exit
15: mine


The force field drone does not have an assigned number, but it can be assigned properties by adding text after the code for each drone.

Glitched drones cannot be modified because the game does not recognize them as any of the three modifiable types of drones.


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
default = 1

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
alwaysMove
default = 0; if set to anything else, the laser drone will move as it fires and rotates.

Also, adding ^1,2,3,4,5 to the end of the code for a rotating laser drone will set the starting angle (1), rotation speed (2), the laser length (3), whether or not the laser moves (4), and its speed (5). This will override global modifications of these same attributes.

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 = 5.1428568

thwump (11)

(some apparently useless settings omitted)
xw
default = 9; controls thwump's width
yw
default = 9; controls thwump's height
fallspeed
default = 4.2857148; controls thwump's forward speed
raisespeed
default = 1.7142852; controls thwump's backward speed
speed
duplicate of fallspeed

door (12)

doorsize
default = 10; apparently useless
r
default = ~10; apparently useless
maxtimer
default = 5; controls how long the normal doors stay open after the ninja passes through

rocket launcher (13)

speed
default = 0; usage unknown
maxspeed
default = 3.4285716; controls the rocket's maximum speed
startaccel
default = 0.1; controls the rocket's acceleration for the first frame after it is created
curaccel
duplicate of startaccel
accelrate
default = 1.1; controls the rocket's acceleration
turnrate
default = 0.1; controls how far the rocket turns in one frame- at high values, it tends to turn too far and actually becomes less accurate
isHoming
default = false; usage unknown
prefireDelay
default = 10; controls how long the turret waits before firing a rocket, but has no effect on lagtime
fireDelayTimer
default = 0; usage unknown

exit (14)

r
default = 12; does not affect the exit switch

mine (15)

r
default = ~4

force field drone (16)

Most of the properties of the force field drone cannot be modified in the standard way, but they can be modified by adding ^detectRadius,forcePower,forceDelayTimer,forceMaxCount,forceMaxCountDelay after each drone's code. You can omit any of these that you do not wish to change.

detectRadius
default = 100; controls the distance at which the drone starts firing
forcePower
default = 4; controls the force at which the ninja is pushed away from the drone (note: the ninja's velocity is reset when the drone fires, like when he hits a launchpad)
forceDelayTimer
default = 10; controls the length of the drone's cooldown time (the drone keeps moving during this time, unlike other drones)
forceMaxCount
default = 3; controls the number of consecutive shots the drone can fire before recharging for a longer time
forceMaxCountDelay
default = 200; controls the time spent recharging after forceMaxCount is reached

These properties can be modified in the standard way: speed
default = 1;
r
default = 9;

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.

_color can be used to make an object any color by:

  1. Finding the red, green, and blue values of the target color
  2. Setting _color to 0.redValue.0.greenValue.0.blueValue.100.0

Note: this removes all texture from the object.

N+ drones

Drones from N+ can be created by modifying a part of the standard code for a drone (6^x,y,path,specialType,droneType,direction). x and y control the drone's coordinates, path controls the drone's pathfinding algorithm, specialType indicates whether or not the drone is the standard drone of its type (e.g., whether it is a seeker drone rather than a regular drone), droneType controls the type of drone, and direction controls the drone's direction.

Rotating Laser Drone

To create a rotating laser drone, replace the fourth attribute of a normal laser drone (specialType) with 1. The code for a rotating laser drone should look like 6^x,y,path,1,1,direction.

See the laser drone section above for information about modifications for the rotating laser drone.

Force Field Drone

To create a force field drone, replace the second-to-last attribute of any drone (droneType) with 16. The code for a force field drone should look like 6^x,y,path,0,16,direction.

See the force field drone section above for more information about modifications for the force field drone.


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
default = 10
maxspeedAir
default = 0.5; controls the maximum speed the ninja can accelerate up to in the air (the ninja can go faster if he is propelled by something else, though)
maxspeedGround
default = 0.5; controls the maximum speed the ninja can accelerate up to on the ground
groundAccel
default = 0.15; controls the ninja's acceleration on the ground
airAccel
default = 0.1; controls the ninja's aerial acceleration
g
default = 0.15; controls gravity until the first time the ninja jumps
d
default = 0.99; controls air resistance until the first time the ninja jumps
normGrav
default = 0.15; controls gravity after the ninja has jumped
normDrag
default = 0.99; controls air resistance after the ninja has jumped
jumpGrav
default = 0.025; controls gravity for a short time after the jump button is pressed for as long as it it held
max_jump_time
default = 30; controls the maximum amount of time that jump gravity can apply to the ninja
winDrag
default = 0.8; usage unknown
wallFriction
default = 0.13; controls the friction the ninja experiences while wallsliding
skidFriction
default = 0.92; controls the friction the ninja experiences while sliding to a stop (note: higher values mean less friction, and values above 1 cause the ninja to speed up)
standFriction
default = 0.8; controls the friction the ninja experiences as he stops sliding entirely
jumpAmt
default = 1; controls the strength with which the ninja pushes off from the floor/slopes/walls
jump_y_bias
default = 2; controls the upwards motion (downwards if negative) the ninja experiences regardless of where he jumps from
terminal_vel
default = 0.9; controls the speed at which hitting the ground becomes deadly