function trigpad_gotHit() /* entry=273 class_id=0x04CD slot=0x06 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    ref, /* [BP+0Ah] type=0x69 */
    vel, /* [BP+0Ch] type=0x69 */
    a, /* [BP-02h] type=0x69 */
    item, /* [BP-04h] type=0x24 */
    elev; /* [BP-06h] type=0x24 */

  entry:
    set_info(0x020C, *(arg_06));
    process_exclude();
    a = ref;
    class_0A0C_slot_2B(vel, ref);
    if retval goto block_010A;

  block_0104:
    goto block_0321;

  block_010A:
    item = ref;
    if (Item.getMapNum(arg_06) != 0) goto block_0321;

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

  block_0149:
    goto block_0321;

  block_014F:
    spawn class_0A0C_slot_32(pid, 1, 0x00000000);
    suspend;
    spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
    suspend;

  block_01A9:
    if 1 goto block_0321;

  block_01B1:
    if (Intrinsic0057(arg_06) != 0) goto block_01EC;

  block_01C3:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_031E;

  block_01EC:
    spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
    suspend;
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFA string_bytes=0x6 loop_type=0x6 */

  block_0262:
    if condition goto block_0316;

  block_0265:
    if (Item.getStatus(elev) & 0x1000) goto block_02A1;

  block_0278:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_0265;

  block_02A1:
    spawn class_0A0C_slot_32(pid, 120, 0x00000000);
    suspend;
    /* global_address global_id=0x3C */
    if (Item.getZ() < (Item.getZ(elev) - 5)) goto block_0312;

  block_02E7:
    class_0A09_slot_21(Item.getZ(elev), elev);
    if retval goto block_0312;

  block_0304:
    spawn class_0A09_slot_20(elev);

  block_0312:
    /* loopnext  */
    goto block_0262;

  block_0316:
    goto block_0321;

  block_031E:
    goto block_01A9;

  block_0321:
    return;

}
