Openapoc: Transferring Agents with a Full Alien Containment refuses the transfer

Created on 10 Apr 2018  路  5Comments  路  Source: OpenApoc/OpenApoc

For some reason if you are transferring agents from one base to another and either the sending or receiving base has a full alien containment, the transfer is refused even if living space is available

Agents DONT use Alien Containment to live in ;)

https://youtu.be/j3oZRBJoI94

!BUG! low priority

All 5 comments

The issue also appears to apply to store items and equipment transfers as well!

Problem persists as of 11th/10/2018
Alien containment not even full!

image

From a quick look at the code....

When any transfer is done it checks everything even if it's not affected by the transfer.

transferscreen.cpp, line 293

`
if (vecChanged[i] || forceLimits)

        {

            crewOverLimit = b.second->getUsage(*state, FacilityType::Capacity::Quarters,
                                               vecCrewDelta[i]) > 100;

            cargoOverLimit = b.second->getUsage(*state, FacilityType::Capacity::Stores,
                                                vecCargoDelta[i]) > 100;

            alienOverLimit = b.second->getUsage(*state, FacilityType::Capacity::Aliens,
                                                vecBioDelta[i]) > 100;

            if (crewOverLimit || cargoOverLimit || alienOverLimit)

            {

                bad_base = b.second->building->base;

                break;

            }

        }

`

it could set flags for whether there's been any transfer of a particular type. Alternatively any measure that prevents over-filling of alien containment should solve it.

Logically, we only want to do checks for what is transferred with regards to space/money/effect on organisations/etc.

This should be updated every-time an item or item type is modified by the user

Not sure if that's easy to work your magic on though?

See also #505

Was this page helpful?
0 / 5 - 0 ratings