I feel merlin and firewalker attacks should be optionally moved to manual (d-gun). They both have large splash damage that could potentially hurt your own units more than theirs, and they both have a large reload time. I would like to use the same configuration lobsters have. I duplicated a fire walkers NAPALM_SPRAYER with a BOGUS_NAPALM_SPRAYER. D-gun and normal attack both fire, however they have different reloads and are considered 2 different weapons. I have allow added attack_toggle, which adds the option to disable attack for firewalker, but it is still attacking. Can someone lead me to what I need to know to accomplish this?
+0 / -0
|
Just use a default state of "Hold fire".
+2 / -0
|
I do use hold fire, however when I tell my army to attack, they also fire. I want to control large area long reload attack as a d-gun.
+0 / -0
|
change selection priority for merlin.
+0 / -0
|
That’s a good way to accidentally leave a Merlin behind and loose it. Yes there are other solutions; however, since I am doing the work, I am allowed be very picky, as long as I my changes are optional and I keep existing method. I have a PR that optionally adds formation ranks. That feature is needs a good way to prevent my firewalkers and Merlins from shooting at a flea in the middle of my formation. Using d-gun to control is almost the best solution in my opinion. At this time, I will only let you guess what I think is the best solution.
+0 / -0
|
Amnykon so what I do is assign a number to my formations. For example, I select my main fighting force and go CTRL-1. That gives my main fighting force the number 1. CTRL-3 is my artillery and it becomes a simple matter to press 3 and tell them to engage an objective. So if you set them to hold fire and assign them a special group it will be easy to engage at will.
+0 / -0
|
When I press 7 that's bad news for the enemy because it means I have Merlin ;) That's how good I think Merlin is.
+0 / -0
|
Command group formations work when your pushing for on one front, but how do you use them when you need to push on multiple fronts? It’s not uncommon to have a north, south, and center front. With 3 fronts, I get 3 command groups per front. This does work, but is it the best solution? My formation rank PR has a lower APM tax, allowing for more fronts. My goal is to lower the APM tax. Making some units attack a manual fire does increase APM tax, but other ways to control them have an even higher APM tax.
+0 / -0
|
Lobster was given this treatment. It has an option to "Allow Attack Commands" or not. Disabling it and it can only fire using Fire Special Weapon commands.
+3 / -0
|
Amnykon I guess we play differently. If I spread myself too thinly I tend to start missing opportunities and getting caught off guard. Even 1v1 I tend to porc on one flank and push on the other.
+0 / -0
|
I think I figured it out. It can be solved in function script.BlockShot().
+0 / -0
|
I got it working. Hardest part was finding out how lobster works, particularly with function script.BlockShot(). Next hardest part was to move CMD_DISABLE_ATTACK out of the unit_thrower gadget and into it's own gadget. Since it's mainly gadget changes, I can't mock using it until it is build into an update. I'll create a PR for this soon.
+0 / -0
|
don`t misread this as a complaint, but just on a sidenote, different unit types should be controlled individually anyway. it is fine to add new options. do you often leave behind your builders when you evacuate a spot fast?
+0 / -0
|
I use 3 types of builders
-
Part of army. Used for reclaim/repairs. These are selected with my army.
-
Global build command controlled. Global build command allows me to retreat with them without destroying my build queue. I created a selection rank override for this category, so they are not selected with my army. There is an active PR for this change, though it is only a widget change, so I am currently use it. I would also like to add the GBC state to factories, so I can more easily select what type of con I want to make.
-
Manual controlled builders. I would like to create a constructing override selection rank override for this group of builders. Frequently they are selected with my main army and It destroys their build queue that normally consists of pork. They are usually supported with my army and surrounding pork, so I don't need to retreat with them as often.
Builders flex between these three types, though it is harder to move them out of Global build command due to them spreading out and lower selection rank. Yes, I am trying to lower APM taxes so I can more easily push on 2 fronts while slowing down their push on a third. Oddly, changing the weapons on merlin and firewalker to manual fire will lower the APM tax. It is interesting that people are shocked when I tell them that Starcraft is too slow for me. I think they refer to the high APM requirements of the game, while I am referring to the interaction of the players.
+2 / -0
|
Created a PR for this. While I am at it, are there any other units that need this treatment?
+0 / -0
|
quote: I do use hold fire, however when I tell my army to attack, they also fire. I want to control large area long reload attack as a d-gun. |
How are you telling your army to attack? If you're doing it with Attack Move and that causes a hold fire Firewalker to fire, then you've found a bug.
+0 / -0
|
Right clicking on an enemy unit issues an attack command, so it’s not entirely bug. I don’t think they should; however, this is a matter of opinion, hence the need for the option. Issue area attack has the same issues. In both these cases, short range units advance while Merlin’s, firewalkers. Not really a good strategy choice, and not what I want.
+0 / -0
|
quote: Right clicking on an enemy unit issues an attack command, so it’s not entirely bug. |
Yes, right clicking on an enemy issues an Force Fire command. That isn't a bug. The bug would be if units on Hold Fire attacked on Attack Move. There is either a bug here or there isn't. Stepping back to talk about the feedback more as a developer, right clicking on a unit in an enemy army to tell your army to attack the enemy army is a discouraged form of control. Players 'should' be using Attack Move or Move, in a line, as otherwise their units will clump up. So the most impactful fix would be to fix whatever is causing players to right click on enemy units to tell their army to attack. But if this only affects 0.1% of players, then maybe any fix would impose too much cost elsewhere to be worthwhile. See https://github.com/ZeroK-RTS/Zero-K/pull/4646 for my technical comments.
+1 / -0
|
I use attack units in circle, as this prioritizes finishing off individual units faster than attack move, where their units are not focused on finishing the kills. This is stronger with daggers, as 3 daggers kill a glaive in their opening attack. A third of their units die with doing very little damage. This does cause clumping of units, but it is a trade off, so it’s situational. I don’t want them near any riot unit, except to takeout an outlaw. Sometimes I want my units to chase and movement speed has a higher priority then staying in formation. Other times the range bonus for retreating units makes this a bad idea. My new implementation in theory allows force fire. I will need to experiment with this. I may be happy with allowing forced fire, and removing dgun for these 3 units(or remove it from lob if you are diffing from master) Everyone is in their own 0.1%. I am primarily supporting the ones in my 0.1%. If others like it, I am happy to help. I feel the RTS gene is known to have high APM requirements and causes a deterrence for new players, so for me, lowering APM taxes are a priority.
+0 / -0
|
To make a widget implementation of this, I would need an equivalent to gadget:AllowCommand() which is executed per unit. widget:UnitCommandNotify() is the closest hook; however, widgets need to specifically call it, and most commands do not call it. Most do not. It is also called after, which would make widget drawing include the units that should have their command blocked in their drawing. widget:CommandNotify() is global and ran once for all units. These functions receive the list of units to command with Spring.GetSelectedUnits() and iterate over them. I am considering replacing all 108 instances of Spring.GetSelectedUnits() with widgetHandler:GetSelected(cmdID, cmdParams, cmdOpts) that calls widget:ModifySelected(units, cmdId, cmdParams, cmdOpts) -> units? Note: At a later time, I would like to add the ability to select units before they become wireframes, so they can receive orders such as modify a build queue for a factory, morph a shield or cloak structure, set build priority, or give the unit to a team member. This way I don't need to wait for a con to get to the site before giving these orders. In theory, a select ghost units widget could add ghost units (probably negative id's) with a widget:ModifySelected function.
+0 / -0
|