Projects >> mage >>0bf11d4619850d681a81b55bcaf806d4a561a328

Chunk
Conflicting content
    protected boolean selected;
    protected boolean canAttack;

<<<<<<< HEAD
    public CardView(Card card) {
        this(card, null, null, false);
    }

=======
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    public CardView(Card card, Game game) {
        this(card, game, null, false);
    }
Solution content
    protected boolean selected;
    protected boolean canAttack;

    public CardView(Card card) {
        this(card, null, null, false);
    }

    public CardView(Card card, Game game) {
        this(card, game, null, false);
    }
File
CardView.java
Developer's decision
Version 1
Kind of conflict
Method declaration
Chunk
Conflicting content
        this(card, game, null, false);
    }

<<<<<<< HEAD
    public CardView(Card card, UUID cardId) {
        this(card, null, null, false);
        this.id = cardId;
    }

=======
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    public CardView(Card card, Game game, UUID cardId) {
        this(card, game, null, false);
        this.id = cardId;
Solution content
        this(card, game, null, false);
    }

    public CardView(Card card, UUID cardId) {
        this(card, null, null, false);
        this.id = cardId;
    }

    public CardView(Card card, Game game, UUID cardId) {
        this(card, game, null, false);
        this.id = cardId;
File
CardView.java
Developer's decision
Version 1
Kind of conflict
Method declaration
Chunk
Conflicting content
    protected String expansionSetCode;
    protected String tokenSetCode;
    protected int cardNumber;
<<<<<<< HEAD
=======
//    protected boolean faceDown;
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    protected boolean usesVariousArt;

    public SimpleCardView(UUID id, String expansionSetCode, int cardNumber, boolean usesVariousArt, String tokenSetCode) {
Solution content
    protected String expansionSetCode;
    protected String tokenSetCode;
    protected int cardNumber;
    protected boolean usesVariousArt;

    public SimpleCardView(UUID id, String expansionSetCode, int cardNumber, boolean usesVariousArt, String tokenSetCode) {
File
SimpleCardView.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        this.id = id;
        this.expansionSetCode = expansionSetCode;
        this.cardNumber = cardNumber;
<<<<<<< HEAD
=======
//        this.faceDown = faceDown;
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        this.usesVariousArt = usesVariousArt;
        this.tokenSetCode = tokenSetCode;
    }
Solution content
        this.id = id;
        this.expansionSetCode = expansionSetCode;
        this.cardNumber = cardNumber;
        this.usesVariousArt = usesVariousArt;
        this.tokenSetCode = tokenSetCode;
    }
File
SimpleCardView.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return cardNumber;
    }

<<<<<<< HEAD
=======
//    public boolean isFaceDown() {
//        return faceDown;
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    public boolean getUsesVariousArt() {
        return usesVariousArt;
    }
Solution content
        return cardNumber;
    }

    public boolean getUsesVariousArt() {
        return usesVariousArt;
    }
File
SimpleCardView.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    public MCTSExecutor(Game sim, UUID playerId, int thinkTime, boolean timeOrCount) {
        this.playerId = playerId;
        this.thinkTime = thinkTime;
<<<<<<< HEAD
        root = new MCTSNode(playerId, sim);
=======
        root = new MCTSNode(sim);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        this.timeOrCount = timeOrCount;
    }
Solution content
    public MCTSExecutor(Game sim, UUID playerId, int thinkTime, boolean timeOrCount) {
        this.playerId = playerId;
        this.thinkTime = thinkTime;
        root = new MCTSNode(playerId, sim);
        this.timeOrCount = timeOrCount;
        this.timeOrCount = timeOrCount;
    }
File
MCTSExecutor.java
Developer's decision
Manual
Kind of conflict
Attribute
Method invocation
Chunk
Conflicting content
                children.add(new MCTSNode(this, sim, false));
                break;
        }
<<<<<<< HEAD
        player.setExpanding(false);
=======
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    public int simulate(UUID playerId) {
Solution content
                children.add(new MCTSNode(this, sim, false));
                break;
        }
        player.setExpanding(false);
    }

    public int simulate(UUID playerId) {
File
MCTSNode.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
    
    public static String getHitMiss() {
        StringBuilder sb = new StringBuilder();
<<<<<<< HEAD
        sb.append("Playables Cacne -- Hits: ").append(playablesHit).append(" Misses: ").append(playablesMiss).append("\n");
        sb.append("Attacks Cache -- Hits: ").append(attacksHit).append(" Misses: ").append(attacksMiss).append("\n");
        sb.append("Blocks Cache -- Hits: ").append(blocksHit).append(" Misses: ").append(blocksMiss).append("\n");
=======
        sb.append("Playables -- Hits: ").append(playablesHit).append(" Misses: ").append(playablesMiss).append("\n");
        sb.append("Attacks -- Hits: ").append(attacksHit).append(" Misses: ").append(attacksMiss).append("\n");
        sb.append("Blocks -- Hits: ").append(blocksHit).append(" Misses: ").append(blocksMiss).append("\n");
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        return sb.toString();
    }
}
Solution content
    
    public static String getHitMiss() {
        StringBuilder sb = new StringBuilder();
        sb.append("Playables Cacne -- Hits: ").append(playablesHit).append(" Misses: ").append(playablesMiss).append("\n");
        sb.append("Attacks Cache -- Hits: ").append(attacksHit).append(" Misses: ").append(attacksMiss).append("\n");
        sb.append("Blocks Cache -- Hits: ").append(blocksHit).append(" Misses: ").append(blocksMiss).append("\n");
        return sb.toString();
    }
}
File
MCTSNode.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
                    }
                }
                game.informPlayers(permanent.getName() + ": " + player.getName() + " has chosen " + typeChoice.getChoice());
