mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
Some fixes (#5699)
This commit is contained in:
@@ -20,7 +20,6 @@ import forge.game.combat.AttackRequirement;
|
||||
import forge.game.combat.AttackingBand;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.keyword.Keyword;
|
||||
import forge.game.keyword.KeywordInterface;
|
||||
import forge.game.mana.Mana;
|
||||
import forge.game.player.Player;
|
||||
@@ -637,9 +636,6 @@ public class CardProperty {
|
||||
if (property.endsWith("With") && card.getPairedWith() != source) {
|
||||
return false;
|
||||
}
|
||||
if (property.endsWith("Soulbond") && !card.getPairedWith().hasKeyword(Keyword.SOULBOND)) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.startsWith("Above")) { // "Are Above" Source
|
||||
final CardCollectionView cards = card.getOwner().getCardsIn(ZoneType.Graveyard);
|
||||
if (cards.indexOf(source) >= cards.indexOf(card)) {
|
||||
|
||||
@@ -812,14 +812,14 @@ public class MagicStack /* extends MyObservable */ implements Iterable<SpellAbil
|
||||
// Grab players in turn order starting with the active player
|
||||
List<Player> players = game.getPlayersInTurnOrder(playerTurn);
|
||||
|
||||
for(Player p : players) {
|
||||
for (Player p : players) {
|
||||
if (p.hasLost()) {
|
||||
continue;
|
||||
}
|
||||
result |= chooseOrderOfSimultaneousStackEntry(p, false);
|
||||
}
|
||||
|
||||
for(Player p : players) {
|
||||
for (Player p : players) {
|
||||
if (p.hasLost()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,6 @@ Name:Flowering Lumberknot
|
||||
ManaCost:3 G
|
||||
Types:Creature Treefolk
|
||||
PT:5/5
|
||||
S:Mode$ Continuous | Affected$ Creature.Self+!PairedWithSoulbond | AddHiddenKeyword$ CARDNAME can't attack or block. | Description$ CARDNAME can't attack or block unless it's paired with a creature with soulbond.
|
||||
S:Mode$ Continuous | Affected$ Creature.Self | IsPresent$ Creature.PairedWith+withSoulbond | PresentCompare$ EQ0 | AddHiddenKeyword$ CARDNAME can't attack or block. | Description$ CARDNAME can't attack or block unless it's paired with a creature with soulbond.
|
||||
AI:RemoveDeck:Random
|
||||
Oracle:Flowering Lumberknot can't attack or block unless it's paired with a creature with soulbond.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Name:Persistent Marshstalker
|
||||
ManaCost:1 B
|
||||
Types:Creature Rat Berserker
|
||||
PT:2/1
|
||||
PT:3/1
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each other Rat you control.
|
||||
T:Mode$ AttackersDeclared | ValidAttackers$ Creature.YouCtrl+Rat | TriggerZones$ Graveyard | Execute$ TrigChangeZone | CheckSVar$ Y | SVarCompare$ GE7 | TriggerDescription$ Threshold — Whenever you attack with one or more Rats, if seven of more cards are in your graveyard, you may pay {2}{B}. If you do, return CARDNAME from your graveyard to the battlefield tapped and attacking.
|
||||
SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | Attacking$ True
|
||||
|
||||
@@ -4,7 +4,7 @@ Types:Creature Rat Rogue
|
||||
PT:4/3
|
||||
K:Offspring:3
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGenericChoice | TriggerDescription$ When this creature enters, target opponent loses 3 life unless they sacrifice a nonland permanent or discard a card.
|
||||
SVar:TrigGenericChoice:DB$ GenericChoice | Defined$ Targeted | Choices$ PaySac,PayDiscard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost
|
||||
SVar:TrigGenericChoice:DB$ GenericChoice | ValidTgts$ Opponent | Choices$ PaySac,PayDiscard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost
|
||||
SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent
|
||||
SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card
|
||||
# TODO: Most likely the ChooseGenericEffect code can be simplified somehow to avoid the necessity of having a dedicated fallback ability
|
||||
|
||||
Reference in New Issue
Block a user