Add additional ability icons (#10549)

* Slightly revamped basic card icons

All icon classes which were just static text have been removed, and instead replaced with a static instance.

A new icon for reach has been added

Some icons have been reused for new abilities (hexproof for shroud and ward, infect for toxic)

When a card would have two icons of the same type, the icons are instead combines into one with a combined hover tooltip.

* Fixed missing capitalization on ward, hexproof
This commit is contained in:
Alexander Novotny 2023-07-03 14:22:07 -07:00 committed by GitHub
parent 9e63858db6
commit fae63d9d4b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 167 additions and 522 deletions

View file

@ -7,10 +7,10 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.icon.CardIcon;
import mage.abilities.icon.CardIconImpl;
import mage.abilities.icon.CardIconType;
import mage.abilities.icon.abilities.HexproofAbilityIcon;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.util.CardUtil;
import java.util.*;
@ -68,14 +68,11 @@ public abstract class HexproofBaseAbility extends SimpleStaticAbility implements
@Override
public List<CardIcon> getIcons(Game game) {
if (game == null) {
return new ArrayList<>(Collections.singletonList(
HexproofAbilityIcon.instance
));
return Collections.singletonList(CardIconImpl.ABILITY_HEXPROOF);
}
// dynamic icon (example: colored hexproof)
return new ArrayList<>(Collections.singletonList(
HexproofAbilityIcon.createDynamicCardIcon(getCardIconHint(game))
));
return Collections.singletonList(new CardIconImpl(CardIconType.ABILITY_HEXPROOF,
CardUtil.getTextWithFirstCharUpperCase(getCardIconHint(game))));
}
}