package pxd.proto

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Account

account.proto:27

* General data associated to an account.

message ArmourRepair

ongoing.proto:44

* Data representing an "armour repair" operation in progress.

Used in: OngoingOperation

(message has no fields)

message Attack

combat.proto:93

* An attack that a character or building has. This data is either hardcoded (for buildings) or derived from other stuff (like equipped weapons). But it is stored in the current form in the game state as a sort of "cache" while processing combat in each round. (It only needs to be updated when an explicit action is done by the owner of a character.)

Used in: CombatData, FitmentData

message Attack.Damage

combat.proto:116

* Data about the damage a particular attack does.

Used in: Attack, SelfDestruct

message BlueprintCopy

ongoing.proto:57

* Data about an ongoing blueprint copy operation. While a blueprint is being copied, it is "removed" from the main inventory, and only given back together with the copy when the operation is done.

Used in: OngoingOperation

message BlueprintData

config.proto:69

* Specific data for blueprint items defining the modalities for constructing stuff from it.

Used in: ItemData

message Building

building.proto:48

* The state of one building on the map. (There is additional data stored for it directly in the database, as well as extra data stored in other database tables like inventories or trade orders.)

message Building.AgeData

building.proto:106

* Data about the building age, i.e. the block heights when it was founded and finished.

Used in: Building

message Building.Config

building.proto:80

* Configuration data for a building, which can be changed by the building's owner at will.

Used in: Building, BuildingConfigUpdate

message BuildingConfigUpdate

ongoing.proto:131

* An operation for changing the owner-configurable building data. This is delayed to prevent frontrunning. At the end of the ongoing operation, the data will be updated in the building itself.

Used in: OngoingOperation

message BuildingConstruction

ongoing.proto:117

* An operation to finish building construction (i.e. upgrade it from a foundation to the full building).

Used in: OngoingOperation

(message has no fields)

message BuildingData

config.proto:284

* Hardcoded data defining a type of building.

Used in: ConfigData

message BuildingData.AllCombatData

config.proto:304

* Combination of combat and regen data for a building or the foundation.

Used in: BuildingData

message BuildingData.ConstructionData

config.proto:323

* Required resources and other data for constructing the building.

Used in: BuildingData

message BuildingData.Services

config.proto:358

* The set of services offered by a building. Since "false" is the default value for a boolean field, only those services that are offered need to be listed in the actual config data.

Used in: BuildingData

message BurnsaleStage

config.proto:517

* A stage in the burnsale schedule.

Used in: Params

message Character

character.proto:78

* The state of one character in the game. Note that this does not include data fields that are stored directly in database columns, namely those on which the database keeps indices.

message CombatData

combat.proto:241

* All data related to combat that a fighter entity (character or building) has. This only includes basic properties of the fighter and not more dynamic data like the current target or the current HP, nor specific data that is frequently accessed like HP regeneration.

Used in: Building, BuildingData.AllCombatData, Character, VehicleData

message CombatEffects

combat.proto:61

* Modifications done to a combat entity's stats due to attacks (e.g. slowing or range reduction).

Used in: Attack

message ConfigData

config.proto:625

* The hardcoded "configuration data" for Taurion. This includes all data that describes read-only aspects of the game, like known item or vehicle types and stats for them. An instance of this proto is populated from text format encoded in roconfig/<files>.pb.text and made available to all parts of the code.

message FitmentData

config.proto:151

* Data specific about items that are fitments.

Used in: ItemData

message HP

combat.proto:199

* Small utility message to hold stats about HP (both the permanent armour-based ones and the regenerating shield).

Used in: RegenData

message HexCoord

geometry.proto:28

* A coordinate on the hexagonal map. The coordinates are encoded in the "axial" format, as used everywhere in the backend as well.

Used in: BuildingData, InitialBuilding, Movement, ResourceDistribution.Area, SafeZone

message InitialBuilding

config.proto:446

* Data for a building that is initially on the map. All of them are ancient and indestructible.

Used in: ConfigData

message Inventory

inventory.proto:29

* Data about loot "somewhere". This can be the inventory of a character, it can be the assets of an account in a building, and it can be the loot on the ground at a certain coordinate.

Used in: Building

message ItemConstruction

ongoing.proto:87

* Data about an ongoing item or vehicle construction. If it is based on an original blueprint, then the blueprint will be taken away temporarily and given back together with the constructed items. Blueprint copies and resources required for the construction are always just removed when the operation starts (and thus not related to the operation state). Construction from an original produces the items "in series", which means that we schedule an update for each single item finished and give them out one after the other while the operation is still going on. If constructing from blueprint copies, all of them are done in parallel, and just one update is done after the construction time and all items are given out at once.

