Pay Oceania's high bands what they are worth

The band table stopped after 40 metres and gave every other band one point.
It should be 20 on 160, 10 on 80, 5 on 40, 1 on 20, 2 on 15 and 3 on 10:
from Oceania the high bands are the hard ones, so they pay more than 20
metres does. The WIA scoring table and N1MM's COceania.ComputePoints agree
on all six.

The catch-all hid a second fault. N1MM's table ends without one, so a band
that is not in the contest — the WARC bands, 6 metres — scores nothing;
here it scored a point.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0157i7PiZyqBkquxS9A6FTdQ
This commit is contained in:
2026-09-10 20:38:00 +00:00
co-authored by Claude Opus 5
parent 211298e04c
commit 5a3b2db135
2 changed files with 25 additions and 3 deletions
+10 -2
View File
@@ -64,13 +64,21 @@ public sealed class OceaniaDx : Contest
public bool IsWorkable(QsoContext qso) =>
qso.Continent == "OC" || qso.Me.Continent == "OC";
/// What a contact is worth on each of the contest's six bands. The high
/// bands pay more than 20 metres, which is the other way round from most
/// contests: from Oceania they are the hard ones. A band that is not in
/// this table is not in the contest — the WARC bands and 6 metres — and
/// scores nothing, which is how N1MM's `COceania.ComputePoints` ends as
/// well.
private static int PointsOn(Band? band) => band?.Name switch
{
"160M" => 20,
"80M" => 10,
"40M" => 5,
null => 0,
_ => 1,
"20M" => 1,
"15M" => 2,
"10M" => 3,
_ => 0,
};
private string ModeLabel() => mode == ModeCategory.Cw ? "CW" : "SSB";