KoboldSim/koboldsim/setup.go
Rakeela e0dad09045 Refactor, new menu, issue feature update
It's now possible to make issue options enabled or disabled conditional upon having taken other actions with that issue before.
2023-04-04 13:22:43 -07:00

49 lines
1.2 KiB
Go

package koboldsim
import (
"strings"
"git.chromaticdragon.app/kistaro/CardSimEngine/cardsim"
)
func InitPlayer() *Player {
p := cardsim.InitPlayer(NewKoboldMine())
p.Name = RandomKoboldName()
initDeck(p.Deck)
initRules(p.Rules)
p.HandLimit = 3
p.InfoPanels = []InfoPanel{
&cardsim.BasicStatsPanel[*KoboldMine]{
Name: cardsim.MsgStr("All Stats"),
Intro: cardsim.MsgStr("All available statistics."),
},
&cardsim.BasicStatsPanel[*KoboldMine]{
Name: cardsim.MsgStr("Per Capita Economic"),
Intro: cardsim.MsgStr("Yield and Investment per Capita"),
Filter: cardsim.All(
cardsim.VisibleOrDebug[*KoboldMine],
func(p *Player, s cardsim.Stat) bool {
return strings.Contains(s.StatName(), "Productivity") || strings.Contains(s.StatName(), "Investment")
},
),
},
}
p.Prompt = &cardsim.BasicStatsPanel[*KoboldMine]{
Name: cardsim.MsgStr("The Kobold Mine"),
Intro: cardsim.MsgStr("We await your command, Overlord."),
Filter: cardsim.VisibleOrDebugStatsNamed[*KoboldMine](
"Kobolds",
"Total Sector Income",
"Total Government Expense",
"Tax Rate",
),
}
p.State = cardsim.GameActive
p.DebugLevel = 5
return p
}
func initRules(*cardsim.RuleCollection[*KoboldMine]) {
// TODO: move to rules.go, add rules
}