- ORI: Added Thornbow Archer

- Fixed Disorder
This commit is contained in:
swordshine
2015-07-08 04:11:56 +00:00
parent 974a33cc3a
commit 2e6bfe0504
4 changed files with 24 additions and 9 deletions

1
.gitattributes vendored
View File

@@ -14335,6 +14335,7 @@ forge-gui/res/cardsfolder/t/thorn_of_amethyst.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/thorn_thallid.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/thorn_thrash_viashino.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/thornbite_staff.txt -text
forge-gui/res/cardsfolder/t/thornbow_archer.txt -text
forge-gui/res/cardsfolder/t/thorncaster_sliver.txt -text
forge-gui/res/cardsfolder/t/thornling.txt svneol=native#text/plain
forge-gui/res/cardsfolder/t/thornscape_apprentice.txt svneol=native#text/plain

View File

@@ -62,6 +62,7 @@ import forge.game.zone.ZoneType;
import forge.item.IPaperCard;
import forge.util.Aggregates;
import forge.util.collect.FCollection;
import forge.util.Expressions;
import forge.util.Lang;
import forge.util.MyRandom;
@@ -69,6 +70,8 @@ import java.util.*;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentSkipListMap;
import org.apache.commons.lang3.StringUtils;
/**
* <p>
* Abstract Player class.
@@ -1727,7 +1730,7 @@ public class Player extends GameEntity implements Comparable<Player> {
@Override
public final boolean isValid(final String restriction, final Player sourceController, final Card source) {
final String[] incR = restriction.split("\\.");
final String[] incR = restriction.split("\\.", 2);
if (incR[0].equals("Opponent")) {
if (equals(sourceController) || !isOpponentOf(sourceController)) {
@@ -1860,6 +1863,15 @@ public class Player extends GameEntity implements Comparable<Player> {
if (getPoisonCounters() <= 0) {
return false;
}
} else if (property.startsWith("controls")) {
final String[] type = property.substring(8).split("_");
final CardCollectionView list = CardLists.getValidCards(getCardsIn(ZoneType.Battlefield), type[0], sourceController, source);
String comparator = type[1];
String compareTo = comparator.substring(2);
int y = StringUtils.isNumeric(compareTo) ? Integer.parseInt(compareTo) : 0;
if (!Expressions.compare(list.size(), comparator, y)) {
return false;
}
} else if (property.startsWith("withMore")) {
final String cardType = property.split("sThan")[0].substring(8);
final Player controller = "Active".equals(property.split("sThan")[1]) ? game.getPhaseHandler().getPlayerTurn() : sourceController;

View File

@@ -1,14 +1,7 @@
Name:Disorder
ManaCost:1 R
Types:Sorcery
A:SP$ DamageAll | Cost$ 1 R | ValidCards$ Creature.White | NumDmg$ 2 | SubAbility$ RepeatedDisorder | RememberDamaged$ True | SpellDescription$ Disorder deals 2 damage to each white creature and each player who controls a white creature.
SVar:RepeatedDisorder:DB$ RepeatEach | Cost$ 2 W W | RepeatPlayers$ Player | RepeatSubAbility$ DisorderPlayerDmg | SubAbility$ DBCleanup
SVar:DisorderPlayerDmg:DB$ DealDamage | Defined$ Player.IsRemembered | ConditionCheckSVar$ DisorderX | ConditionSVarCompare$ GE1 | NumDmg$ 2 | References$ DisorderX,StillInPlay,AlreadyDestroyed
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
#Seeing as it should seal the damage to the creatures and players simultaneously, check whether the player DID have white creatures before the creature damage.
SVar:AlreadyDestroyed:RememberedLKI$Valid Creature.White+RememberedPlayerCtrl
SVar:StillInPlay:Count$Valid Creature.White+RememberedPlayerCtrl
SVar:DisorderX:SVar$AlreadyDestroyed/Plus.StillInPlay
A:SP$ DamageAll | Cost$ 1 R | ValidCards$ Creature.White | ValidPlayers$ Player.controlsCreature.White_GE1 | NumDmg$ 2 | SpellDescription$ Disorder deals 2 damage to each white creature and each player who controls a white creature.
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/disorder.jpg
Oracle:Disorder deals 2 damage to each white creature and each player who controls a white creature.

View File

@@ -0,0 +1,9 @@
Name:Thornbow Archer
ManaCost:B
Types:Creature Elf Archer
PT:1/2
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME attacks, each opponent who doesn't control an Elf loses 1 life.
SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ Player.Opponent+controlsElf_EQ0 | LifeAmount$ 1
SVar:HasAttackEffect:TRUE
SVar:Picture:http://www.wizards.com/global/images/magic/general/thornbow_archer.jpg
Oracle:Whenever Infectious Horror attacks, each opponent who doesn't control an Elf loses 1 life.