summaryrefslogtreecommitdiff
path: root/engine/card
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-09-11 15:00:48 +0200
committerewy <ewy0@protonmail.com>2026-09-11 15:00:48 +0200
commitc69e6c0770359e2febafcf487eb21c4aa608c3e9 (patch)
treed1f4ac93b2bca7b4df62d698fde91ed15371c6c7 /engine/card
initial commit
Diffstat (limited to 'engine/card')
-rw-r--r--engine/card/attack.go11
-rw-r--r--engine/card/card.go16
-rw-r--r--engine/card/damage.go5
-rw-r--r--engine/card/range.go11
4 files changed, 43 insertions, 0 deletions
diff --git a/engine/card/attack.go b/engine/card/attack.go
new file mode 100644
index 0000000..19ad196
--- /dev/null
+++ b/engine/card/attack.go
@@ -0,0 +1,11 @@
+package card
+
+type Attack struct {
+ *Card
+
+ MinDistance RangeValue
+ MaxDistance RangeValue
+
+ AuraDamage DamageValue
+ HealthDamage DamageValue
+}
diff --git a/engine/card/card.go b/engine/card/card.go
new file mode 100644
index 0000000..f2dce83
--- /dev/null
+++ b/engine/card/card.go
@@ -0,0 +1,16 @@
+package card
+
+type Card struct {
+ Name string
+ AllOut bool
+ Text string
+ Flavor string
+}
+
+func (c *Card) Base() *Card {
+ return c
+}
+
+type IsCard interface {
+ Base() *Card
+}
diff --git a/engine/card/damage.go b/engine/card/damage.go
new file mode 100644
index 0000000..fccb073
--- /dev/null
+++ b/engine/card/damage.go
@@ -0,0 +1,5 @@
+package card
+
+type DamageValue int
+
+const Unselectable = DamageValue(-1)
diff --git a/engine/card/range.go b/engine/card/range.go
new file mode 100644
index 0000000..3c6a5c9
--- /dev/null
+++ b/engine/card/range.go
@@ -0,0 +1,11 @@
+package card
+
+type RangeValue int
+
+const NoMinimumRange = RangeValue(0)
+const NoMaximumRange = RangeValue(10)
+
+type Range struct {
+ Min RangeValue
+ Max RangeValue
+}