From 8693b50f4fccb846e090bfdfb3fbc1e46122d6ac Mon Sep 17 00:00:00 2001 From: Styxo Date: Mon, 9 Jan 2017 13:27:02 +0100 Subject: [PATCH] Added generation code for the enchant keyword to the script --- Utils/gen-card.pl | 20 ++++++++++++++++++++ Utils/keywords.txt | 9 ++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Utils/gen-card.pl b/Utils/gen-card.pl index e205be2c6e2..44bf93cadaa 100755 --- a/Utils/gen-card.pl +++ b/Utils/gen-card.pl @@ -227,11 +227,31 @@ foreach my $ability (@abilities) { $ability =~ m/({.*})/g; $vars{'abilities'} .= "\n this.addAbility(new " . $kw . 'Ability(this, new ManaCostsImpl("' . fixCost($1) . '")));'; $vars{'abilitiesImports'} .= "\nimport mage.abilities.costs.mana.ManaCostsImpl;"; + } elsif ($keywords{$kw} eq 'type') { + $ability =~ m/\s([a-zA-Z\s]*)/g; + if ($1 =~ m/(^.*\s.*)/g) { + $vars{'abilities'} .= "\n TargetPermanent auraTarget = new TargetPermanent(filter);"; + } else { + $vars{'abilities'} .= "\n TargetPermanent auraTarget = new Target". toCamelCase($1) . "Permanent();"; + $vars{'abilitiesImports'} .= "\nimport mage.target.common.Target". toCamelCase($1) . "Permanent;"; + } + $vars{'abilities'} .= "\n this.getSpellAbility().addTarget(auraTarget);"; + $vars{'abilities'} .= "\n this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));"; + $vars{'abilities'} .= "\n Ability ability = new EnchantAbility(auraTarget.getTargetName());"; + $vars{'abilities'} .= "\n this.addAbility(ability);"; + $vars{'abilitiesImports'} .= "\nimport mage.abilities.Ability;"; + $vars{'abilitiesImports'} .= "\nimport mage.abilities.effects.common.AttachEffect;"; + $vars{'abilitiesImports'} .= "\nimport mage.constants.Outcome;"; + $vars{'abilitiesImports'} .= "\nimport mage.target.TargetPermanent;"; + } elsif ($keywords{$kw} eq 'manaString') { + $ability =~ m/({.*})/g; + $vars{'abilities'} .= "\n this.addAbility(new " . $kw . 'Ability("' . fixCost($1) . '"));'; } $vars{'abilitiesImports'} .= "\nimport mage.abilities.keyword." . $kw . "Ability;"; } else { $vars{'abilities'} .= "\n // $kwUnchanged"; } + $vars{'abilities'} .= "\n"; } } } diff --git a/Utils/keywords.txt b/Utils/keywords.txt index f4285f2d631..b905489993b 100644 --- a/Utils/keywords.txt +++ b/Utils/keywords.txt @@ -1,10 +1,13 @@ Annihilator|number| Basic landcycling|cost| Battle cry|new| +Bestow|card, manaString| Bloodthirst|number| Bushido|number| -Convoke|new| +Buyback|manaString| Cascade|new| +Changeling|instance| +Convoke|new| Crew|number| Cumulative upkeep|cost| Cycling|cost| @@ -14,10 +17,14 @@ Delve|new| Dethrone|new| Devoid|color| Defender|instance| +Dredge|number| Double Strike|instance| Dredge|number| +Echo|manaString| +Enchant|type| Entwine|manaString| Evoke|card, manaString| +Evolve|new| Exalted|new| Exploit|new| Extort|new|