[40K] Implementations for the Implementation God!

This commit is contained in:
Evan Kranzler 2022-05-12 21:18:36 -04:00
parent a705064c67
commit d9bb563549
3 changed files with 51 additions and 1 deletions

View file

@ -0,0 +1,49 @@
package mage.cards.b;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.common.CreaturesDiedThisTurnCount;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.ExileSpellEffect;
import mage.abilities.effects.common.cost.SpellCostReductionSourceEffect;
import mage.abilities.effects.common.discard.DiscardHandControllerEffect;
import mage.abilities.hint.common.CreaturesDiedThisTurnHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.watchers.common.CreaturesDiedWatcher;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BloodForTheBloodGod extends CardImpl {
public BloodForTheBloodGod(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{8}{B}{B}{R}");
// This spell costs {1} less to cast for each creature that died this turn.
this.addAbility(new SimpleStaticAbility(
Zone.ALL, new SpellCostReductionSourceEffect(CreaturesDiedThisTurnCount.instance)
.setText("this spell costs {1} less to cast for each creature that died this turn")
).addHint(CreaturesDiedThisTurnHint.instance).setRuleAtTheTop(true), new CreaturesDiedWatcher());
// Discard your hand, then draw eight cards. Blood for the Blood God! deals 8 damage to each opponent. Exile Blood for the Blood God!.
this.getSpellAbility().addEffect(new DiscardHandControllerEffect());
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(8).concatBy(", then"));
this.getSpellAbility().addEffect(new DamagePlayersEffect(8, TargetController.OPPONENT));
this.getSpellAbility().addEffect(new ExileSpellEffect());
}
private BloodForTheBloodGod(final BloodForTheBloodGod card) {
super(card);
}
@Override
public BloodForTheBloodGod copy() {
return new BloodForTheBloodGod(this);
}
}

View file

@ -19,6 +19,7 @@ public final class Warhammer40000 extends ExpansionSet {
super("Warhammer 40,000", "40K", ExpansionSet.buildDate(2022, 4, 29), SetType.SUPPLEMENTAL);
this.hasBasicLands = false;
cards.add(new SetCardInfo("Blood for the Blood God!", 108, Rarity.COMMON, mage.cards.b.BloodForTheBloodGod.class));
cards.add(new SetCardInfo("Fabricate", 181, Rarity.RARE, mage.cards.f.Fabricate.class));
}
}

View file

@ -20,7 +20,7 @@ my %keywords;
sub toCamelCase {
my $string = $_[0];
$string =~ s/\b([\w']+)\b/ucfirst($1)/ge;
$string =~ s/[-,\s\':.]//g;
$string =~ s/[-,\s\':.!]//g;
$string;
}