aboutsummaryrefslogtreecommitdiff
path: root/go/game/marks.go
blob: 68b14a8576f5a967552065b2578b9696878da612 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package game

import (
	"log"
)

type PermanentMark int

const (
	crack PermanentMark = iota + 1
	paralysis
	poison
	panic_
	rage
	ward
	faith
)

func (mark PermanentMark) String() string {
	switch mark {
	case crack:
		return "crack"
	case paralysis:
		return "paralysis"
	case poison:
		return "poison"
	case panic_:
		return "panic"
	case rage:
		return "rage"
	case ward:
		return "ward"
	case faith:
		return "faith"
	default:
		log.Panicf("Unknown permanent mark %d", mark)
		return ""
	}
}

var (
	PermanentMarks = struct {
		Crack PermanentMark
	}{
		Crack: crack,
	}

	// unitStates = []PermanentMark{paralysis, poison, panic_, rage}
	UnitStates = struct {
		Paralysis PermanentMark
		Poison    PermanentMark
		Panic     PermanentMark
		Rage      PermanentMark
		Ward      PermanentMark
	}{
		Paralysis: paralysis,
		Poison:    poison,
		Panic:     panic_,
		Rage:      rage,
		Ward:      ward,
	}

	UnitMarks = struct {
		Ward  PermanentMark
		Faith PermanentMark
	}{
		Ward:  ward,
		Faith: faith,
	}
)