function shocker_slot_21() /* entry=389 class_id=0x0A13 slot=0x21 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    monster; /* [BP-02h] type=0x24 */

  entry:
    set_info(0x0205, *(arg_06));
    set_info(0x020C, *(arg_06));

  block_0366:
    suspend;
    spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
    suspend;
    /* loop_selector monster in nearby_items(family=6, origin=arg_06) */

  block_03B6:
    if condition goto block_0461;

  block_03B9:
    if (Actor.isNPC(monster) != 1) goto block_045D;

  block_03CB:
    if (!Actor.isDead(monster)) goto block_045D;

  block_03DE:
    if ((Item.overlaps(monster, arg_06) != 1) && (Item.getFrame(arg_06) < 6)) goto block_045D;

  block_0402:
    FREE.slot_20(pid, 8);
    spawn NPC.slot_2D(retval, *(arg_06), monster);
    suspend;
    spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
    suspend;
    goto block_0466;

  block_045D:
    /* loopnext  */
    goto block_03B6;

  block_0461:
    goto block_0366;

  block_0466:
    return;

}
