Skip to content

IncompatibilityRule

Namespace Nfty.Core.Model in assembly Nfty.Ticket.

public record IncompatibilityRule

A constraint on which variants may be rolled together. Legality is a function of the variant selection alone, so it is decided before any pixel is touched — a rejected roll costs only the rolls themselves.

Constructors

IncompatibilityRule(RuleType, RuleTarget, IReadOnlyList<RuleTarget>)

public IncompatibilityRule(RuleType Type, RuleTarget When, IReadOnlyList<RuleTarget> Targets);

Parameters

  • Type (RuleType) - Whether the targets are forbidden or required.
  • When (RuleTarget) - The trigger: the rule applies only when this variant was rolled.
  • Targets (IReadOnlyList<RuleTarget>) - What is then forbidden or required.

Properties

Targets

public IReadOnlyList<RuleTarget> Targets { get; init; }

What is then forbidden or required.

Type

public RuleType Type { get; init; }

Whether the targets are forbidden or required.

When

public RuleTarget When { get; init; }

The trigger: the rule applies only when this variant was rolled.