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