Loading...
  OR  Zero-K Name:    Password:   

Post edit history

Brackman's Tools of Witchcraft and Widgetery

To display differences between versions, select one or more edits in the list using checkboxes and click "diff selected"
Post edit history
Date Editor Before After
8/29/2021 9:02:43 AMDErankBrackman before revert after revert
8/27/2021 9:24:17 PMDErankBrackman before revert after revert
Before After
1 I made various widgets that I have tested for some time now. Today, I share the best ones with you! 1 I made various widgets that I have tested for some time now. Today, I share the best ones with you!
2 \n 2 \n
3 I publish each of them under GNU GPL v2. They all deactivate themselves if no longer needed, for example if spectating. 3 I publish each of them under GNU GPL v2. They all deactivate themselves if no longer needed, for example if spectating.
4 \n 4 \n
5 [b][url=https://e. pcloud. link/publink/show?code=XZu3O0Zm631DbMU7RuCTJfPd11ebXu5VQd7]Overshooter 3. 3[/url][/b] 5 [b][url=https://e. pcloud. link/publink/show?code=XZmdI0ZJ6OvjggTeN8XhTlPRszegLXfxttX]Overshooter 3. 4[/url][/b]
6 [i]AoE units overshoot on closest enemy outside range[/i] 6 [i]AoE units overshoot on closest enemy outside range[/i]
7 \n 7 \n
8 This one became famous as the insane Badger widget in [url=https://zero-k.info/Battles/Detail/1183408]this battle[/url]. But that is only the tip of the iceberg of what it can do. Due to AoE, many units have a higher effective range than their nominal range. This widget makes full use of it. For example, Warrior=Reaver has higher range than Scallop. But a Scallop with my widget has higher range than a Warrior without it. A Warrior with my widget has even higher range than a Scallop with my widget. 8 This one became famous as the insane Badger widget in [url=https://zero-k.info/Battles/Detail/1183408]this battle[/url]. But that is only the tip of the iceberg of what it can do. Due to AoE, many units have a higher effective range than their nominal range. This widget makes full use of it. For example, Warrior=Reaver has higher range than Scallop. But a Scallop with my widget has higher range than a Warrior without it. A Warrior with my widget has even higher range than a Scallop with my widget.
9 Scallop < Warrior < Brackman's Scallop < Brackman's Warrior 9 Scallop < Warrior < Brackman's Scallop < Brackman's Warrior
10 [url=https://e.pcloud.link/publink/show?code=XZf3O0ZWur8FF18UzBOiOSUM54KVViGAQJ7]Here[/url] you can see a picture of ranged Warriors in action. (Yes, they are actually damaging those buildings.)[img]https://filedn.eu/lITmPq6ons27CUhXaH3cBg0/Overshooter_Screenshot.png[/img] 10 [url=https://e.pcloud.link/publink/show?code=XZf3O0ZWur8FF18UzBOiOSUM54KVViGAQJ7]Here[/url] you can see a picture of ranged Warriors in action. (Yes, they are actually damaging those buildings.)[img]https://filedn.eu/lITmPq6ons27CUhXaH3cBg0/Overshooter_Screenshot.png[/img]
11 My widget extends the range of the following units: Glaive, Warrior=Reaver, Pyro, Wolverine=Badger, Tremor, Scallop, Venom, Recluse, Brawler=Nimbus, Spidermonkey, Tiamat, Kodachi, Corsair, Dooms Day Machine=Desolator. The units usually attempt to overshoot their range by 200. Only Tremor overshoots by 500 and Wolverine by infinity. 11 My widget extends the range of the following units: Glaive, Warrior=Reaver, Pyro, Wolverine=Badger, Tremor, Scallop, Venom, Recluse, Brawler=Nimbus, Spidermonkey, Tiamat, Kodachi, Corsair, Dooms Day Machine=Desolator. The units usually attempt to overshoot their range by 200. Only Tremor overshoots by 500 and Wolverine by infinity.
12 \n 12 \n
13 My widget keeps track of the overshooter units, iterates through them efficiently and makes sure that no more than 1 command per frame is sent to not overload the server with commands. If done naively, an overshooter widget wouldn't work properly for units that move away from the enemy because then, the target would become out of range until the next update or one would have to reduce range in general. In order to use maximum range without too high update frequency, my widget considers the future 3D movement of the unit until the next update in the target calculation. 13 My widget keeps track of the overshooter units, iterates through them efficiently and makes sure that no more than 1 command per frame is sent to not overload the server with commands. If done naively, an overshooter widget wouldn't work properly for units that move away from the enemy because then, the target would become out of range until the next update or one would have to reduce range in general. In order to use maximum range without too high update frequency, my widget considers the future 3D movement of the unit until the next update in the target calculation.
14 \n 14 \n
15 It does not interfere with player commands: By keeping track of which commands are from the player and which ones are from the widget, it gives priority to player commands. It also obeys fire states and treats "return fire" as "fire if not cloaked". Nowadays, return fire is only accessible through the GUI as default state, though. It also removes its own commands if enemy units enter the nominal range because then, the target priority widget is more important than distance minimization. 15 It does not interfere with player commands: By keeping track of which commands are from the player and which ones are from the widget, it gives priority to player commands. It also obeys fire states and treats "return fire" as "fire if not cloaked". Nowadays, return fire is only accessible through the GUI as default state, though. It also removes its own commands if enemy units enter the nominal range because then, the target priority widget is more important than distance minimization.
16 \n 16 \n
17 [b][url=https://e.pcloud.link/publink/show?code=XZh3O0ZzaJHPaiWaVz3rvGXQXMFKYwiO9YX]Nano Factory Assist 2.0[/url][/b] 17 [b][url=https://e.pcloud.link/publink/show?code=XZh3O0ZzaJHPaiWaVz3rvGXQXMFKYwiO9YX]Nano Factory Assist 2.0[/url][/b]
18 [i]When newly built or received from other player, Nanotowers assist closest own factory in range or closest allied factory if no own in range[/i] 18 [i]When newly built or received from other player, Nanotowers assist closest own factory in range or closest allied factory if no own in range[/i]
19 \n 19 \n
20 It's not a perfect nano widget, but in contrast to other ones, it ensures that nanotowers do their most important job reliably: assist the factory. Strider Hubs are also treated as nanotowers and Missile Silo and Strider Hub are also treated as factory. If you already have nanotowers, you can just place the nanoframe of another one and walk away to expand. The other nanotowers will automatically finish the new one and then go back to assisting the factory that they had previously assisted. They will remember if you have changed their target factory manually. 20 It's not a perfect nano widget, but in contrast to other ones, it ensures that nanotowers do their most important job reliably: assist the factory. Strider Hubs are also treated as nanotowers and Missile Silo and Strider Hub are also treated as factory. If you already have nanotowers, you can just place the nanoframe of another one and walk away to expand. The other nanotowers will automatically finish the new one and then go back to assisting the factory that they had previously assisted. They will remember if you have changed their target factory manually.
21 \n 21 \n
22 [b][url=https://e.pcloud.link/publink/show?code=XZW3O0ZGfu6I08y81VgCrMrK1Al9J3Lg8V7]Scorcher Close Attack 1.1[/url][/b] 22 [b][url=https://e.pcloud.link/publink/show?code=XZW3O0ZGfu6I08y81VgCrMrK1Al9J3Lg8V7]Scorcher Close Attack 1.1[/url][/b]
23 [i]If Scorcher receives an attack command, a move command close to the target is inserted before[/i] 23 [i]If Scorcher receives an attack command, a move command close to the target is inserted before[/i]
24 \n 24 \n
25 If you attack with Scorcher, you want to get close. You usually don't want to stop when you barely have your enemy in range. I was wondering why my widget's behavior was not the default. My widget also works as it should if a queue of multiple commands is given to multiple units of which some are Scorchers. 25 If you attack with Scorcher, you want to get close. You usually don't want to stop when you barely have your enemy in range. I was wondering why my widget's behavior was not the default. My widget also works as it should if a queue of multiple commands is given to multiple units of which some are Scorchers.
26 \n 26 \n
27 [b][url=https://e. pcloud. link/publink/show?code=XZ83O0Zm00wmyaHF6flKoPnHMVjXflwfU3X]Idle Factory Reminder 1. 2[/url][/b] 27 [b][url=https://e. pcloud. link/publink/show?code=XZSdI0ZCUFruaDNxM5WWgWjSUkGsVgEYjFk]Idle Factory Reminder 2. 0[/url][/b]
28 [i]Reminds oneself of own idle factories[/i] 28 [i]Reminds oneself of own idle factories[/i]
29 \n 29 \n
30 This is the most simple but also most useful widget. It outputs notifications about your idle factories in spec chat to trigger a warning sound. It's not the nicest way to do it, but it works well. 30 This is the most simple but also most useful widget. It outputs notifications about your idle factories and triggers a warning sound.
31 \n 31 \n
32 [b][url=https://e.pcloud.link/publink/show?code=XZ13O0Z9crUxymBFh4H0ogkiyvrFQHNjXX7]Squad Autojoin 3.1[/url][/b] 32 [b][url=https://e.pcloud.link/publink/show?code=XZ13O0Z9crUxymBFh4H0ogkiyvrFQHNjXX7]Squad Autojoin 3.1[/url][/b]
33 [i]Invites players of own team with < own WHR-500 if they are the only ally to join squad[/i] 33 [i]Invites players of own team with < own WHR-500 if they are the only ally to join squad[/i]
34 \n 34 \n
35 I have experimented with different settings for squad joining. My first intuition was to only join with good players. My tests have shown that this makes players less proactive and less willing to do good risky and creative strategies. Also, commands of front units may inerfere. It is much better to join with noobs as they don't have the APM to meaningfully interfere with you, but you can do a lot of good with their idle units. So I have come to the conclusion to only join with players whose WHR is smaller than yours by 500. The widget also explains how to join to the invited players automatically. 35 I have experimented with different settings for squad joining. My first intuition was to only join with good players. My tests have shown that this makes players less proactive and less willing to do good risky and creative strategies. Also, commands of front units may inerfere. It is much better to join with noobs as they don't have the APM to meaningfully interfere with you, but you can do a lot of good with their idle units. So I have come to the conclusion to only join with players whose WHR is smaller than yours by 500. The widget also explains how to join to the invited players automatically.
36 \n 36 \n
37 These widgets are not perfect, but probably good enough to be helpful. 37 These widgets are not perfect, but probably good enough to be helpful.