ANOMALY

Anomalies are special objects, usually made up of particle effects, that can be placed in the game world. Anomalies have a central visual point, and a definable area of effect inside which objects feel the anomaly’s effect (usually some penalty or damage).

Let's use one of the anomalies as an example, Spg2\Models\Anomalies\EyeOfStorm\anomaly.ano. Anomaly files (*.ano) can be edited with the Notepad++.

ANOMALY FILE [*.ano]

	ModelName:	Spg2\Models\Anomalies\EyeOfStorm\anomaly.asb
	Name:	Eye_of_Storm
	Enable:	1
	Events:	
	{	
	...
	}
	OnScreenEffect:
	{
		ShaderEffectId:	0
		Duration:	20.0
		Color:	1.0	1.0	1.0	0.3
		Texture1:	2
		Texture2:	-1
		Graph:	0
	}
	
ModelName Path to object assembly file (*.asb)
Name Default name set by the Game/World editor when derelict is created
Enable Default Enable flag value set by the Game/World editor when derelict is created (ON/OFF)
Events { } Set of default event scripts set by the World Editor when object is placed
OnScreenEffect Parameters related to on-screen effect shown when inside anomaly effect radius
ShaderEffectId On-screen post effect parameter (while inside anomaly radius)
Duration On-screen post effect parameter (while inside anomaly radius)
Color Post-processing colorize of the on-screen effect (RGBA)
Texture1 On-screen post effect parameter (while inside anomaly radius)
Texture2 On-screen post effect parameter (while inside anomaly radius)
Graph On-screen post effect parameter (while inside anomaly radius)

SCRIPT EVENTS

OnEnable Triggered when the anomaly is enabled/activated. ( anomaly GetParent SetEnabled 1 ; )
OnEnter Triggered when player enters the anomaly’s effect radius.
OnExit Triggered when player exits the anomaly’s effect radius.
OnInside Triggered each second while player is inside the anomaly’s effect radius. Best used sparingly. Using OnPulse event is advised since PulseTime can be adjusted.
OnPulse Triggered each time PulseTime drops to 0.0. Adjust this parameter in the map file where the anomaly is placed.
OnScan Triggered when player scans the anomaly

MAP FILE PARAMETERS

	Anomaly:	
	{	
		ModelId:	6
		Position:	25400.28	-907.00	70934.04
		Rotation:	0.00	0.00	0.00
		KeyName:	ANO_184_0
		Name:	Sensor_scrambler
		Radius:	1000.00
		Enable:	0
		PulseTime:	5.00
		Events:	
		{	
			OnEnable:	Spg2\Scripts\AnomalyOnEnable.sal
			OnScan:	Spg2\Scripts\AnomalyOnScan.sal
			OnEnter:	Spg2\Scripts\AnomalyOnEnter.sal
			OnExit:	Spg2\Scripts\AnomalyOnExit.sal
			OnPulse:	Spg2\Scripts\AnomalyOnPulse.sal
			OnInside:	Spg2\Scripts\AnomalyOnInside.sal
		}	
	}
	
ModelId Specific object model ([ Base\EditorAnomalies.wdt ]) used by this object type instance
Position Object global position
Rotation Object rotation. Irrelevant for particle-based anomalies.
KeyName Object keyname used for accessing via scripts
Name Specific name of this object instance
Radius Radius of the anomaly's area of effect
Enable Initial object state when created in-game (1=ON | 0=OFF)
PulseTime At the end of each PulseTime, the object’s OnPulse script is triggered
Events {} Set of events with linked scripts