Actions

Difference between revisions of "Kit (Satellite Dish)"

From Unofficial Stationeers Wiki

m (Undo revision 22523 by Lisnaz (talk))
m
 
(28 intermediate revisions by the same user not shown)
Line 24: Line 24:
 
== Medium Satellite Dish ==
 
== Medium Satellite Dish ==
 
After "Big Changes Coming: Terrain Preview, Melting Ice, Modding, & Localization" update, Medium Satellite Dish has internal stack like Autolathe, which user can utilize it to give instructions to.
 
After "Big Changes Coming: Terrain Preview, Melting Ice, Modding, & Localization" update, Medium Satellite Dish has internal stack like Autolathe, which user can utilize it to give instructions to.
The Medium Satellite Dish currently have 256bit(32Byte) stack memory.
+
The Medium Satellite Dish currently have 256Bytes(32 Addresses) stack memory.
  
{| class="wikitable sortable" style="width:80%;"
+
<div class="overflowbugx" style="overflow-x:auto;">
 +
{| class="wikitable sortable" style="width:50%;"
 
! Op_code
 
! Op_code
 
! class="unsortable" | Name
 
! class="unsortable" | Name
Line 36: Line 37:
  
 
! rowspan="3" | 1
 
! rowspan="3" | 1
| rowspan="3" | WriteTraderData
+
| rowspan="3" | TraderInstruction.WriteTraderData
| rowspan="3" | The dish will flush out metadata(24 Bytes, in continuous of 3 addresses) to the specified starting index. E.g.: if set WRITE_INDEX to 1, then the metadata will span address 1-3. See [[#Metadata_Payloads|Payload]].
+
| rowspan="3" | The dish will write out metadata(24 Bytes, in continuous of 3 addresses) to the specified starting index. E.g.: if set WRITE_INDEX to 1, then the metadata will span address 1-3. See [[#Metadata_Payloads|Metadata Payload]]s.
 
| rowspan="3" | 0-31
 
| rowspan="3" | 0-31
 
| style="text-align:center;" | 0-7
 
| style="text-align:center;" | 0-7
Line 46: Line 47:
 
|-
 
|-
 
| style="text-align:center;" | 16-63
 
| style="text-align:center;" | 16-63
 +
| Unused
 +
|-
 +
! rowspan="3" | 2
 +
| rowspan="3" | TraderInstruction.StrongestContactIdHash
 +
| rowspan="3" | This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 1.
 +
| rowspan="3" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-39
 +
| TRADER_ID_HASH
 +
|-
 +
| style="text-align:center;" | 40-63
 +
| Unused
 +
|-
 +
! rowspan="5" | 3
 +
| rowspan="5" | TraderInstruction.StrongestContactMetaData
 +
| rowspan="5" | This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 2.
 +
| rowspan="5" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| [[#Metadata_Payloads|SHUTTLE_TYPE]].
 +
|-
 +
| style="text-align:center;" | 16-23
 +
| [[#Metadata_Payloads|CONTACT_TIER]].
 +
|-
 +
| style="text-align:center;" | 24-31
 +
| [[#Metadata_Payloads|CONTACTED]].
 +
|-
 +
| style="text-align:center;" | 32-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 4
 +
| rowspan="4" | TraderInstruction.StrongestContactSignalData
 +
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 3.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-23
 +
| WATTS_TO_RESOLVE<br/>See [[Trader#Trader_Tier |WattsToResolve]].
 +
|-
 +
| style="text-align:center;" | 24-39
 +
| LIFETIME<br/>See [[Trader#Trader_Tier|LifeTime]].
 +
|-
 +
| style="text-align:center;" | 32-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 5
 +
| rowspan="4" | TraderInstruction.WriteTraderBuyData
 +
| rowspan="4" | The dish will write out trader buy metadatas from the starting address WRITE_INDEX, and write WRITE_COUNT continuous addresses total.<br/>If an item contains child items, then it will be expaned inplace.<br/>E.g.: <BuyPayload><BuyPayload><BuyChildPayload><BuyPayload>.<br/>See [[#Buy.2FSell_Payloads|Buy/Sell Payloads]], [[#Buy.2FSell_Child_Payloads|Buy/Sell Child Payloads]].
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| WRITE_INDEX
 +
|-
 +
| style="text-align:center;" | 16-23
 +
| WRITE_COUNT
 +
|-
 +
| style="text-align:center;" | 24-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 6
 +
| rowspan="4" | TraderInstruction.WriteTraderSellData
 +
| rowspan="4" | The dish will write out trader sell metadatas from the starting address WRITE_INDEX, and write WRITE_COUNT continuous addresses total.<br/>If an item contains child items, then it will be expaned inplace.<br/>E.g.: <SellPayload><SellPayload><SellChildPayload><SellPayload>.<br/>See [[#Buy.2FSell_Payloads |Buy/Sell Payloads]], [[#Buy.2FSell_Child_Payloads|Buy/Sell Child Payloads]].
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| WRITE_INDEX
 +
|-
 +
| style="text-align:center;" | 16-23
 +
| WRITE_COUNT
 +
|-
 +
| style="text-align:center;" | 24-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 7
 +
| rowspan="4" | TraderInstruction.TraderBuyThingData
 +
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| QUANTITY
 +
|-
 +
| style="text-align:center;" | 16-47
 +
| PREFAB_HASH
 +
|-
 +
| style="text-align:center;" | 48-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 8
 +
| rowspan="4" | TraderInstruction.TraderBuyThingChildData
 +
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| QUANTITY
 +
|-
 +
| style="text-align:center;" | 16-47
 +
| PREFAB_HASH
 +
|-
 +
| style="text-align:center;" | 48-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 9
 +
| rowspan="4" | TraderInstruction.TraderBuyGasData
 +
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| QUANTITY
 +
|-
 +
| style="text-align:center;" | 16-47
 +
| GAS_TYPES_BITFLAG<br/>See [[#Gas_Type_BitFlags|Gas_Type_BitFlags]].
 +
|-
 +
| style="text-align:center;" | 48-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 10
 +
| rowspan="4" | TraderInstruction.TraderSellThingData
 +
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| QUANTITY
 +
|-
 +
| style="text-align:center;" | 16-47
 +
| PREFAB_HASH
 +
|-
 +
| style="text-align:center;" | 48-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 11
 +
| rowspan="4" | TraderInstruction.TraderSellGasData
 +
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| QUANTITY
 +
|-
 +
| style="text-align:center;" | 16-47
 +
| GAS_TYPES_BIGFLAG<br/>See [[#Gas_Type_BitFlags|Gas_Type_BitFlags]].
 +
|-
 +
| style="text-align:center;" | 48-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 12
 +
| rowspan="4" | TraderInstruction.TraderSellThingChildData
 +
| rowspan="4" | This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| QUANTITY
 +
|-
 +
| style="text-align:center;" | 16-47
 +
| PREFAB_HASH
 +
|-
 +
| style="text-align:center;" | 48-63
 +
| Unused
 +
|-
 +
! rowspan="3" | 13
 +
| rowspan="3" | TraderInstruction.FilterPrefabHashEquals
 +
| rowspan="3" | Filter Operation.<br/>User can append this OP after any TraderInstruction.Write* OP to filter writer's output.<br/>This OP's effective scope is the last Write* OP and before the next Write* OP.<br/>Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.<br/>This Filter narrows Write* OP's output to only matching PrefabHash.
 +
| rowspan="3" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-39
 +
| PREFAB_HASH
 +
|-
 +
| style="text-align:center;" | 40-63
 +
| Unused
 +
|-
 +
! rowspan="3" | 14
 +
| rowspan="3" | TraderInstruction.FilterPrefabHashNotEquals
 +
| rowspan="3" | Filter Operation.<br/>User can append this OP after any TraderInstruction.Write* OP to filter writer's output.<br/>This OP's effective scope is the last Write* OP and before the next Write* OP.<br/>Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.<br/>This Filter narrows Write* OP's output to only not matching PrefabHash.
 +
| rowspan="3" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-39
 +
| PREFAB_HASH
 +
|-
 +
| style="text-align:center;" | 40-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 15
 +
| rowspan="4" | TraderInstruction.FilterSortingClassCompare
 +
| rowspan="4" | Filter Operation.<br/>User can append this OP after any TraderInstruction.Write* OP to filter writer's output.<br/>This OP's effective scope is the last Write* OP and before the next Write* OP.<br/>Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.<br/>This Filter narrows Write* OP's output to only matching SortingClass.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| CONDITION_OPERATION<br/>0: Equals<br/>1: Greater<br/>2: Less<br/>3: Not Equals
 +
|-
 +
| style="text-align:center;" | 16-31
 +
| SORTING_CLASS<br/>See [[Sorting_Class]].
 +
|-
 +
| style="text-align:center;" | 32-63
 +
| Unused
 +
|-
 +
! rowspan="4" | 16
 +
| rowspan="4" | TraderInstruction.FilterQuantityCompare
 +
| rowspan="4" | Filter Operation.<br/>User can append this OP after any TraderInstruction.Write* OP to filter writer's output.<br/>This OP's effective scope is the last Write* OP and before the next Write* OP.<br/>Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.<br/>This Filter narrows Write* OP's output to only matching Quantity Condition.
 +
| rowspan="4" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-15
 +
| CONDITION_OPERATION<br/>0: Equals<br/>1: Greater<br/>2: Less<br/>3: Not Equals
 +
|-
 +
| style="text-align:center;" | 16-31
 +
| QUANTITY
 +
|-
 +
| style="text-align:center;" | 32-63
 +
| Unused
 +
|-
 +
! rowspan="3" | 17
 +
| rowspan="3" | TraderInstruction.FilterGasContains
 +
| rowspan="3" | Filter Operation.<br/>User can append this OP after any TraderInstruction.Write* OP to filter writer's output.<br/>This OP's effective scope is the last Write* OP and before the next Write* OP.<br/>Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.<br/>This Filter narrows Write* OP's output to only matching Gases.
 +
| rowspan="3" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-39
 +
| GAS_TYPES_BITFLAG<br/>See [[#Gas_Type_BitFlags|Gas_Type_BitFlags]].
 +
|-
 +
| style="text-align:center;" | 40-63
 +
| Unused
 +
|-
 +
! rowspan="3" | 18
 +
| rowspan="3" | TraderInstruction.FilterGasNotContains
 +
| rowspan="3" | Filter Operation.<br/>User can append this OP after any TraderInstruction.Write* OP to filter writer's output.<br/>This OP's effective scope is the last Write* OP and before the next Write* OP.<br/>Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.<br/>This Filter narrows Write* OP's output to only not matching Gases.
 +
| rowspan="3" | 0-31
 +
| style="text-align:center;" | 0-7
 +
| Op_code
 +
|-
 +
| style="text-align:center;" | 8-39
 +
| GAS_TYPES_BITFLAG<br/>See [[#Gas_Type_BitFlags|Gas_Type_BitFlags]].
 +
|-
 +
| style="text-align:center;" | 40-63
 
| Unused
 
| Unused
 
|}
 
|}
 +
</div>
  
 
=== Metadata Payloads ===
 
=== Metadata Payloads ===
 +
 +
Since Metadata has 3 addresses, so it's referenced here as a 24 bytes(192 bits) payload.
 +
 +
<div class="overflowbugx" style="overflow-x:auto;">
 
{| class="wikitable" style="width:80%;"
 
{| class="wikitable" style="width:80%;"
 
! BitsOffset
 
! BitsOffset
| 0-23
+
| 191-168
| 24-55
+
| 167-136
| 56-95
+
| 135-128
| 96-103
+
| 127-96
| 104-151
+
| 95-88
| 152-167
+
| 87-80
| 168-183
+
| 79-72
| 184-191
+
| 71-64
 +
| 63-40
 +
| 39-16
 +
| 15-8
 +
| 7-0
 
|-
 
|-
 
! Contents
 
! Contents
 
| N/A
 
| N/A
 
| [[Trader#ContactTypeID|ContactTypeID]]
 
| [[Trader#ContactTypeID|ContactTypeID]]
| Undecrypted
+
| OpCode of TraderInstruction.StrongestContactIdHash.
| Contacted(0/1)
+
| N/A
| Undecrypted
+
| Contacted<br/>0: false<br/> 1: true
| [[Trader#Trader_Tier|LifeTime]]  
+
| Contact Tier: <br/>0: Close<br/>1: Medium<br/>2: Far
 +
| Shuttle Type: <br/>0:None<br/>1: Small(3x3)<br/>2: SmallGas(3x3)<br/>3: Medium(5x5)<br/>4: MediumGas(5x5)<br/>5: Large(6x6)<br/>6: LargeGas(6x6)<br/>7: MediumPlane(7x7, runway:15)<br/>8: LargePlane(9x9, runway:20)
 +
| OpCode of TraderInstruction.StrongestContactMetaData.
 +
| N/A
 +
| [[Trader#Trader_Tier|LifeTime]]
 
| [[Trader#Trader_Tier|WattsToResolve]]
 
| [[Trader#Trader_Tier|WattsToResolve]]
| Undecrypted
+
| OpCode of TraderInstruction.StrongestContactSignalData.
 +
|}
 +
</div>
 +
 
 +
=== Buy/Sell Payloads ===
 +
 
 +
Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.
 +
 
 +
<div class="overflowbugx" style="overflow-x:auto;">
 +
{| class="wikitable" style="width:60%;"
 +
! BitsOffset
 +
| 63-48
 +
| 47-16
 +
| 15-8
 +
| 7-0
 +
|-
 +
! Contents
 +
| N/A
 +
| PrefabHash/GasTypeBitFlag
 +
| Quantity<br/>This value is truncated so it won't be greater than 255 although the trader's Request/Stock is more than 255.
 +
| OpCode<br/>Which OpCode requested this data.
 +
|}
 +
</div>
 +
 
 +
=== Buy/Sell Child Payloads ===
 +
 
 +
Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.
 +
 
 +
<div class="overflowbugx" style="overflow-x:auto;">
 +
{| class="wikitable" style="width:60%;"
 +
! BitsOffset
 +
| 63-48
 +
| 47-16
 +
| 15-8
 +
| 7-0
 +
|-
 +
! Contents
 +
| N/A
 +
| PrefabHash/GasTypeBitFlag
 +
| ChildCount<br/>Counts how many instances of this item appeared as a child item.<br/>Beware it's not quantity, it's just a prefab type count.
 +
| OpCode<br/>If this data is requested by TraderInstruction.WriteTraderBuyData, then it's value is the OpCode of TraderInstruction.TraderBuyThingChildData.<br/>If this data is requested by TraderInstruction.WriteTraderSellData, then it's value is the OpCode of TraderInstruction.TraderSellThingChildData.
 +
|}
 +
</div>
 +
 
 +
=== Gas Type BitFlags ===
 +
 
 +
If the BitFlag equals 0, it's undefined. If the bit at specific offset is 1, it means the gas contains that component.
 +
 
 +
<div class="overflowbugx" style="overflow-x:auto;">
 +
{| class="wikitable" style="width:60%;"
 +
! BitsOffset
 +
| 16
 +
| 15
 +
| 14
 +
| 13
 +
| 12
 +
| 11
 +
| 10
 +
| 9
 +
| 8
 +
| 7
 +
| 6
 +
| 5
 +
| 4
 +
| 3
 +
| 2
 +
| 1
 +
| 0
 +
|-
 +
! Contents
 +
| PollutedWater
 +
| LiquidHydrogen
 +
| Hydrogen
 +
| LiquidNitrousOxide
 +
| LiquidPollutant
 +
| LiquidCarbonDioxide
 +
| Steam
 +
| LiquidVolatiles
 +
| LiquidOxygen
 +
| LiquidNitrogen
 +
| NitrousOxide
 +
| Water
 +
| Pollutant
 +
| Volatiles
 +
| CarbonDioxide
 +
| Nitrogen
 +
| Oxygen
 
|}
 
|}
 +
</div>
 +
 +
Special Gas:
 +
# Bit 0,1 both set to 1, which is Air.
 +
# Bit 0,3 both set to 1, which is Fuel.

Latest revision as of 21:36, 25 March 2025


Kit (Satellite Dish)
ItemKitSatelliteDish.png
Properties
Stacks Yes (10)
Recipe
Created With Electronics Printer
Cost 5g Gold, 10g Copper, 20g Steel, 5g Nickel, 10g Solder
Medium Satellite Dish
StructureSatelliteDish.png
Operation
Power Usage 200W
Construction
Placed with Kit (Satellite Dish)
Placed on Small Grid
Stage 1
Deconstruction
Deconstructed with Hand Drill
Item received Kit (Satellite Dish)

Description[edit]

The Satellite Dish is used together with a Computer fitted with a Motherboard (Communications) to allow Interstellar Communications.

The Satellite Dish must be guided by Satellite Tracking onto a signal and communications may be established once the signal strength is greater than 94%

Medium Satellite Dish[edit]

After "Big Changes Coming: Terrain Preview, Melting Ice, Modding, & Localization" update, Medium Satellite Dish has internal stack like Autolathe, which user can utilize it to give instructions to. The Medium Satellite Dish currently have 256Bytes(32 Addresses) stack memory.

Op_code Name Description Valid Address Bits Bits Description
1 TraderInstruction.WriteTraderData The dish will write out metadata(24 Bytes, in continuous of 3 addresses) to the specified starting index. E.g.: if set WRITE_INDEX to 1, then the metadata will span address 1-3. See Metadata Payloads. 0-31 0-7 Op_code
8-15 WRITE_INDEX
16-63 Unused
2 TraderInstruction.StrongestContactIdHash This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 1. 0-31 0-7 Op_code
8-39 TRADER_ID_HASH
40-63 Unused
3 TraderInstruction.StrongestContactMetaData This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 2. 0-31 0-7 Op_code
8-15 SHUTTLE_TYPE.
16-23 CONTACT_TIER.
24-31 CONTACTED.
32-63 Unused
4 TraderInstruction.StrongestContactSignalData This OpCode indicates the data generated by TraderInstruction.WriteTraderData payload segment 3. 0-31 0-7 Op_code
8-23 WATTS_TO_RESOLVE
See WattsToResolve.
24-39 LIFETIME
See LifeTime.
32-63 Unused
5 TraderInstruction.WriteTraderBuyData The dish will write out trader buy metadatas from the starting address WRITE_INDEX, and write WRITE_COUNT continuous addresses total.
If an item contains child items, then it will be expaned inplace.
E.g.: <BuyPayload><BuyPayload><BuyChildPayload><BuyPayload>.
See Buy/Sell Payloads, Buy/Sell Child Payloads.
0-31 0-7 Op_code
8-15 WRITE_INDEX
16-23 WRITE_COUNT
24-63 Unused
6 TraderInstruction.WriteTraderSellData The dish will write out trader sell metadatas from the starting address WRITE_INDEX, and write WRITE_COUNT continuous addresses total.
If an item contains child items, then it will be expaned inplace.
E.g.: <SellPayload><SellPayload><SellChildPayload><SellPayload>.
See Buy/Sell Payloads, Buy/Sell Child Payloads.
0-31 0-7 Op_code
8-15 WRITE_INDEX
16-23 WRITE_COUNT
24-63 Unused
7 TraderInstruction.TraderBuyThingData This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
8 TraderInstruction.TraderBuyThingChildData This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
9 TraderInstruction.TraderBuyGasData This OpCode indicates the data generated by TraderInstruction.WriteTraderBuyData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 GAS_TYPES_BITFLAG
See Gas_Type_BitFlags.
48-63 Unused
10 TraderInstruction.TraderSellThingData This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
11 TraderInstruction.TraderSellGasData This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 GAS_TYPES_BIGFLAG
See Gas_Type_BitFlags.
48-63 Unused
12 TraderInstruction.TraderSellThingChildData This OpCode indicates the data generated by TraderInstruction.WriteTraderSellData. 0-31 0-7 Op_code
8-15 QUANTITY
16-47 PREFAB_HASH
48-63 Unused
13 TraderInstruction.FilterPrefabHashEquals Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching PrefabHash.
0-31 0-7 Op_code
8-39 PREFAB_HASH
40-63 Unused
14 TraderInstruction.FilterPrefabHashNotEquals Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only not matching PrefabHash.
0-31 0-7 Op_code
8-39 PREFAB_HASH
40-63 Unused
15 TraderInstruction.FilterSortingClassCompare Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching SortingClass.
0-31 0-7 Op_code
8-15 CONDITION_OPERATION
0: Equals
1: Greater
2: Less
3: Not Equals
16-31 SORTING_CLASS
See Sorting_Class.
32-63 Unused
16 TraderInstruction.FilterQuantityCompare Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching Quantity Condition.
0-31 0-7 Op_code
8-15 CONDITION_OPERATION
0: Equals
1: Greater
2: Less
3: Not Equals
16-31 QUANTITY
32-63 Unused
17 TraderInstruction.FilterGasContains Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only matching Gases.
0-31 0-7 Op_code
8-39 GAS_TYPES_BITFLAG
See Gas_Type_BitFlags.
40-63 Unused
18 TraderInstruction.FilterGasNotContains Filter Operation.
User can append this OP after any TraderInstruction.Write* OP to filter writer's output.
This OP's effective scope is the last Write* OP and before the next Write* OP.
Multple filter OP can be written to the addresses after a Write* OP to group as a "AND" condition.
This Filter narrows Write* OP's output to only not matching Gases.
0-31 0-7 Op_code
8-39 GAS_TYPES_BITFLAG
See Gas_Type_BitFlags.
40-63 Unused

Metadata Payloads[edit]

Since Metadata has 3 addresses, so it's referenced here as a 24 bytes(192 bits) payload.

BitsOffset 191-168 167-136 135-128 127-96 95-88 87-80 79-72 71-64 63-40 39-16 15-8 7-0
Contents N/A ContactTypeID OpCode of TraderInstruction.StrongestContactIdHash. N/A Contacted
0: false
1: true
Contact Tier:
0: Close
1: Medium
2: Far
Shuttle Type:
0:None
1: Small(3x3)
2: SmallGas(3x3)
3: Medium(5x5)
4: MediumGas(5x5)
5: Large(6x6)
6: LargeGas(6x6)
7: MediumPlane(7x7, runway:15)
8: LargePlane(9x9, runway:20)
OpCode of TraderInstruction.StrongestContactMetaData. N/A LifeTime WattsToResolve OpCode of TraderInstruction.StrongestContactSignalData.

Buy/Sell Payloads[edit]

Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.

BitsOffset 63-48 47-16 15-8 7-0
Contents N/A PrefabHash/GasTypeBitFlag Quantity
This value is truncated so it won't be greater than 255 although the trader's Request/Stock is more than 255.
OpCode
Which OpCode requested this data.

Buy/Sell Child Payloads[edit]

Buy/Sell Payloads are 1 address each, so it's referenced here as a 8 bytes(64 bit) payload.

BitsOffset 63-48 47-16 15-8 7-0
Contents N/A PrefabHash/GasTypeBitFlag ChildCount
Counts how many instances of this item appeared as a child item.
Beware it's not quantity, it's just a prefab type count.
OpCode
If this data is requested by TraderInstruction.WriteTraderBuyData, then it's value is the OpCode of TraderInstruction.TraderBuyThingChildData.
If this data is requested by TraderInstruction.WriteTraderSellData, then it's value is the OpCode of TraderInstruction.TraderSellThingChildData.

Gas Type BitFlags[edit]

If the BitFlag equals 0, it's undefined. If the bit at specific offset is 1, it means the gas contains that component.

BitsOffset 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Contents PollutedWater LiquidHydrogen Hydrogen LiquidNitrousOxide LiquidPollutant LiquidCarbonDioxide Steam LiquidVolatiles LiquidOxygen LiquidNitrogen NitrousOxide Water Pollutant Volatiles CarbonDioxide Nitrogen Oxygen

Special Gas:

  1. Bit 0,1 both set to 1, which is Air.
  2. Bit 0,3 both set to 1, which is Fuel.