diff --git a/modules/coa-generator.js b/modules/coa-generator.js index 2bdb195e..e3071f9e 100644 --- a/modules/coa-generator.js +++ b/modules/coa-generator.js @@ -11,7 +11,14 @@ metals: { argent: 3, or: 2 }, colours: { gules: 5, azure: 4, sable: 3, purpure: 3, vert: 2 }, stains: { murrey: 1, sanguine: 1, tenné: 1 }, - patterns: { semy: 1, vair: 2, vairInPale: 1, vairEnPointe: 2, ermine: 2, chequy: 5, lozengy: 2, fusily: 1, pally: 4, barry: 4, gemelles: 1, bendy: 3, bendySinister: 2, palyBendy: 1, pappellony: 2, masoned: 3, fretty: 2 } + patterns: { + semy: 8, ermine: 6, + vair: 4, counterVair: 1, vairInPale: 1, vairEnPointe: 2, vairAncien: 2, + potent: 2, counterPotent: 1, potentInPale: 1, potentEnPointe: 1, + chequy: 8, lozengy: 5, fusily: 2, pally: 8, barry: 10, gemelles: 1, + bendy: 8, bendySinister: 4, palyBendy: 2, barryBendy: 1, + pappellony: 2, pappellony2: 3, scaly: 1, plumetty: 1, + masoned: 6, fretty: 3, grillage: 1, chainy: 1, maily: 2, honeycombed: 1 } } const charges = { diff --git a/modules/coa-renderer.js b/modules/coa-renderer.js index 03716d7a..3a451782 100644 --- a/modules/coa-renderer.js +++ b/modules/coa-renderer.js @@ -756,72 +756,112 @@ } const templates = { - // divisions - perFess: line => ``, - perPale: line => ``, - perBend: line => ``, - perBendSinister: line => ``, - perChevron: line => ``, - perChevronReversed: line => ``, - perCross: line => ``, - perPile: line => ``, - perSaltire: () => ``, - gyronny: () => ``, - chevronny: () => ``, - // oprinaries - fess: line => ``, - pale: line => ``, - bend: line => ``, - bendSinister: line => ``, - chief: line => ``, - bar: line => ``, - gemelle: line => ``, - fessCotissed: line => ``, - fessDoubleCotissed: line => ``, - bendlet: line => ``, - bendletSinister: line => ``, - terrace: line => ``, - cross: line => ``, - crossParted: line => ``, - saltire: line => ``, - saltireParted: line => ``, - mount: () => ``, - point: () => ``, - flaunches: () => ``, - gore: () => ``, - pall: () => ``, - pallReversed: () => ``, - chevron: () => ``, - chevronReversed: () => ``, - gyron: () => ``, - quarter: () => ``, - canton: () => ``, - pile: () => ``, - pileInBend: () => ``, - pileInBendSinister: () => ``, - piles: () => ``, - pilesInPoint: () => ``, - label: () => `` + // straight divisions + perFess: ``, + perPale: ``, + perBend: ``, + perBendSinister: ``, + perChevron: ``, + perChevronReversed: ``, + perCross: ``, + perPile: ``, + perSaltire: ``, + gyronny: ``, + chevronny: ``, + // lined divisions + perFessLined: line => ``, + perPaleLined: line => ``, + perBendLined: line => ``, + perBendSinisterLined: line => ``, + perChevronLined: line => ``, + perChevronReversedLined: line => ``, + perCrossLined: line => ``, + perPileLined: line => ``, + // straight ordinaries + fess: ``, + pale: ``, + bend: ``, + bendSinister: ``, + chief: ``, + bar: ``, + gemelle: ``, + fessCotissed: ``, + fessDoubleCotissed: ``, + bendlet: ``, + bendletSinister: ``, + terrace: ``, + cross: ``, + crossParted: ``, + saltire: ``, + saltireParted: ``, + mount: ``, + point: ``, + flaunches: ``, + gore: ``, + pall: ``, + pallReversed: ``, + chevron: ``, + chevronReversed: ``, + gyron: ``, + quarter: ``, + canton: ``, + pile: ``, + pileInBend: ``, + pileInBendSinister: ``, + piles: ``, + pilesInPoint: ``, + label: ``, + // lined ordinaries + fessLined: line => ``, + paleLined: line => ``, + bendLined: line => ``, + bendSinisterLined: line => ``, + chiefLined: line => ``, + barLined: line => ``, + gemelleLined: line => ``, + fessCotissedLined: line => ``, + fessDoubleCotissedLined: line => ``, + bendletLined: line => ``, + bendletSinisterLined: line => ``, + terraceLined: line => ``, + crossLined: line => ``, + crossPartedLined: line => ``, + saltireLined: line => ``, + saltirePartedLined: line => `` } const patterns = { - semy: (p, c1, c2, size, chargeId) => ``, - vair: (p, c1, c2, size) => ``, - vairInPale: (p, c1, c2, size) => ``, - vairEnPointe: (p, c1, c2, size) => ``, - ermine: (p, c1, c2, size) => ``, - chequy: (p, c1, c2, size) => ``, - lozengy: (p, c1, c2, size) => ``, - fusily: (p, c1, c2, size) => ``, - pally: (p, c1, c2, size) => ``, - barry: (p, c1, c2, size) => ``, - gemelles: (p, c1, c2, size) => ``, - bendy: (p, c1, c2, size) => ``, - bendySinister: (p, c1, c2, size) => ``, - palyBendy: (p, c1, c2, size) => ``, - pappellony: (p, c1, c2, size) => ``, - masoned: (p, c1, c2, size) => ``, - fretty: (p, c1, c2, size) => `` + semy: (p, c1, c2, size, chargeId) => ``, + vair: (p, c1, c2, size) => ``, + counterVair: (p, c1, c2, size) => ``, + vairInPale: (p, c1, c2, size) => ``, + vairEnPointe: (p, c1, c2, size) => ``, + vairAncien: (p, c1, c2, size) => ``, + potent: (p, c1, c2, size) => ``, + counterPotent: (p, c1, c2, size) => ``, + potentInPale: (p, c1, c2, size) => ``, + potentEnPointe: (p, c1, c2, size) => ``, + ermine: (p, c1, c2, size) => ``, + chequy: (p, c1, c2, size) => ``, + lozengy: (p, c1, c2, size) => ``, + fusily: (p, c1, c2, size) => ``, + pally: (p, c1, c2, size) => ``, + barry: (p, c1, c2, size) => ``, + gemelles: (p, c1, c2, size) => ``, + bendy: (p, c1, c2, size) => ``, + bendySinister: (p, c1, c2, size) => ``, + palyBendy: (p, c1, c2, size) => ``, + barryBendy: (p, c1, c2, size) => ``, + pappellony: (p, c1, c2, size) => ``, + pappellony2: (p, c1, c2, size) => ``, + scaly: (p, c1, c2, size) => ``, + plumetty: (p, c1, c2, size) => ``, + masoned: (p, c1, c2, size) => ``, + fretty: (p, c1, c2, size) => ``, + grillage: (p, c1, c2, size) => ``, + chainy: (p, c1, c2, size) => ``, + maily: (p, c1, c2, size) => ``, + honeycombed: (p, c1, c2, size) => `` } const draw = async function(id, coa) { @@ -1004,10 +1044,11 @@ return 1; } - function getTemplate(templateId, lineId) { - if (!lineId) return templates[templateId](); - const line = lines[lineId] || lines.straight; - return templates[templateId](line); + function getTemplate(id, line) { + const linedId = id+"Lined"; + if (!line || line === "straight" || !templates[linedId]) return templates[id]; + const linePath = lines[line]; + return templates[linedId](linePath); } // get color or link to pattern