<<<<<<< HEAD
                ContinuousEffect effect = new AddCardSubTypeTargetEffect(typeChoice.getChoice(), Duration.EndOfTurn);
                effect.setTargetPointer(new FixedTarget(permanent.getId()));
                game.addEffect(effect, source);
=======
                game.getState().setValue(permanent.getId() + "_type", typeChoice.getChoice().toString());
                permanent.addInfo("chosen type", "Chosen type: " + typeChoice.getChoice() + "", game);
                permanent.getSubtype().add(typeChoice.getChoice());
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            }
            return false;
        }
Solution content
                    }
                }
                game.informPlayers(permanent.getName() + ": " + player.getName() + " has chosen " + typeChoice.getChoice());
                ContinuousEffect effect = new AddCardSubTypeTargetEffect(typeChoice.getChoice(), Duration.EndOfTurn);
                effect.setTargetPointer(new FixedTarget(permanent.getId()));
                game.addEffect(effect, source);
            }
            return false;
        }
File
MistformSliver.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
    @Override
    public boolean apply(Game game, Ability source) {
        Permanent permanent = game.getPermanent(this.targetPointer.getFirst(game, source));
<<<<<<< HEAD
        if (permanent != null) {
            Player targetController = game.getPlayer(permanent.getControllerId());
            if (targetController == null) {
                return false;
            }
=======
        if (controller != null && permanent != null) {
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            Abilities mana = permanent.getAbilities(game).getManaAbilities(Zone.BATTLEFIELD);
            Mana types = new Mana();
            for (ManaAbility ability : mana) {
Solution content
    @Override
    public boolean apply(Game game, Ability source) {
        Permanent permanent = game.getPermanent(this.targetPointer.getFirst(game, source));
        if (permanent != null) {
            Player targetController = game.getPlayer(permanent.getControllerId());
            if (targetController == null) {
                return false;
            }
            Abilities mana = permanent.getAbilities(game).getManaAbilities(Zone.BATTLEFIELD);
            Mana types = new Mana();
            for (ManaAbility ability : mana) {
File
AddManaOfAnyColorTargetCanProduceEffect.java
Developer's decision
Version 1
Kind of conflict
If statement
Method invocation
Variable
Chunk
Conflicting content
            Card card = game.getCard(source.getSourceId());
            if (card != null) {
                // add ability to card only once
<<<<<<< HEAD
=======
                //card.addAbility(ability);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                game.getState().addOtherAbility(card.getId(), ability);
                discard();
                return true;
Solution content
            Card card = game.getCard(source.getSourceId());
            if (card != null) {
                // add ability to card only once
                game.getState().addOtherAbility(card.getId(), ability);
                discard();
                return true;
File
GainAbilitySourceEffect.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            for (UUID cardId : targetPointer.getTargets(game, source)) {
                Card card = game.getCard(cardId);
                if (card != null) {
<<<<<<< HEAD
=======
                    //card.addAbility(ability);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                    game.getState().addOtherAbility(cardId, ability);
                    affectedTargets++;
                }
Solution content
            for (UUID cardId : targetPointer.getTargets(game, source)) {
                Card card = game.getCard(cardId);
                if (card != null) {
                    game.getState().addOtherAbility(cardId, ability);
                    affectedTargets++;
                }
File
GainAbilityTargetEffect.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    public DealtDamageToCreatureBySourceDies(Card card, Duration duration) {
        super(Duration.WhileOnBattlefield, Outcome.Exile);
<<<<<<< HEAD
=======
        //card.addWatcher(new DamagedByWatcher(), game);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        if (card.getCardType().contains(CardType.CREATURE)) {
            staticText = "If a creature dealt damage by {this} this turn would die, exile it instead";
        } else {
Solution content
    public DealtDamageToCreatureBySourceDies(Card card, Duration duration) {
        super(Duration.WhileOnBattlefield, Outcome.Exile);
        if (card.getCardType().contains(CardType.CREATURE)) {
            staticText = "If a creature dealt damage by {this} this turn would die, exile it instead";
        } else {
File
DealtDamageToCreatureBySourceDies.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            // build static abilities and add them to card
            abilities.addAll(builder.build());
<<<<<<< HEAD
        }

=======
//            for (Ability simpleStaticAbility : builder.build()) {
//                card.addAbility(simpleStaticAbility);
//            }
        }

        // set max level counters (for ai)
//        if (card instanceof LevelerCard) {
//            int maxValue = 0;
//            for (LevelAbility levelAbility : levelAbilities) {
//                if (levelAbility.getLevel1() > maxValue) {
//                    maxValue = levelAbility.getLevel1();
//                }
//            }
//            ((LevelerCard) card).setMaxLevelCounters(maxValue);
//        }
        
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        return abilities;
    }
Solution content
            // build static abilities and add them to card
            abilities.addAll(builder.build());
        }

        return abilities;
    }
File
LevelerCardBuilder.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    public MorphAbility(Card card, Costs morphCosts) {
        super(Zone.HAND, null);
        this.morphCosts = morphCosts;
<<<<<<< HEAD
=======
        //card.setMorphCard(true);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        this.setWorksFaceDown(true);
        name = ABILITY_KEYWORD;
        StringBuilder sb = new StringBuilder();
Solution content
    public MorphAbility(Card card, Costs morphCosts) {
        super(Zone.HAND, null);
        this.morphCosts = morphCosts;
        this.setWorksFaceDown(true);
        name = ABILITY_KEYWORD;
        StringBuilder sb = new StringBuilder();
File
MorphAbility.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesFaceDownCreatureEffect(morphCosts));
        ability.setRuleVisible(false);
<<<<<<< HEAD
        ability.setWorksFaceDown(true);
=======
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        addSubAbility(ability);

    }
Solution content
        Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesFaceDownCreatureEffect(morphCosts));
        ability.setRuleVisible(false);
        ability.setWorksFaceDown(true);
        addSubAbility(ability);

    }
File
MorphAbility.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
    UUID getOwnerId();
    int getCardNumber();
<<<<<<< HEAD
    Rarity getRarity();
    void setOwnerId(UUID ownerId);
    SpellAbility getSpellAbility();
    List getRules(); // gets base card rules
    List getRules(Game game);  // gets card rules + in game modifications
    String getExpansionSetCode();
    String getTokenSetCode();
    
=======
    //void setCardNumber(int cid);
    Rarity getRarity();
    //void setRarity(Rarity rarity);
    //void setControllerId(UUID controllerId);
    void setOwnerId(UUID ownerId);
    //void addAbility(Ability ability);
    //void addWatcher(Watcher watcher);
    SpellAbility getSpellAbility();
    List getRules(); // gets base card rules
    List getRules(Game game);  // gets card rules + in game modifications
//    List getWatchers();
    String getExpansionSetCode();
    String getTokenSetCode();
//    void setExpansionSetCode(String expansionSetCode);
    
//    CardState getState(Game game);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    void setFaceDown(boolean value, Game game);
    boolean isFaceDown(Game game);
    boolean turnFaceUp(Game game, UUID playerId);
Solution content
    UUID getOwnerId();
    int getCardNumber();
    Rarity getRarity();
    void setOwnerId(UUID ownerId);
    SpellAbility getSpellAbility();
    List getRules(); // gets base card rules
    List getRules(Game game);  // gets card rules + in game modifications
    String getExpansionSetCode();
    String getTokenSetCode();
    
    void setFaceDown(boolean value, Game game);
    boolean isFaceDown(Game game);
    boolean turnFaceUp(Game game, UUID playerId);
File
Card.java
Developer's decision
Version 1
Kind of conflict
Comment
Method interface
Chunk
Conflicting content
    
    boolean isFlipCard();
    String getFlipCardName();
<<<<<<< HEAD
=======
    //void setFlipCard(boolean flipCard);
    //void setFlipCardName(String flipCardName);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    boolean isSplitCard();

    boolean canTransform();
Solution content
    
    boolean isFlipCard();
    String getFlipCardName();
    boolean isSplitCard();

    boolean canTransform();
File
Card.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    boolean canTransform();
    Card getSecondCardFace();
<<<<<<< HEAD
=======
    //void setSecondCardFace(Card card);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    boolean isNightCard();

    void assignNewId();
Solution content
    boolean canTransform();
    Card getSecondCardFace();
    boolean isNightCard();

    void assignNewId();
File
Card.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    void build();

<<<<<<< HEAD
=======
    //void setUsesVariousArt(boolean usesVariousArt);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    /**
     *
     * @return true if there exists various art images for this card
Solution content
    void build();

    /**
     *
     * @return true if there exists various art images for this card
File
Card.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    void removeCounters(String name, int amount, Game game);
    void removeCounters(Counter counter, Game game);
    
<<<<<<< HEAD
=======
    //void setMorphCard(boolean morphCard);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    boolean isMorphCard();

    @Override
Solution content
    void removeCounters(String name, int amount, Game game);
    void removeCounters(Counter counter, Game game);
    
    boolean isMorphCard();

    @Override
File
Card.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    
    protected UUID ownerId;
    protected int cardNumber;
<<<<<<< HEAD
    protected String expansionSetCode;
    protected String tokenSetCode;
    protected Rarity rarity;
=======
//    protected List watchers;
    protected String expansionSetCode;
    protected String tokenSetCode;
    protected Rarity rarity;
    //protected boolean faceDown;
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    protected boolean canTransform;
    protected Card secondSideCard;
    protected boolean nightCard;
Solution content
    
    protected UUID ownerId;
    protected int cardNumber;
    protected String expansionSetCode;
    protected String tokenSetCode;
    protected Rarity rarity;
    protected boolean canTransform;
    protected Card secondSideCard;
    protected boolean nightCard;
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Attribute
Comment
Chunk
Conflicting content
    protected String flipCardName;
    protected Map info;
    protected boolean usesVariousArt = false;
<<<<<<< HEAD
=======
    //protected Counters counters;
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    protected boolean splitCard;
    protected boolean morphCard;
Solution content
    protected String flipCardName;
    protected Map info;
    protected boolean usesVariousArt = false;
    protected boolean splitCard;
    protected boolean morphCard;
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            abilities.add(ability);            
        }
        this.usesVariousArt = Character.isDigit(this.getClass().getName().charAt(this.getClass().getName().length()-1));
<<<<<<< HEAD
=======
        //this.counters = new Counters();
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        this.morphCard = false;
    }
Solution content
            abilities.add(ability);            
        }
        this.usesVariousArt = Character.isDigit(this.getClass().getName().charAt(this.getClass().getName().length()-1));
        this.morphCard = false;
    }
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    protected CardImpl(UUID ownerId, String name) {
        this.ownerId = ownerId;
        this.name = name;
<<<<<<< HEAD
=======
        //this.counters = new Counters();
        //this.watchers = new ArrayList<>();
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    protected CardImpl(UUID id, UUID ownerId, String name) {
Solution content
    protected CardImpl(UUID ownerId, String name) {
        this.ownerId = ownerId;
        this.name = name;
    }

    protected CardImpl(UUID id, UUID ownerId, String name) {
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        super(id);
        this.ownerId = ownerId;
        this.name = name;
<<<<<<< HEAD
=======
        //this.counters = new Counters();
        //this.watchers = new ArrayList<>();
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    public CardImpl(final CardImpl card) {
Solution content
        super(id);
        this.ownerId = ownerId;
        this.name = name;
    }

    public CardImpl(final CardImpl card) {
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        cardNumber = card.cardNumber;
        expansionSetCode = card.expansionSetCode;
        rarity = card.rarity;
<<<<<<< HEAD
=======
//        this.watchers = new ArrayList<>();
//        for (Watcher watcher: card.getWatchers()) {
//            watchers.add(watcher.copy());
//        }
        //faceDown = card.faceDown;
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949

        canTransform = card.canTransform;
        if (canTransform) {
Solution content
        cardNumber = card.cardNumber;
        expansionSetCode = card.expansionSetCode;
        rarity = card.rarity;

        canTransform = card.canTransform;
        if (canTransform) {
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
=======
        flipCardName = card.flipCardName;
        splitCard = card.splitCard;
        usesVariousArt = card.usesVariousArt;
<<<<<<< HEAD
//        counters = card.counters.copy();
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        morphCard = card.isMorphCard();
    }
Solution content
        flipCardName = card.flipCardName;
        splitCard = card.splitCard;
        usesVariousArt = card.usesVariousArt;
        morphCard = card.isMorphCard();
    }
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        for (Ability ability: abilities) {
            addAbility(ability);
        }
<<<<<<< HEAD
    }

    protected void addAbility(Ability ability, Watcher watcher) {
        addAbility(ability);
        ability.addWatcher(watcher);
=======
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    protected void addAbility(Ability ability, Watcher watcher) {
Solution content
        for (Ability ability: abilities) {
            addAbility(ability);
        }
    }

    protected void addAbility(Ability ability, Watcher watcher) {
        addAbility(ability);
        ability.addWatcher(watcher);
    }
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Method signature
Chunk
Conflicting content
        return spellAbility;
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setControllerId(UUID controllerId) {
//        abilities.setControllerId(controllerId);
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public void setOwnerId(UUID ownerId) {
        this.ownerId = ownerId;
Solution content
        return spellAbility;
    }

    @Override
    public void setOwnerId(UUID ownerId) {
        this.ownerId = ownerId;
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        abilities.setControllerId(ownerId);
    }

<<<<<<< HEAD
=======
//    @Override
//    public List getWatchers() {
//        return watchers;
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public String getExpansionSetCode() {
        return expansionSetCode;
Solution content
        abilities.setControllerId(ownerId);
    }

    @Override
    public String getExpansionSetCode() {
        return expansionSetCode;
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
                                .append("] source [").append(sourceCard != null ? sourceCard.getName():"null").append("]").toString());
                    return false;
            }
<<<<<<< HEAD
=======
//            setControllerId(event.getPlayerId());
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            game.setZone(objectId, event.getToZone());
            game.addSimultaneousEvent(event);
            return game.getState().getZone(objectId) == toZone;
Solution content
                                .append("] source [").append(sourceCard != null ? sourceCard.getName():"null").append("]").toString());
                    return false;
            }
            game.setZone(objectId, event.getToZone());
            game.addSimultaneousEvent(event);
            return game.getState().getZone(objectId) == toZone;
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        GameEvent event = GameEvent.getEvent(GameEvent.EventType.TURNFACEUP, getId(), playerId);
        if (!game.replaceEvent(event)) {
            setFaceDown(false, game);
<<<<<<< HEAD
=======
            //game.getCard(objectId).setFaceDown(false); // Another instance?
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            for (Ability ability :abilities) { // abilities that were set to not visible face down must be set to visible again
                if (ability.getWorksFaceDown() && !ability.getRuleVisible()) {
                    ability.setRuleVisible(true);
Solution content
        GameEvent event = GameEvent.getEvent(GameEvent.EventType.TURNFACEUP, getId(), playerId);
        if (!game.replaceEvent(event)) {
            setFaceDown(false, game);
            for (Ability ability :abilities) { // abilities that were set to not visible face down must be set to visible again
                if (ability.getWorksFaceDown() && !ability.getRuleVisible()) {
                    ability.setRuleVisible(true);
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        GameEvent event = GameEvent.getEvent(GameEvent.EventType.TURNFACEDOWN, getId(), playerId);
        if (!game.replaceEvent(event)) {
            setFaceDown(true, game);
<<<<<<< HEAD
=======
            //game.getCard(objectId).setFaceDown(true); // Another instance?
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            game.fireEvent(GameEvent.getEvent(GameEvent.EventType.TURNEDFACEDOWN, getId(), playerId));
            return true;
        }
Solution content
        GameEvent event = GameEvent.getEvent(GameEvent.EventType.TURNFACEDOWN, getId(), playerId);
        if (!game.replaceEvent(event)) {
            setFaceDown(true, game);
            game.fireEvent(GameEvent.getEvent(GameEvent.EventType.TURNEDFACEDOWN, getId(), playerId));
            return true;
        }
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    @Override
    public String getLogName() {
<<<<<<< HEAD
=======
//        if (this.isFaceDown()) {
//            return "facedown card";
//        }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        return name;
    }
}
Solution content
    @Override
    public String getLogName() {
        return name;
    }
}
File
CardImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    void add(Card card);
    Card get(UUID cardId, Game game);
    void remove(Card card);
<<<<<<< HEAD
=======
//    void setOwner(UUID ownerId, Game game);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    void addAll(List createCards);
    Set getCards(Game game);
    Set getCards(FilterCard filter, Game game);
Solution content
    void add(Card card);
    Card get(UUID cardId, Game game);
    void remove(Card card);
    void addAll(List createCards);
    Set getCards(Game game);
    Set getCards(FilterCard filter, Game game);
File
Cards.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
<<<<<<< HEAD
=======
//    @Override
        this.remove(card.getId());
    }

//    public void setOwner(UUID ownerId, Game game) {
//        this.ownerId = ownerId;
//        for (UUID card: this) {
//            game.getCard(card).setOwnerId(ownerId);
//        }
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public Card getRandom(Game game) {
        if (this.size() == 0) {
Solution content
        this.remove(card.getId());
    }

    @Override
    public Card getRandom(Game game) {
        if (this.size() == 0) {
File
CardsImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return rules;
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setControllerId(UUID controllerId) {
//        abilities.setControllerId(controllerId);
//        leftHalfCard.getAbilities().setControllerId(controllerId);
//        rightHalfCard.getAbilities().setControllerId(controllerId);
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public void setOwnerId(UUID ownerId) {
        super.setOwnerId(ownerId);
Solution content
        return rules;
    }

    @Override
    public void setOwnerId(UUID ownerId) {
        super.setOwnerId(ownerId);
File
SplitCard.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        leftHalfCard.setOwnerId(ownerId);
        rightHalfCard.setOwnerId(ownerId);
    }
<<<<<<< HEAD
=======

//    @Override
//    public List getWatchers() {
//        List allWatchers = new ArrayList<>();
//        allWatchers.addAll(super.getWatchers());
//        allWatchers.addAll(leftHalfCard.getWatchers());
//        allWatchers.addAll(rightHalfCard.getWatchers());
//        return allWatchers;
//    }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
}

/*
Solution content
        leftHalfCard.setOwnerId(ownerId);
        rightHalfCard.setOwnerId(ownerId);
    }
}

/*
File
SplitCard.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
                card = ((PermanentCard)card).getCard();
            }
            card.setOwnerId(ownerId);
<<<<<<< HEAD
=======
            //card.setFaceDown(false, this); // can be set face dwon from previous game
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            gameCards.put(card.getId(), card);
            state.addCard(card, this);
            if (card.isSplitCard()) {
Solution content
                card = ((PermanentCard)card).getCard();
            }
            card.setOwnerId(ownerId);
            gameCards.put(card.getId(), card);
            state.addCard(card, this);
            if (card.isSplitCard()) {
File
GameImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            state.addCard(card, this);
            if (card.isSplitCard()) {
                Card leftCard = ((SplitCard)card).getLeftHalfCard();
<<<<<<< HEAD
                gameCards.put(leftCard.getId(), leftCard);
                state.addCard(leftCard, this);
                Card rightCard = ((SplitCard)card).getRightHalfCard();
=======
                //leftCard.setOwnerId(ownerId);
                gameCards.put(leftCard.getId(), leftCard);
                state.addCard(leftCard, this);
                Card rightCard = ((SplitCard)card).getRightHalfCard();
                //rightCard.setOwnerId(ownerId);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                gameCards.put(rightCard.getId(), rightCard);
                state.addCard(rightCard, this);
            }
Solution content
            state.addCard(card, this);
            if (card.isSplitCard()) {
                Card leftCard = ((SplitCard)card).getLeftHalfCard();
                gameCards.put(leftCard.getId(), leftCard);
                state.addCard(leftCard, this);
                Card rightCard = ((SplitCard)card).getRightHalfCard();
                gameCards.put(rightCard.getId(), rightCard);
                state.addCard(rightCard, this);
            }
File
GameImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Method invocation
Variable
Chunk
Conflicting content
        }
    }

<<<<<<< HEAD
=======
//    @Override
//    public void unloadCard(Card card) {
//        gameCards.remove(card.getId());
//        state.removeCard(card);
//        if (card.isSplitCard()) {
//            Card leftCard = ((SplitCard)card).getLeftHalfCard();
//            gameCards.remove(leftCard.getId());
//            state.removeCard(leftCard);
//            Card rightCard = ((SplitCard)card).getRightHalfCard();
//            gameCards.remove(rightCard.getId());
//            state.removeCard(rightCard);
//        }                
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public Collection getCards() {
        return gameCards.values();
Solution content
        }
    }

    @Override
    public Collection getCards() {
        return gameCards.values();
File
GameImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    public Card copyCard(Card cardToCopy, Ability source) {
        Card copiedCard = cardToCopy.copy();
        copiedCard.assignNewId();
<<<<<<< HEAD
=======
        //copiedCard.setControllerId(newController);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        copiedCard.setCopy(true);
        Set cards = new HashSet<>();
        cards.add(copiedCard);
Solution content
    public Card copyCard(Card cardToCopy, Ability source) {
        Card copiedCard = cardToCopy.copy();
        copiedCard.assignNewId();
        copiedCard.setCopy(true);
        Set cards = new HashSet<>();
        cards.add(copiedCard);
File
GameImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            for (Card card: player.getHand().getCards(this)) {
                if (card.isCopy()) {
                    player.getHand().remove(card);
<<<<<<< HEAD
=======
                    //this.unloadCard(card);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                    state.removeCopiedCard(card);
                }
            }
Solution content
            for (Card card: player.getHand().getCards(this)) {
                if (card.isCopy()) {
                    player.getHand().remove(card);
                    state.removeCopiedCard(card);
                }
            }
File
GameImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            for (Card card: player.getGraveyard().getCards(this)) {
                if (card.isCopy()) {
                    player.getGraveyard().remove(card);
<<<<<<< HEAD
=======
                    //this.unloadCard(card);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                    state.removeCopiedCard(card);
                }
            }
Solution content
            for (Card card: player.getGraveyard().getCards(this)) {
                if (card.isCopy()) {
                    player.getGraveyard().remove(card);
                    state.removeCopiedCard(card);
                }
            }
File
GameImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        for (Card card: this.getState().getExile().getAllCards(this)) {
            if (card.isCopy()) {
                this.getState().getExile().removeCard(card, this);
<<<<<<< HEAD
=======
                //this.unloadCard(card);
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                state.removeCopiedCard(card);
            }
        }   
Solution content
        for (Card card: this.getState().getExile().getAllCards(this)) {
            if (card.isCopy()) {
                this.getState().getExile().removeCard(card, this);
                state.removeCopiedCard(card);
            }
        }   
File
GameImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    private final Map lookedAt = new HashMap<>();
    private final DelayedTriggeredAbilities delayed;
    private final SpecialActions specialActions;
<<<<<<< HEAD
=======
    //private final Map> otherAbilities = new HashMap<>();
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    private final TurnMods turnMods;
    private final Watchers watchers;
    
Solution content
    private final Map lookedAt = new HashMap<>();
    private final DelayedTriggeredAbilities delayed;
    private final SpecialActions specialActions;
    private final TurnMods turnMods;
    private final Watchers watchers;
    
File
GameState.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        }
        this.zones.putAll(state.zones);
<<<<<<< HEAD
=======
//        for (Map.Entry> entry: state.otherAbilities.entrySet()) {
//            otherAbilities.put(entry.getKey(), entry.getValue().copy());
//        }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        this.paused = state.paused;
        this.simultaneousEvents.addAll(state.simultaneousEvents);
        this.zoneChangeCounter.putAll(state.zoneChangeCounter);
Solution content
        }
        this.zones.putAll(state.zones);
        this.paused = state.paused;
        this.simultaneousEvents.addAll(state.simultaneousEvents);
        this.zoneChangeCounter.putAll(state.zoneChangeCounter);
File
GameState.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            removeCopiedCard( ((SplitCard)card).getLeftHalfCard());
            removeCopiedCard( ((SplitCard)card).getRightHalfCard());
        }
<<<<<<< HEAD
=======
    }

    public void addAbility(Ability ability, Card attachedTo) {
        addAbility(ability, null, attachedTo);
//        if (ability instanceof StaticAbility) {
//            for (Mode mode: ability.getModes().values()) {
//                for (Effect effect: mode.getEffects()) {
//                    if (effect instanceof ContinuousEffect) {
//                        addEffect((ContinuousEffect)effect, ability);
//                    }
//                }
//            }
//        }
//        else if (ability instanceof TriggeredAbility) {
//            this.triggers.add((TriggeredAbility)ability, card);
//        }
//        for (Watcher watcher: ability.getWatchers()) {
//            watcher.setControllerId(card.getOwnerId());
//            watcher.setSourceId(card.getId());
//            watchers.add(watcher);
//        }
//        for (Ability sub: ability.getSubAbilities()) {
//            addAbility(sub, card);
//        }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    public void addAbility(Ability ability, Card attachedTo) {
Solution content
            removeCopiedCard( ((SplitCard)card).getLeftHalfCard());
            removeCopiedCard( ((SplitCard)card).getRightHalfCard());
        }
    }

    public void addAbility(Ability ability, Card attachedTo) {
File
GameState.java
Developer's decision
Version 1
Kind of conflict
Comment
Method invocation
Method signature
Chunk
Conflicting content
    @Deprecated
    public void addAbility(Ability ability, MageObject attachedTo) {
        addAbility(ability, null, attachedTo);
<<<<<<< HEAD
=======
//        if (ability instanceof StaticAbility) {
//            for (Mode mode: ability.getModes().values()) {
//                for (Effect effect: mode.getEffects()) {
//                    if (effect instanceof ContinuousEffect) {
//                        addEffect((ContinuousEffect)effect, ability);
//                    }
//                }
//            }
//        }
//        else if (ability instanceof TriggeredAbility) {
//            this.triggers.add((TriggeredAbility)ability, attachedTo);
//        }
//        for (Ability sub: ability.getSubAbilities()) {
//            addAbility(sub, attachedTo);
//        }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    public void addAbility(Ability ability, UUID sourceId, MageObject attachedTo) {
Solution content
    @Deprecated
    public void addAbility(Ability ability, MageObject attachedTo) {
        addAbility(ability, null, attachedTo);
    }

    public void addAbility(Ability ability, UUID sourceId, MageObject attachedTo) {
File
GameState.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        }
        cardState.get(objectId).addAbility(ability);
    }
<<<<<<< HEAD
=======

//    private void resetOtherAbilities() {
//        otherAbilities.clear();
//    }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949

    /**
     * Removes Triggered abilities that were gained from sourceId
Solution content
        }
        cardState.get(objectId).addAbility(ability);
    }

    /**
     * Removes Triggered abilities that were gained from sourceId
File
GameState.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    private void reset() {
        this.setLegendaryRuleActive(true);
<<<<<<< HEAD
=======
//        this.resetOtherAbilities();
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    public void clear() {
Solution content
    private void reset() {
        this.setLegendaryRuleActive(true);
    }

    public void clear() {
File
GameState.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    public PermanentCard(Card card, UUID controllerId) {
        this(card, false, controllerId);
    }
<<<<<<< HEAD

=======
    
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    public PermanentCard(Card card, boolean faceDown, UUID controllerId) {
        super(card.getId(), card.getOwnerId(), controllerId, card.getName());
        this.card = card.copy();
Solution content
    public PermanentCard(Card card, UUID controllerId) {
        this(card, false, controllerId);
    }

    public PermanentCard(Card card, boolean faceDown, UUID controllerId) {
        super(card.getId(), card.getOwnerId(), controllerId, card.getName());
        this.card = card.copy();
File
PermanentCard.java
Developer's decision
Version 1
Kind of conflict
Blank
Chunk
Conflicting content
    protected void copyFromCard(Card card) {
        this.name = card.getName();
        this.abilities.clear();
<<<<<<< HEAD
        if (this.faceDown) {
            for (Ability ability: card.getAbilities()) {
                if (ability.getWorksFaceDown()) {
                    this.abilities.add(ability.copy());
                }
            }
        }
        else {
            this.abilities = card.getAbilities().copy();
        }
        this.abilities.setControllerId(this.controllerId);
=======
        this.abilities = card.getAbilities().copy();
        this.abilities.setControllerId(this.controllerId);
//        this.watchers.clear();
//        this.watchers.addAll(card.getWatchers());
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        this.cardType.clear();
        this.cardType.addAll(card.getCardType());
        this.color = card.getColor().copy();
Solution content
    protected void copyFromCard(Card card) {
        this.name = card.getName();
        this.abilities.clear();
        if (this.faceDown) {
            for (Ability ability: card.getAbilities()) {
                if (ability.getWorksFaceDown()) {
                    this.abilities.add(ability.copy());
                }
            }
        }
        else {
            this.abilities = card.getAbilities().copy();
        }
        this.abilities.setControllerId(this.controllerId);
        this.cardType.clear();
        this.cardType.addAll(card.getCardType());
        this.color = card.getColor().copy();
File
PermanentCard.java
Developer's decision
Version 1
Kind of conflict
Comment
If statement
Method invocation
Chunk
Conflicting content
        this.flipCard = card.isFlipCard();
        this.flipCardName = card.getFlipCardName();
        this.morphCard = card.isMorphCard();
<<<<<<< HEAD
=======
//        this.faceDown = card.isFaceDown();
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    }

    public Card getCard() {
Solution content
        this.flipCard = card.isFlipCard();
        this.flipCardName = card.getFlipCardName();
        this.morphCard = card.isMorphCard();
    }

    public Card getCard() {
File
PermanentCard.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        if (controller != null && controller.removeFromBattlefield(this, game)) {
            if (isFaceDown(game) && isMorphCard()) {
                setFaceDown(false, game);
<<<<<<< HEAD
=======
                //game.getCard(this.getId()).setFaceDown(false); //TODO: Do this in a better way
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            }
            ZoneChangeEvent event = new ZoneChangeEvent(this, sourceId, controllerId, fromZone, toZone, appliedEffects);
            if (!game.replaceEvent(event)) {
Solution content
        if (controller != null && controller.removeFromBattlefield(this, game)) {
            if (isFaceDown(game) && isMorphCard()) {
                setFaceDown(false, game);
            }
            ZoneChangeEvent event = new ZoneChangeEvent(this, sourceId, controllerId, fromZone, toZone, appliedEffects);
            if (!game.replaceEvent(event)) {
File
PermanentCard.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        Zone fromZone = game.getState().getZone(objectId);
        if (isMorphCard() && isFaceDown(game)) {
            setFaceDown(false, game);
<<<<<<< HEAD
=======
            //game.getCard(this.getId()).setFaceDown(false); //TODO: Do this in a better way
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
        }
        Player controller = game.getPlayer(controllerId);
        if (controller != null && controller.removeFromBattlefield(this, game)) {
Solution content
        Zone fromZone = game.getState().getZone(objectId);
        if (isMorphCard() && isFaceDown(game)) {
            setFaceDown(false, game);
        }
        Player controller = game.getPlayer(controllerId);
        if (controller != null && controller.removeFromBattlefield(this, game)) {
File
PermanentCard.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return this.maxLevelCounters;
    }

<<<<<<< HEAD
=======
//    @Override
//    public boolean turnFaceUp(Game game, UUID playerId) {
//        if (super.turnFaceUp(game, playerId)) {
//            card.setFaceDown(false);
//            return true;
//        }
//        return false;
//    }

//    @Override
//    public boolean turnFaceDown(Game game, UUID playerId) {
//        if (super.turnFaceDown(game, playerId)) {
//            card.setFaceDown(true);
//            return true;
//        }
//        return false;
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public void adjustTargets(Ability ability, Game game) {
        card.adjustTargets(ability, game);
Solution content
        return this.maxLevelCounters;
    }

    @Override
    public void adjustTargets(Ability ability, Game game) {
        card.adjustTargets(ability, game);
File
PermanentCard.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
    public void adjustChoices(Ability ability, Game game) {
        card.adjustChoices(ability, game);
    }
<<<<<<< HEAD
=======

//    @Override
//    public void setFaceDown(boolean value) {
//        super.setFaceDown(value);
//        if (card != null) {
//            card.setFaceDown(value);
//        }   
//    }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    
}
Solution content
    public void adjustChoices(Ability ability, Game game) {
        card.adjustChoices(ability, game);
    }
    
}
File
PermanentCard.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return card.getRarity();
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setRarity(Rarity rarity) {}

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public List getCardType() {
        if (this.getSpellAbility() instanceof BestowAbility) {
Solution content
        return card.getRarity();
    }

    @Override
    public List getCardType() {
        if (this.getSpellAbility() instanceof BestowAbility) {
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        spellAbilities.add(spellAbility);
    }

<<<<<<< HEAD
=======
//    @Override
//    public void addAbility(Ability ability) {}

//    @Override
//    public void addWatcher(Watcher watcher) {}

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public SpellAbility getSpellAbility() {
        return ability;
Solution content
        spellAbilities.add(spellAbility);
    }

    @Override
    public SpellAbility getSpellAbility() {
        return ability;
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return card.getTokenSetCode();
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setExpansionSetCode(String expansionSetCode) {}

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public void setFaceDown(boolean value, Game game) {
        faceDown = value;
Solution content
        return card.getTokenSetCode();
    }

    @Override
    public void setFaceDown(boolean value, Game game) {
        faceDown = value;
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return null;
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setSecondCardFace(Card card) {
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public boolean isNightCard() {
        return false;
Solution content
        return null;
    }

    @Override
    public boolean isNightCard() {
        return false;
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
//
//    @Override
        return false;
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setFlipCard(boolean flipCard) {
//        throw new UnsupportedOperationException("Not supported."); //To change body of generated methods, choose Tools | Templates.
//    }
//    public void setFlipCardName(String flipCardName) {
//        throw new UnsupportedOperationException("Not supported."); //To change body of generated methods, choose Tools | Templates.
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949

    @Override
    public Spell copy() {
Solution content
        return false;
    }


    @Override
    public Spell copy() {
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return card.getCardNumber();
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setCardNumber(int cid) {
//        card.setCardNumber(cid);
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public boolean getUsesVariousArt() {
        return card.getUsesVariousArt();
Solution content
        return card.getCardNumber();
    }

    @Override
    public boolean getUsesVariousArt() {
        return card.getUsesVariousArt();
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return card.getUsesVariousArt();
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setUsesVariousArt(boolean usesVariousArt) {
//        card.setUsesVariousArt(usesVariousArt);
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public List getMana() {
        return card.getMana();
Solution content
        return card.getUsesVariousArt();
    }

    @Override
    public List getMana() {
        return card.getMana();
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        return card;
    }

<<<<<<< HEAD
=======
//    @Override
//    public void setMorphCard(boolean morphCard) {
//        throw new UnsupportedOperationException("Not supported");
//    }

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public boolean isMorphCard() {
        return card.isMorphCard();
Solution content
        return card;
    }

    @Override
    public boolean isMorphCard() {
        return card.isMorphCard();
File
Spell.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
        }
    }

<<<<<<< HEAD
=======
//    @Override
//    public Costs getOptionalCosts() {
//        throw new UnsupportedOperationException("Not supported yet.");
//    }
//
//    @Override
//    public void addOptionalCost(Cost cost) {}

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
    @Override
    public boolean checkIfClause(Game game) {
        return true;
Solution content
        }
    }

    @Override
    public boolean checkIfClause(Game game) {
        return true;
File
StackAbility.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
            availableMana.addMana(manaPool.getMana());

            if (hidden) {
<<<<<<< HEAD
                getPlayableInHand(game, playable, availableMana);
=======
                for (Card card : hand.getUniqueCards(game)) {
                    for (Ability ability : card.getAbilities(game)) { // gets this activated ability from hand? (Morph?)
                        if (ability.getZone().match(Zone.HAND)) {
                            if (ability instanceof ActivatedAbility) {
                                if (!(ability instanceof PlayLandAbility) ||
                                        !game.getContinuousEffects().preventedByRuleModification(GameEvent.getEvent(GameEvent.EventType.PLAY_LAND, ability.getSourceId(), ability.getSourceId(), playerId), ability, game, true)) {
                                    if (canPlay((ActivatedAbility) ability, availableMana, card, game)) {
                                        playable.add(ability);
                                    }
                                }
                            } else if (card.getCardType().contains(CardType.LAND) && ability instanceof AlternativeSourceCosts) {
                                if (canLandPlayAlternateSourceCostsAbility(card, availableMana, ability, game)) { // e.g. Land with Morph
                                    playable.add(ability);
                                }
                            }
                        }
                    }
                }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
            }
            for (Card card : graveyard.getUniqueCards(game)) {
                boolean asThoughtCast = game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, this.getId(), game);
Solution content
            availableMana.addMana(manaPool.getMana());

            if (hidden) {
                getPlayableInHand(game, playable, availableMana);
            }
            for (Card card : graveyard.getUniqueCards(game)) {
                boolean asThoughtCast = game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, this.getId(), game);
File
PlayerImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
import mage.game.Game;
import mage.game.permanent.token.Token;
import mage.game.stack.Spell;
<<<<<<< HEAD
=======
//import mage.util.functions.CopyFunction;
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
import mage.util.functions.CopyTokenFunction;

Solution content
import mage.game.Game;
import mage.game.permanent.token.Token;
import mage.game.stack.Spell;
import mage.util.functions.CopyTokenFunction;

File
CardUtil.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
     */
    @Deprecated
    //public static CopyFunction copyTo(Card target) {
<<<<<<< HEAD
=======
//    private static CopyFunction copyTo(Card target) {
//        return new CopyFunction(target);
//    }
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949

    /**
     * Returns function that copies params\abilities from one card to {@link Token}.
Solution content
     */
    @Deprecated
    //public static CopyFunction copyTo(Card target) {

    /**
     * Returns function that copies params\abilities from one card to {@link Token}.
File
CardUtil.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
                Permanent attacker = game.getPermanent(attackerId);
                if (attacker != null) {
                    if (hasFlying(attacker, game)) {
<<<<<<< HEAD
 // traceCombat(game, attacker, null);
=======
//                        boolean traceDone = false;
                        
>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                        for (UUID blockerId : group.getBlockers()) {
                            Permanent blocker = game.getPermanent(blockerId);
                            if (blocker != null && !hasFlying(blocker, game) && !hasReach(blocker, game)) {
Solution content
                Permanent attacker = game.getPermanent(attackerId);
                if (attacker != null) {
                    if (hasFlying(attacker, game)) {
 // traceCombat(game, attacker, null);
                        for (UUID blockerId : group.getBlockers()) {
                            Permanent blocker = game.getPermanent(blockerId);
                            if (blocker != null && !hasFlying(blocker, game) && !hasReach(blocker, game)) {
File
TraceUtil.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
                            }
                        }
                    }
<<<<<<< HEAD
=======

>>>>>>> 9f1526f06a0d1e380b076b06f26f6b989b1e7949
                    if (hasUnblockable(attacker, game)) {
                        if (group.getBlockers().size() > 0) {
                            Permanent blocker = game.getPermanent(group.getBlockers().get(0));
Solution content
                            }
                        }
                    }
                    if (hasUnblockable(attacker, game)) {
                        if (group.getBlockers().size() > 0) {
                            Permanent blocker = game.getPermanent(group.getBlockers().get(0));
File
TraceUtil.java
Developer's decision
Version 1
Kind of conflict
Blank