/* This is a list of set codes. It has all been typed manually, so there are possibly errors, but let's hope not! Duplicates found and removed: ORI, W17, CED Sets not found: Astral, Deckmasters, Duels of the Planeswalkers The codes have been resourced from the following: https://en.wikipedia.org/wiki/List_of_Magic:_The_Gathering_sets Last updated: 6-23-19 Last set added: MH1 */ //Common through Rare var setCodeListPreMythic = ['1E', '2E', '2U', '3E', '4E', '5E', '6E', '7E', '8ED', '9ED', '10E', 'AN', 'AQ', 'LE', 'DK', 'FE', 'HM', 'IA', 'AL', 'MI', 'VI', 'WL', 'TE', 'ST', 'EX', 'UZ', 'GU', 'AP', 'OD', 'TOR', 'JUD', 'ONS', 'LGN', 'SCG', 'MRD', 'DST', '5DN', 'CHK', 'BOK', 'SOK', 'RAV', 'GPT', 'DIS', 'CSP', 'TSP', 'PLC', 'FUT', 'LRW', 'MOR', 'SHM', 'EVE', 'PO', 'P2', 'PK', 'P3', 'P4', 'CH', 'BR', 'BD', 'EVG', 'UG', 'UNH', 'MED', 'ME2', 'ME3', 'ME4', 'HOP'] //Common through Mythic var setCodeListPostMythic = ['M10', 'M11', 'M12', 'M13', 'M14', 'M15', 'ORI', 'M19', 'ALA', 'CON', 'ARB', 'ZEN', 'WWK', 'ROE', 'SOM', 'MBS', 'NPH', 'ISD', 'DKA', 'AVR', 'RTR', 'GTC', 'DGM', 'THS', 'BNG', 'JOU', 'KTK', 'FRF', 'DTK', 'BFZ', 'OGW', 'SOI', 'EMN', 'KLD', 'AER', 'AKH', 'HOU', 'XLN', 'RIX', 'DOM', 'GRN', 'RNA', 'MH1', 'GS1', 'MD1', 'DD2', 'DDC', 'DDD', 'DDE', 'DDF', 'DDG', 'DDH', 'DDI', 'DDJ', 'DDK', 'DDL', 'DDM', 'DDN', 'DDP', 'DDQ', 'DDR', 'DDS', 'DDT', 'DDU', 'SS1', 'H09', 'PD2', 'PD3', 'MMA', 'MM2', 'EMA', 'MM3', 'IMA', 'A25', 'UMA', 'PC2', 'PCA', 'ARC', 'E01', 'CMD', 'CM1', 'C13', 'C14', 'C15', 'C16', 'CMA', 'C17', 'CM2', 'C18', 'CNS', 'CN2', 'E02', 'BBD', 'UST', 'VMA', 'TPR', 'W16', 'W17', 'GK1_IZZET', 'GK1_SELESN', 'GK1_BOROS', 'GK1_GOLGAR', 'GK2_RAKDOS', 'GK2_AZORIU', 'GK2_SIMIC', 'GK2_GRUUL', 'GK2_ORZHOV', 'WAR'] //Only Rare var setCodeListRareOnly = ['DRB'] //Only Mythic var setCodeListMythicOnly = ['V09', 'V10', 'V11', 'V12', 'V13', 'V14', 'V15', 'V16', 'V17', 'EXP', 'MPS_GRN'] //Only Special var setCodeListSpecialOnly = ['MPS_KLD', 'MPS_AKH'] randomSet() function randomSet() { var totalSetCount = setCodeListPreMythic.length + setCodeListPostMythic.length + setCodeListMythicOnly.length + setCodeListSpecialOnly.length var randomSet = Math.floor(Math.random() * totalSetCount) var possibleRarities, rarity, set if (randomSet < setCodeListPreMythic.length) { set = setCodeListPreMythic[randomSet] possibleRarities = 3 } else { randomSet -= setCodeListPreMythic.length if (randomSet < setCodeListPostMythic.length) { set = setCodeListPostMythic[randomSet] possibleRarities = 4 } else { randomSet -= setCodeListPostMythic.length if (randomSet < setCodeListRareOnly.length) { set = setCodeListRareOnly[randomSet] possibleRarities = 7 } else { randomSet -= setCodeListRareOnly.length if (randomSet < setCodeListMythicOnly.length) { set = setCodeListMythicOnly[randomSet] possibleRarities = 8 } else { randomSet -= setCodeListMythicOnly.length set = setCodeListSpecialOnly[randomSet] possibleRarities = 9 } } } } if (possibleRarities == 7) { rarity = "R" } else if (possibleRarities == 8) { rarity = "M" } else if (possibleRarities == 9) { rarity = "S" } else { switch(Math.floor(Math.random() * possibleRarities)) { case 3: rarity = "M" break case 2: rarity = "R" break case 1: rarity = "U" break default: rarity = "C" } } document.getElementById("inputSetSymbolCode").value = set document.getElementById("inputSetSymbolRarity").value = rarity imageURL("http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=" + set + "&size=large&rarity=" + rarity, imgSetSymbol, "needsCrop") }