function npc_only_gotHit() /* entry=194 class_id=0x0366 slot=0x06 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    ref, /* [BP+0Ah] type=0x69 */
    vel, /* [BP+0Ch] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    l, /* [BP-04h] type=0x69 */
    link; /* [BP-06h] type=0x69 */

  entry:
    set_info(0x020C, *(arg_06));
    process_exclude();
    if ((ref > 0x0100) || (ref != Item.pop())) goto block_0109;

  block_0103:
    goto block_02B0;

  block_0109:
    item = ref;
    l = Item.getQLo(item);
    link = Intrinsic00D9(arg_06);
    if (Item.getQLo(item) != Intrinsic00D9(arg_06)) goto block_02B0;

  block_0148:
    if (Item.getMapNum(arg_06) != 0) goto block_02B0;

  block_015A:
    if ((Intrinsic0057(arg_06) != 0) || (Item.isInNpc(*(arg_06), item) != 0)) goto block_0186;

  block_0180:
    goto block_02B0;

  block_0186:
    if (link != 0x00FE) goto block_01A3;

  block_0195:

  block_01A3:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
    suspend;

  block_01FD:
    if 1 goto block_02B0;

  block_0205:
    if ((Intrinsic0057(arg_06) != 0) && (Item.isNpc(item) != 1)) goto block_024D;

  block_0224:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_02AD;

  block_024D:
    spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
    suspend;
    spawn class_0A0C_slot_32(pid, 5, 0x00000000);
    suspend;
    goto block_02B0;

  block_02AD:
    goto block_01FD;

  block_02B0:
    return;

}
