public virtual void Use(IConsumer c) { int i; PlayerStat stat; for (i = 0; i < statsToModify.Length; i++) { stat = statsToModify[i]; switch (stat.stat) { case PlayerStatsType.HitPoint: c.Consume(this); c.AddHitPoints(stat.value); break; case PlayerStatsType.MagicPoint: c.Consume(this); c.AddMagicPoints(stat.value); break; case PlayerStatsType.Madness: c.Consume(this); c.AddMadnessPoints(stat.value); break; } } }