78 lines
2.1 KiB
Text
78 lines
2.1 KiB
Text
|
|
/* synthesized appendix for WSHOCKEW */
|
|
/* sparse lines above preserve recovered debugger line numbers where available */
|
|
|
|
/* ===== slot 0x06 gotHit ===== */
|
|
function wshockew_gotHit() /* entry=249 class_id=0x044E slot=0x06 */
|
|
{
|
|
set_info(0x020C, *(arg_06));
|
|
process_exclude();
|
|
local_02 = arg_0A;
|
|
if (!Item.isNpc(local_02)) {
|
|
local_04 = local_02;
|
|
while (Item.overlaps(arg_0A, arg_06) == 1) {
|
|
local_06 = Item.getX(arg_06);
|
|
local_08 = Item.getCY(arg_06);
|
|
local_0A = Item.getY(arg_06);
|
|
local_0C = Item.getCZ(local_02);
|
|
local_0E = Item.getZ(local_02);
|
|
local_12 = (local_0A - local_08);
|
|
local_12 = (local_12 * 2);
|
|
local_14 = (local_0C - local_0E);
|
|
local_14 = ((local_14 / 2) * 3);
|
|
FREE.slot_20(2);
|
|
local_16 = (retval + 1);
|
|
while (local_16 == 0) {
|
|
FREE.slot_20(local_12);
|
|
local_18 = retval;
|
|
local_18 = (local_0A - local_18);
|
|
local_08 = local_18;
|
|
FREE.slot_20(local_14);
|
|
local_1A = retval;
|
|
local_1A = (local_1A + local_0E);
|
|
local_0C = local_1A;
|
|
if (!Item.create(0, 0x045A, local_10)) {
|
|
local_16 = 1;
|
|
local_1C = (1 + local_1C);
|
|
}
|
|
FREE.slot_20(pid, 30);
|
|
spawn FREE.slot_3B(retval, 0x00000000);
|
|
suspend;
|
|
local_16 = (local_16 - 1);
|
|
}
|
|
spawn FREE.slot_3B(pid, 60, 0x00000000);
|
|
suspend;
|
|
}
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
}
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x0B unequip ===== */
|
|
function wshockew_unequip() /* entry=249 class_id=0x044E slot=0x0B */
|
|
{
|
|
set_info(0x0212, *(arg_06));
|
|
process_exclude();
|
|
/* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */
|
|
while (!condition) {
|
|
if (!Item.isNpc(local_02)) {
|
|
if (Item.overlaps(local_02, arg_06) == 1) {
|
|
spawn WSHOCKEW.gotHit(0, local_02, arg_06);
|
|
return;
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x13 avatarStoleSomething ===== */
|
|
function wshockew_avatarStoleSomething() /* entry=249 class_id=0x044E slot=0x13 */
|
|
{
|
|
set_info(0x022E, *(arg_06));
|
|
process_exclude();
|
|
return;
|
|
}
|