1 |
Deactivate
all
your
other
builder
widgets!
I
made
the
ultimate
widget!
[url=https://e1.
pcloud.
link/publink/show?code=XZsKcHZmOjYvMIfJS0Ox2tEs9isrYD7R4hX]Smartest
Builders[/url]
implements
an
action
priority
list
in
dependency
of
resource
situation
as
a
multidimensional
table
of
functions.
I
publish
it
under
GNU
GPL
v2.
Here
is
the
table:
|
1 |
Deactivate
all
your
other
builder
widgets!
I
made
the
ultimate
widget!
[url=https://e1.
pcloud.
link/publink/show?code=XZsKcHZmOjYvMIfJS0Ox2tEs9isrYD7R4hX]Smartest
Builders[/url]
implements
an
action
priority
list
in
dependency
of
resource
situation
as
a
multidimensional
table
of
functions.
I
publish
it
under[url=https://e1.
pcloud.
link/publink/show?code=XZiwD4ZmkgdSh4IiqQAuYH1qr99xVpcW667]
GNU
GPL
v2[/url].
Here
is
the
table:
|
2 |
\n
|
2 |
\n
|
3 |
|| || [b]Metal deficit[/b] || [b]Metal normal[/b] || [b]Metal excess[/b] ||
|
3 |
|| || [b]Metal deficit[/b] || [b]Metal normal[/b] || [b]Metal excess[/b] ||
|
4 |
|| [b]Energy deficit[/b] || 1. Reclaim enemy nanoframes, 2. Reclaim metal, 3. Reclaim energy, 4. Repair ally, 5. Build own, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Reclaim energy, 3. Reclaim metal, 4. Build own, 5. Repair ally, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Reclaim energy, 3. Build own, 4. Repair ally, 5. Reclaim metal only if no team metal excess, 6. Return to original position ||
|
4 |
|| [b]Energy deficit[/b] || 1. Reclaim enemy nanoframes, 2. Reclaim metal, 3. Reclaim energy, 4. Repair ally, 5. Build own, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Reclaim energy, 3. Reclaim metal, 4. Build own, 5. Repair ally, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Reclaim energy, 3. Build own, 4. Repair ally, 5. Reclaim metal only if no team metal excess, 6. Return to original position ||
|
5 |
|| [b]Energy normal[/b] || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Reclaim metal, 4. Reclaim energy, 5. Build own, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Build own, 4. Reclaim metal, 5. Reclaim energy, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Build own, 3. Repair ally, 4. Reclaim energy, 5. Reclaim metal only if no team metal excess, 6. Return to original position ||
|
5 |
|| [b]Energy normal[/b] || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Reclaim metal, 4. Reclaim energy, 5. Build own, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Build own, 4. Reclaim metal, 5. Reclaim energy, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Build own, 3. Repair ally, 4. Reclaim energy, 5. Reclaim metal only if no team metal excess, 6. Return to original position ||
|
6 |
|| [b]Energy excess[/b] || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Reclaim metal, 4. Build own, 5. Reclaim energy only if no team energy excess, . Return to original position || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Build own, 4. Reclaim metal, 5. Reclaim energy only if no team energy excess, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Build own, 3. Repair ally, 4. Reclaim metal only if no team metal excess, 5. Reclaim energy only if no team energy excess, 6. Return to original position ||
|
6 |
|| [b]Energy excess[/b] || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Reclaim metal, 4. Build own, 5. Reclaim energy only if no team energy excess, . Return to original position || 1. Reclaim enemy nanoframes, 2. Repair ally, 3. Build own, 4. Reclaim metal, 5. Reclaim energy only if no team energy excess, 6. Return to original position || 1. Reclaim enemy nanoframes, 2. Build own, 3. Repair ally, 4. Reclaim metal only if no team metal excess, 5. Reclaim energy only if no team energy excess, 6. Return to original position ||
|
7 |
[spoiler]Unfortunately, the forum doesn't allow line breaks in table cells. LaTeX integration when?[/spoiler]
|
7 |
[spoiler]Unfortunately, the forum doesn't allow line breaks in table cells. LaTeX integration when?[/spoiler]
|
8 |
Here is my favorite line of code where the function is called from the table: {{{noActionFound = orderTable[status.metal][status.energy][orderTableIdx](unitID, x, z, range, mobile, bp, busy, rateChange)}}}[b]Remarks:[/b]
|
8 |
Here is my favorite line of code where the function is called from the table: {{{noActionFound = orderTable[status.metal][status.energy][orderTableIdx](unitID, x, z, range, mobile, bp, busy, rateChange)}}}[b]Remarks:[/b]
|
9 |
- Priority is given to manual commands.
|
9 |
- Priority is given to manual commands.
|
10 |
- The widget never repairs/builds/reclaims units that are more than half captured.
|
10 |
- The widget never repairs/builds/reclaims units that are more than half captured.
|
11 |
- The widget never repairs/builds/reclaims Lamp/Claw/Glint/Firefly/Viper/Gull even though it would be possible to repair Lamp.
|
11 |
- The widget never repairs/builds/reclaims Lamp/Claw/Glint/Firefly/Viper/Gull even though it would be possible to repair Lamp.
|
12 |
- The widget handles all units that can build including Caretaker/Strider Hub/Athena/Funnelweb but excluding area cloaked area cloakers.
|
12 |
- The widget handles all units that can build including Caretaker/Strider Hub/Athena/Funnelweb but excluding area cloaked area cloakers.
|
13 |
- When reclaiming enemy nanoframes, choose target according to the following priority list:
|
13 |
- When reclaiming enemy nanoframes, choose target according to the following priority list:
|
14 |
* 1. Minimum capture progress
|
14 |
* 1. Minimum capture progress
|
15 |
* 2. Maximum build progress
|
15 |
* 2. Maximum build progress
|
16 |
- When repairing, choose target according to the following priority list:
|
16 |
- When repairing, choose target according to the following priority list:
|
17 |
* 1. Finish current repair target (if exists) before going to next one except if resource situation has changed such that other action is better than repairing or repair target went too far away or repair target has been more than half captured or repair target has been partially reclaimed by somebody
|
17 |
* 1. Finish current repair target (if exists) before going to next one except if resource situation has changed such that other action is better than repairing or repair target went too far away or repair target has been more than half captured or repair target has been partially reclaimed by somebody
|
18 |
* 2. Minimum capture progress
|
18 |
* 2. Minimum capture progress
|
19 |
* 3. Minimum relative health
|
19 |
* 3. Minimum relative health
|
20 |
- When building, choose target according to the following priority list:
|
20 |
- When building, choose target according to the following priority list:
|
21 |
* 1. Minimum capture progress
|
21 |
* 1. Minimum capture progress
|
22 |
* 2. Immobile > mobile
|
22 |
* 2. Immobile > mobile
|
23 |
* 3. Maximum build progress
|
23 |
* 3. Maximum build progress
|
24 |
- Usually, mobile builders extend their build range by the customizable parameter buildRadiusExtension. But for reclaiming enemy nanoframes, builders only use their basic build range without walking to the enemy.
|
24 |
- Usually, mobile builders extend their build range by the customizable parameter buildRadiusExtension. But for reclaiming enemy nanoframes, builders only use their basic build range without walking to the enemy.
|
25 |
[spoiler]Additionally, you can use the widget [url=https://e1.pcloud.link/publink/show?code=XZ1KcHZCcQ8vwwh9O59X5dtiG70g7jOGLmX]Stupid Builders[/url]. It notifies the player and other widgets of potential crashes and reactivations of Smartest Builders. This allows for making other builder widgets such that they activate themselves automatically as a fallback in case of a Smartest Builders crash by looking at the variable "WG.smartestBuildersCrashed". During my testing period however, the latest version never crashed.[/spoiler]
|
25 |
[spoiler]Additionally, you can use the widget [url=https://e1.pcloud.link/publink/show?code=XZ1KcHZCcQ8vwwh9O59X5dtiG70g7jOGLmX]Stupid Builders[/url]. It notifies the player and other widgets of potential crashes and reactivations of Smartest Builders. This allows for making other builder widgets such that they activate themselves automatically as a fallback in case of a Smartest Builders crash by looking at the variable "WG.smartestBuildersCrashed". During my testing period however, the latest version never crashed.[/spoiler]
|