I just thought of an interesting way to do weighted dice rolls. In a system I had read earlier, a trigger would add 1 to a dice counter every 5 milliseconds or so to be random. To weight this and easily create a dice system, use the following:
Trigger |
Description: |
Starting Trigger |
|
Players: |
¤ Current Player. |
Conditions: |
¤ Always. |
Actions: |
¤ Set Deaths of Nexus to 0.
|
¤ Set Deaths of Gateway to 0. |
Trigger |
Description: |
Dice Rotation |
|
Players: |
¤ Current Player. |
Conditions: |
¤ Always.
|
¤ (Dice Rolling is Activated.) |
Actions: |
¤ Set Deaths of Nexus to 2.
|
¤ Wait 28 Milliseconds.
|
¤ Set Deaths of Nexus to 3.
|
¤ Wait 56 Milliseconds.
|
¤ Set Deaths of Nexus to 4.
|
¤ Wait for 84 Milliseconds
|
¤ Set Deaths of Nexus to 5.
|
¤ Wait for 112 Milliseconds
|
¤ Set Deaths of Nexus to 6.
|
¤ Wait for 140 Milliseconds
|
¤ Set Deaths of Nexus to 7.
|
¤ Wait for 168 Milliseconds.
|
¤ Set Deaths of Nexus to 8.
|
¤ Wait for 140 Milliseconds.
|
¤ Set Deaths of Nexus to 9.
|
¤ Wait for 112 Milliseconds.
|
¤ Set Deaths of Nexus to 10.
|
¤ Wait for 84 Milliseconds.
|
¤ Set Deaths of Nexus to 11.
|
¤ Wait for 56 Milliseconds.
|
¤ Set Deaths of Nexus to 12.
|
¤ Wait for 28 Milliseconds.
|
¤ Preserve Trigger.
|
¤ Comment: Dice Number Rotation. |
Trigger |
Description: |
Player Rolls. |
|
Players: |
¤ Current Player. |
Conditions: |
¤ Current Player Brings 1 "Roller" to "Roll." |
Actions: |
¤ Move all "Rollers" of Current Player at "Roll" to "Next To Roll."
|
¤ Set deaths of Gateway to "1"
|
¤ Preserve Trigger. |
Trigger |
Description: |
Roll = Two. |
|
Players: |
¤ Current Player. |
Conditions: |
¤ Current Player has exactly 2 deaths of Nexus.
|
¤ Current Player has exactly 1 deaths of Gateway. |
Actions: |
¤ Set Deaths Of Gateway to "0".
|
¤ Display For Current Player: "You rolled a two!"
|
¤ Preserve Trigger.
|
¤ Comment: Roll = Two. |
And then make a trigger for each subsequent roll. I'm lazy, if you want to use the system then you do it.
CODE
1 - 1, 2, 3, 4, 5, 6 | 2, 3, 4, 5, 6, 7
2 - 1, 2, 3, 4, 5, 6 | 3, 4, 5, 6, 7, 8
3 - 1, 2, 3, 4, 5, 6 | 4, 5, 6, 7, 8, 9
4 - 1, 2, 3, 4, 5, 6 | 5, 6, 7, 8, 9, 10
5 - 1, 2, 3, 4, 5, 6 | 6, 7, 8, 9, 10, 11
6 - 1, 2, 3, 4, 5, 6 | 7, 8, 9, 10, 11, 12
This gives all the posibble values of dice rolling, 36 of them, equally. I picked a base of 28 so that the trigger cycle happens once every second. (28*36=1008) If someone wants to use hyper triggers in conjunction with a system like this, they can simply use a second death counter to add "wait time." As this is untested, StarCraft may be unable to differ in such small numbers, but I believe it is able to. If not, many dice rolls cannot happen quickly, but either way dice rolls can happen within seconds of each other without problems. Easily usable in a monopoly type map without problems.