mirror of
https://github.com/correl/mage.git
synced 2025-01-12 19:25:44 +00:00
[CLB] Implemented Multiclass Baldric
This commit is contained in:
parent
a8309f38f7
commit
f530ccf45e
2 changed files with 91 additions and 0 deletions
90
Mage.Sets/src/mage/cards/m/MulticlassBaldric.java
Normal file
90
Mage.Sets/src/mage/cards/m/MulticlassBaldric.java
Normal file
|
@ -0,0 +1,90 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.FullPartyCondition;
|
||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.decorator.ConditionalPreventionEffect;
|
||||
import mage.abilities.effects.common.PreventDamageToAttachedEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
||||
import mage.abilities.hint.ConditionHint;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.common.PartyCountHint;
|
||||
import mage.abilities.keyword.*;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.AttachmentType;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class MulticlassBaldric extends CardImpl {
|
||||
|
||||
private static final Condition condition1
|
||||
= new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(SubType.CLERIC));
|
||||
private static final Condition condition2
|
||||
= new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(SubType.ROGUE));
|
||||
private static final Condition condition3
|
||||
= new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(SubType.WARRIOR));
|
||||
private static final Condition condition4
|
||||
= new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(SubType.WIZARD));
|
||||
private static final Hint hint1
|
||||
= new ConditionHint(condition1, "You control a Cleric");
|
||||
private static final Hint hint2
|
||||
= new ConditionHint(condition2, "You control a Rogue");
|
||||
private static final Hint hint3
|
||||
= new ConditionHint(condition3, "You control a Warrior");
|
||||
private static final Hint hint4
|
||||
= new ConditionHint(condition4, "You control a Wizard");
|
||||
|
||||
public MulticlassBaldric(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
|
||||
|
||||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature has lifelink if you control a Cleric, deathtouch if you control a Rogue, haste if you control a Warrior, and flying if you control a Wizard.
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilityAttachedEffect(
|
||||
LifelinkAbility.getInstance(), AttachmentType.EQUIPMENT
|
||||
), condition1, "equipped creature has lifelink if you control a Cleric"
|
||||
));
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(
|
||||
DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT
|
||||
), condition2, ", deathtouch if you control a Rogue"));
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(
|
||||
HasteAbility.getInstance(), AttachmentType.EQUIPMENT
|
||||
), condition3, ", haste if you control a Warrior"));
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(
|
||||
FlyingAbility.getInstance(), AttachmentType.EQUIPMENT
|
||||
), condition4, ", and flying if you control a Wizard"));
|
||||
this.addAbility(ability.addHint(hint1).addHint(hint2).addHint(hint3).addHint(hint4));
|
||||
|
||||
// As long as you have a full party, prevent all damage that would be dealt to equipped creature.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalPreventionEffect(
|
||||
new PreventDamageToAttachedEffect(
|
||||
Duration.WhileOnBattlefield, AttachmentType.EQUIPMENT, false
|
||||
), FullPartyCondition.instance, "as long as you have a full party, " +
|
||||
"prevent all damage that would be dealt to equipped creature"
|
||||
)).addHint(PartyCountHint.instance));
|
||||
|
||||
// Equip {2}
|
||||
this.addAbility(new EquipAbility(2));
|
||||
}
|
||||
|
||||
private MulticlassBaldric(final MulticlassBaldric card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MulticlassBaldric copy() {
|
||||
return new MulticlassBaldric(this);
|
||||
}
|
||||
}
|
|
@ -210,6 +210,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Morphic Pool", 357, Rarity.RARE, mage.cards.m.MorphicPool.class));
|
||||
cards.add(new SetCardInfo("Moss Diamond", 327, Rarity.COMMON, mage.cards.m.MossDiamond.class));
|
||||
cards.add(new SetCardInfo("Mountain", 463, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Multiclass Baldric", 684, Rarity.RARE, mage.cards.m.MulticlassBaldric.class));
|
||||
cards.add(new SetCardInfo("Murder", 134, Rarity.COMMON, mage.cards.m.Murder.class));
|
||||
cards.add(new SetCardInfo("Myconid Spore Tender", 243, Rarity.COMMON, mage.cards.m.MyconidSporeTender.class));
|
||||
cards.add(new SetCardInfo("Myrkul's Edict", 135, Rarity.COMMON, mage.cards.m.MyrkulsEdict.class));
|
||||
|
|
Loading…
Reference in a new issue