function telepad_gotHit() /* entry=111 class_id=0x01DB slot=0x06 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    ref, /* [BP+0Ah] type=0x69 */
    ke, /* [BP+0Ch] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    pad, /* [BP-04h] type=0x24 */
    pad2, /* [BP-06h] type=0x24 */
    theQual, /* [BP-08h] type=0x69 */
    npc; /* [BP-0Ah] type=0x24 */

  set_info(0x020C, *(arg_06));
  process_exclude();
  item = ref;
  pad = *(arg_06);
  theQual = Item.getQuality(pad);
  set_info(1, 0);
  spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
  suspend;
  FREE.slot_2C(ke, ref);
  if (!retval) {
    return;
  }
  else if (Ultima8Engine.getUnkCrusaderFlag() == 1) {
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x6 */
    while (!condition) {
      /* loopnext  */
    }
    return;
  }
  else if (Item.isCentreOn(*(arg_06), item)) {
    return;
  }
  else {
    /* global_address global_id=0x3C */
    if (Item.getShape((item == 1)) != 1) {
      if (theQual == 0x00FF) {
        return;
      }
      else if ((theQual > 0) && (theQual >= 30)) {
        /* global_address global_id=0x3C */
        spawn TELEPAD.slot_20(Actor.getMap(theQual), arg_06);
        return;
      }
      else if (theQual == 30) {
        spawn TELEPAD.slot_20(30, 40, arg_06);
        return;
      }
      else if (theQual == 31) {
        spawn TELEPAD.slot_20(69, 69, arg_06);
        return;
      }
      else if (theQual == 32) {
        spawn TELEPAD.slot_20(16, 4, arg_06);
        return;
      }
      else if (theQual == 33) {
        spawn TELEPAD.slot_20(17, 3, arg_06);
        return;
      }
      else if (theQual == 35) {
        spawn TELEPAD.slot_20(30, 41, arg_06);
        return;
      }
      else if (theQual == 100) {
        spawn TELEPAD.slot_20(100, 5, arg_06);
        return;
      }
      else if (theQual == 101) {
        spawn TELEPAD.slot_20(101, 5, arg_06);
        return;
      }
      else if (theQual == 0x0082) {
        spawn TELEPAD.slot_20(0x0082, 25, arg_06);
        return;
      }
      else if (theQual == 0x0083) {
        spawn TELEPAD.slot_20(0x0083, 25, arg_06);
        return;
      }
      else if (theQual == 0x0084) {
        spawn TELEPAD.slot_20(0x0082, 25, arg_06);
        return;
      }
      else if (theQual == 0x0085) {
        spawn TELEPAD.slot_20(0x0083, 25, arg_06);
        return;
      }
      else if (theQual == 0x00D7) {
        spawn TELEPAD.slot_20(0x00D7, 5, arg_06);
        return;
      }
      else if (theQual == 0x00DA) {
        spawn TELEPAD.slot_20(0x00DA, 5, arg_06);
        return;
      }
      else if (theQual == 0x00DB) {
        spawn TELEPAD.slot_20(0x00DB, 5, arg_06);
        return;
      }
      else if (theQual == 0x00DC) {
        spawn TELEPAD.slot_20(0x00DC, 5, arg_06);
        return;
      }
      else {
        return;
      }
    }
  }
  return;
}
