private AbilityButton(Activity a, @NotNull Ability ability, @NotNull final AbilityCaster ac_) {
    super(a);

    ab = ability;
    ac = ac_;

    if (ability.getIconImage() != null) {
      ImageDrawable id = new ImageDrawable(ability.getIconImage().getBitmap(), 0, 0, new Paint());
      setBackgroundDrawable(id);
    }

    setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View v) {
            ac.setPendingAbility(ab);
          }
        });
  }