I’m new to vassal and I was wondering if there is a way to add effects to cards like adding defence to a piece or simply damage?
Yes, Vassal can do that. Essentially, you’d add a Trait to the card - triggered when the card is played - that will update whatever setting(s) will bring about the effect you need.
There’s a number of possible techniques to change one piece from another. One of the most common is to adjust a Layer trait on the target piece using a Global Key Command fired from the other (card in your case).
You’ll likely need a bit more than this to cater for situations where the target piece can’t be affected by the card (e.g. it’s already “damaged”) etc but the above is the core of it.