From 4f27055107dc8bd5028c3a1408232dbc3e2123de Mon Sep 17 00:00:00 2001 From: Mike Brashler Date: Sun, 15 Sep 2024 18:43:11 -0700 Subject: [PATCH] Do not send repeated long exchanges in ARRL SS Contest (#354) - Fixes Issue #354 --- DxOper.pas | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/DxOper.pas b/DxOper.pas index dc72e2f..2899b5f 100644 --- a/DxOper.pas +++ b/DxOper.pas @@ -512,6 +512,11 @@ function TDxOperator.GetReply: TStationMessage; osNeedCall: if (RunMode = rmHst) then Result := msgDeMyCallNr1 + else if (SimContest in [scArrlSS]) then + case Trunc(R2*3) of + 0: Result := msgDeMyCallNr1; // DE + 1,2: Result := msgMyCallNr1; // + end else case Trunc(R2*6) of 0: Result := msgDeMyCallNr1; // DE @@ -524,6 +529,13 @@ function TDxOperator.GetReply: TStationMessage; osNeedCallNr: if (RunMode = rmHst) then Result := msgDeMyCall1 + else if (SimContest in [scArrlSS]) then + case Trunc(R2*5) of + 0: Result := msgDeMyCall1; // DE + 1: Result := msgDeMyCall2; // DE + 2: Result := msgMyCall2; // + 3,4: Result := msgMyCallNr1; // + end else case Trunc(R2*6) of 0: Result := msgDeMyCall1; // DE @@ -531,10 +543,12 @@ function TDxOperator.GetReply: TStationMessage; 2: Result := msgMyCall2; // 3: Result := msgMyCallNr2; // 4,5: Result := msgMyCallNr1; // - end; + end else //osNeedEnd: if Patience < (FULL_PATIENCE-1) then Result := msgNR - else if (RunMode = rmHst) or (Random < 0.9) then Result := msgR_NR + else if (RunMode = rmHst) or (SimContest in [scArrlSS]) or + (Random < 0.9) then + Result := msgR_NR else Result := msgR_NR2; end; end;