Fix: Dragon Tanks can now force fire close Allies, Neutral targets with their primary weapon
- Closes #1589
1.04:
The projectile travels through units in close proximity.
https://user-images.githubusercontent.com/11547761/199525027-88273bd9-89b8-4d18-9a06-8cf769b60880.mp4
Patch:
The projectile collides with units in close proximity.
https://user-images.githubusercontent.com/11547761/199525042-589595a5-3dd9-4508-b82f-5d76e0bff464.mp4
There is also a discrepancy between the minimum range of the Black Napalm and standard flame weapons, which is a question of design and needs further discussion.
Weapon DragonTankFlameWeapon
MinimumAttackRange = 0; 10.0
End
Weapon DragonTankFlameWeaponUpgraded
MinimumAttackRange = 10.0
End
Oh wow this is great. I do wonder, could there be any reason EA did this? Could the fixed behaviour have unintended side effects?
Does this also solve https://github.com/TheSuperHackers/GeneralsGamePatch/issues/48 ?
I think neither normal nor Black Napalm should have minimum range. Similar thing as the Toxin Truck. Obviously a bug (you can tell by the comment that minimum range was removed at some point during development), and it makes no sense for upgrades to regress certain aspects of a weapon.
This should be tested vs fast moving Technicals moving past the Dragon before and after change.
This is great, i wonder if this fixes the jankiness of dragon tanks flame walls as well, as a flame wall less than minimum range could be the reason why it starts moving like a dumbass
Does this also solve #48 ?
After coincidentally encountering some enemy red guard upon a hill while trying to test this and realising the flames weren't affecting them either, I believe I might have the solution to this. The key is the MaxThrustAngle in the DragonTankFlameLocomotor, which is set to a measly value of 1.
1.04:
A MaxThrustAngle of 1 prevents the projectile from hitting targets that are on a different height / angle to the Dragon Tank.
https://user-images.githubusercontent.com/11547761/199674100-9406518a-81ec-4807-a07d-791a79e7d52f.mp4
Patch:
A MaxThrustAngle of 30 allows the projectile to hit targets at a different height / angle to the Dragon Tank.
https://user-images.githubusercontent.com/11547761/199674127-275a265a-3d46-414e-8753-720f01d37867.mp4
I also tried applying values of 20 and 25 but not all the Red Guard were effectively burned.
Nice find. I assume 90 would be the max, but would then allow the Dragon Tank flame to shoot up a cliff possibly? Though I wonder, wouldn't the MinTargetPitch, MaxTargetPitch range prevent such an attack before MaxThrustAngle has any relevance? Does Dragon Tank have MinTargetPitch, MaxTargetPitch setup?
Nice find. I assume 90 would be the max, but would then allow the Dragon Tank flame to shoot up a cliff possibly? Though I wonder, wouldn't the
MinTargetPitch,MaxTargetPitchrange prevent such an attack beforeMaxThrustAnglehas any relevance? Does Dragon Tank haveMinTargetPitch,MaxTargetPitchsetup?
The MinTargetPitch and MinTargetPitch values strangely result in the Dragon Tank doing nothing if the target is outside the pitch range. I tried adding MaxTargetPitch = 10 and this was the outcome:
https://user-images.githubusercontent.com/11547761/199686470-c36cf4f8-7362-4e70-9130-35cca45a5138.mp4
Other tanks also have this setup and will not be able to shoot up and down more than 15 degrees. This can be very awkward on steep terrain and gives Rocket Men a big advantage.
Drive by test
Original Fast Drive By
Technical takes no damage when speeding past attacking Dragon Tank.
https://user-images.githubusercontent.com/4720891/199827127-387e454c-4eac-406e-a089-632a40bc5586.mp4
Patched Fast Drive By
Technical takes around 50% damage consistently when passing Dragon Tank.
https://user-images.githubusercontent.com/4720891/199827147-64749361-19bc-48c4-9944-60548bb554af.mp4
Original Slow Drive By
Gattling takes no damage when speeding past attacking Dragon Tank.
https://user-images.githubusercontent.com/4720891/199828668-f36da4ec-3606-4d4b-bf0f-4a0bea410095.mp4
Patched Slow Drive By
Gattling takes 100% damage when speeding past attacking Dragon Tank.
https://user-images.githubusercontent.com/4720891/199828710-6fa9cf0e-a29d-4dfb-95cf-638327bbe502.mp4
Conclusion
This change would make Dragon Tank much better against ground units. Opponent would need to keep safe distance to Dragon Tank at all times. In Original game Dragon Tank cannot keep up with quick vehicles. This is why players often try to use Flame Wall ability to try hit something.
I think the 1.04 Dragon Tank is very janky. I also think this change makes it too strong. It already is a mass produced unit in some matchups. Especially Stealthgen with the lack of Scorpions may get in trouble with this.
The TryToFollowTarget = Yes part is responsible for the increased strength. Perhaps this change should be split into 2 or 3 separate ones. I suspect MaxThrustAngle = 30 will not be as controversial.
This needs split.
New Pulls
- #1588
- #1589
In Behavior = MissileAIUpdate there is another setting that is responsible for the way the Dragon Tank projectile behaves the way it does: DistanceToTargetForLock = 0. Removing this setting will make it behave identical to the GLA Toxin Tractor Stream. The Toxin Stream can hit targets much better. Increasing the value of DistanceToTargetForLock to 5, 10 or beyond is also an option, however it performs similarly to the TryToFollowTarget = Yes setting and in turn changes the way the Flame weapon works fundamentally. Setting DistanceToTargetForLock to around 10 also comes with its own issues, where the flames no longer uniformly hit their target, which is caused by the sweep of the turret.
I conclude that Dragon Tank weapon cannot be changed by INI without fundamentally changing the entire weapon performance. I recommend to leave it as is.
This is how the weapon performs right now. It is unable to hit close targets, but it overshoots and can hit targets further away than it can actually target to. This opens nice possibility for Micromanagement, as the effective weapon range can be optimized by firing near the actual target.
https://user-images.githubusercontent.com/4720891/213935621-ab407d15-854a-4163-a0d5-d6efa7e59c64.mp4
To be closed if there is no more input for this.
Why close? I thought we agreed it's a good change
Changing the Projectile behavior of Dragon Tank makes it a quite different unit.
it still is the same unit to me just less frustrating to use, besides, if we agreed it's a good change what does it matter then?
from what i see is that the angle fix essensial to fix #48 , and the the closer range just makes sense, it doesn't even buff it all that much it just makes it equal with all the other better units that could shoot that close, i don't see this change risky at all.
This change now is entirely about "Dragon Tanks can now hit close targets with their primary weapon". Changing this makes Dragon Tank a different unit.
This change now is entirely about "Dragon Tanks can now hit close targets with their primary weapon". Changing this makes Dragon Tank a different unit.
I've tested this pretty thoroughly. The minimum attack range standardisation has little to no impact on gameplay. How does this make it a different unit?
I've tested this pretty thoroughly. The minimum attack range standardisation has little to no impact on gameplay. How does this make it a different unit?
That change you mention is isolated with #1588. This pull is just about the projectile (aka TryToFollowTarget = Yes & co).
The only thing is that the minimum range prevented friendly fire quite a lot, can sometimes be hard controlling this with bigger armies, or when it's a little laggy.
The only thing is that the minimum range prevented friendly fire quite a lot
How? Friendly fire doesn't hit close-proximity allies in 1.04, as demonstrated in the first video. That's all this change does if you take out the other fixes.
The only thing is that the minimum range prevented friendly fire quite a lot, can sometimes be hard controlling this with bigger armies, or when it's a little laggy.
I think you are refering to Fire Wall. That is Secondary weapon. Primary weapon was touched only.
I agree to not changing the mechanics of primary weapon Dragon tanks, except that I would remove the minimum range from the Napalm versions, because the weapon has no minimum range before the upgrade, and having upgrades introduce regressions is weird.
Is everyone fine with closing this? Fire will continue to travel through explicitly targeted close-proximity allies without damaging them.
I'm not ok with this, but it seems that it's getting closed regardless of our opinions
I conclude that Dragon Tank weapon cannot be changed by INI without fundamentally changing the entire weapon performance. I recommend to leave it as is.
This refers to changes to TryToFollowTarget, DistanceToTargetForLock. What this change does. Touching this will fix the issue yes, but it will also significantly buff the Dragon Tank in other ways (unintended).
If you find a way to fix the close proximity issue without changing the missile behaviour in other ways, feel free to open a Pull for it.
I conclude that Dragon Tank weapon cannot be changed by INI without fundamentally changing the entire weapon performance. I recommend to leave it as is.
This refers to changes to
TryToFollowTarget,DistanceToTargetForLock. What this change does. Touching this will fix the issue yes, but it will also significantly buff the Dragon Tank in other ways (unintended).
In what ways? I observed no fundamental changes in performance or significant buffs.
For example when a Quad drives by the Dragon Fire. In Original, Quad would take no damage. With this change, Quad dies. See above "Drive by Test".