/* synthesized appendix for WINDSURF */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x06 gotHit ===== */ function windsurf_gotHit() /* entry=179 class_id=0x0337 slot=0x06 */ { entry: set_info(0x020C, *(arg_06)); process_exclude(); FREE.slot_35(arg_0C, arg_0A); if retval goto block_01B1; block_01AE: goto block_0483; block_01B1: if (Item.getMapNum(arg_06) != 0) goto block_046B; block_01C0: local_02 = arg_0A; if Item.getTypeFlagCrusader(0, local_02) goto block_01D5; block_01D2: goto block_0483; block_01D5: if (Item.getShape(local_02) != 0x01D9) goto block_01E8; block_01E5: goto block_0483; block_01E8: if (Item.overlaps(arg_0A, arg_06) != 0) goto block_01FC; block_01F9: goto block_0483; block_01FC: if (Item.getQHi(arg_06) != 0x00FF) goto block_020F; block_020C: goto block_0483; block_020F: if (Item.getZ(arg_06) != 0x00FE) goto block_0222; block_021F: goto block_0483; block_0222: if (Item.getNpcNum(arg_06) != 0x00FF) goto block_024A; block_0232: if (!Item.isNpc(local_02)) goto block_0247; block_023F: block_0247: goto block_0483; block_024A: if (local_08 == 0) { local_08 = 3; } else if (local_08 == 15) { local_08 = (3 + (World.gameDifficulty() * 2)); } block_0295: if (local_0A == 0) { local_06 = -1; } else if (local_0A == 1) { local_06 = -2; local_04 = 1; } else if (local_0A == 2) { local_06 = -1; local_04 = 1; } else if (local_0A == 3) { local_06 = -1; local_04 = 2; } else if (local_0A == 4) { local_04 = 1; } else if (local_0A == 5) { local_04 = 2; local_06 = 1; } else if (local_0A == 6) { local_04 = 1; local_06 = 1; } else if (local_0A == 7) { local_04 = 1; local_06 = 2; } else if (local_0A == 8) { local_06 = 1; } else if (local_0A == 9) { local_06 = 2; local_04 = -1; } else if (local_0A == 10) { local_06 = 1; local_04 = -1; } else if (local_0A == 11) { local_06 = 1; local_04 = -2; } else if (local_0A == 12) { local_04 = -1; } else if (local_0A == 13) { local_04 = -2; local_06 = -1; } else if (local_0A == 14) { local_04 = -1; local_06 = -1; } else if (local_0A == 15) { local_04 = -1; local_06 = -2; } block_03B5: local_04 = (local_04 * local_08); local_06 = (local_06 * local_08); spawn FREE.slot_3B(pid, 2, 0x00000000); suspend; block_03DA: if 1 goto block_0442; block_03DF: local_0F = (Item.getX(local_02) + local_04); local_0D = (Item.getY(local_02) + local_06); local_0B = Item.getZ(local_02); spawn FREE.slot_3B(pid, 5, 0x00000000); suspend; if (Item.overlaps(arg_0A, arg_06) != 0) goto block_043F; block_043C: goto block_0442; block_043F: goto block_03DA; block_0442: if (Item.getZ(local_02) > 1) goto block_0468; block_0451: suspend; block_0468: goto block_0483; block_046B: spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); suspend; block_0483: return; } /* ===== slot 0x0A equip ===== */ function windsurf_equip() /* entry=179 class_id=0x0337 slot=0x0A */ { set_info(0x0211, *(arg_06)); process_exclude(); FREE.slot_3C(0x020C, *(arg_06)); if (arg_0A == 0x00FF) { return; } else { /* loopscr value_u8=0x24 */ /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ while (!condition) { if (local_02 == *(arg_06)) { if (!Item.overlaps(local_02, arg_06)) { spawn WINDSURF.gotHit(0, local_02, arg_06); } } /* loopnext */ } } return; } /* ===== slot 0x0B unequip ===== */ function windsurf_unequip() /* entry=179 class_id=0x0337 slot=0x0B */ { set_info(0x0212, *(arg_06)); process_exclude(); /* loopscr value_u8=0x24 */ /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ while (!condition) { if (local_02 == *(arg_06)) { if (!Item.overlaps(local_02, arg_06)) { spawn WINDSURF.gotHit(0, local_02, arg_06); } } /* loopnext */ } return; } /* ===== slot 0x10 leaveFastArea ===== */ function windsurf_leaveFastArea() /* entry=179 class_id=0x0337 slot=0x10 */ { set_info(0x021C, *(arg_06)); process_exclude(); FREE.slot_3C(0x020C, *(arg_06)); return; }