diff --git a/.gitattributes b/.gitattributes index c88e068ee77..e792ac68039 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2377,6 +2377,7 @@ res/cardsfolder/d/dark_offering.txt svneol=native#text/plain res/cardsfolder/d/dark_privilege.txt svneol=native#text/plain res/cardsfolder/d/dark_revenant.txt -text res/cardsfolder/d/dark_ritual.txt svneol=native#text/plain +res/cardsfolder/d/dark_sphere.txt -text res/cardsfolder/d/dark_supplicant.txt -text svneol=unset#text/plain res/cardsfolder/d/dark_suspicions.txt -text svneol=unset#text/plain res/cardsfolder/d/dark_temper.txt svneol=native#text/plain diff --git a/res/cardsfolder/d/dark_sphere.txt b/res/cardsfolder/d/dark_sphere.txt new file mode 100644 index 00000000000..95a2389510c --- /dev/null +++ b/res/cardsfolder/d/dark_sphere.txt @@ -0,0 +1,11 @@ +Name:Dark Sphere +ManaCost:0 +Types:Artifact +A:AB$ ChooseSource | Cost$ T Sac<1/CARDNAME> | Choices$ Card | RememberChosen$ True | AILogic$ NeedsPrevention | SubAbility$ DBEffect | SpellDescription$ The next time a source of your choice would deal damage to you this turn, prevent half that damage, rounded down. +SVar:DBEffect:DB$ Effect | Triggers$ DamageDealt | StaticAbilities$ StaticPrevent | SVars$ ExileEffect | RememberObjects$ Remembered +SVar:StaticPrevent:Mode$ PreventDamage | Source$ Card.IsRemembered | Target$ You | Amount$ HalfDown | EffectZone$ Command | Description$ The next time a source of your choice would deal damage to you this turn, prevent half that damage, rounded down. +SVar:DamageDealt:Mode$ DamageDone | ValidSource$ Card.IsRemembered | ValidTarget$ You | Execute$ ExileEffect | Static$ True +SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/dark_sphere.jpg +Oracle:{T}, Sacrifice Dark Sphere: The next time a source of your choice would deal damage to you this turn, prevent half that damage, rounded down. diff --git a/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java b/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java index 378cd607972..403bb132498 100644 --- a/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java +++ b/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java @@ -96,6 +96,8 @@ public class StaticAbilityPreventDamage { restDamage = restDamage - Integer.parseInt(params.get("Amount")); } else if (params.get("Amount").matches("HalfUp")) { restDamage = restDamage - (int) (Math.ceil(restDamage / 2.0)); + } else if (params.get("Amount").matches("HalfDown")) { + restDamage = restDamage - (int) (Math.floor(restDamage / 2.0)); } else { restDamage = restDamage - CardFactoryUtil.xCount(hostCard, hostCard.getSVar(params.get("Amount"))); }