mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
NEO: Mechtitan Core + Mechtitan token and support
This commit is contained in:
committed by
Michael Kamensky
parent
43f4866a1e
commit
c41d72044f
@@ -38,6 +38,9 @@ public final class MagicColor {
|
|||||||
if (s == null) {
|
if (s == null) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (s.equals("all")) {
|
||||||
|
return MagicColor.ALL_COLORS;
|
||||||
|
}
|
||||||
if (s.length() == 2) { //if name is two characters, check for combination of two colors
|
if (s.length() == 2) { //if name is two characters, check for combination of two colors
|
||||||
return (byte)(fromName(s.charAt(0)) | fromName(s.charAt(1)));
|
return (byte)(fromName(s.charAt(0)) | fromName(s.charAt(1)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1636,34 +1636,48 @@ public class AbilityUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (sa.hasParam("RememberCostCards") && !sa.getPaidHash().isEmpty()) {
|
if (sa.hasParam("RememberCostCards") && !sa.getPaidHash().isEmpty()) {
|
||||||
|
List <Card> noList = Lists.newArrayList();
|
||||||
|
if (sa.hasParam("RememberCostExcept")) {
|
||||||
|
noList.addAll(AbilityUtils.getDefinedCards(host, sa.getParam("RememberCostExcept"), sa));
|
||||||
|
}
|
||||||
if (sa.getParam("Cost").contains("Exile")) {
|
if (sa.getParam("Cost").contains("Exile")) {
|
||||||
final CardCollection paidListExiled = sa.getPaidList("Exiled");
|
final CardCollection paidListExiled = sa.getPaidList("Exiled");
|
||||||
for (final Card exiledAsCost : paidListExiled) {
|
for (final Card exiledAsCost : paidListExiled) {
|
||||||
host.addRemembered(exiledAsCost);
|
if (!noList.contains(exiledAsCost)) {
|
||||||
|
host.addRemembered(exiledAsCost);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sa.getParam("Cost").contains("Sac")) {
|
else if (sa.getParam("Cost").contains("Sac")) {
|
||||||
final CardCollection paidListSacrificed = sa.getPaidList("Sacrificed");
|
final CardCollection paidListSacrificed = sa.getPaidList("Sacrificed");
|
||||||
for (final Card sacrificedAsCost : paidListSacrificed) {
|
for (final Card sacrificedAsCost : paidListSacrificed) {
|
||||||
host.addRemembered(sacrificedAsCost);
|
if (!noList.contains(sacrificedAsCost)) {
|
||||||
|
host.addRemembered(sacrificedAsCost);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sa.getParam("Cost").contains("tapXType")) {
|
else if (sa.getParam("Cost").contains("tapXType")) {
|
||||||
final CardCollection paidListTapped = sa.getPaidList("Tapped");
|
final CardCollection paidListTapped = sa.getPaidList("Tapped");
|
||||||
for (final Card tappedAsCost : paidListTapped) {
|
for (final Card tappedAsCost : paidListTapped) {
|
||||||
host.addRemembered(tappedAsCost);
|
if (!noList.contains(tappedAsCost)) {
|
||||||
|
host.addRemembered(tappedAsCost);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sa.getParam("Cost").contains("Unattach")) {
|
else if (sa.getParam("Cost").contains("Unattach")) {
|
||||||
final CardCollection paidListUnattached = sa.getPaidList("Unattached");
|
final CardCollection paidListUnattached = sa.getPaidList("Unattached");
|
||||||
for (final Card unattachedAsCost : paidListUnattached) {
|
for (final Card unattachedAsCost : paidListUnattached) {
|
||||||
host.addRemembered(unattachedAsCost);
|
if (!noList.contains(unattachedAsCost)) {
|
||||||
|
host.addRemembered(unattachedAsCost);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sa.getParam("Cost").contains("Discard")) {
|
else if (sa.getParam("Cost").contains("Discard")) {
|
||||||
final CardCollection paidListDiscarded = sa.getPaidList("Discarded");
|
final CardCollection paidListDiscarded = sa.getPaidList("Discarded");
|
||||||
for (final Card discardedAsCost : paidListDiscarded) {
|
for (final Card discardedAsCost : paidListDiscarded) {
|
||||||
host.addRemembered(discardedAsCost);
|
if (!noList.contains(discardedAsCost)) {
|
||||||
|
host.addRemembered(discardedAsCost);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
forge-gui/res/cardsfolder/upcoming/mechtitan_core.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/mechtitan_core.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Name:Mechtitan Core
|
||||||
|
ManaCost:2
|
||||||
|
Types:Artifact Vehicle
|
||||||
|
PT:2/4
|
||||||
|
A:AB$ Token | Cost$ 5 Exile<1/CARDNAME> Exile<4/Artifact.Creature+Other;Vehicle.Other/other artifact creatures and/or Vehicle> | CostDesc$ {5}, Exile CARDNAME and four other artifact creatures and/or Vehicles you control: | TokenScript$ mechtitan | RememberCostCards$ True | RememberCostExcept$ Self | ImprintTokens$ True | SubAbility$ DBEffect | SpellDescription$ Create Mechtitan, a legendary 10/10 Construct artifact creature token with flying, vigilance, trample, lifelink, and haste that's all colors.
|
||||||
|
SVar:DBEffect:DB$ Effect | Triggers$ TrigLeavesBattlefield | RememberObjects$ RememberedLKI | ForgetObjects$ EffectSource | ForgetOnMoved$ Exile | ImprintCards$ Imprinted | Duration$ Permanent | SubAbility$ DBCleanup | SpellDescription$ When that token leaves the battlefield, return all cards exiled with CARDNAME except CARDNAME to the battlefield tapped under their owners' control.
|
||||||
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
|
||||||
|
SVar:TrigLeavesBattlefield:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ DBReturn | TriggerZones$ Command | TriggerDescription$ When that token leaves the battlefield, return all cards exiled with EFFECTSOURCE except EFFECTSOURCE to the battlefield tapped under their owners' control.
|
||||||
|
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | Tapped$ True
|
||||||
|
K:Crew:2
|
||||||
|
DeckHints:Type$Vehicle
|
||||||
|
Oracle:{5}, Exile Mechtitan Core and four other artifact creatures and/or Vehicles you control: Create Mechtitan, a legendary 10/10 Construct artifact creature token with flying, vigilance, trample, lifelink, and haste that's all colors. When that token leaves the battlefield, return all cards exiled with Mechtitan Core except Mechtitan Core to the battlefield tapped under their owners' control.\nCrew 2
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
Name:Citizen Token
|
Name:Citizen Token
|
||||||
Types:Creature Citizen
|
Types:Creature Citizen
|
||||||
|
Colors:all
|
||||||
ManaCost:no cost
|
ManaCost:no cost
|
||||||
PT:2/2
|
PT:2/2
|
||||||
S:Mode$ Continuous | EffectZone$ All | Affected$ Card.Self | CharacteristicDefining$ True | SetColor$ All | Description$ CARDNAME is all colors.
|
|
||||||
Oracle:This creature is all colors.
|
Oracle:This creature is all colors.
|
||||||
|
|||||||
11
forge-gui/res/tokenscripts/mechtitan.txt
Normal file
11
forge-gui/res/tokenscripts/mechtitan.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Name:Mechtitan
|
||||||
|
ManaCost:no cost
|
||||||
|
Colors:all
|
||||||
|
Types:Legendary Construct Artifact Creature
|
||||||
|
PT:10/10
|
||||||
|
K:Flying
|
||||||
|
K:Vigilance
|
||||||
|
K:Trample
|
||||||
|
K:Lifelink
|
||||||
|
K:Haste
|
||||||
|
Oracle:Mechtitan is all colors.\nFlying, vigilance, trample, lifelink, haste
|
||||||
Reference in New Issue
Block a user