Documentation
¶
Overview ¶
Package structs contains the types required for MongoDB mapping
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Assignment ¶
type Assignment struct {
// The unique identifier of this assignment
ID int64 `bson:"_id"`
// The title of the assignment
Title string `bson:"title,omitempty"`
// A long form description of the assignment, usually contains context
Briefing string `bson:"briefing,omitempty"`
// A very short summary of the description
Description string `bson:"description,omitempty"`
// The date when the assignment will expire.
Expiration primitive.DateTime `bson:"expiration,omitempty"`
// A list of numbers, how they represent progress is unknown.
Progress []int32 `bson:"progress"`
// A list of tasks that need to be completed for this assignment
Tasks []AssignmentTask `bson:"tasks,omitempty"`
// The reward for completing the assignment
Reward AssignmentReward `bson:"reward,omitempty"`
}
Assignment represents an assignment given by Super Earth to the community. This is also known as 'Major Order's in the game.
type AssignmentReward ¶
type AssignmentReward struct {
// The type of reward (medals, super credits, ...)
Type int32
// The amount of Type that will be awarded
Amount int32
}
AssignmentReward represents the reward for completing the assignment.
type AssignmentTask ¶
type AssignmentTask struct {
// The type of task this represents
Type int32
// A list of numbers, purpose unknown
Values []int32 `bson:"values,omitempty"`
// A list of numbers, purpose unknown
ValueTypes []int32 `bson:"value_types,omitempty"`
}
AssignmentTask represents a task in an Assignment that needs to be completed to finish the assignment
type BSONLong ¶
type BSONLong uint64
BSONLong implements custom BSON marshalling for uint64.
It is required since MongoDB natively only supports signed 64-bit values (long).
func (BSONLong) MarshalBSONValue ¶
MarshalBSONValue implements bson.ValueMarshaler by converting to int64 which is natively supported by MongoDB.
type Biome ¶
type Biome struct {
Description string `bson:"description,omitempty"`
Name string `bson:"name,omitempty"`
}
Biome represents information about a biome of a planet.
type Campaign ¶
type Campaign struct {
// The unique identifier of this Campaign
ID int32 `bson:"_id"`
// The planet on which this campaign is being fought
PlanetID int32 `bson:"planet_id"`
// The type of campaign, this should be mapped onto an enum
Type int32
// Indicates how many campaigns have already been fought on this Planet
Count int32
}
Campaign represents an ongoing campaign on a planet.
type Dispatch ¶
type Dispatch struct {
// The unique identifier of this dispatch
ID int32 `bson:"_id"`
// When the dispatch was published
CreateTime primitive.DateTime `bson:"create_time,omitempty"`
// The type of dispatch, purpose unknown
Type int32
// The message this dispatch represents
Message string `bson:"message,omitempty"`
}
Dispatch represents a message from high command to the players, usually updates on the status of the war effort.
type Event ¶
type Event struct {
// The unique identifier of this event
ID int32 `bson:"_id"`
// The type of event
Type int32
// The faction that initiated the event
Faction string `bson:"faction,omitempty"`
// The maximum health of the Event at the time of snapshot
MaxHealth int64 `bson:"max_health"`
// When the event started
StartTime primitive.DateTime `bson:"start_time,omitempty"`
// When the event will end
EndTime primitive.DateTime `bson:"end_time,omitempty"`
}
Event represents an ongoing event on a Planet.
type EventSnapshot ¶
type EventSnapshot struct {
// FK ID of event
EventID int32 `bson:"event_id"`
// The health of the Event at the time of snapshot
Health int64
}
EventSnapshot contains dynamic data about a currently-ongoing event.
type Hazard ¶
type Hazard struct {
Description string `bson:"description,omitempty"`
Name string `bson:"name,omitempty"`
}
Hazard describes an environmental hazard that can be present on a Planet.
type Planet ¶
type Planet struct {
// The unique identifier ArrowHead assigned to this planet
ID int32 `bson:"_id"`
// The name of the planet, as shown in game
Name string `bson:"name,omitempty"`
// The name of the sector the planet is in, as shown in game
Sector string `bson:"sector,omitempty"`
// The coordinates of this planet on the galactic war map
Position PlanetPosition `bson:"position,omitempty"`
// A list of Index of all the planets to which this planet is connected
Waypoints []int32 `bson:"waypoints"`
// Whether or not this planet is disabled, as assigned by ArrowHead
Disabled bool `bson:"disabled"`
// The biome this planet has.
Biome Biome `bson:"biome,omitempty"`
// All Hazards that are applicable to this planet.
Hazards []Hazard `bson:"hazards"`
// The maximum health pool of this planet
MaxHealth int64 `bson:"max_health"`
// The faction that originally owned the planet
InitialOwner string `bson:"initial_owner,omitempty"`
// How much the planet regenerates per second if left alone
RegenPerSecond float64 `bson:"regen_per_second"`
}
Planet represents information of a planet from the 'WarInfo' endpoint returned by ArrowHead's API.
type PlanetPosition ¶
PlanetPosition contains the 2D-coordinates of a planet on the galaxy map
type PlanetSnapshot ¶
type PlanetSnapshot struct {
// ID of the planet this snapshot captures.
ID int32 `bson:"planet_id"`
// The current health this planet has
Health int64
// The faction that currently controls the planet
CurrentOwner string `bson:"current_owner,omitempty"`
// Information on the active event ongoing on this planet, if one is active
Event *EventSnapshot `bson:"event,omitempty"`
// A set of statistics scoped to this planet.
Statistics Statistics `bson:"statistics,omitempty"`
// A list of Index integers that this planet is currently attacking.
Attacking []int32 `bson:"attacking"`
}
PlanetSnapshot contains dynamic data about a planet currently part of this war
type Snapshot ¶
type Snapshot struct {
// The time the snapshot of the war was taken
Timestamp primitive.DateTime `bson:"_id"`
// Dynamic data about current war
WarSnapshot WarSnapshot `bson:"war,omitempty"`
// Currently active assignments
AssignmentIDs []int64 `bson:"assignment_ids"`
// Currently active campaigns
CampaignIDs []int32 `bson:"campaign_ids"`
// Currently active dispatches
DispatchIDs []int32 `bson:"dispatch_ids"`
// Dynamic data about planets
Planets []PlanetSnapshot `bson:"planets"`
// Global statistics for the current war
Statistics Statistics `bson:"statistics,omitempty"`
}
Snapshot contains the dynamic data of any metrics changing over time.
type Statistics ¶
type Statistics struct {
// The amount of missions won
MissionsWon BSONLong `bson:"missions_won"`
// The amount of missions lost
MissionsLost BSONLong `bson:"missions_lost"`
// The total amount of time spent planetside (in seconds)
MissionTime BSONLong `bson:"mission_time"`
Kills StatisticsKills `bson:"inline"`
// The total amount of bullets fired
BulletsFired BSONLong `bson:"bullets_fired"`
// The total amount of bullets hit
BulletsHit BSONLong `bson:"bullets_hit"`
// The total amount of time played (including off-planet) in seconds
TimePlayed BSONLong `bson:"time_played"`
// The amount of casualties on the side of humanity
Deaths BSONLong `bson:"deaths"`
// The amount of revives(?)
Revives BSONLong `bson:"revives"`
// The amount of friendly fire casualties
Friendlies BSONLong `bson:"friendlies"`
// The total amount of players present (at the time of the snapshot)
PlayerCount BSONLong `bson:"player_count"`
}
Statistics contains statistics of missions, kills, success rate etc.
type StatisticsKills ¶
type StatisticsKills struct {
// The total amount of bugs killed since start of the season
Terminid BSONLong `bson:"terminid_kills"`
// The total amount of automatons killed since start of the season
Automaton BSONLong `bson:"automaton_kills"`
// The total amount of Illuminate killed since start of the season
Illuminate BSONLong `bson:"illuminate_kills"`
}
StatisticsKills maps kills to enemy factions.
type War ¶
type War struct {
ID int32 `bson:"_id"`
// When this war was started
StartTime primitive.DateTime `bson:"start_time,omitempty"`
// When this war will end (or has ended)
EndTime primitive.DateTime `bson:"end_time,omitempty"`
// A list of factions currently involved in the war
Factions []string `bson:"factions,omitempty"`
}
War represents the global information of the ongoing war.
type WarSnapshot ¶
type WarSnapshot struct {
// FK ID of current war
WarID int32 `bson:"war_id"`
// A fraction used to calculate the impact of a mission on the war effort
ImpactMultiplier float64 `bson:"impact_multiplier,omitempty"`
}
WarSnapshot contains the dynamic data about a war.