We already know item teleport is bad for game balance but we had no good ideas last time, however Sapher's last game reminded me of the problem.
This time I have an idea that might actually help :
"Items cannot be moved to/from units that already ended their turn"
As simple as that. Unless I'm missing something, this shouldn't interfere with the intended use of moving items, and shouldn't be particularly unfun or anything like that. If a unit ended their turn, it means you already didn't move their items until the end of the turn since their turn represents the entire time period until the beginning of your next turn from the unit's perspective. In other words the current system basically means you teleport items back in time - if 25 combat turns represent one full overland turn and you use the item on 3 different heroes for the full 25 turns each then either the item travels back in time or the battles didn't actually happen in the same overland turn...
Implementation would be, if a slot on a hero that ended their turn is clicked, regardless of reason (removing or adding item), a red message window appears that says "This unit already finished their current turn.". I think items collected at end of combat will still find the unit in "active" state, as they are marked inactive only after the end of the entire movement process, which is after the end of combat and getting treasure, so heroes would still be able to equip items they found immediately. But it's best to double check that before deciding to add this feature.
(AI's would probably ignore this rule but they can't move items with the intent to to use it twice a turn anyway - they only move items at the start of their turn, when a new hero is hired, or when new items are obtained, and 99% of the time the items end up on the same hero as that's the optimal setup.)
This time I have an idea that might actually help :
"Items cannot be moved to/from units that already ended their turn"
As simple as that. Unless I'm missing something, this shouldn't interfere with the intended use of moving items, and shouldn't be particularly unfun or anything like that. If a unit ended their turn, it means you already didn't move their items until the end of the turn since their turn represents the entire time period until the beginning of your next turn from the unit's perspective. In other words the current system basically means you teleport items back in time - if 25 combat turns represent one full overland turn and you use the item on 3 different heroes for the full 25 turns each then either the item travels back in time or the battles didn't actually happen in the same overland turn...
Implementation would be, if a slot on a hero that ended their turn is clicked, regardless of reason (removing or adding item), a red message window appears that says "This unit already finished their current turn.". I think items collected at end of combat will still find the unit in "active" state, as they are marked inactive only after the end of the entire movement process, which is after the end of combat and getting treasure, so heroes would still be able to equip items they found immediately. But it's best to double check that before deciding to add this feature.
(AI's would probably ignore this rule but they can't move items with the intent to to use it twice a turn anyway - they only move items at the start of their turn, when a new hero is hired, or when new items are obtained, and 99% of the time the items end up on the same hero as that's the optimal setup.)