Solarius:Hi Meridian, we have an interesting bug reported by a player
We investigated and what happened was that he lost all facilities to bombardment (except for the lift), but somehow the craft and people still remained, so once this base was attacked by aliens, no X-Com units could be placed on map
Here are timestamps he provided:
https://youtu.be/qJJH4bJ6XYE?t=19350 - building
https://youtu.be/7kwIazE30v0?t=1657 - first strike
https://youtu.be/7kwIazE30v0?t=2367 - 2nd and 3rd in a row strike
https://youtu.be/7kwIazE30v0?t=3332 - 4th strike
Meridian:yeah, that's how xcom works
it won't fire any people at the base, at worst it cancels transfers from other bases
you can read more about what happens on facility destruction in comments here:
https://github.com/MeridianOXC/OpenXcom/blob/oxce-plus/src/Savegame/Base.cpp#L1872specifically for living quarters here:
https://github.com/MeridianOXC/OpenXcom/blob/oxce-plus/src/Savegame/Base.cpp#L2026xcom is mean, but it doesn't randomly kill your people, that would be too low even for xcom
as for how to fix this issue... I guess I can just make base defense auto-fail if no xcom units can be placed on the map?
or do you have any other idea(s)?
Solarius:This seems the best solution.
Also, was the idea to have base inventory check immediately after missile strike dropped? (to see if there is no storage/prison space/living quarters overflow after buildings got destroyed?) This would not kill anyone but force the player to transfer or sell the excess. (Similarly after the base defence, since it can, too, result in buildings getting blown up.)
Meridian:the check is done once every full hour
is that enough or does it need to be instant?
Solarius:Hard question... normally it should be enough, but the guy got struck by 2 missiles within 1 hour and this somehow prevented the check from happening. So either this function should be reviewed, or there should be an extra check immediately after bombardment/base defence.
Meridian:ok, I'll add a check 5 seconds after air strike/base defense