add commander category (#861)
* fix https * add beasts * Remove extra file * Prettier-ify code * Prettier-ify * add basic land guesser also added fetcher to filter all cards instead of only unique art * default to original makes basic better * added set symbol to basics added set symbol to the basics game mode. Changed name to "How Basic" * cleanup * changed some pixels * only load set data if needed * hacked fix for removing image from name * removed check from original * remove check from original * sort names by set instead of by set symbol * include battlebond * update cards for categories update for dominaria united * added commander category commander category * update basic land art * can use double feature * removing racist cards upstream this way we don't have to store the cards in the json Co-authored-by: Austin Chen <akrolsmir@gmail.com>
This commit is contained in:
parent
b9ae919fda
commit
8aeb544f7e
|
@ -64,6 +64,8 @@ function putIntoMapAndFetch(data) {
|
||||||
document.getElementById('guess-type').innerText = 'Finding Fantastic Beasts'
|
document.getElementById('guess-type').innerText = 'Finding Fantastic Beasts'
|
||||||
} else if (whichGuesser === 'basic') {
|
} else if (whichGuesser === 'basic') {
|
||||||
document.getElementById('guess-type').innerText = 'How Basic'
|
document.getElementById('guess-type').innerText = 'How Basic'
|
||||||
|
} else if (whichGuesser === 'commander') {
|
||||||
|
document.getElementById('guess-type').innerText = 'General Knowledge'
|
||||||
}
|
}
|
||||||
setUpNewGame()
|
setUpNewGame()
|
||||||
}
|
}
|
||||||
|
@ -156,8 +158,8 @@ function determineIfSkip(card) {
|
||||||
if (card.flavor_name) {
|
if (card.flavor_name) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
// don't include racist cards
|
|
||||||
return card.content_warning
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
function putIntoMap(data) {
|
function putIntoMap(data) {
|
||||||
|
|
|
@ -3,7 +3,7 @@ import requests
|
||||||
import json
|
import json
|
||||||
|
|
||||||
# add category name here
|
# add category name here
|
||||||
allCategories = ['counterspell', 'beast', 'burn'] #, 'terror', 'wrath']
|
allCategories = ['counterspell', 'beast', 'burn', 'commander'] #, 'terror', 'wrath']
|
||||||
specialCategories = ['set', 'basic']
|
specialCategories = ['set', 'basic']
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,10 +23,12 @@ def generate_initial_query(category):
|
||||||
'%2Fcontroller%28%5C.%7C+%29%2F%29+or+o%3A%2F~+deals+%28.%7C..%29+damage+to+%28any+target%7C' \
|
'%2Fcontroller%28%5C.%7C+%29%2F%29+or+o%3A%2F~+deals+%28.%7C..%29+damage+to+%28any+target%7C' \
|
||||||
'.*player%28%5C.%7C+or+planeswalker%29%7C.*opponent%28%5C.%7C+or+planeswalker%29%29%2F%29' \
|
'.*player%28%5C.%7C+or+planeswalker%29%7C.*opponent%28%5C.%7C+or+planeswalker%29%29%2F%29' \
|
||||||
'+%28type%3Ainstant+or+type%3Asorcery%29+not%3Aadventure'
|
'+%28type%3Ainstant+or+type%3Asorcery%29+not%3Aadventure'
|
||||||
|
elif category == 'commander':
|
||||||
|
string_query += '-banned%3Acommander+is%3Acommander'
|
||||||
# add category string query here
|
# add category string query here
|
||||||
string_query += '+-%28set%3Asld+%28%28cn>%3D231+cn<%3D233%29+or+%28cn>%3D321+cn<%3D324%29+or+%28cn>%3D185+cn' \
|
string_query += '+-%28set%3Asld+%28%28cn>%3D231+cn<%3D233%29+or+%28cn>%3D321+cn<%3D324%29+or+%28cn>%3D185+cn' \
|
||||||
'<%3D189%29+or+%28cn>%3D138+cn<%3D142%29+or+%28cn>%3D364+cn<%3D368%29+or+cn%3A669+or+cn%3A670%29' \
|
'<%3D189%29+or+%28cn>%3D138+cn<%3D142%29+or+%28cn>%3D364+cn<%3D368%29+or+cn%3A669+or+cn%3A670%29' \
|
||||||
'%29+-name%3A%2F%5EA-%2F+not%3Adfc+not%3Asplit+-set%3Acmb2+-set%3Acmb1+-set%3Aplist+-set%3Adbl' \
|
'%29+-name%3A%2F%5EA-%2F+not%3Adfc+not%3Asplit+-set%3Acmb2+-set%3Acmb1+-set%3Aplist' \
|
||||||
'+language%3Aenglish&order=released&dir=asc&unique=prints&page='
|
'+language%3Aenglish&order=released&dir=asc&unique=prints&page='
|
||||||
print(string_query)
|
print(string_query)
|
||||||
return string_query
|
return string_query
|
||||||
|
@ -51,7 +53,7 @@ def fetch_and_write_all(category, query):
|
||||||
response = fetch(query, count)
|
response = fetch(query, count)
|
||||||
will_repeat = response['has_more']
|
will_repeat = response['has_more']
|
||||||
count+=1
|
count+=1
|
||||||
to_compact_write_form(all_cards, art_names, response, category)
|
to_compact_write_form(all_cards, art_names, response)
|
||||||
|
|
||||||
with open('jsons/' + category + '.json', 'w') as f:
|
with open('jsons/' + category + '.json', 'w') as f:
|
||||||
json.dump(all_cards, f)
|
json.dump(all_cards, f)
|
||||||
|
@ -88,12 +90,14 @@ def fetch_special(query):
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
def to_compact_write_form(smallJson, art_names, response, category):
|
def to_compact_write_form(smallJson, art_names, response):
|
||||||
fieldsInCard = ['name', 'image_uris', 'content_warning', 'flavor_name', 'reprint', 'frame_effects', 'digital',
|
fieldsInCard = ['name', 'image_uris', 'flavor_name', 'reprint', 'frame_effects', 'digital', 'set_type']
|
||||||
'set_type']
|
|
||||||
data = []
|
data = []
|
||||||
# write all fields needed in card
|
# write all fields needed in card
|
||||||
for card in response['data']:
|
for card in response['data']:
|
||||||
|
# do not include racist cards
|
||||||
|
if 'content_warning' in card and card['content_warning'] == True:
|
||||||
|
continue
|
||||||
# do not repeat art
|
# do not repeat art
|
||||||
if 'illustration_id' not in card or card['illustration_id'] in art_names:
|
if 'illustration_id' not in card or card['illustration_id'] in art_names:
|
||||||
continue
|
continue
|
||||||
|
@ -152,9 +156,9 @@ def write_image_uris(card_image_uris):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# for category in allCategories:
|
for category in allCategories:
|
||||||
# print(category)
|
print(category)
|
||||||
# fetch_and_write_all(category, generate_initial_query(category))
|
fetch_and_write_all(category, generate_initial_query(category))
|
||||||
for category in specialCategories:
|
for category in specialCategories:
|
||||||
print(category)
|
print(category)
|
||||||
fetch_and_write_all_special(category, generate_initial_special_query(category))
|
fetch_and_write_all_special(category, generate_initial_special_query(category))
|
||||||
|
|
|
@ -17,6 +17,14 @@
|
||||||
f.parentNode.insertBefore(j, f)
|
f.parentNode.insertBefore(j, f)
|
||||||
})(window, document, 'script', 'dataLayer', 'GTM-M3MBVGG')
|
})(window, document, 'script', 'dataLayer', 'GTM-M3MBVGG')
|
||||||
</script>
|
</script>
|
||||||
|
<script>
|
||||||
|
function updateSettingDefault(digital, un, original) {
|
||||||
|
window.console.log(digital, un, original)
|
||||||
|
document.getElementById('digital').checked = digital
|
||||||
|
document.getElementById('un').checked = un
|
||||||
|
document.getElementById('original').checked = original
|
||||||
|
}
|
||||||
|
</script>
|
||||||
<!-- End Google Tag Manager -->
|
<!-- End Google Tag Manager -->
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
@ -132,7 +140,11 @@
|
||||||
value="counterspell"
|
value="counterspell"
|
||||||
checked
|
checked
|
||||||
/>
|
/>
|
||||||
<label class="radio-label" for="counterspell">
|
<label
|
||||||
|
class="radio-label"
|
||||||
|
for="counterspell"
|
||||||
|
onchange="updateSettingDefault(true, true, false)"
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
class="thumbnail"
|
class="thumbnail"
|
||||||
src="https://c1.scryfall.com/file/scryfall-cards/art_crop/front/7/1/71cfcba5-1571-48b8-a3db-55dca135506e.jpg?1562843855"
|
src="https://c1.scryfall.com/file/scryfall-cards/art_crop/front/7/1/71cfcba5-1571-48b8-a3db-55dca135506e.jpg?1562843855"
|
||||||
|
@ -140,7 +152,13 @@
|
||||||
<h3>Counterspell Guesser</h3></label
|
<h3>Counterspell Guesser</h3></label
|
||||||
><br />
|
><br />
|
||||||
|
|
||||||
<input type="radio" id="burn" name="whichguesser" value="burn" />
|
<input
|
||||||
|
type="radio"
|
||||||
|
id="burn"
|
||||||
|
name="whichguesser"
|
||||||
|
value="burn"
|
||||||
|
onchange="updateSettingDefault(true, true, false)"
|
||||||
|
/>
|
||||||
<label class="radio-label" for="burn">
|
<label class="radio-label" for="burn">
|
||||||
<img
|
<img
|
||||||
class="thumbnail"
|
class="thumbnail"
|
||||||
|
@ -149,7 +167,13 @@
|
||||||
<h3>Match With Hot Singles</h3></label
|
<h3>Match With Hot Singles</h3></label
|
||||||
><br />
|
><br />
|
||||||
|
|
||||||
<input type="radio" id="beast" name="whichguesser" value="beast" />
|
<input
|
||||||
|
type="radio"
|
||||||
|
id="beast"
|
||||||
|
name="whichguesser"
|
||||||
|
value="beast"
|
||||||
|
onchange="updateSettingDefault(true, true, false)"
|
||||||
|
/>
|
||||||
<label class="radio-label" for="beast">
|
<label class="radio-label" for="beast">
|
||||||
<img
|
<img
|
||||||
class="thumbnail"
|
class="thumbnail"
|
||||||
|
@ -159,16 +183,37 @@
|
||||||
>
|
>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<input type="radio" id="basic" name="whichguesser" value="basic" />
|
<input
|
||||||
|
type="radio"
|
||||||
|
id="basic"
|
||||||
|
name="whichguesser"
|
||||||
|
value="basic"
|
||||||
|
onchange="updateSettingDefault(true, true, true)"
|
||||||
|
/>
|
||||||
<label class="radio-label" for="basic">
|
<label class="radio-label" for="basic">
|
||||||
<img
|
<img
|
||||||
class="thumbnail"
|
class="thumbnail"
|
||||||
src="https://c1.scryfall.com/file/scryfall-cards/art_crop/front/0/3/03683fbb-9843-4c14-bb95-387150e97c90.jpg?1642161346"
|
src="https://c1.scryfall.com/file/scryfall-cards/art_crop/front/e/5/e52ed647-bd30-40a5-b648-0b98d1a3fd4a.jpg?1562949575"
|
||||||
/>
|
/>
|
||||||
<h3>How Basic</h3></label
|
<h3>How Basic</h3></label
|
||||||
>
|
>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
id="commander"
|
||||||
|
name="whichguesser"
|
||||||
|
value="commander"
|
||||||
|
onchange="updateSettingDefault(false, false, false)"
|
||||||
|
/>
|
||||||
|
<label class="radio-label" for="commander">
|
||||||
|
<img
|
||||||
|
class="thumbnail"
|
||||||
|
src="https://c1.scryfall.com/file/scryfall-cards/art_crop/front/d/9/d9631cb2-d53b-4401-b53b-29d27bdefc44.jpg?1562770627"
|
||||||
|
/>
|
||||||
|
<h3>General Knowledge</h3></label
|
||||||
|
><br />
|
||||||
|
|
||||||
<details id="addl-options">
|
<details id="addl-options">
|
||||||
<summary>
|
<summary>
|
||||||
<img
|
<img
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
web/public/mtg/jsons/commander.json
Normal file
1
web/public/mtg/jsons/commander.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user