N1MM has four colours for a station in WAE rather than the usual three, and the manual and the RTTY tutorial both spell them out. Red is a new multiplier, as everywhere else. Green is a new station with QTC traffic still to exchange, which takes the more-than-one-multiplier colour because WAE has no second multiplier to use it. Black is a station already worked that still has traffic left — worth working for the QTC points alone — and it is a colour of its own, N1MM's "Color of a QTC callsign in the WAE contest". Grey is a dupe with nothing left, the same as in other contests. The verdict carries how much traffic is left with the station, so the callsign box, the check window, the bandmap and everything else that colours a station say the same thing. The contest works the number out: ten with a station on the other side of the contest, none with one on our own continent, and none once the ten have gone. Every other contest answers nought. The log counts the QTC rows per station as they are indexed rather than counting them again for each station judged, because the bandmap judges every spot it holds on every pass. The verdict line says it in words as well, so a dupe reads `dupe · 7 QTCs left` rather than `dupe`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0157i7PiZyqBkquxS9A6FTdQ
19 lines
755 B
C#
19 lines
755 B
C#
namespace Nonemm.Contests;
|
|
|
|
/// What the log says about a contact: whether it counts, what it scores, and
|
|
/// which multipliers it brings in. Every window that colours a station reads
|
|
/// this, so one station cannot look worked in one place and new in another.
|
|
/// `TrafficLeft` is how many more QTC lines may be exchanged with the station,
|
|
/// which is nought in every contest but WAE. A station with traffic left is
|
|
/// worth working even as a dupe, and N1MM paints it in a colour of its own.
|
|
public sealed record Verdict(
|
|
bool IsDupe,
|
|
int Points,
|
|
IReadOnlyList<Multiplier> NewMultipliers,
|
|
int TrafficLeft = 0)
|
|
{
|
|
public static readonly Verdict Dupe = new(true, 0, []);
|
|
|
|
public bool IsNewMultiplier => NewMultipliers.Count > 0;
|
|
}
|