/* synthesized appendix for REBEL */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x04 cachein ===== */ function rebel_cachein() /* entry=441 class_id=0x0917 slot=0x04 */ { set_info(0x0213, *(arg_06)); process_exclude(); /* pop_global global_id=0x6 size=0x1 */ /* pop_global global_id=0x1 size=0x1 */ if (Egg.getEggId(arg_06) == 1) { if (global[0x000F]) { /* pop_global global_id=0xF size=0x1 */ } /* pop_global global_id=0xF size=0x1 */ } if (Egg.getEggId(arg_06) == 3) { local_02 = 1; while (!UCMachine.rndRange(local_02, 3, 1)) { local_02 = (1 + local_02); } } if (Egg.getEggId(arg_06) == 4) { local_02 = 1; while (!UCMachine.rndRange(local_02, 3, 1)) { local_02 = (1 + local_02); } } if (Egg.getEggId(arg_06) == 5) { local_02 = 1; while (!UCMachine.rndRange(local_02, 3, 1)) { local_02 = (1 + local_02); } } if ((Egg.getEggId(arg_06) == 6) && (global[0x000F] > 4)) { local_02 = 1; while (!UCMachine.rndRange(local_02, 2, 1)) { local_02 = (1 + local_02); } } if ((Egg.getEggId(arg_06) == 7) && (global[0x000F] > 7)) { local_02 = 1; while (!UCMachine.rndRange(local_02, 2, 1)) { local_02 = (1 + local_02); } } if (Egg.getEggId(arg_06) == 9) { local_02 = 1; while (!UCMachine.rndRange(local_02, 3, 1)) { local_02 = (1 + local_02); } } if (Egg.getEggId(arg_06) == 10) { local_02 = 1; while (!UCMachine.rndRange(local_02, 3, 1)) { local_02 = (1 + local_02); } } return; } /* ===== slot 0x07 hatch ===== */ function rebel_hatch() /* entry=441 class_id=0x0917 slot=0x07 */ { set_info(0x0210, *(arg_06)); process_exclude(); if (Egg.getEggId(arg_06) == 1) { if (Ultima8Engine.getUnkCrusaderFlag() == 0) { return; } /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* loopscr value_u8=0x24 */ /* loopscr value_u8=0x3D */ /* loopscr value_u8=0x40 */ /* loopscr value_u8=0x25 */ /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ while (!condition) { local_09 = 1; local_08 = local_02; /* loopnext */ } if (global[0x000F] == 4) { /* str_to_ptr */ /* free_stack_string value_u8=0x0 target=[SP+00h] */ } set_info(1, 0); /* global_address global_id=0x1E */ suspend; spawn FREE.slot_3B(pid, 120, 0x00000000); suspend; /* loop_selector local_02 in nearby_items(shape=0x0193, origin=arg_06) */ while (!condition) { local_06 = local_02; /* loopnext */ } if (!local_06) { spawn DOOR.slot_21(pid, 1, local_06); suspend; /* global_address global_id=0x1E */ suspend; /* global_address global_id=0x1E */ suspend; /* global_address global_id=0x1E */ suspend; /* global_address global_id=0x1E */ suspend; /* global_address global_id=0x1E */ suspend; spawn DOOR.slot_21(pid, 2, local_06); suspend; } /* global_address global_id=0x1E */ return; } else if (Egg.getEggId(arg_06) == 2) { if (!(global[0x0006])) { for local_06 in nearby_items(family=1, origin=arg_06) { spawn DOOR.slot_21(1, local_06); /* loopnext */ } } return; } return; } /* ===== slot 0x15 unhatch ===== */ function rebel_unhatch() /* entry=441 class_id=0x0917 slot=0x15 */ { set_info(0x0239, *(arg_06)); process_exclude(); if (Egg.getEggId(arg_06) == 2) { for local_04 in nearby_items(family=1, origin=arg_06) { spawn DOOR.slot_21(2, local_04); /* loopnext */ } } return; }