mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master
This commit is contained in:
@@ -3,7 +3,7 @@ ManaCost:2 G
|
||||
Types:Creature Dinosaur
|
||||
PT:2/3
|
||||
T:Mode$ DamageDoneOnce | Execute$ TrigSearchLand | ValidTarget$ Card.Self | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Enrage — Whenever CARDNAME is dealt damage, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
SVar:TrigSearchLand:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | ChangeNum$ 1 | Tapped$ True | ShuffleNonMandatory$ TrueS
|
||||
SVar:TrigSearchLand:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | ChangeNum$ 1 | Tapped$ True | ShuffleNonMandatory$ True
|
||||
SVar:HasCombatEffect:TRUE
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/ranging_raptors.jpg
|
||||
Oracle:Enrage — Whenever Ranging Raptors is dealt damage, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
@@ -1,6 +1,7 @@
|
||||
Name:Skalla Wolf
|
||||
ManaCost:3 G G
|
||||
Types:Creature Wolf Spirit
|
||||
SVar:DBDig:DB$ Dig | DigNum$ 5 | ChangeNum$ 1 | Optional$ True | ForceRevealToController$ True | ChangeValid$ Card.Green | RestRandomOrder$ True
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ When CARDNAME enters the battlefield, look at the top five cards of your library. You may reveal a green card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
||||
SVar:TrigDig:DB$ Dig | DigNum$ 5 | ChangeNum$ 1 | Optional$ True | ForceRevealToController$ True | ChangeValid$ Card.Green | RestRandomOrder$ True
|
||||
Oracle:When Skalla Wolf enters the battlefield, look at the top five cards of your library. You may reveal a green card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
||||
PT:3/3
|
||||
@@ -4,7 +4,7 @@ Types:Creature Leviathan
|
||||
PT:6/6
|
||||
K:Trample
|
||||
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | OptionalDecider$ You | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for any number of land cards, exile them, then shuffle your library. If you do, CARDNAME has base power and base toughness each equal to the number of cards exiled this way.
|
||||
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ X | References$ X | RememberChanged$ True | SubAbility$ TrenchAnimate | ShuffleNonMandatory$ Trues
|
||||
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ X | References$ X | RememberChanged$ True | SubAbility$ TrenchAnimate | ShuffleNonMandatory$ True
|
||||
SVar:TrenchAnimate:DB$Animate | Power$ Y | Toughness$ Y | References$ Y | Permanent$ True | SubAbility$ DBCleanUp
|
||||
SVar:DBCleanUp:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:Count$TypeInYourLibrary.Land
|
||||
|
||||
@@ -74,12 +74,12 @@ public enum GroupDef {
|
||||
return -1;
|
||||
}
|
||||
}),
|
||||
DEFAULT("Default",
|
||||
new String[] { "Creatures", "Spells", "Lands" },
|
||||
DEFAULT("Default", //Beginning in DDU, "Artifacts" category is added at top of list
|
||||
new String[] { "Artifacts", "Creatures", "Other Spells", "Lands" },
|
||||
new Function<Integer, ColumnDef>() {
|
||||
@Override
|
||||
public ColumnDef apply(final Integer groupIndex) {
|
||||
if (groupIndex == 2) {
|
||||
if (groupIndex == 3) {
|
||||
return ColumnDef.NAME; //pile lands by name regardless
|
||||
}
|
||||
return null;
|
||||
@@ -90,21 +90,24 @@ public enum GroupDef {
|
||||
public Integer apply(final InventoryItem item) {
|
||||
if (item instanceof PaperCard) {
|
||||
CardType type = ((PaperCard) item).getRules().getType();
|
||||
if (type.isCreature()) {
|
||||
if (type.isArtifact()) { //artifact lands/creatures, too
|
||||
return 0;
|
||||
}
|
||||
if (type.isLand()) { //make Artifact Lands appear in Lands group
|
||||
return 2;
|
||||
}
|
||||
if (type.isArtifact() || type.isEnchantment() || type.isPlaneswalker() || type.isInstant() || type.isSorcery()) {
|
||||
if (type.isCreature()) {
|
||||
return 1;
|
||||
}
|
||||
if (type.isLand()) {
|
||||
return 3;
|
||||
}
|
||||
if (type.isEnchantment() || type.isPlaneswalker() || type.isInstant() || type.isSorcery()) {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}),
|
||||
CARD_TYPE("Type",
|
||||
new String[] { "Creatures", "Artifacts", "Enchantments", "Planeswalkers", "Instants", "Sorceries", "Lands" },
|
||||
new String[] { "Planeswalker", "Creature", "Sorcery", "Instant", "Artifact", "Enchantment", "Land", "Tribal instant" },
|
||||
new Function<Integer, ColumnDef>() {
|
||||
@Override
|
||||
public ColumnDef apply(final Integer groupIndex) {
|
||||
@@ -119,27 +122,60 @@ public enum GroupDef {
|
||||
public Integer apply(final InventoryItem item) {
|
||||
if (item instanceof PaperCard) {
|
||||
CardType type = ((PaperCard) item).getRules().getType();
|
||||
if (type.isCreature()) { //make Artifact and Land Creatures appear in Creatures group
|
||||
if (type.isPlaneswalker()) {
|
||||
return 0;
|
||||
}
|
||||
if (type.isLand()) { //make Artifact Lands appear in Lands group
|
||||
return 6;
|
||||
}
|
||||
if (type.isArtifact()) {
|
||||
if (type.isCreature()) {
|
||||
return 1;
|
||||
}
|
||||
if (type.isEnchantment()) {
|
||||
if (type.isSorcery()) {
|
||||
return 2;
|
||||
}
|
||||
if (type.isPlaneswalker()) {
|
||||
return 3;
|
||||
if (type.isTribal() && type.isInstant()) {
|
||||
return 7;
|
||||
}
|
||||
if (type.isInstant()) {
|
||||
return 3;
|
||||
}
|
||||
if (type.isArtifact()) {
|
||||
return 4;
|
||||
}
|
||||
if (type.isSorcery()) {
|
||||
if (type.isEnchantment()) {
|
||||
return 5;
|
||||
}
|
||||
if (type.isLand()) {
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}),
|
||||
PW_DECK_SORT("Planeswalker Deck Sort",
|
||||
new String[] { "Planeswalker", "Rares", "Creature", "Land", "Other Spells" },
|
||||
new Function<Integer, ColumnDef>() {
|
||||
@Override
|
||||
public ColumnDef apply(final Integer groupIndex) {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
new Function<InventoryItem, Integer>() {
|
||||
@Override
|
||||
public Integer apply(final InventoryItem item) {
|
||||
if (item instanceof PaperCard) {
|
||||
CardType type = ((PaperCard) item).getRules().getType();
|
||||
if (type.isPlaneswalker()){
|
||||
return 0;
|
||||
}
|
||||
if (((PaperCard) item).getRarity().toString() == "R"){
|
||||
return 1;
|
||||
}
|
||||
if (type.isCreature()){
|
||||
return 2;
|
||||
}
|
||||
if (type.isLand()){
|
||||
return 3;
|
||||
}
|
||||
return 4;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public final class SItemManagerUtil {
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
private static final GroupDef[] CARD_GROUPBY_OPTIONS = { GroupDef.DEFAULT, GroupDef.CARD_TYPE, GroupDef.COLOR, GroupDef.COLOR_IDENTITY, GroupDef.SET, GroupDef.CARD_RARITY };
|
||||
private static final GroupDef[] CARD_GROUPBY_OPTIONS = { GroupDef.DEFAULT, GroupDef.CARD_TYPE, GroupDef.COLOR, GroupDef.COLOR_IDENTITY, GroupDef.SET, GroupDef.CARD_RARITY, GroupDef.PW_DECK_SORT };
|
||||
private static final GroupDef[] DECK_GROUPBY_OPTIONS = { GroupDef.COLOR, GroupDef.COLOR_IDENTITY, GroupDef.SET };
|
||||
private static final ColumnDef[] CARD_PILEBY_OPTIONS = { ColumnDef.CMC, ColumnDef.COLOR, ColumnDef.NAME, ColumnDef.COST, ColumnDef.TYPE, ColumnDef.RARITY, ColumnDef.SET };
|
||||
private static final ColumnDef[] DECK_PILEBY_OPTIONS = { ColumnDef.DECK_COLOR, ColumnDef.DECK_FOLDER, ColumnDef.NAME, ColumnDef.DECK_FORMAT, ColumnDef.DECK_EDITION };
|
||||
|
||||
Reference in New Issue
Block a user