I made various widgets that I have tested for some time now. Today, I share the best ones with you!
I publish each of them under GNU GPL v2. They all deactivate themselves if no longer needed, for example if spectating.
Overshooter 3.4AoE units overshoot on closest enemy outside rangeThis one became famous as the insane Badger widget in
this battle. 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.
Scallop < Warrior < Brackman's Scallop < Brackman's Warrior
Here you can see a picture of ranged Warriors in action. (Yes, they are actually damaging those buildings.)
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.
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.
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.
Nano Factory Assist 2.0When newly built or received from other player, Nanotowers assist closest own factory in range or closest allied factory if no own in rangeIt'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.
Scorcher Close Attack 1.1If Scorcher receives an attack command, a move command close to the target is inserted beforeIf 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.
Idle Factory Reminder 2.0Reminds oneself of own idle factoriesThis is the most simple but also most useful widget. It outputs notifications about your idle factories and triggers a warning sound.
Squad Autojoin 3.1Invites players of own team with < own WHR-500 if they are the only ally to join squadI 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.
These widgets are not perfect, but probably good enough to be helpful.