@Override
  public void onComplete(Animation anim) {
    if (anim == attack) {

      Sample.INSTANCE.play(Assets.SND_ZAP);
      MagicMissile.shadow(
          parent,
          ch.pos,
          posToShoot,
          new Callback() {
            @Override
            public void call() {
              ch.onAttackComplete();
            }
          });

      idle();

    } else {
      super.onComplete(anim);
    }
  }
 protected void fx(int cell, Callback callback) {
   MagicMissile.poison(curUser.sprite.parent, curUser.pos, cell, callback);
   Sample.INSTANCE.play(Assets.SND_ZAP);
 }
 protected void fx(int cell, Callback callback) {
   MagicMissile.blueLight(wandUser.getSprite().getParent(), wandUser.getPos(), cell, callback);
   Sample.INSTANCE.play(Assets.SND_ZAP);
 }