143 lines
3.7 KiB
Text
143 lines
3.7 KiB
Text
|
|
/* 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;
|
|
}
|