diff --git a/oracle.go b/oracle.go index d6be645..077503f 100644 --- a/oracle.go +++ b/oracle.go @@ -73,8 +73,17 @@ func OracleEnters(c *Card, g *Game) { g.QueuedEffect = &Effect{c.Id, uuid.Nil, 2, 1} g.TargetReq = TargetOwn case Enemy: - g.QueuedEffect = &Effect{c.Id, uuid.Nil, 4, 1} + g.QueuedEffect = &Effect{c.Id, uuid.Nil, 2, -1} g.TargetReq = TargetOpp + case Chupacabra: + g.QueuedEffect = &Effect{c.Id, uuid.Nil, 4, 0} + g.TargetReq = TargetOpp + case Duelist: + g.QueuedEffect = &Effect{c.Id, uuid.Nil, 6, 1} + g.TargetReq = TargetOwn + case Vanguard: + g.QueuedEffect = &Effect{c.Id, uuid.Nil, 7, 1} + g.TargetReq = TargetOwn } } @@ -204,9 +213,33 @@ func OracleEffect(c *Card, g *Game) { case 3: c.BasePower = e.Modifier case 4: - c.Power = c.Power - e.Modifier + g.Bury(c) + case 5: //+x/+0 + if g.CurrentTurn == c.Owner { + c.Power = c.Power + e.Modifier + } + case 6: //+0/+x + if g.CurrentTurn != c.Owner { + c.Power = c.Power + e.Modifier + } + case 7: //+x/-x + if g.CurrentTurn == c.Owner { + c.Power = c.Power + e.Modifier + } else { + c.Power = c.Power - e.Modifier + } + case 8: //-x/+x + if g.CurrentTurn == c.Owner { + c.Power = c.Power + e.Modifier + } else { + c.Power = c.Power + e.Modifier + } + default: log.Println("wrong effect type") } } + if c.Power < 0 { + c.Power = 0 + } }