/* synthesized appendix for ALARMHAT */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x0A equip ===== */ function alarmhat_equip() /* entry=325 class_id=0x0561 slot=0x0A */ { set_info(0x0211, *(arg_06)); process_exclude(); if (Item.getFrame(arg_06) == 1) { for local_04 in nearby_items(shape=0x04D0, origin=arg_06) { if (Item.getFrame(local_04) == 0) { suspend; } /* loopnext */ } return; } else if (Item.getFrame(arg_06) == 0) { if (Item.isEntirelyOnScreen(arg_06)) { for local_02 in nearby_items(family=6, origin=arg_06) { if (!Item.isNpc(local_02)) { if ((Item.getZ(local_02) > (Item.getZ(arg_06) - 10)) && (Item.getZ(local_02) >= (Item.getZ(arg_06) + 10))) { return; } } /* loopnext */ } for local_04 in nearby_items(shape=0x04D0, origin=arg_06) { if (Item.getFrame(local_04) == 0) { suspend; } /* loopnext */ } } return; } else if (Item.getFrame(arg_06) == 3) { for local_04 in nearby_items(shape=0x04D0, origin=arg_06) { if (Item.getFrame(local_04) == 0) { if ((World.gameDifficulty() - 1) == 0) { if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 0)) { suspend; } } else if ((World.gameDifficulty() - 1) == 1) { if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 1)) { suspend; } } else if (((World.gameDifficulty() - 1) == 2) || ((World.gameDifficulty() - 1) != 3)) { if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 2)) { suspend; } } } /* loopnext */ } return; } else if (Item.getFrame(arg_06) == 2) { if (Item.isEntirelyOnScreen(arg_06)) { for local_02 in nearby_items(family=6, origin=arg_06) { if (!Item.isNpc(local_02)) { if ((Item.getZ(local_02) > (Item.getZ(arg_06) - 10)) && (Item.getZ(local_02) >= (Item.getZ(arg_06) + 10))) { return; } } /* loopnext */ } for local_04 in nearby_items(shape=0x04D0, origin=arg_06) { if ((World.gameDifficulty() - 1) == 0) { if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 0)) { suspend; } } else if ((World.gameDifficulty() - 1) == 1) { if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 1)) { suspend; } } else if (((World.gameDifficulty() - 1) == 2) || ((World.gameDifficulty() - 1) != 3)) { if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 2)) { suspend; } } /* loopnext */ } } return; } return; }