// report reflects model/report/BattleReport data object namespace battle; struct UUID { hi:uint64; lo:uint64; } table RaceEntry { key:int64; value:UUID (required); } table TechEntry { key:string; value:float32; } table BattleReportGroup { in_battle:bool; number:uint64; number_left:uint64; load_quantity:float32; tech:[TechEntry]; race:string; class_name:string; load_type:string; } table ShipEntry { key:int64; value:BattleReportGroup; } table BattleActionReport { attacker:int64; attacker_ship_class:int64; defender:int64; defender_ship_class:int64; destroyed:bool; } table BattleReport { id:UUID (required); planet:uint64; planet_name:string; races:[RaceEntry]; ships:[ShipEntry]; protocol:[BattleActionReport]; } root_type BattleReport;