Previously, debug builds would assert if a packet was not a psnet packet
type. Port scans and general traffic checks could trigger this for any
public server. So we should just log these events instead, taking into
account that some of this traffic could be malicious in nature.
Adds the standard Lua extension library for bit operations in Lua 5.1.
http://bitop.luajit.org/
Note that this library is normally called "bit", but it is added here as "luabit" because there is already a FSO scripting library called "bit".
Due to both the AI code and the ship movement code calling warp departure logic, enabling `Framerate_independent_turning` caused ships with the no-departure-warp flag to depart twice. Removing the call to `shipfx_actually_warpout` fixes this.
More fundamentally, this untangles and organizes the arrival and departure logic as it pertains to effects. The actual arrival and departure code is moved to the `shipfx_actually_warpin` and `shipfx_actually_warpout functions`. This simplifies `WarpEffect::warpEnd()` and allows `WarpEffect` and its subclasses to only concern themselves with the visual effects.
This also fixes a logging statement that could never actually be printed due to `delta_ms` being the wrong sign in the if() check.
When parsing escort priority, FSO asserts that the escort flag is set,
but this assertion is only valid in missions output by FRED; it's fairly
trivial to use notepad to remove the flag without removing escort
priority, thereby triggering the assertion. Furthermore, there doesn't
actually seem to be a problem if a parse object has an escort priority
without the escort flag; the engine won't actually use the priority
until/unless the ship is manually added to the escort list, and then it
doesn't matter that one is set.
* Add callback for user specified availability status
* Add target restrict hook
* Fix Restrict hook and add not self restrict type
* Fix documentation
* Fix typo
* scope the ai achievability enum
* fix scoped achievabiliy
Instead of keeping the old variables around (except renamed to include "_deprecated") and manually checking them one at a time with a lot of duplicated code, use existing information to generate the messages automatically.