This commit fixes partly the floating loot issue. The whole problem is not fixable. It is a problem with different components. The main point is that the position can be half water and half not. The second is the building collision and the collision of the loot object. Normally setPosATL should do its work but the object moves on the placement. Adding a special handling for buildings that are mostly over water did the best job so far.
With fixWaterPos = 1; in the building class which has those floating loot problems, the position gets converted to ASL which is better over water but not always. Some loot objects are still floating a bit but I could reach all of them. It is a way better as before.
If a military building is selected then matching groups of RU,US,EU, or CZ loot are selected so that weapons, ammo, and attachments spawned in the building will match. Reintroduce loot position shuffling. This was a feature in 1.0.5.1. I'm not sure if this is necessary but it changes the order in which the loot positions are selected so the loot would in theory be in different places each time.
Zeds and loot should not spawn in trader cities by default, regardless
of whether the server uses safe zones.
For servers that do not use safezones, the only other things affected
are salvage and instant kill for vehicle explosions in trader cities.
Neither is a significant issue. Most servers use safezones anyway.
Following d750f57, changed to exitWith so the check is only called once
instead of multiple times. Also no need to call again in
zombie_generate, since that function is only called by
building_spawnZombies which already checks it.
AFAIK there is no performance difference between configFile and
missionConfigFile.
Using missionConfigFile by default simplifies loot scripts and makes the
extra config variable unnecessary. It's one less step for admins to
customize their tables.
I did not realize lootPosSmall positions can only fit small objects like
soda cans etc., so it is not okay to merge them with the main lootPos
arrays. This separates them back out.
This solution will work like 1.0.5.1 CfgLootSmall. <GroupName>Small is
used to spawn additional loot if the building type has lootPosSmall
positions available. It is not necessary to add a <GroupName>Small for
types that do not have lootPosSmall positions.
Some of these objects may still be too big or too small (knife,
binoculars, matchbox, etc.) for the positions and look out of place. If
that is the case please submit a pull with any problematic ones removed
from the <GroupName>Small groups (check if they aren't in 1051
CfgLootSmall first). Balance and rates may need adjustment as I just
took the normal groups and removed large objects from them while trying
to keep similar items to 1.0.5.1 CfgLootSmall.