EA22

## Change Log

* Added enemy patrols to Spec Ops mode.
* Tweaks to how non-alerted AI detects players, slightly speeding up their target acquiring.
* Improved hero armor so it also works on instances where you get hit by a ton of low-damage projectiles at once (shotguns and weapons with high ROF but low damage).
* Hero armor now blocks explosion damage more consistently.
* Slightly reduced number of soldiers defending each Spec Ops objective
* Changes to the spawn position of the player squad. On large maps they spawn around 200 meters away from the closest objective, and on tiny maps they spawn on a regular spawn point flag.
* If you pick Patriot TAC in spec ops, all teammates will also pick it, overriding existing settings.
* Added Important audio mix group intended for game mode, UI or story audio clips that really should be heard.
* At least one ally will now always spawn with an Anti Armor weapon in spec ops.
* Improvements to where the attackers spawn in spec ops, I tried making it pretty random, but you should always spawn around 200 meters from an objective, and never closer (if possible).
* Added spawn indicator to spec ops minimap that shows you exactly where you will spawn.
* Added support for Wedge, Vee, Line, File, Echelon and Diamond squad formations. AI Squads will randomly select one of these.
* AI infantry squads can now have 3-5 members, instead of always 3.
* Fixed a bug where AI would sometimes switch between medic/ammo bags and their primary weapon at unprecedented speeds.
* Added water footstep sounds and particle effects.
* Added DataContainer class to Ravenscript and beta branch mod tools.
* Added RequiredGameVersion class to beta branch tool, place it next to your content mod components to notify the user if they are on an unsupported version of the game.
* Fixed an issue related to one-way-neighbors where AI squads would attack flags their team already owns.
* Added AlwaysManTurrets defense strategy, which allows squads to defend a flag only if there are available turrets.
* Updated infantry pathfinding on Dustbowl to make AI able to reach the AT turret on airbase.
* Updated glacier navmesh, which fixed an issue where the bots would never use the stairs at the center of the map.
* Fixed a bug where bots would sometimes prioritize firing at the player over other closer targets.
* Added Attack Target squad quick order. Access it by aiming down sights when holding the squad order button.
* Attack target orders override the current squad rules-of-engagement setting, so you can use it to force attack enemies in spec ops.
* Using the attack target order when not being in a squad will mark that target as a "High Priority Target" for your teammates for 60 seconds. High Priority Targets are prioritized over closer targets by AI.
* You can now cancel squad point orders by pressing the aim down sights button while holding the squad order button.
* You can now cancel squad target orders by releasing the aim down sights button while holding the squad order button.
* Fixed spawn countdown timer after 3 years.
* When taking over a bot in skirmish mode, that bot will temporarily have hero armor, reducing the chance of their death while the player is not in control of the bot.
* Reduced vehicle knock back from projectiles when they are manned by soldiers.
* Fixed the water on rafts level so the fish don't fall out of the water!!!
* Increased max audio channels from 32 to 64, meaning up to 64 sounds can play at once.
* AI now never halts and targets other enemies while entering a vehicle.
* Added combat movement to Infantry, they will now strafe their target when in close range (less than 50 meters). This makes it so infantry is less likely to just rush a point while taking massive fire.
* AI can now hear footsteps of nearby actors walking/running while standing. To suppress this effect, you can crouch/prone walk.
* Fixed a few bugs related to camera management and UI elements such as the UiTargetTracker.
* Fixed some bugs related to turrets and orders initialization at the start of games.
* Fixed an issue where AI would not spawn after manually configuring flags.
* Melee damage will now always deal damage to enemies in range if possible. Allies will only be damaged if no enemies are hit by the melee attack.
* Bots can no longer harm allies when using melee weapons.
* Improved bot melee charge.
* Sabre and Wrench weapons can no longer kill infantry units in one hit at max health.
* Added third person unholster animations
* If a primary weapon is set to be effective against infantry, the game will now force set that weapon to be preferred - meaning that bots will always prefer it over any secondary weapons so long as ammo is available and the target is in effective range.
* Fixed an issue where the mouse input would sometimes stop working in menus.
* Slightly reduced AI sprint speed to better match player.
* Added a few more default bot names.
* Misc improvements to the AI.
* Increased max plane sensitivity by request.
* Updated Transport Helicopter Model.
* Added suspension to tranport heli landing gear.
* Transport Helicopter now also carries one copilot.
* Updated heli miniguns to stabilized mounted turrets, making them easier to aim. Also updated their camera.
* Added occlusion maps to all updated vehicles.
* Cars now have a bit of downforce applied, allowing them to remain upright with slight ease.
* Added Transport Helicopter to Vehicle Testing.
* Proximity fuse projectiles can no longer be triggered by the vehicle they were fired from.
* Added error handling to handle issues with custom vehicles that would sometimes cause projectiles to float/get stuck in mid-air.
* Projectile spawning/despawning has been significantly improved, which should yield higher and more stable frame rates. The effect of this optimization should be most noticable on computer with slower RAM.
* Content mod file data is now unloaded after all content has been initialized, which removes unneccesary RAM usage. You can expect to see a 5-20% reduction in RAM usage when running the game with a lot of mods.
* Code Exceptions caused by mods will no longer be logged in normal gameplay, which should help with performance hits from mods that cause many errors.
* When running the game in test content mod mode, any code errors will be logged to the Ravenscript console. There is also an error count text message that will notify you if new unread errors have been logged whenever the console is closed.
* Added support for OnEnable() and OnDisable() functions on ScriptedComponent behaviours. These are similar to Unity's built in OnEnable and OnDisable functions.
* Added support for disabling number row inputs, allowing modders to use the number row for special inputs.
* Exposed AudioSource output mix.
* Added Debug class for drawing rays/lines ingame. Please note that this feature is only available in test mode for performance reasons.
* Exposed IngameDialog to Ravenscript.
* Exposed audio source audio spectra and sample data fetching.
* Exposed portrait generation to RS via PortraitGenerator.
* Exposed Player/Game mode hud values in GameManager.
* Improvements to function variant selection, making Ravenscript calls prefer functions with float parameters over ints.
* Added DataContainer class to Ravenscript and mod tools.
* Exposed setting the actor team skin (which automatically affects all actors of a team whose skin has not been overriden).
* Exposed resetting an actor's skin to its' team skin.
* Exposed Runtime Animation Controller to RS.
* Spawn Points now have an outgoing and incoming neighbor list, which keeps track of what flags can be attacked by / can attack a particular spawn. Also exposed to RS.
* Spawn countdown is no longer visible when the player actor has been deactivated through RS.
* Create orders through Order.Create()
* Orders can have a Vector3 override target, allowing RS to control exactly where bots go to complete an order.
* Added support for Wedge, Vee, Line, File, Echelon and Diamond squad formations.
* Added support for custom squad formations, allowing modders to create their own formations via RS through squad.SetCustomFormation()
* Exposed Remove and Split functions to Squads.
* Exposed various configuration values.
* Exposed Add and Remove subweapon functions to Weapons.
* Exposed weapon.ReloadInstantly.
* Exposed Goto() functions, allowing RS to control AI movement.
* Added OverrideDefaultMvoement() which disables all built in game movent, giving RS full control over bot movement.
* Exposed AiActorController.hasPath to RS.
* Exposed AiActorController IsInFOV()