@Override public boolean turnFaceUp(Game game, UUID playerId) { if (super.turnFaceUp(game, playerId)) { power.modifyBaseValue(power.getBaseValue()); toughness.modifyBaseValue(toughness.getBaseValue()); setManifested(false); setMorphed(false); return true; } return false; }
@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; }