function wshockew_gotHit() /* entry=245 class_id=0x044E slot=0x06 */ { var referent, /* [BP+00h] type=0x69 */ ref, /* [BP+0Ah] type=0x69 */ vel, /* [BP+0Ch] type=0x69 */ item, /* [BP-02h] type=0x24 */ n, /* [BP-04h] type=0x24 */ x, /* [BP-06h] type=0x69 */ y, /* [BP-08h] type=0x69 */ y1, /* [BP-0Ah] type=0x69 */ z, /* [BP-0Ch] type=0x69 */ z1, /* [BP-0Eh] type=0x69 */ shocker, /* [BP-10h] type=0x24 */ a, /* [BP-12h] type=0x69 */ b, /* [BP-14h] type=0x69 */ c, /* [BP-16h] type=0x69 */ d, /* [BP-18h] type=0x69 */ e, /* [BP-1Ah] type=0x69 */ shockCount; /* [BP-1Ch] type=0x69 */ entry: set_info(0x020C, *(arg_06)); process_exclude(); item = ref; if Item.isNpc(item) goto block_036A; block_01B2: n = item; block_01B9: if (Item.overlaps(ref, arg_06) != 1) goto block_0344; block_01CD: x = Intrinsic0013(arg_06); y = Item.getNpcNum(arg_06); y1 = Item.legal_create(arg_06); z = Item.AvatarStoleSomehting(item); z1 = Item.getZ(item); a = (y1 - y); a = (a * 2); b = (z - z1); b = ((b / 2) * 3); class_0A0C_slot_20(2); c = (retval + 1); block_0250: if (c != 0) goto block_031B; block_025B: class_0A0C_slot_20(a); d = retval; d = (y1 - d); y = d; class_0A0C_slot_20(b); e = retval; e = (e + z1); z = e; if Item.getQLo(0, 0x045A, shocker) goto block_02E0; block_02AF: c = 1; shockCount = (1 + shockCount); block_02E0: class_0A0C_slot_20(pid, 30); spawn class_0A0C_slot_32(retval, 0x00000000); suspend; c = (c - 1); goto block_0250; block_031B: spawn class_0A0C_slot_32(pid, 60, 0x00000000); suspend; goto block_01B9; block_0344: spawn class_0A0C_slot_32(pid, 2, 0x00000000); suspend; block_036A: return; }