ive just been to the shop and they said would a FX HD4670 or a Gforce gt40 work?
There never was any Geforce "GT40" made, sorry.
The only reason to suggest an HD 4670 (getting pretty old now, itself, over three years' worth) would be if your mainboard is so old that you do not have PCI-e for the video bus (and there actually is no such thing as an "
FX HD 4670"). If that really was the case (AGP), there is no unused Geforce card available that will play the game correctly. nVIDIA last produced AGP cards in 2006, their Geforce 7n00 generation, but to fill that gap, they kept on selling FXes (eight years old, and 6200s, seven years old).
For a PCI-e mainboard, the correct gaming card is either an HD 6670 or an HD 6770, from among Radeons, and the GTX 550 Ti from among Geforces. The only one of these that doesn't require a 450 watt power supply is the HD 6670.
http://www.gpureview.com/show_cards.php?card1=629&card2=654