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 }