Command & Conquer™ Remastered Collection

Command & Conquer™ Remastered Collection

CFE Patch
A__Gun 19 Jun, 2020 @ 7:20am
Commando and general guard mode improvements
This started with some feedback on the changes you've made to the commando, but I did some digging and think it needs it's own topic!

Firstly, your change notes specify that the Commando is now meant to automatically seek targets when either on guard or attack moving. From my observations he will also fire when idle i.e. when the player has not pressed G and/or Ctrl+Alt-Clicked. This suggests that either the Greatest_Threat method is being called during the idle state (Which surely it shouldn't be..?) or that there is in fact no idle state, and idle units are in fact always on guard and the G key does nothing.... I couldn't work this one out!

Looking more at the Greatest_Threat method, there are other specific cases to force/stop certain weapons targeting certain things. The code for the Commando's weapon is currently:
return(TechnoClass::Greatest_Threat(threat | THREAT_INFANTRY|THREAT_BUILDINGS));
This means he ends up firing at vehicles (Which he'll never win against) and buildings (Which he should only be able to target with C4). I'm not 100% on the syntax, but I believe changing it to the below would force only infantry to be considered:
return(TechnoClass::Greatest_Threat(THREAT_INFANTRY));
That's my only real issue with idle/guard seeming to behave the same, so if that can be changed then no need to look further into that!

Finally, I did some more digging into how guard works in general. The header comment on the FootClass::Mission_Guard_Area method specifically states the unit is only meant to chase enemies up to a certain range before returning to their guard point. There is also an IF statement in there that seems to do that, but only takes effect when the target enemy has been destroyed (or otherwise becomes an illegal target). Would be great to have an option to make guard mode work in this way (Which surely is preferable if not the intended behaviour). Would just need to change the condition to something like:
if ((!Target_Legal(NavCom) || ActiveCFEPatchConfig.EnableLimitedGuard) && ...)
< >
Showing 1-4 of 4 comments
Mikeagan 20 Jun, 2020 @ 2:08am 
To my knowledge, normally a unit will attack anything in attack range without moving. This is the idle/guard setting for all units, like a turret or guard tower. The unit will not move to attack even when attacked. Typing “G” puts the unit into area guard in which the unit will chase and attack anything that enters its area. They are quite different. I will agree that the commando should only automatically attack infantry in both situations unless specifically attacked by a vehicle.
Also typing “S” seems to not only stop current action, but put the unit in sleep mode not responding to anything in range until told otherwise.
A__Gun 20 Jun, 2020 @ 6:19am 
Do you think that indefinite chasing (Rather than only chasing to a certain range) is desirable though? As I said, the code itself seems to suggest that wasn't intended.
Mikeagan 20 Jun, 2020 @ 11:33am 
The unit should only chase within a certain range of where they were stationed based on its view/sight/range. The commando does have a large sight radius. If one moves a unit far enough away it should stop chasing.
A__Gun 20 Jun, 2020 @ 12:49pm 
I've had my units chase enemies most of the way across the map on more than one occasion. They only stop if their target ceases to be a legal target (sold, killed, unreachable etc)
< >
Showing 1-4 of 4 comments
Per page: 1530 50