Crusader_Decomp/USECODE/REGRET/ALARMHAT.unk

93 lines
2.8 KiB
Text

/* 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;
}