mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
- Moved the damage prevention of Protection to staticDamagePrevention.
- Removed the canDamage function.
This commit is contained in:
@@ -546,14 +546,14 @@ public class AbilityFactory_DealDamage {
|
||||
CardListFilter filterX = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return CardFactoryUtil.canDamage(source, c) && c.predictDamage(maxX, source, false) >= c.getKillDamage();
|
||||
return (c.predictDamage(maxX, source, false) >= c.getKillDamage());
|
||||
}
|
||||
};
|
||||
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return CardFactoryUtil.canDamage(source, c) && c.predictDamage(dmg, source, false) >= c.getKillDamage();
|
||||
return (c.predictDamage(dmg, source, false) >= c.getKillDamage());
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -2832,7 +2832,7 @@ public class Card extends MyObservable {
|
||||
receivedDamageFromThisTurn.clear();
|
||||
}
|
||||
|
||||
//the amount of damage needed to kill the creature
|
||||
//the amount of damage needed to kill the creature (for AI)
|
||||
public int getKillDamage() {
|
||||
int killDamage = getNetDefense() + preventNextDamage - getDamage();
|
||||
if(killDamage > preventNextDamage && hasStartOfKeyword("When CARDNAME is dealt damage, destroy it.")) killDamage = 1 + preventNextDamage;
|
||||
@@ -2840,6 +2840,13 @@ public class Card extends MyObservable {
|
||||
return killDamage;
|
||||
}
|
||||
|
||||
//this is the minimal damage a trampling creature has to assign to a blocker
|
||||
public int getLethalDamage() {
|
||||
int lethalDamage = getNetDefense() - getDamage();
|
||||
|
||||
return lethalDamage;
|
||||
}
|
||||
|
||||
public void setDamage(int n) {
|
||||
//if(this.getKeyword().contains("Prevent all damage that would be dealt to CARDNAME.")) n = 0;
|
||||
damage = n;
|
||||
@@ -2853,8 +2860,6 @@ public class Card extends MyObservable {
|
||||
if(damage < 0) damage = 0;
|
||||
|
||||
int assignedDamage = damage;
|
||||
|
||||
if(!CardFactoryUtil.canDamage(sourceCard, this)) assignedDamage = 0;
|
||||
|
||||
Log.debug(this + " - was assigned " + assignedDamage + " damage, by " + sourceCard);
|
||||
if(!assignedDamageHashMap.containsKey(sourceCard)) assignedDamageHashMap.put(sourceCard, assignedDamage);
|
||||
@@ -2937,6 +2942,8 @@ public class Card extends MyObservable {
|
||||
int restDamage = damage;
|
||||
Player player = getController();
|
||||
|
||||
if(CardFactoryUtil.hasProtectionFrom(source,this)) return 0;
|
||||
|
||||
if(isCombat) {
|
||||
if(getKeyword().contains("Prevent all combat damage that would be dealt to and dealt by CARDNAME."))return 0;
|
||||
if(getKeyword().contains("Prevent all combat damage that would be dealt to CARDNAME."))return 0;
|
||||
@@ -3111,8 +3118,6 @@ public class Card extends MyObservable {
|
||||
public void addDamage(final int damageIn, final Card source) {
|
||||
int damageToAdd = damageIn;
|
||||
|
||||
if(!CardFactoryUtil.canDamage(source, this)) return;
|
||||
|
||||
damageToAdd = replaceDamage(damageToAdd, source, false);
|
||||
damageToAdd = preventDamage(damageToAdd, source, false);
|
||||
|
||||
@@ -3123,8 +3128,6 @@ public class Card extends MyObservable {
|
||||
public void addDamageWithoutPrevention(final int damageIn, final Card source) {
|
||||
int damageToAdd = damageIn;
|
||||
|
||||
if(!CardFactoryUtil.canDamage(source, this)) return;
|
||||
|
||||
damageToAdd = replaceDamage(damageToAdd, source, false);
|
||||
|
||||
addDamageAfterPrevention(damageToAdd,source);
|
||||
|
||||
@@ -2159,7 +2159,7 @@ public class CardFactory implements NewConstants {
|
||||
all = all.getValidCards(Tgts,card.getController(),card);
|
||||
|
||||
for(int i = 0; i < all.size(); i++) {
|
||||
if(CardFactoryUtil.canDamage(card, all.get(i))) all.get(i).addDamage(ndam, card);
|
||||
all.get(i).addDamage(ndam, card);
|
||||
}
|
||||
if (DmgPlayer[0] == true) {
|
||||
AllZone.ComputerPlayer.addDamage(ndam, card);
|
||||
@@ -4261,7 +4261,7 @@ public class CardFactory implements NewConstants {
|
||||
|
||||
for(int i = 0; i < creatures.size(); i++) {
|
||||
Card crd = creatures.get(i);
|
||||
if(CardFactoryUtil.canDamage(card, crd)) crd.addDamage(3, card);
|
||||
crd.addDamage(3, card);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4992,7 +4992,7 @@ public class CardFactory implements NewConstants {
|
||||
CardList list = AllZoneUtil.getCreaturesInPlay();
|
||||
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
if(CardFactoryUtil.canDamage(card, list.get(i))) list.get(i).addDamage(1, card);
|
||||
list.get(i).addDamage(1, card);
|
||||
}
|
||||
|
||||
AllZone.HumanPlayer.addDamage(1, card);
|
||||
@@ -5048,11 +5048,9 @@ public class CardFactory implements NewConstants {
|
||||
list = list.getType("Creature");
|
||||
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
if(CardFactoryUtil.canDamage(card, list.get(i))){
|
||||
HashMap<Card, Integer> m = new HashMap<Card, Integer>();
|
||||
m.put(card, 1);
|
||||
list.get(i).addDamage(m);
|
||||
}
|
||||
}
|
||||
|
||||
AllZone.HumanPlayer.addDamage(1, card);
|
||||
@@ -7845,7 +7843,7 @@ public class CardFactory implements NewConstants {
|
||||
|
||||
CardListFilter filter = new CardListFilter() {
|
||||
public boolean addCard(Card c) {
|
||||
return c.isCreature() && CardFactoryUtil.canDamage(card, c) && damage >= (c.getNetDefense() + c.getDamage());
|
||||
return c.isCreature() && damage >= (c.getNetDefense() + c.getDamage());
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -3205,6 +3205,7 @@ public class CardFactoryUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
/*no longer needed
|
||||
public static boolean canDamage(Card spell, Card receiver) {
|
||||
//this is for untargeted damage spells, such as Pestilence, Pyroclasm, Tremor, etc.
|
||||
//and also combat damage?
|
||||
@@ -3214,6 +3215,7 @@ public class CardFactoryUtil {
|
||||
return true;
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
public static boolean isCounterable(Card c) {
|
||||
if(!c.getKeyword().contains("CARDNAME can't be countered.")) return true;
|
||||
|
||||
@@ -572,7 +572,7 @@ public class CardFactory_Creatures {
|
||||
final SpellAbility ability = new Ability(card, "0") {
|
||||
@Override
|
||||
public void resolve() {
|
||||
if(getTargetCard() != null && CardFactoryUtil.canDamage(card, getTargetCard())
|
||||
if(getTargetCard() != null
|
||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) getTargetCard().addDamage(3, card);
|
||||
else getTargetPlayer().addDamage(3, card);
|
||||
}
|
||||
@@ -611,7 +611,7 @@ public class CardFactory_Creatures {
|
||||
|
||||
for(int i = 0; i < creatures.size(); i++) {
|
||||
Card crd = creatures.get(i);
|
||||
if(CardFactoryUtil.canDamage(card, crd) && !crd.equals(card)) crd.addDamage(4, card);
|
||||
if(!crd.equals(card)) crd.addDamage(4, card);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -642,7 +642,7 @@ public class CardFactory_Creatures {
|
||||
|
||||
for(int i = 0; i < creatures.size(); i++) {
|
||||
Card crd = creatures.get(i);
|
||||
if(CardFactoryUtil.canDamage(card, crd)) crd.addDamage(2, card);
|
||||
crd.addDamage(2, card);
|
||||
}
|
||||
AllZone.ComputerPlayer.addDamage(2, card);
|
||||
AllZone.HumanPlayer.addDamage(2, card);
|
||||
@@ -700,8 +700,7 @@ public class CardFactory_Creatures {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return !c.getKeyword().contains("Flying") &&
|
||||
CardFactoryUtil.canDamage(card, c);
|
||||
return !c.getKeyword().contains("Flying");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -737,8 +736,7 @@ public class CardFactory_Creatures {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.getKeyword().contains("Flying") &&
|
||||
CardFactoryUtil.canDamage(card, c);
|
||||
return c.getKeyword().contains("Flying");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1830,8 +1828,7 @@ public class CardFactory_Creatures {
|
||||
public void resolve() {
|
||||
CardList list = AllZoneUtil.getCreaturesInPlay();
|
||||
for(int i = 0; i < list.size(); i++)
|
||||
if(!list.get(i).getKeyword().contains("Flying")
|
||||
&& CardFactoryUtil.canDamage(card, list.get(i))) list.get(i).addDamage(5, card);
|
||||
if(!list.get(i).getKeyword().contains("Flying")) list.get(i).addDamage(5, card);
|
||||
}
|
||||
};
|
||||
Command destroy = new Command() {
|
||||
@@ -1911,7 +1908,6 @@ public class CardFactory_Creatures {
|
||||
@Override
|
||||
public void resolve() {
|
||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||
&& CardFactoryUtil.canDamage(card, getTargetCard())
|
||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||
getTargetCard().addDamage(4, card);
|
||||
}
|
||||
@@ -2360,7 +2356,6 @@ public class CardFactory_Creatures {
|
||||
@Override
|
||||
public void resolve() {
|
||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||
&& CardFactoryUtil.canDamage(card, getTargetCard())
|
||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) getTargetCard().addDamage(3, card);
|
||||
}
|
||||
};
|
||||
@@ -2442,7 +2437,6 @@ public class CardFactory_Creatures {
|
||||
@Override
|
||||
public void resolve() {
|
||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||
&& CardFactoryUtil.canDamage(card, getTargetCard())
|
||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) getTargetCard().addDamage(2, card);
|
||||
}
|
||||
};
|
||||
@@ -3414,7 +3408,6 @@ public class CardFactory_Creatures {
|
||||
|
||||
if(getTargetCard() != null) {
|
||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||
&& CardFactoryUtil.canDamage(card, getTargetCard())
|
||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||
Card c = getTargetCard();
|
||||
c.addDamage(damage, card);
|
||||
@@ -4408,7 +4401,7 @@ public class CardFactory_Creatures {
|
||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||
CardList list = getRadiance(getTargetCard());
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
if(CardFactoryUtil.canDamage(card, list.get(i))) list.get(i).addDamage(1, card);
|
||||
list.get(i).addDamage(1, card);
|
||||
}
|
||||
}
|
||||
}//resolve()
|
||||
@@ -4681,7 +4674,7 @@ public class CardFactory_Creatures {
|
||||
CardList list = AllZoneUtil.getCreaturesInPlayWithKeyword("Flying");
|
||||
|
||||
for(int i = 0; i < list.size(); i++)
|
||||
if(CardFactoryUtil.canDamage(card, list.get(i))) list.get(i).addDamage(1, card);
|
||||
list.get(i).addDamage(1, card);
|
||||
}//resolve()
|
||||
};//SpellAbility
|
||||
|
||||
@@ -4749,8 +4742,7 @@ public class CardFactory_Creatures {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return !c.getKeyword().contains("Flying") &&
|
||||
CardFactoryUtil.canDamage(card, c);
|
||||
return !c.getKeyword().contains("Flying");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4782,8 +4774,7 @@ public class CardFactory_Creatures {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return !c.getKeyword().contains("Flying") &&
|
||||
CardFactoryUtil.canDamage(card, c);
|
||||
return !c.getKeyword().contains("Flying");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4810,8 +4801,7 @@ public class CardFactory_Creatures {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.getKeyword().contains("Flying") &&
|
||||
!c.equals(card) && CardFactoryUtil.canDamage(card, c);
|
||||
return c.getKeyword().contains("Flying");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -6712,8 +6702,7 @@ public class CardFactory_Creatures {
|
||||
CardList cards = AllZoneUtil.getCreaturesInPlay();
|
||||
|
||||
for(int i = 0; i < cards.size(); i++) {
|
||||
if(!(cards.get(i)).isWhite()
|
||||
&& CardFactoryUtil.canDamage(card, cards.get(i))) {
|
||||
if(!(cards.get(i)).isWhite()) {
|
||||
cards.get(i).addDamage(3, card);
|
||||
}
|
||||
}
|
||||
@@ -7998,7 +7987,7 @@ public class CardFactory_Creatures {
|
||||
else { // AI Choose spread Damage
|
||||
CardList damageableWolves = wolves.filter(new CardListFilter() {
|
||||
public boolean addCard(Card c) {
|
||||
return CardFactoryUtil.canDamage(target, c);
|
||||
return (c.predictDamage(target.getNetAttack(), target, false) > 0);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -2699,7 +2699,7 @@ public class CardFactory_Instants {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.getKeyword().contains("Flying") && CardFactoryUtil.canDamage(card, c);
|
||||
return c.getKeyword().contains("Flying");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2715,8 +2715,7 @@ public class CardFactory_Instants {
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && c.getKeyword().contains("Flying") &&
|
||||
CardFactoryUtil.canDamage(card, c) && maxX >= (c.getNetDefense() + c.getDamage());
|
||||
return c.isCreature() && c.getKeyword().contains("Flying") && maxX >= (c.getKillDamage());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2886,9 +2885,7 @@ public class CardFactory_Instants {
|
||||
CardList all = AllZoneUtil.getCreaturesInPlay();
|
||||
|
||||
for(int i = 0; i < all.size(); i++) {
|
||||
if(CardFactoryUtil.canDamage(card, all.get(i))) {
|
||||
all.get(i).addDamage(card.getXManaCostPaid(), card);
|
||||
}
|
||||
}
|
||||
|
||||
card.setXManaCostPaid(0);
|
||||
@@ -2900,8 +2897,7 @@ public class CardFactory_Instants {
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && CardFactoryUtil.canDamage(card, c) &&
|
||||
maxX >= (c.getNetDefense() + c.getDamage());
|
||||
return c.isCreature() && maxX >= (c.getKillDamage());
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -949,7 +949,7 @@ class CardFactory_Planeswalkers {
|
||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||
Card c = getTargetCard();
|
||||
if(CardFactoryUtil.canDamage(card, c)) c.addDamage(1, card);
|
||||
c.addDamage(1, card);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1026,8 +1026,7 @@ class CardFactory_Planeswalkers {
|
||||
turn[0] = AllZone.Phase.getTurn();
|
||||
|
||||
card.subtractCounter(Counters.LOYALTY, damage2[0]);
|
||||
if(CardFactoryUtil.canDamage(card, getTargetCard())) getTargetCard().addDamage(damage2[0],
|
||||
card);
|
||||
getTargetCard().addDamage(damage2[0], card);
|
||||
|
||||
damage2[0] = 0;
|
||||
}//resolve()
|
||||
@@ -1113,9 +1112,8 @@ class CardFactory_Planeswalkers {
|
||||
CardList list = new CardList(play.getCards());
|
||||
list = list.getType("Creature");
|
||||
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
if(CardFactoryUtil.canDamage(card, list.get(i))) list.get(i).addDamage(10, card);
|
||||
}
|
||||
for(int i = 0; i < list.size(); i++)
|
||||
list.get(i).addDamage(10, card);
|
||||
}//resolve()
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1451,7 +1451,7 @@ public class CardFactory_Sorceries {
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && CardFactoryUtil.canDamage(card, c) && (c.getNetDefense() - c.getDamage())< 4;
|
||||
return c.isCreature() && (c.getNetDefense() - c.getDamage())< 4;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1471,10 +1471,8 @@ public class CardFactory_Sorceries {
|
||||
|
||||
for(int i = 0; i < all.size(); i++)
|
||||
if(!all.get(i).getKeyword().contains("Flying")) {
|
||||
if(CardFactoryUtil.canDamage(card, all.get(i))) {
|
||||
all.get(i).setShield(0);
|
||||
all.get(i).addDamage(3, card);
|
||||
}
|
||||
}
|
||||
AllZone.HumanPlayer.addDamage(3, card);
|
||||
AllZone.ComputerPlayer.addDamage(3, card);
|
||||
@@ -2141,7 +2139,7 @@ public class CardFactory_Sorceries {
|
||||
|
||||
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
if(CardFactoryUtil.canDamage(card, list.get(i))) list.get(i).addDamage(2, card);
|
||||
list.get(i).addDamage(2, card);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4304,8 +4302,7 @@ public class CardFactory_Sorceries {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && c.getKeyword().contains("Flying") &&
|
||||
CardFactoryUtil.canDamage(card, c);
|
||||
return c.isCreature() && c.getKeyword().contains("Flying");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4327,8 +4324,7 @@ public class CardFactory_Sorceries {
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && c.getKeyword().contains("Flying") &&
|
||||
CardFactoryUtil.canDamage(card, c) && maxX >= (c.getNetDefense() + c.getDamage());
|
||||
return c.isCreature() && c.getKeyword().contains("Flying") && maxX >= (c.getNetDefense() + c.getDamage());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -4378,8 +4374,7 @@ public class CardFactory_Sorceries {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && !c.getKeyword().contains(keyword[0]) &&
|
||||
CardFactoryUtil.canDamage(card, c);
|
||||
return c.isCreature() && !c.getKeyword().contains(keyword[0]);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4401,8 +4396,7 @@ public class CardFactory_Sorceries {
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && !c.getKeyword().contains(keyword) &&
|
||||
CardFactoryUtil.canDamage(card, c) && maxX >= (c.getNetDefense() + c.getDamage());
|
||||
return c.isCreature() && !c.getKeyword().contains(keyword) && maxX >= (c.getNetDefense() + c.getDamage());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -4480,7 +4474,7 @@ public class CardFactory_Sorceries {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && CardFactoryUtil.canDamage(card, c);
|
||||
return c.isCreature();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4496,8 +4490,7 @@ public class CardFactory_Sorceries {
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && CardFactoryUtil.canDamage(card, c) &&
|
||||
maxX >= (c.getNetDefense() + c.getDamage());
|
||||
return c.isCreature() && maxX >= (c.getNetDefense() + c.getDamage());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -4573,7 +4566,7 @@ public class CardFactory_Sorceries {
|
||||
{
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && CardFactoryUtil.canDamage(card, c);
|
||||
return c.isCreature();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4594,8 +4587,7 @@ public class CardFactory_Sorceries {
|
||||
CardListFilter filter = new CardListFilter(){
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isCreature() && CardFactoryUtil.canDamage(card, c) &&
|
||||
maxX >= (c.getNetDefense() + c.getDamage());
|
||||
return c.isCreature() && maxX >= (c.getNetDefense() + c.getDamage());
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -239,6 +239,7 @@ public class CardList implements Iterable<Card> {
|
||||
});
|
||||
}
|
||||
|
||||
/*no longer needed
|
||||
public CardList canBeDamagedBy(final Card card) {
|
||||
return this.filter(new CardListFilter() {
|
||||
public boolean addCard(Card c) {
|
||||
@@ -246,6 +247,7 @@ public class CardList implements Iterable<Card> {
|
||||
}
|
||||
});
|
||||
}
|
||||
*/
|
||||
|
||||
public CardList filter(CardListFilter f) {
|
||||
CardList c = new CardList();
|
||||
|
||||
@@ -594,8 +594,7 @@ public class Combat {
|
||||
|
||||
for(Entry<Card, Integer> entry : assignedDamageMap.entrySet()){
|
||||
Card crd = entry.getKey();
|
||||
if(CardFactoryUtil.canDamage(crd, c))
|
||||
damageMap.put(crd, entry.getValue());
|
||||
damageMap.put(crd, entry.getValue());
|
||||
}
|
||||
c.addCombatDamage(damageMap);
|
||||
|
||||
|
||||
@@ -585,8 +585,6 @@ public class CombatUtil {
|
||||
if(attacker.getKeyword().contains("Indestructible") &&
|
||||
!(defender.getKeyword().contains("Wither") || defender.getKeyword().contains("Infect"))) return 0;
|
||||
|
||||
if(!CardFactoryUtil.canDamage(defender, attacker)) return 0;
|
||||
|
||||
int defBushidoMagnitude = defender.getKeywordMagnitude("Bushido");
|
||||
|
||||
int defenderDamage = defender.getNetCombatDamage() - flankingMagnitude + defBushidoMagnitude;
|
||||
@@ -660,8 +658,6 @@ public class CombatUtil {
|
||||
if(attacker.getKeyword().contains("Indestructible") &&
|
||||
!(defender.getKeyword().contains("Wither") || defender.getKeyword().contains("Infect"))) return false;
|
||||
|
||||
if(!CardFactoryUtil.canDamage(defender, attacker)) return false;
|
||||
|
||||
int defBushidoMagnitude = defender.getKeywordMagnitude("Bushido");
|
||||
int attBushidoMagnitude = attacker.getKeywordMagnitude("Bushido");
|
||||
attBushidoMagnitude += attacker.getAmountOfKeyword("Whenever CARDNAME becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.");
|
||||
@@ -738,8 +734,6 @@ public class CombatUtil {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!CardFactoryUtil.canDamage(attacker,defender)) return false;
|
||||
|
||||
int defBushidoMagnitude = defender.getKeywordMagnitude("Bushido");
|
||||
int attBushidoMagnitude = attacker.getKeywordMagnitude("Bushido");
|
||||
attBushidoMagnitude += attacker.getAmountOfKeyword(
|
||||
|
||||
@@ -8428,12 +8428,10 @@ public class GameActionUtil {
|
||||
|
||||
CardList humanCreatures = AllZoneUtil.getCreaturesInPlay(AllZone.HumanPlayer);
|
||||
humanCreatures = humanCreatures.getValidCards(smallCreatures,k.getController(),k);
|
||||
humanCreatures = humanCreatures.canBeDamagedBy(k);
|
||||
humanCreatures = humanCreatures.getNotKeyword("Indestructible");
|
||||
|
||||
CardList computerCreatures = AllZoneUtil.getCreaturesInPlay(AllZone.ComputerPlayer);
|
||||
computerCreatures = computerCreatures.getValidCards(smallCreatures,k.getController(),k);
|
||||
computerCreatures = computerCreatures.canBeDamagedBy(k);
|
||||
computerCreatures = computerCreatures.getNotKeyword("Indestructible");
|
||||
|
||||
// We assume that both players will want to peek, ask if they want to reveal.
|
||||
@@ -8465,7 +8463,6 @@ public class GameActionUtil {
|
||||
if (wantDamageCreatures) {
|
||||
CardList allCreatures = AllZoneUtil.getCreaturesInPlay();
|
||||
for (final Card crd : allCreatures) {
|
||||
if (CardFactoryUtil.canDamage(k, crd))
|
||||
crd.addDamage(2, k);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user