iditacards/legs.cue

48 lines
927 B
CUE

// Iditacards leg asset specification
package iditacards
#LegLevel: "firstleg" | "secondleg" | "thirdleg"
#LegEffect: string
#PassEffect: "hypo" | "damage" | "starve"
#LegIndex: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11"
// the template for a leg gets this
#Leg: {
name: string
level: #LegLevel
effect: #LegEffect
spaces: [#LegIndex]: #PassEffect
}
legs: [string]: #Leg
assets: {
for legname, leg in legs {
"\(legname)[1]": {
size: "750x1050"
print: "-set option:distort:viewport 825x1125-37-37 -virtual-pixel Edge -distort SRT 0 +repage"
kind: "template"
template: "leg.tex"
data: leg
}
}
}
_legdecks: {
for legname, leg in legs
let legdeck = leg.level {"\(legdeck)": {"\(legname)": 1}}
}
pseudoassets: {
for deckname, legs in _legdecks {
"\(deckname)": {
kind: "cat"
contents: [
for legname, one in legs {"\(legname)[1]"},
]
}
}
}