Hearing range doesn't check for "listener" death
s
sllowjoe
Upvoted, it's not clear whether this has been fixed or not.
John Gonon
Well in fact, it's even more complicated than that. Hearing doesn't check for "listener" death ... but also ...
The "located" status in not reset when moving, so when you shoot and get "located" Chirons will forever know where you are even if you move on the other side of the map.
The solution would be:
- When someone shoots a "non silent" weapon, create a "virtual" actor and tie the "located" status to it rather than the soldier (after all, they don't know that it is this soldier). Remove it at the beginning of next turn to avoid having lots of "blips" on the map.
- Reset the "located" status when moving. If you are outside hearing range, no one should be able to track your movement.
- And of course, dead "actors" shouldn't be able to hear
That means of course that the AI needs to be smarter to cope with the fact that it can not "cheat" anymore.
And I know that in the end we "cheat" too since we also benefit from it. But our soldiers lives are important, the Pandorans don't have the same problem to refill their roster.
Mark Lord
I think this is a similar problem to the Marksman skill of snipers not working if there is a dead body, nearby. Two birds with one stone!
John Gonon
Mark Lord: Not the same piece of code though. There is a "mod" for the marksman skill. And I guess I'll do a "mod" for this bug this evening. The problem is testing it. I need to find a mission where I can reproduce and try with or without the "mod"
nathanebht
I like that your looking at their code and telling them how to improve it. :)
John Gonon
The code is in method TacticalFactionVision.ReUpdateHearingImpl.
Missing code:
if (fromActor.IsDead)
{
return false;
}