Once I get that upgrade to 36-hour days, I will tackle that. – Mychaeel
User:Crusha/UltimateMappingTools
Introduction
About this site
This site is dedicated to my extensive toolset for Unreal Tournament 2004, formerly known as UltimateONSTools. It serves as a documentation to the tool set and will explain the effects of each variable in each Actor.
Please do not apply any changes on this site, I will maintain it on my own. But the discussion page can be used for feedback. Or simply post in one of the threads in the countless UT forums where I posted this. :)
Motivation
First I just wanted to create a VehicleFactory for ONS that allows the mapper to configure more than he can with the default one. It worked fine, but then I wanted to have even more control as a mapper about the game flow by considering which PowerNodes in ONS are captured by a team and which are not. The idea itself grew when I saw UT3's Kismet and decided to create something for all UT2004-mappers that gives them somewhat similar influence about what happens during the match. In the end I came to a point where I wanted to gather everything that a mapper could ever wish to use in map in this set - one single .u-file that every mapper should add to his EditPackages list and be happy. :)
There would be no use in recreating something that has been done by other coders already. And because we are one big community, I asked other coders if I could use some of their work here, especially such things that exist not in their own .u-file. They were very friendly, especially Wormbo. Half of the things in this pack come from him! The Actors from other coders have been renamed for this toolset to avoid conflicts with the originals. Most Actors from Jailbreak have been renamed from "JBxyz" to "UTxyz" (because UT stands for UltimateTools :P), only a few remained "Ultimate".
Note: In my Actors can "red" and "blue" be considered static on the map, that means the mapper only has to think in a way like he would map for gametypes where the teams won't switch sides after reset. If the sides are swapped in ONS, then my Actors will handle this automatically and work properly for the other team on that side of the map.
Download
UltimateMappingTools
The compiled scripts and all necessary texture and mesh packages.
Download from Mediafire (582.41 KB, Zip)
DWeather Wind Test
This is a small VCTF test arena created by MarZer in order to show off some dynamic weather effects that react to changing wind. In this example is the direction of the smoke from fireplaces influenced by the randomly changing wind direction, as well as the direction in which the twister is moving. Furthermore does the map feature Raptors that shoot powerful meteors (so you can get an idea of how devastating a real meteor hail is) as well as earthquakes that shake your view and throw you around and some weak ambient monsters and hail, which may hurt you if it happens to hit you (which is not all that likely after all).
Download from Mediafire (588.65 KB, Zip)
Related
Not included are Wormbo's OnslaughtSpecials, since he maintains them himself. But they fit perfectly together with the UltimateMappingTools, so you should really get them as well. Unless you are not mapping for ONS.
Enhanced Functionality
Tools in this section are highly improved versions of existing UT2004 versions and add a lot of new features.
UltimateONSFactory
by Crusha K. Rool, thanks to iwanpompier for help at getting the radar to work
Object >> Actor >> SVehicleFactory >> ONSVehicleFactory >> UltimateONSFactory (custom) |
Contents
- 1 Introduction
- 2 Download
- 3 Related
- 4 Enhanced Functionality
- 4.1 UltimateONSFactory
- 4.2 UltimateVCTFFactory
- 4.3 UltimateMover
- 4.4 UTNetworkProjectileSpawner
- 4.5 LockerWeaponsPlayerStart
- 4.6 UTKickerTriggerable
- 4.7 ProjectileJumppad
- 4.8 ProjectileTeleporter
- 4.9 VehicleTeleporter
- 4.10 UltimateDestroyableEnvironment
- 4.11 UTTunnelExitVolume
- 4.12 DynamicPhysicsVolume
- 4.13 DynamicWaterVolume
- 4.14 HealVolume
- 4.15 BlockingVolumeToggleable
- 4.16 UltimateSkyZoneInfo
- 4.17 ParallaxSkyZoneInfo
- 4.18 UltimateRadarMap
- 4.19 UltimateRadarMapMarker
- 4.20 EnhancedLevelGameRules
- 5 Trigger Systems
- 6 ScriptedActions
- 7 Pickups
- 8 Fix
- 9 Mapping Assistance
- 10 Misc
- 11 TeamSpecificActors
- 12 DynamicWeather
- 13 Assets
- 14 Pending Delete
An ONS-mapper's jack of all trades device. This allows the mapper to tweak the vehicle balance of the match right down to the last detail. Allows to specify an individual vehicle list for both teams from which the next vehicle can be chosen randomly or sequentially. Each individual vehicle entry in a list can be further modified, also with the ability to track the vehicle on the RadarMap.
See this page for more information about this Actor.
UltimateVCTFFactory
by Crusha K. Rool
Object >> Actor >> SVehicleFactory >> UltimateVCTFFactory (custom) |
The VCTF equivalent to the UltimateONSFactory. Allows to set up a list of vehicles from which the next vehicle can be chosen randomly or sequentially. Each individual vehicle entry in a list can be further modified, also with the ability to change if a vehicle can carry the flag or not. This has less options than the UltimateONSFactory but can be used in any gametype, even those where vehicles are disabled by default.
See this page for more information about this Actor.
UltimateMover
by Wormbo, originally named JBMoverDualDestination in the package 'JBToolbox2'
A mover with a multitude of improvements over standard movers:
- can trigger an event when receiving damage (like Wormbo's custom DamageTriggerMover)
- can trigger/untrigger an event when someone stands in it (not only in StandOpenTimed state)
- mapper can define two different movement paths with individual trigger tags, sounds and events
- mapper can specify separate open and close times (like VitalOverdose's VariableTimedMover)
- mapper can specify individual move times for every key (like SuperApe's VariableTimedMover)
See JDN:JBMoverDualDestination for more information about this Actor.
UTNetworkProjectileSpawner
by Wormbo, originally named NetworkProjectileSpawner in the package 'NetworkProjectileSpawner'
An advanced network-compatible ProjectileSpawner alternative mappers can add to their levels.
This features an incredible amount of options to create your own projectile in any way you like. And I will not list all those 70 properties here. Luckily the Worm itself documented it in all details.
See this page for more information about this Actor.
LockerWeaponsPlayerStart
by Crusha K. Rool
Object >> Actor >> NavigationPoint >> SmallNavigationPoint >> PlayerStart >> TriggeredPlayerStart >> LockerWeaponsPlayerStart (custom) |
This PlayerStart equips the spawning player with the weapons from the closest WeaponLocker in the specified range.
See this page for more information about this Actor.
UTKickerTriggerable
by Wormbo, originally named JBKickerTriggerable in the package 'JBToolbox2'
A triggerable xKicker with several additional features:
- can be trigger-toggled or trigger-controlled on/off
- defines directions "in front" and "behind" by its location and rotation so it can ignore touches if touching Actor is behind and mirror the kick direction if the touching Actor is behind
- can cause damage to kicked Actors
- can play a sound on the kicked Actor
See JDN:JBKickerTriggerable for more information about this Actor.
ProjectileJumppad
by Crusha K. Rool
Object >> Actor >> NavigationPoint >> JumpPad >> UTJumpPad >> ProjectileJumppad (custom) |
Got inspired by Quake 4 where you can place grenades on a Jumppad and it bumps them up as well. This lets you specify projectile classes that are bumped the same way as players.
See this page for more information about this Actor.
ProjectileTeleporter
by Crusha K. Rool
Object >> Actor >> NavigationPoint >> SmallNavigationPoint >> Teleporter >> ProjectileTeleporter (custom) |
Got inspired by Quake 4 where you can shoot through teleporters. This won't let instant hit weapons pass, but it's still nice to send rockets in to clear the other side or to shoot them after an enemy.
See this page for more information about this Actor.
VehicleTeleporter
by KillBait
Object >> Actor >> NavigationPoint >> SmallNavigationPoint >> Teleporter >> VehicleTeleporter (custom) |
A Teleporter that can also teleport vehicles. Works in online games and with bot support.
See this page for more information about this Actor.
UltimateDestroyableEnvironment
by Crusha K. Rool
Object >> Actor >> Decoration >> UltimateDestroyableEnvironment (custom) |
A StaticMesh that can change it's appearance when taking a certain amount of damage. Additionally it can play sounds, spawn KActors and use Emitter effects when it reaches the next Level of Destruction.
See this page for more information about this Actor.
UTTunnelExitVolume
by Wormbo, originally named JBVolumeTunnelExit in the package 'JBToolbox'
Volume that allowes players to walk or crouch off ledges. Useful wherever a player has to get off a human ladder or exit a tunnel while crouching.
See JDN:JBVolumeTunnelExit for more information about this Actor.
DynamicPhysicsVolume
by Epic Games
Object >> Actor >> Brush >> Volume >> PhysicsVolume >> DynamicPhysicsVolume (custom) |
This is a movable PhysicsVolume. It can be attached to dynamic objects.
DynamicWaterVolume
by Epic Games
Object >> Actor >> Brush >> Volume >> PhysicsVolume >> WaterVolume >> DynamicWaterVolume (custom) |
This is a movable WaterVolume. It can be attached to dynamic objects.
HealVolume
by Crusha K. Rool
Volume that allows to heal player or vehicles inside it.
See this page for more information about this Actor.
BlockingVolumeToggleable
by Crusha K. Rool
Object >> Actor >> Brush >> Volume >> BlockingVolume >> BlockingVolumeToggleable (custom) |
The collision of this BlockingVolume can be toggled when it gets triggered.
See this page for more information about this Actor.
UltimateSkyZoneInfo
by Wormbo and Crusha K. Rool
Don't get confused by the name, this Actor is supposed to be used instead of a ZoneInfo and not instead of a SkyZoneInfo!
This is an enhanced version Wormbo's SelectableSkyZoneInfo. It allows to choose which skybox can be seen from the current Zone (including the ability to have different skyboxes with different detail levels to choose from) and additionally to specify completely different skyboxes from which one is chosen randomly at the beginning of the match, resulting in the ability to play the same map in a completely different environment each time you play it.
See this page for more information about this Actor.
ParallaxSkyZoneInfo
by Party Boy
Object >> Actor >> Info >> ZoneInfo >> SkyZoneInfo >> ParallaxSkyZoneInfo (custom) |
- This class in other games:
- U2XMP
Moves the skybox around with the players view in order to simulate a distant environment like in UT3 instead of one that is static and infinitely far away. A skybox must be set up to match certain requirements since the actualy SkyZoneInfo is moving around in the skybox and thereby could pass through StaticMeshes (also fog rings) that are placed in traditional skyboxes.
See this page for more information about this Actor.
UltimateRadarMap
by Crusha K. Rool
Place this Actor in the map to be able to display an ONSlaught-like RadarMap in the HUD in any gametype you wish.
Supported are CTF gametypes (CTF, CTF4, VCTF), BR gametypes (BR, BR4, Bombing Spree Mutator), Domination (DOM, Triple Domination) and Assault. Supported means, that those will display the GameObjectives properly for that gametype. Unsupported gametypes can still be set to show all currently active GameObjectives or just simply show the RadarMap to give some feedback about your location.
In order to display a RadarMap you have to set one up in the LevelProperties as you would do in ONS.
See this page for more information about this Actor.
UltimateRadarMapMarker
by Crusha K. Rool
Draws a texture on the radar map, representing the location and rotation of this Actor. Can be turned on and off with triggering.
See this page for more information about this Actor.
EnhancedLevelGameRules
created mainly by Wormbo
Object >> Actor >> Info >> LevelGameRules >> EnhancedLevelGameRules (custom) |
Additionally to the functionality of the normal LevelGameRules, this one can also forbid certain Mutators in the map. That way can a leveldesigner override the Server Mutators completely.
However, in order to prevent major abuse, this Actor will not disable Mutators with the GroupName 'Security', like Anti-TCC, UTSecure, etc.
See this page for more information about this Actor.
Trigger Systems
Tools in this section are used to add more functionality and control to the Trigger system of the Unreal Engine.
LevelLoadedTrigger
by Crusha K. Rool
Triggers the default Event as soon as the level is loaded and triggers the ResetEvent when the round ended and is reset.
PlayerCountTrigger
by Crusha K. Rool
Triggers an Event when at least so many players are in the game as specified here. Untriggers it when the PlayerCount shrinks below the specified amount again.
See this page for more information about this Actor.
VolumeUnTrigger
by Crusha K. Rool
Object >> Actor >> Triggers >> VolumeTrigger >> VolumeUnTrigger (custom) |
Same functionality as VolumeTrigger, but can ADDITIONALLY untrigger a Volume when this gets untriggered. Only the BlockingVolumeToggleable and the HealVolume supports untriggering for now!
EventGate
by Crusha K. Rool
- Known custom subclasses:
- Crusha/UltimateMappingTools/LogicGate, Crusha/UltimateMappingTools/InstigatorModifier, Crusha/UltimateMappingTools/VIPlayerEventGate, Crusha/UltimateMappingTools/NodeDamageGate, Crusha/UltimateMappingTools/NodeEventDirector, Crusha/UltimateMappingTools/UnTriggerEventGate, Crusha/UltimateMappingTools/ScoreContainer, Crusha/UltimateMappingTools/RandomEventGate, Crusha/UltimateMappingTools/CountdownEventGate
The abstract base class of all custom Actors that handle TriggerEvents and UnTriggerEvents. All subclasses have collision disabled because they only depend on triggering.
LogicGate
by Crusha K. Rool
- Known custom subclass:
- Crusha/UltimateMappingTools/LogicGate
The abstract base class of all logic gates. The only purpose of this class is to group the subclasses.
The following subclasses exist:
UnTriggerEventGate
by Crusha K. Rool
This actor turns the incoming UnTriggerEvents into TriggerEvents or the other way around.
See this page for more information about this Actor.
RandomEventGate
by Crusha K. Rool
Triggers the next Event with a probability that can be defined by the mapper. You can also set an alternative Event that is used instead, if the other one is not chosen.
See this page for more information about this Actor.
CountdownEventGate
by Crusha K. Rool
Waits a certain time before triggering the next Event. If the Actor gets untriggered in that time, the countdown stops. There is a ToleranceTime in which the event can be triggered again after being disabled to continue the current countdown.
The current countdown state can be broadcasted to the HUD.
See this page for more information about this Actor.
VIPlayerEventGate
by Crusha K. Rool
This receives an incoming (Un)TriggerEvent and performs several checks about the Instigator of this Event. It will (un)trigger the next Event, depending on what the result of the check is.
See this page for more information about this Actor.
NodeEventDirector
by Crusha K. Rool
This Actor receives the three Events of an ONSPowerNode and interprets the current state of the node from this information. The Actor can then fire Trigger- or UnTrigger-Events when the state of the Node changes.
See this page for more information about this Actor.
InstigatorModifier
by Crusha K. Rool
Changes the properties of the Pawn that triggered the Event to the specified ones.
See this page for more information about this Actor.
ScoreContainer
by Crusha K. Rool
This section handles four Actors that are all related to implementing a custom score system in maps, allowing to create an RTS-like resource system or simply doing addition and subtraction based event triggering.
See this page for more information about these Actors.
ScriptedActions
This section lists new ScriptedActions that are available in ScriptedTriggers when this toolset is used.
ACTION_IfInstigatorTeam
by Crusha K. Rool
Object >> ScriptedAction >> ACTION_IfInstigatorTeam (custom) |
Enters the following section only if the instigator of the Event belongs to the specified team.
See this page for more information about this Actor.
ACTION_IfLinksetup
by Crusha K. Rool
Object >> ScriptedAction >> ACTION_IfLinksetup (custom) |
Enters the following section only if the currently active linksetup is specified in this Action's array and this is an ONS map.
See this page for more information about this Actor.
ACTION_IfPlayerCount
by Crusha K. Rool
Object >> ScriptedAction >> ACTION_IfPlayerCount (custom) |
Enters the following section only if at least a specific number of players is in the match.
See this page for more information about this Actor.
ACTION_UnTriggerEvent
by Crusha K. Rool
Object >> ScriptedAction >> ACTION_TriggerEvent >> Action_UNTRIGGEREVENT (custom) |
Nothing special, really. Basically the same as ACTION_TriggerEvent, just that this untriggers the specified Event instead of triggering it.
ACTION_VolumeTrigger
by Crusha K. Rool
Object >> ScriptedAction >> ACTION_VolumeTrigger (custom) |
Isn't it much better to have this in a ScriptedTrigger instead of having a dedicated Actor just for the purpose of triggering Volumes?
ACTION_VolumeUnTrigger
by Crusha K. Rool
Object >> ScriptedAction >> ACTION_VolumeUnTrigger (custom) |
Do I have to say anything? Maybe that there is basically no Volume out there that reacts on untriggering, except for my BlockingVolumeToggleable. Maybe I'll add more.
UTAction_WaitForCondition
by Wormbo
Object >> ScriptedAction >> LatentScriptedAction >> UTAction_WaitForCondition (custom) |
Waits until a TriggeredCondition has a certain value. Completes either instantly when the condition is matched or waits until the condition stays in that state for a specified duration.
Pickups
Some additional pickups that mappers can use.
SuperShockWeaponBase
Object >> Actor >> xPickUpBase >> xWeaponBase >> SuperShockWeaponBase (custom) |
A simple xWeaponBase that has the SuperShockRifle set in the DefaultProperties because you can't select it just from the dropdown menu. Use and place it wisely, nobody likes unfair and frustrating maps. But ONS-BiggerBeerBattle would not nearly as fun and exciting without it.
MegaShieldPack
Object >> Actor >> Pickup >> TournamentPickup >> ShieldPickup >> SuperShieldPack >> MegaShieldPack (custom) |
Provides the player with 150 armor points instead of just 100. Additionally it's directly placeable in a map, though a PickupBase is recommended to be used.
It looks exactly like the SuperShieldPickup, just that it has a dark green shader instead of an orange one.
UDamagePack_Prolonged
Object >> Actor >> Pickup >> TournamentPickup >> UDamagePack >> UDamagePack_Prolonged (custom) |
Lasts 45 seconds instead of just 30 and uses a white-greyish shader for better distinction. Additionally it's directly placeable in a map, though a PickupBase is recommended to be used.
Fix
These are community fixes for original stuff from the game that is not properly working in some scenarios.
UTAction_WaitForEvent
by Wormbo
Object >> ScriptedAction >> LatentScriptedAction >> ACTION_WaitForEvent >> UTAction_WaitForEvent (custom) |
Works around a bug in ScriptedController which causes the ScriptedSequence to skip over actions if the event of an Action_WaitForEvent is triggered more than once in the same tick.
UTAction_WaitOnlyForTimer
by Wormbo
Object >> ScriptedAction >> LatentScriptedAction >> ACTION_WaitForTimer >> UTAction_WaitOnlyForTimer (custom) |
Waits exclusively for timer and unlike its superclass NOT for triggering.
UTMaterialTrigger
by Wormbo, originally named JBMaterialTrigger in the package 'JBToolbox'
Object >> Actor >> Triggers >> MaterialTrigger >> UTMaterialTrigger (custom) |
MaterialTrigger that works properly in network games and also allows to reset materials.
See JDN:JBMaterialTrigger for more information about this Actor.
UTEmitterClientTriggerable
by Wormbo, originally named JBEmitterClientTriggerable in the package 'JBToolbox'
Emitter that properly propagates Trigger() events to clients in network games. Otherwise it like a regular Emitter Actor.
See JDN:JBEmitterClientTriggerable for more information about this Actor.
ShadowProjectorPlaceable
Object >> Actor >> Projector >> ShadowProjector >> ShadowProjectorPlaceable (custom) |
A fixed version of the ShadowProjector that works when manually placed in a map.
See this page for more information about this Actor.
KarmaThing
by unknown author
- Known custom subclass:
- Crusha/UltimateMappingTools/UltimateDestructibleEnvironment
This is a fixed version of the KActor that works in online games.
See this page for more information about this Actor.
OnlineCameraTextureClient
by Maabus
Object >> Actor >> Info >> CameraTextureClient >> OnlineCameraTextureClient (custom) |
Works exactly the same way as a normal CameraTextureClient, just that this one will also display dynamic Actors in netplay.
However, the camera will not change the way how an Actor is considered relevant to the local client, that means you can only see things on the camera that are relevant to you at that time. See Relevant Actors to find out how an Actor gets relevant and Angel Mapper's Tutorial to find out how to set up a Security Cam.
NetworkImportanceVolume
by Crusha K. Rool
A Volume that forces any Actor inside it to be always relevant to the client for replication. Once the Actor leaves the Volume it will use it's default settings to determine the relevancy. This allows OnlineCameraTextureClients to display Actors that the client actually don't know about.
See this page for more information about this Actor.
KarmaWakingVolume
by Crusha K. Rool
This Volume causes every Pawn or KActor subclasses in Phys_Karma or Phys_KarmaRagdoll state to perform their Karma calculations on every Tick instead of falling "asleep" if they aren't occupied by a player or waked by damage.
The purpose of this Volume is to enclose the area in which a Vehicle or KActor can be on a Mover, for example a vehicle lift. That will allow the lift to properly move the vehicle while it normally would simply stay at it's old location.
Use this only where it's necessary as it adds a constant strain of all enclosed Karma objects on the performance instead of using the automatic optimization.
Mapping Assistance
These tools are not really noticeable ingame but make a mapper's life a bit easier.
PIEDPlayerStart
by Crusha K. Rool
Object >> Actor >> NavigationPoint >> SmallNavigationPoint >> PlayerStart >> PIEDPlayerStart (custom) |
Placing one of these in the map will force the player to spawn at it, disabling all other PlayerStarts in the meanwhile. That way can you quickly check a certain position ingame during mapping without needing to walk there from the regular startpoints all the time. Just make sure to remove this when you are done.
CullDistanceVolume
by Crusha K. Rool, inspired by Epic
This catches up the idea of the CullDistanceVolume from UT3: At the beginning of the match, all StaticMeshes are checked if their BoundingSphere's diameter is smaller than the values in this array. Then they automatically get the CullDistance set from these properties that match their size, thus allow to quickly set up performance enhancements for the whole map.
See this page for more information about this Actor.
Misc
Helper classes that are shared by some scripts. It's not relevant to mappers in any way.
UltimateMathAux
by Wormbo & Co.
Object >> UltimateMathAux (custom) |
A very basic class that holds some static auxiliary math functions.
See this page for a full reference.
UltimateRadarVehicleLRI
by Crusha K. Rool
Object >> Actor >> Info >> ReplicationInfo >> UltimateRadarVehicleLRI (custom) |
A linked list of ReplicationInfos that tell the radar the position of tracked vehicles.
See this page for a full reference.
VehicleSpawnProtectionTimer
by Crusha K. Rool
Disables spawn protection for the vehicle after a fixed amount of time after the vehicle was spawned.
TeamSpecificActors
by Jrubzjeknf (aka Nova^)
These are modified versions of the default UT2k4 Actors that can be set to work for a specific team only. The associated team of the Actors is swapped in ONS on reset, if necessary. The Actors also have individual Actor icons to distinguish them from normal Actors.
The latest version of these Actors is included in the UltimateMappingTools package.
See Nova's User Page for a full reference.
DynamicWeather
by Mark 'MarZer' Gillard
DynamicWeather is a toolset that contains a whole bunch of Actors to put more atmosphere into maps by controlling the natural forces. These tools are provided without support, but they are definitely awesome, so I included them. ;)
See this page for a full reference.
Assets
With this UltimateMappingTools.u file comes a UltimateMappingTools_Tex.utx file which holds some Actor symbols that make it easier to distinguish some of these Actors from the rest. It is automatically loaded with the .u file.
Inside the UTX are also vehicle icons for the radar map that have been taken from UT3 and cleaned in GIMP, so if you hit the "Load Entire Package" button for the UltimateMappingTools_Tex.utx, you should get more icons for vehicles to be used with the radar tracking system than there are actually vehicles in UT2k4. But feel free to use your own textures if you prefer them. :)
Pending Delete
This stuff is no longer necessary since other toolsets have taken care of it already. (Blame the Worm, he can feel free to delete the linked pages of these sections as soon as he notices)
NodeDamageGate
by Crusha K. Rool
This Actor deals a certain amount of damage to a PowerCore or PowerNode when being triggered.
See this page for more information about this Actor.
- Custom UT2004-specific classes
- Subclasses of ONSVehicleFactory (UT2004)
- Subclasses of SVehicleFactory (UT2004)
- Subclasses of Mover (UT2004)
- Subclasses of Actor (UT2004)
- Subclasses of TriggeredPlayerStart (UT2004)
- Subclasses of xKicker (UT2004)
- Subclasses of UTJumpPad (UT2004)
- Subclasses of Teleporter (UT2004)
- Subclasses of Decoration (UT2004)
- Subclasses of Volume (UT2004)
- Subclasses of PhysicsVolume (UT2004)
- Subclasses of WaterVolume (UT2004)
- Subclasses of BlockingVolume (UT2004)
- Subclasses of ZoneInfo (UT2004)
- Subclasses of SkyZoneInfo (UT2004)
- Subclasses of Info (UT2004)
- Subclasses of LevelGameRules (UT2004)
- Subclasses of Triggers (UT2004)
- Subclasses of VolumeTrigger (UT2004)
- Subclasses of EventGate (UT2004)
- Subclasses of ScriptedAction (UT2004)
- Subclasses of ACTION TriggerEvent (UT2004)
- Subclasses of LatentScriptedAction (UT2004)
- Subclasses of xWeaponBase (UT2004)
- Subclasses of SuperShieldPack (UT2004)
- Subclasses of UDamagePack (UT2004)
- Subclasses of ACTION WaitForEvent (UT2004)
- Subclasses of ACTION WaitForTimer (UT2004)
- Subclasses of MaterialTrigger (UT2004)
- Subclasses of Emitter (UT2004)
- Subclasses of ShadowProjector (UT2004)
- Subclasses of KActor (UT2004)
- Subclasses of CameraTextureClient (UT2004)
- Subclasses of PlayerStart (UT2004)
- Subclasses of Object (UT2004)
- Subclasses of ReplicationInfo (UT2004)
- Mapping tools