Merge branch 'Card-Forge:master' into farm
@@ -1 +1,2 @@
|
|||||||
--settings ./.mvn/local-settings.xml
|
--settings
|
||||||
|
./.mvn/local-settings.xml
|
||||||
|
|||||||
@@ -2040,7 +2040,7 @@ public class ComputerUtilCombat {
|
|||||||
|
|
||||||
final boolean hasTrample = attacker.hasKeyword(Keyword.TRAMPLE);
|
final boolean hasTrample = attacker.hasKeyword(Keyword.TRAMPLE);
|
||||||
|
|
||||||
if (combat != null && hasTrample && attacker.isAttacking()) {
|
if (combat != null && remaining != null && hasTrample && attacker.isAttacking()) {
|
||||||
// if attacker has trample and some of its blockers are also blocking others it's generally a good idea
|
// if attacker has trample and some of its blockers are also blocking others it's generally a good idea
|
||||||
// to assign those without trample first so we can maximize the damage to the defender
|
// to assign those without trample first so we can maximize the damage to the defender
|
||||||
for (final Card c : remaining) {
|
for (final Card c : remaining) {
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ public class AnimateEffect extends AnimateEffectBase {
|
|||||||
|
|
||||||
if (sa.hasParam("Crew")) {
|
if (sa.hasParam("Crew")) {
|
||||||
c.becomesCrewed(sa);
|
c.becomesCrewed(sa);
|
||||||
|
c.updatePowerToughnessForView();
|
||||||
}
|
}
|
||||||
|
|
||||||
game.fireEvent(new GameEventCardStatsChanged(c));
|
game.fireEvent(new GameEventCardStatsChanged(c));
|
||||||
|
|||||||
@@ -6361,7 +6361,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tr.getParam("Destination").equals(ZoneType.Battlefield.toString())) {
|
if (!ZoneType.Battlefield.toString().equals(tr.getParam("Destination"))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1722,7 +1722,7 @@ public class CardProperty {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else if (property.equals("hadToAttackThisCombat")) {
|
} else if (property.equals("hadToAttackThisCombat")) {
|
||||||
AttackRequirement e = combat.getAttackConstraints().getRequirements().get(card);
|
AttackRequirement e = combat == null ? null : combat.getAttackConstraints().getRequirements().get(card);
|
||||||
if (e == null || !e.hasCreatureRequirement() || !e.getAttacker().equalsWithTimestamp(card)) {
|
if (e == null || !e.hasCreatureRequirement() || !e.getAttacker().equalsWithTimestamp(card)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,10 @@ public class EnemySprite extends CharacterSprite {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void updateBoundingRect() { //We want enemies to take the full tile.
|
void updateBoundingRect() { //We want enemies to take the full tile.
|
||||||
boundingRect.set(getX(), getY(), getWidth(), getHeight());
|
float scale = data == null ? 1f : data.scale;
|
||||||
|
if (scale < 0)
|
||||||
|
scale = 1f;
|
||||||
|
boundingRect.set(getX(), getY(), getWidth()*scale, getHeight()*scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void moveTo(Actor other, float delta) {
|
public void moveTo(Actor other, float delta) {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class EffectData implements Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Array<IPaperCard> startBattleWithCards() {
|
public Array<IPaperCard> startBattleWithCards() {
|
||||||
Array<IPaperCard> startCards=new Array<>();
|
Array<IPaperCard> startCards=new Array<>(IPaperCard.class);
|
||||||
if(startBattleWithCard != null) {
|
if(startBattleWithCard != null) {
|
||||||
for (String name:startBattleWithCard) {
|
for (String name:startBattleWithCard) {
|
||||||
PaperCard C = FModel.getMagicDb().getCommonCards().getCard(name);
|
PaperCard C = FModel.getMagicDb().getCommonCards().getCard(name);
|
||||||
|
|||||||
@@ -260,7 +260,9 @@ public class FSkin {
|
|||||||
final FileHandle f9 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES2_FILE);
|
final FileHandle f9 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES2_FILE);
|
||||||
final FileHandle f10 = getDefaultSkinFile(ForgeConstants.SPRITE_BORDER_FILE);
|
final FileHandle f10 = getDefaultSkinFile(ForgeConstants.SPRITE_BORDER_FILE);
|
||||||
final FileHandle f11 = getSkinFile(ForgeConstants.SPRITE_BUTTONS_FILE);
|
final FileHandle f11 = getSkinFile(ForgeConstants.SPRITE_BUTTONS_FILE);
|
||||||
|
final FileHandle f11b = getDefaultSkinFile(ForgeConstants.SPRITE_BUTTONS_FILE);
|
||||||
final FileHandle f12 = getSkinFile(ForgeConstants.SPRITE_START_FILE);
|
final FileHandle f12 = getSkinFile(ForgeConstants.SPRITE_START_FILE);
|
||||||
|
final FileHandle f12b = getDefaultSkinFile(ForgeConstants.SPRITE_START_FILE);
|
||||||
final FileHandle f13 = getDefaultSkinFile(ForgeConstants.SPRITE_DECKBOX_FILE);
|
final FileHandle f13 = getDefaultSkinFile(ForgeConstants.SPRITE_DECKBOX_FILE);
|
||||||
final FileHandle f17 = getDefaultSkinFile(ForgeConstants.SPRITE_CRACKS_FILE);
|
final FileHandle f17 = getDefaultSkinFile(ForgeConstants.SPRITE_CRACKS_FILE);
|
||||||
final FileHandle f18 = getDefaultSkinFile(ForgeConstants.SPRITE_PHYREXIAN_FILE);
|
final FileHandle f18 = getDefaultSkinFile(ForgeConstants.SPRITE_PHYREXIAN_FILE);
|
||||||
@@ -313,6 +315,10 @@ public class FSkin {
|
|||||||
manager.finishLoadingAsset(f11.path());
|
manager.finishLoadingAsset(f11.path());
|
||||||
Forge.hdbuttons = true;
|
Forge.hdbuttons = true;
|
||||||
}
|
}
|
||||||
|
} else if (f11b.exists() && Forge.allowCardBG) {
|
||||||
|
manager.load(f11b.path(), Texture.class, Forge.getAssets().getTextureFilter());
|
||||||
|
manager.finishLoadingAsset(f11b.path());
|
||||||
|
Forge.hdbuttons = true;
|
||||||
} else { Forge.hdbuttons = false; } //how to refresh buttons when a theme don't have hd buttons?
|
} else { Forge.hdbuttons = false; } //how to refresh buttons when a theme don't have hd buttons?
|
||||||
if (f12.exists()) {
|
if (f12.exists()) {
|
||||||
if (!Forge.allowCardBG) {
|
if (!Forge.allowCardBG) {
|
||||||
@@ -322,6 +328,10 @@ public class FSkin {
|
|||||||
manager.finishLoadingAsset(f12.path());
|
manager.finishLoadingAsset(f12.path());
|
||||||
Forge.hdstart = true;
|
Forge.hdstart = true;
|
||||||
}
|
}
|
||||||
|
} else if (f12b.exists() && Forge.allowCardBG) {
|
||||||
|
manager.load(f12b.path(), Texture.class, Forge.getAssets().getTextureFilter());
|
||||||
|
manager.finishLoadingAsset(f12b.path());
|
||||||
|
Forge.hdstart = true;
|
||||||
} else { Forge.hdstart = false; }
|
} else { Forge.hdstart = false; }
|
||||||
//update colors
|
//update colors
|
||||||
for (final FSkinColor.Colors c : FSkinColor.Colors.values()) {
|
for (final FSkinColor.Colors c : FSkinColor.Colors.values()) {
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 17 KiB |
@@ -1,119 +1,119 @@
|
|||||||
fox.png
|
fox.png
|
||||||
size: 448,224
|
size: 378, 106
|
||||||
format: RGBA8888
|
format: RGBA8888
|
||||||
filter: Nearest,Nearest
|
filter: Nearest, Nearest
|
||||||
repeat: none
|
repeat: none
|
||||||
Avatar
|
Avatar
|
||||||
xy: 48, 49
|
xy: 17, 8
|
||||||
size: 11, 10
|
size: 16, 16
|
||||||
Idle
|
Idle
|
||||||
xy: 0, 32
|
xy: 2, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 32, 32
|
xy: 2, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 64, 32
|
xy: 36, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 96, 32
|
xy: 70, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 128, 32
|
xy: 206, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 160, 32
|
xy: 104, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 192, 32
|
xy: 138, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 224, 32
|
xy: 172, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 256, 32
|
xy: 206, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 288, 32
|
xy: 104, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 320, 32
|
xy: 240, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 352, 32
|
xy: 274, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 384, 32
|
xy: 308, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 416, 32
|
xy: 342, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 0, 96
|
xy: 2, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 32, 96
|
xy: 36, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 64, 96
|
xy: 70, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 96, 96
|
xy: 104, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 128, 96
|
xy: 138, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 160, 96
|
xy: 172, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 192, 96
|
xy: 206, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 224, 96
|
xy: 240, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 256, 96
|
xy: 274, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 288, 96
|
xy: 308, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 320, 96
|
xy: 342, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 0, 128
|
xy: 2, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 32, 128
|
xy: 138, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 64, 128
|
xy: 36, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 96, 128
|
xy: 70, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 128, 128
|
xy: 104, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 0, 192
|
xy: 2, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 32, 192
|
xy: 138, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 64, 192
|
xy: 36, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 96, 192
|
xy: 274, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 128, 192
|
xy: 172, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 160, 192
|
xy: 206, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 192, 192
|
xy: 240, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 40 KiB |
@@ -1,93 +1,90 @@
|
|||||||
ooze.png
|
ooze.png
|
||||||
size: 256,160
|
size: 242, 106
|
||||||
format: RGBA8888
|
format: RGBA8888
|
||||||
filter: Nearest,Nearest
|
filter: Nearest, Nearest
|
||||||
repeat: none
|
repeat: none
|
||||||
Avatar
|
Avatar
|
||||||
xy: 9, 151
|
xy: 36, 4
|
||||||
size: 15, 9
|
|
||||||
Idle
|
|
||||||
xy: 0, 0
|
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 32, 0
|
xy: 172, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 64, 0
|
xy: 2, 4
|
||||||
|
size: 32, 32
|
||||||
|
orig: 32, 32
|
||||||
|
Idle
|
||||||
|
xy: 36, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 96, 0
|
xy: 172, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 0, 96
|
xy: 70, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 32, 96
|
xy: 104, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Idle
|
Idle
|
||||||
xy: 64, 96
|
xy: 138, 4
|
||||||
size: 32, 32
|
|
||||||
Idle
|
|
||||||
xy: 96, 96
|
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 0, 32
|
xy: 172, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 32, 32
|
xy: 2, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 64, 32
|
xy: 206, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 96, 32
|
xy: 2, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 128, 32
|
xy: 36, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 160, 32
|
xy: 70, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 192, 32
|
xy: 104, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Walk
|
Walk
|
||||||
xy: 224, 32
|
xy: 138, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 0, 64
|
xy: 172, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 32, 64
|
xy: 2, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 64, 64
|
xy: 172, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 96, 64
|
xy: 206, 38
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 128, 64
|
xy: 2, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Attack
|
Attack
|
||||||
xy: 160, 64
|
xy: 36, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 0, 128
|
xy: 172, 4
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 32, 128
|
xy: 70, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 64, 128
|
xy: 104, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 96, 128
|
xy: 138, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 128, 128
|
xy: 172, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
Death
|
Death
|
||||||
xy: 160, 128
|
xy: 206, 72
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 20 KiB |
@@ -3425,7 +3425,7 @@
|
|||||||
"spawnRate": 1,
|
"spawnRate": 1,
|
||||||
"difficulty": 0.1,
|
"difficulty": 0.1,
|
||||||
"speed": 15,
|
"speed": 15,
|
||||||
"scale": 0.75,
|
"scale": 0.5,
|
||||||
"life": 10,
|
"life": 10,
|
||||||
"rewards": [
|
"rewards": [
|
||||||
{
|
{
|
||||||
@@ -4099,6 +4099,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Ooze",
|
"name": "Ooze",
|
||||||
"sprite": "sprites/dungeon/ooze.atlas",
|
"sprite": "sprites/dungeon/ooze.atlas",
|
||||||
|
"scale": 0.6,
|
||||||
"deck": [
|
"deck": [
|
||||||
"decks/ooze.json"
|
"decks/ooze.json"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ ManaCost:5 G
|
|||||||
Types:Legendary Artifact Creature Wizard
|
Types:Legendary Artifact Creature Wizard
|
||||||
PT:4/3
|
PT:4/3
|
||||||
K:Reach
|
K:Reach
|
||||||
S:Mode$ Continuous | CharacteristicDefining$ True | SetPower$ 16 | SetToughness$ 9 | IsPresent$ Card.Self+attacking | Affected$ Creature.basePowerEQ4+baseToughnessEQ3+tapped+YouCtrl | Description$ As long as NICKNAME is attacking, tapped creatures you control with base power and toughness 4/3 have base power and toughness 16/9.
|
S:Mode$ Continuous | SetPower$ 16 | SetToughness$ 9 | IsPresent$ Card.Self+attacking | Affected$ Creature.basePowerEQ4+baseToughnessEQ3+tapped+YouCtrl | Description$ As long as NICKNAME is attacking, tapped creatures you control with base power and toughness 4/3 have base power and toughness 16/9.
|
||||||
A:AB$ Mana | Cost$ T | Produced$ W U B R G | TriggersWhenSpent$ TrigChange | SpellDescription$ Add {W}{U}{B}{R}{G}. Creature spells you spend this mana to cast have their base power and toughness become 4/3.
|
A:AB$ Mana | Cost$ T | Produced$ W U B R G | TriggersWhenSpent$ TrigChange | SpellDescription$ Add {W}{U}{B}{R}{G}. Creature spells you spend this mana to cast have their base power and toughness become 4/3.
|
||||||
SVar:TrigChange:Mode$ SpellCast | ValidCard$ Creature | ValidActivatingPlayer$ You | Execute$ TrigAnimate | TriggerDescription$ Creature spells you spend this mana to cast have their base power and toughness become 4/3.
|
SVar:TrigChange:Mode$ SpellCast | ValidCard$ Creature | ValidActivatingPlayer$ You | Execute$ TrigAnimate | TriggerDescription$ Creature spells you spend this mana to cast have their base power and toughness become 4/3.
|
||||||
SVar:TrigAnimate:DB$ Animate | Defined$ TriggeredCard | Duration$ Permanent | Power$ 4 | Toughness$ 3
|
SVar:TrigAnimate:DB$ Animate | Defined$ TriggeredCard | Duration$ Permanent | Power$ 4 | Toughness$ 3
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ PT:1/1
|
|||||||
T:Mode$ ChangesZoneAll | ValidCards$ Creature.basePowerEQ1+baseToughnessEQ1+Other+YouCtrl | Destination$ Battlefield | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever one or more other creatures with base power and toughness 1/1 enter the battlefield under your control, put a +1/+1 counter on CARDNAME.
|
T:Mode$ ChangesZoneAll | ValidCards$ Creature.basePowerEQ1+baseToughnessEQ1+Other+YouCtrl | Destination$ Battlefield | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever one or more other creatures with base power and toughness 1/1 enter the battlefield under your control, put a +1/+1 counter on CARDNAME.
|
||||||
SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1
|
SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1
|
||||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever NICKNAME attacks, each other creature you control with base power and toughness 1/1 gets +X/+X until end of turn, where X is the number of +1/+1 counters on NICKNAME.
|
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever NICKNAME attacks, each other creature you control with base power and toughness 1/1 gets +X/+X until end of turn, where X is the number of +1/+1 counters on NICKNAME.
|
||||||
SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.basePowerEQ1+baseToughnessEQ1+Other | NumAtt$ +X | NumDef$ +X
|
SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.basePowerEQ1+baseToughnessEQ1+Other+YouCtrl | NumAtt$ +X | NumDef$ +X
|
||||||
SVar:X:Count$CardCounters.P1P1
|
SVar:X:Count$CardCounters.P1P1
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
DeckHints:Type$Citizen
|
DeckHints:Type$Citizen
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ PT:5/9
|
|||||||
K:Islandwalk
|
K:Islandwalk
|
||||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, exile it. Return it to the battlefield under your control tapped and attacking at the beginning of the next declare attackers step on your next turn.
|
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, exile it. Return it to the battlefield under your control tapped and attacking at the beginning of the next declare attackers step on your next turn.
|
||||||
SVar:TrigExile:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DelTrig
|
SVar:TrigExile:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DelTrig
|
||||||
SVar:DelTrig:DB$ DelayedTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | DelayedTriggerDefinedPlayer$ You | ThisTurn$ True | Mode$ Phase | Phase$ Declare Attackers | Execute$ TrigReturn | TriggerDescription$ Return CARDNAME to the battlefield tapped and attacking.
|
SVar:DelTrig:DB$ DelayedTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | DelayedTriggerDefinedPlayer$ You | RememberObjects$ RememberedLKI | ThisTurn$ True | Mode$ Phase | Phase$ Declare Attackers | Execute$ TrigReturn | TriggerDescription$ Return CARDNAME to the battlefield tapped and attacking.
|
||||||
SVar:TrigReturn:DB$ ChangeZone | Defined$ Self | Origin$ Exile | Destination$ Battlefield | Attacking$ True | Tapped$ True | GainControl$ True
|
SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Exile | Destination$ Battlefield | Attacking$ True | Tapped$ True | GainControl$ True
|
||||||
Oracle:Islandwalk (This creature can't be blocked as long as defending player controls an Island.)\nWhenever Meandering Towershell attacks, exile it. Return it to the battlefield under your control tapped and attacking at the beginning of the declare attackers step on your next turn.
|
Oracle:Islandwalk (This creature can't be blocked as long as defending player controls an Island.)\nWhenever Meandering Towershell attacks, exile it. Return it to the battlefield under your control tapped and attacking at the beginning of the declare attackers step on your next turn.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
An Uncommon Budget | https://downloads.cardforge.org/decks/uncommonbudget-brawl.zip
|
||||||
|
Brewer's Kitchen | https://downloads.cardforge.org/decks/brewerskitchen-brawl.zip
|
||||||
Budget Magic | https://downloads.cardforge.org/decks/budgetmagic-brawl.zip
|
Budget Magic | https://downloads.cardforge.org/decks/budgetmagic-brawl.zip
|
||||||
Card Preview | https://downloads.cardforge.org/decks/cardpreview-brawl.zip
|
Card Preview | https://downloads.cardforge.org/decks/cardpreview-brawl.zip
|
||||||
Commander Clash | https://downloads.cardforge.org/decks/commanderclash-brawl.zip
|
Commander Clash | https://downloads.cardforge.org/decks/commanderclash-brawl.zip
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
99 Problems | https://downloads.cardforge.org/decks/99problems.zip
|
99 Problems | https://downloads.cardforge.org/decks/99problems.zip
|
||||||
|
Brewer's Kitchen | https://downloads.cardforge.org/decks/brewerskitchen-commander.zip
|
||||||
Budget Commander | https://downloads.cardforge.org/decks/budgetcommander.zip
|
Budget Commander | https://downloads.cardforge.org/decks/budgetcommander.zip
|
||||||
Card Preview | https://downloads.cardforge.org/decks/cardpreview-commander.zip
|
Card Preview | https://downloads.cardforge.org/decks/cardpreview-commander.zip
|
||||||
Command Tower | https://downloads.cardforge.org/decks/commandtower.zip
|
Command Tower | https://downloads.cardforge.org/decks/commandtower.zip
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
Against the Odds | https://downloads.cardforge.org/decks/againsttheodds.zip
|
Against the Odds | https://downloads.cardforge.org/decks/againsttheodds.zip
|
||||||
|
An Uncommon Budget | https://downloads.cardforge.org/decks/uncommonbudget.zip
|
||||||
Arena Championship | https://downloads.cardforge.org/decks/arenachampionship.zip
|
Arena Championship | https://downloads.cardforge.org/decks/arenachampionship.zip
|
||||||
Breaking Through | https://downloads.cardforge.org/decks/breakingthrough.zip
|
Breaking Through | https://downloads.cardforge.org/decks/breakingthrough.zip
|
||||||
|
Brewer's Kitchen | https://downloads.cardforge.org/decks/brewerskitchen.zip
|
||||||
Brewing on a Budget | https://downloads.cardforge.org/decks/brewingonabudget.zip
|
Brewing on a Budget | https://downloads.cardforge.org/decks/brewingonabudget.zip
|
||||||
Budget Magic | https://downloads.cardforge.org/decks/budgetmagic.zip
|
Budget Magic | https://downloads.cardforge.org/decks/budgetmagic.zip
|
||||||
Budget Modern Metagame | https://downloads.cardforge.org/decks/budgetmodernmetagame.zip
|
Budget Modern Metagame | https://downloads.cardforge.org/decks/budgetmodernmetagame.zip
|
||||||
|
|||||||