Examples of StackObject


Examples of mage.game.stack.StackObject

    public boolean applies(GameEvent event, Ability source, Game game) {
        if (event.getType().equals(GameEvent.EventType.DAMAGE_PLAYER)
                || event.getType().equals(GameEvent.EventType.DAMAGE_CREATURE)) {
            Permanent permanent = game.getPermanent(event.getSourceId());
            Player player = game.getPlayer(event.getSourceId());
            StackObject spell = game.getStack().getStackObject(event.getSourceId());

            if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) {
                event.setAmount(event.getAmount() * 2);
            }
            if (player != null && player.getId().equals(source.getControllerId())) {
                event.setAmount(event.getAmount() * 2);
            }
            if (spell != null && spell.getControllerId().equals(source.getControllerId())) {
                event.setAmount(event.getAmount() * 2);
            }
        }
        return false;
    }
View Full Code Here

Examples of mage.game.stack.StackObject

    }

    @Override
    public boolean checkTrigger(GameEvent event, Game game) {
        if (event.getType() == GameEvent.EventType.ACTIVATED_ABILITY) {
            StackObject item = game.getState().getStack().getFirst();
            if (item instanceof StackAbility
                    && ((StackAbility)item).getStackAbility() instanceof CyclingAbility) {
                return true;
            }
View Full Code Here

Examples of mage.game.stack.StackObject

   
    @Override
    public boolean checkTrigger(GameEvent event, Game game) {
        if (event.getType() == GameEvent.EventType.ACTIVATED_ABILITY){
            if(event.getSourceId().equals(this.getSourceId())) {
                StackObject object = game.getStack().getStackObject(event.getSourceId());
                if(object != null && object.getStackAbility() instanceof CyclingAbility){
                    return true;   
                }
            }
        }
        return false;
View Full Code Here

Examples of mage.game.stack.StackObject

        Player player = game.getPlayer(controllerId);
        if (player != null && event.getType() == EventType.DESTROYED_PERMANENT) {
            Permanent perm = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD);
            if (perm != null && !perm.getCardType().contains(CardType.CREATURE)) {
                if (game.getStack().size() > 0) {
                    StackObject spell = game.getStack().getStackObject(event.getSourceId());
                    if (spell != null && game.getOpponents(controllerId).contains(spell.getControllerId())) {
                        condition = true;
                    }
                }
            }
        }
View Full Code Here

Examples of mage.game.stack.StackObject

    @Override
    public boolean apply(Game game, Ability source) {
        Player controller = game.getPlayer(source.getControllerId());
        if (controller != null) {
            StackObject stackObject = game.getStack().getStackObject(source.getId());
            Spell spell = (Spell) stackObject;
            spell = spell.copySpell();
            spell.setCopiedSpell(true);
            spell.setControllerId(source.getControllerId());
            // Remove Epic effect from the spell
View Full Code Here

Examples of mage.game.stack.StackObject

        String cardName = "";
        UUID searchPlayerId = null;

        if (source.getTargets().get(0) instanceof TargetSpell) {
            UUID objectId = source.getFirstTarget();
            StackObject stackObject = game.getStack().getStackObject(objectId);
            if (stackObject != null) {
                MageObject targetObject = game.getObject(stackObject.getSourceId());
                if (targetObject instanceof Card) {
                    cardName = targetObject.getName();
                }
                searchPlayerId = stackObject.getControllerId();
                result = game.getStack().counter(objectId, source.getSourceId(), game);
            }
        }
        // 5/1/2008: If the targeted spell can't be countered (it's Vexing Shusher, for example),
        // that spell will remain on the stack. Counterbore will continue to resolve. You still
View Full Code Here

Examples of mage.game.stack.StackObject

    }

    @Override
    public boolean applies(GameEvent event, Ability source, Game game) {
        if (event.getType() == EventType.TARGET && getTargetPointer().getTargets(game, source).contains(event.getTargetId())) {
            StackObject sourceObject = game.getStack().getStackObject(event.getSourceId());
            if (sourceObject != null && filterSource.match(sourceObject, source.getControllerId(), game)) {
                return true;
            }
        }
        return false;
View Full Code Here

Examples of mage.game.stack.StackObject

        // rule 114.4. A spell or ability on the stack is an illegal target for itself.
        if (source != null && source.getId().equals(id)) {
            return false;
        }

        StackObject stackObject = game.getStack().getStackObject(id);
        return isActivatedOrTriggeredAbility(stackObject);
    }
View Full Code Here

Examples of mage.game.stack.StackObject

                        break;
                    case COMMAND:
                        game.getState().getCommand().remove((Commander)game.getObject(objectId));
                        break;
                    case STACK:
                        StackObject stackObject = game.getStack().getSpell(getId());
                        if (stackObject != null) {
                            game.getStack().remove(stackObject);
                        }
                        break;
                    case PICK:
View Full Code Here

Examples of mage.game.stack.StackObject

    }

    @Override
    public boolean checkTrigger(GameEvent event, Game game) {
        if (event.getType() == GameEvent.EventType.SPELL_CAST && event.getSourceId().equals(this.sourceId)) {
            StackObject spell = game.getStack().getStackObject(this.sourceId);
            if (spell instanceof Spell) {
                for (Effect effect : this.getEffects()) {
                    effect.setValue("StormSpell", spell);
                }
                return true;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.