Execute aggregate cargo packed event conditions

This commit is contained in:
Jan Petykiewicz 2026-04-16 15:26:37 -07:00
commit 377de45631
18 changed files with 1036 additions and 176 deletions

View file

@ -7,7 +7,7 @@
"original_save_sha256": "world-scalar-condition-sample-sha256",
"notes": [
"tracked as JSON save-slice document rather than raw .smp",
"uses checked-in RT3.lng condition ids for named locomotive availability, named locomotive cost, named cargo-production slot, aggregate cargo production, limited track building amount, and access rights cost"
"uses checked-in RT3.lng condition ids for named locomotive availability, named locomotive cost, named cargo-production slot, aggregate cargo production, factory production, farm/mine production, other cargo production, limited track building amount, and access rights cost"
]
},
"save_slice": {
@ -26,17 +26,17 @@
"root_offset": 4071,
"observed_entry_count": 11,
"entries": [
{ "slot_id": 1, "label": "Cargo Production Slot 1", "book_index": 0, "max_annual_production_word": 0, "mode_word": 1114112, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 2, "label": "Cargo Production Slot 2", "book_index": 1, "max_annual_production_word": 0, "mode_word": 720896, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 3, "label": "Cargo Production Slot 3", "book_index": 2, "max_annual_production_word": 0, "mode_word": 720896, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 4, "label": "Cargo Production Slot 4", "book_index": 3, "max_annual_production_word": 0, "mode_word": 1245184, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 5, "label": "Cargo Production Slot 5", "book_index": 4, "max_annual_production_word": 0, "mode_word": 1572864, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 6, "label": "Cargo Production Slot 6", "book_index": 5, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 7, "label": "Cargo Production Slot 7", "book_index": 6, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 8, "label": "Cargo Production Slot 8", "book_index": 7, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 9, "label": "Cargo Production Slot 9", "book_index": 8, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 10, "label": "Cargo Production Slot 10", "book_index": 9, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 11, "label": "Cargo Production Slot 11", "book_index": 10, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null }
{ "slot_id": 1, "label": "Cargo Production Slot 1", "cargo_class": "factory", "book_index": 0, "max_annual_production_word": 0, "mode_word": 1114112, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 2, "label": "Cargo Production Slot 2", "cargo_class": "factory", "book_index": 1, "max_annual_production_word": 0, "mode_word": 720896, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 3, "label": "Cargo Production Slot 3", "cargo_class": "factory", "book_index": 2, "max_annual_production_word": 0, "mode_word": 720896, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 4, "label": "Cargo Production Slot 4", "cargo_class": "factory", "book_index": 3, "max_annual_production_word": 0, "mode_word": 1245184, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 5, "label": "Cargo Production Slot 5", "cargo_class": "farm_mine", "book_index": 4, "max_annual_production_word": 0, "mode_word": 1572864, "runtime_import_branch_kind": "nonzero-supply-branch", "annual_amount_word": 0, "supplied_cargo_token_word": 16544, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 6, "label": "Cargo Production Slot 6", "cargo_class": "farm_mine", "book_index": 5, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 7, "label": "Cargo Production Slot 7", "cargo_class": "farm_mine", "book_index": 6, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 8, "label": "Cargo Production Slot 8", "cargo_class": "farm_mine", "book_index": 7, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 9, "label": "Cargo Production Slot 9", "cargo_class": "other", "book_index": 8, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 10, "label": "Cargo Production Slot 10", "cargo_class": "other", "book_index": 9, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null },
{ "slot_id": 11, "label": "Cargo Production Slot 11", "cargo_class": "other", "book_index": 10, "max_annual_production_word": 0, "mode_word": 0, "runtime_import_branch_kind": "zero-mode-skipped", "annual_amount_word": 0, "supplied_cargo_token_word": 0, "supplied_cargo_token_probable_high16_ascii_stem": null, "demanded_cargo_token_word": 0, "demanded_cargo_token_probable_high16_ascii_stem": null }
]
},
"special_conditions_table": null,
@ -81,7 +81,7 @@
"standalone_condition_row_count": 0,
"standalone_condition_rows": [],
"negative_sentinel_scope": null,
"grouped_effect_row_counts": [5, 0, 0, 0],
"grouped_effect_row_counts": [7, 0, 0, 0],
"grouped_effect_rows": [
{
"group_index": 0,
@ -150,7 +150,7 @@
"semantic_family": "scalar_assignment",
"semantic_preview": "Set Cargo Production Slot 1 to 125",
"recovered_cargo_slot": 1,
"recovered_cargo_class": null,
"recovered_cargo_class": "factory",
"recovered_locomotive_id": null,
"locomotive_name": null,
"notes": []
@ -158,6 +158,54 @@
{
"group_index": 0,
"row_index": 3,
"descriptor_id": 234,
"descriptor_label": "Cargo Production Slot 5",
"target_mask_bits": 8,
"parameter_family": "cargo_production_scalar",
"opcode": 3,
"raw_scalar_value": 75,
"value_byte_0x09": 0,
"value_dword_0x0d": 0,
"value_byte_0x11": 0,
"value_byte_0x12": 0,
"value_word_0x14": 0,
"value_word_0x16": 0,
"row_shape": "scalar_assignment",
"semantic_family": "scalar_assignment",
"semantic_preview": "Set Cargo Production Slot 5 to 75",
"recovered_cargo_slot": 5,
"recovered_cargo_class": "farm_mine",
"recovered_locomotive_id": null,
"locomotive_name": null,
"notes": []
},
{
"group_index": 0,
"row_index": 4,
"descriptor_id": 238,
"descriptor_label": "Cargo Production Slot 9",
"target_mask_bits": 8,
"parameter_family": "cargo_production_scalar",
"opcode": 3,
"raw_scalar_value": 30,
"value_byte_0x09": 0,
"value_dword_0x0d": 0,
"value_byte_0x11": 0,
"value_byte_0x12": 0,
"value_word_0x14": 0,
"value_word_0x16": 0,
"row_shape": "scalar_assignment",
"semantic_family": "scalar_assignment",
"semantic_preview": "Set Cargo Production Slot 9 to 30",
"recovered_cargo_slot": 9,
"recovered_cargo_class": "other",
"recovered_locomotive_id": null,
"locomotive_name": null,
"notes": []
},
{
"group_index": 0,
"row_index": 5,
"descriptor_id": 122,
"descriptor_label": "Limited Track Building Amount",
"target_mask_bits": 8,
@ -179,7 +227,7 @@
},
{
"group_index": 0,
"row_index": 4,
"row_index": 6,
"descriptor_id": 453,
"descriptor_label": "Territory Access Cost",
"target_mask_bits": 8,
@ -217,6 +265,16 @@
"slot": 1,
"value": 125
},
{
"kind": "set_cargo_production_slot",
"slot": 5,
"value": 75
},
{
"kind": "set_cargo_production_slot",
"slot": 9,
"value": 30
},
{
"kind": "set_limited_track_building_amount",
"value": 18
@ -253,7 +311,7 @@
"grouped_territory_selectors_0x80f": [-1, -1, -1, -1]
},
"text_bands": [],
"standalone_condition_row_count": 6,
"standalone_condition_row_count": 9,
"standalone_condition_rows": [
{
"row_index": 0,
@ -296,7 +354,7 @@
"semantic_family": "world_scalar_threshold",
"semantic_preview": "Test Cargo Production: Cargo Production Slot 1 == 125",
"recovered_cargo_slot": 1,
"recovered_cargo_class": null,
"recovered_cargo_class": "factory",
"requires_candidate_name_binding": false,
"notes": [
"checked-in world-scalar condition metadata sample"
@ -311,7 +369,7 @@
"comparator": "eq",
"metric": "Cargo Production Total",
"semantic_family": "world_scalar_threshold",
"semantic_preview": "Test Cargo Production Total == 125",
"semantic_preview": "Test Cargo Production Total == 230",
"requires_candidate_name_binding": false,
"notes": [
"checked-in world-scalar condition metadata sample"
@ -319,6 +377,54 @@
},
{
"row_index": 4,
"raw_condition_id": 2419,
"subtype": 4,
"flag_bytes": [125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
"candidate_name": null,
"comparator": "eq",
"metric": "Factory Production Total",
"semantic_family": "world_scalar_threshold",
"semantic_preview": "Test Factory Production Total == 125",
"recovered_cargo_class": "factory",
"requires_candidate_name_binding": false,
"notes": [
"checked-in world-scalar condition metadata sample"
]
},
{
"row_index": 5,
"raw_condition_id": 2420,
"subtype": 4,
"flag_bytes": [75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
"candidate_name": null,
"comparator": "eq",
"metric": "Farm/Mine Production Total",
"semantic_family": "world_scalar_threshold",
"semantic_preview": "Test Farm/Mine Production Total == 75",
"recovered_cargo_class": "farm_mine",
"requires_candidate_name_binding": false,
"notes": [
"checked-in world-scalar condition metadata sample"
]
},
{
"row_index": 6,
"raw_condition_id": 2421,
"subtype": 4,
"flag_bytes": [30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
"candidate_name": null,
"comparator": "eq",
"metric": "Other Cargo Production Total",
"semantic_family": "world_scalar_threshold",
"semantic_preview": "Test Other Cargo Production Total == 30",
"recovered_cargo_class": "other",
"requires_candidate_name_binding": false,
"notes": [
"checked-in world-scalar condition metadata sample"
]
},
{
"row_index": 7,
"raw_condition_id": 2547,
"subtype": 4,
"flag_bytes": [18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@ -333,7 +439,7 @@
]
},
{
"row_index": 5,
"row_index": 8,
"raw_condition_id": 1516,
"subtype": 4,
"flag_bytes": [176, 113, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@ -397,8 +503,23 @@
{
"kind": "cargo_production_total_threshold",
"comparator": "eq",
"value": 230
},
{
"kind": "factory_production_total_threshold",
"comparator": "eq",
"value": 125
},
{
"kind": "farm_mine_production_total_threshold",
"comparator": "eq",
"value": 75
},
{
"kind": "other_cargo_production_total_threshold",
"comparator": "eq",
"value": 30
},
{
"kind": "limited_track_building_amount_threshold",
"comparator": "eq",
@ -419,7 +540,7 @@
],
"executable_import_ready": true,
"notes": [
"world-scalar conditions gate a whole-game effect, including a checked-in named cargo-production slot threshold"
"world-scalar conditions gate a whole-game effect, including checked-in aggregate cargo-class thresholds"
]
}
]