What I want to say is, original requirement and your requirement are not compatible.
What you are proposing is not an improvement of an existing system, it is a different system.
To be honest, when I first read this post I was a bit unsure what you thought the original requirements were. Since the original request was marked as 'complete', I thought the feature was already working as intended, and that we were just trying to refine it a bit.
But after talking to UchuuKaizoku, I realise that that you weren't just going for a system loosely inspired by apoc. It was literally meant to have soldier equipment strictly reserved so that items were effectively stored on the soldier rather than in the base or the craft. I didn't realise that was the aim, because I don't think the current implementation achieves it - and I prefer the current implementation compared to that strict goal anyway!
So Meridian, you were right. I probably was proposing a different system. A system that is very similar to what is currently implemented, but not the same as the 'apoc' idea that was originally intended. I think this whole discussion is a bit foggy, with different people having different understandings of how things currently work, and different ideas of how things should ideally work.
I've taken a bit of time to write some notes about what I think the
three different systems are. Option 1 being standard xcom, option 2 being something close to what we have currently, and option 3 being the strictly reserved soldier equipment system. I'll paste those details in a moment. But let me just say I thought option 2 was more-or-less what everyone was aiming for here and I was enjoying using that system. I'm reasonably happy with what we have currently implemented. But I have no interest in using option 3 whatsoever, and I think it could be a bit of a nightmare to implement and maintain. So although the original idea might have been something closer to option 3, I'd urge people to think carefully about what they actually want. It would be a shame to spend a lot of effort 'fixing' discrepancies in the current system only to end up with something less useful.
Here's are the details that I've written down for the three options:
(`*` means implemented already. `#` means currently unimplemented. `?` means the current implementation is ok, but I have a suggested change.)
Option 1: standard
aka: ignore soldier equipment
-------------------------------------------------------------
* (Standard original OXCE behaviour)
* Soldiers' remember what items they last used, but do not bring any items with them or reserve items for any reason.
? Inventory changes from the base screen, the craft screen, or pre-battle are saved - updating the soldier's remembered items list. (Although, perhaps it would be better to not save pre-battle changes - just for consistency with the other options.)
* Items can be sold, transferred, or used in any way - as normal - with no special restrictions.
* Moving soldiers does not trigger any movement of items.
* Craft item template save/load affects all items on the craft, including any items equipped by the soldiers.
* Craft inventory screen shows only the items that are currently in the craft.
Option 2: the currently implemented 'alternative system'. (This is my preference.)
aka: request soldier equipment-------------------------------------------------------------
* Soldiers' remember what items they last used. This is their 'preferred equipment' list.
* Inventory changes from the base screen or the craft screen are saved as the soldiers' current 'preferred' equipment. Changes made in pre-battle, or during battle, are not saved.
* Items can be sold, transferred, or used in any way - as normal - with no special restrictions.
* Moving soldiers on / off a craft will also move their preferred equipment list with them (if the items are available in the base).
* Equipment of the soldiers on the craft cannot be separately moved off the craft. (They must be either unequipped first, or the soldier must be moved off the craft.)
* Items in the base's storage can be added to the craft, regardless of whether they are equipped by other soldiers in the base.
# Craft item templates save/load affects only the unequipped items on the craft. (i.e. templates refer to the craft's extra items, not including the preferred inventory of soldiers currently on the craft.) (Edit: I've got other thoughts about this now, so it might be worth ignoring this one, or discussing further).
* Craft inventory screen shows all items available in the base - including items by soldiers not on the craft. (Items can therefore be 'shared' by multiple soldiers. i.e. Two or more soldiers can have the same unique item in their preferred equipment list.)
* Changes made to soldiers' equipment from the base screen or the craft inventory screen will result in equivalent changes to craft items.
? When a soldier is moved onto a craft, if there were not enough items in the base to add the full equipment list to the craft, the missing items should not be removed from the craft when the soldier is removed. i.e. Adding a soldier to the craft then immediately removing the soldier should not have any net effect on the craft's equipment list.
Option 3: strict apoc
aka: reserve soldier equipment-------------------------------------------------------------
* Soldiers' remember what items they last used; and they are treated as literally 'holding' these items at all times. The items are strictly reserved, preventing for all other uses.
* Inventory changes from the base screen or the craft screen are saved as the soldiers' current 'reserved' equipment. Changes made in pre-battle, or during battle, are not saved.
# Equipment held by soldiers cannot be sold, transferred, researched, or used in manufacturing. Items held by soldiers should not appear in the base storage screen, with the exception of the 'force sell' screen when storage is overfull.
# Transferring a soldier to another base also transfers their held items.
# When a soldier is injured, they drop all items. (This is a technical issue only. The inventory screen is unavailable for injured soldiers.)
* Moving soldiers on / off a craft will also move their equipment with them.
* Equipment of the soldiers on the craft cannot be separately moved off the craft. (They must be either unequipped first, or the soldier must be moved off the craft.)
# Equipment of the soldiers not of the craft cannot be added to the craft. (The items are reserved by the soldiers still in the base, and therefore should be unavailable for the craft. We cannot share or steal the equipment of other soldiers.)
# Craft item templates save/load affects only the unequipped items on the craft. (i.e. templates refer to the craft's extra items, not including the preferred inventory of soldiers currently on the craft.)
# Craft inventory screen shows all items available in the base - excluding any items held by soldiers not on the craft. (Items can not be shared by multiple soldiers. If a soldier has a unique item in their equipment list, then no other soldier can equip that item.)
* Changes made to soldiers' equipment from the base screen or the craft inventory screen will result in equivalent changes to craft items.
----
Implementation notes:
* The current version of the game stores an inventory list for every soldier, but these items are not actually stored by the soldier. The soldier's items are always stored by the craft or base. Therefore, the 'strict apoc' setting must explicitly check the items list of each soldiers to manually reserve those items from other usages. This makes implementing the strict setting (option 3) a bit tricky, and potentially creates a code maintance issue - since every type of item usage / transfer must always check these item lists.
* Regarding the last dot-point in option 2, about moving soldier on and off craft. This is what we were discussing earlier in this thread. For me, it is important that moving a soldier onto a craft and then off the craft again should not result in any net change. And to ensure this, we might need to store the craft's "extra" items as a separate list, so that they can be remembered even when some of those items are currently being used for a soldier's inventory. We could simply ignore this, and the result would be a bit of minor inconvenience in the craft inventory changing sometimes due to not enough spare items; but I think it would be nice to fix it. The issue doesn't happen in option 1, because soldier's don't bring their equipment; and it doesn't happen in option 3 because the items on the craft would not be allowed to include missing items from the soldier's inventory in the first place.
And finally, let me just clarify that I'm not really requesting that we have a three-option system implemented in the game. We could do that and it might be good, but I don't really mind what happens. I'm just trying to clear up some confusion about what I was aiming for and what other people might be aiming for. If the goal is just to have the standard system and 'reserved soldier equipment' as an alternative system, then that's fine - but I'll just stay out of it. I'm only really interested in using option 1 or 2.