Prespawning from Seamless ATs
Posted: Sun Mar 18, 2007 5:27 pm
We should be able to avoid visible spawn lag quite effectively in exteriors connected by seamless ATs, by calling the spawn system to activate the adjacent area as the PC enters the seamless AT trigger, as the AT process won't even begin for another 3-6 seconds (assuming the PC doesn't "abort" the AT process by stepping back out of the AT).
However, I realize that this may introduce a hole in our defenses against ATing into hostile spawns- the spawn system is checking for PCs within visual range of the spawn target (but the PC won't be there yet at this point), and the Seamless AT system is checking the PC's AT destination for nearby hostiles (but they won't neccessarily be finished spawning yet by then). So, there may still be opportunity for the PC to sneak in, right in between the two countermeasures, and appear right next to a hostile.
My thought was that the first event will be determining the PC's putative AT destination (happens before the prespawn call, since we need to know which area to prespawn)- at this point the PC still won't be moved for 3 seconds- but we could create a waypoint there immediately, prior to the prespawn call. Then, the spawn system could be called, with a modification to the "check if a PC is within visual range" test, to also check for such waypoints. The waypoint could be destroyed after the PC "leaves" the seamless AT, to keep them from cluttering up the areas.
Sound reasonable, or does a simpler / more elegant solution suggest itself?
However, I realize that this may introduce a hole in our defenses against ATing into hostile spawns- the spawn system is checking for PCs within visual range of the spawn target (but the PC won't be there yet at this point), and the Seamless AT system is checking the PC's AT destination for nearby hostiles (but they won't neccessarily be finished spawning yet by then). So, there may still be opportunity for the PC to sneak in, right in between the two countermeasures, and appear right next to a hostile.
My thought was that the first event will be determining the PC's putative AT destination (happens before the prespawn call, since we need to know which area to prespawn)- at this point the PC still won't be moved for 3 seconds- but we could create a waypoint there immediately, prior to the prespawn call. Then, the spawn system could be called, with a modification to the "check if a PC is within visual range" test, to also check for such waypoints. The waypoint could be destroyed after the PC "leaves" the seamless AT, to keep them from cluttering up the areas.
Sound reasonable, or does a simpler / more elegant solution suggest itself?