update game string, fix ally,enemy.other effects
This commit is contained in:
parent
d5bc5ba8a4
commit
99938e1447
13
game.go
13
game.go
@ -52,7 +52,7 @@ func NewGame(sentDeck []int, scoDeck []int) *Game {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) String() string {
|
func (g *Game) String() string {
|
||||||
return fmt.Sprintf("Sen(%v): %v\n\n%v\n\nSco(%v): %v\nStatus:%v Draw:%v Turn:%v\n%v\n", g.SentinalPlayer.Life, g.SentinalPlayer.Hand, g.GameBoard, g.ScourgePlayer.Life, g.ScourgePlayer.Hand, g.Status, g.CanDraw, g.CurrentTurn, g.CardBuffer)
|
return fmt.Sprintf("Sen(%v): %v\n\n%v\n\nSco(%v): %v\nStatus:%v Draw:%v Turn:%v\nBuffers\nCardBuffer:%v\nSB:%v BB:%v\nEffectTarget:%v\nQueuedEffect:%v", g.SentinalPlayer.Life, g.SentinalPlayer.Hand, g.GameBoard, g.ScourgePlayer.Life, g.ScourgePlayer.Hand, g.Status, g.CanDraw, g.CurrentTurn, g.CardBuffer, g.ScryBuffer, g.CardBuffer, g.TargetReq, g.QueuedEffect)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) Parse(cmd *Command) *CommandResult {
|
func (g *Game) Parse(cmd *Command) *CommandResult {
|
||||||
@ -93,7 +93,9 @@ func (g *Game) Parse(cmd *Command) *CommandResult {
|
|||||||
debug_res = nil
|
debug_res = nil
|
||||||
res_type = InvalidCmd
|
res_type = InvalidCmd
|
||||||
}
|
}
|
||||||
g.StateChanges()
|
if g.Status == StatusPlaying {
|
||||||
|
g.StateChanges()
|
||||||
|
}
|
||||||
return &CommandResult{
|
return &CommandResult{
|
||||||
PlayerID: cmd.PlayerID,
|
PlayerID: cmd.PlayerID,
|
||||||
ResultType: res_type,
|
ResultType: res_type,
|
||||||
@ -202,6 +204,10 @@ func (g *Game) PlayerStateAct(id int, cmd string) *GameView {
|
|||||||
if id != g.CurrentTurn {
|
if id != g.CurrentTurn {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
if g.CanDraw == true || g.QueuedEffect != nil {
|
||||||
|
log.Println("player tried to end turn while still actions available")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
g.CardBuffer = DeckFromCards([]*Card{})
|
g.CardBuffer = DeckFromCards([]*Card{})
|
||||||
for _, v := range g.GetBoard(id) {
|
for _, v := range g.GetBoard(id) {
|
||||||
OracleEndstep(v, g)
|
OracleEndstep(v, g)
|
||||||
@ -216,6 +222,9 @@ func (g *Game) PlayerStateAct(id int, cmd string) *GameView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) PlayerAct(id int, cmd string) *Deck {
|
func (g *Game) PlayerAct(id int, cmd string) *Deck {
|
||||||
|
if g.Status != StatusLobby {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
if id != g.CurrentTurn {
|
if id != g.CurrentTurn {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
14
oracle.go
14
oracle.go
@ -84,10 +84,10 @@ func OracleEnters(c *Card, g *Game) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case Ally:
|
case Ally:
|
||||||
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 2, 1, true}
|
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 1, 1, true}
|
||||||
g.TargetReq = TargetOwn
|
g.TargetReq = TargetOwn
|
||||||
case Enemy:
|
case Enemy:
|
||||||
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 2, -1, true}
|
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 1, -1, true}
|
||||||
g.TargetReq = TargetOpp
|
g.TargetReq = TargetOpp
|
||||||
case Chupacabra:
|
case Chupacabra:
|
||||||
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 4, 0, true}
|
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 4, 0, true}
|
||||||
@ -96,7 +96,7 @@ func OracleEnters(c *Card, g *Game) {
|
|||||||
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 6, 1, true}
|
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 6, 1, true}
|
||||||
g.TargetReq = TargetOwn
|
g.TargetReq = TargetOwn
|
||||||
case Vanguard:
|
case Vanguard:
|
||||||
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 7, 1, true}
|
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 5, 1, true}
|
||||||
g.TargetReq = TargetOwn
|
g.TargetReq = TargetOwn
|
||||||
case Elephant:
|
case Elephant:
|
||||||
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 9, 0, false}
|
g.QueuedEffect = &Effect{c.Id, uuid.Nil, 9, 0, false}
|
||||||
@ -181,15 +181,15 @@ func OracleEndstep(c *Card, g *Game) {
|
|||||||
func OraclePower(c CardType, g *Game) int {
|
func OraclePower(c CardType, g *Game) int {
|
||||||
//this is horrible
|
//this is horrible
|
||||||
switch c {
|
switch c {
|
||||||
case Dud, Clog:
|
case Dud, Clog, Valk:
|
||||||
return 0
|
return 0
|
||||||
case Speedster, HealthPotion, Tree, Goblin, GoblinSpawn, Chupacabra:
|
case Speedster, HealthPotion, Tree, Goblin, GoblinSpawn, Chupacabra:
|
||||||
return 1
|
return 1
|
||||||
case Commander, Ally:
|
case Commander, Ally, Enemy:
|
||||||
return 2
|
return 2
|
||||||
case Paladin, Duelist:
|
case Paladin, Duelist, Bureaucrat:
|
||||||
return 3
|
return 3
|
||||||
case Scholar, Vanguard:
|
case Scholar, Vanguard, Student, Librarian:
|
||||||
return 4
|
return 4
|
||||||
case Warrior, Elephant:
|
case Warrior, Elephant:
|
||||||
return 5
|
return 5
|
||||||
|
Loading…
Reference in New Issue
Block a user