mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
merge latest trunk
This commit is contained in:
3
.gitattributes
vendored
3
.gitattributes
vendored
@@ -1614,6 +1614,8 @@ res/cardsfolder/c/cessation.txt svneol=native#text/plain
|
|||||||
res/cardsfolder/c/ceta_disciple.txt svneol=native#text/plain
|
res/cardsfolder/c/ceta_disciple.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/ceta_sanctuary.txt svneol=native#text/plain
|
res/cardsfolder/c/ceta_sanctuary.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/cetavolver.txt -text
|
res/cardsfolder/c/cetavolver.txt -text
|
||||||
|
res/cardsfolder/c/chain_lightning.txt -text
|
||||||
|
res/cardsfolder/c/chain_of_vapor.txt -text
|
||||||
res/cardsfolder/c/chain_reaction.txt svneol=native#text/plain
|
res/cardsfolder/c/chain_reaction.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/chainbreaker.txt svneol=native#text/plain
|
res/cardsfolder/c/chainbreaker.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/chained_throatseeker.txt svneol=native#text/plain
|
res/cardsfolder/c/chained_throatseeker.txt svneol=native#text/plain
|
||||||
@@ -11697,6 +11699,7 @@ res/cardsfolder/v/viscerid_drone.txt -text
|
|||||||
res/cardsfolder/v/viscid_lemures.txt svneol=native#text/plain
|
res/cardsfolder/v/viscid_lemures.txt svneol=native#text/plain
|
||||||
res/cardsfolder/v/viseling.txt svneol=native#text/plain
|
res/cardsfolder/v/viseling.txt svneol=native#text/plain
|
||||||
res/cardsfolder/v/vish_kal_blood_arbiter.txt -text
|
res/cardsfolder/v/vish_kal_blood_arbiter.txt -text
|
||||||
|
res/cardsfolder/v/vision_charm.txt -text
|
||||||
res/cardsfolder/v/vision_skeins.txt svneol=native#text/plain
|
res/cardsfolder/v/vision_skeins.txt svneol=native#text/plain
|
||||||
res/cardsfolder/v/visions.txt svneol=native#text/plain
|
res/cardsfolder/v/visions.txt svneol=native#text/plain
|
||||||
res/cardsfolder/v/visions_of_beyond.txt svneol=native#text/plain
|
res/cardsfolder/v/visions_of_beyond.txt svneol=native#text/plain
|
||||||
|
|||||||
10
res/cardsfolder/c/chain_lightning.txt
Normal file
10
res/cardsfolder/c/chain_lightning.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Name:Chain Lightning
|
||||||
|
ManaCost:R
|
||||||
|
Types:Sorcery
|
||||||
|
A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 3 | SubAbility$ DBCopy1 | SpellDescription$ CARDNAME deals 3 damage to target creature or player. Then that player or that creature's controller may pay R R. If the player does, he or she may copy this spell and may choose a new target for that copy.
|
||||||
|
SVar:DBCopy1:DB$ Play | Defined$ Self | Controller$ TargetedController | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ TargetedController | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ GE1 | SubAbility$ DBCopy2 | StackDescription$ None
|
||||||
|
SVar:DBCopy2:DB$ Play | Defined$ Self | Controller$ Targeted | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ Targeted | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature | ConditionCompare$ EQ0 | StackDescription$ None
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_lightning.jpg
|
||||||
|
Oracle:Chain Lightning deals 3 damage to target creature or player. Then that player or that creature's controller may pay {R}{R}. If the player does, he or she may copy this spell and may choose a new target for that copy.
|
||||||
|
SetInfo:LEG Common
|
||||||
|
SetInfo:PD2 Common
|
||||||
8
res/cardsfolder/c/chain_of_vapor.txt
Normal file
8
res/cardsfolder/c/chain_of_vapor.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Name:Chain of Vapor
|
||||||
|
ManaCost:U
|
||||||
|
Types:Instant
|
||||||
|
A:SP$ ChangeZone | Cost$ U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCopy | StackDescription$ SpellDescription | SpellDescription$ Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land. If the player does, he or she may copy this spell and may choose a new target for that copy.
|
||||||
|
SVar:DBCopy:DB$ Play | Defined$ Self | Controller$ TargetedController | WithoutManaCost$ True | CopyCard$ True | UnlessPayer$ TargetedController | UnlessCost$ Sac<1/Land> | UnlessSwitched$ True | StackDescription$ None
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_vapor.jpg
|
||||||
|
Oracle:Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land. If the player does, he or she may copy this spell and may choose a new target for that copy.
|
||||||
|
SetInfo:ONS Uncommon
|
||||||
16
res/cardsfolder/v/vision_charm.txt
Normal file
16
res/cardsfolder/v/vision_charm.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Name:Vision Charm
|
||||||
|
ManaCost:U
|
||||||
|
Types:Instant
|
||||||
|
Text:no text
|
||||||
|
A:SP$ Charm | Cost$ U | Choices$ MillOpp,ChangeType,PhaseArtifact | CharmNum$ 1 | SpellDescription$ Choose one - Target player puts the top four cards of his or her library into his or her graveyard; or choose a land type and a basic land type, and each land of the first chosen type becomes the second chosen type until end of turn; or target artifact phases out. (While it's phased out, it's treated as though it doesn't exist. It phases in before its controller untaps during his or her next untap step.)
|
||||||
|
SVar:MillOpp:DB$ Mill | NumCards$ 4 | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player puts the top four cards of his or her library into his or her graveyard.
|
||||||
|
SVar:ChangeType:DB$ ChooseType | Defined$ You | Type$ Land | SubAbility$ RemFirstLand | SpellDescription$ Choose a land type and a basic land type, and each land of the first chosen type becomes the second chosen type until end of turn.
|
||||||
|
SVar:RemFirstLand:DB$ PumpAll | ValidCards$ Land.ChosenType | RememberAllPumped$ True | SubAbility$ ChooseType2
|
||||||
|
SVar:ChooseType2:DB$ ChooseType | Defined$ You | Type$ Basic Land | AILogic$ MostNeededType | SubAbility$ AnimateFirst
|
||||||
|
SVar:AnimateFirst:DB$ AnimateAll | ValidCards$ Land.IsRemembered | Types$ ChosenType | OverwriteTypes$ True | KeepSupertypes$ True | KeepCardTypes$ True | RemoveAllAbilities$ True | SubAbility$ DBCleanup
|
||||||
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||||
|
SVar:PhaseArtifact:DB$ Phases | ValidTgts$ Artifact | TgtPrompt$ Choose a artifact | SpellDescription$ Target artifact phases out.
|
||||||
|
SVar:RemAIDeck:True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/vision_charm.jpg
|
||||||
|
Oracle:Choose one - Target player puts the top four cards of his or her library into his or her graveyard; or choose a land type and a basic land type, and each land of the first chosen type becomes the second chosen type until end of turn; or target artifact phases out. (While it's phased out, it's treated as though it doesn't exist. It phases in before its controller untaps during his or her next untap step.)
|
||||||
|
SetInfo:VIS Common
|
||||||
@@ -9171,7 +9171,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
|
|
||||||
int requestedCMC = 0;
|
int requestedCMC = 0;
|
||||||
|
|
||||||
if (getRules().getSplitType() == CardSplitType.Split) {
|
if (getRules() != null && getRules().getSplitType() == CardSplitType.Split) {
|
||||||
switch(mode) {
|
switch(mode) {
|
||||||
case CurrentSideCMC:
|
case CurrentSideCMC:
|
||||||
// TODO: test if this returns combined CMC for the full face (then get rid of CombinedCMC mode?)
|
// TODO: test if this returns combined CMC for the full face (then get rid of CombinedCMC mode?)
|
||||||
|
|||||||
@@ -1201,7 +1201,9 @@ public class AbilityUtils {
|
|||||||
&& ComputerUtilCost.checkDamageCost(payer, ability.getPayCosts(), source, 4)
|
&& ComputerUtilCost.checkDamageCost(payer, ability.getPayCosts(), source, 4)
|
||||||
&& ComputerUtilCost.checkDiscardCost(payer, ability.getPayCosts(), source)
|
&& ComputerUtilCost.checkDiscardCost(payer, ability.getPayCosts(), source)
|
||||||
&& (!source.getName().equals("Tyrannize") || payer.getCardsIn(ZoneType.Hand).size() > 2)
|
&& (!source.getName().equals("Tyrannize") || payer.getCardsIn(ZoneType.Hand).size() > 2)
|
||||||
&& (!source.getName().equals("Breaking Point") || payer.getCreaturesInPlay().size() > 1)) {
|
&& (!source.getName().equals("Breaking Point") || payer.getCreaturesInPlay().size() > 1)
|
||||||
|
&& (!source.getName().equals("Chain of Vapor")
|
||||||
|
|| (payer.getOpponent().getCreaturesInPlay().size() > 0 && payer.getLandsInPlay().size() > 3))) {
|
||||||
// AI was crashing because the blank ability used to pay costs
|
// AI was crashing because the blank ability used to pay costs
|
||||||
// Didn't have any of the data on the original SA to pay dependant costs
|
// Didn't have any of the data on the original SA to pay dependant costs
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user