[40K] Implemented Company Commander

This commit is contained in:
Evan Kranzler 2022-10-02 21:41:14 -04:00
parent d5d33adbb8
commit a7e4fe4f2e
2 changed files with 55 additions and 0 deletions

View file

@ -0,0 +1,54 @@
package mage.cards.c;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.dynamicvalue.common.OpponentsCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.game.permanent.token.SoldierToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class CompanyCommander extends CardImpl {
public CompanyCommander(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{B}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(2);
this.toughness = new MageInt(4);
// Command Section -- When Company Commander enters the battlefield, create a number of 1/1 white Soldier creature tokens equal to the number of opponents you have.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(
new SoldierToken(), OpponentsCount.instance
).setText("create a number of 1/1 white Soldier creature tokens " +
"equal to the number of opponents you have")).withFlavorWord("Command Section"));
// Bring it Down! -- Whenever Company Commander attacks, creatures you control gain deathtouch until end of turn.
this.addAbility(new AttacksTriggeredAbility(new GainAbilityControlledEffect(
DeathtouchAbility.getInstance(), Duration.EndOfTurn,
StaticFilters.FILTER_PERMANENT_CREATURES
)).withFlavorWord("Bring it Down!"));
}
private CompanyCommander(final CompanyCommander card) {
super(card);
}
@Override
public CompanyCommander copy() {
return new CompanyCommander(this);
}
}

View file

@ -69,6 +69,7 @@ public final class Warhammer40000 extends ExpansionSet {
cards.add(new SetCardInfo("Command Tower", 270, Rarity.COMMON, mage.cards.c.CommandTower.class));
cards.add(new SetCardInfo("Commander's Sphere", 233, Rarity.COMMON, mage.cards.c.CommandersSphere.class));
cards.add(new SetCardInfo("Commissar Severina Raine", 112, Rarity.RARE, mage.cards.c.CommissarSeverinaRaine.class));
cards.add(new SetCardInfo("Company Commander", 113, Rarity.RARE, mage.cards.c.CompanyCommander.class));
cards.add(new SetCardInfo("Cranial Plating", 236, Rarity.UNCOMMON, mage.cards.c.CranialPlating.class));
cards.add(new SetCardInfo("Crumbling Necropolis", 273, Rarity.UNCOMMON, mage.cards.c.CrumblingNecropolis.class));
cards.add(new SetCardInfo("Cryptothrall", 155, Rarity.RARE, mage.cards.c.Cryptothrall.class));