mirror of
https://github.com/Investigamer/cardconjurer.git
synced 2025-07-27 13:21:41 -05:00
Add Phyrexian autoframe support
This commit is contained in:

committed by
Josh birnholz

parent
fe010a0584
commit
46c8f688ba
@@ -653,6 +653,7 @@
|
|||||||
<!-- <option value="M15ExtendedArtShort">Extended Art (Shorter Textbox)</option> -->
|
<!-- <option value="M15ExtendedArtShort">Extended Art (Shorter Textbox)</option> -->
|
||||||
<option value="UB">Universes Beyond</option>
|
<option value="UB">Universes Beyond</option>
|
||||||
<option value="Etched">Etched</option>
|
<option value="Etched">Etched</option>
|
||||||
|
<option value="Praetors">Phyrexian</option>
|
||||||
<option value="8th">8th Edition</option>
|
<option value="8th">8th Edition</option>
|
||||||
<option value="Seventh">Seventh Edition</option>
|
<option value="Seventh">Seventh Edition</option>
|
||||||
</select>
|
</select>
|
||||||
|
160
js/creator-23.js
160
js/creator-23.js
@@ -766,6 +766,9 @@ function autoFrame() {
|
|||||||
} else if (frame == 'Etched') {
|
} else if (frame == 'Etched') {
|
||||||
group = 'Showcase-5';
|
group = 'Showcase-5';
|
||||||
autoEtchedFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
|
autoEtchedFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
|
||||||
|
} else if (frame == 'Praetors') {
|
||||||
|
group = 'Showcase-5';
|
||||||
|
autoPhyrexianFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
|
||||||
} else if (frame == 'Seventh') {
|
} else if (frame == 'Seventh') {
|
||||||
group = 'Misc-2';
|
group = 'Misc-2';
|
||||||
autoSeventhEditionFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
|
autoSeventhEditionFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
|
||||||
@@ -1021,6 +1024,47 @@ async function autoEtchedFrame(colors, mana_cost, type_line, power) {
|
|||||||
await card.frames.forEach(item => addFrame([], item));
|
await card.frames.forEach(item => addFrame([], item));
|
||||||
card.frames.reverse();
|
card.frames.reverse();
|
||||||
}
|
}
|
||||||
|
async function autoPhyrexianFrame(colors, mana_cost, type_line, power) {
|
||||||
|
var frames = card.frames.filter(frame => frame.name.includes('Extension'));
|
||||||
|
|
||||||
|
//clear the draggable frames
|
||||||
|
card.frames = [];
|
||||||
|
document.querySelector('#frame-list').innerHTML = null;
|
||||||
|
|
||||||
|
var properties = cardFrameProperties(colors, mana_cost, type_line, power, 'Phyrexian');
|
||||||
|
|
||||||
|
// Set frames
|
||||||
|
|
||||||
|
if (type_line.toLowerCase().includes('legendary')) {
|
||||||
|
if (properties.pinlineRight) {
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.pinlineRight, 'Crown', true));
|
||||||
|
}
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.pinline, "Crown", false));
|
||||||
|
}
|
||||||
|
if (properties.pt) {
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.pt, 'PT', false));
|
||||||
|
}
|
||||||
|
if (properties.pinlineRight) {
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.pinlineRight, 'Pinline', true));
|
||||||
|
}
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.pinline, 'Pinline', false));
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.typeTitle, 'Type', false));
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.typeTitle, 'Title', false));
|
||||||
|
if (properties.pinlineRight) {
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.rulesRight, 'Rules', true));
|
||||||
|
}
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.rules, 'Rules', false));
|
||||||
|
if (properties.frameRight) {
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.frameRight, 'Frame', true));
|
||||||
|
}
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.frame, 'Frame', false));
|
||||||
|
frames.push(makePhyrexianFrameByLetter(properties.frame, 'Border', false));
|
||||||
|
|
||||||
|
card.frames = frames;
|
||||||
|
card.frames.reverse();
|
||||||
|
await card.frames.forEach(item => addFrame([], item));
|
||||||
|
card.frames.reverse();
|
||||||
|
}
|
||||||
async function autoSeventhEditionFrame(colors, mana_cost, type_line, power) {
|
async function autoSeventhEditionFrame(colors, mana_cost, type_line, power) {
|
||||||
var frames = card.frames.filter(frame => frame.name.includes('Extension') || frame.name.includes('DCI Star'));
|
var frames = card.frames.filter(frame => frame.name.includes('Extension') || frame.name.includes('DCI Star'));
|
||||||
|
|
||||||
@@ -1663,6 +1707,122 @@ function makeEtchedFrameByLetter(letter, mask = false, maskToRightHalf = false)
|
|||||||
|
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
function makePhyrexianFrameByLetter(letter, mask = false, maskToRightHalf = false) {
|
||||||
|
if (letter == 'C' || letter == 'V') {
|
||||||
|
letter = 'L';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mask == 'Rules') {
|
||||||
|
mask = 'Rules Text';
|
||||||
|
}
|
||||||
|
|
||||||
|
letter = letter.toUpperCase();
|
||||||
|
var frameNames = {
|
||||||
|
'W': 'White',
|
||||||
|
'U': 'Blue',
|
||||||
|
'B': 'Black',
|
||||||
|
'R': 'Red',
|
||||||
|
'G': 'Green',
|
||||||
|
'M': 'Multicolored',
|
||||||
|
'A': 'Artifact',
|
||||||
|
'L': 'Land'
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mask == 'PT' && letter.includes('L') && letter.length > 1) {
|
||||||
|
letter = letter[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (letter == 'ML') {
|
||||||
|
letter = 'M';
|
||||||
|
} else if (letter.includes('L') && letter.length > 1) {
|
||||||
|
letter = letter[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
var frameName = frameNames[letter];
|
||||||
|
|
||||||
|
if (mask == "Crown") {
|
||||||
|
var frame = {
|
||||||
|
'name': frameName + ' Legendary Crown',
|
||||||
|
'src': '/img/frames/m15/praetors/' + letter.toLowerCase() + 'Crown.png',
|
||||||
|
'masks': [],
|
||||||
|
'bounds': {
|
||||||
|
'height': 100/2100,
|
||||||
|
'width': 1,
|
||||||
|
'x': 0,
|
||||||
|
'y': 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (maskToRightHalf) {
|
||||||
|
frame.masks.push({
|
||||||
|
'src': '/img/frames/maskRightHalf.png',
|
||||||
|
'name': 'Right Half'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mask == 'PT') {
|
||||||
|
return {
|
||||||
|
'name': frameName + ' Power/Toughness',
|
||||||
|
'src': '/img/frames/m15/praetors/' + letter.toLowerCase() + 'pt.png',
|
||||||
|
'masks': [],
|
||||||
|
'bounds': {
|
||||||
|
'height': 0.0772,
|
||||||
|
'width': 0.212,
|
||||||
|
'x': 0.746,
|
||||||
|
'y': 0.8858
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var frame = {
|
||||||
|
'name': frameName + ' Frame',
|
||||||
|
'src': '/img/frames/m15/praetors/' + letter.toLowerCase() + '.png',
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mask == 'Type' || mask == 'Title') {
|
||||||
|
frame.masks = [
|
||||||
|
{
|
||||||
|
'src': '/img/frames/m15/regular/m15Mask' + mask + '.png',
|
||||||
|
'name': mask
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
if (maskToRightHalf) {
|
||||||
|
frame.masks.push({
|
||||||
|
'src': '/img/frames/maskRightHalf.png',
|
||||||
|
'name': 'Right Half'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else if (mask) {
|
||||||
|
var extension = "png";
|
||||||
|
var name = mask.toLowerCase();
|
||||||
|
if (mask == 'Frame') {
|
||||||
|
extension = 'svg';
|
||||||
|
} else if (mask == 'Rules Text') {
|
||||||
|
extension = 'svg';
|
||||||
|
name = 'text';
|
||||||
|
}
|
||||||
|
|
||||||
|
frame.masks = [
|
||||||
|
{
|
||||||
|
'src': '/img/frames/m15/praetors/' + name + '.' + extension,
|
||||||
|
'name': mask
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
if (maskToRightHalf) {
|
||||||
|
frame.masks.push({
|
||||||
|
'src': '/img/frames/maskRightHalf.png',
|
||||||
|
'name': 'Right Half'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
frame.masks = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
function makeSeventhEditionFrameByLetter(letter, mask = false, maskToRightHalf = false) {
|
function makeSeventhEditionFrameByLetter(letter, mask = false, maskToRightHalf = false) {
|
||||||
letter = letter.toUpperCase();
|
letter = letter.toUpperCase();
|
||||||
var frameNames = {
|
var frameNames = {
|
||||||
|
Reference in New Issue
Block a user