Crusader_Decomp/npctrig_0A_emit.txt
2026-03-25 23:32:36 +01:00

1473 lines
34 KiB
Text

{
"schema_version": "crusader-usecode-ir-v1-poc",
"source": {
"flex_path": "USECODE/EUSECODE.FLX",
"extracted_root": "USECODE/EUSECODE_extracted",
"chunk_file": "USECODE/EUSECODE_extracted/chunks/chunk_191_table_1BA8_off_04C347_len_0003A8.bin"
},
"class": {
"entry_index": 191,
"object_index": 869,
"class_id": 867,
"class_name": "NPCTRIG",
"raw_code_base_u32": 218,
"code_base_minus_one": 217,
"conservative_event_count": 33
},
"event": {
"slot": 10,
"event_name_hint": "equip",
"raw_event_entry_word": 373,
"raw_code_offset": 1,
"derived_body_start": 218,
"derived_body_end": 591,
"derived_body_length": 373,
"repeated_template_status": ""
},
"body": {
"end_reason": "debug_symbols_then_end",
"raw_body_sha1": "98524ea452eae2723f4b27e630c33a920c16def7",
"unknown_trailing_bytes": "",
"decoded_op_count": 111,
"debug_symbol_offset": 323,
"debug_symbol_count": 5,
"field_tag_count": 0
},
"ops": [
{
"offset": 0,
"absolute_body_offset": 218,
"opcode": 90,
"mnemonic": "init",
"raw_bytes": "5a06",
"operands": {
"local_bytes": 6
}
},
{
"offset": 2,
"absolute_body_offset": 220,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5c3e014e5043545249470000",
"operands": {
"symbol_offset": 323,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 14,
"absolute_body_offset": 232,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0b1102",
"operands": {
"value_u16": 529
}
},
{
"offset": 17,
"absolute_body_offset": 235,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 19,
"absolute_body_offset": 237,
"opcode": 76,
"mnemonic": "push_indirect",
"raw_bytes": "4c02",
"operands": {
"size": 2
}
},
{
"offset": 21,
"absolute_body_offset": 239,
"opcode": 119,
"mnemonic": "set_info",
"raw_bytes": "77",
"operands": {}
},
{
"offset": 22,
"absolute_body_offset": 240,
"opcode": 120,
"mnemonic": "process_exclude",
"raw_bytes": "78",
"operands": {}
},
{
"offset": 23,
"absolute_body_offset": 241,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b2000",
"operands": {
"line_number": 32
}
},
{
"offset": 26,
"absolute_body_offset": 244,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b1f00",
"operands": {
"line_number": 31
}
},
{
"offset": 29,
"absolute_body_offset": 247,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 31,
"absolute_body_offset": 249,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f040400",
"operands": {
"arg_bytes": 4,
"intrinsic_ordinal": 4,
"intrinsic_name_hint": "Item::getStatus(void)"
}
},
{
"offset": 35,
"absolute_body_offset": 253,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efc",
"operands": {
"value_u8": 252
}
},
{
"offset": 37,
"absolute_body_offset": 255,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 38,
"absolute_body_offset": 256,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b2000",
"operands": {
"line_number": 32
}
},
{
"offset": 41,
"absolute_body_offset": 259,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0b0010",
"operands": {
"value_u16": 4096
}
},
{
"offset": 44,
"absolute_body_offset": 262,
"opcode": 57,
"mnemonic": "bit_and",
"raw_bytes": "39",
"operands": {}
},
{
"offset": 45,
"absolute_body_offset": 263,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "510600",
"operands": {
"relative_u16": 6,
"relative_signed": 6,
"target_offset": 54
}
},
{
"offset": 48,
"absolute_body_offset": 266,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b2100",
"operands": {
"line_number": 33
}
},
{
"offset": 51,
"absolute_body_offset": 269,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "520901",
"operands": {
"relative_u16": 265,
"relative_signed": 265,
"target_offset": 319
}
},
{
"offset": 54,
"absolute_body_offset": 272,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b2400",
"operands": {
"line_number": 36
}
},
{
"offset": 57,
"absolute_body_offset": 275,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0b0010",
"operands": {
"value_u16": 4096
}
},
{
"offset": 60,
"absolute_body_offset": 278,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 62,
"absolute_body_offset": 280,
"opcode": 17,
"mnemonic": "call_class_event",
"raw_bytes": "111e0a2300",
"operands": {
"target_class_id": 2590,
"target_event_slot": 35,
"target_event_name_hint": null
}
},
{
"offset": 67,
"absolute_body_offset": 285,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 69,
"absolute_body_offset": 287,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3f0a",
"operands": {
"bp_offset": 10,
"target": "[BP+0Ah]"
}
},
{
"offset": 71,
"absolute_body_offset": 289,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a01",
"operands": {
"value_u8": 1,
"value_signed": 1
}
},
{
"offset": 73,
"absolute_body_offset": 291,
"opcode": 36,
"mnemonic": "cmp",
"raw_bytes": "24",
"operands": {}
},
{
"offset": 74,
"absolute_body_offset": 292,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "512700",
"operands": {
"relative_u16": 39,
"relative_signed": 39,
"target_offset": 116
}
},
{
"offset": 77,
"absolute_body_offset": 295,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b2c00",
"operands": {
"line_number": 44
}
},
{
"offset": 80,
"absolute_body_offset": 298,
"opcode": 89,
"mnemonic": "push_pid",
"raw_bytes": "59",
"operands": {}
},
{
"offset": 81,
"absolute_body_offset": 299,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0bfd02",
"operands": {
"value_u16": 765
}
},
{
"offset": 84,
"absolute_body_offset": 302,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 86,
"absolute_body_offset": 304,
"opcode": 87,
"mnemonic": "spawn",
"raw_bytes": "57020263032000",
"operands": {
"arg_bytes": 2,
"this_size": 2,
"target_class_id": 867,
"target_event_slot": 32,
"target_event_name_hint": null
}
},
{
"offset": 93,
"absolute_body_offset": 311,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efe",
"operands": {
"value_u8": 254
}
},
{
"offset": 95,
"absolute_body_offset": 313,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 96,
"absolute_body_offset": 314,
"opcode": 84,
"mnemonic": "implies",
"raw_bytes": "540101",
"operands": {
"arg0": 1,
"arg1": 1
}
},
{
"offset": 99,
"absolute_body_offset": 317,
"opcode": 18,
"mnemonic": "pop_temp",
"raw_bytes": "12",
"operands": {}
},
{
"offset": 100,
"absolute_body_offset": 318,
"opcode": 83,
"mnemonic": "suspend",
"raw_bytes": "53",
"operands": {}
},
{
"offset": 101,
"absolute_body_offset": 319,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5cdb004e5043545249470000",
"operands": {
"symbol_offset": 323,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 113,
"absolute_body_offset": 331,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "52bc00",
"operands": {
"relative_u16": 188,
"relative_signed": 188,
"target_offset": 304
}
},
{
"offset": 116,
"absolute_body_offset": 334,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3f0a",
"operands": {
"bp_offset": 10,
"target": "[BP+0Ah]"
}
},
{
"offset": 118,
"absolute_body_offset": 336,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a02",
"operands": {
"value_u8": 2,
"value_signed": 2
}
},
{
"offset": 120,
"absolute_body_offset": 338,
"opcode": 36,
"mnemonic": "cmp",
"raw_bytes": "24",
"operands": {}
},
{
"offset": 121,
"absolute_body_offset": 339,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "512700",
"operands": {
"relative_u16": 39,
"relative_signed": 39,
"target_offset": 163
}
},
{
"offset": 124,
"absolute_body_offset": 342,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b3100",
"operands": {
"line_number": 49
}
},
{
"offset": 127,
"absolute_body_offset": 345,
"opcode": 89,
"mnemonic": "push_pid",
"raw_bytes": "59",
"operands": {}
},
{
"offset": 128,
"absolute_body_offset": 346,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0b8403",
"operands": {
"value_u16": 900
}
},
{
"offset": 131,
"absolute_body_offset": 349,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 133,
"absolute_body_offset": 351,
"opcode": 87,
"mnemonic": "spawn",
"raw_bytes": "57020263032000",
"operands": {
"arg_bytes": 2,
"this_size": 2,
"target_class_id": 867,
"target_event_slot": 32,
"target_event_name_hint": null
}
},
{
"offset": 140,
"absolute_body_offset": 358,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efe",
"operands": {
"value_u8": 254
}
},
{
"offset": 142,
"absolute_body_offset": 360,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 143,
"absolute_body_offset": 361,
"opcode": 84,
"mnemonic": "implies",
"raw_bytes": "540101",
"operands": {
"arg0": 1,
"arg1": 1
}
},
{
"offset": 146,
"absolute_body_offset": 364,
"opcode": 18,
"mnemonic": "pop_temp",
"raw_bytes": "12",
"operands": {}
},
{
"offset": 147,
"absolute_body_offset": 365,
"opcode": 83,
"mnemonic": "suspend",
"raw_bytes": "53",
"operands": {}
},
{
"offset": 148,
"absolute_body_offset": 366,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5cac004e5043545249470000",
"operands": {
"symbol_offset": 323,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 160,
"absolute_body_offset": 378,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "528d00",
"operands": {
"relative_u16": 141,
"relative_signed": 141,
"target_offset": 304
}
},
{
"offset": 163,
"absolute_body_offset": 381,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3f0a",
"operands": {
"bp_offset": 10,
"target": "[BP+0Ah]"
}
},
{
"offset": 165,
"absolute_body_offset": 383,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a03",
"operands": {
"value_u8": 3,
"value_signed": 3
}
},
{
"offset": 167,
"absolute_body_offset": 385,
"opcode": 36,
"mnemonic": "cmp",
"raw_bytes": "24",
"operands": {}
},
{
"offset": 168,
"absolute_body_offset": 386,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "512700",
"operands": {
"relative_u16": 39,
"relative_signed": 39,
"target_offset": 210
}
},
{
"offset": 171,
"absolute_body_offset": 389,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b3600",
"operands": {
"line_number": 54
}
},
{
"offset": 174,
"absolute_body_offset": 392,
"opcode": 89,
"mnemonic": "push_pid",
"raw_bytes": "59",
"operands": {}
},
{
"offset": 175,
"absolute_body_offset": 393,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0b7103",
"operands": {
"value_u16": 881
}
},
{
"offset": 178,
"absolute_body_offset": 396,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 180,
"absolute_body_offset": 398,
"opcode": 87,
"mnemonic": "spawn",
"raw_bytes": "57020263032000",
"operands": {
"arg_bytes": 2,
"this_size": 2,
"target_class_id": 867,
"target_event_slot": 32,
"target_event_name_hint": null
}
},
{
"offset": 187,
"absolute_body_offset": 405,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efe",
"operands": {
"value_u8": 254
}
},
{
"offset": 189,
"absolute_body_offset": 407,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 190,
"absolute_body_offset": 408,
"opcode": 84,
"mnemonic": "implies",
"raw_bytes": "540101",
"operands": {
"arg0": 1,
"arg1": 1
}
},
{
"offset": 193,
"absolute_body_offset": 411,
"opcode": 18,
"mnemonic": "pop_temp",
"raw_bytes": "12",
"operands": {}
},
{
"offset": 194,
"absolute_body_offset": 412,
"opcode": 83,
"mnemonic": "suspend",
"raw_bytes": "53",
"operands": {}
},
{
"offset": 195,
"absolute_body_offset": 413,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5c7d004e5043545249470000",
"operands": {
"symbol_offset": 323,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 207,
"absolute_body_offset": 425,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "525e00",
"operands": {
"relative_u16": 94,
"relative_signed": 94,
"target_offset": 304
}
},
{
"offset": 210,
"absolute_body_offset": 428,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3f0a",
"operands": {
"bp_offset": 10,
"target": "[BP+0Ah]"
}
},
{
"offset": 212,
"absolute_body_offset": 430,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a04",
"operands": {
"value_u8": 4,
"value_signed": 4
}
},
{
"offset": 214,
"absolute_body_offset": 432,
"opcode": 36,
"mnemonic": "cmp",
"raw_bytes": "24",
"operands": {}
},
{
"offset": 215,
"absolute_body_offset": 433,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "512700",
"operands": {
"relative_u16": 39,
"relative_signed": 39,
"target_offset": 257
}
},
{
"offset": 218,
"absolute_body_offset": 436,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b3b00",
"operands": {
"line_number": 59
}
},
{
"offset": 221,
"absolute_body_offset": 439,
"opcode": 89,
"mnemonic": "push_pid",
"raw_bytes": "59",
"operands": {}
},
{
"offset": 222,
"absolute_body_offset": 440,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0bd104",
"operands": {
"value_u16": 1233
}
},
{
"offset": 225,
"absolute_body_offset": 443,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 227,
"absolute_body_offset": 445,
"opcode": 87,
"mnemonic": "spawn",
"raw_bytes": "57020263032000",
"operands": {
"arg_bytes": 2,
"this_size": 2,
"target_class_id": 867,
"target_event_slot": 32,
"target_event_name_hint": null
}
},
{
"offset": 234,
"absolute_body_offset": 452,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efe",
"operands": {
"value_u8": 254
}
},
{
"offset": 236,
"absolute_body_offset": 454,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 237,
"absolute_body_offset": 455,
"opcode": 84,
"mnemonic": "implies",
"raw_bytes": "540101",
"operands": {
"arg0": 1,
"arg1": 1
}
},
{
"offset": 240,
"absolute_body_offset": 458,
"opcode": 18,
"mnemonic": "pop_temp",
"raw_bytes": "12",
"operands": {}
},
{
"offset": 241,
"absolute_body_offset": 459,
"opcode": 83,
"mnemonic": "suspend",
"raw_bytes": "53",
"operands": {}
},
{
"offset": 242,
"absolute_body_offset": 460,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5c4e004e5043545249470000",
"operands": {
"symbol_offset": 323,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 254,
"absolute_body_offset": 472,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "522f00",
"operands": {
"relative_u16": 47,
"relative_signed": 47,
"target_offset": 304
}
},
{
"offset": 257,
"absolute_body_offset": 475,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3f0a",
"operands": {
"bp_offset": 10,
"target": "[BP+0Ah]"
}
},
{
"offset": 259,
"absolute_body_offset": 477,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a05",
"operands": {
"value_u8": 5,
"value_signed": 5
}
},
{
"offset": 261,
"absolute_body_offset": 479,
"opcode": 36,
"mnemonic": "cmp",
"raw_bytes": "24",
"operands": {}
},
{
"offset": 262,
"absolute_body_offset": 480,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "512700",
"operands": {
"relative_u16": 39,
"relative_signed": 39,
"target_offset": 304
}
},
{
"offset": 265,
"absolute_body_offset": 483,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b4000",
"operands": {
"line_number": 64
}
},
{
"offset": 268,
"absolute_body_offset": 486,
"opcode": 89,
"mnemonic": "push_pid",
"raw_bytes": "59",
"operands": {}
},
{
"offset": 269,
"absolute_body_offset": 487,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0bb401",
"operands": {
"value_u16": 436
}
},
{
"offset": 272,
"absolute_body_offset": 490,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 274,
"absolute_body_offset": 492,
"opcode": 87,
"mnemonic": "spawn",
"raw_bytes": "57020263032000",
"operands": {
"arg_bytes": 2,
"this_size": 2,
"target_class_id": 867,
"target_event_slot": 32,
"target_event_name_hint": null
}
},
{
"offset": 281,
"absolute_body_offset": 499,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efe",
"operands": {
"value_u8": 254
}
},
{
"offset": 283,
"absolute_body_offset": 501,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 284,
"absolute_body_offset": 502,
"opcode": 84,
"mnemonic": "implies",
"raw_bytes": "540101",
"operands": {
"arg0": 1,
"arg1": 1
}
},
{
"offset": 287,
"absolute_body_offset": 505,
"opcode": 18,
"mnemonic": "pop_temp",
"raw_bytes": "12",
"operands": {}
},
{
"offset": 288,
"absolute_body_offset": 506,
"opcode": 83,
"mnemonic": "suspend",
"raw_bytes": "53",
"operands": {}
},
{
"offset": 289,
"absolute_body_offset": 507,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5c1f004e5043545249470000",
"operands": {
"symbol_offset": 323,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 301,
"absolute_body_offset": 519,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "520000",
"operands": {
"relative_u16": 0,
"relative_signed": 0,
"target_offset": 304
}
},
{
"offset": 304,
"absolute_body_offset": 522,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b4500",
"operands": {
"line_number": 69
}
},
{
"offset": 307,
"absolute_body_offset": 525,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0b0010",
"operands": {
"value_u16": 4096
}
},
{
"offset": 310,
"absolute_body_offset": 528,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 312,
"absolute_body_offset": 530,
"opcode": 17,
"mnemonic": "call_class_event",
"raw_bytes": "111e0a2400",
"operands": {
"target_class_id": 2590,
"target_event_slot": 36,
"target_event_name_hint": null
}
},
{
"offset": 317,
"absolute_body_offset": 535,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 319,
"absolute_body_offset": 537,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b4700",
"operands": {
"line_number": 71
}
},
{
"offset": 322,
"absolute_body_offset": 540,
"opcode": 80,
"mnemonic": "ret",
"raw_bytes": "50",
"operands": {}
}
],
"debug_symbols": [
{
"index": 0,
"unknown1": 1,
"type_id": 105,
"type_char": "i",
"bp_offset": 0,
"bp_repr": "[BP+00h]",
"unknown3": 0,
"name": "referent"
},
{
"index": 1,
"unknown1": 0,
"type_id": 105,
"type_char": "i",
"bp_offset": 10,
"bp_repr": "[BP+0Ah]",
"unknown3": 0,
"name": "event"
},
{
"index": 2,
"unknown1": 0,
"type_id": 36,
"type_char": "$",
"bp_offset": 254,
"bp_repr": "[BP-02h]",
"unknown3": 2,
"name": "item"
},
{
"index": 3,
"unknown1": 0,
"type_id": 36,
"type_char": "$",
"bp_offset": 252,
"bp_repr": "[BP-04h]",
"unknown3": 2,
"name": "item2"
},
{
"index": 4,
"unknown1": 0,
"type_id": 36,
"type_char": "$",
"bp_offset": 250,
"bp_repr": "[BP-06h]",
"unknown3": 2,
"name": "n"
}
],
"field_tags": [],
"annotation_hints": {
"runtime_family": "slot-backed-owner-loaded-body",
"payload_shape_hint": "word",
"compiled_anchors": [
{
"address": "000d:46ec",
"role": "context_create_from_slot"
},
{
"address": "000d:0988",
"role": "referent_chain_mutator"
},
{
"address": "000d:177c",
"role": "push_frame_word_literal"
},
{
"address": "000d:1acb",
"role": "compare_stream_dword_and_push_bool"
},
{
"address": "000d:208b",
"role": "materialize_or_forward_value"
},
{
"address": "000d:21ed",
"role": "prepend_inline_payload"
},
{
"address": "000d:22bc",
"role": "matrix_pushback_stage"
},
{
"address": "000d:2104",
"role": "finalize_to_outptr"
},
{
"address": "000d:ebe3",
"role": "opcode_sequence_run"
}
],
"runtime_stage_hints": [
{
"stage_address": "000d:177c",
"ir_name": "PUSH_FRAME_WORD_LITERAL",
"opcode_or_lane": "same FUN_000d_ebe3 sequencer family",
"payload_shape": "word scalar pushed to stream stack",
"evidence": "000d:177c subtracts 2 from [context+0xcc] and stores frame-local word before entity_vm_opcode_finish"
},
{
"stage_address": "000d:1acb",
"ir_name": "COMPARE_STREAM_DWORD_AND_PUSH_BOOL",
"opcode_or_lane": "same FUN_000d_ebe3 sequencer family",
"payload_shape": "stream dword pair consumed, predicate word emitted",
"evidence": "000d:1acb reads one 32-bit pair from stream, compares against AX:DX, pushes boolean word result"
},
{
"stage_address": "000d:21ed",
"ir_name": "PREPEND_INLINE_PAYLOAD",
"opcode_or_lane": "inline payload substage",
"payload_shape": "caller-owned blob copied into context +0x102 buffer",
"evidence": "000d:21ed prepends caller bytes into backward-growing context buffer before metadata-driven follow-on work"
},
{
"stage_address": "000d:22bc",
"ir_name": "BUILD_ENTITY_LINK_MATRIX",
"opcode_or_lane": "inline payload follow-on stage",
"payload_shape": "two signed metadata bytes plus streamed entity/link ids",
"evidence": "000d:22bc consumes two signed bytes from +0xd6/+0xd8 and streamed words for repeated entity_link calls"
},
{
"stage_address": "000d:22bc",
"ir_name": "EMIT_OR_PUSHBACK_RESULT",
"opcode_or_lane": "inline payload follow-on stage",
"payload_shape": "stream writeback filter",
"evidence": "000d:23da..2421 pushes back only results without 0x0400 list flag before opcode finish"
},
{
"stage_address": "000d:2104",
"ir_name": "FINALIZE_MIXED_VALUE_TO_OUTPTR",
"opcode_or_lane": "same FUN_000d_ebe3 sequencer family",
"payload_shape": "mixed immediate/object scalar return",
"evidence": "000d:2104 writes either frame-local dword or object word with high word cleared to caller out-ptr"
}
],
"slot_taxonomy": {
"slot": 10,
"event_name_hint": "equip"
}
}
}
script NPCTRIG.equip (entry=191, class_id=0x0363, slot=0x0A)
{
body_range 0x00DA..0x024F
raw_event_word 0x0175
raw_code_offset 0x00000001
end_reason debug_symbols_then_end
locals
{
[BP+00h] referent ; type=0x69 ('i') unk1=0x01 unk3=0x00
[BP+0Ah] event ; type=0x69 ('i') unk1=0x00 unk3=0x00
[BP-02h] item ; type=0x24 ('$') unk1=0x00 unk3=0x02
[BP-04h] item2 ; type=0x24 ('$') unk1=0x00 unk3=0x02
[BP-06h] n ; type=0x24 ('$') unk1=0x00 unk3=0x02
}
entry:
init locals 0x06 ; 00DA: 5a06
symbol_info NPCTRIG -> 0x0143 ; 00DC: 5c3e014e5043545249470000
push 0x0211 ; 00E8: 0b1102
push [BP+06h] ; 00EB: 4006
push_indirect size=0x2 ; 00ED: 4c02
set_info ; 00EF: 77
process_exclude ; 00F0: 78
line 32 ; 00F1: 5b2000
line 31 ; 00F4: 5b1f00
push [BP+06h] ; 00F7: 4006
call intrinsic 0x0004 Item::getStatus(void) args=0x04 ; 00F9: 0f040400
add_sp value_u8=0xFC ; 00FD: 6efc
push_retval_word ; 00FF: 5e
line 32 ; 0100: 5b2000
push 0x1000 ; 0103: 0b0010
bit_and ; 0106: 39
if pop() != 0 goto block_0110 ; 0107: 510600
block_010A:
line 33 ; 010A: 5b2100
goto block_0219 ; 010D: 520901
block_0110:
line 36 ; 0110: 5b2400
push 0x1000 ; 0113: 0b0010
push [BP+06h] ; 0116: 4006
call class 0x0A1E.slot 0x23 ; 0118: 111e0a2300
add_sp value_u8=0xFA ; 011D: 6efa
push [BP+0Ah] ; 011F: 3f0a
push 0x01 ; signed 1 ; 0121: 0a01
cmp ; 0123: 24
if pop() != 0 goto block_014E ; 0124: 512700
block_0127:
line 44 ; 0127: 5b2c00
push_pid ; 012A: 59
push 0x02FD ; 012B: 0bfd02
push [BP+06h] ; 012E: 4006
spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 0130: 57020263032000
add_sp value_u8=0xFE ; 0137: 6efe
push_retval_word ; 0139: 5e
implies arg0=0x1 arg1=0x1 ; 013A: 540101
pop_temp ; 013D: 12
suspend ; 013E: 53
symbol_info NPCTRIG -> 0x0143 ; 013F: 5cdb004e5043545249470000
goto block_020A ; 014B: 52bc00
block_014E:
push [BP+0Ah] ; 014E: 3f0a
push 0x02 ; signed 2 ; 0150: 0a02
cmp ; 0152: 24
if pop() != 0 goto block_017D ; 0153: 512700
block_0156:
line 49 ; 0156: 5b3100
push_pid ; 0159: 59
push 0x0384 ; 015A: 0b8403
push [BP+06h] ; 015D: 4006
spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 015F: 57020263032000
add_sp value_u8=0xFE ; 0166: 6efe
push_retval_word ; 0168: 5e
implies arg0=0x1 arg1=0x1 ; 0169: 540101
pop_temp ; 016C: 12
suspend ; 016D: 53
symbol_info NPCTRIG -> 0x0143 ; 016E: 5cac004e5043545249470000
goto block_020A ; 017A: 528d00
block_017D:
push [BP+0Ah] ; 017D: 3f0a
push 0x03 ; signed 3 ; 017F: 0a03
cmp ; 0181: 24
if pop() != 0 goto block_01AC ; 0182: 512700
block_0185:
line 54 ; 0185: 5b3600
push_pid ; 0188: 59
push 0x0371 ; 0189: 0b7103
push [BP+06h] ; 018C: 4006
spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 018E: 57020263032000
add_sp value_u8=0xFE ; 0195: 6efe
push_retval_word ; 0197: 5e
implies arg0=0x1 arg1=0x1 ; 0198: 540101
pop_temp ; 019B: 12
suspend ; 019C: 53
symbol_info NPCTRIG -> 0x0143 ; 019D: 5c7d004e5043545249470000
goto block_020A ; 01A9: 525e00
block_01AC:
push [BP+0Ah] ; 01AC: 3f0a
push 0x04 ; signed 4 ; 01AE: 0a04
cmp ; 01B0: 24
if pop() != 0 goto block_01DB ; 01B1: 512700
block_01B4:
line 59 ; 01B4: 5b3b00
push_pid ; 01B7: 59
push 0x04D1 ; 01B8: 0bd104
push [BP+06h] ; 01BB: 4006
spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 01BD: 57020263032000
add_sp value_u8=0xFE ; 01C4: 6efe
push_retval_word ; 01C6: 5e
implies arg0=0x1 arg1=0x1 ; 01C7: 540101
pop_temp ; 01CA: 12
suspend ; 01CB: 53
symbol_info NPCTRIG -> 0x0143 ; 01CC: 5c4e004e5043545249470000
goto block_020A ; 01D8: 522f00
block_01DB:
push [BP+0Ah] ; 01DB: 3f0a
push 0x05 ; signed 5 ; 01DD: 0a05
cmp ; 01DF: 24
if pop() != 0 goto block_020A ; 01E0: 512700
block_01E3:
line 64 ; 01E3: 5b4000
push_pid ; 01E6: 59
push 0x01B4 ; 01E7: 0bb401
push [BP+06h] ; 01EA: 4006
spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 01EC: 57020263032000
add_sp value_u8=0xFE ; 01F3: 6efe
push_retval_word ; 01F5: 5e
implies arg0=0x1 arg1=0x1 ; 01F6: 540101
pop_temp ; 01F9: 12
suspend ; 01FA: 53
symbol_info NPCTRIG -> 0x0143 ; 01FB: 5c1f004e5043545249470000
goto block_020A ; 0207: 520000
block_020A:
line 69 ; 020A: 5b4500
push 0x1000 ; 020D: 0b0010
push [BP+06h] ; 0210: 4006
call class 0x0A1E.slot 0x24 ; 0212: 111e0a2400
add_sp value_u8=0xFA ; 0217: 6efa
block_0219:
line 71 ; 0219: 5b4700
return ; 021C: 50
}