Escape Logic
Customizing the Escape Logic of a Custom Role is a very important way to make the users experience even more beautiful.
UCR does provide a powerful tool to decide almost everything about the escape.
Escape Object
The Escape object is a simple Dictionary (object) with a key and a value. It should look like this:
role_after_escape:
default: InternalRole Spectator
cuffed by InternalTeam ChaosInsurgency: InternalRole ClassD
Escape Syntax
The syntax for handling the escape logic is quite complicated but when you'll learn how to use it you'll see that it's very powerful.
As you can see from the example of the YAML every key-value pair represents a different scenario.
Key
The key represents the condition that you want to handle.
If the condition is not present the default
one will be used.
In the condition there are two variable elements: InternalTeam
and ChaosInsurgency
.
The plain syntax is:
cuffed by <Group> <Subject>
There are two available Groups: InternalTeam
and CustomRole
.
If you put InternalTeam
you then have to put as the Subject a value of the Team enum.
If you instead put CustomRole
you then have to put as the Subject the Custom Role Id.
Let's see some examples:
cuffed by InternalTeam Scientists
cuffed by CustomRole 2
Value
The value represents the action that the plugin will do to the player. The syntax is really clear:
<Group> <Target>
There are two available groups: InternalRole
and CustomRole
.
If you put InternalRole
you then have to put as the Target a value of the RoleTypeId enum.
If you instead put CustomRole
you then have to put as the Target the Custom Role Id.
For example, if we put CustomRole 2
and the associated condition is true the player will be spawned as the Custom Role with Id=2 when they escape.
Let's see some examples:
CustomRole 5
InternalRole ClassD
Logic
Now that we have both the key and the value if we put them together we have a condition=>action group.
For example, if we have this configuration:
role_after_escape:
default: InternalRole Spectator
cuffed by CustomRole 5: CustomRole 10
cuffed by InternalTeam Scientists: CustomRole 9
cuffed by CustomRole 1: InternalRole ClassD
If we escape not cuffed then we will become spectators
If we escape cuffed by Custom Role 5 we'll become Custom Role 10
If we escape cuffed by a member of the Scientists team we'll become Custom Role 9
If we escaped cuffed by Custom Role 1 we'll become Class-Ds
Last updated