Character deals damage to TargetCharacter.
damage = Value + Character.Strength;
if (Character.Vigor.IsActive) damage += Character.Vigor.Value;
if (TargetCharacter.Thorns.IsActive) thornDamage = damage * TargetCharacter.Thorns.Value;
Character.Damage(thornDamage);
TargetCharacter.Damage(damage);