Canadian century club award added

cbayer-ccc
Christian Bayer 2024-02-18 09:24:31 -05:00
rodzic 02eac05181
commit f37059f12e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 090D0F8B431A7C88
3 zmienionych plików z 91 dodań i 2 usunięć

Wyświetl plik

@ -10504,6 +10504,55 @@
}, },
"sponsor": "RAC", "sponsor": "RAC",
"tooltip": "Worked All North America Award" "tooltip": "Worked All North America Award"
},
"CCC": {
"name": "CCC - Canadian Century Club",
"rule": {
"band": [
"Mixed"
],
"dxcc": "1",
"state": [
"BC",
"QC",
"PE",
"ON",
"AB",
"MB",
"NS",
"SK",
"NU",
"NT",
"NL",
"YT",
"NB"
],
"count": [
100
],
"endorse": [
"2m",
"6m",
"10m",
"12m",
"15m",
"17m",
"20m",
"30m",
"40m",
"60m",
"80m",
"160m"
],
"mode": [
"Digital",
"Phone",
"Mixed"
],
"type": "call"
},
"sponsor": "RAC",
"tooltip": "Canadian Century Club Award"
} }
}, },
"compiledBy": "WA4YA", "compiledBy": "WA4YA",

Wyświetl plik

@ -5923,7 +5923,7 @@ function finalWsjtxDecode(newMessage, isFox = false, foxMessage)
canPath = true; canPath = true;
} }
if (theirQTH in GT.liveGrids) if (theirQTH in GT.liveGrids)
{ {
GT.liveGrids[theirQTH].age = GT.timeNow; GT.liveGrids[theirQTH].age = GT.timeNow;
} }

Wyświetl plik

@ -2733,7 +2733,8 @@ function buildAwardTypeHandlers()
cont2band: { name: "Continents per Band" }, cont2band: { name: "Continents per Band" },
calls2band: { name: "Stations per Band" }, calls2band: { name: "Stations per Band" },
dxcc2band: { name: "DXCC per Band" }, dxcc2band: { name: "DXCC per Band" },
states2band: { name: "States per Band" } states2band: { name: "States per Band" },
ccc: { name: "Canada Century Award" }
}; };
CR.awardTypes.IOTA.score = scoreAIOTA; CR.awardTypes.IOTA.score = scoreAIOTA;
@ -2757,6 +2758,7 @@ function buildAwardTypeHandlers()
CR.awardTypes.calls2band.score = scoreAcalls2band; CR.awardTypes.calls2band.score = scoreAcalls2band;
CR.awardTypes.dxcc2band.score = scoreAdxcc2band; CR.awardTypes.dxcc2band.score = scoreAdxcc2band;
CR.awardTypes.states2band.score = scoreAstates2band; CR.awardTypes.states2band.score = scoreAstates2band;
CR.awardTypes.ccc.score = scoreAccc;
CR.awardTypes.IOTA.test = testAIOTA; CR.awardTypes.IOTA.test = testAIOTA;
CR.awardTypes.call.test = testAcall; CR.awardTypes.call.test = testAcall;
@ -2779,6 +2781,7 @@ function buildAwardTypeHandlers()
CR.awardTypes.calls2band.test = testAcalls2band; CR.awardTypes.calls2band.test = testAcalls2band;
CR.awardTypes.dxcc2band.test = testAdxcc2band; CR.awardTypes.dxcc2band.test = testAdxcc2band;
CR.awardTypes.states2band.test = testAstates; CR.awardTypes.states2band.test = testAstates;
CR.awardTypes.ccc.test = testAccc;
CR.awardTypes.IOTA.compile = singleCompile; CR.awardTypes.IOTA.compile = singleCompile;
CR.awardTypes.call.compile = singleCompile; CR.awardTypes.call.compile = singleCompile;
@ -2801,6 +2804,7 @@ function buildAwardTypeHandlers()
CR.awardTypes.calls2band.compile = doubleCompile; CR.awardTypes.calls2band.compile = doubleCompile;
CR.awardTypes.dxcc2band.compile = doubleCompile; CR.awardTypes.dxcc2band.compile = doubleCompile;
CR.awardTypes.states2band.compile = doubleCompile; CR.awardTypes.states2band.compile = doubleCompile;
CR.awardTypes.ccc.compile = doubleCompile;
} }
function scoreAstates(award, obj) function scoreAstates(award, obj)
@ -2885,6 +2889,28 @@ function scoreAcont(award, obj)
} }
return false; return false;
} }
function scoreAccc(award, obj)
{
if (obj.dxcc && obj.state)
{
let dxcc = obj.dxcc;
if (dxcc === 1)
{
let state = obj.state;
if (!(state in award.stat)) award.stat[state] = newAwardCountObject();
if (award.stat[state].unique.length > 20) return false;
return workAwardObject(
award.stat[state],
obj.band,
obj.mode,
obj.digital,
obj.phone,
obj.DEcall
);
}
}
return false;
}
function testAcont(award, obj, baseHash) function testAcont(award, obj, baseHash)
{ {
@ -2901,6 +2927,20 @@ function testAcont(award, obj, baseHash)
return true; return true;
} }
function testAccc(award, obj, baseHash)
{
if (obj.dxcc && obj.state)
{
let dxcc = obj.dxcc;
let state = obj.state;
if (dxcc + baseHash in CR.tracker[award.test.look].dxcc && state + baseHash in CR.tracker[award.test.look].state)
{
return false;
}
}
return true;
}
function scoreAcont5(award, obj, baseHash) function scoreAcont5(award, obj, baseHash)
{ {
if (obj.cont) if (obj.cont)