package player import ( "sakura/engine/card" "sakura/engine/game" "sakura/engine/pool" ) type Player struct { Game *game.Game Vigour *Vigour Life *pool.Pool Aura *pool.Pool Flare *pool.Pool MasterDeck []*card.Card Ultimates []*card.Card } func (p *Player) propagate(g *game.Game) { p.Game = g p.Aura.SubtractsTo = g.Shadow p.Flare.SubtractsTo = g.Shadow p.Life.SubtractsTo = p.Flare } func New(g *game.Game) *Player { p := &Player{ Life: pool.New(pool.Empty, 10), Aura: pool.New(3, 5), Flare: pool.New(pool.Empty, pool.Infinite), } p.propagate(g) return p }