Now we can view scenario maps from the main game interface. We can't cancel out of a scenario yet, though.
71 lines
1.3 KiB
Go
71 lines
1.3 KiB
Go
package ship
|
|
|
|
// Ship encapsulates campaign state, including current location in the campaign,
|
|
// marines and their stats, supplies, etc.
|
|
type Ship struct {
|
|
NextScenario string
|
|
|
|
Squads []*Squad
|
|
Captain *Character
|
|
Chaplain *Character
|
|
Apothecary *Character
|
|
Techmarines [2]*Character
|
|
Librarians [4]*Character
|
|
}
|
|
|
|
type SquadType int
|
|
type CharacterType int
|
|
|
|
const (
|
|
SquadTypeTactical SquadType = 0
|
|
SquadTypeTerminator SquadType = 1
|
|
SquadTypeAssault SquadType = 2
|
|
SquadTypeDevastator SquadType = 3
|
|
|
|
CharTypeMarine CharacterType = 0
|
|
CharTypeCaptain CharacterType = 1
|
|
CharTypeChaplain CharacterType = 2
|
|
CharTypeApothecary CharacterType = 3
|
|
CharTypeTechmarine CharacterType = 4
|
|
CharTypeLibrarian CharacterType = 5
|
|
)
|
|
|
|
type Squad struct {
|
|
Type SquadType
|
|
|
|
Characters []*Character
|
|
}
|
|
|
|
type Character struct {
|
|
Name string
|
|
Type CharacterType
|
|
|
|
Stats
|
|
Honours
|
|
}
|
|
|
|
type Stats struct {
|
|
ActionPoints int
|
|
Health int
|
|
Armour int
|
|
BallisticSkill int
|
|
WeaponSkill int
|
|
Strength int
|
|
Toughness int
|
|
Initiative int
|
|
Attacks int
|
|
Leadership int
|
|
|
|
MissionCount int
|
|
KillCount int
|
|
|
|
Experience int
|
|
}
|
|
|
|
type Honours struct {
|
|
Marksman bool
|
|
CruxTerminatus bool
|
|
PuritySeal bool
|
|
ImperialLaurel bool
|
|
}
|