more cards

This commit is contained in:
Judah 2026-04-01 22:38:01 -06:00
parent 5d942066a9
commit 2d9d5aef90
51 changed files with 597 additions and 160 deletions

File diff suppressed because it is too large Load diff

View file

@ -16,6 +16,8 @@ var CARDS = []struct {
name: `Breaker`, desc: `The first {{unit}} you play per turn costs {{1 entropy}} less.`},
{typ: Passive, recovery: 0,
name: `Inverse Entropy`, desc: `All {{lifesteal}} bonuses are +1.`},
{typ: Passive, recovery: 0,
name: `Deathwish`, desc: `Cards cost {{1 entropy}} to draw. {{recover}} your unit's initial {{entropy}} when they die.`},
{typ: Unit, lane: Red, entropy: 1, force: 1, token: true,
desc: `Token`},
@ -33,35 +35,55 @@ var CARDS = []struct {
{typ: Unit, lane: Red, entropy: 5, force: 5,
desc: ``},
{typ: Unit, lane: Red, entropy: 5, force: 3,
desc: `{{pierce}} - Hit the next card on the stack or an opponent (if empty).
desc: `{{pierce}} - Deal my {{force}} to the next unit on the enemy {{blue lane}}.
{{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.`},
desc: `{{next turn}} - If I'm 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.`},
desc: `{{lifesteal}} - {{recover}} my initial {{force}} when I attack.`},
{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.`},
desc: `{{lifesteal}} - {{recover}} my {{force}} when I attack.
{{vampiric}} - I {{recover}} {{1 force}} when I attack.`},
{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.`},
desc: `{{initiative}} - Before I attack, {{swap}} me with the unit below. Give that unit +{{2 force}} this turn.`},
{typ: Unit, lane: Red, entropy: 6, force: 2,
desc: `{{initiative}} - Before I attack, deal half of my {{force}} to top of the enemy {{red lane}}.`},
{typ: Unit, lane: Red, entropy: 7, force: 3,
desc: `{{last stand}} - Deal my initial {{force}} to every unit on the enemy {{blue lane}}.`},
{typ: Unit, lane: Red, entropy: 6, force: 0,
desc: `{{initiative}} - {{swap}} my and my attacker's {{force}}.`},
{typ: Unit, lane: Red, entropy: 9, force: 5,
desc: `{{initiative}} - Before I attack, {{discard}} the unit on top of the enemy {{red lane}}.`},
{typ: Unit, lane: Blue, entropy: 4, force: 0,
desc: `{{collateral damage}} - Deal half of the attacking unit's {{force}} to the unit below it.`},
desc: `{{collateral damage}} - Deal half of my attacker'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}}.`},
desc: `{{last stand}} - {{move}} my 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.`},
desc: `{{initiative}} - Before I'm attacked, {{discard}} me and my attacker.`},
{typ: Unit, lane: Blue, entropy: 8, force: 3,
desc: `This unit costs {{1 entropy}} less for each unit in its lane.`},
desc: `I cost {{1 entropy}} less for each unit in my 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}}.`},
desc: `I cost {{1 entropy}} less for each unit in your enemy's {{red lane}}.`},
{typ: Unit, lane: Blue, entropy: 3, force: 5,
desc: `I gain {{1 entropy}} for every attack I survive.`},
{typ: Unit, lane: Blue, entropy: 3, force: 2,
desc: `{{strengthen}} - Units below me gain +{{1 force}} permanently.`},
{typ: Unit, lane: Blue, entropy: 5, force: 2,
desc: `{{strengthen}} - Units below me gain +{{2 force}} permanently.`},
{typ: Unit, lane: Blue, entropy: 1, force: 1,
desc: `{{shift}} - When a unit is {{pushed}} above me, give it +{{1 force}} this turn.`},
{typ: Unit, lane: Blue, entropy: 6, force: 2,
desc: `{{chain}} - When I'm buffed, apply the same buff to the units above me.`},
{typ: Unit, lane: Blue, entropy: 4, force: 2,
desc: `{{last stand}} - Return my attacker to its owner's hand.`},
{typ: Spell, lane: Green, entropy: 3, force: 0,
desc: `{{react}} - {{move}} a unit to the bottom of its lane.`},
desc: `{{react}} - {{move}} an enemy 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,
@ -71,7 +93,22 @@ var CARDS = []struct {
{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.`},
desc: `Choose an enemy: they cannot cast spells this turn.`},
{typ: Spell, lane: Green, entropy: 14, force: 0,
desc: `Choose an opponent: they skip their turn.`},
desc: `Choose an enemy: they skip their turn.`},
{typ: Spell, lane: Green, entropy: 5, force: 0,
desc: `Play the top card from your graveyard.`},
{typ: Spell, lane: Green, entropy: 3, force: 0,
desc: `Look at the top 3 cards of your deck, {{discard}} 1 of them.`},
{typ: Spell, lane: Green, entropy: 1, force: 0,
desc: `Pay a card's {{entropy}} cost and {{push}} it {{hidden}}.
{{react}} - Pay {{1 entropy}} to reveal the card.`},
{typ: Spell, lane: Green, entropy: 7, force: 0,
desc: `{{react}} - Set a unit's {{force}} to 1.`},
{typ: Spell, lane: Green, entropy: 2, force: 0,
desc: `{{move}} a unit to the top of its lane.`},
{typ: Spell, lane: Green, entropy: 5, force: 0,
desc: `{{swap}} 2 units in a lane.`},
{typ: Spell, lane: Green, entropy: 12, force: 0,
desc: `{{react}} - {{steal}} an attacking unit. {{queue}} it to my lane.`},
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 36 KiB

BIN
docs/029.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
docs/030.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
docs/031.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
docs/032.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
docs/033.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
docs/034.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
docs/035.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
docs/036.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
docs/037.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
docs/038.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
docs/039.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
docs/040.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
docs/041.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
docs/042.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
docs/043.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
docs/044.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
docs/045.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
docs/046.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -101,7 +101,7 @@ func main() {
color = [3]float64{248.0 / 255.0, 120.0 / 255.0, 143.0 / 255.0}
case Green:
baseimg = "base-green.png"
color = [3]float64{120.0 / 255.0, 248.0 / 255.0, 178.0 / 255.0}
color = [3]float64{126.0 / 255.0, 229.0 / 255.0, 166.0 / 255.0}
case Blue:
baseimg = "base-blue.png"
color = [3]float64{120.0 / 255.0, 190.0 / 255.0, 248.0 / 255.0}
@ -138,7 +138,11 @@ func main() {
{
ctx.Translate(273, 115)
ctx.Rotate(270 * math.Pi / 180)
ctx.DrawStringAnchored(fmt.Sprintf("%d", max(card.entropy, card.recovery)), 0, 0, 0.5, 0.5)
var prefix string
if card.typ == Passive {
prefix = "+"
}
ctx.DrawStringAnchored(fmt.Sprintf("%s%d", prefix, max(card.entropy, card.recovery)), 0, 0, 0.5, 0.5)
}
ctx.Pop()