diff --git a/.gitattributes b/.gitattributes index 4c9d5aa4709..8a74bf8bafe 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2432,7 +2432,7 @@ res/cardsfolder/fire_at_will.txt svneol=native#text/plain res/cardsfolder/fire_belly_changeling.txt -text svneol=native#text/plain res/cardsfolder/fire_bowman.txt -text svneol=native#text/plain res/cardsfolder/fire_diamond.txt -text svneol=native#text/plain -res/cardsfolder/fire_dragon.txt svneol=native#text/plain +res/cardsfolder/fire_dragon.txt -text svneol=native#text/plain res/cardsfolder/fire_drake.txt -text svneol=native#text/plain res/cardsfolder/fire_elemental.txt -text svneol=native#text/plain res/cardsfolder/fire_field_ogre.txt -text svneol=native#text/plain @@ -2449,7 +2449,7 @@ res/cardsfolder/firebreathing.txt -text svneol=native#text/plain res/cardsfolder/firecat_blitz.txt svneol=native#text/plain res/cardsfolder/firefly.txt -text svneol=native#text/plain res/cardsfolder/firemane_angel.txt -text svneol=native#text/plain -res/cardsfolder/firemaw_kavu.txt svneol=native#text/plain +res/cardsfolder/firemaw_kavu.txt -text svneol=native#text/plain res/cardsfolder/fires_of_yavimaya.txt -text svneol=native#text/plain res/cardsfolder/firescreamer.txt -text svneol=native#text/plain res/cardsfolder/fireshrieker.txt -text svneol=native#text/plain @@ -2874,7 +2874,7 @@ res/cardsfolder/goblin_chariot.txt -text svneol=native#text/plain res/cardsfolder/goblin_chieftain.txt -text svneol=native#text/plain res/cardsfolder/goblin_chirurgeon.txt svneol=native#text/plain res/cardsfolder/goblin_clearcutter.txt svneol=native#text/plain -res/cardsfolder/goblin_commando.txt svneol=native#text/plain +res/cardsfolder/goblin_commando.txt -text svneol=native#text/plain res/cardsfolder/goblin_deathraiders.txt -text svneol=native#text/plain res/cardsfolder/goblin_digging_team.txt -text svneol=native#text/plain res/cardsfolder/goblin_dirigible.txt -text svneol=native#text/plain @@ -4979,7 +4979,7 @@ res/cardsfolder/otarian_juggernaut.txt -text svneol=native#text/plain res/cardsfolder/oubliette.txt -text svneol=native#text/plain res/cardsfolder/oust.txt -text svneol=native#text/plain res/cardsfolder/outbreak.txt svneol=native#text/plain -res/cardsfolder/outrage_shaman.txt svneol=native#text/plain +res/cardsfolder/outrage_shaman.txt -text svneol=native#text/plain res/cardsfolder/outrider_of_jhess.txt -text svneol=native#text/plain res/cardsfolder/overbeing_of_myth.txt -text svneol=native#text/plain res/cardsfolder/overburden.txt -text svneol=native#text/plain @@ -6086,7 +6086,7 @@ res/cardsfolder/serendib_sorcerer.txt -text svneol=native#text/plain res/cardsfolder/serene_heart.txt -text svneol=native#text/plain res/cardsfolder/serene_offering.txt -text svneol=native#text/plain res/cardsfolder/serene_sunset.txt svneol=native#text/plain -res/cardsfolder/serenity.txt svneol=native#text/plain +res/cardsfolder/serenity.txt -text svneol=native#text/plain res/cardsfolder/serpent_assassin.txt -text svneol=native#text/plain res/cardsfolder/serpent_generator.txt -text svneol=native#text/plain res/cardsfolder/serpent_of_the_endless_sea.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/corrupt_eunuchs.txt b/res/cardsfolder/corrupt_eunuchs.txt index 5cc1d35903a..697ac85f2d3 100644 --- a/res/cardsfolder/corrupt_eunuchs.txt +++ b/res/cardsfolder/corrupt_eunuchs.txt @@ -4,7 +4,8 @@ Types:Creature Human Advisor Text:no text PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to target creature. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 +SVar:TrigDealDamage:DB$DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 +SVar:PlayMain1:TRUE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/corrupt_eunuchs.jpg SetInfo:PTK|Uncommon|http://magiccards.info/scans/en/p3k/106.jpg diff --git a/res/cardsfolder/fire_dragon.txt b/res/cardsfolder/fire_dragon.txt index 5aa2e44884f..31cadb0d474 100644 --- a/res/cardsfolder/fire_dragon.txt +++ b/res/cardsfolder/fire_dragon.txt @@ -1,14 +1,14 @@ -Name:Fire Dragon -ManaCost:6 R R R -Types:Creature Dragon -Text:no text -PT:6/6 -K:Flying -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage equal to the number of Mountains you control to target creature. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X -SVar:X:Count$TypeYouCtrl.Mountain -SVar:PlayMain1:TRUE -SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/fire_dragon.jpg -SetInfo:POR|Rare|http://magiccards.info/scans/en/po/130.jpg +Name:Fire Dragon +ManaCost:6 R R R +Types:Creature Dragon +Text:no text +PT:6/6 +K:Flying +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage equal to the number of Mountains you control to target creature. +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X +SVar:X:Count$TypeYouCtrl.Mountain +SVar:PlayMain1:TRUE +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/fire_dragon.jpg +SetInfo:POR|Rare|http://magiccards.info/scans/en/po/130.jpg End \ No newline at end of file diff --git a/res/cardsfolder/fire_imp.txt b/res/cardsfolder/fire_imp.txt index bc93a3ebb5f..06ff215695b 100644 --- a/res/cardsfolder/fire_imp.txt +++ b/res/cardsfolder/fire_imp.txt @@ -4,7 +4,8 @@ Types:Creature Imp Text:no text PT:2/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to target creature. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 +SVar:PlayMain1:TRUE SVar:Rarity:Uncommon SVar:Picture:http://resources.wizards.com/magic/cards/po/en-us/card4337.jpg SetInfo:POR|Uncommon|http://magiccards.info/scans/en/po/131.jpg diff --git a/res/cardsfolder/firemaw_kavu.txt b/res/cardsfolder/firemaw_kavu.txt index 139c74ca36d..9c1c88465d7 100644 --- a/res/cardsfolder/firemaw_kavu.txt +++ b/res/cardsfolder/firemaw_kavu.txt @@ -1,14 +1,15 @@ -Name:Firemaw Kavu -ManaCost:5 R -Types:Creature Kavu -Text:no text -PT:4/2 -K:Echo:5 R -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage2pts | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to target creature. -T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigDealDamage4pts | TriggerDescription$ When CARDNAME leaves the battlefield, it deals 4 damage to target creature. -SVar:TrigDealDamage2pts:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 -SVar:TrigDealDamage4pts:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/firemaw_kavu.jpg -SetInfo:TSP|Uncommon|http://magiccards.info/scans/en/ts/153.jpg +Name:Firemaw Kavu +ManaCost:5 R +Types:Creature Kavu +Text:no text +PT:4/2 +K:Echo:5 R +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage2pts | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to target creature. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigDealDamage4pts | TriggerDescription$ When CARDNAME leaves the battlefield, it deals 4 damage to target creature. +SVar:TrigDealDamage2pts:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 +SVar:TrigDealDamage4pts:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 +SVar:PlayMain1:TRUE +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/firemaw_kavu.jpg +SetInfo:TSP|Uncommon|http://magiccards.info/scans/en/ts/153.jpg End \ No newline at end of file diff --git a/res/cardsfolder/ghitu_slinger.txt b/res/cardsfolder/ghitu_slinger.txt index 51b565e8631..a9f556166cc 100644 --- a/res/cardsfolder/ghitu_slinger.txt +++ b/res/cardsfolder/ghitu_slinger.txt @@ -6,6 +6,7 @@ PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to target creature or player. K:Echo:2 R SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ 2 +SVar:PlayMain1:TRUE SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/ghitu_slinger.jpg SetInfo:ULG|Common|http://magiccards.info/scans/en/ul/77.jpg diff --git a/res/cardsfolder/goblin_commando.txt b/res/cardsfolder/goblin_commando.txt index a9a49d5f558..add9c00f099 100644 --- a/res/cardsfolder/goblin_commando.txt +++ b/res/cardsfolder/goblin_commando.txt @@ -1,11 +1,12 @@ -Name:Goblin Commando -ManaCost:4 R -Types:Creature Goblin -Text:no text -PT:2/2 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to target creature. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_commando.jpg -SetInfo:S99|Uncommon|http://magiccards.info/scans/en/st/100.jpg +Name:Goblin Commando +ManaCost:4 R +Types:Creature Goblin +Text:no text +PT:2/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to target creature. +SVar:TrigDealDamage:DB$DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 +SVar:PlayMain1:TRUE +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_commando.jpg +SetInfo:S99|Uncommon|http://magiccards.info/scans/en/st/100.jpg End \ No newline at end of file diff --git a/res/cardsfolder/lava_hounds.txt b/res/cardsfolder/lava_hounds.txt index 6f9cf8b7cd4..a6dfde87bb6 100644 --- a/res/cardsfolder/lava_hounds.txt +++ b/res/cardsfolder/lava_hounds.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Haste T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 4 damage to you. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 4 +SVar:TrigDealDamage:DB$DealDamage | Defined$ You | NumDmg$ 4 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/lava_hounds.jpg SetInfo:8ED|Rare|http://magiccards.info/scans/en/8e/198.jpg diff --git a/res/cardsfolder/magma_giant.txt b/res/cardsfolder/magma_giant.txt index 8dc11fbbe8c..583cfd9ba11 100644 --- a/res/cardsfolder/magma_giant.txt +++ b/res/cardsfolder/magma_giant.txt @@ -4,7 +4,7 @@ Types:Creature Giant Text:no text PT:5/5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamageAll | TriggerDescription$ When CARDNAME enters the battlefield, it deals 2 damage to each creature and each player. -SVar:TrigDamageAll:AB$DamageAll | Cost$ 0 | ValidCards$ Creature| ValidPlayers$ Each | NumDmg$ 2 | ValidDescription$ each creature and each player. +SVar:TrigDamageAll:DB$DamageAll | ValidCards$ Creature | ValidPlayers$ Each | NumDmg$ 2 | ValidDescription$ each creature and each player. SVar:RemAIDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/magma_giant.jpg diff --git a/res/cardsfolder/outrage_shaman.txt b/res/cardsfolder/outrage_shaman.txt index fffc51550e0..c14475022ea 100644 --- a/res/cardsfolder/outrage_shaman.txt +++ b/res/cardsfolder/outrage_shaman.txt @@ -1,12 +1,13 @@ -Name:Outrage Shaman -ManaCost:3 R R -Types:Creature Goblin Shaman -Text:no text -PT:2/2 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ Chroma - When CARDNAME enters the battlefield, it deals damage to target creature equal to the number of red mana symbols in the mana costs of permanents you control. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ X -SVar:X:Count$Chroma.R -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/outrage_shaman.jpg -SetInfo:EVE|Uncommon|http://magiccards.info/scans/en/eve/59.jpg +Name:Outrage Shaman +ManaCost:3 R R +Types:Creature Goblin Shaman +Text:no text +PT:2/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ Chroma - When CARDNAME enters the battlefield, it deals damage to target creature equal to the number of red mana symbols in the mana costs of permanents you control. +SVar:TrigDealDamage:DB$DealDamage | Tgt$ TgtC | NumDmg$ X +SVar:X:Count$Chroma.R +SVar:PlayMain1:TRUE +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/outrage_shaman.jpg +SetInfo:EVE|Uncommon|http://magiccards.info/scans/en/eve/59.jpg End \ No newline at end of file diff --git a/res/cardsfolder/serenity.txt b/res/cardsfolder/serenity.txt index 71f3a169705..3296cc7f3e2 100644 --- a/res/cardsfolder/serenity.txt +++ b/res/cardsfolder/serenity.txt @@ -1,11 +1,13 @@ -Name:Serenity -ManaCost:1 W -Types:Enchantment -Text:no text -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ At the beginning of your upkeep, destroy all artifacts and enchantments. They can't be regenerated. -SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Artifact,Enchantment | NoRegen$ True -SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/serenity.jpg -SetInfo:WTH|Rare|http://magiccards.info/scans/en/wl/140.jpg -SetInfo:6ED|Rare|http://magiccards.info/scans/en/6e/41.jpg +Name:Serenity +ManaCost:1 W +Types:Enchantment +Text:no text +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ At the beginning of your upkeep, destroy all artifacts and enchantments. They can't be regenerated. +SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Artifact,Enchantment | NoRegen$ True +SVar:NeedsToPlay:Artifact.YouDontCtrl,Enchantment.YouDontCtrl +SVar:RemAIDeck:True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/serenity.jpg +SetInfo:WTH|Rare|http://magiccards.info/scans/en/wl/140.jpg +SetInfo:6ED|Rare|http://magiccards.info/scans/en/6e/41.jpg End \ No newline at end of file diff --git a/res/cardsfolder/whiptail_moloch.txt b/res/cardsfolder/whiptail_moloch.txt index 98b388590ac..083d96fc584 100644 --- a/res/cardsfolder/whiptail_moloch.txt +++ b/res/cardsfolder/whiptail_moloch.txt @@ -5,7 +5,7 @@ Text:no text PT:6/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 3 damage to target creature you control. SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature.YouCtrl | NumDmg$ 3 | TgtPrompt$ Select target creature you control -SVar:RemRandomDeck:True +SVar:RemAIDeck:True SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/whiptail_moloch.jpg SetInfo:DIS|Common|http://magiccards.info/scans/en/di/79.jpg diff --git a/src/forge/card/abilityFactory/AbilityFactory_DealDamage.java b/src/forge/card/abilityFactory/AbilityFactory_DealDamage.java index a5105e2f3b2..e6c9845e761 100644 --- a/src/forge/card/abilityFactory/AbilityFactory_DealDamage.java +++ b/src/forge/card/abilityFactory/AbilityFactory_DealDamage.java @@ -423,7 +423,8 @@ public class AbilityFactory_DealDamage { } else if (o instanceof Player){ Player p = (Player)o; - if (p.isComputer() && dmg >= p.getLife()) // Damage from this spell will kill me + int restDamage = p.predictDamage(dmg, AF.getHostCard(), false); + if (p.isComputer() && p.canLoseLife() && restDamage + 3 >= p.getLife() && restDamage > 0) // Damage from this spell will kill me return false; if (p.isHuman() && !p.canLoseLife()) return false;