If one wants to have a trigger do something random, the best way currently is to create a Conditional Action that looks something like:
If (Chance(17))
Do A
Else-if (Chance(20))
Do B
Else-if (Chance(25))
Do C
Else-if (Chance(33))
Do D
Else-if (Chance(50))
Do E
Else
Do F```
This is:
- Very tedious.
- Unintuitive for people without sufficient knowledge of probabilities.
- Imperfect with very large numbers of possibilities, because the Chance condition only accepts integers.
- Requires a degree in statistics if you want to further adjust the probabilities in a specific way.
**I propose a new Action that combines the already understood mechanics of Conditional Actions and Alt-spawn randomness, and call it a Random Action.**
```System -> System -> Fire Random Action
Chance (100)
Do A
Chance (100)
Do B
Chance (100)
Do C
Chance (100)
Do D
Chance (100)
Do E
Chance (100)
Do F```
This would result in an even chance of each action, and the probabilities and be changed exactly like Alt-spawns.
Now, this solution alone is certainly helpful, but it still has a big limitation in that the possibilities are static, which hinders the creation of highly dynamic missions. We can fix this in one of two ways:
1. Allow the weights to be adjusted during the mission, perhaps by optionally mapping them to GVs.
2. Add an optional condition to each Chance block. If the block has a condition assigned and that condition is not met at time of firing, that chance block is not added to the pool of possible outcomes (the block's weight is treated as 0).
Examples of cases where this extra functionality would be useful:
* Weights can be adjusted based on other mission factors, such as player counts and mission progression.
* Outcomes that have already occurred can remove themselves from the chance pool, enabling incredibly simple random popup objectives.
If either of these are added, then it could also make sense to add a final "Else" block to cover the situation where all chance block weights are 0, should that occur. However this last bit would just be a minor added convenience.