diff --git a/oracle.go b/oracle.go index 226bf0a..cc8ad04 100644 --- a/oracle.go +++ b/oracle.go @@ -20,6 +20,11 @@ func OracleUpkeep(c *Card, g *Game) { g.GameBoard.Remove(c) g.Bury(c) } + case Clog: + if c.Counters >= 1 { + g.GameBoard.Remove(c) + g.Bury(c) + } default: c.Sick = false } @@ -36,7 +41,7 @@ func OracleSpell(c CardType, g *Game) bool { } func OracleToken(c CardType, g *Game) bool { switch c { - case GoblinSpawn, Dud: + case GoblinSpawn, Dud, Clog: return true default: return false @@ -96,6 +101,12 @@ func OracleEnters(c *Card, g *Game) { case Elephant: g.QueuedEffect = &Effect{c.Id, uuid.Nil, 9, 0, false} g.TargetReq = TargetOppEmpty + case Bureaucrat: + g.QueuedEffect = &Effect{c.Id, uuid.Nil, 10, 0, false} + g.TargetReq = TargetAny + case Clog: + c.Phased = true + c.Counters = 0 case Mesmerist: g.GetOpponentDeck(c.Owner).Shuffle() case Diviner: @@ -161,7 +172,7 @@ func OracleLeaves(c *Card, g *Game) { func OracleEndstep(c *Card, g *Game) { switch c.Type { - case ShieldWall, Tree, Hologram: + case ShieldWall, Tree, Hologram, Clog: c.Counters = c.Counters + 1 } return @@ -170,7 +181,7 @@ func OracleEndstep(c *Card, g *Game) { func OraclePower(c CardType, g *Game) int { //this is horrible switch c { - case Dud: + case Dud, Clog: return 0 case Speedster, HealthPotion, Tree, Goblin, GoblinSpawn, Chupacabra: return 1 @@ -262,6 +273,9 @@ func OracleEffect(c *Card, g *Game) { case 9: //create dud RemoveEffect(e.Owner, c) c = NewCard(int(Dud), c.Owner, c.Position, uuid.Nil) + case 10: //create clog + RemoveEffect(e.Owner, c) + c = NewCard(int(Clog), c.Owner, c.Position, uuid.Nil) default: log.Println("wrong effect type") }