My changes

This commit is contained in:
Finn Stutzenstein 2021-09-05 12:52:41 +02:00
parent 44d2e4c342
commit 2073647708
8 changed files with 95 additions and 16 deletions

1
.gitignore vendored
View File

@ -21,3 +21,4 @@ tools/card_db
.doit.db .doit.db
.mypy_cache/ .mypy_cache/
.tox/ .tox/
.venv/

View File

@ -1,3 +1,3 @@
#!/usr/local/bin/fontforge #!/usr/bin/fontforge
Open($1) Open($1)
Generate($1:r + ".ttf") Generate($1:r + ".ttf")

Binary file not shown.

22
main.py Normal file
View File

@ -0,0 +1,22 @@
import domdiv.main
base_args = [
"--papersize", "A4",
"--language", "de",
"--size", "9.5x6.25",
"--types",
"--tab-side", "left-alternate",
"--tabwidth", "4.0",
"--tab-name-align", "center",
"--order", "cost",
"--expansion-dividers",
"--centre-expansion-dividers",
"--expansion-reset-tabs",
"--expansions", "base", "alchemy", "cornucopia", "dark ages", "dominion2ndEdition", "empires", "promo",
"--no-trash",
"--group-kingdom",
"--group-special",
]
opts = domdiv.main.parse_opts(base_args)
opts = domdiv.main.clean_opts(opts)
domdiv.main.generate(opts)

View File

@ -1378,7 +1378,6 @@
"dark ages" "dark ages"
], ],
"cost": "1", "cost": "1",
"group_tag": "Shelters",
"group_top": true, "group_top": true,
"randomizer": false, "randomizer": false,
"types": [ "types": [
@ -1490,7 +1489,6 @@
"dark ages" "dark ages"
], ],
"cost": "1", "cost": "1",
"group_tag": "Shelters",
"randomizer": false, "randomizer": false,
"types": [ "types": [
"Action", "Action",
@ -1503,7 +1501,6 @@
"dark ages" "dark ages"
], ],
"cost": "1", "cost": "1",
"group_tag": "Shelters",
"randomizer": false, "randomizer": false,
"types": [ "types": [
"Victory", "Victory",

View File

@ -370,37 +370,37 @@
"name": "Trank" "name": "Trank"
}, },
"Copper": { "Copper": {
"description": "+1 <*COIN*>", "description": "1 <*COIN*>",
"extra": "60 Karten pro Spiel.", "extra": "60 Karten pro Spiel.",
"name": "Kupfer" "name": "Kupfer"
}, },
"Curse": { "Curse": {
"description": "-1 <*VP*>", "description": "-1 <*VP*>",
"extra": "Je nach Spieleranzahl wird die folgende Anzahl an Fluchkarten offen in die Tischmitte gelegt: Bei 6 Spielern: 50 Karten, Bei 5 Spielern: 40 Karten, Bei 4 Spielern: 30 Karten, Bei 3 Spielern: 20 Karten, Bei 2 Spielern: 10 Karten", "extra": "2 Spieler: 10 Karten<br>3 Spieler: 20 Karten<br>4 Spieler: 30 Karten<br>5 Spieler: 40 Karten<br>6 Spieler: 50 Karten",
"name": "Fluch" "name": "Fluch"
}, },
"Duchy": { "Duchy": {
"description": "3 <*VP*>", "description": "3 <*VP*>",
"extra": "Bei 5 und 6 Spielern: 12 Herzogtümer, Bei 3 und 4 Spielern: 12 Herzogtümer, Bei 2 Spielern: 8 Herzogtümer", "extra": "2 Spieler: 8 Herzogtümer<br>3+ Spieler: 12 Herzogtümer",
"name": "Herzogtum" "name": "Herzogtum"
}, },
"Estate": { "Estate": {
"description": "1 <*VP*>", "description": "1 <*VP*>",
"extra": "Bei 5 und 6 Spielern: 12 Anwesen, Bei 3 und 4 Spielern: 12 Anwesen, Bei 2 Spielern: 8 Anwesen", "extra": "2 Spieler: 8 Anwesen<br>3+ Spieler: 12 Anwesen",
"name": "Anwesen" "name": "Anwesen"
}, },
"Gold": { "Gold": {
"description": "+3 <*COIN*>", "description": "3 <*COIN*>",
"extra": "30 Karten pro Spiel.", "extra": "30 Karten pro Spiel.",
"name": "Gold" "name": "Gold"
}, },
"Province": { "Province": {
"description": "6 <*VP*>", "description": "6 <*VP*>",
"extra": "Bei 6 Spielern: 18 Provinzen, Bei 5 Spielern: 15 Provinzen, Bei 3 und 4 Spielern: 12 Provinzen, Bei 2 Spielern: 8 Provinzen", "extra": "2 Spieler: 8 Provinzen<br>2 oder 3 Spieler: 12 Provinzen<br>5 Spieler: 15 Provinzen<br>6 Spieler: 18 Provinzen",
"name": "Provinz" "name": "Provinz"
}, },
"Silver": { "Silver": {
"description": "+2 <*COIN*>", "description": "2 <*COIN*>",
"extra": "40 Karten pro Spiel.", "extra": "40 Karten pro Spiel.",
"name": "Silber" "name": "Silber"
}, },

