forked from GithubMirrors/cardconjurer
Update land color detection
This commit is contained in:

committed by
Josh birnholz

parent
3f32eaf117
commit
4b2a357f06
@@ -691,7 +691,16 @@ function autoFrame() {
|
|||||||
|
|
||||||
var colors = [];
|
var colors = [];
|
||||||
if (card.text.type.text.toLowerCase().includes('land')) {
|
if (card.text.type.text.toLowerCase().includes('land')) {
|
||||||
var lines = card.text.rules.text.split('\n');
|
var rules = card.text.rules.text;
|
||||||
|
var flavorIndex = rules.indexOf('{flavor}');
|
||||||
|
if (flavorIndex == -1) {
|
||||||
|
flavorIndex = rules.indexOf('{oldflavor}');
|
||||||
|
}
|
||||||
|
if (flavorIndex != -1) {
|
||||||
|
rules = rules.substring(0, flavorIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
var lines = rules.split('\n');
|
||||||
|
|
||||||
lines.forEach(function(line) {
|
lines.forEach(function(line) {
|
||||||
var addIndex = line.indexOf('Add');
|
var addIndex = line.indexOf('Add');
|
||||||
@@ -710,31 +719,32 @@ function autoFrame() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!colors.includes('W') && (card.text.rules.text.toLowerCase().includes('plains') || card.text.type.text.toLowerCase().includes('plains'))) {
|
if (!colors.includes('W') && (rules.toLowerCase().includes('plains') || card.text.type.text.toLowerCase().includes('plains'))) {
|
||||||
colors.push('W');
|
colors.push('W');
|
||||||
}
|
}
|
||||||
if (!colors.includes('U') && (card.text.rules.text.toLowerCase().includes('island') || card.text.type.text.toLowerCase().includes('island'))) {
|
if (!colors.includes('U') && (rules.toLowerCase().includes('island') || card.text.type.text.toLowerCase().includes('island'))) {
|
||||||
colors.push('U');
|
colors.push('U');
|
||||||
}
|
}
|
||||||
if (!colors.includes('B') && (card.text.rules.text.toLowerCase().includes('swamp') || card.text.type.text.toLowerCase().includes('swamp'))) {
|
if (!colors.includes('B') && (rules.toLowerCase().includes('swamp') || card.text.type.text.toLowerCase().includes('swamp'))) {
|
||||||
colors.push('B');
|
colors.push('B');
|
||||||
}
|
}
|
||||||
if (!colors.includes('R') && (card.text.rules.text.toLowerCase().includes('mountain') || card.text.type.text.toLowerCase().includes('mountain'))) {
|
if (!colors.includes('R') && (rules.toLowerCase().includes('mountain') || card.text.type.text.toLowerCase().includes('mountain'))) {
|
||||||
colors.push('R');
|
colors.push('R');
|
||||||
}
|
}
|
||||||
if (!colors.includes('G') && (card.text.rules.text.toLowerCase().includes('forest') || card.text.type.text.toLowerCase().includes('forest'))) {
|
if (!colors.includes('G') && (rules.toLowerCase().includes('forest') || card.text.type.text.toLowerCase().includes('forest'))) {
|
||||||
colors.push('G');
|
colors.push('G');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (card.text.rules.text.toLowerCase().includes('search')) {
|
if (rules.toLowerCase().includes('search') && colors.length == 0) {
|
||||||
if (card.text.rules.text.includes('tapped') && !(card.text.rules.text.toLowerCase().includes('enters the battlefield tapped')) && !(card.text.rules.text.toLowerCase().includes('untap'))) {
|
// TODO: This doesn't match Bog Wreckage
|
||||||
|
if (rules.includes('into your hand') || (rules.includes('tapped') && !(rules.toLowerCase().includes('enters the battlefield tapped')) && !(rules.toLowerCase().includes('untap')))) {
|
||||||
colors = [];
|
colors = [];
|
||||||
} else if (colors.length == 0) {
|
} else if (colors.length == 0) {
|
||||||
colors = ['W', 'U', 'B', 'R', 'G'];
|
colors = ['W', 'U', 'B', 'R', 'G'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (card.text.rules.text.includes('any color') || card.text.rules.text.includes('chosen color')) {
|
if (rules.includes('any color') || rules.includes('any one color') || rules.includes('chosen color') || rules.includes('any combination of colors')) {
|
||||||
colors = ['W', 'U', 'B', 'R', 'G'];
|
colors = ['W', 'U', 'B', 'R', 'G'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1053,7 +1063,7 @@ function makeM15FrameByLetter(letter, mask = false, maskToRightHalf = false, sty
|
|||||||
'ML': 'Multicolored Land'
|
'ML': 'Multicolored Land'
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((mask.includes('Crown') || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
|
if ((mask.includes('Crown') || mask == 'PT' || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
|
||||||
letter = letter[0];
|
letter = letter[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1184,6 +1194,10 @@ function make8thEditionFrameByLetter(letter, mask = false, maskToRightHalf = fal
|
|||||||
'ML': 'Multicolored Land'
|
'ML': 'Multicolored Land'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mask == 'PT' && letter.length > 1) {
|
||||||
|
letter = letter[0];
|
||||||
|
}
|
||||||
|
|
||||||
if (letter == 'V') {
|
if (letter == 'V') {
|
||||||
letter = 'A';
|
letter = 'A';
|
||||||
}
|
}
|
||||||
@@ -1258,7 +1272,7 @@ function makeExtendedArtFrameByLetter(letter, mask = false, maskToRightHalf = fa
|
|||||||
'ML': 'Multicolored Land'
|
'ML': 'Multicolored Land'
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((mask.includes('Crown') || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
|
if ((mask.includes('Crown') || mask == 'PT' || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
|
||||||
letter = letter[0];
|
letter = letter[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1441,7 +1455,7 @@ function makeUBFrameByLetter(letter, mask = false, maskToRightHalf = false) {
|
|||||||
'ML': 'Multicolored Land'
|
'ML': 'Multicolored Land'
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((mask.includes('Crown') || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
|
if ((mask.includes('Crown') || mask == 'PT' || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
|
||||||
letter = letter[0];
|
letter = letter[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1559,6 +1573,10 @@ function makeEtchedFrameByLetter(letter, mask = false, maskToRightHalf = false)
|
|||||||
'V': 'Vehicle'
|
'V': 'Vehicle'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mask == 'PT' && letter.includes('L') && letter.length > 1) {
|
||||||
|
letter = letter[0];
|
||||||
|
}
|
||||||
|
|
||||||
if (letter == 'ML') {
|
if (letter == 'ML') {
|
||||||
letter = 'M';
|
letter = 'M';
|
||||||
} else if (letter.includes('L') && letter.length > 1) {
|
} else if (letter.includes('L') && letter.length > 1) {
|
||||||
|
Reference in New Issue
Block a user