@Override public List<String> getRules() { return card.getRules(); }
@Override public List<String> getRules(Game game) { return card.getRules(game); }
@Override public int calculate(Game game, Ability sourceAbility, Effect effect) { Permanent permanent = game.getPermanent(sourceAbility.getTargets().get(0).getFirstTarget()); if (permanent != null) { int capitals = 0; List<CardInfo> cards = CardRepository.instance.findCards(permanent.getName()); if (cards != null) { for (CardInfo cardInfo : cards) { Card dummy = cardInfo != null ? cardInfo.getCard() : null; if (dummy != null) { for (String line : dummy.getRules()) { line = line.replaceAll("(?i)<i.*?</i>", ""); // Ignoring reminder text in italic line = line.replaceAll("\\{this\\}", permanent.getName()); capitals += line.length() - line.replaceAll("[A-Z]", "").length(); } } return -1 * capitals; } } } return 0; }
boolean whenYouCast = false; for (String str : card.getRules()) { String s = str.toLowerCase(Locale.ENGLISH); annihilator |= s.contains("annihilator");
for (String rule : input.getRules(game)) { if (rule.toLowerCase(Locale.ENGLISH).contains(token)) { found = true;
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getPlayerId().equals(this.getControllerId())) { Permanent sourcePermanent = game.getPermanent(getSourceId()); MageObject mageObject = game.getObject(getSourceId()); Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell == null || sourcePermanent == null || mageObject == null) { return false; } Integer doomNumber = (Integer) game.getState().getValue(mageObject.getId() + "_doom"); if (doomNumber == null || doomNumber == 0) { return false; } if (!spell.isFaceDown(game)) { String doomString = doomNumber.toString(); if (spell.getCard().getManaCost().getText().contains(doomString) || String.valueOf(spell.getPower().getBaseValue()).contains(doomString) || String.valueOf(spell.getToughness().getBaseValue()).contains(doomString)) { return true; } else { for (String string : spell.getCard().getRules()) { if (string.contains(doomString)) { return true; } } } } } return false; }
mana.setBlue(mana.isBlue() || color.isBlue()); mana.setWhite(mana.isWhite() || color.isWhite()); for (String rule : secondCard.getRules()) { rule = rule.replaceAll("(?i)<i.*?</i>", ""); // Ignoring reminder text in italic if (!mana.isBlack() && rule.matches(regexBlack)) {
mana.setBlue(mana.isBlue() || color.isBlue()); mana.setWhite(mana.isWhite() || color.isWhite()); for (String rule : secondCard.getRules()) { rule = rule.replaceAll("(?i)<i.*?</i>", ""); // Ignoring reminder text in italic if (!mana.isBlack() && rule.matches(regexBlack)) {