Initial outline of a Ship
This commit is contained in:
@@ -35,6 +35,8 @@ type Ordoor struct {
|
||||
music *audio.Player
|
||||
win *ui.Window
|
||||
|
||||
ship *Ship
|
||||
|
||||
state gameState
|
||||
nextState gameState
|
||||
|
||||
|
70
internal/ordoor/ship.go
Normal file
70
internal/ordoor/ship.go
Normal file
@@ -0,0 +1,70 @@
|
||||
package ordoor
|
||||
|
||||
// Ship encapsulates campaign state, including current location in the campaign,
|
||||
// marines and their stats, supplies, etc.
|
||||
type Ship struct {
|
||||
CurrentMission 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
|
||||
}
|
Reference in New Issue
Block a user