Modying Properties of a Class
<p>Finding a suitable question title and -tags for this question struck me rather hard.</p>

<p>Basically I've built a game wherein several units/mobs will be present. Now I'm interested in building a system, so each unit can have effects/buffs/debuffs applied to them that will modify the properties of the unit. Examples of such effects could be a frost effect that'd slow the movement speed of the unit, a health boost and so forth. The plan was to have these effects implemented via scripting so it would be possible to create custom user effects.</p>

<p>I'm looking for advice on how I could implement this. For now I've thought about creating a effect class. Then each applied effect would be an instance of the class, and would have a reference to the unit it was applied to. The effect would have at least two methods, an apply and unapply method for respectively applying- and unapplying.</p>

<p>The problem with this, is that it doesn't allow for different ways of cumulative percentages. Like, should two times 10% increase on a value 100 equal 120 or 121.</p>

<p>Not that it really matters, but it's being coded in C#</p>
