Package mage.target

Examples of mage.target.Target


    public String getText(Mode mode) {
        StringBuilder sb = new StringBuilder();
        if (this.staticText != null && !this.staticText.isEmpty()) {
            sb.append(staticText);
        } else {
            Target target = mode.getTargets().get(0);
            sb.append("Put ");
            if (target.getMaxNumberOfTargets() == 0) {
                sb.append("any number of ");
            } else {
                if (target.getMaxNumberOfTargets() != 1 || target.getNumberOfTargets() != 1) {
                    if (target.getMaxNumberOfTargets() > target.getNumberOfTargets()) {
                        sb.append("up to ");
                    }
                    sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" ");
                }
            }
            sb.append("target ").append(mode.getTargets().get(0).getTargetName()).append(" on ");
            sb.append(onTop ? "top" : "the bottom").append(" of it's owner's library");
        }
View Full Code Here


            return staticText;
        }
        if (mode.getTargets().size() < 1) {
            return "";
        }
        Target target = mode.getTargets().get(0);
        StringBuilder sb = new StringBuilder("Return ");
        if (target.getNumberOfTargets() == 0 && target.getMaxNumberOfTargets() > 0) {
            sb.append("up to ").append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" target ").append(target.getTargetName()).append(" to their owners' hand");
            return sb.toString();
        } else {
            if (!target.getTargetName().startsWith("another")) {
                sb.append(" target ");
            }
            sb.append(target.getTargetName()).append(" to it's owner's hand").toString();
            return sb.toString();
        }
    }
View Full Code Here

    public String getText(Mode mode) {
        if (staticText != null && !staticText.isEmpty()) {
            return staticText;
        }
        StringBuilder sb = new StringBuilder();
        Target target = mode.getTargets().get(0);       
        sb.append("Return ");
        if (target.getMaxNumberOfTargets() > 1) {
            if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
                sb.append("up to ");
            }
            sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" ");
        }       
        if (!mode.getTargets().get(0).getTargetName().startsWith("another")) {
            sb.append("target ");
        }
        sb.append(mode.getTargets().get(0).getTargetName()).append(" to your hand");
