public void deathStep(Robot paramRobot)
  {
    if (this.dyingFrame == 0)
    {
      this.explode = new AnimationComponent();
      AnimationComponent[] arrayOfAnimationComponent = new AnimationComponent[1];
      arrayOfAnimationComponent[0] = this.explode;
      Image[] arrayOfImage1 = new Image[23];
      for (int i = 1; i <= 23; i++)
        arrayOfImage1[(i - 1)] = GameApplet.thisApplet.getImage(
          "com/templar/games/stormrunner/media/images/robot/Explosion/r_explode_" + (
          Integer.toString(i).length() < 2 ? "0" + i : String.valueOf(i)) + ".gif");
      arrayOfAnimationComponent[0].setCells(arrayOfImage1);
      arrayOfAnimationComponent[0].setSequence(Falling.EXPLOSION_SEQUENCE, null, false);
      arrayOfAnimationComponent[0].reset();
      this.fx = new Mask(paramRobot.getEnvironment(), 
        new Position(paramRobot.getPosition().x - 1, 
        paramRobot.getPosition().y - 1, 
        paramRobot.getPosition().dx, 
        paramRobot.getPosition().dy), 
        null, new boolean[3][3], false);
      this.fx.setImages(arrayOfAnimationComponent);
      this.fx.setLayer("Robot Effects");
      paramRobot.getEnvironment().addObject(this.fx);
      paramRobot.getEnvironment().getRenderer().repaint();
      paramRobot.setVisible(false);
      Image[] arrayOfImage2 = new Image[1];
      arrayOfImage2[0] = GameApplet.thisApplet.getImage(
        "com/templar/games/stormrunner/media/images/objects/g_crater.gif");
      boolean[][] arrayOfBoolean = { { true } };
      Vector localVector = paramRobot.getEnvironment().getObjectOfTypeAt(
        paramRobot.getPosition(), new Mask().getClass());
      int j = 0;
      Object localObject;
      if (localVector != null)
      {
        localObject = localVector.elements();
        while (((Enumeration)localObject).hasMoreElements())
        {
          Mask localMask = (Mask)((Enumeration)localObject).nextElement();

          if (localMask.getID().compareTo("crater") != 0)
            continue;
          localMask.setVisible(true);
          j = 1;
          break;
        }
      }

      if (j == 0)
      {
        localObject = new Mask(paramRobot.getEnvironment(), 
          new Position(paramRobot.getPosition()), 
          arrayOfImage2, arrayOfBoolean, false);
        ((PhysicalObject)localObject).setLayer("Ground Effects");
        ((PhysicalObject)localObject).setID("crater");
        paramRobot.getEnvironment().addObject((PhysicalObject)localObject);
        paramRobot.getEnvironment().getRenderer().repaint();
      }
      this.dyingFrame += 1;

      return;
    }

    if (!this.explode.nextImage())
    {
      paramRobot.setDead(true);
      paramRobot.getEnvironment().getShroud().setVisible(
        paramRobot.getPosition().getMapPoint(), 2, false, false, true);

      GameApplet.audio.play("DeathAlarm");
      GameApplet.thisApplet.sendStatusMessage(
        "RCX: " + paramRobot.getName() + " - Ballistic damage!\nContact with RCX lost!\n");
      paramRobot.getEnvironment().removeObject(this.fx);
    }
  }