* Fix Magazine Repack underwater - fix#5513
Also prevent common goKneeling function underwater
* Fix loading patients underwater - fix#5515
* Fix load object underwater
* Fix take nozzle on jerry can underwater
* Fix refuel underwater conditions further
* Use isTouchingGround, Make refuel semi-compatible
reports false if head is out of the water, we want true even if we are not diving
* Less interact exceptions duplication
* Use animationState to determine if unit is swimming, create common function and use it instead of isTouchingGround
* Fix condition
* Support dragging underwater
No carrying due to animation timing issues and other misc things
* Allow Medical Legs SelfActions underwater
* Fix fixPosition function underwater (use getPosATL instead of getPos)
* Fix fixPosition's slope adjustment for non-gravity objects, Do the same for objects without simulation as well
* Add submenu with vehicles to cargo load menu
* replace private ARRAY with keyword
* fix ace function macro using
* filter vehicles without cargo
* add Load condition, clean params, fix param reusing
* replace nearEntities with nearestObjects, add macro
* optimize, del magic, replace count with forEach
* del unused functions
* del useless _this parameter
Allows cargo objects to be added via classname and reduces simulation/synchronization overhead. Objects become physical upon unloading and cannot be re-made virtual, only scripts can add such virtual objects.
Also separates the player feedback from the loading/unloading code and adds a progress bar.