View Full Code Here

    @Override
    public boolean apply(Game game, Ability source) {
        Player controller = game.getPlayer(source.getControllerId());
        if (controller != null && !game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.CLASH, controller.getId(), controller.getId()))) {
            // choose opponent
            Target target = new TargetOpponent(true);
            target.setTargetName("an opponent to clash with");
            if (controller.choose(Outcome.Benefit, target, source.getSourceId(), game)) {
                Player opponent = game.getPlayer(target.getFirstTarget());
                if (opponent != null) {
                    int cmcController = Integer.MIN_VALUE;
                    Card cardController = null;
                    boolean topController = true;
                    int cmcOpponent = Integer.MIN_VALUE;
View Full Code Here

        List<Card> chosen = new ArrayList<>();

        for (UUID playerId : game.getPlayerList()) {
            Player player = game.getPlayer(playerId);

            Target target1 = new TargetControlledPermanent(1, 1, filter1, false);
            Target target2 = new TargetControlledPermanent(1, 1, filter2, false);
            Target target3 = new TargetControlledPermanent(1, 1, filter3, false);
            Target target4 = new TargetControlledPermanent(1, 1, filter4, false);


            target1.setNotTarget(true);
            target2.setNotTarget(true);
            target3.setNotTarget(true);
            target4.setNotTarget(true);

            if (target1.canChoose(player.getId(), game)) {
                while (player.isInGame() && !target1.isChosen() && target1.canChoose(player.getId(), game)) {
                    player.choose(Outcome.Benefit, target1, source.getSourceId(), game);
                }
                Permanent artifact = game.getPermanent(target1.getFirstTarget());
                if (artifact != null) {
                    chosen.add(artifact);
                }
                target1.clearChosen();
            }

            if (target2.canChoose(player.getId(), game)) {
                while (player.isInGame() && !target2.isChosen() && target2.canChoose(player.getId(), game)) {
                    player.choose(Outcome.Benefit, target2, source.getSourceId(), game);
                }
                Permanent creature = game.getPermanent(target2.getFirstTarget());
                if (creature != null) {
                    chosen.add(creature);
                }
                target2.clearChosen();
            }

            if (target3.canChoose(player.getId(), game)) {
                while (player.isInGame() && !target3.isChosen() && target3.canChoose(player.getId(), game)) {
                    player.choose(Outcome.Benefit, target3, source.getSourceId(), game);
                }
                Permanent enchantment = game.getPermanent(target3.getFirstTarget());
                if (enchantment != null) {
                    chosen.add(enchantment);
                }
                target3.clearChosen();
            }
           
            if (target4.canChoose(player.getId(), game)) {
                while (player.isInGame() && !target4.isChosen() && target4.canChoose(player.getId(), game)) {
                    player.choose(Outcome.Benefit, target4, source.getSourceId(), game);
                }
                Permanent land = game.getPermanent(target4.getFirstTarget());
                if (land != null) {
                    chosen.add(land);
                }
                target4.clearChosen();
            }

        }

        for (Permanent permanent : game.getBattlefield().getAllActivePermanents()) {
View Full Code Here

        if (mode.getTargets().isEmpty()) {
            return "";
        }

        StringBuilder sb = new StringBuilder();
        Target target = mode.getTargets().get(0);
        if (target.getMaxNumberOfTargets() > 1) {
            if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
                sb.append("up to ");
            }
            sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" ");
        }
        sb.append("target ").append(mode.getTargets().get(0).getTargetName());
        if (target.getMaxNumberOfTargets() > 1) {
            sb.append("s are unblockable");
        } else {
            sb.append(" is unblockable");
        }
View Full Code Here

        }
        if (mode.getTargets().isEmpty()) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        Target target = mode.getTargets().get(0);
        if (target.getMaxNumberOfTargets() > 1) {
            if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
                sb.append("up to ");
            }
            sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" ");
        }
        sb.append("target ").append(mode.getTargets().get(0).getTargetName());
        if (target.getMaxNumberOfTargets() > 1) {
            sb.append("s");
        }

        sb.append(" can't block");
        if (Duration.EndOfTurn.equals(this.duration)) {
View Full Code Here

    public boolean apply(Game game, Ability source) {
        Player controller = game.getPlayer(source.getControllerId());
        if (controller != null) {
            FilterPermanent filter = new FilterControlledLandPermanent(new StringBuilder("any number of ").append(sweepSubtype).append("s you control").toString());
            filter.add(new SubtypePredicate(sweepSubtype));
            Target target = new TargetPermanent(0, Integer.MAX_VALUE, filter, true);
            if (controller.chooseTarget(outcome, target, source, game)) {
                game.getState().setValue(CardUtil.getCardZoneString("sweep", source.getSourceId(), game), target.getTargets().size());
                for (UUID uuid : target.getTargets()) {
                    Permanent land = game.getPermanent(uuid);
                    land.moveToZone(Zone.HAND, source.getSourceId(), game, false);
                }
            }
            return true;
View Full Code Here

    public String getText(Mode mode) {
        if (staticText != null && !staticText.isEmpty()) {
            return staticText;
        }
        StringBuilder sb = new StringBuilder();
        Target target = mode.getTargets().get(0);
        if(target.getMaxNumberOfTargets() > 1){
            if (target.getNumberOfTargets() < target.getNumberOfTargets()) {
                sb.append("up to ");
            }
            sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" target ").append(target.getTargetName()).append(" get ");
        } else {
            if (!target.getTargetName().toUpperCase().startsWith("ANOTHER")) {
                sb.append("Target ");
            }
            sb.append(target.getTargetName()).append(" gets ");
        }
        String p = power.toString();
        if(!p.startsWith("-")) {
            sb.append("+");
        }
View Full Code Here

    public void adjustCosts(Ability ability, Game game) {
        Player player = game.getPlayer(controllerId);
        if (player == null || !(ability instanceof SpellAbility)) {
            return;
        }
        Target target = new TargetControlledCreaturePermanent(1, Integer.MAX_VALUE, filter,true);
        target.setTargetName("creatures to convoke");
        if (!target.canChoose(sourceId, controllerId, game)) {
            return;
        }
        if (player.chooseUse(Outcome.Detriment, "Convoke creatures?", game)) {
            player.chooseTarget(Outcome.Tap, target, ability, game);
            if (target.getTargets().size() > 0) {
                for (UUID creatureId: target.getTargets()) {
                    Permanent perm = game.getPermanent(creatureId);
                    if (perm == null || ability.getManaCostsToPay().convertedManaCost() == 0) {
                        continue;
                    }
                    if (!perm.isTapped() && perm.tap(game)) {
View Full Code Here

TOP

Related Classes of mage.target.Target

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.