Sorry for the mega--bump, but seeing as there's been a whole slew of feature suggestions added recently, I was hoping this one could be looked at again. From what I can tell the relevant checking routines are right there in the code alrady so it should be a realtively simple addition (please correct me if I'm wrong!
). I also have a couple of other closely-related suggestions which I don't think warrant a separate thread, so I'll put them here.
Code: Select all
CheckSight(int tid1, int tid2)
Returns TRUE if there is a clear line-of-sight between any actors with TID of tid1 and any with TID of tid2.
My second suggestion is an additonal actor property for DECORATE: FOV (int angle
). This property would determine the width of the angle in front of the actor within which they can see targets. The default would be 180, which appears to be the standard logic for enemies (as any time you venture further than level with them in their peripheral vision, they wake up). Values of, say, 30 would mean that enemies would only detect targets moving directly in front of them, and a value of 360 would be equivalent to setting the +LOOKSALLAROUND flag (cf the Archvile).
The three things I have suggested - DECORATE action function, DECORATE actor property, and ACS function - would with clever use open up many new possibilities for adding enhanced intelligence to enemies, and would also facilitate many new environmental features such as security cameras (in conjuntion with a looping SetActorAngle script, for example) and Half-Life
style sentry guns. Your consideration is much appreciated.