Compare commits
31 commits
Author | SHA1 | Date | |
---|---|---|---|
|
93cdffb76e | ||
|
68d85ba833 | ||
|
6c30f0447b | ||
|
d28e1b855f | ||
|
95c6bde677 | ||
|
33db092023 | ||
|
9089c78aec | ||
|
9e6cd3d4ea | ||
|
242b6d2b7e | ||
|
cc9c352e57 | ||
|
6c57ad1b93 | ||
|
463f9da610 | ||
|
e05389a5bd | ||
|
c11f57ab9f | ||
|
7d12aa5dfc | ||
|
6c45efc216 | ||
|
d5812fa9a0 | ||
|
67d2807072 | ||
|
53b19b6cbf | ||
|
f497b9b968 | ||
|
34b4ed45c1 | ||
|
e053c56a88 | ||
|
948c7e2edb | ||
|
c3c7b87db3 | ||
|
05bb67851a | ||
|
805297554d | ||
|
d95466220d | ||
|
28141d3524 | ||
|
a89601c4ef | ||
|
de767417f1 | ||
|
a7327e2b65 |
7
.gitignore
vendored
|
@ -8,5 +8,12 @@ changelist.txt
|
|||
*.d
|
||||
*.toc
|
||||
outputs/**
|
||||
output/**
|
||||
Console.
|
||||
Python-Fu
|
||||
Makefile.deps
|
||||
generated/**
|
||||
!images/**
|
||||
|
||||
.ninja_log
|
||||
build.ninja
|
||||
|
|
BIN
.ninja_deps
Normal file
159
Makefile
|
@ -1,157 +1,8 @@
|
|||
.PHONY: all clean check printrun cardrun
|
||||
.PRECIOUS: %.pdf %.png
|
||||
default: everything
|
||||
|
||||
default: check decks
|
||||
all: check decks export
|
||||
build.ninja: $(wildcard *.cue) $(wildcard *.yaml) configure.jq
|
||||
cue export -- *.cue *.yaml | ./configure.jq --args -- *.cue *.yaml
|
||||
|
||||
# Check existence of necessary executables
|
||||
CONVERT:=$(shell command -v convert 2> /dev/null)
|
||||
XELATEX:=$(shell command -v xelatex 2> /dev/null)
|
||||
PDFTOPPM:=$(shell command -v pdftoppm 2> /dev/null)
|
||||
PDFUNITE:=$(shell command -v pdfunite 2> /dev/null)
|
||||
everything: build.ninja
|
||||
ninja
|
||||
|
||||
check:
|
||||
ifndef CONVERT
|
||||
$(error "convert not found. Please install imagemagick")
|
||||
endif
|
||||
ifndef XELATEX
|
||||
$(error "xelatex not found. Please install xetex")
|
||||
endif
|
||||
ifndef PDFTOPPM
|
||||
$(error "pdftoppm not found. Please install poppler")
|
||||
endif
|
||||
ifndef PDFUNITE
|
||||
$(error "pdfunite not found. Please install poppler")
|
||||
endif
|
||||
|
||||
SHORT_DECKLIST=$(shell ls cards/decks | grep -v run | sed -e 's/.txt//')
|
||||
DECKLIST=$(SHORT_DECKLIST) printrun cardrun
|
||||
DEPENDLIST=$(DECKLIST:%=%.d)
|
||||
|
||||
outputs/printrun.txt: $(SHORT_DECKLIST)
|
||||
cat $^ | sort > $@
|
||||
|
||||
outputs/cardrun.txt: $(SHORT_DECKLIST)
|
||||
cat $^ | sort -u > $@
|
||||
|
||||
outputs/%run.d: cards/decks/%run.txt
|
||||
echo -n 'outputs/$*run.pdf:' > $@
|
||||
tr '\n' ' ' < $< >> $@
|
||||
echo -e '\n\tpdfunite $$+ $$@' >> $@
|
||||
cat $< | sort | uniq -c | sed -e 's@\([[:digit:]]\+\) \(.\+/\)*\(.\+\).pdf@export: outputs/$*run/\3[\1].png@' >> $@
|
||||
cat $< | sort | uniq -c | sed -e 's@\([[:digit:]]\+\) \(.\+/\)*\(.\+\).pdf@outputs/$*run/\3[\1].png: \2\3[\1].png; cp \2\3[\1].png outputs/$*run/\3[\1].png@' >> $@
|
||||
mkdir -p outputs/$*run
|
||||
echo 'decks: outputs/$*run.pdf' >> $@
|
||||
|
||||
outputs/%.d: cards/decks/%.txt
|
||||
echo -n 'outputs/$*.pdf:' > $@
|
||||
tr '\n' ' ' < $< >> $@
|
||||
echo -e '\n\tpdfunite $$+ $$@' >> $@
|
||||
cat $< | sort | uniq -c | sed -e 's@\([[:digit:]]\+\) \(.\+/\)*\(.\+\).pdf@export: outputs/$*/\3[\1].png@' >> $@
|
||||
cat $< | sort | uniq -c | sed -e 's@\([[:digit:]]\+\) \(.\+/\)*\(.\+\).pdf@outputs/$*/\3[\1].png: \2\3[\1].png; cp \2\3[\1].png outputs/$*/\3[\1].png@' >> $@
|
||||
mkdir -p outputs/$*
|
||||
echo 'decks: outputs/$*.pdf' >> $@
|
||||
echo 'short: outputs/$*.pdf' >> $@
|
||||
|
||||
include $(DECKLIST:%=outputs/%.d)
|
||||
|
||||
outputs/iditaboard[face].png: iditaboard.pdf
|
||||
$(PDFTOPPM) -scale-to-x 4875 -scale-to-y 3075 -png $< > $@
|
||||
|
||||
outputs/cardback.png: cardback.png
|
||||
cp $< $@
|
||||
|
||||
outputs/stretchback1.png: cardback.png
|
||||
convert $< -fuzz 50% -fill \#7FDF7D -opaque white tmp.png
|
||||
convert tmp.png -fuzz 50% -fill \#CF5FCF -opaque black $@
|
||||
rm tmp.png
|
||||
|
||||
outputs/stretchback2.png: cardback.png
|
||||
convert $< -fuzz 50% -fill \#9FB76F -opaque white tmp.png
|
||||
convert tmp.png -fuzz 50% -fill \#FF5F5F -opaque black $@
|
||||
rm tmp.png
|
||||
|
||||
outputs/stretchback3.png: cardback.png
|
||||
convert $< -fuzz 50% -fill \#5F5FFF -opaque white tmp.png
|
||||
convert tmp.png -fuzz 50% -fill \#9F9F9F -opaque black $@
|
||||
rm tmp.png
|
||||
|
||||
outputs/stretchback4.png: cardback.png
|
||||
convert $< -fuzz 50% -fill \#3FDFDF -opaque white tmp.png
|
||||
convert tmp.png -fuzz 50% -fill \#DFDF3F -opaque black $@
|
||||
rm tmp.png
|
||||
|
||||
outputs/box[top].png: box_top.png
|
||||
cp $< $@
|
||||
|
||||
outputs/box[bottom].png: box_bottom.png
|
||||
cp $< $@
|
||||
|
||||
export: outputs/stretchback1.png outputs/stretchback2.png outputs/stretchback3.png outputs/stretchback4.png
|
||||
export: outputs/cardback.png
|
||||
export: outputs/box[top].png outputs/box[bottom].png
|
||||
export: outputs/iditaboard[face].png
|
||||
export: instructions.pdf
|
||||
|
||||
%.pdf: %.tex
|
||||
$(XELATEX) -interaction=batchmode -halt-on-error --shell-escape --output-directory=$(@D) $<
|
||||
echo "$@" >> changelist.txt
|
||||
rm $*.aux
|
||||
rm $*.log
|
||||
|
||||
instructions.pdf: instructions.tex cards/dogs/husky0.pdf cards/attachments/armour0.pdf cards/food/breakfast0.pdf cards/food/lunch0.pdf cards/sleds/repair_sled0.pdf cards/sleds/upgrade_sled0.pdf cards/movement/move0.pdf cards/food/dinner0.pdf cards/personal/first_aid0.pdf cards/dogs/good_dog0.pdf cards/util/vigilance.pdf cards/damaged.pdf cards/util/daylight_savings_time.pdf cards/util/sleeping_bag.pdf cards/sleds/new_sled.pdf cards/sleds/stop_and_shop.pdf cards/sleds/satiated.pdf cards/personal/ibuprofin.pdf cards/util/utility_knife.pdf
|
||||
$(XELATEX) -interaction=batchmode -halt-on-error --shell-escape --output-directory=$(@D) $<
|
||||
$(XELATEX) -interaction=batchmode -halt-on-error --shell-escape --output-directory=$(@D) $< # Twice, for TOC
|
||||
|
||||
force-make:
|
||||
|
||||
clean:
|
||||
-find cards -name '*.pdf' -delete
|
||||
-find cards -name '*].png' -delete
|
||||
-find cards -name '*-raw.png' -delete
|
||||
-find outputs -name '*.pdf' -delete
|
||||
-find outputs -name '*].png' -delete
|
||||
-find outputs -name '*.d' -delete
|
||||
-find . -name '*.aux' -delete
|
||||
-find . -name '*.log' -delete
|
||||
|
||||
print-% : ; @echo $* = $($*)
|
||||
|
||||
# Rules for each multiplicity of png
|
||||
%[1].png: %.pdf; ./cardtopng.sh $@
|
||||
%[2].png: %.pdf; ./cardtopng.sh $@
|
||||
%[3].png: %.pdf; ./cardtopng.sh $@
|
||||
%[4].png: %.pdf; ./cardtopng.sh $@
|
||||
%[5].png: %.pdf; ./cardtopng.sh $@
|
||||
%[6].png: %.pdf; ./cardtopng.sh $@
|
||||
%[7].png: %.pdf; ./cardtopng.sh $@
|
||||
%[8].png: %.pdf; ./cardtopng.sh $@
|
||||
%[9].png: %.pdf; ./cardtopng.sh $@
|
||||
%[10].png: %.pdf; ./cardtopng.sh $@
|
||||
%[11].png: %.pdf; ./cardtopng.sh $@
|
||||
%[12].png: %.pdf; ./cardtopng.sh $@
|
||||
%[13].png: %.pdf; ./cardtopng.sh $@
|
||||
%[14].png: %.pdf; ./cardtopng.sh $@
|
||||
%[15].png: %.pdf; ./cardtopng.sh $@
|
||||
%[16].png: %.pdf; ./cardtopng.sh $@
|
||||
%[17].png: %.pdf; ./cardtopng.sh $@
|
||||
%[18].png: %.pdf; ./cardtopng.sh $@
|
||||
%[19].png: %.pdf; ./cardtopng.sh $@
|
||||
%[20].png: %.pdf; ./cardtopng.sh $@
|
||||
%[21].png: %.pdf; ./cardtopng.sh $@
|
||||
%[22].png: %.pdf; ./cardtopng.sh $@
|
||||
%[23].png: %.pdf; ./cardtopng.sh $@
|
||||
%[24].png: %.pdf; ./cardtopng.sh $@
|
||||
%[25].png: %.pdf; ./cardtopng.sh $@
|
||||
%[26].png: %.pdf; ./cardtopng.sh $@
|
||||
%[27].png: %.pdf; ./cardtopng.sh $@
|
||||
%[28].png: %.pdf; ./cardtopng.sh $@
|
||||
%[29].png: %.pdf; ./cardtopng.sh $@
|
||||
%[30].png: %.pdf; ./cardtopng.sh $@
|
||||
%[31].png: %.pdf; ./cardtopng.sh $@
|
||||
%[32].png: %.pdf; ./cardtopng.sh $@
|
||||
%[33].png: %.pdf; ./cardtopng.sh $@
|
||||
%[34].png: %.pdf; ./cardtopng.sh $@
|
||||
%[35].png: %.pdf; ./cardtopng.sh $@
|
||||
%[36].png: %.pdf; ./cardtopng.sh $@
|
||||
%[image].png: %.pdf; ./cardtopng.sh $@
|
||||
|
|
9
README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Iditacards!
|
||||
|
||||
This is the "source code" for the Iditacards card game.
|
||||
|
||||
This README file is intended to explain the organization and methodology of the
|
||||
project.
|
||||
|
||||
If you just want to create all necessary assets, a simple `make all` should do
|
||||
the trick.
|
51
assets.cue
Normal file
|
@ -0,0 +1,51 @@
|
|||
// Iditacards asset definitions
|
||||
|
||||
package iditacards
|
||||
|
||||
#AssetKind: "image" | "tex" | "texdoc" | "template" | "cat" | "svg"
|
||||
|
||||
#Asset: {
|
||||
// passed to convert to create the "print" version (usually to add bleed)
|
||||
// e.g. -set option:distort:viewport 825x1125-37-37 -virtual-pixel Edge -distort SRT 0 +repage
|
||||
print?: string
|
||||
|
||||
// temporarily removed, hoping that scantex.sh can handle it
|
||||
if false {
|
||||
depends: {
|
||||
assets: [...string]
|
||||
files: [...string]
|
||||
}
|
||||
}
|
||||
|
||||
kind: #AssetKind
|
||||
|
||||
if kind == "image" {
|
||||
source: string
|
||||
}
|
||||
|
||||
if kind == "template" {
|
||||
template: string
|
||||
size: #Dimensions
|
||||
data: _
|
||||
}
|
||||
|
||||
if kind == "cat" {
|
||||
contents: [...string]
|
||||
}
|
||||
|
||||
if kind == "tex" || kind == "svg" {
|
||||
source: string
|
||||
size: #Dimensions
|
||||
}
|
||||
|
||||
if kind == "texdoc" {
|
||||
source: string
|
||||
}
|
||||
}
|
||||
|
||||
// Assets are what actually need to be printed/created/etc
|
||||
assets: [string]: #Asset
|
||||
|
||||
// Pseudo assets are useful to build for actually interacting with the game
|
||||
// (e.g. a PDF of all cards)
|
||||
pseudoassets: [string]: #Asset
|
67
assets.yaml
Normal file
|
@ -0,0 +1,67 @@
|
|||
# The "other" assets
|
||||
assets:
|
||||
logo:
|
||||
kind: image
|
||||
source: iditacards.png
|
||||
|
||||
cardback:
|
||||
kind: image
|
||||
source: cardback.png
|
||||
|
||||
cardback-firstleg:
|
||||
kind: image
|
||||
source: cardback.png
|
||||
print: +level-colors black,"#9117FF"
|
||||
|
||||
cardback-secondleg:
|
||||
kind: image
|
||||
source: cardback.png
|
||||
print: +level-colors black,"#17FF91"
|
||||
|
||||
cardback-thirdleg:
|
||||
kind: image
|
||||
source: cardback.png
|
||||
print: +level-colors black,"#FF9117"
|
||||
|
||||
iditaboard:
|
||||
kind: tex
|
||||
source: iditaboard.tex
|
||||
size: 4875x3075
|
||||
|
||||
instructions:
|
||||
kind: texdoc
|
||||
source: instructions.tex
|
||||
|
||||
instructions-anatomy:
|
||||
kind: texdoc
|
||||
source: instructions-anatomy.tex
|
||||
|
||||
die/cloud:
|
||||
kind: svg
|
||||
source: images/die/cloud.svg
|
||||
size: 180x180
|
||||
|
||||
die/rain:
|
||||
kind: svg
|
||||
source: images/die/rain.svg
|
||||
size: 180x180
|
||||
|
||||
die/snowflake:
|
||||
kind: svg
|
||||
source: images/die/snowflake.svg
|
||||
size: 180x180
|
||||
|
||||
die/storm:
|
||||
kind: svg
|
||||
source: images/die/storm.svg
|
||||
size: 180x180
|
||||
|
||||
die/sun:
|
||||
kind: svg
|
||||
source: images/die/sun.svg
|
||||
size: 180x180
|
||||
|
||||
die/wind:
|
||||
kind: svg
|
||||
source: images/die/wind.svg
|
||||
size: 180x180
|
BIN
box_bottom.png
Before Width: | Height: | Size: 23 MiB |
BIN
box_top.png
Before Width: | Height: | Size: 21 MiB |
BIN
boxbottom.png
Before Width: | Height: | Size: 12 MiB |
BIN
boxtop.png
Before Width: | Height: | Size: 10 MiB |
92
cards.cue
Normal file
|
@ -0,0 +1,92 @@
|
|||
// Iditacards card and deck asset specification
|
||||
|
||||
package iditacards
|
||||
|
||||
import "list"
|
||||
|
||||
#CardType: "attachment" | "dog" | "food" | "movement" | "personal" | "sled" | "damage"
|
||||
#UnaryEffect: "see" | "destroy" | "supply" | "take" | "speed" | "draw" |
|
||||
"daydraw" | "move" | "damage"
|
||||
#NilaryEffect: "immortal" | "safepass" | "inplayatstart" | "discardonkill" |
|
||||
"nohypothermia" | "doubledistance" | "passdie" | "nohold" | "damagetext"
|
||||
|
||||
// the template for a card gets this
|
||||
#Card: {
|
||||
name: string
|
||||
type: #CardType
|
||||
costs: {
|
||||
energy: uint | *0 | "ALL"
|
||||
health: uint | *0 | "ALL"
|
||||
risk: uint | *0 | "ALL"
|
||||
}
|
||||
// effects: [#NAryEffect]: {} | null | int | "ALL" | =~"x[0-9]+"
|
||||
effects: [#UnaryEffect]: int | "ALL" | =~"x[0-9]+"
|
||||
effects: [#NilaryEffect]: {} | null
|
||||
flavour: string
|
||||
image: string
|
||||
rarity?: #Rarity
|
||||
deck?: string
|
||||
}
|
||||
cards: [string]: #Card
|
||||
|
||||
#Rarity: "info" | "starting" | "common" | "rare" | "epic" | "legendary"
|
||||
|
||||
decks: [string]: [Name=_]: {
|
||||
rarity: #Rarity
|
||||
count: int
|
||||
}
|
||||
|
||||
assets: {
|
||||
for deckname, deck in decks
|
||||
for cardname, freq in deck
|
||||
let card = cards[cardname] {
|
||||
"cards/\(deckname)-\(cardname)[\(freq.count)]": {
|
||||
size: "750x1050"
|
||||
print: "-set option:distort:viewport 825x1125-37-37 -virtual-pixel Edge -distort SRT 0 +repage"
|
||||
|
||||
kind: "template"
|
||||
template: "card.tex"
|
||||
data: cards[cardname] & {
|
||||
rarity: freq.rarity
|
||||
deck: deckname
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if false {
|
||||
for deckname, deck in decks
|
||||
for cardname, freq in deck
|
||||
let card = cards[cardname] {
|
||||
"card/\(cardname)": {
|
||||
kind: "image"
|
||||
source: "images/card/\(cardname).png"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pseudoassets: {
|
||||
for deckname, deck in decks {
|
||||
"\(deckname)-deck": {
|
||||
kind: "cat"
|
||||
contents: [
|
||||
for cardname, freq in deck
|
||||
for idx in list.Range(0, freq.count, 1) {
|
||||
"cards/\(deckname)-\(cardname)[\(freq.count)]"
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
cardrun: {
|
||||
kind: "cat"
|
||||
contents: [
|
||||
for deckname, deck in decks
|
||||
for cardname, card in deck {
|
||||
for idx in list.Range(0, card.count, 1) {
|
||||
"cards/\(deckname)-\(cardname)[\(card.count)]"
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
726
cards.yaml
Normal file
|
@ -0,0 +1,726 @@
|
|||
# The cards
|
||||
cards:
|
||||
a_hat:
|
||||
name: 'A Hat'
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
effects:
|
||||
daydraw: 1
|
||||
image: hat
|
||||
type: attachment
|
||||
flavour: 'I bet its a valve hat.'
|
||||
|
||||
dog_chow:
|
||||
name: 'Dog Chow'
|
||||
costs:
|
||||
energy: 3
|
||||
health: 3
|
||||
effects:
|
||||
speed: 1
|
||||
image: dog_chow
|
||||
type: attachment
|
||||
flavour: 'A hungry dog is a slow dog.'
|
||||
|
||||
good_dog:
|
||||
name: 'Good Dog'
|
||||
costs:
|
||||
energy: 3
|
||||
health: 3
|
||||
effects:
|
||||
daydraw: 1
|
||||
image: good_dog
|
||||
type: dog
|
||||
flavour: 'Good boy.'
|
||||
|
||||
husky:
|
||||
name: 'Husky'
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
risk: 2
|
||||
effects:
|
||||
daydraw: 1
|
||||
speed: 1
|
||||
image: husky
|
||||
type: dog
|
||||
flavour: 'Standard mushing fare.'
|
||||
|
||||
wheel_dog:
|
||||
name: 'Wheel Dog'
|
||||
costs:
|
||||
energy: 3
|
||||
health: 3
|
||||
effects:
|
||||
speed: 1
|
||||
discardonkill:
|
||||
inplayatstart:
|
||||
image: wheel_dog
|
||||
type: dog
|
||||
flavour: 'The dog right in front of the sled. Strong and steady.'
|
||||
|
||||
breakfast:
|
||||
name: 'Breakfast'
|
||||
costs:
|
||||
health: 3
|
||||
effects:
|
||||
draw: 3
|
||||
image: breakfast
|
||||
type: food
|
||||
flavour: 'The most important meal of the day.'
|
||||
|
||||
lunch:
|
||||
name: 'Lunch'
|
||||
costs:
|
||||
energy: 3
|
||||
effects:
|
||||
draw: 3
|
||||
image: lunch
|
||||
type: food
|
||||
flavour: 'What about second breakfast?'
|
||||
|
||||
dinner:
|
||||
name: 'Dinner'
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
effects:
|
||||
draw: 7
|
||||
image: dinner
|
||||
type: food
|
||||
flavour: 'I hope you like salted fish.'
|
||||
|
||||
move:
|
||||
name: 'Move'
|
||||
effects:
|
||||
move: 1
|
||||
image: move
|
||||
type: movement
|
||||
flavour: 'Just another day.'
|
||||
|
||||
mush:
|
||||
name: 'Mush'
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
risk: 1
|
||||
effects:
|
||||
move: 10
|
||||
image: mush
|
||||
type: movement
|
||||
flavour: "Comes from the french word ``Marche''."
|
||||
|
||||
first_aid:
|
||||
name: First Aid
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
effects:
|
||||
see: 3
|
||||
destroy: 1
|
||||
image: first_aid
|
||||
type: personal
|
||||
flavour: 'Reduces swelling.'
|
||||
|
||||
grandma_soup:
|
||||
name: Grandma Soup
|
||||
costs:
|
||||
energy: 1
|
||||
health: 2
|
||||
risk: 1
|
||||
effects:
|
||||
see: 10
|
||||
destroy: 2
|
||||
image: grandma_soup
|
||||
type: personal
|
||||
flavour: 'Cures what ails you.'
|
||||
|
||||
repair_sled:
|
||||
name: Repair Sled
|
||||
costs:
|
||||
energy: 1
|
||||
health: 3
|
||||
effects:
|
||||
supply: 1
|
||||
take: 2
|
||||
image: repair_sled
|
||||
type: sled
|
||||
flavour: "It doesn't need to be pretty. It just has to work."
|
||||
|
||||
upgrade_sled:
|
||||
name: Upgrade Sled
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
effects:
|
||||
supply: 3
|
||||
take: 1
|
||||
image: upgrade_sled
|
||||
type: sled
|
||||
flavour: 'You have to keep your ride in top shape.'
|
||||
|
||||
buffer_panel:
|
||||
name: Buffer Panel
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
effects:
|
||||
immortal:
|
||||
safepass:
|
||||
image: buffer_panel
|
||||
type: attachment
|
||||
flavour: 'Did the primary buffer panel just fall of my gorram ship for no apparent reason?'
|
||||
|
||||
nuclear_reactor:
|
||||
name: Nuclear Reactor
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
effects:
|
||||
speed: 5
|
||||
passdie:
|
||||
image: nuclear_reactor
|
||||
type: attachment
|
||||
flavour: 'What could go wrong?'
|
||||
|
||||
engineer_dog:
|
||||
name: Engineer Dog
|
||||
costs:
|
||||
energy: 3
|
||||
health: 5
|
||||
risk: 1
|
||||
effects:
|
||||
speed: x2 # - '\speed{$\times 2$}'
|
||||
nohold:
|
||||
image: engineer_dog
|
||||
type: dog
|
||||
flavour: 'Nails and Gears.'
|
||||
|
||||
moose:
|
||||
name: Moose
|
||||
costs:
|
||||
energy: 5
|
||||
risk: 3
|
||||
effects:
|
||||
speed: 5
|
||||
immortal:
|
||||
image: moose
|
||||
type: dog
|
||||
flavour: 'Majestic creatures. Hard to tame.'
|
||||
|
||||
waffle:
|
||||
name: Waffle
|
||||
effects:
|
||||
draw: 2
|
||||
image: waffles
|
||||
type: food
|
||||
flavour: 'Waffles are \textbf{delicious}.'
|
||||
|
||||
whale_meat:
|
||||
name: Whale Meat
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
effects:
|
||||
draw: 5
|
||||
nohypothermia:
|
||||
image: whale_meat
|
||||
type: food
|
||||
flavour: "It's like rubber."
|
||||
|
||||
hitch_a_ride:
|
||||
name: Hitch a Ride
|
||||
costs:
|
||||
energy: 1
|
||||
effects:
|
||||
move: 6
|
||||
damage: 1
|
||||
image: hitch_a_ride
|
||||
type: movement
|
||||
flavour: 'Probably not in the spirit of the race.'
|
||||
|
||||
tactical_play:
|
||||
name: Tactical Play
|
||||
costs:
|
||||
energy: 1
|
||||
risk: 1
|
||||
effects:
|
||||
move: 0
|
||||
doubledistance:
|
||||
image: tactical_play
|
||||
type: movement
|
||||
flavour: 'Make the most of it.'
|
||||
|
||||
meditate:
|
||||
name: Meditate
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
effects:
|
||||
see: ALL
|
||||
destroy: 0
|
||||
image: meditate
|
||||
type: personal
|
||||
flavour: 'It \textit{is} just sitting.'
|
||||
|
||||
diamorphine:
|
||||
name: Diamorphine
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
risk: 1
|
||||
effects:
|
||||
see: ALL
|
||||
destroy: ALL
|
||||
image: diamorphine
|
||||
type: personal
|
||||
flavour: 'Highly addicting.'
|
||||
|
||||
desperate_times:
|
||||
name: Desperate Times
|
||||
costs:
|
||||
energy: ALL
|
||||
effects:
|
||||
supply: 10
|
||||
take: 5
|
||||
image: desparate_times
|
||||
type: sled
|
||||
flavour: 'Desperate measures hotline, how may I help you?'
|
||||
|
||||
lead_sled:
|
||||
name: Lead Sled
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
risk: 1
|
||||
effects:
|
||||
supply: 10
|
||||
take: 10
|
||||
image: lead_sled
|
||||
type: sled
|
||||
flavour: "At least it's not a zeppelin."
|
||||
|
||||
damaged:
|
||||
name: Damaged
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
effects:
|
||||
damagetext:
|
||||
image: damaged
|
||||
type: damage
|
||||
flavour: 'You have been hurt.'
|
||||
|
||||
dog_shoes:
|
||||
name: Dog Shoes
|
||||
costs:
|
||||
energy: 2
|
||||
health: 3
|
||||
effects:
|
||||
speed: 2
|
||||
image: dog_shoes
|
||||
type: attachment
|
||||
flavour: 'Dogs look cute in shoes.'
|
||||
|
||||
squirrel:
|
||||
name: Squirrel
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
risk: 1
|
||||
effects:
|
||||
speed: 3
|
||||
image: squirrel
|
||||
type: attachment
|
||||
flavour: 'Dogs \emph{hate} squirrels.'
|
||||
|
||||
tiara:
|
||||
name: Tiara
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
risk: 1
|
||||
effects:
|
||||
daydraw: 1
|
||||
speed: 1
|
||||
image: tiara
|
||||
type: attachment
|
||||
flavour: 'Makes the dog feel special.'
|
||||
|
||||
bear:
|
||||
name: Bear
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
risk: 2
|
||||
effects:
|
||||
speed: 5
|
||||
image: bear
|
||||
type: dog
|
||||
flavour: 'In hindsight, not the best idea.'
|
||||
|
||||
big_dog:
|
||||
name: Big Dog
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
effects:
|
||||
speed: 3
|
||||
image: big_dog
|
||||
type: dog
|
||||
flavour: "He's not red though."
|
||||
|
||||
greyhound:
|
||||
name: Greyhound
|
||||
costs:
|
||||
risk: 2
|
||||
effects:
|
||||
speed: 3
|
||||
nohold:
|
||||
image: greyhound
|
||||
type: dog
|
||||
flavour: 'What happens when you mix the colours on a husky? You get a grey hound.'
|
||||
|
||||
malamute:
|
||||
name: Malamute
|
||||
costs:
|
||||
energy: 2
|
||||
health: 2
|
||||
risk: 1
|
||||
effects:
|
||||
daydraw: 2
|
||||
image: malamute
|
||||
type: dog
|
||||
flavour: 'A common sled hauling breed.'
|
||||
|
||||
problem_dog:
|
||||
name: Problem Dog
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
risk: 1
|
||||
effects:
|
||||
daydraw: -1
|
||||
speed: 3
|
||||
image: problem_dog
|
||||
type: dog
|
||||
flavour: "I swear, if you weren't so fast."
|
||||
|
||||
bison:
|
||||
name: Bison
|
||||
costs:
|
||||
energy: 2
|
||||
risk: 1
|
||||
effects:
|
||||
draw: 5
|
||||
image: bison
|
||||
type: food
|
||||
flavour: "It's very lean."
|
||||
|
||||
poutine:
|
||||
name: Poutine
|
||||
costs:
|
||||
health: 2
|
||||
effects:
|
||||
draw: 1
|
||||
nohypothermia:
|
||||
image: poutine
|
||||
type: food
|
||||
flavour: 'The great Canadian carb!'
|
||||
|
||||
venison:
|
||||
name: Venison
|
||||
costs:
|
||||
health: 2
|
||||
effects:
|
||||
draw: 3
|
||||
image: venison
|
||||
type: food
|
||||
flavour: 'Better than breakfast.'
|
||||
|
||||
steak:
|
||||
name: Steak
|
||||
effects:
|
||||
draw: 1
|
||||
image: steak
|
||||
type: food
|
||||
flavour: "Well aren't you fancy."
|
||||
|
||||
jerky:
|
||||
name: Jerky
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
effects:
|
||||
draw: 3
|
||||
image: jerky
|
||||
type: food
|
||||
flavour: 'Watch your sodium!'
|
||||
|
||||
midnight_sun:
|
||||
name: Midnight Sun
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
risk: 1
|
||||
effects:
|
||||
move: 10
|
||||
image: midnight_sun
|
||||
type: movement
|
||||
flavour: 'Strange things are done in the midnight sun.'
|
||||
|
||||
push:
|
||||
name: Push
|
||||
costs:
|
||||
energy: 1
|
||||
effects:
|
||||
move: 5
|
||||
image: push
|
||||
type: movement
|
||||
flavour: 'Not a full mush, but still putting in some effort.'
|
||||
|
||||
slow_and_steady:
|
||||
name: Slow and Steady
|
||||
effects:
|
||||
draw: 1
|
||||
move: 0
|
||||
image: slow_and_steady
|
||||
type: movement
|
||||
flavour: 'Maybe a bit too slow.'
|
||||
|
||||
band_aid:
|
||||
name: Band Aid
|
||||
effects:
|
||||
see: 1
|
||||
destroy: 1
|
||||
image: band_aid
|
||||
type: personal
|
||||
flavour: 'Not much.'
|
||||
|
||||
bandage:
|
||||
name: Bandage
|
||||
costs:
|
||||
energy: 1
|
||||
effects:
|
||||
see: 5
|
||||
destroy: 1
|
||||
image: bandage
|
||||
type: personal
|
||||
flavour: 'Make sure you wrap it tight.'
|
||||
|
||||
brandy:
|
||||
name: Brandy
|
||||
costs:
|
||||
risk: 1
|
||||
effects:
|
||||
see: 5
|
||||
destroy: 1
|
||||
image: brandy
|
||||
type: personal
|
||||
flavour: 'Brought by a St.\ Bernard'
|
||||
|
||||
caffeine:
|
||||
name: Caffeine
|
||||
costs:
|
||||
health: 2
|
||||
effects:
|
||||
draw: 1
|
||||
see: 2
|
||||
destroy: 1
|
||||
image: caffeine
|
||||
type: personal
|
||||
flavour: 'The greatest addiction ever.'
|
||||
|
||||
improvise:
|
||||
name: Improvise
|
||||
effects:
|
||||
take: 1
|
||||
image: improvise
|
||||
type: sled
|
||||
flavour: 'MacGyver of the north.'
|
||||
|
||||
makeshift_sled:
|
||||
name: Makeshift Sled
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
effects:
|
||||
supply: 2
|
||||
take: 6
|
||||
image: makeshift_sled
|
||||
type: sled
|
||||
flavour: "Rickety, but it'll hold."
|
||||
|
||||
salvage:
|
||||
name: Salvage
|
||||
costs:
|
||||
energy: 1
|
||||
health: 1
|
||||
effects:
|
||||
supply: 3
|
||||
take: 2
|
||||
image: salvage
|
||||
type: sled
|
||||
flavour: 'Take the good with the bad.'
|
||||
|
||||
antique_sled:
|
||||
name: Antique Sled
|
||||
costs:
|
||||
health: 5
|
||||
effects:
|
||||
supply: 2
|
||||
take: 8
|
||||
image: antique_sled
|
||||
type: sled
|
||||
flavour: 'Withstood the test of the time.'
|
||||
|
||||
rush:
|
||||
name: Rush
|
||||
costs:
|
||||
health: 3
|
||||
risk: 1
|
||||
effects:
|
||||
move: 8
|
||||
image: rush
|
||||
type: movement
|
||||
flavour: 'Hurry up!'
|
||||
|
||||
supply_run:
|
||||
name: Supply Run
|
||||
effects:
|
||||
move: 3
|
||||
image: supply_run
|
||||
type: movement
|
||||
flavour: 'Not as easy as dropping by the grocery store.'
|
||||
|
||||
decks:
|
||||
starter1: &starter
|
||||
a_hat:
|
||||
rarity: starting
|
||||
count: 1
|
||||
breakfast:
|
||||
rarity: starting
|
||||
count: 2
|
||||
lunch:
|
||||
rarity: starting
|
||||
count: 2
|
||||
dinner:
|
||||
rarity: starting
|
||||
count: 1
|
||||
dog_chow:
|
||||
rarity: starting
|
||||
count: 1
|
||||
first_aid:
|
||||
rarity: starting
|
||||
count: 2
|
||||
good_dog:
|
||||
rarity: starting
|
||||
count: 1
|
||||
grandma_soup:
|
||||
rarity: starting
|
||||
count: 1
|
||||
husky:
|
||||
rarity: starting
|
||||
count: 1
|
||||
move:
|
||||
rarity: starting
|
||||
count: 4
|
||||
mush:
|
||||
rarity: starting
|
||||
count: 1
|
||||
repair_sled:
|
||||
rarity: starting
|
||||
count: 2
|
||||
upgrade_sled:
|
||||
rarity: starting
|
||||
count: 2
|
||||
wheel_dog:
|
||||
rarity: starting
|
||||
count: 1
|
||||
starter2: *starter
|
||||
starter3: *starter
|
||||
starter4: *starter
|
||||
# starter5: *starter
|
||||
# starter6: *starter
|
||||
|
||||
race:
|
||||
bear:
|
||||
rarity: rare
|
||||
count: 2
|
||||
big_dog:
|
||||
rarity: rare
|
||||
count: 2
|
||||
dog_shoes:
|
||||
rarity: rare
|
||||
count: 2
|
||||
greyhound:
|
||||
rarity: rare
|
||||
count: 2
|
||||
improvise:
|
||||
rarity: common
|
||||
count: 2
|
||||
midnight_sun:
|
||||
rarity: rare
|
||||
count: 2
|
||||
problem_dog:
|
||||
rarity: rare
|
||||
count: 2
|
||||
push:
|
||||
rarity: rare
|
||||
count: 2
|
||||
rush:
|
||||
rarity: rare
|
||||
count: 2
|
||||
slow_and_steady:
|
||||
rarity: rare
|
||||
count: 2
|
||||
squirrel:
|
||||
rarity: rare
|
||||
count: 2
|
||||
supply_run:
|
||||
rarity: rare
|
||||
count: 2
|
||||
tiara:
|
||||
rarity: rare
|
||||
count: 2
|
||||
|
||||
survival:
|
||||
antique_sled:
|
||||
rarity: common
|
||||
count: 2
|
||||
band_aid:
|
||||
rarity: common
|
||||
count: 2
|
||||
bandage:
|
||||
rarity: common
|
||||
count: 2
|
||||
bison:
|
||||
rarity: common
|
||||
count: 2
|
||||
brandy:
|
||||
rarity: common
|
||||
count: 2
|
||||
caffeine:
|
||||
rarity: common
|
||||
count: 2
|
||||
jerky:
|
||||
rarity: common
|
||||
count: 2
|
||||
makeshift_sled:
|
||||
rarity: common
|
||||
count: 2
|
||||
malamute:
|
||||
rarity: common
|
||||
count: 2
|
||||
poutine:
|
||||
rarity: common
|
||||
count: 2
|
||||
salvage:
|
||||
rarity: common
|
||||
count: 2
|
||||
steak:
|
||||
rarity: common
|
||||
count: 2
|
||||
venison:
|
||||
rarity: common
|
||||
count: 2
|
18
cardtopng.sh
|
@ -1,18 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Syntax: cardtopng.sh cardname.png
|
||||
OUTPUT=$1
|
||||
INTERMEDIATE=$(echo "$1" | sed 's/\[.*\]\..*//')-raw.png
|
||||
PDFNAME=$(echo "$1" | sed 's/\[.*\]\..*//').pdf
|
||||
|
||||
# Determine card size
|
||||
#if grep -q 750x1050 <<<$(identify $INTERMEDIATE); then
|
||||
if [ "${PDFNAME/stretch}" = "$PDFNAME" ]; then
|
||||
# Poker Deck
|
||||
pdftoppm -scale-to-x 750 -scale-to-y 1050 -png $PDFNAME > $INTERMEDIATE
|
||||
convert $INTERMEDIATE -set option:distort:viewport 825x1125-37-37 -virtual-pixel Edge -distort SRT 0 +repage $OUTPUT
|
||||
else
|
||||
# Mini Deck
|
||||
pdftoppm -scale-to-x 750 -scale-to-y 525 -png $PDFNAME > $INTERMEDIATE
|
||||
convert $INTERMEDIATE -set option:distort:viewport 825x600-37-37 -virtual-pixel Edge -distort SRT 0 +repage $OUTPUT
|
||||
fi
|
132
configure.jq
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/env -S jq -r -f
|
||||
# Takes iditacards output json and produces the dynamic ninja build
|
||||
# Example usage: cue export -- *.cue *.yaml | ./configure.jq > output/build.ninja
|
||||
|
||||
def ifblank(x): if . | length > 0 then . else x end;
|
||||
def cuesources: $ARGS.positional | join(" ");
|
||||
def header: "# Generated from configure.jq, do not edit this file!
|
||||
|
||||
root = .
|
||||
|
||||
rule configure
|
||||
description = recreate build.ninja using configure.jq
|
||||
command = cue export -- *.cue *.yaml | ./configure.jq --args -- *.cue *.yaml > $out
|
||||
generator = 1
|
||||
|
||||
build build.ninja: configure | configure.jq \(cuesources)
|
||||
|
||||
base = .
|
||||
include rules.ninja
|
||||
|
||||
build output/.everything.json: cuegen \(cuesources)
|
||||
filter = .
|
||||
";
|
||||
|
||||
def dirof: split("/")[0:-1] | join("/") | if . | length > 0 then . + "/" else "" end;
|
||||
def filof: . as $saved | split("/")[-1] | ifblank($saved);
|
||||
def rawof: filof as $saved | split(".")[0:-1] | join(".") | ifblank($saved);
|
||||
|
||||
def generate_pdf_builds($dir; $raw; $tex): "
|
||||
build output/\($dir)\($raw).pdf: tex2pdf \($tex) || output/\($dir).\($raw).pdf.dd
|
||||
dyndep = output/\($dir).\($raw).pdf.dd
|
||||
|
||||
build output/\($dir).\($raw).pdf.dd: scantex \($tex)
|
||||
target = output/\($dir)\($raw).pdf
|
||||
";
|
||||
|
||||
def generate_png_from_pdf_builds($dir; $raw; $pdf):
|
||||
(.size | split("x")[0]) as $w |
|
||||
(.size | split("x")[1]) as $h |
|
||||
(if .print then "raw." else "" end) as $ext | "
|
||||
build output/\($dir)\($raw).\($ext)png: pdf2png \($pdf)
|
||||
w = \($w)
|
||||
h = \($h)
|
||||
";
|
||||
|
||||
def generate_png_copy_builds($dir; $raw; $png):
|
||||
(if .print then "raw." else "" end) as $ext | "
|
||||
build output/\($dir)\($raw).\($ext)png: copy \($png)
|
||||
";
|
||||
|
||||
def generate_print_png_builds($dir; $raw; $rawpng):
|
||||
if .print then "
|
||||
build output/\($dir)\($raw).png: convert \($rawpng)
|
||||
args = \(.print)
|
||||
" else empty end;
|
||||
|
||||
def generate_template_builds:
|
||||
(.name | dirof) as $dir |
|
||||
(.name | rawof) as $raw | ("
|
||||
build output/\($dir).\($raw).update | output/\($dir).\($raw).json: extract output/.everything.json
|
||||
filter = --arg asset '\(.name)' '.assets[$$asset].data'
|
||||
target = output/\($dir).\($raw).json
|
||||
|
||||
build output/\($dir)/tex/\($raw).tex: template2tex output/\($dir).\($raw).json | templates/\(.template)
|
||||
template = templates/\(.template)
|
||||
",
|
||||
generate_pdf_builds($dir; $raw; "output/\($dir)/tex/\($raw).tex"),
|
||||
generate_png_from_pdf_builds($dir; $raw; "output/\($dir)\($raw).pdf"),
|
||||
generate_print_png_builds($dir; $raw; "output/\($dir)\($raw).raw.png")
|
||||
);
|
||||
|
||||
def generate_image_builds:
|
||||
(.name | dirof) as $dir |
|
||||
(.name | rawof) as $raw | (
|
||||
generate_png_copy_builds($dir; $raw; .source),
|
||||
generate_print_png_builds($dir; $raw; "output/\($dir)\($raw).raw.png")
|
||||
);
|
||||
|
||||
def generate_tex_builds:
|
||||
(.size | split("x")[0]) as $w |
|
||||
(.size | split("x")[1]) as $h |
|
||||
(.name | dirof) as $dir |
|
||||
(.name | rawof) as $raw | (
|
||||
generate_pdf_builds($dir; $raw; .source),
|
||||
generate_png_from_pdf_builds($dir; $raw; "output/\($dir)\($raw).pdf"),
|
||||
generate_print_png_builds($dir; $raw; "output/\($dir)\($raw).raw.png")
|
||||
);
|
||||
|
||||
def generate_texdoc_builds:
|
||||
(.name | dirof) as $dir |
|
||||
(.name | rawof) as $raw | "
|
||||
build output/\($dir)\($raw).pdf: tex2pdf2x \(.source) || output/\($dir).\($raw).pdf.dd
|
||||
dyndep = output/\($dir).\($raw).pdf.dd
|
||||
|
||||
build output/\($dir).\($raw).pdf.dd: scantex \(.source)
|
||||
target = output/\($dir)\($raw).pdf
|
||||
";
|
||||
|
||||
def generate_cat_builds:
|
||||
(.contents | map("output/" + . + ".pdf") | join(" ")) as $pdfcontents |
|
||||
(.contents | map("output/" + . + ".png") | join(" ")) as $pngcontents |
|
||||
(.contents | map("output/" + . + ".raw.png") | join(" ")) as $rawcontents |
|
||||
(.name | dirof) as $dir |
|
||||
(.name | rawof) as $raw | "
|
||||
build output/\($dir)\($raw).pdf | output/\($dir)\($raw)-mini.pdf: pdfunite \($pdfcontents)
|
||||
build output/\($dir)\($raw).png: pngunite \($pngcontents)
|
||||
build output/\($dir)\($raw).raw.png: pngunite \($rawcontents)
|
||||
";
|
||||
|
||||
def generate_svg_builds:
|
||||
(.size | split("x")[0]) as $w |
|
||||
(.size | split("x")[1]) as $h |
|
||||
(.name | dirof) as $dir |
|
||||
(.name | rawof) as $raw | "
|
||||
build output/\($dir)\($raw).png: svg2png \(.source)
|
||||
w = \($w)
|
||||
h = \($h)
|
||||
";
|
||||
|
||||
def generate_builds:
|
||||
(select(.kind == "template") | generate_template_builds),
|
||||
(select(.kind == "image") | generate_image_builds),
|
||||
(select(.kind == "tex") | generate_tex_builds),
|
||||
(select(.kind == "texdoc") | generate_texdoc_builds),
|
||||
(select(.kind == "cat") | generate_cat_builds),
|
||||
(select(.kind == "svg") | generate_svg_builds);
|
||||
|
||||
def expandout: to_entries[] | .value + { name: .key };
|
||||
def everything: (.assets, .pseudoassets) | expandout;
|
||||
|
||||
header,
|
||||
(everything | generate_builds)
|
BIN
destroyed.png
Before Width: | Height: | Size: 130 KiB |
BIN
doghelp.png
Before Width: | Height: | Size: 46 KiB |
BIN
expansionbox.png
Before Width: | Height: | Size: 3.5 MiB |
24
foodhelp.tex
|
@ -1,24 +0,0 @@
|
|||
% Compile with XeLaTeX
|
||||
% Now tests new features!
|
||||
\documentclass{iditacard}
|
||||
% Montage with `montage -tile 3x3 -geometry 750x1050+50+25 in* out.pdf`
|
||||
|
||||
\rarity{common}
|
||||
\cardtype{food}
|
||||
\deck{none}
|
||||
|
||||
\begin{document}
|
||||
%\begin{playcard}[special]{utility}{legendary}
|
||||
\begin{card}
|
||||
%\art{iditaboard}
|
||||
%\costs{1}{2}{3}
|
||||
\health{\kern-.1ex \lower.3ex\hbox{+}}
|
||||
\name{Starvation}
|
||||
\helptext{\vskip-1ex Starvation increases health costs.\\When you play a food card reduce
|
||||
your starvation by 1.\\A cost of 0 stays 0.\\If you reach 7 starvation you
|
||||
die:\\Go back 30 \Mms\ and remove your Starvation/Hypothermia.}
|
||||
%\flava{What doesn't kill you makes you stronger.}
|
||||
%\type{utility}
|
||||
%\end{playcard}
|
||||
\end{card}
|
||||
\end{document}
|
25
ideas
|
@ -1,3 +1,28 @@
|
|||
Add "blank" cards for people to put their own dogs on!
|
||||
Use a more legible/accessible database format. Perhaps a custom format with easy
|
||||
tooling or a csv-like format.
|
||||
|
||||
|
||||
6 of each type of stretch:
|
||||
|
||||
First: Daydraw+3(HH), free dogs(SH), free personal(HS), free sleds(SS), no hypo(SS), no starve(HH)
|
||||
|
||||
Second: Speed+3(HHH), EnergyC-1, Health-1, Daydraw+1, free food, free
|
||||
attachments
|
||||
|
||||
Third: Daydraw-3(HHHH),no food(HSSH), no personal(SHHS), Speed-3(HSSH), EnergyC+1, HealthC+1
|
||||
|
||||
no X-type is LaTeX \cardtypetext{type}{\notallowed}
|
||||
|
||||
Automatic move by "0" each day unless:
|
||||
- new day
|
||||
- hypothermia
|
||||
- starvation
|
||||
If *both* hypo and starve, then move by "-0"!
|
||||
Two-day duration for effects of sleds and personals (add, then take [if still there] - check balance of starter cards [how hard is it to get nothing?]).
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Kill -> Sacrifice for *own* dogs.
|
||||
More compact symbols for destroy/take. Maybe <EYE> X <CAN> Y and <PACK> X <SHOP> Y?
|
||||
Maybe undo icons for some things, follow the 5 second rule as per
|
||||
|
|
BIN
iditaboard.png
Before Width: | Height: | Size: 306 KiB |
663
iditaboard.tex
|
@ -2,8 +2,9 @@
|
|||
|
||||
% True size data
|
||||
%
|
||||
% 'Tile' diameter = ~0.5in
|
||||
% 'Tile' diameter = 15mm
|
||||
|
||||
% TODO: Add legendary checkpoints logically (outside of legs)
|
||||
\definecolor{stage_one}{HTML}{7FDF7D}
|
||||
\definecolor{stage_two}{HTML}{9FB76F}
|
||||
\definecolor{stage_three}{HTML}{5F5FFF}
|
||||
|
@ -13,22 +14,18 @@
|
|||
\definecolor{stage_seven}{HTML}{FF5F5F}
|
||||
\definecolor{stage_eight}{HTML}{CF5FCF}
|
||||
|
||||
\def\cutlinet{1499.5/300.0}
|
||||
\def\cutlinel{-2395.5/300.0}
|
||||
\def\cutlineb{-1499.5/300.0}
|
||||
\def\cutliner{2395.5/300.0}
|
||||
\def\cutlinet{12.7}
|
||||
\def\cutlinel{-20.28}
|
||||
\def\cutlineb{-12.7}
|
||||
\def\cutliner{20.28}
|
||||
|
||||
\def\height{3075.0/300.0}
|
||||
\def\width{4875.0/300.0}
|
||||
\def\height{26.04}
|
||||
\def\width{41.28}
|
||||
|
||||
\def\bottom{-1537.5/300.0}
|
||||
\def\left{-2437.5/300.0}
|
||||
\def\top{1537.5/300.0}
|
||||
\def\right{2437.5/300.0}
|
||||
|
||||
\newcommand{\drawoverlay}{%
|
||||
\node [opacity=0.2, anchor=south west, inner sep=0mm, outer sep=0mm] at (\left,\bottom) {\includegraphics[angle=90, width=16.25in, height=10.25in] {bigmat.png}};
|
||||
}
|
||||
\def\bottom{-13.02}
|
||||
\def\left{-20.64}
|
||||
\def\top{13.02}
|
||||
\def\right{20.64}
|
||||
|
||||
\newcommand{\drawguides}{%
|
||||
\draw [blue] (\cutlinel,\bottom) -- (\cutlinel,\top);
|
||||
|
@ -40,421 +37,261 @@
|
|||
\draw [blue] (\left,0) -- (\right,0);
|
||||
}
|
||||
|
||||
% draw leg foreground, background draws a leg centered at 0,0
|
||||
% Bounding box is: -103.75,-128.75 to 103.75,128.75
|
||||
\newcommand{\drawleg}[2]{%
|
||||
% Draw the background as a rectangle
|
||||
\fill [#2] (-100.0/300.0,-128.75/300.0) rectangle (100.0/300.0,128.75/300.0);
|
||||
% The path is 25.0 wide, (bottom) (top)
|
||||
% starts 12.5 units up, goes (0,12.5) (0,37.5)
|
||||
% right for 37.5 units, (37.5,12.5) (12.5,37.5)
|
||||
% up for 56.25 units, (37.5,212.5) (12.5,237.5)
|
||||
% right for 75.0 units, (62.5,212.5) (87.5,237.5)
|
||||
% down for 225.0 units, (62.5,12.5) (87.5,37.5)
|
||||
% right for 75.0 units, (137.5,12.5) (112.5,37.5)
|
||||
% up for 225.0 units, (137.5,212.5) (112.5,237.5)
|
||||
% right for 75.0 units, (162.5,212.5) (187.5,237.5)
|
||||
% down for 225.0 units, (162.5,12.5) (187.5,37.5)
|
||||
% right for 37.5 units. (200.0,12.5) (200.0,37.5)
|
||||
\fill [#1] (-100.0/300.0,-112.5/300.0) --
|
||||
(-62.5/300.0,-112.5/300.0) --
|
||||
(-62.5/300.0,87.5/300.0) --
|
||||
(-37.5/300.0,87.5/300.0) --
|
||||
(-37.5/300.0,-112.5/300.0) --
|
||||
(37.5/300.0,-112.5/300.0) --
|
||||
(37.5/300.0,87.5/300.0) --
|
||||
(62.5/300.0,87.5/300.0) --
|
||||
(62.5/300.0,-112.5/300.0) --
|
||||
(100.0/300.0,-112.5/300.0) --
|
||||
(100.0/300.0,-87.5/300.0) --
|
||||
(87.5/300.0,-87.5/300.0) --
|
||||
(87.5/300.0,112.5/300.0) --
|
||||
(12.5/300.0,112.5/300.0) --
|
||||
(12.5/300.0,-87.5/300.0) --
|
||||
(-12.5/300.0,-87.5/300.0) --
|
||||
(-12.5/300.0,112.5/300.0) --
|
||||
(-87.5/300.0,112.5/300.0) --
|
||||
(-87.5/300.0,-87.5/300.0) --
|
||||
(-100.0/300.0,-87.5/300.0) -- cycle;
|
||||
|
||||
% Draw the Walls - they stick out to the left
|
||||
|
||||
% Draw the surrounding walls - they are 7.5 units wide
|
||||
\fill [black] (-103.75/300.0,-128.75/300.0) --
|
||||
(100.0/300.0,-128.75/300.0) --
|
||||
(100.0/300.0,-121.25/300.0) --
|
||||
(53.75/300.0,-121.25/300.0) --
|
||||
(53.75/300.0,78.75/300.0) --
|
||||
(46.25/300.0,78.75/300.0) --
|
||||
(46.25/300.0,-121.25/300.0) --
|
||||
(-46.25/300.0,-121.25/300.0) --
|
||||
(-46.25/300.0,78.75/300.0) --
|
||||
(-53.75/300.0,78.75/300.0) --
|
||||
(-53.75/300.0,-121.25/300.0) --
|
||||
(-103.75/300.0,-121.25/300.0) -- cycle;
|
||||
\fill [black] (-96.25/300.0,-78.75/300.0) --
|
||||
(-96.25/300.0,121.25/300.0) --
|
||||
(-3.75/300.0,121.25/300.0) --
|
||||
(-3.75/300.0,-78.75/300.0) --
|
||||
(3.75/300.0,-78.75/300.0) --
|
||||
(3.75/300.0,121.25/300.0) --
|
||||
(96.25/300.0,121.25/300.0) --
|
||||
(96.25/300.0,-78.75/300.0) --
|
||||
(103.75/300.0,-78.75/300.0) --
|
||||
(103.75/300.0,128.75/300.0) --
|
||||
(-103.75/300.0,128.75/300.0) --
|
||||
(-103.75/300.0,-78.75/300.0) -- cycle;
|
||||
|
||||
% Draw the internal walls - they are 2.5x37.5 units
|
||||
% Verticals
|
||||
\fill [black] (-101.25/300.0,-118.75/300.0) rectangle (-98.75/300.0,-81.25/300.0);
|
||||
\fill [black] (-51.25/300.0,81.25/300.0) rectangle (-48.75/300.0,118.75/300.0);
|
||||
\fill [black] (-1.25/300.0,-118.75/300.0) rectangle (1.25/300.0,-81.25/300.0);
|
||||
\fill [black] (48.75/300.0,81.25/300.0) rectangle (51.25/300.0,118.75/300.0);
|
||||
\fill [black] (98.75/300.0,-118.75/300.0) rectangle (101.25/300.0,-81.25/300.0);
|
||||
|
||||
% Horizontals
|
||||
\fill [black] (-93.75/300.0,-76.25/300.0) rectangle (-56.25/300.0,-73.75/300.0);
|
||||
\fill [black] (-93.75/300.0,-26.25/300.0) rectangle (-56.25/300.0,-23.75/300.0);
|
||||
\fill [black] (-93.75/300.0,23.75/300.0) rectangle (-56.25/300.0,26.25/300.0);
|
||||
\fill [black] (-93.75/300.0,73.75/300.0) rectangle (-56.25/300.0,76.25/300.0);
|
||||
\fill [black] (-43.75/300.0,-76.25/300.0) rectangle (-6.25/300.0,-73.75/300.0);
|
||||
\fill [black] (-43.75/300.0,-26.25/300.0) rectangle (-6.25/300.0,-23.75/300.0);
|
||||
\fill [black] (-43.75/300.0,23.75/300.0) rectangle (-6.25/300.0,26.25/300.0);
|
||||
\fill [black] (-43.75/300.0,73.75/300.0) rectangle (-6.25/300.0,76.25/300.0);
|
||||
\fill [black] (6.25/300.0,-76.25/300.0) rectangle (43.75/300.0,-73.75/300.0);
|
||||
\fill [black] (6.25/300.0,-26.25/300.0) rectangle (43.75/300.0,-23.75/300.0);
|
||||
\fill [black] (6.25/300.0,23.75/300.0) rectangle (43.75/300.0,26.25/300.0);
|
||||
\fill [black] (6.25/300.0,73.75/300.0) rectangle (43.75/300.0,76.25/300.0);
|
||||
\fill [black] (56.25/300.0,-76.25/300.0) rectangle (93.75/300.0,-73.75/300.0);
|
||||
\fill [black] (56.25/300.0,-26.25/300.0) rectangle (93.75/300.0,-23.75/300.0);
|
||||
\fill [black] (56.25/300.0,23.75/300.0) rectangle (93.75/300.0,26.25/300.0);
|
||||
\fill [black] (56.25/300.0,73.75/300.0) rectangle (93.75/300.0,76.25/300.0);
|
||||
\newcommand{\sampletoken}{%
|
||||
\fill [blue] (0,0) circle (0.75);
|
||||
}
|
||||
|
||||
% draw mid leg foreground, background draws a leg centered at 0,0
|
||||
% Bounding box is: -103.75,-128.75 to 103.75,128.75
|
||||
\newcommand{\drawmidleg}[2]{%
|
||||
% Draw the background as a rectangle
|
||||
\fill [#2] (-100.0/300.0,-125.0/300.0) rectangle (100.0/300.0,125.0/300.0);
|
||||
% The path is 25.0 wide, (bottom) (top)
|
||||
% starts 12.5 units up, goes (0,12.5) (0,37.5)
|
||||
% right for 37.5 units, (37.5,12.5) (12.5,37.5)
|
||||
% up for 225.0 units, (37.5,212.5) (12.5,237.5)
|
||||
% right for 75.0 units, (62.5,212.5) (87.5,237.5)
|
||||
% down for 225.0 units, (62.5,12.5) (87.5,37.5)
|
||||
% right for 75.0 units, (137.5,12.5) (112.5,37.5)
|
||||
% up for 225.0 units, (137.5,212.5) (112.5,237.5)
|
||||
% right for 75.0 units, (162.5,212.5) (187.5,237.5)
|
||||
% down for 237.5 units, (162.5,0) (187.5,0)
|
||||
\fill [#1] (-100.0/300.0,-112.5/300.0) --
|
||||
(-62.5/300.0,-112.5/300.0) --
|
||||
(-62.5/300.0,87.5/300.0) --
|
||||
(-37.5/300.0,87.5/300.0) --
|
||||
(-37.5/300.0,-112.5/300.0) --
|
||||
(37.5/300.0,-112.5/300.0) --
|
||||
(37.5/300.0,87.5/300.0) --
|
||||
(62.5/300.0,87.5/300.0) --
|
||||
(62.5/300.0,-125.0/300.0) --
|
||||
(87.5/300.0,-125.0/300.0) --
|
||||
(87.5/300.0,112.5/300.0) --
|
||||
(12.5/300.0,112.5/300.0) --
|
||||
(12.5/300.0,-87.5/300.0) --
|
||||
(-12.5/300.0,-87.5/300.0) --
|
||||
(-12.5/300.0,112.5/300.0) --
|
||||
(-87.5/300.0,112.5/300.0) --
|
||||
(-87.5/300.0,-87.5/300.0) --
|
||||
(-100.0/300.0,-87.5/300.0) -- cycle;
|
||||
|
||||
% Draw the Walls - they stick out to the left
|
||||
|
||||
% Draw the surrounding walls - they are 7.5 units wide
|
||||
\fill [black] (-103.75/300.0,-128.75/300.0) --
|
||||
(53.75/300.0,-128.75/300.0) --
|
||||
(53.75/300.0,78.75/300.0) --
|
||||
(46.25/300.0,78.75/300.0) --
|
||||
(46.25/300.0,-121.25/300.0) --
|
||||
(-46.25/300.0,-121.25/300.0) --
|
||||
(-46.25/300.0,78.75/300.0) --
|
||||
(-53.75/300.0,78.75/300.0) --
|
||||
(-53.75/300.0,-121.25/300.0) --
|
||||
(-103.75/300.0,-121.25/300.0) -- cycle;
|
||||
\fill [black] (-96.25/300.0,-78.75/300.0) --
|
||||
(-96.25/300.0,121.25/300.0) --
|
||||
(-3.75/300.0,121.25/300.0) --
|
||||
(-3.75/300.0,-78.75/300.0) --
|
||||
(3.75/300.0,-78.75/300.0) --
|
||||
(3.75/300.0,121.25/300.0) --
|
||||
(96.25/300.0,121.25/300.0) --
|
||||
(96.25/300.0,-128.75/300.0) --
|
||||
(103.75/300.0,-128.75/300.0) --
|
||||
(103.75/300.0,128.75/300.0) --
|
||||
(-103.75/300.0,128.75/300.0) --
|
||||
(-103.75/300.0,-78.75/300.0) -- cycle;
|
||||
|
||||
% Draw the internal walls - they are 2.5x37.5 units
|
||||
% Verticals
|
||||
\fill [black] (-101.25/300.0,-118.75/300.0) rectangle (-98.75/300.0,-81.25/300.0);
|
||||
\fill [black] (-51.25/300.0,81.25/300.0) rectangle (-48.75/300.0,118.75/300.0);
|
||||
\fill [black] (-1.25/300.0,-118.75/300.0) rectangle (1.25/300.0,-81.25/300.0);
|
||||
\fill [black] (48.75/300.0,81.25/300.0) rectangle (51.25/300.0,118.75/300.0);
|
||||
|
||||
|
||||
% Horizontals
|
||||
\fill [black] (-93.75/300.0,-76.25/300.0) rectangle (-56.25/300.0,-73.75/300.0);
|
||||
\fill [black] (-93.75/300.0,-26.25/300.0) rectangle (-56.25/300.0,-23.75/300.0);
|
||||
\fill [black] (-93.75/300.0,23.75/300.0) rectangle (-56.25/300.0,26.25/300.0);
|
||||
\fill [black] (-93.75/300.0,73.75/300.0) rectangle (-56.25/300.0,76.25/300.0);
|
||||
\fill [black] (-43.75/300.0,-76.25/300.0) rectangle (-6.25/300.0,-73.75/300.0);
|
||||
\fill [black] (-43.75/300.0,-26.25/300.0) rectangle (-6.25/300.0,-23.75/300.0);
|
||||
\fill [black] (-43.75/300.0,23.75/300.0) rectangle (-6.25/300.0,26.25/300.0);
|
||||
\fill [black] (-43.75/300.0,73.75/300.0) rectangle (-6.25/300.0,76.25/300.0);
|
||||
\fill [black] (6.25/300.0,-76.25/300.0) rectangle (43.75/300.0,-73.75/300.0);
|
||||
\fill [black] (6.25/300.0,-26.25/300.0) rectangle (43.75/300.0,-23.75/300.0);
|
||||
\fill [black] (6.25/300.0,23.75/300.0) rectangle (43.75/300.0,26.25/300.0);
|
||||
\fill [black] (6.25/300.0,73.75/300.0) rectangle (43.75/300.0,76.25/300.0);
|
||||
\fill [black] (56.25/300.0,-126.25/300.0) rectangle (93.75/300.0,-123.75/300.0);
|
||||
\fill [black] (56.25/300.0,-76.25/300.0) rectangle (93.75/300.0,-73.75/300.0);
|
||||
\fill [black] (56.25/300.0,-26.25/300.0) rectangle (93.75/300.0,-23.75/300.0);
|
||||
\fill [black] (56.25/300.0,23.75/300.0) rectangle (93.75/300.0,26.25/300.0);
|
||||
\fill [black] (56.25/300.0,73.75/300.0) rectangle (93.75/300.0,76.25/300.0);
|
||||
\newcommand{\track}{%
|
||||
\scoped[shift={(-15.0,6.0)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,4.5)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,3.0)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,1.5)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,0.0)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,-1.5)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,-3.0)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,-4.5)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,-6.0)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,-7.5)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,-9.0)}]{\straightspace}
|
||||
\scoped[shift={(-15.0,-10.5)}]{\Lspace}
|
||||
\scoped[shift={(-13.5,-10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(-12.0,-10.5)},rotate=90]{\Lspace}
|
||||
\scoped[shift={(-12.0,-9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,-7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,-6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,-4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,-3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,-1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,0.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-12.0,10.5)},yscale=-1.0]{\Lspace}
|
||||
\scoped[shift={(-10.5,10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(-9.0,10.5)},xscale=-1.0,rotate=-90]{\Lspace}
|
||||
\scoped[shift={(-9.0,9.0)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,7.5)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,6.0)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,4.5)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,3.0)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,1.5)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,0.0)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,-1.5)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,-3.0)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,-4.5)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,-6.0)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,-7.5)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,-9.0)}]{\straightspace}
|
||||
\scoped[shift={(-9.0,-10.5)}]{\Lspace}
|
||||
\scoped[shift={(-7.5,-10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(-6.0,-10.5)},rotate=90]{\Lspace}
|
||||
\scoped[shift={(-6.0,-9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,-7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,-6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,-4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,-3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,-1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,0.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(-6.0,10.5)},yscale=-1.0]{\Lspace}
|
||||
\scoped[shift={(-4.5,10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(-3.0,10.5)},xscale=-1.0,rotate=-90]{\Lspace}
|
||||
\scoped[shift={(-3.0,9.0)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,7.5)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,6.0)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,4.5)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,3.0)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,1.5)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,0.0)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,-1.5)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,-3.0)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,-4.5)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,-6.0)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,-7.5)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,-9.0)}]{\straightspace}
|
||||
\scoped[shift={(-3.0,-10.5)}]{\Lspace}
|
||||
\scoped[shift={(-1.5,-10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(0.0,-10.5)},rotate=90]{\Lspace}
|
||||
\scoped[shift={(0.0,-9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,-7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,-6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,-4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,-3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,-1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,0.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(0.0,10.5)},yscale=-1.0]{\Lspace}
|
||||
\scoped[shift={(1.5,10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(3.0,10.5)},xscale=-1.0,rotate=-90]{\Lspace}
|
||||
\scoped[shift={(3.0,9.0)}]{\straightspace}
|
||||
\scoped[shift={(3.0,7.5)}]{\straightspace}
|
||||
\scoped[shift={(3.0,6.0)}]{\straightspace}
|
||||
\scoped[shift={(3.0,4.5)}]{\straightspace}
|
||||
\scoped[shift={(3.0,3.0)}]{\straightspace}
|
||||
\scoped[shift={(3.0,1.5)}]{\straightspace}
|
||||
\scoped[shift={(3.0,0.0)}]{\straightspace}
|
||||
\scoped[shift={(3.0,-1.5)}]{\straightspace}
|
||||
\scoped[shift={(3.0,-3.0)}]{\straightspace}
|
||||
\scoped[shift={(3.0,-4.5)}]{\straightspace}
|
||||
\scoped[shift={(3.0,-6.0)}]{\straightspace}
|
||||
\scoped[shift={(3.0,-7.5)}]{\straightspace}
|
||||
\scoped[shift={(3.0,-9.0)}]{\straightspace}
|
||||
\scoped[shift={(3.0,-10.5)}]{\Lspace}
|
||||
\scoped[shift={(4.5,-10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(6.0,-10.5)},rotate=90]{\Lspace}
|
||||
\scoped[shift={(6.0,-9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,-7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,-6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,-4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,-3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,-1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,0.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(6.0,10.5)},yscale=-1.0]{\Lspace}
|
||||
\scoped[shift={(7.5,10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(9.0,10.5)},xscale=-1.0,rotate=-90]{\Lspace}
|
||||
\scoped[shift={(9.0,9.0)}]{\straightspace}
|
||||
\scoped[shift={(9.0,7.5)}]{\straightspace}
|
||||
\scoped[shift={(9.0,6.0)}]{\straightspace}
|
||||
\scoped[shift={(9.0,4.5)}]{\straightspace}
|
||||
\scoped[shift={(9.0,3.0)}]{\straightspace}
|
||||
\scoped[shift={(9.0,1.5)}]{\straightspace}
|
||||
\scoped[shift={(9.0,0.0)}]{\straightspace}
|
||||
\scoped[shift={(9.0,-1.5)}]{\straightspace}
|
||||
\scoped[shift={(9.0,-3.0)}]{\straightspace}
|
||||
\scoped[shift={(9.0,-4.5)}]{\straightspace}
|
||||
\scoped[shift={(9.0,-6.0)}]{\straightspace}
|
||||
\scoped[shift={(9.0,-7.5)}]{\straightspace}
|
||||
\scoped[shift={(9.0,-9.0)}]{\straightspace}
|
||||
\scoped[shift={(9.0,-10.5)}]{\Lspace}
|
||||
\scoped[shift={(10.5,-10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(12.0,-10.5)},rotate=90]{\Lspace}
|
||||
\scoped[shift={(12.0,-9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,-7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,-6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,-4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,-3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,-1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,0.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,9.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(12.0,10.5)},yscale=-1.0]{\Lspace}
|
||||
\scoped[shift={(13.5,10.5)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(15.0,10.5)},xscale=-1.0,rotate=-90]{\Lspace}
|
||||
\scoped[shift={(15.0,-6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,-4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,-3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,-1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,0.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,1.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,3.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,4.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,6.0)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,7.5)},rotate=180]{\straightspace}
|
||||
\scoped[shift={(15.0,9.0)},rotate=180]{\straightspace}
|
||||
}
|
||||
|
||||
% Draws the racetrack itself with speed markers at (0,0)
|
||||
% Bounding box is (-1615.5,-1215.5) to (1615.5,1215.5)
|
||||
\newcommand{\drawrace}{%
|
||||
\scoped[shift={(-1200.5/300.0,500.5/300.0)},scale=4.0]{\drawleg{stage_one}{stage_eight}}
|
||||
\scoped[shift={(-400.5/300.0,500.5/300.0)},scale=4.0]{\drawleg{stage_two}{stage_seven}}
|
||||
\scoped[shift={(400.5/300.0,500.5/300.0)},scale=4.0]{\drawleg{stage_three}{stage_six}}
|
||||
|
||||
\scoped[shift={(1200.5/300.0,500.5/300.0)},scale=4.0]{\drawmidleg{stage_four}{stage_five}}
|
||||
\scoped[shift={(1200.5/300.0,-500.5/300.0)},xscale=4.0,yscale=-4.0]{\drawmidleg{stage_five}{stage_four}}
|
||||
|
||||
\scoped[shift={(400.5/300.0,-500.5/300.0)},yscale=-4.0,xscale=-4.0]{\drawleg{stage_six}{stage_three}}
|
||||
\scoped[shift={(-400.5/300.0,-500.5/300.0)},yscale=-4.0,xscale=-4.0]{\drawleg{stage_seven}{stage_two}}
|
||||
\scoped[shift={(-1200.5/300.0,-500.5/300.0)},yscale=-4.0,xscale=-4.0]{\drawleg{stage_eight}{stage_one}}
|
||||
|
||||
% Draw the speed rules
|
||||
\fill [black] (-1615.5/300.0,1015.5/300.0) rectangle (-1585.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-1415.5/300.0,1015.5/300.0) rectangle (-1385.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-1215.5/300.0,1015.5/300.0) rectangle (-1185.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-1015.5/300.0,1015.5/300.0) rectangle (-985.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-815.5/300.0,1015.5/300.0) rectangle (-785.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-615.5/300.0,1015.5/300.0) rectangle (-585.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-415.5/300.0,1015.5/300.0) rectangle (-385.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-215.5/300.0,1015.5/300.0) rectangle (-185.5/300.0,1215.5/300.0);
|
||||
\fill [black] (-15.5/300.0,1015.5/300.0) rectangle (15.5/300.0,1215.5/300.0);
|
||||
\fill [black] (185.5/300.0,1015.5/300.0) rectangle (215.5/300.0,1215.5/300.0);
|
||||
\fill [black] (385.5/300.0,1015.5/300.0) rectangle (415.5/300.0,1215.5/300.0);
|
||||
\fill [black] (585.5/300.0,1015.5/300.0) rectangle (615.5/300.0,1215.5/300.0);
|
||||
\fill [black] (785.5/300.0,1015.5/300.0) rectangle (815.5/300.0,1215.5/300.0);
|
||||
\fill [black] (985.5/300.0,1015.5/300.0) rectangle (1015.5/300.0,1215.5/300.0);
|
||||
\fill [black] (1185.5/300.0,1015.5/300.0) rectangle (1215.5/300.0,1215.5/300.0);
|
||||
\fill [black] (1385.5/300.0,1015.5/300.0) rectangle (1415.5/300.0,1215.5/300.0);
|
||||
\fill [black] (1585.5/300.0,1015.5/300.0) rectangle (1615.5/300.0,1215.5/300.0);
|
||||
|
||||
\fill [black] (-1615.5/300.0,-1215.5/300.0) rectangle (-1585.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-1415.5/300.0,-1215.5/300.0) rectangle (-1385.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-1215.5/300.0,-1215.5/300.0) rectangle (-1185.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-1015.5/300.0,-1215.5/300.0) rectangle (-985.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-815.5/300.0,-1215.5/300.0) rectangle (-785.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-615.5/300.0,-1215.5/300.0) rectangle (-585.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-415.5/300.0,-1215.5/300.0) rectangle (-385.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-215.5/300.0,-1215.5/300.0) rectangle (-185.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (-15.5/300.0,-1215.5/300.0) rectangle (15.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (185.5/300.0,-1215.5/300.0) rectangle (215.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (385.5/300.0,-1215.5/300.0) rectangle (415.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (585.5/300.0,-1215.5/300.0) rectangle (615.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (785.5/300.0,-1215.5/300.0) rectangle (815.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (985.5/300.0,-1215.5/300.0) rectangle (1015.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (1185.5/300.0,-1215.5/300.0) rectangle (1215.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (1385.5/300.0,-1215.5/300.0) rectangle (1415.5/300.0,-1015.5/300.0);
|
||||
\fill [black] (1585.5/300.0,-1215.5/300.0) rectangle (1615.5/300.0,-1015.5/300.0);
|
||||
|
||||
% Add the numbers
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-1500.5/300.0,1115.5/300.0) {-5};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-1300.5/300.0,1115.5/300.0) {-4};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-1100.5/300.0,1115.5/300.0) {-3};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-900.5/300.0,1115.5/300.0) {-2};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-700.5/300.0,1115.5/300.0) {-1};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-500.5/300.0,1115.5/300.0) {0};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-300.5/300.0,1115.5/300.0) {+1};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-100.5/300.0,1115.5/300.0) {+2};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (100.5/300.0,1115.5/300.0) {+3};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (300.5/300.0,1115.5/300.0) {+4};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (500.5/300.0,1115.5/300.0) {+5};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (700.5/300.0,1115.5/300.0) {+6};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (900.5/300.0,1115.5/300.0) {+7};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (1100.5/300.0,1115.5/300.0) {+8};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (1300.5/300.0,1115.5/300.0) {+9};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (1500.5/300.0,1115.5/300.0) {+10};
|
||||
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-1500.5/300.0,-1115.5/300.0) {-50};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-1300.5/300.0,-1115.5/300.0) {-40};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-1100.5/300.0,-1115.5/300.0) {-30};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-900.5/300.0,-1115.5/300.0) {-20};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-700.5/300.0,-1115.5/300.0) {-10};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-500.5/300.0,-1115.5/300.0) {0};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-300.5/300.0,-1115.5/300.0) {+10};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (-100.5/300.0,-1115.5/300.0) {+20};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (100.5/300.0,-1115.5/300.0) {+30};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (300.5/300.0,-1115.5/300.0) {+40};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (500.5/300.0,-1115.5/300.0) {+50};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (700.5/300.0,-1115.5/300.0) {+60};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (900.5/300.0,-1115.5/300.0) {+70};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (1100.5/300.0,-1115.5/300.0) {+80};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (1300.5/300.0,-1115.5/300.0) {+90};
|
||||
\node [align=center, font=\fontsize{24}{0}\bebas] at (1500.5/300.0,-1115.5/300.0) {+100};
|
||||
|
||||
% Add the checkpoints
|
||||
\node [align=center] at (-1500.5/300.0,100.5/300.0) {\includegraphics{images/rules/checkpoint.png}};
|
||||
\node [align=center] at (-700.5/300.0,100.5/300.0) {\includegraphics{images/rules/checkpoint.png}};
|
||||
\node [align=center] at (100.5/300.0,100.5/300.0) {\includegraphics{images/rules/checkpoint.png}};
|
||||
\node [align=center] at (900.5/300.0,100.5/300.0) {\includegraphics{images/rules/checkpoint.png}};
|
||||
\node [align=center] at (1500.5/300.0,-100.5/300.0) {\includegraphics{images/rules/checkpoint.png}};
|
||||
}
|
||||
|
||||
% Draws an empty leg centered on (0,0)
|
||||
% Bounding box is (-375.0,-262.5) to (375.0,262.5)
|
||||
\newcommand{\emptystage}[2]{%
|
||||
\fill [left color=#2, right color=#1] (-375.0/300.0,-262.5/300.0) rectangle (375.0/300.0,262.5/300.0);
|
||||
\fill [rounded corners=10pt] [#1] (-325.0/300.0,-212.5/300.0) rectangle (-25.0/300.0,222.5/300.0);
|
||||
\fill [rounded corners=10pt] [#2] (25.0/300.0,-212.5/300.0) rectangle (325.0/300.0,222.5/300.0);
|
||||
}
|
||||
|
||||
% Draws a 5x5 checker pattern of 30x30 squares centered on (0,0)
|
||||
% Bounding box is (-75.0,-75.0) to (75.0,75.0)
|
||||
\newcommand{\drawchecker}{%
|
||||
% Top row
|
||||
\fill [black] (45.0/300.0,45.0/300.0) rectangle (75.0/300.0,75.0/300.0);
|
||||
\fill [white] (15.0/300.0,45.0/300.0) rectangle (45.0/300.0,75.0/300.0);
|
||||
\fill [black] (-15.0/300.0,45.0/300.0) rectangle (15.0/300.0,75.0/300.0);
|
||||
\fill [white] (-45.0/300.0,45.0/300.0) rectangle (-15.0/300.0,75.0/300.0);
|
||||
\fill [black] (-75.0/300.0,45.0/300.0) rectangle (-45.0/300.0,75.0/300.0);
|
||||
% High row
|
||||
\fill [white] (45.0/300.0,15.0/300.0) rectangle (75.0/300.0,45.0/300.0);
|
||||
\fill [black] (15.0/300.0,15.0/300.0) rectangle (45.0/300.0,45.0/300.0);
|
||||
\fill [white] (-15.0/300.0,15.0/300.0) rectangle (15.0/300.0,45.0/300.0);
|
||||
\fill [black] (-45.0/300.0,15.0/300.0) rectangle (-15.0/300.0,45.0/300.0);
|
||||
\fill [white] (-75.0/300.0,15.0/300.0) rectangle (-45.0/300.0,45.0/300.0);
|
||||
% Center row
|
||||
\fill [black] (45.0/300.0,-15.0/300.0) rectangle (75.0/300.0,15.0/300.0);
|
||||
\fill [white] (15.0/300.0,-15.0/300.0) rectangle (45.0/300.0,15.0/300.0);
|
||||
\fill [black] (-15.0/300.0,-15.0/300.0) rectangle (15.0/300.0,15.0/300.0);
|
||||
\fill [white] (-45.0/300.0,-15.0/300.0) rectangle (-15.0/300.0,15.0/300.0);
|
||||
\fill [black] (-75.0/300.0,-15.0/300.0) rectangle (-45.0/300.0,15.0/300.0);
|
||||
% Low row
|
||||
\fill [white] (45.0/300.0,-45.0/300.0) rectangle (75.0/300.0,-15.0/300.0);
|
||||
\fill [black] (15.0/300.0,-45.0/300.0) rectangle (45.0/300.0,-15.0/300.0);
|
||||
\fill [white] (-15.0/300.0,-45.0/300.0) rectangle (15.0/300.0,-15.0/300.0);
|
||||
\fill [black] (-45.0/300.0,-45.0/300.0) rectangle (-15.0/300.0,-15.0/300.0);
|
||||
\fill [white] (-75.0/300.0,-45.0/300.0) rectangle (-45.0/300.0,-15.0/300.0);
|
||||
% Bottom row
|
||||
\fill [black] (45.0/300.0,-75.0/300.0) rectangle (75.0/300.0,-45.0/300.0);
|
||||
\fill [white] (15.0/300.0,-75.0/300.0) rectangle (45.0/300.0,-45.0/300.0);
|
||||
\fill [black] (-15.0/300.0,-75.0/300.0) rectangle (15.0/300.0,-45.0/300.0);
|
||||
\fill [white] (-45.0/300.0,-75.0/300.0) rectangle (-15.0/300.0,-45.0/300.0);
|
||||
\fill [black] (-75.0/300.0,-75.0/300.0) rectangle (-45.0/300.0,-45.0/300.0);
|
||||
}
|
||||
|
||||
% Draws the hypothermia chart centered on (0,0)
|
||||
% Bounding box is (-150,-650) to (150,650)
|
||||
\newcommand{\drawhypochart}{%
|
||||
\node [anchor=center, font=\fontsize{14}{0}\bebas] at (0,-650.0/300.0) {WARM};
|
||||
\fill [energy, rounded corners] (-150.0/300.0,-615.0/300.0) rectangle (150.0/300.0,-585.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-500.0/300.0) {\speed{-1}};
|
||||
\fill [energy, rounded corners] (-150.0/300.0,-415.0/300.0) rectangle (150.0/300.0,-385.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-300.0/300.0) {\includegraphics[width=0.5in,height=0.5in]{icons/hand.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-300.0/300.0) {+1};
|
||||
\fill [energy, rounded corners] (-150.0/300.0,-215.0/300.0) rectangle (150.0/300.0,-185.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-100.0/300.0) {\speed{-1}};
|
||||
\fill [energy, rounded corners] (-150.0/300.0,-15.0/300.0) rectangle (150.0/300.0,15.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,100.0/300.0) {\includegraphics[width=0.5in,height=0.5in]{icons/hand.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,100.0/300.0) {+1};
|
||||
\fill [energy, rounded corners] (-150.0/300.0,185.0/300.0) rectangle (150.0/300.0,215.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,300.0/300.0) {\speed{-1}};
|
||||
\fill [energy, rounded corners] (-150.0/300.0,385.0/300.0) rectangle (150.0/300.0,415.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,500.0/300.0) {\includegraphics[width=0.5in,height=0.5in]{icons/hand.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,500.0/300.0) {+1};
|
||||
%\fill [energy, rounded corners] (-150.0/300.0,585.0/300.0) rectangle (150.0/300.0,615.0/300.0);
|
||||
}
|
||||
|
||||
% Draws the starvation chart centered on (0,0)
|
||||
% Bounding box is (-150,-650) to (150,650)
|
||||
\newcommand{\drawstarvechart}{%
|
||||
\node [anchor=center, font=\fontsize{14}{0}\bebas] at (0,-650.0/300.0) {FULL};
|
||||
\fill [health, rounded corners] (-150.0/300.0,-615.0/300.0) rectangle (150.0/300.0,-585.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-500.0/300.0) {\speed{-1}};
|
||||
\fill [health, rounded corners] (-150.0/300.0,-415.0/300.0) rectangle (150.0/300.0,-385.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-300.0/300.0) {\includegraphics[width=0.5in,height=0.5in]{icons/deck.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-300.0/300.0) {+1};
|
||||
\fill [health, rounded corners] (-150.0/300.0,-215.0/300.0) rectangle (150.0/300.0,-185.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,-100.0/300.0) {\speed{-1}};
|
||||
\fill [health, rounded corners] (-150.0/300.0,-15.0/300.0) rectangle (150.0/300.0,15.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,100.0/300.0) {\includegraphics[width=0.5in,height=0.5in]{icons/deck.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,100.0/300.0) {+1};
|
||||
\fill [health, rounded corners] (-150.0/300.0,185.0/300.0) rectangle (150.0/300.0,215.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,300.0/300.0) {\speed{-1}};
|
||||
\fill [health, rounded corners] (-150.0/300.0,385.0/300.0) rectangle (150.0/300.0,415.0/300.0);
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,500.0/300.0) {\includegraphics[width=0.5in,height=0.5in]{icons/deck.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (0,500.0/300.0) {+1};
|
||||
%\fill [health, rounded corners] (-150.0/300.0,585.0/300.0) rectangle (150.0/300.0,615.0/300.0);
|
||||
}
|
||||
|
||||
\newcommand{\drawhypostarvechart}{%
|
||||
\scoped[shift={(-175.0/300.0,0.0/300.0)}]{\drawstarvechart}
|
||||
\scoped[shift={(175.0/300.0,0.0/300.0)}]{\drawhypochart}
|
||||
\node [anchor=center, font=\fontsize{48}{0}\bebas] at (0,700.0/300.0) {\move{}};
|
||||
\draw [red, line width=0.05in] (0,700.0/300.0) circle (0.4);
|
||||
\draw [red, line width=0.05in] (-84.0/300.0,784.0/300.0) -- (84.0/300.0,616.0/300.0);
|
||||
% Draws a card overlay horizontally centered at 0,0 extending up
|
||||
% Parameters are colour, text
|
||||
\newcommand{\cardtrackindicator}[2]{%
|
||||
\fill[#1] (-3.175,0) rectangle (3.175,8.89);
|
||||
\node at (0,8.1) {\fontsize{24}{24}\bebas#2\par};
|
||||
}
|
||||
|
||||
\newcommand{\drawdielegend}{%
|
||||
\node at (-225.0/300.0,-500.0/300.0) {\includegraphics[width=0.5in]{die/wind.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (100.0/300.0,-500.0/300.0) {\hypothermia \speed{+5}};
|
||||
\fill [black, rounded corners] (-325.0/300.0,-415.0/300.0) rectangle (300.0/300.0,-385.0/300.0);
|
||||
\node at (-225.0/300.0,-300.0/300.0) {\includegraphics[width=0.5in]{die/rain.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (100.0/300.0,-300.0/300.0) {\starvation \speed{+3}};
|
||||
\fill [black, rounded corners] (-325.0/300.0,-215.0/300.0) rectangle (300.0/300.0,-185.0/300.0);
|
||||
\node at (-225.0/300.0,-100.0/300.0) {\includegraphics[width=0.5in]{die/snowflake.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (100.0/300.0,-100.0/300.0) {\useicon{backpack} \sendto{} \useicon{trash-can}};
|
||||
\fill [black, rounded corners] (-325.0/300.0,-15.0/300.0) rectangle (300.0/300.0,15.0/300.0);
|
||||
\node at (-225.0/300.0,100.0/300.0) {\includegraphics[width=0.5in]{die/storm.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (100.0/300.0,100.0/300.0) {\daydraw{}};
|
||||
\draw [red, line width=0.05in] (58.0/300.0,142.0/300.0) -- (142.0/300.0,58.0/300.0);
|
||||
\draw [red, line width=0.05in] (100.0/300.0,100.0/300.0) circle (0.2);
|
||||
\fill [black, rounded corners] (-325.0/300.0,185.0/300.0) rectangle (300.0/300.0,215.0/300.0);
|
||||
\node at (-225.0/300.0,300.0/300.0) {\includegraphics[width=0.5in]{die/cloud.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (100.0/300.0,300.0/300.0) {\speed{}};
|
||||
\draw [red, line width=0.05in] (58.0/300.0,342.0/300.0) -- (142.0/300.0,258.0/300.0);
|
||||
\draw [red, line width=0.05in] (100.0/300.0,300.0/300.0) circle (0.2);
|
||||
\fill [black, rounded corners] (-325.0/300.0,385.0/300.0) rectangle (300.0/300.0,415.0/300.0);
|
||||
\node at (-225.0/300.0,500.0/300.0) {\includegraphics[width=0.5in]{die/sun.png}};
|
||||
\node [anchor=center, font=\fontsize{20}{0}\bebas] at (100.0/300.0,500.0/300.0) {\speed{+1}};
|
||||
\node at (0, 2.5) {\includegraphics[width=1cm]{icons/starve.png}};
|
||||
\node at (-2.15, -1.25) {\includegraphics[width=1cm]{icons/hypo.png}};
|
||||
\node at (2.15, -1.25) {\includegraphics[width=1cm]{icons/destroysupply.png}};
|
||||
\node at (0, 1.5) {\includegraphics[width=1cm]{die/clouds.png}};
|
||||
\node at (-1.3, -0.75) {\includegraphics[width=1cm]{die/snowflake.png}};
|
||||
\node at (1.3, -0.75) {\includegraphics[width=1cm]{die/sun.png}};
|
||||
\node at (1.3, 0.75) {\includegraphics[width=1cm]{die/storm.png}};
|
||||
\node at (0, -1.5) {\includegraphics[width=1cm]{die/wind.png}};
|
||||
\node at (-1.3, 0.75) {\includegraphics[width=1cm]{die/rain.png}};
|
||||
}
|
||||
|
||||
\pgfdeclareradialshading{tikzlibfadecircle50}{\pgfpointorigin}{%
|
||||
color(0mm)=(pgftransparent!0); color(0.5mm)=(pgftransparent!0);%
|
||||
color(5mm)=(pgftransparent!100); color(10mm)=(pgftransparent!100)%
|
||||
}
|
||||
\pgfdeclarefading{fuzzy}{%
|
||||
\pgfuseshading{tikzlibfadecircle50}%
|
||||
}
|
||||
|
||||
\pgfdeclareplotmark{fuzz}{%
|
||||
\scoped[shift={\pgfpointorigin}]{\fill[path fading=fuzzy] circle (\pgfplotmarksize);}%
|
||||
}
|
||||
|
||||
\newcommand{\drawbackground}{%
|
||||
\pgfmathsetseed{26}
|
||||
\begin{scope}
|
||||
\clip[use as bounding box] (0, 0) rectangle (\width, \height);
|
||||
\begin{axis}[
|
||||
x=\width cm, y=\height cm,
|
||||
xmin=-1, xmax=1,
|
||||
ymin=-1, ymax=1,
|
||||
hide axis=true,
|
||||
axis lines=none,
|
||||
axis background/.style={fill=blue},
|
||||
every axis label/.style={fill=blue},
|
||||
ticklabel style={fill=blue},
|
||||
draw opacity=0,
|
||||
]
|
||||
\addplot[white, only marks, mark=fuzz, samples=100, mark size=400.0] ({rand}, {rand});
|
||||
\addplot[white, only marks, mark=fuzz, samples=100, mark size=300.0] ({rand}, {rand});
|
||||
\addplot[white, only marks, mark=fuzz, samples=100, mark size=200.0] ({rand}, {rand});
|
||||
\addplot[white, only marks, mark=fuzz, samples=100, mark size=100.0] ({rand}, {rand});
|
||||
\end{axis}
|
||||
\end{scope}
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
\begin{board}
|
||||
|
||||
% Draw the race
|
||||
\scoped[shift={(0,0)}]{\drawrace}
|
||||
\scoped[shift={(\left,\bottom)}]{\drawbackground}
|
||||
|
||||
% Draw the Stages
|
||||
\scoped[shift={(2005.5/300.0,953.0/300.0)}]{\emptystage{stage_one}{stage_eight}}
|
||||
\scoped[shift={(2005.5/300.0,317.6/300.0)}]{\emptystage{stage_two}{stage_seven}}
|
||||
\scoped[shift={(2005.5/300.0,-317.6/300.0)}]{\emptystage{stage_three}{stage_six}}
|
||||
\scoped[shift={(2005.5/300.0,-953.0/300.0)}]{\emptystage{stage_four}{stage_five}}
|
||||
\scoped[shift={(-10.5,-3.75)},yscale=-1]{\cardtrackindicator{firstleg}{\rotatebox[origin=c]{180}{First Leg}}}
|
||||
\scoped[shift={(-7.5,3.75)}]{\cardtrackindicator{firstleg}{Second Leg}}
|
||||
\scoped[shift={(1.5,-3.75)},yscale=-1]{\cardtrackindicator{secondleg}{\rotatebox[origin=c]{180}{Third Leg}}}
|
||||
\scoped[shift={(4.5,3.75)}]{\cardtrackindicator{secondleg}{Fourth Leg}}
|
||||
\scoped[shift={(13.5,-3.75)},yscale=-1]{\cardtrackindicator{thirdleg}{\rotatebox[origin=c]{180}{Fifth Leg}}}
|
||||
\scoped[shift={(16.5,3.75)}]{\cardtrackindicator{thirdleg}{Sixth Leg}}
|
||||
|
||||
% Draw the Start/End
|
||||
\scoped[shift={(-1690.5/300.0,-100.5/300.0)}]{\drawchecker}
|
||||
\node [anchor=east, inner sep=0mm, font=\fontsize{24}{0}\bebas] at (-1615.5/300.0,100.5/300.0) {Start};
|
||||
\node at (-12, 0) {\includegraphics[width=1cm]{icons/legend.png}};
|
||||
\node at (-9, 0) {\includegraphics[width=1cm]{icons/legend.png}};
|
||||
\node at (-6, 0) {\includegraphics[width=1cm]{icons/legend.png}};
|
||||
\node at (-3, 0) {\includegraphics[width=1cm]{icons/legend.png}};
|
||||
|
||||
\scoped[shift={(-1975.0/300.0,-750.0/300.0)}]{\drawhypostarvechart}
|
||||
\node at (-12.0,7.5) {\fontsize{24}{24}\bebas Start};
|
||||
\node at (18.0,-7.5) {\fontsize{24}{24}\bebas End};
|
||||
|
||||
\scoped[shift={(-1975.0/300.0,750.0/300.0)}]{\drawdielegend}
|
||||
\scoped[shift={(-17,8)}]{\drawdielegend}
|
||||
\scoped[shift={(-17,-6)}, rotate=90]{\node[transform shape] {\includegraphics{logotransparent.png}}}
|
||||
|
||||
%\drawoverlay
|
||||
%\drawguides
|
||||
\scoped[shift={(3,0)}]{\track}
|
||||
\drawguides
|
||||
|
||||
\end{board}
|
||||
\end{document}
|
||||
|
|
417
iditacard.cls
|
@ -1,5 +1,4 @@
|
|||
\LoadClass{standalone}
|
||||
% NOTE: Cloud colour is 76baff
|
||||
|
||||
\ProvidesClass{iditacard}[2017/05/12 Class for Iditacard cards]
|
||||
|
||||
|
@ -22,30 +21,15 @@
|
|||
\newfontfamily\bebas{Bebas Neue Regular}
|
||||
\newfontfamily\alegreya{Alegreya}
|
||||
|
||||
\definecolor{stage_one}{HTML}{7FDF7D}
|
||||
\definecolor{stage_two}{HTML}{9FB76F}
|
||||
\definecolor{stage_three}{HTML}{5F5FFF}
|
||||
\definecolor{stage_four}{HTML}{3FDFDF}
|
||||
\definecolor{stage_five}{HTML}{DFDF3F}
|
||||
\definecolor{stage_six}{HTML}{9F9F9F}
|
||||
\definecolor{stage_seven}{HTML}{FF5F5F}
|
||||
\definecolor{stage_eight}{HTML}{CF5FCF}
|
||||
|
||||
\definecolor{town}{HTML}{CF5FCF}
|
||||
\definecolor{frozenlake}{HTML}{5F9FFF}
|
||||
\definecolor{hills}{HTML}{7FDF7F}
|
||||
\definecolor{wasteland}{HTML}{DFDF3F}
|
||||
\definecolor{forest}{HTML}{9FB76F}
|
||||
\definecolor{cliffface}{HTML}{FF5F5F}
|
||||
\definecolor{ropebridge}{HTML}{CFAF7F}
|
||||
\definecolor{blizzard}{HTML}{5F5FFF}
|
||||
\definecolor{mountain}{HTML}{9F9F9F}
|
||||
\definecolor{village}{HTML}{FF8F0F}
|
||||
|
||||
\definecolor{energy}{HTML}{003FFF}
|
||||
\definecolor{health}{HTML}{FF0000}
|
||||
\definecolor{risk}{HTML}{000000}
|
||||
|
||||
\definecolor{firstleg}{HTML}{9117FF}
|
||||
\definecolor{secondleg}{HTML}{17FF91}
|
||||
\definecolor{thirdleg}{HTML}{FF9117}
|
||||
|
||||
% Card Type
|
||||
\definecolor{utility}{HTML}{FFFFFF}
|
||||
\definecolor{attachment}{HTML}{5FAFCF}
|
||||
\definecolor{dog}{HTML}{BF9F7F}
|
||||
|
@ -56,6 +40,7 @@
|
|||
\definecolor{sled}{HTML}{7FDF7F}
|
||||
\definecolor{food}{HTML}{CFCF4F}
|
||||
|
||||
% Rarity
|
||||
\definecolor{info}{HTML}{FFFFFF}
|
||||
\definecolor{starting}{HTML}{777777}
|
||||
\definecolor{common}{HTML}{000000}
|
||||
|
@ -63,17 +48,9 @@
|
|||
\definecolor{epic}{HTML}{007700}
|
||||
\definecolor{legendary}{HTML}{770077}
|
||||
|
||||
\newcommand{\cardtype}[1]{%
|
||||
\newcommand{\backgroundcolor}{#1}
|
||||
}
|
||||
|
||||
\newcommand{\rarity}[1]{%
|
||||
\newcommand{\edgecolor}{#1}
|
||||
}
|
||||
|
||||
\newcommand{\deck}[1]{%
|
||||
\newcommand{\whichdeck}{#1}
|
||||
}
|
||||
\newcommand{\cardtype}[1]{\newcommand{\backgroundcolor}{#1}}
|
||||
\newcommand{\rarity}[1]{\newcommand{\edgecolor}{#1}}
|
||||
\newcommand{\deck}[1]{\newcommand{\whichdeck}{#1}}
|
||||
|
||||
\newcommand{\energy}[1]{%
|
||||
\node [minimum width=0.5in, minimum height=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0,825.0/300.0) {\includegraphics[width=0.5in,height=0.5in]{icons/hand.png}};
|
||||
|
@ -89,9 +66,9 @@
|
|||
\node [minimum width=0.5in, minimum height=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0,700.0/300.0) {\includegraphics[width=0.5in, height=0.5in]{icons/deck.png}};
|
||||
\StrLen{#1}[\arglen]
|
||||
\ifnum\arglen>1%
|
||||
\node [text=black, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 700.0/300.0) {\bf\fontsize{14}{14}\bebas #1};%
|
||||
\node [text=black, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 700.0/300.0) {\bf\fontsize{14}{14}\bebas #1};%
|
||||
\else
|
||||
\node [text=black, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 700.0/300.0) {\bf\fontsize{25}{30}\bebas #1};%
|
||||
\node [text=black, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 700.0/300.0) {\bf\fontsize{25}{30}\bebas #1};%
|
||||
\fi
|
||||
}
|
||||
|
||||
|
@ -99,54 +76,25 @@
|
|||
\node [minimum width=0.5in, minimum height=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 538.0/300.0) {\includegraphics[width=0.5in, height=0.5in]{icons/risk.png}};
|
||||
\StrLen{#1}[\arglen]
|
||||
\ifnum\arglen>1%
|
||||
\node [text=white, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 538.0/300.0) {\bf\fontsize{14}{14}\bebas #1};%
|
||||
\node [text=white, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 538.0/300.0) {\bf\fontsize{14}{14}\bebas #1};%
|
||||
\else
|
||||
\node [text=white, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 538.0/300.0) {\bf\fontsize{25}{30}\bebas #1};%
|
||||
\node [text=white, minimum width=0.5in, minimum height=0.5in, text centered, text width=0.5in, anchor=center, inner sep=0mm] at (125.0/300.0, 538.0/300.0) {\bf\fontsize{25}{30}\bebas #1};%
|
||||
\fi
|
||||
}
|
||||
|
||||
\newenvironment{costcounts}
|
||||
{% Begin
|
||||
\begin{axis}[at={(300,350)},
|
||||
y axis line style={draw=none},
|
||||
tick style={draw=none},
|
||||
width=1in,
|
||||
height=1in,
|
||||
yticklabels={,,},
|
||||
enlargelimits=0.05,
|
||||
ybar interval=1.0]
|
||||
}
|
||||
{% End
|
||||
\end{axis}}
|
||||
|
||||
\newcommand{\energycounts}[1]{\addplot[draw=none,fill=energy] coordinates {#1};}
|
||||
\newcommand{\healthcounts}[1]{\addplot[draw=none,fill=health] coordinates {#1};}
|
||||
\newcommand{\riskcounts}[1]{\addplot[draw=none,fill=risk] coordinates {#1};}
|
||||
|
||||
\newcommand{\@condcost}[2]{\ifnum 0<#1#2\fi}
|
||||
\newcommand{\costs}[3]{%
|
||||
\@condcost{#1}{\energy{#1}}%
|
||||
\@condcost{#2}{\health{#2}}%
|
||||
\@condcost{#3}{\risk{#3}}%
|
||||
}
|
||||
|
||||
\newcommand{\name}[1]{%
|
||||
% add draw to the node to see its box
|
||||
\node [rectangle, anchor=north, minimum width=2.15in, minimum height=2.0/3.0in, text centered, text width=1.833333in, inner sep=0mm] at (375.0/300.0,975.0/300.0) {\bf\fontsize{20}{30}\bebas#1\par};
|
||||
}
|
||||
|
||||
\renewcommand{\text}[1]{%
|
||||
% add draw to the node to see its box
|
||||
\node [rectangle, minimum width=1.833333in, minimum height=200.0/300.0, text centered, text width=1.833333in, inner sep=0mm, anchor=north] at (375.0/300.0,450.0/300) {\fontsize{16}{16}\bebas#1\par};
|
||||
}
|
||||
|
||||
\newcommand{\helptext}[1]{%
|
||||
% add draw to the node to see its box
|
||||
\node [rectangle, minimum width=1.833333in, minimum height=200.0/300.0, text centered, text width=1.833333in, inner sep=0mm, anchor=north] at (375.0/300.0, 800.0/300.0) {\fontsize{16}{16}\bebas#1\par};
|
||||
}
|
||||
|
||||
\newcommand{\flava}[1]{%
|
||||
% add draw to the node to see its box
|
||||
\node [rectangle, minimum width=1.833333in, minimum height=100.0/300.0, text centered, text width=1.833333in, inner sep=0mm, anchor=north] at (375.0/300.0,150.0/300.0) {\fontsize{6}{6}\alegreya"#1"\par};
|
||||
}
|
||||
|
||||
|
@ -156,197 +104,73 @@
|
|||
|
||||
% Aspect ratio of about 3:2
|
||||
\newcommand{\art}[1]{%
|
||||
\node [rectangle, minimum width=649.8/300.0, minimum height=425.0/300.0, inner sep=0, anchor=north west] at (49.2/300.0, 888.0/300.0) {\noindent\includegraphics*[width=2.1664in, height=1.416667in]{#1}};
|
||||
}
|
||||
|
||||
\newcommand{\utilcount}[1]{%
|
||||
\node [anchor=center] at (274.2/300.0, 677.0/300.0) {#1}; % Coord is art NW +- offset of image
|
||||
}
|
||||
|
||||
\newcommand{\dogcount}[1]{%
|
||||
\node [anchor=center] at (364.2/300.0, 807.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\movecount}[1]{%
|
||||
\node [anchor=center] at (634.2/300.0, 677.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\foodcount}[1]{%
|
||||
\node [anchor=center] at (544.2/300.0, 807.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\attachcount}[1]{%
|
||||
\node [anchor=center] at (364.2/300.0, 547.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\personalcount}[1]{%
|
||||
\node [anchor=center] at (454.2/300.0, 677.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\sledcount}[1]{%
|
||||
\node [anchor=center] at (544.2/300.0, 547.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\energycount}[1]{%
|
||||
\energy{#1}
|
||||
%\node [anchor=center] at (0,0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\healthcount}[1]{%
|
||||
\health{#1}
|
||||
%\node [anchor=center] at (1.0,1.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\riskcount}[1]{%
|
||||
\risk{#1}
|
||||
%\node [anchor=center] at (2.0,2.0) {#1};
|
||||
\node [rectangle, minimum width=649.8/300.0, minimum height=425.0/300.0, inner sep=0, anchor=north west] at (49.2/300.0, 888.0/300.0) {\noindent\includegraphics*[width=2.1664in, height=1.416667in]{card/#1}};
|
||||
}
|
||||
|
||||
\newcommand{\useicon}[1]{\raisebox{-0.1em}{\includegraphics[height=1em]{icons/#1.png}}}
|
||||
\newcommand{\upto}[1]{$\xrightarrow{\mttext{up to #1}}$}
|
||||
\newcommand{\sendto}[1]{$\xrightarrow{\mttext{#1}}$}
|
||||
|
||||
\newcommand{\Mm}{Mm}
|
||||
\newcommand{\Mms}{Mms}
|
||||
\newcommand{\move}[1]{\raisebox{-0.4em}{\includegraphics[height=1.5em]{icons/dog-sled-icon.png}} #1}
|
||||
\newcommand{\destroy}[2]{\useicon{eye} #2 \includegraphics[height=1em]{icons/trash-can.png} #1} % Destroy up to #1 of #2
|
||||
\newcommand{\take}[2]{\useicon{backpack} #2 \useicon{shopping-cart} #1}
|
||||
\newcommand{\draw}[1]{Draw \ifnum 1=#1 a \else #1 \fi card\ifnum 1<#1s\fi}
|
||||
\newcommand{\daydraw}[1]{Draw \ifnum 1<#1 #1 extra cards \else an extra card \fi when you take a new day.}
|
||||
\newcommand{\personal}{\colorbox{personal}{personal}}
|
||||
\newcommand{\attachment}{\colorbox{attachment}{attachment}}
|
||||
\newcommand{\sled}{\colorbox{sled}{sled}}
|
||||
\newcommand{\hypothermia}{\useicon{hypo}}
|
||||
\newcommand{\starvation}{\useicon{starve}}
|
||||
\newcommand{\speed}[1]{\useicon{speed}#1}
|
||||
\newcommand{\healthcosts}[1]{\begin{tikzpicture}[x=1in,y=1in]\node [centered, inner sep=0pt] at (0,0) {\includegraphics[width=0.5in,height=0.5in]{icons/deck.png}}; \node [centered, inner sep=0pt] at (0,0) {#1}; \end{tikzpicture}}
|
||||
\newcommand{\energycosts}[1]{\begin{tikzpicture}[x=1in,y=1in]\node [centered, inner sep=0pt] at (0,0) {\includegraphics[width=0.5in,height=0.5in]{icons/hand.png}}; \node [centered, inner sep=0pt] at (0,0) {#1}; \end{tikzpicture}}
|
||||
\newcommand{\riskcosts}[1]{\begin{tikzpicture}[x=1in,y=1in]\node [centered, inner sep=0pt] at (0,0) {\includegraphics[width=0.5in,height=0.5in]{icons/risk.png}}; \node [centered, inner sep=0pt] at (0,0) {\textcolor{white}{#1}}; \end{tikzpicture}}
|
||||
|
||||
\newcommand{\raw}[1]{%
|
||||
\node [rectangle, minimum width=650.0/300.0, minimum height=950.0/300.0, text justified, text width=53mm, inner sep=1mm, anchor=north west] at (50.0/300.0,1000.0/300.0) {#1};
|
||||
% Arguments are: Baseline, Text Xcm, Text Ycm, iconfile, amount
|
||||
\newcommand{\texticon}[5]{%
|
||||
\begin{tikzpicture}[baseline=#1,x=1cm,y=1cm]
|
||||
\node[centered, minimum width=0pt, text width=1cm, inner sep=0pt, outer sep=0pt] at (0,0) {\includegraphics[width=1cm,height=1.6cm]{icons/#4.png}};
|
||||
\node[centered, minimum width=0pt, text width=0.6cm, inner sep=0pt, outer sep=0pt] at (#2,#3) {#5};
|
||||
\end{tikzpicture}%
|
||||
}
|
||||
|
||||
\newcommand{\rawcenter}[1]{%
|
||||
\node [rectangle, minimum width=650.0/300.0, minimum height=950.0/300.0, text centered, text width=53mm, inner sep=1mm, anchor=north west] at (50.0/300.0,1000.0/300.0) {#1};
|
||||
\newcommand{\daydraw}[1]{\texticon{-0.4cm}{0}{-0.2}{daydraw}{#1}}
|
||||
\newcommand{\draw}[1]{\texticon{-0.28cm}{-0.1}{-0.08}{draw}{#1}}
|
||||
\newcommand{\supply}[1]{\texticon{-0.4cm}{0}{-0.2}{supply}{#1}}
|
||||
\newcommand{\take}[1]{\texticon{-0.4cm}{0}{-0.2}{take}{#1}}
|
||||
\newcommand{\see}[1]{\texticon{-0.4cm}{0}{-0.2}{see}{#1}}
|
||||
\newcommand{\destroy}[1]{\texticon{-0.4cm}{0}{-0.2}{destroy}{#1}}
|
||||
\newcommand{\speed}[1]{\raisebox{-0.1em}{\includegraphics[height=1em]{icons/speed.png}} #1}
|
||||
\newcommand{\move}[1]{\raisebox{-0.1em}{\includegraphics[height=1em,width=2em]{icons/move.png}} #1}
|
||||
|
||||
\newcommand{\discardonkill}{\mbox{Discarded when killed}}
|
||||
\newcommand{\inplayatstart}{Play when the game starts}
|
||||
\newcommand{\immortal}{\mbox{Cannot Die}}
|
||||
\newcommand{\safepass}{\mbox{Passing does not incur} damage}
|
||||
\newcommand{\passdie}{\mbox{Dies when passing}}
|
||||
\newcommand{\nohold}{\mbox{Cannot hold attachments}}
|
||||
\newcommand{\nostarvation}{\mbox{Remove your \useicon{starve}}}
|
||||
\newcommand{\nohypothermia}{\mbox{Remove your \useicon{hypo}}}
|
||||
\newcommand{\damage}[1]{\mbox{Take #1 damage}}
|
||||
\newcommand{\doubledistance}{\mbox{Double the final distance}}
|
||||
\newcommand{\damagetext}{Destroy this card \vskip 0.5em When you discard this card, end your turn immediately}
|
||||
|
||||
\newcommand{\healthcosts}[1]{\begin{tikzpicture}[x=1in,y=1in]\node [centered, minimum width=0.5in, inner sep=0pt] at (0,0) {\includegraphics[width=0.5in]{icons/deck.png}}; \node [centered, inner sep=0pt] at (0,0) {#1}; \end{tikzpicture}}
|
||||
\newcommand{\energycosts}[1]{\begin{tikzpicture}[x=1in,y=1in]\node [centered, minimum width=0.5in, inner sep=0pt] at (0,0) {\includegraphics[width=0.5in]{icons/hand.png}}; \node [centered, inner sep=0pt] at (0,0) {#1}; \end{tikzpicture}}
|
||||
\newcommand{\riskcosts}[1]{\begin{tikzpicture}[x=1in,y=1in]\node [centered, minimum width=0.5in, inner sep=0pt] at (0,0) {\includegraphics[width=0.5in]{icons/risk.png}}; \node [centered, inner sep=0pt] at (0,0) {\textcolor{white}{#1}}; \end{tikzpicture}}
|
||||
|
||||
% Draws a small #1-type card with #2 written on it
|
||||
\newcommand{\cardtypetext}[2]{%
|
||||
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||
\node[rectangle, centered, rounded corners=3pt, minimum width=1cm, minimum height=1.4cm, fill=#1, text centered, inner sep=0mm] at (0.5, 0.5) {\fontsize{14}{14}\bebas #2};
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
\newcommand{\rawleft}[1]{%
|
||||
\node [rectangle, minimum width=650.0/300.0, minimum height=950.0/300.0, text ragged, text width=53mm, inner sep=1mm, anchor=north west] at (50.0/300.0,1000.0/300.0) {#1};
|
||||
% TODO: for better colourblindness accessibility, use 0/0/0 costs and the name
|
||||
% of the card type instead?
|
||||
\newcommand{\freecardtype}[1]{\cardtypetext{#1}{Free}}
|
||||
|
||||
\newcommand{\notallowed}[1]{%
|
||||
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||
\node (0,0) {#1};
|
||||
\draw [line width=0.7mm, black] (-0.37,-0.37) -- (0.37,0.37);
|
||||
\draw [line width=0.5mm, red] (-0.37,-0.37) -- (0.37,0.37);
|
||||
\draw [line width=0.7mm, black] (0,0) circle (5mm);
|
||||
\draw [line width=0.5mm, red] (0,0) circle (5mm);
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
\newcommand{\hraw}[1]{%
|
||||
\node [rectangle, rotate=90, minimum width=950.0/300.0, minimum height=650.0/300.0, text justified, text width=80mm, inner sep=1mm, anchor=north west] at (50.0/300.0,50.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\hrawcenter}[1]{%
|
||||
\node [rectangle, rotate=90, minimum width=950.0/300.0, minimum height=650.0/300.0, text centered, text width=80mm, inner sep=1mm, anchor=north west] at (50.0/300.0,50.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\hrawleft}[1]{%
|
||||
\node [rectangle, rotate=90, minimum width=950.0/300.0, minimum height=650.0/300.0, text ragged, text width=80mm, inner sep=1mm, anchor=north west] at (50.0/300.0,50.0/300.0) {#1};
|
||||
}
|
||||
|
||||
\newcommand{\difficulty}[2]{%
|
||||
\newcommand{\easybackgroundcolor}{#1}
|
||||
\newcommand{\hardbackgroundcolor}{#2}
|
||||
}
|
||||
|
||||
\newcommand{\easyname}[1]{%
|
||||
\node [rectangle, anchor=north, minimum width=1in, minimum height=1.0/3.0in, text centered, text width=1in, inner sep=0mm] at (200.0/300.0,450.0/300.0) {\bf\fontsize{16}{18}\bebas#1\par};
|
||||
}
|
||||
|
||||
\newcommand{\hardname}[1]{%
|
||||
\node [rectangle, anchor=north, minimum width=1in, minimum height=1.0/3.0in, text centered, text width=1in, inner sep=0mm] at (550.0/300.0,450.0/300.0) {\bf\fontsize{16}{18}\bebas#1\par};
|
||||
}
|
||||
|
||||
\newcommand{\easyeffect}[1]{%
|
||||
\node [rectangle, anchor=north, minimum width=1in, minimum height=1.0/3.0in, text centered, text width=1in, inner sep=0mm] at (200.0/300.0,175.0/300.0) {\bf\fontsize{10}{10}\bebas#1\par};
|
||||
}
|
||||
|
||||
\newcommand{\hardeffect}[1]{%
|
||||
\node [rectangle, anchor=north, minimum width=1in, minimum height=1.0/3.0in, text centered, text width=1in, inner sep=0mm] at (550.0/300.0,175.0/300.0) {\bf\fontsize{10}{10}\bebas#1\par};
|
||||
}
|
||||
|
||||
% Aspect ratio of about 3:2
|
||||
\newcommand{\easyart}[1]{%
|
||||
\node [rectangle, minimum width=0.9in, minimum height=200.0/300.0, inner sep=0, anchor=north west] at (65.0/300.0,390.0/300.0) {\noindent\includegraphics*[width=0.9in, height=0.66666in]{#1}};
|
||||
}
|
||||
|
||||
\newcommand{\hardart}[1]{%
|
||||
\node [rectangle, minimum width=0.9in, minimum height=200.0/300.0, inner sep=0, anchor=north west] at (415.0/300.0,390.0/300.0) {\noindent\includegraphics*[width=0.9in, height=0.66666in]{#1}};
|
||||
}
|
||||
|
||||
\newcommand{\easyhypo}[1]{%
|
||||
% TODO: Improve alignment
|
||||
\ifnum 0<#1
|
||||
%\fill [left color=energy, right color=personal] (50.0/300.0,375.0/300.0) rectangle (65.0/300.0,325.0/300.0);
|
||||
\node [rectangle, anchor=west, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (50.0/300.0,360.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/hypo.png}};
|
||||
\fi
|
||||
\ifnum 1<#1
|
||||
%\fill [left color=energy, right color=personal] (50.0/300.0,315.0/300.0) rectangle (65.0/300.0,265.0/300.0);
|
||||
\node [rectangle, anchor=west, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (50.0/300.0,290.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/hypo.png}};
|
||||
\fi
|
||||
\ifnum 2<#1
|
||||
%\fill [left color=energy, right color=personal] (50.0/300.0,255.0/300.0) rectangle (65.0/300.0,205.0/300.0);
|
||||
\node [rectangle, anchor=west, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (50.0/300.0,220.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/hypo.png}};
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\easystarve}[1]{%
|
||||
% TODO: Improve alignment
|
||||
\ifnum 0<#1
|
||||
%\fill [right color=health, left color=food] (336.0/300.0,375.0/300.0) rectangle (350.0/300.0,325.0/300.0);
|
||||
\node [rectangle, anchor=east, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (350.0/300.0,360.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/starve.png}};
|
||||
\fi
|
||||
\ifnum 1<#1
|
||||
%\fill [right color=health, left color=food] (336.0/300.0,315.0/300.0) rectangle (350.0/300.0,265.0/300.0);
|
||||
\node [rectangle, anchor=east, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (350.0/300.0,290.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/starve.png}};
|
||||
\fi
|
||||
\ifnum 2<#1
|
||||
%\fill [right color=health, left color=food] (336.0/300.0,255.0/300.0) rectangle (350.0/300.0,205.0/300.0);
|
||||
\node [rectangle, anchor=east, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (350.0/300.0,220.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/starve.png}};
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\hardhypo}[1]{%
|
||||
% TODO: Improve alignment
|
||||
\ifnum 0<#1
|
||||
%\fill [left color=energy, right color=personal] (400.0/300.0,375.0/300.0) rectangle (415.0/300.0,325.0/300.0);
|
||||
\node [rectangle, anchor=west, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (400.0/300.0,360.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/hypo.png}};
|
||||
\fi
|
||||
\ifnum 1<#1
|
||||
%\fill [left color=energy, right color=personal] (400.0/300.0,315.0/300.0) rectangle (415.0/300.0,265.0/300.0);
|
||||
\node [rectangle, anchor=west, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (400.0/300.0,290.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/hypo.png}};
|
||||
\fi
|
||||
\ifnum 2<#1
|
||||
%\fill [left color=energy, right color=personal] (400.0/300.0,255.0/300.0) rectangle (415.0/300.0,205.0/300.0);
|
||||
\node [rectangle, anchor=west, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (400.0/300.0,220.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/hypo.png}};
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\hardstarve}[1]{%
|
||||
% TODO: Improve alignment
|
||||
\ifnum 0<#1
|
||||
%\fill [right color=health, left color=food] (686.0/300.0,375.0/300.0) rectangle (700.0/300.0,325.0/300.0);
|
||||
\node [rectangle, anchor=east, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (700.0/300.0,360.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/starve.png}};
|
||||
\fi
|
||||
\ifnum 1<#1
|
||||
%\fill [right color=health, left color=food] (686.0/300.0,315.0/300.0) rectangle (700.0/300.0,265.0/300.0);
|
||||
\node [rectangle, anchor=east, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (700.0/300.0,290.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/starve.png}};
|
||||
\fi
|
||||
\ifnum 2<#1
|
||||
%\fill [right color=health, left color=food] (686.0/300.0,255.0/300.0) rectangle (700.0/300.0,205.0/300.0);
|
||||
\node [rectangle, anchor=east, minimum width=0.25in, minimum height=0.25in, text centered, text width=0.25in, inner sep=0mm] at (700.0/300.0,220.0/300.0) {\includegraphics*[width=0.25in, height=0.25in]{icons/starve.png}};
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\easyflava}[1]{%
|
||||
\node [rectangle, minimum width=1in, minimum height=50.0/300.0, text centered, text width=1in, inner sep=0mm, anchor=north] at (200.0/300.0,75.0/300.0) {\fontsize{4}{6}\alegreya"#1"\par};
|
||||
}
|
||||
|
||||
\newcommand{\hardflava}[1]{%
|
||||
\node [rectangle, minimum width=1in, minimum height=50.0/300.0, text centered, text width=1in, inner sep=0mm, anchor=north] at (550.0/300.0,75.0/300.0) {\fontsize{4}{6}\alegreya"#1"\par};
|
||||
\newcommand{\allowednot}[1]{%
|
||||
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||
\node (0,0) {#1};
|
||||
\draw [line width=0.7mm, black] (-0.37,0.37) -- (0.37,-0.37);
|
||||
\draw [line width=0.5mm, red] (-0.37,0.37) -- (0.37,-0.37);
|
||||
\draw [line width=0.7mm, black] (0,0) circle (5mm);
|
||||
\draw [line width=0.5mm, red] (0,0) circle (5mm);
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
\newenvironment{card}
|
||||
|
@ -359,33 +183,94 @@
|
|||
{% End
|
||||
\end{tikzpicture}}
|
||||
|
||||
\newenvironment{playcard}[3][@]
|
||||
% Draws a straight, vertical 15mm segment centered at 0,0 going down
|
||||
\newcommand{\straightspace}{%
|
||||
\fill [black] (-0.85,-0.85) rectangle (-0.65,0.85);
|
||||
\fill [black] (0.65,-0.85) rectangle (0.85,0.85);
|
||||
\fill [black] (-0.5,-0.725) rectangle (0.5,-0.775);
|
||||
}
|
||||
|
||||
% Draws an 'L' shaped 15mm segment centered at 0,0
|
||||
\newcommand{\Lspace}{%
|
||||
\fill [black] (-0.85,-0.85) rectangle (-0.65,0.85);
|
||||
\fill [black] (-0.85,-0.85) rectangle (0.85,-0.65);
|
||||
\fill [black] (0.65,0.65) rectangle (0.85,0.85);
|
||||
\fill [black] (0.725,-0.5) rectangle (0.775,0.5);
|
||||
}
|
||||
|
||||
\newcommand{\leglevel}[1]{\newcommand{\legcolor}{#1}}
|
||||
|
||||
\newenvironment{leg}
|
||||
{% Begin
|
||||
\cardtype{#2}\rarity{#3}
|
||||
\begin{card}
|
||||
\type{\if #1@#2\else#1 #2\fi}
|
||||
\noindent\begin{tikzpicture}[x=1cm,y=1cm]
|
||||
\fill [black] (0,0) rectangle (6.35,8.89);
|
||||
\fill[rounded corners=10pt] [\legcolor] (0.423333,0.0) rectangle (5.92666,8.4666);
|
||||
|
||||
% Draw the path itself
|
||||
\scoped[shift={(1.675,0.85)},yscale=-1.0]{\straightspace}
|
||||
\scoped[shift={(1.675,2.35)},yscale=-1.0]{\straightspace}
|
||||
\scoped[shift={(1.675,3.85)},yscale=-1.0]{\straightspace}
|
||||
\scoped[shift={(1.675,5.35)},yscale=-1.0]{\straightspace}
|
||||
\scoped[shift={(1.675,6.85)},yscale=-1.0]{\Lspace}
|
||||
\scoped[shift={(3.175,6.85)},rotate=90]{\straightspace}
|
||||
\scoped[shift={(4.675,6.85)},xscale=-1.0,rotate=-90]{\Lspace}
|
||||
\scoped[shift={(4.675,5.35)}]{\straightspace}
|
||||
\scoped[shift={(4.675,3.85)}]{\straightspace}
|
||||
\scoped[shift={(4.675,2.35)}]{\straightspace}
|
||||
\scoped[shift={(4.675,0.85)}]{\straightspace}
|
||||
}
|
||||
{% End
|
||||
\end{card}
|
||||
\end{tikzpicture}}
|
||||
|
||||
\newcommand{\legname}[1]{%
|
||||
\node [rectangle, anchor=north, minimum width=2.15in, minimum height=2.0/3.0in, text centered, text width=1.833333in, inner sep=0mm] at (3.175,8.35) {\bf\fontsize{20}{30}\bebas#1\par};
|
||||
}
|
||||
|
||||
% Returns the center of the argument'th space on a leg (0-indexed)
|
||||
\newcommand{\legcoordx}[1]{%
|
||||
\ifnum#1=0 1.675 \fi
|
||||
\ifnum#1=1 1.675 \fi
|
||||
\ifnum#1=2 1.675 \fi
|
||||
\ifnum#1=3 1.675 \fi
|
||||
\ifnum#1=4 1.675 \fi
|
||||
\ifnum#1=5 3.175 \fi
|
||||
\ifnum#1=6 4.675 \fi
|
||||
\ifnum#1=7 4.675 \fi
|
||||
\ifnum#1=8 4.675 \fi
|
||||
\ifnum#1=9 4.675 \fi
|
||||
\ifnum#1=10 4.675 \fi
|
||||
}
|
||||
\newcommand{\legcoordy}[1]{%
|
||||
\ifnum#1=0 0.85 \fi
|
||||
\ifnum#1=1 2.35 \fi
|
||||
\ifnum#1=2 3.85 \fi
|
||||
\ifnum#1=3 5.35 \fi
|
||||
\ifnum#1=4 6.85 \fi
|
||||
\ifnum#1=5 6.85 \fi
|
||||
\ifnum#1=6 6.85 \fi
|
||||
\ifnum#1=7 5.35 \fi
|
||||
\ifnum#1=8 3.85 \fi
|
||||
\ifnum#1=9 2.35 \fi
|
||||
\ifnum#1=10 0.85 \fi
|
||||
}
|
||||
|
||||
\newcommand{\onlegspace}[2]{%
|
||||
\node [rectangle, anchor=center, minimum width=1.5cm, minimum height=1.5cm, text centered, text width=1.5cm, inner sep=0mm] at (\legcoordx{#1},\legcoordy{#1}) {#2};
|
||||
}
|
||||
|
||||
\newcommand{\legspaceicon}[1]{%
|
||||
\includegraphics[width=1cm]{icons/#1.png}
|
||||
}
|
||||
|
||||
\newcommand{\legeffect}[1]{%
|
||||
\node [rectangle, anchor=center, text centered, inner sep=0mm] at (3.175, 5.0) {\fontsize{16}{16}\bebas Effect};
|
||||
\node [rectangle, anchor=center, text centered, inner sep=0mm] at (3.175, 3.85) {#1};
|
||||
}
|
||||
|
||||
\newenvironment{board}
|
||||
{% Begin
|
||||
\noindent\begin{tikzpicture}[x=1in,y=1in]
|
||||
%\fill [white] (0,0) rectangle (16.25,10.25);
|
||||
\noindent\begin{tikzpicture}[x=1cm,y=1cm]
|
||||
%\fill [white] (0,0) rectangle (41.275,26.035);
|
||||
}
|
||||
{% End
|
||||
\end{tikzpicture}}
|
||||
|
||||
\newenvironment{cardstretch}
|
||||
{% Begin
|
||||
\noindent\begin{tikzpicture}[x=1in,y=1in]
|
||||
\fill [left color=\hardbackgroundcolor, right color=\easybackgroundcolor] (0,0) rectangle (2.5,1.75);
|
||||
%\fill [\hardbackgroundcolor] (0,0) rectangle (1.25,1.75);
|
||||
%\fill [\easybackgroundcolor] (1.25,0) rectangle (2.5,1.75);
|
||||
\fill[rounded corners=10pt] [\easybackgroundcolor] (50.0/300.0,50.0/300.0) rectangle (350.0/300.0,475.0/300.0);
|
||||
\fill[rounded corners=10pt] [\hardbackgroundcolor] (400.0/300.0,50.0/300.0) rectangle (700.0/300.0,475.0/300.0);
|
||||
}
|
||||
{% End
|
||||
\end{tikzpicture}}
|
||||
|
||||
|
|
BIN
iditasingle.png
Before Width: | Height: | Size: 303 KiB |
Before Width: | Height: | Size: 937 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 3 MiB |
BIN
images/bear.JPG
Before Width: | Height: | Size: 827 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 35 KiB |
BIN
images/bison.jpg
Before Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 318 KiB |
Before Width: | Height: | Size: 290 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 490 KiB |
Before Width: | Height: | Size: 4.4 MiB |
Before Width: | Height: | Size: 459 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 220 KiB |
BIN
images/card/antique_sled.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
images/card/band_aid.png
Normal file
After Width: | Height: | Size: 333 KiB |
BIN
images/card/bandage.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
images/card/bear.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/big_dog.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/bison.png
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
images/card/brandy.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/breakfast.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/buffer_panel.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
images/card/caffeine.png
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
images/card/damaged.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/desperate_times.png
Normal file
After Width: | Height: | Size: 337 KiB |
BIN
images/card/diamorphine.png
Normal file
After Width: | Height: | Size: 333 KiB |
BIN
images/card/dinner.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/dog_chow.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/dog_shoes.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/engineer_dog.png
Normal file
After Width: | Height: | Size: 338 KiB |
BIN
images/card/first_aid.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/good_dog.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/grandma_soup.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
images/card/greyhound.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/hat.png
Normal file
After Width: | Height: | Size: 329 KiB |
BIN
images/card/hitch_a_ride.png
Normal file
After Width: | Height: | Size: 336 KiB |
BIN
images/card/husky.png
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
images/card/improvise.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
images/card/jerky.png
Normal file
After Width: | Height: | Size: 329 KiB |
BIN
images/card/lead_sled.png
Normal file
After Width: | Height: | Size: 335 KiB |
Before Width: | Height: | Size: 12 MiB After Width: | Height: | Size: 14 MiB |
BIN
images/card/makeshift_sled.png
Normal file
After Width: | Height: | Size: 337 KiB |
BIN
images/card/malamute.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
images/card/meditate.png
Normal file
After Width: | Height: | Size: 333 KiB |
BIN
images/card/midnight_sun.png
Normal file
After Width: | Height: | Size: 333 KiB |
BIN
images/card/moose.png
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
images/card/move.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/mush.png
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
images/card/nuclear_reactor.png
Normal file
After Width: | Height: | Size: 337 KiB |
BIN
images/card/poutine.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/problem_dog.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
images/card/push.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/repair_sled.png
Normal file
After Width: | Height: | Size: 336 KiB |
BIN
images/card/rush.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/salvage.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/slow_and_steady.png
Normal file
After Width: | Height: | Size: 338 KiB |
BIN
images/card/squirrel.png
Normal file
After Width: | Height: | Size: 336 KiB |
BIN
images/card/steak.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/supply_run.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
images/card/tactical_play.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/tiara.png
Normal file
After Width: | Height: | Size: 331 KiB |
BIN
images/card/upgrade_sled.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
images/card/venison.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/waffles.png
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
images/card/whale_meat.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
images/card/wheel_dog.png
Normal file
After Width: | Height: | Size: 333 KiB |
BIN
images/cat.jpg
Before Width: | Height: | Size: 269 KiB |
Before Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 4.1 MiB |
Before Width: | Height: | Size: 17 KiB |
BIN
images/coat.JPG
Before Width: | Height: | Size: 42 KiB |