View File

@ -20,8 +20,8 @@
"text_icon": "An" "text_icon": "An"
}, },
"base": { "base": {
"set_name": "Base", "set_name": "Basis",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.", "set_text": "Alle normalen Punkte-, Geld-, und Fluchkarten vom <i>Dominion</i> Basisspiel und Erweiterungen. Es enthält keine Punkte- oder Geldkarten die zugleich Königreichkarten sind.",
"text_icon": "B" "text_icon": "B"
}, },
"cornucopia": { "cornucopia": {
@ -30,7 +30,7 @@
"text_icon": "RE" "text_icon": "RE"
}, },
"cornucopia extras": { "cornucopia extras": {
"set_name": "Cornucopia Extras", "set_name": "Reiche Ernte Extras",
"set_text": "", "set_text": "",
"text_icon": "C" "text_icon": "C"
}, },

View File

@ -1357,12 +1357,71 @@ class CardSorter(object):
return card.getType().getTypeNames(), self.strip_accents(card.name) return card.getType().getTypeNames(), self.strip_accents(card.name)
def by_cost_sort_key(self, card): def by_cost_sort_key(self, card):
return ( """
Enforce color order:
1 Action
2 Treasure
3 Curse
4 Victory
5 Event
6 Landmark
7 Way (?)
8 Project (?)
9 Ruine
10 Hideout
11 Hex (?)
12 Night (?)
13 State (?)
14 Boon (?)
99 Expansion
"""
types = card.getType().getTypeNames()
# order of if-statements matters!
if "Ruins" in types:
type_index = 9
elif "Shelter" in types:
type_index = 10
elif "Event" in types:
type_index = 5
elif "Landmark" in types:
type_index = 6
elif "Way" in types:
type_index = 7
elif "Project" in types:
type_index = 8
elif "Action" in types:
type_index = 1
elif "Treasure" in types:
type_index = 2
elif "Curse" in types:
type_index = 3
elif "Victory" in types:
type_index = 4
elif "Hex" in types:
type_index = 11
elif "Night" in types:
type_index = 12
elif "State" in types:
type_index = 13
elif "Boon" in types:
type_index = 14
elif "Expansion" in types:
type_index = 99
else:
raise NotImplementedError(f"Unknown types {types} for card {card.name}")
x = (
card.cardset, card.cardset,
int(card.isExpansion()), int(card.isExpansion()),
str(card.get_total_cost(card)), self.baseIndex(card.name),
#card.getType().getTypeNames()[0],
type_index,
int(card.get_total_cost(card)[0]),
int(card.get_total_cost(card)[1]),
int(card.get_total_cost(card)[2]),
self.strip_accents(card.name), self.strip_accents(card.name),
) )
return x
@staticmethod @staticmethod
def strip_accents(s): def strip_accents(s):