Used in: OngoingOperation

message ItemData

config.proto:222

* Hardcoded data defining a type of fungible item.

Used in: ConfigData

message LowHpBoost

combat.proto:181

* Stats for a boost to combat stats that is in effect when a character has low armour HP (i.e. "final breath" attack).

Used in: CombatData, FitmentData

message MiningData

character.proto:31

* Data about the mining state of a character.

Used in: Character

message MiningData.Speed

character.proto:38

* Stats about the speed for mining (which is random based on a distribution from these parameters).

Used in: MiningData, VehicleData

message MobileRefinery

character.proto:60

* Data about mobile refining capabilities of a character.

Used in: Character, FitmentData

message Movement

movement.proto:31

* An "active" movement of a character. Movement is specified by a list of waypoints, which will be visited in order and have to be apart only by principal directions.

Used in: Character

message OngoingOperation

ongoing.proto:142

* Data about an ongoing operation.

message OngoingProspection

ongoing.proto:29

* Data representing an on-going prospection by a character.

Used in: OngoingOperation

(message has no fields)

message Params

config.proto:531

* Basic parameters of the game.

Used in: ConfigData

message PrizeData

config.proto:88

* Specific data for prize items.

There is no specific data we need to define for prize items, this is just a placeholder to mark them as prizes.

Used in: ItemData

(message has no fields)

message ProspectingPrize

config.proto:497

* Definition of the configuration for one prospecting prize.

Used in: Params

message ProspectionData

region.proto:27

* Data about the prospecting outcome of a region.

Used in: RegionData

message RefiningData

config.proto:48

* Data about the ability to refine items of this type to other item types (i.e. raw materials into refined resources).

Used in: ItemData

message RegenData

combat.proto:224

* Data relevant for HP regeneration. This is split out from the main combat data, because it needs to be accessed for every fighter all the time to figure out if they need regeneration.

Used in: BuildingData.AllCombatData, VehicleData

message RegionData

region.proto:55

* All data stored about a particular region on the map.

message ResourceDistribution

config.proto:388

* Data for the resource distribution on the map (when prospecting). This is based on multiple "areas" where one or two resources occur. Each area has a central x/y coordinate. Then within a core L1 radius around this area, those resources appear with "full chance". Towards an outer radius, the chance falls off to zero linearly. If multiple areas overlap (or there are two resources in one), then we pick between them based on their chances as weights. The radii themselves are just constants in the source code. The proto data in this message holds the more complex things, like the list of areas and also how the ores correspond to artefacts.

Used in: ConfigData

message ResourceDistribution.Area

config.proto:394

* One area where resources can be found.

Used in: ResourceDistribution

message ResourceDistribution.PossibleArtefacts

config.proto:412

* Data specifying the artefacts found together with a particular ore in a region.

Used in: ResourceDistribution

message ResourceDistribution.PossibleArtefacts.Entry

config.proto:418

* Entry for one artefact with its chance of finding it.

Used in: PossibleArtefacts

message RevEngData

config.proto:97

* Data about the ability to reverse-engineer an item to obtain blueprints.

Used in: ItemData

message SafeZone

config.proto:464

* Data for a safe zone. They represent both the general no-combat zones as well as the faction-specific starter areas.

Used in: ConfigData

message SelfDestruct

combat.proto:166

* Stats for the self-destruct ability of an entity (when the entity is destroyed, AoE damage is dealt to enemies in range).

Used in: CombatData, FitmentData

message ShapeTransformation

building.proto:32

* A geometrical transformation applied to the building's shape (e.g. for rotating it on the map). This does not include the shift of all tiles to the building's centre.

Used in: Building, InitialBuilding

message SpawnArea

config.proto:486

* Definition of a spawn location.

Used in: Params

message StatModifier

modifier.proto:28

* General modification something can give to an existing numerical value, e.g. an increase to a vehicle speed or combat damage.

Used in: CombatData, CombatEffects, FitmentData, LowHpBoost, MobileRefinery

message TargetId

combat.proto:30

* Identifier for a target of attacks. This can be either a character (in a vehicle on the map) or a building.

enum TargetId.Type

combat.proto:37

* Different types of target. The type determines where the data is stored in the database and how it is accessed.

Used in: TargetId

message VehicleData

config.proto:114

* Data specific about items that are vehicles.

Used in: ItemData

enum VehicleSize

config.proto:35

* Size of a vehicle.

Used in: FitmentData, VehicleData

message VolatileMovement

movement.proto:57

* Additional data for movement, which is stored separately in the database and not as part of the broader "character proto". This is the data that is expected to change frequently, e.g. potentially on every turn without explicit moves being sent by the player.