well you definitely do not need 16gb of ram, that's overkill and a budget hurter. go down to 8, will be more than enough, for a game like bf3 they recommend 4gb of ram so 8 will be more than enough to play on high. that should save you around 20-30 bucks depending on what ram you choose and then i would suggest an upgrade in graphics card to this bad boy: http://www.newegg.com/Product/Product.aspx?Item=N82E168...
roughly equivalent to 7950 but cheaper, it might put you 10 bucks over 800 but trust me, this card is future proof and a great value as well as noticeable step up from the 7850 (good card, just not quite as good). good luck with the build
Also note that the "3470" price is for an "IN STORE PICKUP ONLY" price, so if you don't have access to a Micro Center near you, you won't get that price. If I was trying to pinch pennies on the CPU, I would have probably went with the i5 3550P model, which usually goes for around $180 shipped and just doesn't come with the iGPU (dis-abled).
Also the 7870XT I listed is a crippled 7950 and could be OC'd to 7950 levels, if your lucky, but it still is 85-90% of a 7950 performance in general.
I made sure that the price online of the 3470 will still fit his budget. I would get the 3470 just in case something happens and he has a back-up gpu to diagnose problems or keep his system running until he gets a replacement.
The 7870 XT takes up more power than the 7950 and the 7950 can overclock to stock 7970 levels. Every card could potentially overclock to the the next level stock card.