more cards
510
CardList.json
|
|
@ -69,17 +69,17 @@
|
||||||
"id": "003",
|
"id": "003",
|
||||||
"face": {
|
"face": {
|
||||||
"front": {
|
"front": {
|
||||||
"name": "CompositeGesture",
|
"name": "ResidualDividend",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 1,
|
"cost": 1,
|
||||||
"image": "https://docs.brut.systems/judah/entropy/003.png",
|
"image": "https://docs.brut.systems/judah/entropy/003.png",
|
||||||
"isHorizontal": true
|
"isHorizontal": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "CompositeGesture",
|
"name": "ResidualDividend",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 1,
|
"cost": 1,
|
||||||
"isToken": false,
|
"isToken": true,
|
||||||
"Lane": "🟥 Red",
|
"Lane": "🟥 Red",
|
||||||
"Entropy": 1,
|
"Entropy": 1,
|
||||||
"Force": 1,
|
"Force": 1,
|
||||||
|
|
@ -91,14 +91,58 @@
|
||||||
"id": "004",
|
"id": "004",
|
||||||
"face": {
|
"face": {
|
||||||
"front": {
|
"front": {
|
||||||
"name": "BareLapse",
|
"name": "ConcaveCartilage",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 2,
|
"cost": 1,
|
||||||
"image": "https://docs.brut.systems/judah/entropy/004.png",
|
"image": "https://docs.brut.systems/judah/entropy/004.png",
|
||||||
"isHorizontal": true
|
"isHorizontal": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "BareLapse",
|
"name": "ConcaveCartilage",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 1,
|
||||||
|
"isToken": true,
|
||||||
|
"Lane": "🟦 Blue",
|
||||||
|
"Entropy": 1,
|
||||||
|
"Force": 1,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"005": {
|
||||||
|
"id": "005",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "BareAperture",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 1,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/005.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "BareAperture",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 1,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟥 Red",
|
||||||
|
"Entropy": 1,
|
||||||
|
"Force": 1,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"006": {
|
||||||
|
"id": "006",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "ConvergentGradient",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 2,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/006.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "ConvergentGradient",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 2,
|
"cost": 2,
|
||||||
"isToken": false,
|
"isToken": false,
|
||||||
|
|
@ -109,18 +153,18 @@
|
||||||
"playtest": true
|
"playtest": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"005": {
|
"007": {
|
||||||
"id": "005",
|
"id": "007",
|
||||||
"face": {
|
"face": {
|
||||||
"front": {
|
"front": {
|
||||||
"name": "ExcessCompact",
|
"name": "CivicTendon",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 3,
|
"cost": 3,
|
||||||
"image": "https://docs.brut.systems/judah/entropy/005.png",
|
"image": "https://docs.brut.systems/judah/entropy/007.png",
|
||||||
"isHorizontal": true
|
"isHorizontal": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "ExcessCompact",
|
"name": "CivicTendon",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 3,
|
"cost": 3,
|
||||||
"isToken": false,
|
"isToken": false,
|
||||||
|
|
@ -131,18 +175,18 @@
|
||||||
"playtest": true
|
"playtest": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"006": {
|
"008": {
|
||||||
"id": "006",
|
"id": "008",
|
||||||
"face": {
|
"face": {
|
||||||
"front": {
|
"front": {
|
||||||
"name": "ErrantTendon",
|
"name": "WarmOffset",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 4,
|
"cost": 4,
|
||||||
"image": "https://docs.brut.systems/judah/entropy/006.png",
|
"image": "https://docs.brut.systems/judah/entropy/008.png",
|
||||||
"isHorizontal": true
|
"isHorizontal": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "ErrantTendon",
|
"name": "WarmOffset",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 4,
|
"cost": 4,
|
||||||
"isToken": false,
|
"isToken": false,
|
||||||
|
|
@ -153,24 +197,442 @@
|
||||||
"playtest": true
|
"playtest": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"007": {
|
"009": {
|
||||||
"id": "007",
|
"id": "009",
|
||||||
"face": {
|
"face": {
|
||||||
"front": {
|
"front": {
|
||||||
"name": "BluntSurplus",
|
"name": "PartialCartilage",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 10,
|
"cost": 5,
|
||||||
"image": "https://docs.brut.systems/judah/entropy/007.png",
|
"image": "https://docs.brut.systems/judah/entropy/009.png",
|
||||||
"isHorizontal": true
|
"isHorizontal": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "BluntSurplus",
|
"name": "PartialCartilage",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 5,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟥 Red",
|
||||||
|
"Entropy": 5,
|
||||||
|
"Force": 5,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"010": {
|
||||||
|
"id": "010",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "DullSubstrate",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 5,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/010.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "DullSubstrate",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 5,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟥 Red",
|
||||||
|
"Entropy": 5,
|
||||||
|
"Force": 3,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"011": {
|
||||||
|
"id": "011",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "WarmGesture",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 5,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/011.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "WarmGesture",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 5,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟥 Red",
|
||||||
|
"Entropy": 5,
|
||||||
|
"Force": 3,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"012": {
|
||||||
|
"id": "012",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "BareConviction",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 3,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/012.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "BareConviction",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 3,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟥 Red",
|
||||||
|
"Entropy": 3,
|
||||||
|
"Force": 2,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"013": {
|
||||||
|
"id": "013",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "PolarVolume",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 3,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/013.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "PolarVolume",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 3,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟥 Red",
|
||||||
|
"Entropy": 3,
|
||||||
|
"Force": 1,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"014": {
|
||||||
|
"id": "014",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "DullSurplus",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 5,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/014.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "DullSurplus",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 5,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟥 Red",
|
||||||
|
"Entropy": 5,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"015": {
|
||||||
|
"id": "015",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "PolarAxis",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 4,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/015.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "PolarAxis",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 4,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟦 Blue",
|
||||||
|
"Entropy": 4,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"016": {
|
||||||
|
"id": "016",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "WarmRapport",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 2,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/016.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "WarmRapport",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 2,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟦 Blue",
|
||||||
|
"Entropy": 2,
|
||||||
|
"Force": 2,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"017": {
|
||||||
|
"id": "017",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "RagingAxis",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 2,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/017.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "RagingAxis",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 2,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟦 Blue",
|
||||||
|
"Entropy": 2,
|
||||||
|
"Force": 2,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"018": {
|
||||||
|
"id": "018",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "VampiricMembrane",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 3,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/018.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "VampiricMembrane",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 3,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟦 Blue",
|
||||||
|
"Entropy": 3,
|
||||||
|
"Force": 3,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"019": {
|
||||||
|
"id": "019",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "WarmFilament",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 2,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/019.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "WarmFilament",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 2,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟦 Blue",
|
||||||
|
"Entropy": 2,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"020": {
|
||||||
|
"id": "020",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "FormerShrine",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 8,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/020.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "FormerShrine",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 8,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟦 Blue",
|
||||||
|
"Entropy": 8,
|
||||||
|
"Force": 3,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"021": {
|
||||||
|
"id": "021",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "SoftFilament",
|
||||||
|
"type": "Unit",
|
||||||
|
"cost": 10,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/021.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "SoftFilament",
|
||||||
"type": "Unit",
|
"type": "Unit",
|
||||||
"cost": 10,
|
"cost": 10,
|
||||||
"isToken": false,
|
"isToken": false,
|
||||||
"Lane": "🟥 Red",
|
"Lane": "🟦 Blue",
|
||||||
"Entropy": 10,
|
"Entropy": 10,
|
||||||
"Force": 10,
|
"Force": 5,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"022": {
|
||||||
|
"id": "022",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "NominalSurplus",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 3,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/022.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "NominalSurplus",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 3,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟩 Green",
|
||||||
|
"Entropy": 3,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"023": {
|
||||||
|
"id": "023",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "MootSubstrate",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 3,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/023.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "MootSubstrate",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 3,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟩 Green",
|
||||||
|
"Entropy": 3,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"024": {
|
||||||
|
"id": "024",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "SoftMutation",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 1,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/024.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "SoftMutation",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 1,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟩 Green",
|
||||||
|
"Entropy": 1,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"025": {
|
||||||
|
"id": "025",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "BareFilament",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 2,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/025.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "BareFilament",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 2,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟩 Green",
|
||||||
|
"Entropy": 2,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"026": {
|
||||||
|
"id": "026",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "DullMembrane",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 4,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/026.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "DullMembrane",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 4,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟩 Green",
|
||||||
|
"Entropy": 4,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"027": {
|
||||||
|
"id": "027",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "SoftVolume",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 8,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/027.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "SoftVolume",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 8,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟩 Green",
|
||||||
|
"Entropy": 8,
|
||||||
|
"Force": 0,
|
||||||
|
"_legal": {
|
||||||
|
"playtest": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"028": {
|
||||||
|
"id": "028",
|
||||||
|
"face": {
|
||||||
|
"front": {
|
||||||
|
"name": "GrossProspect",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 14,
|
||||||
|
"image": "https://docs.brut.systems/judah/entropy/028.png",
|
||||||
|
"isHorizontal": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "GrossProspect",
|
||||||
|
"type": "Spell",
|
||||||
|
"cost": 14,
|
||||||
|
"isToken": false,
|
||||||
|
"Lane": "🟩 Green",
|
||||||
|
"Entropy": 14,
|
||||||
|
"Force": 0,
|
||||||
"_legal": {
|
"_legal": {
|
||||||
"playtest": true
|
"playtest": true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
54
cards.go
|
|
@ -3,6 +3,7 @@ package main
|
||||||
var CARDS = []struct {
|
var CARDS = []struct {
|
||||||
lane Lane
|
lane Lane
|
||||||
typ Type
|
typ Type
|
||||||
|
token bool
|
||||||
entropy int
|
entropy int
|
||||||
recovery int
|
recovery int
|
||||||
force int
|
force int
|
||||||
|
|
@ -10,11 +11,16 @@ var CARDS = []struct {
|
||||||
desc string
|
desc string
|
||||||
}{
|
}{
|
||||||
{typ: Passive, recovery: 3,
|
{typ: Passive, recovery: 3,
|
||||||
name: `Rapid Response`, desc: `Your {{spell}}s cost {{1 hp}} less.`},
|
name: `Rapid Response`, desc: `Your {{spell}}s cost {{1 entropy}} less.`},
|
||||||
{typ: Passive, recovery: 2,
|
{typ: Passive, recovery: 2,
|
||||||
name: `Breaker`, desc: `The first {{unit}} you play per turn costs {{1 entropy}} less.`},
|
name: `Breaker`, desc: `The first {{unit}} you play per turn costs {{1 entropy}} less.`},
|
||||||
{typ: Passive, recovery: 0,
|
{typ: Passive, recovery: 0,
|
||||||
name: `Inverse Entropy`, desc: `Add {{1 hp}} to all {{lifesteal}} bonuses.`},
|
name: `Inverse Entropy`, desc: `All {{lifesteal}} bonuses are +1.`},
|
||||||
|
|
||||||
|
{typ: Unit, lane: Red, entropy: 1, force: 1, token: true,
|
||||||
|
desc: `Token`},
|
||||||
|
{typ: Unit, lane: Blue, entropy: 1, force: 1, token: true,
|
||||||
|
desc: `Token`},
|
||||||
|
|
||||||
{typ: Unit, lane: Red, entropy: 1, force: 1,
|
{typ: Unit, lane: Red, entropy: 1, force: 1,
|
||||||
desc: ``},
|
desc: ``},
|
||||||
|
|
@ -24,6 +30,48 @@ var CARDS = []struct {
|
||||||
desc: ``},
|
desc: ``},
|
||||||
{typ: Unit, lane: Red, entropy: 4, force: 4,
|
{typ: Unit, lane: Red, entropy: 4, force: 4,
|
||||||
desc: ``},
|
desc: ``},
|
||||||
{typ: Unit, lane: Red, entropy: 10, force: 10,
|
{typ: Unit, lane: Red, entropy: 5, force: 5,
|
||||||
desc: ``},
|
desc: ``},
|
||||||
|
{typ: Unit, lane: Red, entropy: 5, force: 3,
|
||||||
|
desc: `{{pierce}} - Hit the next card on the stack or an opponent (if empty).
|
||||||
|
{{double tap}} - Do this twice.`},
|
||||||
|
{typ: Unit, lane: Red, entropy: 5, force: 3,
|
||||||
|
desc: `{{next turn}} - If alive, {{push}} a {{1 entropy}} / {{1 force}} unit.`},
|
||||||
|
{typ: Unit, lane: Red, entropy: 3, force: 2,
|
||||||
|
desc: `{{lifesteal}} - {{recover}} this unit's {{force}} when it attacks.`},
|
||||||
|
{typ: Unit, lane: Red, entropy: 3, force: 1,
|
||||||
|
desc: `{{lifesteal}} - {{recover}} this unit's {{force}} when it attacks.
|
||||||
|
{{vampiric}} - This unit {{recover}}s {{1 force}} when it attacks.`},
|
||||||
|
{typ: Unit, lane: Red, entropy: 5, force: 0,
|
||||||
|
desc: `{{initiative}} - Before this unit attacks, {{swap}} it with the unit below. Give that unit +{{2 force}} this turn.`},
|
||||||
|
|
||||||
|
{typ: Unit, lane: Blue, entropy: 4, force: 0,
|
||||||
|
desc: `{{collateral damage}} - Deal half of the attacking unit's {{force}} to the unit below it.`},
|
||||||
|
{typ: Unit, lane: Blue, entropy: 2, force: 2,
|
||||||
|
desc: `{{last stand}} - {{move}} this unit's attacker to the bottom of its {{lane}}.`},
|
||||||
|
{typ: Unit, lane: Blue, entropy: 2, force: 2,
|
||||||
|
desc: ``},
|
||||||
|
{typ: Unit, lane: Blue, entropy: 3, force: 3,
|
||||||
|
desc: ``},
|
||||||
|
{typ: Unit, lane: Blue, entropy: 2, force: 0,
|
||||||
|
desc: `{{initiative}} - Before this unit is attacked, {{discard}} it and it's attacker.`},
|
||||||
|
{typ: Unit, lane: Blue, entropy: 8, force: 3,
|
||||||
|
desc: `This unit costs {{1 entropy}} less for each unit in its lane.`},
|
||||||
|
{typ: Unit, lane: Blue, entropy: 10, force: 5,
|
||||||
|
desc: `This unit costs {{1 entropy}} less for each unit in your opponent's {{red lane}}.`},
|
||||||
|
|
||||||
|
{typ: Spell, lane: Green, entropy: 3, force: 0,
|
||||||
|
desc: `{{react}} - {{move}} a unit to the bottom of its lane.`},
|
||||||
|
{typ: Spell, lane: Green, entropy: 3, force: 0,
|
||||||
|
desc: `{{react}} - {{recover}} {{5 hp}}.`},
|
||||||
|
{typ: Spell, lane: Green, entropy: 1, force: 0,
|
||||||
|
desc: `Give a friendly {{unit}} +{{1 force}}.`},
|
||||||
|
{typ: Spell, lane: Green, entropy: 2, force: 0,
|
||||||
|
desc: `Give a friendly {{unit}} +{{2 force}}.`},
|
||||||
|
{typ: Spell, lane: Green, entropy: 4, force: 0,
|
||||||
|
desc: `Give a friendly {{unit}} +{{3 force}}.`},
|
||||||
|
{typ: Spell, lane: Green, entropy: 8, force: 0,
|
||||||
|
desc: `Choose an opponent: they cannot cast spells this turn.`},
|
||||||
|
{typ: Spell, lane: Green, entropy: 14, force: 0,
|
||||||
|
desc: `Choose an opponent: they skip their turn.`},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
BIN
docs/000.png
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 33 KiB |
BIN
docs/001.png
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
BIN
docs/002.png
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 31 KiB |
BIN
docs/003.png
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
BIN
docs/004.png
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 26 KiB |
BIN
docs/005.png
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 23 KiB |
BIN
docs/006.png
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 26 KiB |
BIN
docs/007.png
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 23 KiB |
BIN
docs/008.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
docs/009.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
docs/010.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
docs/011.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
docs/012.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
docs/013.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
docs/014.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
docs/015.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
docs/016.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
docs/017.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
docs/018.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
docs/019.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/020.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
docs/021.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
docs/022.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
docs/023.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
docs/024.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
docs/025.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
docs/026.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
docs/027.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
docs/028.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
27
main.go
|
|
@ -26,7 +26,6 @@ const (
|
||||||
Unit Type = iota
|
Unit Type = iota
|
||||||
Spell
|
Spell
|
||||||
Passive
|
Passive
|
||||||
Token
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func (l Lane) String() string {
|
func (l Lane) String() string {
|
||||||
|
|
@ -50,8 +49,8 @@ func (t Type) String() string {
|
||||||
return "Unit"
|
return "Unit"
|
||||||
case Passive:
|
case Passive:
|
||||||
return "Passive"
|
return "Passive"
|
||||||
case Token:
|
case Spell:
|
||||||
return "Token"
|
return "Spell"
|
||||||
default:
|
default:
|
||||||
panic("unknown")
|
panic("unknown")
|
||||||
}
|
}
|
||||||
|
|
@ -102,10 +101,10 @@ func main() {
|
||||||
color = [3]float64{248.0 / 255.0, 120.0 / 255.0, 143.0 / 255.0}
|
color = [3]float64{248.0 / 255.0, 120.0 / 255.0, 143.0 / 255.0}
|
||||||
case Green:
|
case Green:
|
||||||
baseimg = "base-green.png"
|
baseimg = "base-green.png"
|
||||||
color = [3]float64{120.0 / 255.0, 190.0 / 255.0, 248.0 / 255.0}
|
color = [3]float64{120.0 / 255.0, 248.0 / 255.0, 178.0 / 255.0}
|
||||||
case Blue:
|
case Blue:
|
||||||
baseimg = "base-blue.png"
|
baseimg = "base-blue.png"
|
||||||
color = [3]float64{120.0 / 255.0, 248.0 / 255.0, 178.0 / 255.0}
|
color = [3]float64{120.0 / 255.0, 190.0 / 255.0, 248.0 / 255.0}
|
||||||
default:
|
default:
|
||||||
color = [3]float64{184.0 / 255.0, 184.0 / 255.0, 184.0 / 255.0}
|
color = [3]float64{184.0 / 255.0, 184.0 / 255.0, 184.0 / 255.0}
|
||||||
baseimg = "base-passive.png"
|
baseimg = "base-passive.png"
|
||||||
|
|
@ -133,13 +132,13 @@ func main() {
|
||||||
ctx.Pop()
|
ctx.Pop()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw entropy
|
// Draw entropy or recovery
|
||||||
ctx.SetRGB(color[0], color[1], color[2])
|
ctx.SetRGB(color[0], color[1], color[2])
|
||||||
ctx.Push()
|
ctx.Push()
|
||||||
{
|
{
|
||||||
ctx.Translate(273, 115)
|
ctx.Translate(273, 115)
|
||||||
ctx.Rotate(270 * math.Pi / 180)
|
ctx.Rotate(270 * math.Pi / 180)
|
||||||
ctx.DrawStringAnchored(fmt.Sprintf("%d", card.entropy), 0, 0, 0.5, 0.5)
|
ctx.DrawStringAnchored(fmt.Sprintf("%d", max(card.entropy, card.recovery)), 0, 0, 0.5, 0.5)
|
||||||
}
|
}
|
||||||
ctx.Pop()
|
ctx.Pop()
|
||||||
|
|
||||||
|
|
@ -154,7 +153,7 @@ func main() {
|
||||||
{
|
{
|
||||||
ctx.Translate(435, 985)
|
ctx.Translate(435, 985)
|
||||||
ctx.Rotate(270 * math.Pi / 180)
|
ctx.Rotate(270 * math.Pi / 180)
|
||||||
ctx.DrawStringWrapped(fmt.Sprintf("#%03d %s - %s\n%s", i, card.name, card.typ.String(), cleandesc), 0, 0, 0.0, 0.0, 900, 1.70, gg.AlignLeft)
|
ctx.DrawStringWrapped(fmt.Sprintf("#%03d %s - %s\n%s", i, card.name, card.typ.String(), cleandesc), 0, 0, 0.0, 0.0, 900, 1.80, gg.AlignLeft)
|
||||||
}
|
}
|
||||||
ctx.Pop()
|
ctx.Pop()
|
||||||
|
|
||||||
|
|
@ -176,7 +175,7 @@ func main() {
|
||||||
Horizontal: true,
|
Horizontal: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Token: card.typ == Token,
|
Token: card.token,
|
||||||
Name: card.name,
|
Name: card.name,
|
||||||
Type: card.typ.String(),
|
Type: card.typ.String(),
|
||||||
Cost: card.entropy,
|
Cost: card.entropy,
|
||||||
|
|
@ -221,11 +220,12 @@ func generateTemporaryName() string {
|
||||||
"Live",
|
"Live",
|
||||||
"Lucid",
|
"Lucid",
|
||||||
"Moot",
|
"Moot",
|
||||||
|
"Vampiric",
|
||||||
"Nominal",
|
"Nominal",
|
||||||
"Oblique",
|
"Convergent",
|
||||||
"Partial",
|
"Partial",
|
||||||
"Passive",
|
"Passive",
|
||||||
"Petit",
|
"Raging",
|
||||||
"Polar",
|
"Polar",
|
||||||
"Residual",
|
"Residual",
|
||||||
"Rote",
|
"Rote",
|
||||||
|
|
@ -246,12 +246,12 @@ func generateTemporaryName() string {
|
||||||
"Deficit",
|
"Deficit",
|
||||||
"Dividend",
|
"Dividend",
|
||||||
"Dosage",
|
"Dosage",
|
||||||
"Envelope",
|
"Shrine",
|
||||||
"Filament",
|
"Filament",
|
||||||
"Gesture",
|
"Gesture",
|
||||||
"Gradient",
|
"Gradient",
|
||||||
"Inlet",
|
"Inlet",
|
||||||
"Lapse",
|
"Judgement",
|
||||||
"Mandate",
|
"Mandate",
|
||||||
"Membrane",
|
"Membrane",
|
||||||
"Morale",
|
"Morale",
|
||||||
|
|
@ -261,6 +261,7 @@ func generateTemporaryName() string {
|
||||||
"Prospect",
|
"Prospect",
|
||||||
"Rapport",
|
"Rapport",
|
||||||
"Reflex",
|
"Reflex",
|
||||||
|
"Mutation",
|
||||||
"Substrate",
|
"Substrate",
|
||||||
"Surplus",
|
"Surplus",
|
||||||
"Tendon",
|
"Tendon",
|
||||||
|
|
|
||||||