Can you link to the cards in question? If not from a site in your country perhaps from another like Newegg (USA) or Overclockers (UK)?
Assuming the HD4870 has a reasonable cooler, it's the best way to go as far as performance goes but if you live in a hot climate it might be better to use the better cooled card and sacrifice some performance for a more stable system and less fan noise.
The HD5770 has similar performance to the HD4870, runs cooler and only needs a single power connector but it may be unavailable in your country or just too expensive
From a personal experience, having actually had the card I'll say: stay away from the HD4870. The one I had ran at 90C under load at 100% fan speed, which was loud enough to hear clearly through my gaming headphones! It was returned.
The HD4850 seems to be OK, even the Newegg customers seem to like it, which is reassuring enough for me to recommend it.
The bad news is that you will HAVE to change the PSU, its +12v output is not enough to run either card.
Do not play tf2 myself, but I think it's more CPU than GPU dependant. Source games in general do well with less powerful cards and Nvidia seem to have better Linux support than ATI so I'd suggest either a 9600GT or the low power 9800GT: