ZoneInfos


by: Steven Polge
http://www.epicgames.com/

This section describes the attributes of  ZoneInfos which are relevant to gameplay. Every zone can optionally include a ZoneInfo which specifies special attributes of that zone.  Zones with no ZoneInfo in them use the LevelInfo´s zon attributes.

There are several pre-defined ZoneInfo classes which should be used when possible, including WaterZones, LavaZones, and SlimeZones.   The relevant attributes for these ZoneInfo classes are already properly set.   While any zone can be filled with water simply by setting its bWaterZone attribute to true, the zone will not have all the normal characteristics of WaterZones, such as entry and exit splashes.

Several ZoneInfo attributes affect physics within the zone.  These include ZoneGravity (for which only the Z component is relevant), ZoneGroundFriction (used for walking), ZoneFluidFriction (used for swimming in water zones), ZoneVelocity (constant velocity added to moving actors in this zone), ZoneTerminalVelocity (which specifies the maximum falling velocity), and bWaterZone (which causes the zone to be filled with water if true).  If a zone has a ZoneVelocity, the bMoveProjectiles attribute specifies whether this velocity should be imparted to projectiles and effects.

Zones with bWaterZone true can also specify an EntrySound, an ExitSound, an EntryActor (such as a splash effect), and an ExitActor.

Zones can be set to damage actors that enter them by setting the bPainZone attribute to true, and specifying a DamagePerSec value and a DamageType.  Setting the bDestructive attribute to true will prevent fragments and gibs from hanging around in the zone, while settingthe bNoInventory attribute to true will prevent dropped inventory items from hanging around in the zone.  The actual damage inflicted on a pawn depends on the DamagePerSec value and how much of the pawn is immersed in the zone.  If the DamageType is  SpecialDamage, then the DamageString will be used to describe deaths.

Zones with bKillZone set to true will instantly kill any pawn that enter them.   Pawns will not take damage in zones with bNeutralZone set to true.

The ZonePlayerEvent is triggered whenever a player enters the zone.

The ZoneName (in the LocationStrings section of the ZoneInfo properties)  is used to identify the location of teammates on the scoreboard or when giving orders to bots.   In large zones, a level designer can place LocationID actors in the zone to provide a finer granularity of location descriptions.  The CollisionRadius of the LocationID (in world units) determines the area in which the LocationID´s LocationName will supercede the zone´s ZoneName.

The ZoneTag is used to tag a zone which is to be triggered by a ZoneTrigger. WarpZones can be triggered to sequence through an array of destinations specified in their properties. Other zones will toggle the bPainZone attribute on and off when triggered.

The ViewFog and ViewFlash properties (in the ZoneLight section of the ZoneInfo properties) allow the level designer to change the player’s display color/fogging while the player is in that zone. ViewFog is used to color the screen. It is a vector whose components are RGB values between 0 and 1.

As ViewFog increases the brightness of the screen, ViewFlash should be used  to keep it from over-brightening.  ViewFlash is a vector whose components should be between 0 and –1 (for example (-0.5, -0.5, -0.5). It reduces the brightness of the screen. Typically, all the components will have the same value, which should have a magnitude about the same as the average magnitude of the ViewFog components to keep the screen from changing brightness.