snengame/internal/game/oracle.go

69 lines
1003 B
Go

package game
func OracleUpkeep(c *Card, g *Game) {
switch c.Type {
case Eight:
c.Sick = true
if c.Counters > 3 {
g.GameBoard.Remove(c)
}
default:
c.Sick = false
}
return
}
func OracleCast(c *Card, g *Game) bool {
switch c.Type {
case Valk:
g.GameBoard = NewBoard()
return false
default:
return true
}
}
func OracleEnters(c *Card, g *Game) {
c.Sick = true
switch c.Type {
case Two:
//+1 to all
if g.CurrentTurn == SentinalID {
for _, v := range g.GameBoard.Sentinal {
v.Power = v.Power + 1
}
} else {
for _, v := range g.GameBoard.Scourge {
v.Power = v.Power + 1
}
}
case Three:
//+1 around it
}
return
}
func OracleLeaves(c *Card, g *Game) {
return
}
func OracleEndstep(c *Card, g *Game) {
switch c.Type {
case Eight:
c.Counters = c.Counters + 1
}
return
}
func OraclePower(c CardType, g *Game) int {
return int(c)
}
func OracleMove(c *Card, g *Game) {
c.Sick = true
}
func OracleAttack(c *Card, g *Game) {
c.Sick = true
}