fbs: order
This commit is contained in:
+176
-23
@@ -1,47 +1,200 @@
|
||||
namespace order;
|
||||
|
||||
enum Relation : byte { War = 0, Peace = 1 }
|
||||
enum Relation : byte {
|
||||
UNKNOWN = 0,
|
||||
WAR = 1,
|
||||
PEACE = 2
|
||||
}
|
||||
|
||||
enum ShipGroupCargo : byte {
|
||||
UNKNOWN = 0,
|
||||
COL = 1,
|
||||
MAT = 2,
|
||||
CAP = 3
|
||||
}
|
||||
|
||||
enum ShipGroupUpgradeTech : byte {
|
||||
UNKNOWN = 0,
|
||||
ALL = 1,
|
||||
DRIVE = 2,
|
||||
WEAPONS = 3,
|
||||
SHIELDS = 4,
|
||||
CARGO = 5
|
||||
}
|
||||
|
||||
enum PlanetProduction : byte {
|
||||
UNKNOWN = 0,
|
||||
MAT = 1,
|
||||
CAP = 2,
|
||||
DRIVE = 3,
|
||||
WEAPONS = 4,
|
||||
SHIELDS = 5,
|
||||
CARGO = 6,
|
||||
SCIENCE = 7,
|
||||
SHIP = 8
|
||||
}
|
||||
|
||||
enum PlanetRouteLoadType : byte {
|
||||
UNKNOWN = 0,
|
||||
MAT = 1,
|
||||
CAP = 2,
|
||||
COL = 3,
|
||||
EMP = 4
|
||||
}
|
||||
|
||||
table CommandRaceQuit {}
|
||||
|
||||
table CommandRaceVote {
|
||||
for: string;
|
||||
acceptor: string;
|
||||
}
|
||||
|
||||
table CommandRaceRelation {
|
||||
relation: Relation;
|
||||
for: string;
|
||||
acceptor: string;
|
||||
relation: Relation = UNKNOWN;
|
||||
}
|
||||
|
||||
table CommandShipClassCreate {
|
||||
drive: float32;
|
||||
weapons: float32;
|
||||
shields: float32;
|
||||
cargo: float32;
|
||||
armament: uint16;
|
||||
name: string;
|
||||
name: string;
|
||||
drive: float64;
|
||||
armament: int64;
|
||||
weapons: float64;
|
||||
shields: float64;
|
||||
cargo: float64;
|
||||
}
|
||||
|
||||
union Commands {
|
||||
CommandRaceQuit,
|
||||
CommandRaceVote,
|
||||
CommandRaceRelation,
|
||||
CommandShipClassCreate
|
||||
table CommandShipClassMerge {
|
||||
name: string;
|
||||
target: string;
|
||||
}
|
||||
|
||||
struct uuid {
|
||||
high: int64;
|
||||
low: int64;
|
||||
table CommandShipClassRemove {
|
||||
name: string;
|
||||
}
|
||||
|
||||
table CommandShipGroupBreak {
|
||||
id: string;
|
||||
new_id: string;
|
||||
quantity: int64;
|
||||
}
|
||||
|
||||
table CommandShipGroupLoad {
|
||||
id: string;
|
||||
cargo: ShipGroupCargo = UNKNOWN;
|
||||
quantity: float64;
|
||||
}
|
||||
|
||||
table CommandShipGroupUnload {
|
||||
id: string;
|
||||
quantity: float64;
|
||||
}
|
||||
|
||||
table CommandShipGroupSend {
|
||||
id: string;
|
||||
destination: int64;
|
||||
}
|
||||
|
||||
table CommandShipGroupUpgrade {
|
||||
id: string;
|
||||
tech: ShipGroupUpgradeTech = UNKNOWN;
|
||||
level: float64;
|
||||
}
|
||||
|
||||
table CommandShipGroupMerge {}
|
||||
|
||||
table CommandShipGroupDismantle {
|
||||
id: string;
|
||||
}
|
||||
|
||||
table CommandShipGroupTransfer {
|
||||
id: string;
|
||||
acceptor: string;
|
||||
}
|
||||
|
||||
table CommandShipGroupJoinFleet {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
table CommandFleetMerge {
|
||||
name: string;
|
||||
target: string;
|
||||
}
|
||||
|
||||
table CommandFleetSend {
|
||||
name: string;
|
||||
destination: int64;
|
||||
}
|
||||
|
||||
table CommandScienceCreate {
|
||||
name: string;
|
||||
drive: float64;
|
||||
weapons: float64;
|
||||
shields: float64;
|
||||
cargo: float64;
|
||||
}
|
||||
|
||||
table CommandScienceRemove {
|
||||
name: string;
|
||||
}
|
||||
|
||||
table CommandPlanetRename {
|
||||
number: int64;
|
||||
name: string;
|
||||
}
|
||||
|
||||
table CommandPlanetProduce {
|
||||
number: int64;
|
||||
production: PlanetProduction = UNKNOWN;
|
||||
subject: string;
|
||||
}
|
||||
|
||||
table CommandPlanetRouteSet {
|
||||
origin: int64;
|
||||
destination: int64;
|
||||
load_type: PlanetRouteLoadType = UNKNOWN;
|
||||
}
|
||||
|
||||
table CommandPlanetRouteRemove {
|
||||
origin: int64;
|
||||
load_type: PlanetRouteLoadType = UNKNOWN;
|
||||
}
|
||||
|
||||
union CommandPayload {
|
||||
CommandRaceQuit,
|
||||
CommandRaceVote,
|
||||
CommandRaceRelation,
|
||||
CommandShipClassCreate,
|
||||
CommandShipClassMerge,
|
||||
CommandShipClassRemove,
|
||||
CommandShipGroupBreak,
|
||||
CommandShipGroupLoad,
|
||||
CommandShipGroupUnload,
|
||||
CommandShipGroupSend,
|
||||
CommandShipGroupUpgrade,
|
||||
CommandShipGroupMerge,
|
||||
CommandShipGroupDismantle,
|
||||
CommandShipGroupTransfer,
|
||||
CommandShipGroupJoinFleet,
|
||||
CommandFleetMerge,
|
||||
CommandFleetSend,
|
||||
CommandScienceCreate,
|
||||
CommandScienceRemove,
|
||||
CommandPlanetRename,
|
||||
CommandPlanetProduce,
|
||||
CommandPlanetRouteSet,
|
||||
CommandPlanetRouteRemove
|
||||
}
|
||||
|
||||
table CommandItem {
|
||||
id: uuid;
|
||||
command: Commands;
|
||||
cmd_id: string;
|
||||
cmd_applied: bool = null;
|
||||
cmd_error_code: int64 = null;
|
||||
payload: CommandPayload (required);
|
||||
}
|
||||
|
||||
table Order {
|
||||
updated_at: uint64; // utc timestamp
|
||||
commands: [CommandItem];
|
||||
updated_at: int64;
|
||||
commands: [CommandItem];
|
||||
}
|
||||
|
||||
root_type Order;
|
||||
root_type Order;
|
||||
|
||||
Reference in New Issue
Block a user