Thanks for posting Junk ... I have some comments.
First .. MikeAP ... I agree with you ... it's bogus. You have some great points! Perhaps I should introduce special "crew" teams that can only capture the other sides gun.
For the most part, it's just for fun really. Besides, I figured folks don't seem to mind capturing stuff in BF ... eh, why not twist reality a bit more.
Funny story ... In the Battle of Singling, some Germans tried to capture an M4 that was abandoned ... it's motor worked ok, the gun was knocked out. I think they got as far as starting the motor when the US realized it wasn't their boys in the tank.
Ok ... some quick notes ...
Not only can you capture a gun, but you can also "re-man" your own destroyed guns.
The player will note that in the screenshot, the US Soldier was "killed" and not removed from play. Unfortunately I don't see a means of removing a soldier "mask" without animating his death.
Next, you will see that the "re-manned" AT gun has a German soldier, not a US Soldier (or shall I say, a soldier in US skins). This is because I'm using code to add the gun back into play, not a unit that is added via the SQUADS.CSV. I'm trying to get away from adding units to the CSV because it has limits and I'm hoping we (as modders) can have the ability of swapping out skins (and voices) without duplicating and subsequently adding it to the CSV.
The "captured" gun (if it was german owned) will retain it's native tongue. Even though it belongs to side(0), that's you, it appears that the game engine is reading the "MadeBy" definition in the CSV

. Now, to fix this, I can add specific conditions that will play the correct voice, but at the moment, I'm leaving it alone.
Anyway, just to let players know ... It's not perfect, but it's functional.
Thanks!