The problem is rather that a Gold in your deck seems to outweigh the negative impact of a Ruins in your deck. Also, I don't want Robber Knight to be almost useless once the Ruins run out.
Could it be a Curse instead?
How about, "If you did, gain a Gold. Otherwise, gain a Silver"?
You could also change what the condition restricts:
Gain a Gold. Gain a Ruins. If you do: +2 actions
Not exactly elegant, but i think it should be somewhere between LastFootnote's first fix and the original, power wise.
Thanks for your suggestions! I'm going to respond to the suggestions of both of you by firstly explaining what kind of card I want:
A Village, and the +2 Actions should not be conditional on something that runs out.
I don't want another Silver gainer (there's Provisioner), and it's also not Robber Knight's desired role.
I don't want another Curser, especially not one that curses the card player (Juggler does that). PS: In fact, I'm considering taking out Demagogue and perhaps salvage one of its effects for another card).
Current Robber Knight has a short-term benefit (Actions) and a long-term benefit (Gold) but only a long-term penalty (Ruins), and it should have a short-term penalty as well. So I'm in most favour of this version:
Cost: $3+
+2 Actions. Gain a Ruins. You may discard a card. If you do, gain a Gold. | When you buy this, you may overpay for it. For each $1 you overpaid, you may look through your discard pile and trash a card from it.
The short-term penalty (discard 1) is small and also adds flexibility in case you just want a Village at a point. Which is why I also consider adjusting the cost to $4 (instead of $3) but that greatly depends on how strong the overpay option really is, especially compared to Doctor's. What do you think?