It’s in the pinned List of unfixed bugs, but you might consider using the bug-reporting template which is supposed to show up when making a topic in this forum. For example, based on the patch notes, a lot of bugs are platform-specific.
Funnily enough, this bug might have been introduced by the patch on 06 May:
Rocket carts can no longer fire more volleys than intended after quickly issuing many attack ground commands.
I noticed this on an early video from 3K: a rocket cart fired a couple rockets at an approaching cavalry, stopped firing because the unit got too close, fired the rest of that volley at another point, and then one reload period after the first rockets, fired a full volley. Unless the fixed bug was not the same as what I observed.
This behavior, in turn, was probably from the fix to Chu Ko Nus last year, which fixed the same bug that made Hussite Wagons really bad for kiting until they were changed to fire all projectiles simultaneously.
I can’t test myself though, as I don’t have DE or a PC that can run it. But, does this bug with war chariots also affect rocket carts and other units that fire multiple projectiles (which usually fire fast enough that the target is alive for all shots)?
One thing that would help if you did fill out the bug-report format is the “expected result”, especially if these bugs do affect all units with multiple, non-simultaneous projectiles.
I can’t find the game with rocket carts, but basically: the behavior I observed allowed for temporal concentration of fire, and was used to flatten a large group of crossbowmen or Rattan Archers. Not too different from just playing more skillfully by attacking with only part of a group of mangonels or rocket carts at a time (like Hera has tried to do in the past), and not noticed by the player who accidentally performed it in this case (I think TheViper but can’t find the video), but still powerful.
I’ll try to make up a solution that works for all of these units: Chu Ko Nu (with weak secondary arrows, except for doing 3x as much per arrow as a HCA to a ram); Rocket Carts; and War Chariots.
Issue: attacks stopping. They can stop because target dies, or because the attacker moves (either from an order, or as I observed, because target gets within minimum range). With War Chariots, it may be undesirable for the attack to stop when a target dies. But for Chu Ko Nus, it is desirable, since there’s a high chance that extra arrows would hit nothing.
So, and this is my opinion; if anyone disagrees, please speak up. An attack should stop when the target dies, even if the attacker is a Rocket Cart or War Chariot. The first bug reported in the video is not a bug.
After an attack stops: immediately switch targets, but for realism, apply the unit’s attack delay. This is 0.03 for Rocket Carts according to the wiki (I guess the delay between projectiles is applied to the first projectile as well), 0.25 for War Chariots (maybe for the same reason?), and 0.23 for Chu Ko Nu, which seems to be close to the time between arrows so maybe it’s the same as the others.
That is: if a Chu Ko Nu fires at a spearman with 1 HP, the arrow appears at 0.23, the next arrow would appear at 0.46, but the first arrow hits and the spearman dies at 0.42; then the Chu Ko Nu can target another unit on the next frame at 0.44, but will not actually fire until 0.67.
But another unit might not be immediately available. Let’s say that there is no second spearman, and at time 1, a neighboring Chu Ko Nu gets converted by a distant monk, presenting a target.
RedPhosphoru’s video is not clear on what causes a War Chariot to fully recharge to all bolts, after firing a partial volley. Does this currently happen after two reload periods?
Anyway: we make a new model for multiple attacks, that hopefully works with Turtle Ships which are basically completely different. I have no idea whether this model will work with charged attacks, especially weird ones like Xianbei raider where, according to the wiki, most of the damage of the charged attacked is bonus damage towards spearmen and infantry.
The model can basically be thought of like the charged attack model. If we have full charge, we start by shooting the primary projectile, for Chu Ko Nus. This uses “charge” proportional to its damage. Secondary projectiles also use charge proportional to their damage. We recover charge at a rate that keeps things the same.
If we reach charge 0, we can’t fire again until we reach charge 1. If we stop firing before charge 0, we can fire secondary projectiles again, but along with tracking charge, we also track the total number of projectiles fired to a full volley.
So, if an Elite Chu Ko Nu fires 1 primary + 3 secondary arrows, he has used 14+9 = 23 charge points out of 26 (assuming regen rate is tuned so that charge doesn’t regenerate during firing). He could immediately (after 0.23 sec) fire another arrow at another target.
Or, after 2.5 sec, regenerating 2.5/3*26 = 22 charge … ok, we just change the rules here. We don’t want to keep firing secondary projectiles because they’re wasteful against a lot of targets. We DO track the number of secondary projectiles fired.
This means that an Elite Chu Ko Nu can shoot 1 main arrow (14 charge), wait 1.5 sec, shoot 4 secondary arrows, and then 1.5 sec after the last secondary arrow, shoot main arrow again (3.89 sec after the first main arrow, normal reload period).
If the secondary arrows are fired 2.8 sec after main arrow, then they delay the next main arrow (by about 1.8 sec from its scheduled time) because charge hasn’t recovered; but even though we have full 26 charge when we shoot the secondary arrows, we only shoot 4 of them and don’t shoot a main arrow because it hasn’t been 3 sec. If we kill a target with main arrow, and we don’t try to shoot again for 3 sec, we can shoot another main arrow at 3 sec (the listed reload time, ignoring Thumb Ring) instead of the 3.89 “practical reload” time resulting from extra arrows.
For Rocket Carts and War Chariots: all projectiles are primary. Any time we shoot, we try to expend the entire charge. The restriction that, if we reach 0 charge (or technically, low enough that we must stop firing), we must wait until full charge to shoot again, still applies.
There is some possibility of “exploiting” here, basically when there would be massive overkill from rockets and we avoid a full reload period by pausing the attack; but it limits the potential for burst damage. We cannot fire one rocket, triggering the reload timer, then stop attacking and delay most of a volley until the reload timer is finished, and then fire the delayed volley and immediately a second volley.
Wow I wrote so much. Hard to tell when the edit window only shows two paragraphs.
I guess that, since it’s possible to interrupt an attack (like when target dies), charge should recover while attacking, meaning that total charge should be somewhat less than the cost of a full volley.