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, } )