package mage.abilities.keyword;
import mage.abilities.StaticAbility;
import mage.abilities.hint.common.ClassLevelHint;
import mage.abilities.icon.CardIcon;
import mage.abilities.icon.CardIconImpl;
import mage.abilities.icon.CardIconType;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.permanent.Permanent;
import java.util.ArrayList;
import java.util.List;
/**
* @author TheElk801
*/
public class ClassReminderAbility extends StaticAbility {
public ClassReminderAbility() {
super(Zone.ALL, null);
this.addHint(ClassLevelHint.instance);
}
private ClassReminderAbility(final ClassReminderAbility ability) {
super(ability);
}
@Override
public ClassReminderAbility copy() {
return new ClassReminderAbility(this);
}
@Override
public String getRule() {
return "(Gain the next level as a sorcery to add its ability.)";
}
@Override
public List getIcons(Game game) {
if (game == null) {
return this.icons;
}
// dynamic GUI icon with current level
List res = new ArrayList<>();
Permanent permanent = this.getSourcePermanentOrLKI(game);
if (permanent == null) {
return res;
}
CardIcon levelIcon = new CardIconImpl(
CardIconType.ABILITY_CLASS_LEVEL,
"Current class level: " + permanent.getClassLevel(),
String.valueOf(permanent.getClassLevel())
);
res.add(levelIcon);
return res;
}
}