Hi Benan,
AGP cards play Battlefield2 perfectly well! Unfortunately, it just means they can cost a bit more and the super, super high-end 3d cards are not available for AGP. Luckily, BF2 doesn't have all the latest fancy DirectX stuff like Shader Model 3.0 or HDR, so it really doesn't require those more expensive PCI-Express videocards.
I play BF2 at 1280x1024, all settings MAXED with great performance on an X800GTO, 256MB AGP. You can get these fairly cheap at $124.99:
http://www.newegg.com/Product/Product.asp?Item=N82E16814102042
If you prefer NVidia cards, this NVidia offerring will also fit the bill, 6800GS 256MB AGP - $169.99
http://www.newegg.com/Product/Product.asp?Item=N82E16814143045
Of course, you should first power-off your PC, open the case and inspect the power supply. It's a squarish device, usually near the top of the case inside, where the back side has the 3-prong hole that plugs to a cable to your house/wall power. It usually has a sticker on the inside/side that will display it's wattage. We're hoping for a 250W or 300W for any chance of pushing one of the above cards.. of course the higher, the better. It should also have a few boxes with amperage rating.. like "+12V, 19A" etc.etc. We're also interested in how many "A" it lists for the 12V (12 volt) line.
Lastly, if you're an avid Battlefield2 player.. you should also ensure you have adequate memory. BF2 is a major memory hog, I'm afraid.. and really needs over a gig to play online smoothly. 1.5 gig plays smooth, 2 gig plays ideal. As memory is cheap, this is usually not a big financial problem.. but it will again depend on how much power (power supply) your system has.