If I buy 1,000 gold, and, by the time it arrives, I have no ore storage space, the server should drop 1,000 ore before unloading the transport.
It should first drop ore from all ores not included in the transport. If it fails to free up sufficient space that way, then it should drop ore from all ores to gain space. And then the unloading can happen, and, finally, a check that we haven't overflowed the storage.
If I buy 1,000 gold, and, by the time it arrives, I have no ore storage space, the server should drop 1,000 ore before unloading the transport.
It should first drop ore from all ores not included in the transport. If it fails to free up sufficient space that way, then it should drop ore from all ores to gain space. And then the unloading can happen, and, finally, a check that we haven't overflowed the storage.