[JOU] Added Spirespine and Sightless Brawler.

This commit is contained in:
LevelX2 2014-04-10 18:09:49 +02:00
parent 6d2499e52f
commit f23af4406b
7 changed files with 371 additions and 5 deletions

View file

@ -0,0 +1,85 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.sets.journeyintonyx;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continious.BoostEnchantedEffect;
import mage.abilities.effects.common.continious.GainAbilityAttachedEffect;
import mage.abilities.keyword.BestowAbility;
import mage.abilities.keyword.CantAttackAloneAbility;
import mage.cards.CardImpl;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
import mage.constants.Zone;
/**
*
* @author LevelX2
*/
public class SightlessBrawler extends CardImpl<SightlessBrawler> {
public SightlessBrawler(UUID ownerId) {
super(ownerId, 24, "Sightless Brawler", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{1}{W}");
this.expansionSetCode = "JOU";
this.subtype.add("Human");
this.subtype.add("Warrior");
this.color.setWhite(true);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// Bestow 4W (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)
this.addAbility(new BestowAbility(this, "{4}{W}"));
// Sightless Brawler can't attack alone.
this.addAbility(CantAttackAloneAbility.getInstance());
// Enchanted creature gets +3/+2 and can't attack alone.
Effect effect = new BoostEnchantedEffect(3,2, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature gets +3/+2");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
effect = new GainAbilityAttachedEffect(CantAttackAloneAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText("and can't attack alone");
ability.addEffect(effect);
this.addAbility(ability);
}
public SightlessBrawler(final SightlessBrawler card) {
super(card);
}
@Override
public SightlessBrawler copy() {
return new SightlessBrawler(this);
}
}

View file

@ -0,0 +1,83 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.sets.journeyintonyx;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.combat.BlocksIfAbleAttachedEffect;
import mage.abilities.effects.common.combat.BlocksIfAbleSourceEffect;
import mage.abilities.effects.common.continious.BoostEnchantedEffect;
import mage.abilities.keyword.BestowAbility;
import mage.cards.CardImpl;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
import mage.constants.Zone;
/**
*
* @author LevelX2
*/
public class Spirespine extends CardImpl<Spirespine> {
public Spirespine(UUID ownerId) {
super(ownerId, 142, "Spirespine", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{2}{G}");
this.expansionSetCode = "JOU";
this.subtype.add("Beast");
this.color.setGreen(true);
this.power = new MageInt(4);
this.toughness = new MageInt(1);
// Bestow 4G (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)
this.addAbility(new BestowAbility(this, "{4}{G}"));
// Spirespine blocks each turn if able.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlocksIfAbleSourceEffect(Duration.WhileOnBattlefield)));
// Enchanted creature gets +4/+1 and blocks each turn if able.
Effect effect = new BoostEnchantedEffect(4,1, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature gets +4/+1");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
effect = new BlocksIfAbleAttachedEffect(Duration.WhileOnBattlefield, AttachmentType.AURA);
effect.setText("and blocks each turn if able");
ability.addEffect(effect);
this.addAbility(ability);
}
public Spirespine(final Spirespine card) {
super(card);
}
@Override
public Spirespine copy() {
return new Spirespine(this);
}
}

View file

@ -0,0 +1,84 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.abilities.effects.common.combat;
import mage.abilities.Ability;
import mage.abilities.effects.RequirementEffect;
import mage.constants.AttachmentType;
import mage.constants.Duration;
import mage.game.Game;
import mage.game.permanent.Permanent;
/**
*
* @author LevelX2
*/
public class BlocksIfAbleAttachedEffect extends RequirementEffect<BlocksIfAbleAttachedEffect> {
public BlocksIfAbleAttachedEffect(Duration duration, AttachmentType attachmentType) {
super(duration);
if (attachmentType.equals(AttachmentType.AURA)) {
this.staticText = "Enchanted creature blocks each turn if able";
} else {
this.staticText = "Equiped creature blocks each turn if able";
}
}
public BlocksIfAbleAttachedEffect(final BlocksIfAbleAttachedEffect effect) {
super(effect);
}
@Override
public BlocksIfAbleAttachedEffect copy() {
return new BlocksIfAbleAttachedEffect(this);
}
@Override
public boolean applies(Permanent permanent, Ability source, Game game) {
Permanent attachment = game.getPermanent(source.getSourceId());
return attachment != null && attachment.getAttachedTo() != null
&& permanent.getId().equals(attachment.getAttachedTo());
}
@Override
public boolean mustAttack(Game game) {
return false;
}
@Override
public boolean mustBlock(Game game) {
return false;
}
@Override
public boolean mustBlockAny(Game game) {
return true;
}
}

View file

@ -0,0 +1,84 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.abilities.effects.common.combat;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.effects.RequirementEffect;
import mage.constants.Duration;
import mage.game.Game;
import mage.game.permanent.Permanent;
/**
*
* @author LevelX2
*/
public class BlocksIfAbleSourceEffect extends RequirementEffect<BlocksIfAbleSourceEffect> {
public BlocksIfAbleSourceEffect(Duration duration) {
super(duration);
}
public BlocksIfAbleSourceEffect(final BlocksIfAbleSourceEffect effect) {
super(effect);
}
@Override
public BlocksIfAbleSourceEffect copy() {
return new BlocksIfAbleSourceEffect(this);
}
@Override
public boolean applies(Permanent permanent, Ability source, Game game) {
Permanent creature = game.getPermanent(source.getSourceId());
return creature != null && creature.getId().equals(permanent.getId());
}
@Override
public boolean mustAttack(Game game) {
return false;
}
@Override
public boolean mustBlock(Game game) {
return false;
}
@Override
public boolean mustBlockAny(Game game) {
return true;
}
@Override
public String getText(Mode mode) {
return "{this} blocks each turn if able.";
}
}

View file

@ -57,10 +57,7 @@ public class BlocksIfAbleTargetEffect extends RequirementEffect<BlocksIfAbleTarg
@Override
public boolean applies(Permanent permanent, Ability source, Game game) {
Permanent creature = game.getPermanent(source.getFirstTarget());
if (creature != null && creature.getId().equals(permanent.getId())) {
return true;
}
return false;
return creature != null && creature.getId().equals(permanent.getId());
}
@Override

View file

@ -0,0 +1,15 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package mage.abilities.keyword;
/**
*
* @author ludwig.hirth
*/
public class CantBlockAloneAttachedEffect {
}

View file

@ -16025,7 +16025,7 @@ Reverse Polarity|Revised Edition|220|U|{W}{W}|Instant|||You gain X life, where X
Righteousness|Revised Edition|221|R|{W}|Instant|||Target blocking creature gets +7/+7 until end of turn.|
Samite Healer|Revised Edition|222|C|{1}{W}|Creature - Human Cleric|1|1|{tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.|
Savannah Lions|Revised Edition|223|R|{W}|Creature - Cat|2|1||
Savannah|Revised Edition|223|R||Land - Forest Plains||||
Savannah|Revised Edition|297|R||Land - Forest Plains||||
Serra Angel|Revised Edition|224|U|{3}{W}{W}|Creature - Angel|4|4|Flying$Vigilance <i>(Attacking doesn't cause this creature to tap.)</i>|
Swords to Plowshares|Revised Edition|225|U|{W}|Instant|||Exile target creature. Its controller gains life equal to its power.|
Veteran Bodyguard|Revised Edition|226|R|{3}{W}{W}|Creature - Human|2|5|As long as Veteran Bodyguard is untapped, all damage that would be dealt to you by unblocked creatures is dealt to Veteran Bodyguard instead.|
@ -23165,3 +23165,21 @@ Ravenous Leucrocota|Journey into Nyx|136|C|{3}{G}|Creature - Beast|2|4|Vigilance
Iroas, God of Victory|Journey into Nyx|150|M|{2}{R}{W}|Legendary Enhantment Creature - God|7|4|Indestructible$As long as your devotion to red and white is less than seven, Iroas isn't a creature.$Creatures you control can't be blocked except by two or more creatures.$Prevent all damage that would be dealt to attacking creatures you control.|
Hall of Triumph|Journey into Nyx|162|R|{3}|Legendary Artifact|||As Hall of Triumph enters the battlefield choose a color.$Creatures you control of the chosen color get +1/+1.|
Heroes' Bane|Journey into Nyx|126|R|{3}{G}{G}|Creature - Hydra|0|0|Heroe's Bane enters the battlefield with four +1/+1 counters on it.${2} {G} {G}: Put X +1/+1 counters on Heroe's Bane, where X is its power.|
Dawnbringer Charioteers|Journey into Nyx|6|R|{2}{W}{W}|Creature - Human Soldier|2|4|Flying, lifelink$Heroic — Whenever you cast a spell that targets Dawnbringer Charioteers, put a +1/+1 counter on Dawnbringer Charioteers.|
Scourge of Fleets|Journey into Nyx|51|R|{5}{U}{U}|Creature - Kraken|6|6|When Scourge of Fleets enters the battlefield, return each creature your opponents control with toughness X or less, where X is the number of Islands you control.|
Dictate of Kruphix|Journey into Nyx|37|R|{1}{U}{U}|Enchantment|||Flash$At the beginning of each player's draw step, that player draws an additional card.|
Squelching Leeches|Journey into Nyx|84|R|{2}{B}{B}|Creature - Leech|0|0|Squelching Leeches's power and toughness are each equal to the number of Swamps you control.|
Doomwake Giant|Journey into Nyx|66|R|{4}{B}|Enchantment Creature - Giant|4|6|Constellation — When Doomwake Giant or another enchantment enters the battlefield under your control, creatures your opponents control get -1/-1 until end of turn.|
Spawn of Thraxes|Journey into Nyx|112|R|{5}{R}{R}|Creature - Dragon|5|5|Flying$When Spawn of Thraxes enters the battlefield, it deals damage to target creature or player equal to the number of Mountains you control.|
Dictate of the Twin Gods|Journey into Nyx|95|R|{3}{R}{R}|Enchantment|||Flash$If a source would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.|
Underworld Coinsmith|Journey into Nyx|157|U|{W}{B}|Enchantment Creature - Human Cleric|2|2|Constellation - Whenever Underworld Coinsmith or an enchantment enters the battlefield under your control, you gain 1 life.${W}{B}, Pay 1 life: Each opponent loses 1 life.|
Keranos, God of Storms|Journey into Nyx|999|M|{3}{U}{R}|Legendary Enchantment Creature - God|6|5|Indestructible$As long as your devotion to blue and red is less than seven, Keranos isn't a creature.$Reveal the first card you draw on each of your turns. Whenever you reveal a land card this way, draw a card. Whenever you reveal a nonland card this way, Keranos deals 3 damage to target creature or player.|
Temple of Epiphany|Journey into Nyx|164|R||Land|||Temple of Epiphany enters the battlefield tapped.$When Temple of Epiphany enters the battlefield, scry 1.${T}: Add {U} or {R} to your mana pool.|
Temple of Malady|Journey into Nyx|165|R||Land|||Temple of Malady enters the battlefield tapped.$When Temple of Malady enters the battlefield, scry 1.${T}: Add {B} or {G} to your mana pool.|
Godsend|Journey into Nyx|12|M|{1}{W}{W}|Legendary Artifact - Equipment|||Equipped creature gets +3/+3.$Whenever equipped creature blocks or becomes blocked by one or more creatures, you may exile one of those creatures.$Opponents can't cast cards with the same name as cards exiled with Godsend.$Equip {3}|
Ajani, Mentor of Heroes|Journey into Nyx|145|M|{3}{G}{W}|Planeswalker - Ajani|4||+1: Distribute three +1/+1 counters among one, two, or three target creatures you control$+1: Look at the top four cards of your library. You may reveal an Aura, creature, or planeswalker card from among them and put that card into your hand. Put the rest on the bottom of your library in any order.$-8: You gain 100 life.|
Crystalline Nautilus|Journey into Nyx|34|U|{2}{U}|Enchantment Creature - Nautilus|4|4|Bestow 3UU (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)$When Crystalline Nautilus becomes the target of a spell or ability, sacrifice it.$Enchanted creature gets +4/+4 and has "When this creature becomes the target of a spell or ability, sacrifice it."|
Mogis's Warhound|Journey into Nyx|104|U|{1}{R}|Enchantment Creature - Hound|2|2|Bestow 2R (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)$Mogis's Warhound attacks each turn if able.$Enchanted creature gets +2/+2 and attacks each turn if able.|
Sage of Hours|Journey into Nyx|50|M|{1}{U}|Creature - Human Wizard|1|1|Heroic - Whenever you cast a spell that targets Sage of Hours, put a +1/+1 counter on it.$Remove all +1/+1 counters from Sage of Hours: For each five counters removed this way, take an extra turn after this one.|
Sightless Brawler|Journey into Nyx|24|U|{1}{W}|Enchantment Creature - Human Warrior|3|2|Bestow 4W (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)$Sightless Brawler can't attack alone.$Enchanted creature gets +3/+2 and can't attack alone.|
Spirespine|Journey into Nyx|142|U|{2}{G}|Enchantment Creature - Beast|4|1|Bestow 4G (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)$Spirespine blocks each turn if able.$Enchanted creature gets +4/+1 and blocks each turn if able.|