Cogito, ergo sum

Difference between revisions of "User:Crusha/UltimateMappingTools"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
m
(Added a few more actors and changed my organisation of actors.)
Line 14: Line 14:
 
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.
 
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!
 
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.
+
The actors from other coders have been renamed for this toolset to avoid conflicts with the originals. Most actors from Jailbreak has been renamed from "JBxyz" to "UTxyz" (because UT stands for UltimateTools :P), only a few remained "Ultimate".
  
  
Line 22: Line 22:
 
=The Tools=
 
=The Tools=
 
==UltimateONSFactory==
 
==UltimateONSFactory==
 +
by Crusha K. Rool
 
{{infobox class
 
{{infobox class
 
| class  = UltimateONSFactory
 
| class  = UltimateONSFactory
Line 240: Line 241:
  
  
==EventLogicGate==
+
 
 +
 
 +
==EventGate==
 +
by Crusha K. Rool
 
{{infobox class
 
{{infobox class
| class  = EventLogicGate
+
| class  = EventGate
 
| custom  = yes
 
| custom  = yes
 
| parent1 = Triggers
 
| parent1 = Triggers
Line 249: Line 253:
 
}}
 
}}
  
The abstract base class of all logic gates. All subclasses have collision turned off and another texture than usual Triggers to distinguish them.
+
The abstract base class of all custom actors that handle TriggerEvents and UnTriggerEvents. All subclasses have collision disabled because they only depend on triggering.
LogicGates work the same way like their real life pendants: A TriggerEvent is considered "True", an UnTriggerEvent a "False". The output depends on the gate as described in the following actors.
+
  
  
==LogicalNOT==
+
 
 +
==LogicGate==
 +
by Crusha K. Rool
 
{{infobox class
 
{{infobox class
| class  = LogicalNOT
+
| class  = LogicGate
 
| custom  = yes
 
| custom  = yes
| parent1 = EventLogicGate
+
| parent1 = EventGate
 
| parent2 = Triggers
 
| parent2 = Triggers
 
| parent3 = Actor
 
| parent3 = Actor
Line 263: Line 268:
 
}}
 
}}
  
Toggles the boolean value of an incoming Event and forwards it.
+
The abstract base class of all logic gates. The only purpose of this class is to group the subclasses.
If the Event was an Untrigger-Event, then it will become a Trigger-Event and the other way around.
+
  
===Property group 'Events'===
+
LogicGates work the same way like their real life pendants: A TriggerEvent is considered "True", an UnTriggerEvent a "False". The output depends on the gate as described in the following actors.
====Tag====
+
'''Type:''' [[name]]
+
  
Triggering the Event with this name will UnTrigger the Event specified below.
 
UnTriggering the Event will Trigger the output Event.
 
  
====Event====
+
Each '''subclass''' has the following properties:
'''Type:''' [[name]]
+
 
+
The output Event that will be triggered.
+
 
+
 
+
==LogicalOR==
+
{{infobox class
+
| class  = LogicalOR
+
| custom  = yes
+
| parent1 = EventLogicGate
+
| parent2 = Triggers
+
| parent3 = Actor
+
| parent4 = Object
+
}}
+
 
+
Triggers an Event if AT LEAST ONE condition is True.
+
Untriggers it, if an Event had been triggered and both conditions became False again.
+
  
 
===Property group 'Events'===
 
===Property group 'Events'===
Line 311: Line 294:
  
  
==LogicalAND==
+
==LogicalNOT==
 +
by Crusha K. Rool
 
{{infobox class
 
{{infobox class
| class  = LogicalAND
+
| class  = LogicalNOT
 
| custom  = yes
 
| custom  = yes
| parent1 = EventLogicGate
+
| parent1 = LogicGate
| parent2 = Triggers
+
| parent2 = EventGate
| parent3 = Actor
+
| parent3 = Triggers
| parent4 = Object
+
| parent4 = Actor
 +
| parent5 = Object
 
}}
 
}}
  
Triggers an Event if BOTH conditions are True.
+
Toggles the boolean value of an incoming Event and forwards it.
Untriggers it, if an Event had been triggered and one condition became False again.
+
If the Event was an Untrigger-Event, then it will become a Trigger-Event and the other way around.
  
===Property group 'Events'===
+
This is the only subclass of '''LogicGate''' that doesn't have a SecondTag because only the first Tag is considered and immediately transformed into the complement.
====Tag====
+
'''Type:''' [[name]]
+
  
Triggering the Event with this name will toggle the first condition True.
 
UnTriggering it will toggle the condition False.
 
  
====SecondTag====
+
==LogicalOR==
'''Type:''' [[name]]
+
by Crusha K. Rool
 +
{{infobox class
 +
| class  = LogicalOR
 +
| custom  = yes
 +
| parent1 = LogicGate
 +
| parent2 = EventGate
 +
| parent3 = Triggers
 +
| parent4 = Actor
 +
| parent5 = Object
 +
}}
  
Triggering the Event with this name will toggle the second condition True.
+
Triggers an Event if AT LEAST ONE condition is True.
UnTriggering it will toggle the condition False.
+
Untriggers it, if an Event had been triggered and both conditions became False again.
  
====Event====
 
'''Type:''' [[name]]
 
  
The output Event that will be triggered.
+
==LogicalAND==
 +
by Crusha K. Rool
 +
{{infobox class
 +
| class  = LogicalAND
 +
| custom  = yes
 +
| parent1 = LogicGate
 +
| parent2 = EventGate
 +
| parent3 = Triggers
 +
| parent4 = Actor
 +
| parent5 = Object
 +
}}
 +
 
 +
Triggers an Event if BOTH conditions are True.
 +
Untriggers it, if an Event had been triggered and one condition became False again.
  
  
 
==LogicalNOR==
 
==LogicalNOR==
 +
by Crusha K. Rool
 
{{infobox class
 
{{infobox class
 
| class  = LogicalNOR
 
| class  = LogicalNOR
 
| custom  = yes
 
| custom  = yes
| parent1 = EventLogicGate
+
| parent1 = LogicalOR
| parent2 = Triggers
+
| parent2 = LogicGate
| parent3 = Actor
+
| parent3 = EventGate
| parent4 = Object
+
| parent4 = Triggers
 +
| parent5 = Actor
 +
| parent6 = Object
 
}}
 
}}
  
Line 356: Line 360:
 
That means that it triggers an Event if none of the conditions is True and untriggers the Event if one or both conditions are False.
 
That means that it triggers an Event if none of the conditions is True and untriggers the Event if one or both conditions are False.
  
===Property group 'Events'===
 
====Tag====
 
'''Type:''' [[name]]
 
  
Triggering the Event with this name will toggle the first condition True.
+
==LogicalNAND==
UnTriggering it will toggle the condition False.
+
by Crusha K. Rool
 +
{{infobox class
 +
| class  = LogicalNAND
 +
| custom  = yes
 +
| parent1 = LogicalAND
 +
| parent2 = LogicGate
 +
| parent3 = EventGate
 +
| parent4 = Triggers
 +
| parent5 = Actor
 +
| parent6 = Object
 +
}}
  
====SecondTag====
+
Does exactly the opposite of the LogicalAND.
'''Type:''' [[name]]
+
That means that it triggers an Event if only one or none of the conditions is True and untriggers the Event if both conditions are False.
  
Triggering the Event with this name will toggle the second condition True.
 
UnTriggering it will toggle the condition False.
 
  
====Event====
 
'''Type:''' [[name]]
 
  
The output Event that will be triggered.
+
==LogicalXOR==
 +
by Crusha K. Rool
 +
{{infobox class
 +
| class  = LogicalXOR
 +
| custom  = yes
 +
| parent1 = LogicGate
 +
| parent2 = EventGate
 +
| parent3 = Triggers
 +
| parent4 = Actor
 +
| parent5 = Object
 +
}}
  
 +
Triggers an Event if EXACTLY ONE OF TWO conditions is True.
 +
Untriggers it, if an Event had been triggered and both conditions became False or True.
  
  
==LogicalNAND==
+
 
 +
==LinksetupEventGate==
 +
by Crusha K. Rool
 
{{infobox class
 
{{infobox class
| class  = LogicalNAND
+
| class  = LinksetupEventGate
 
| custom  = yes
 
| custom  = yes
| parent1 = EventLogicGate
+
| parent1 = EventGate
 
| parent2 = Triggers
 
| parent2 = Triggers
 
| parent3 = Actor
 
| parent3 = Actor
Line 386: Line 407:
 
}}
 
}}
  
Does exactly the opposite of the LogicalAND.
+
When being triggered, this will only trigger the next Event, if the current linksetup matches one of the ones specified in the array.
That means that it triggers an Event if only one or none of the conditions is True and untriggers the Event if both conditions are False.
+
 
 +
===Property group 'LinksetupEventGate'===
 +
====AllowedLinksetups====
 +
'''Type:''' [[array]]<[[String]]>
 +
 
 +
Add names of Linksetups to this list. The next Event will only get (un)triggered when the current Linksetup is equal to one in this list.
 +
 
 +
 
 +
 
 +
==RandomEventGate==
 +
by Crusha K. Rool
 +
{{infobox class
 +
| class  = RandomEventGate
 +
| custom  = yes
 +
| parent1 = EventGate
 +
| parent2 = Triggers
 +
| parent3 = Actor
 +
| parent4 = Object
 +
}}
 +
 
 +
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.
  
 
===Property group 'Events'===
 
===Property group 'Events'===
====Tag====
+
====AlternativeEvent====
 
'''Type:''' [[name]]
 
'''Type:''' [[name]]
  
Triggering the Event with this name will toggle the first condition True.
+
If this is set, then it will be (un)triggered if the normal Event fails.
UnTriggering it will toggle the condition False.
+
  
====SecondTag====
+
===Property group 'RandomEventGate'===
'''Type:''' [[name]]
+
====TriggerProbability====
 +
'''Type:''' [[float]]
  
Triggering the Event with this name will toggle the second condition True.
+
Enter the probability in percent with that the normal Event shall be triggered. (That means this percentage is used if the actor gets triggered)
UnTriggering it will toggle the condition False.
+
  
====Event====
+
====UnTriggerProbability====
'''Type:''' [[name]]
+
'''Type:''' [[float]]
  
The output Event that will be triggered.
+
Enter the probability in percent with that the normal Event shall be untriggered. (That means this percentage is used if the actor gets untriggered)
  
  
==LogicalXOR==
+
 
 +
==InstigatorModifier==
 +
by Crusha K. Rool
 
{{infobox class
 
{{infobox class
| class  = LogicalXOR
+
| class  = InstigatorModifier
 
| custom  = yes
 
| custom  = yes
| parent1 = EventLogicGate
+
| parent1 = EventGate
 
| parent2 = Triggers
 
| parent2 = Triggers
 
| parent3 = Actor
 
| parent3 = Actor
Line 418: Line 461:
 
}}
 
}}
  
Triggers an Event if EXACTLY ONE OF TWO conditions is True.
+
Changes the properties of the Pawn that triggered the Event to the specified ones. Leave a value at 0 to keep the pawn's own value.
Untriggers it, if an Event had been triggered and both conditions became False or True.
+
  
===Property group 'Events'===
+
The pawn must be a subclass of [[UE2:XPawn (UT2004)|xPawn]], so vehicles can't be modified by this (use a UltimateONSFactory to modify a vehicle at spawn time). However, if the instigator is a vehicle, then it's driver can be modified.
====Tag====
+
'''Type:''' [[name]]
+
  
Triggering the Event with this name will toggle the first condition True.
+
===Property group 'InstigatorModifier'===
UnTriggering it will toggle the condition False.
+
====bAddValues====
 +
'''Type:''' [[bool]]
  
====SecondTag====
+
Considers the pawn's old health and shield when applying the new values, so he doesn't get full health when damaged already.
'''Type:''' [[name]]
+
The maximum values are not affected by that.
 +
 
 +
====Health====
 +
'''Type:''' [[int]]
 +
 
 +
The new health of the pawn.
 +
 
 +
====Shield====
 +
'''Type:''' [[int]]
 +
 
 +
The new shield of the pawn.
 +
 
 +
====bChangeMaxHealth====
 +
'''Type:''' [[bool]]
 +
 
 +
The pawn's health can be refilled up to the new health-value. SuperHealthMax is twice the health-value.
 +
 
 +
====bChangeMaxShield====
 +
'''Type:''' [[bool]]
 +
 
 +
The pawn's shield can be refilled up to the new shield-value. ShieldStrengthMax is three times the shield-value.
 +
 
 +
====GroundSpeed====
 +
'''Type:''' [[float]]
 +
 
 +
The maximum ground speed.
 +
 
 +
====WaterSpeed====
 +
'''Type:''' [[float]]
 +
 
 +
The maximum swimming speed.
 +
 
 +
====AirSpeed====
 +
'''Type:''' [[float]]
 +
 
 +
The maximum flying speed.
 +
 
 +
====LadderSpeed====
 +
'''Type:''' [[float]]
 +
 
 +
Ladder climbing speed.
 +
 
 +
====AccelRate====
 +
'''Type:''' [[float]]
 +
 
 +
Maximum acceleration rate.
 +
 
 +
====JumpZ====
 +
'''Type:''' [[float]]
 +
 
 +
Vertical acceleration with jump.
 +
 
 +
====AirControl====
 +
'''Type:''' [[float]]
 +
 
 +
Amount of AirControl available to the pawn. That means how good you can steer when you are not touching the ground.
 +
 
 +
====MaxFallSpeed====
 +
'''Type:''' [[float]]
 +
 
 +
Maximum speed a pawn can land without taking damage (also limits what paths AI can use).
 +
 
 +
====MaxMultiJump====
 +
'''Type:''' [[int]]
 +
 
 +
How often this pawn can multijump (negative values use default setting).
 +
 
 +
====UnderWaterTime====
 +
'''Type:''' [[float]]
 +
 
 +
How much time a pawn can go without air (in seconds).
 +
 
 +
====bRemovePowerUps====
 +
'''Type:''' [[bool]]
 +
 
 +
Remove any powerup from instigator.
 +
 
 +
====bModifyVehicleDrivers====
 +
'''Type:''' [[bool]]
 +
 
 +
If True, this will also modify the driver of a vehicle.
  
Triggering the Event with this name will toggle the second condition True.
 
UnTriggering it will toggle the condition False.
 
  
====Event====
 
'''Type:''' [[name]]
 
  
The output Event that will be triggered.
 
  
 
[[Category:Mapping tools]]
 
[[Category:Mapping tools]]

Revision as of 14:52, 20 May 2010

Introduction

About this site

This site is dedicated to my upcoming toolset for Unreal Tournament 2004, formerly known as UltimateONSTools. It serves as a documentation to the toolset and will explain the effects of each variable in each actors. A separate page gives some examples of how the contents of this set can be put to use.

Please do not apply any changes on this site, I will maintain it on my own. Use the discussion page for feedback.

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 gameflow 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 gameflow. 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 has 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.


The Tools

UltimateONSFactory

by Crusha K. Rool

Template:User Object >> Actor >> SVehicleFactory >> ONSVehicleFactory >> UltimateONSFactory (custom)

Contents

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. Each individual vehicle entry in a list can be further modified, also with the ability to track the vehicle on the RadarMap.


Property group 'Events'

Tag

Type: name

Triggering the factory will enable it, i.e. set bEnabled to True.

UnTriggering it will disable it, i.e. setting it to False.

Event

Type: name

The default event is triggered whenever a vehicle is spawned by this factory.

PreSpawnEvent

Type: name

This is triggered before the vehicle spawns, when the SpawnBuildEffect is played. (see PreSpawnTime)

VehicleDestroyedEvent

Type: name

Triggered whenever a vehicle that was spawned by this factory gets destroyed.


Property group 'ONSVehicleFactory'

BlueTeamRotation

Type: int

If bReverseBlueTeamDirection, the vehicle will not turn by 180° for the blue team, but by this value. Negative values will rotate in the opposite direction.

8192 = 45°; 16384 = 90°; 32768 = 180°; etc..


Property group 'UltimateVehicleFactory'

bUseStaticTeams

Type: bool

The factory will not belong to the team that controls the closest team, but to the predefined team. If the other team holds the node, then this factory won't spawn any vehicles for that team.

StaticTeamNum

Type: byte

The factory will only work for this team.

0= red, 1= blue, 255= neutral/none

bIndependentFactory

Type: bool

The closest PowerNode or Core has no influence on this factory's activity or teamnumber. It will spawn the vehicles right away, even if the closest Node is disabled. The teamnumber of the vehicle will be the StaticTeamNum. Neutral vehicles are possible too.

This property overrides bUseStaticTeams.

bRandomFlip

Type: bool

If the spawned vehicle is neutral (because of bIndependentFactory), then there is a 50:50 chance that the spawned vehicle uses the BlueTeamRotation.

NotLockedForTeam

Type: byte

The spawned vehicle is ALWAYS locked for the team that is NOT entered here. This is mainly a hack for AS_MinigunTurrets, use this with them to keep them closed.

255 is normal ONS, 0 will always lock this for Blue, 1 always for Red

Default value: 255

bEnabled

Type: bool

Whether the factory is enabled at the beginning or not.

bToggleTrigger

Type: bool

Instead of the Trigger/UnTrigger-functionality will this only react to TriggerEvents, which will toggle the factory between enabled and disabled.

bUniqueVehicle

Type: bool

The factory spawns only a limited number of vehicles, then it stops working for the rest of the round. The number of vehicles that can be spawned can be set via MaxVehicleCount.

PreSpawnTime

Type: float

How many seconds before the vehicle spawn the SpawnBuildEffect and PreSpawnEvent is triggered.

Default value: 2.0

bCrushable

Type: bool

Allows spawning over colliding actors. Means any player that is in the collision radius of the vehicle when the RespawnTime is over will be crushed.

RetrySpawnTime

Type: float

If not bCrushable and the spawn location is blocked, then try to spawn again after this many seconds.

Default value: 1.0

LinksetupException

Type: array<String>

Enter the name of a Linksetup to disable this factory when that Linksetup is active. Leave this array empty to enable the factory for all Linksetups.

VehicleListRed

Type: array<SpawnedVehicleProperties>

List of vehicles that are available for spawn if the red team has the factory or it's a neutral independent factory.

VehicleListBlue

Type: array<SpawnedVehicleProperties>

List of vehicles that are available for spawn if the blue team has the factory.


Struct 'SpawnedVehicleProperties'

Vehicle

Type: class<Vehicle>

The class of the vehicle to spawn.

SpawnEffectSize

Type: enum<ESpawnSize>

Size of the SpawnEffect to use with this vehicle.

Health

Type: int

Health value that the spawned vehicle should have. 0 uses the vehicle's default health.

GroundSpeed

Type: float

The maximum ground speed. 0 = default

WaterSpeed

Type: float

The maximum water speed. 0 = default

AirSpeed

Type: float

The maximum flying speed. 0 = default

AccelRate

Type: float

Max acceleration rate. 0 = default

bEjectDriver

Type: bool

Eject the driver when the vehicle gets destroyed instead of killing him.

bSpawnProtected

Type: bool

Vehicle can't be damaged before it has been possessed.

bEnterringDoesNotUnlock

Type: bool

Vehicle is not unlocked to enemies when a player enters it.

bTrackVehicleOnRadar

Type: bool

The vehicle's location will be shown in realtime on the RadarMap.

RadarVisibleToTeam

Type: byte

The vehicle will be shown on the Radar to 255= both teams; 0= own team; 1= enemy team

RadarVisibleToHijack

Type: byte

When being hijacked, vehicle will be shown on the Radar to 255= both teams; 0= old owner team; 1= hijacker team

RadarOwnerUpdateTime

Type: float

How many seconds have to pass before the location of vehicle is updated for the owning team.

RadarEnemyUpdateTime

Type: float

Same as above, just for enemies.

RadarTexture

Type: Material

This image will represent the vehicle on the Radar.

RadarTextureScale

Type: float

The image will be scaled by this factor.



EventGate

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate (custom)

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

Template:User Object >> Actor >> Triggers >> EventGate >> LogicGate (custom)

The abstract base class of all logic gates. The only purpose of this class is to group the subclasses.

LogicGates work the same way like their real life pendants: A TriggerEvent is considered "True", an UnTriggerEvent a "False". The output depends on the gate as described in the following actors.


Each subclass has the following properties:

Property group 'Events'

Tag

Type: name

Triggering the Event with this name will toggle the first condition True. UnTriggering it will toggle the condition False.

SecondTag

Type: name

Triggering the Event with this name will toggle the second condition True. UnTriggering it will toggle the condition False.

Event

Type: name

The output Event that will be triggered.


LogicalNOT

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> LogicGate >> LogicalNOT (custom)

Toggles the boolean value of an incoming Event and forwards it. If the Event was an Untrigger-Event, then it will become a Trigger-Event and the other way around.

This is the only subclass of LogicGate that doesn't have a SecondTag because only the first Tag is considered and immediately transformed into the complement.


LogicalOR

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> LogicGate >> LogicalOR (custom)

Triggers an Event if AT LEAST ONE condition is True. Untriggers it, if an Event had been triggered and both conditions became False again.


LogicalAND

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> LogicGate >> LogicalAND (custom)

Triggers an Event if BOTH conditions are True. Untriggers it, if an Event had been triggered and one condition became False again.


LogicalNOR

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> LogicGate >> LogicalOR >> LogicalNOR (custom)

Does exactly the opposite of the Logical OR. That means that it triggers an Event if none of the conditions is True and untriggers the Event if one or both conditions are False.


LogicalNAND

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> LogicGate >> LogicalAND >> LogicalNAND (custom)

Does exactly the opposite of the LogicalAND. That means that it triggers an Event if only one or none of the conditions is True and untriggers the Event if both conditions are False.


LogicalXOR

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> LogicGate >> LogicalXOR (custom)

Triggers an Event if EXACTLY ONE OF TWO conditions is True. Untriggers it, if an Event had been triggered and both conditions became False or True.


LinksetupEventGate

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> LinksetupEventGate (custom)

When being triggered, this will only trigger the next Event, if the current linksetup matches one of the ones specified in the array.

Property group 'LinksetupEventGate'

AllowedLinksetups

Type: array<String>

Add names of Linksetups to this list. The next Event will only get (un)triggered when the current Linksetup is equal to one in this list.


RandomEventGate

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> RandomEventGate (custom)

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.

Property group 'Events'

AlternativeEvent

Type: name

If this is set, then it will be (un)triggered if the normal Event fails.

Property group 'RandomEventGate'

TriggerProbability

Type: float

Enter the probability in percent with that the normal Event shall be triggered. (That means this percentage is used if the actor gets triggered)

UnTriggerProbability

Type: float

Enter the probability in percent with that the normal Event shall be untriggered. (That means this percentage is used if the actor gets untriggered)


InstigatorModifier

by Crusha K. Rool

Template:User Object >> Actor >> Triggers >> EventGate >> InstigatorModifier (custom)

Changes the properties of the Pawn that triggered the Event to the specified ones. Leave a value at 0 to keep the pawn's own value.

The pawn must be a subclass of xPawn, so vehicles can't be modified by this (use a UltimateONSFactory to modify a vehicle at spawn time). However, if the instigator is a vehicle, then it's driver can be modified.

Property group 'InstigatorModifier'

bAddValues

Type: bool

Considers the pawn's old health and shield when applying the new values, so he doesn't get full health when damaged already. The maximum values are not affected by that.

Health

Type: int

The new health of the pawn.

Shield

Type: int

The new shield of the pawn.

bChangeMaxHealth

Type: bool

The pawn's health can be refilled up to the new health-value. SuperHealthMax is twice the health-value.

bChangeMaxShield

Type: bool

The pawn's shield can be refilled up to the new shield-value. ShieldStrengthMax is three times the shield-value.

GroundSpeed

Type: float

The maximum ground speed.

WaterSpeed

Type: float

The maximum swimming speed.

AirSpeed

Type: float

The maximum flying speed.

LadderSpeed

Type: float

Ladder climbing speed.

AccelRate

Type: float

Maximum acceleration rate.

JumpZ

Type: float

Vertical acceleration with jump.

AirControl

Type: float

Amount of AirControl available to the pawn. That means how good you can steer when you are not touching the ground.

MaxFallSpeed

Type: float

Maximum speed a pawn can land without taking damage (also limits what paths AI can use).

MaxMultiJump

Type: int

How often this pawn can multijump (negative values use default setting).

UnderWaterTime

Type: float

How much time a pawn can go without air (in seconds).

bRemovePowerUps

Type: bool

Remove any powerup from instigator.

bModifyVehicleDrivers

Type: bool

If True, this will also modify the driver of a vehicle.