- If a double strike creature with trample gets blocked and it kills the blocker with first strike damage, afterward it should deal full regular damage to the player.

- Fixed a bug with Propaganda where it would check multiple times per attack turn. 
- AI Bibery also shouldn't grab a Groundbreaker anymore.
- Updated Prodigal Sorcerer to use abDamageTgtCP.
This commit is contained in:
jendave
2011-08-06 03:29:23 +00:00
parent a5b843a973
commit 3da25af6a3
5 changed files with 50 additions and 49 deletions

View File

@@ -7428,7 +7428,7 @@ Prodigal Sorcerer
Creature Human Wizard Creature Human Wizard
no text no text
1/1 1/1
abDamageCP T:1 abDamageTgtCP T:1
Kamahl, Pit Fighter Kamahl, Pit Fighter
4 R R 4 R R

View File

@@ -9134,7 +9134,7 @@ public class CardFactory implements NewConstants {
all = all.filter(new CardListFilter(){ all = all.filter(new CardListFilter(){
public boolean addCard(Card c) public boolean addCard(Card c)
{ {
return c.isCreature() && !c.getName().equals("Ball Lightning"); return c.isCreature() && !c.getName().equals("Ball Lightning") && !c.getName().equals("Groundbreaker");
} }
}); });

View File

@@ -91,7 +91,7 @@ public class Combat
CardList att = new CardList(getAttackers()); CardList att = new CardList(getAttackers());
//sum unblocked attackers' power //sum unblocked attackers' power
for(int i = 0; i < att.size(); i++) { for(int i = 0; i < att.size(); i++) {
if(! isBlocked(att.get(i))) { if(! isBlocked(att.get(i)) || (getBlockers(att.get(i)).size() == 0 && att.get(i).getKeyword().contains("Trample")) ){
int damageDealt = att.get(i).getNetAttack(); int damageDealt = att.get(i).getNetAttack();
if (CombatUtil.isDoranInPlay()) if (CombatUtil.isDoranInPlay())
damageDealt = att.get(i).getNetDefense(); damageDealt = att.get(i).getNetDefense();
@@ -401,6 +401,7 @@ public class Combat
this.addDefendingDamage(trample, attacking.get(i)); this.addDefendingDamage(trample, attacking.get(i));
} }
}//1 blocker }//1 blocker
else if(getAttackingPlayer().equals(Constant.Player.Computer)) else if(getAttackingPlayer().equals(Constant.Player.Computer))
{ {
int damageDealt = attacking.get(i).getNetAttack(); int damageDealt = attacking.get(i).getNetAttack();

View File

@@ -600,8 +600,8 @@ public class CombatUtil {
//if (AllZone.Phase.getPhase().equals(Constant.Phase.Combat_Declare_Attackers)) //if (AllZone.Phase.getPhase().equals(Constant.Phase.Combat_Declare_Attackers))
if( /*AllZone.Phase.getPhase().equals("Declare Blockers") || */ if( /*AllZone.Phase.getPhase().equals("Declare Blockers") || */
AllZone.Phase.getPhase().equals(Constant.Phase.Combat_Declare_Attackers_InstantAbility)) { AllZone.Phase.getPhase().equals(Constant.Phase.Combat_Declare_Attackers_InstantAbility)) {
//if (!c.getCreatureAttackedThisTurn()) if (!c.getCreatureAttackedThisTurn())
//{ {
String cost = CardFactoryUtil.getPropagandaCost(c); String cost = CardFactoryUtil.getPropagandaCost(c);
if(!cost.equals("0")) { if(!cost.equals("0")) {
final Ability ability = new Ability(c, cost) { final Ability ability = new Ability(c, cost) {
@@ -644,8 +644,8 @@ public class CombatUtil {
} }
} }
} }
//c.setCreatureAttackedThisTurn(true); c.setCreatureAttackedThisTurn(true);
//} }
return canAttack[0]; return canAttack[0];
} }