To prevent a free shield bonus in BG3 (which, imo, is the real problem of the free unlimited weapon swapping), the RAW solution is to make switching to/from a shield should require an action. Every other weapon swap could be free. Shields should only provide +2 AC when wielded.
But if we want to reduce that penalty a bit, one of the following might be appropriate:
- swapping to a shield could take a bonus action
- you could only get 1 free weapon swap per turn, preventing you from always switching to a shield-weaponset at the end of your turn
- perhaps your weapon set is locked in once you make your full attack (all attacks granted to you by your X Extra Attacks, including Haste actions)
Good ideas. Your second or third options might be easier to implement in the engine Larian have created, and I'm liking option 3.
Or indeed the earlier suggestion that ...
I would say that Larian should prevent swapping weapons after you make your attack, but what if you have 2 full actions and you need to melee one and snipe the other target.
I guess the choice of whether to disable weapon swapping after one weapon attack, or after all attacks, would then come down to whether we thought that our characters should be able to make a ranged and melee attack in a single turn. If I'm understanding what folk are saying about 5e correctly, only if they had at least three actions in one turn, as they'd need to attack with one action, swap to another weapon with another, then attack with that. So generally, most classes wouldn't be disadvantaged (compared to 5e) if they were stuck for the turn with the weapon set they first make an attack with, but I guess fighters could be?