- Cleanup.

This commit is contained in:
Sloth
2012-11-19 18:59:15 +00:00
parent 737aa13deb
commit 753a69bc73
3 changed files with 70 additions and 68 deletions

View File

@@ -7940,9 +7940,39 @@ public class Card extends GameEntity implements Comparable<Card> {
return damage;
}
for (final Card ca : Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield)) {
for (final ReplacementEffect re : ca.getReplacementEffects()) {
HashMap<String, String> params = re.getMapParams();
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
continue;
}
if (params.containsKey("ValidSource")
&& !source.isValid(params.get("ValidSource"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("ValidTarget")
&& !this.isValid(params.get("ValidTarget"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("IsCombat")) {
if (params.get("IsCombat").equals("True")) {
if (!isCombat) {
continue;
}
} else {
if (isCombat) {
continue;
}
}
}
return 0;
}
}
int restDamage = damage - possiblePrvenetion;
restDamage = this.staticDamagePrevention(restDamage, source, isCombat, true);
restDamage = this.staticDamagePrevention(restDamage, source, isCombat);
return restDamage;
}
@@ -7963,7 +7993,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* @return a int.
*/
@Override
public final int staticDamagePrevention(final int damageIn, final Card source, final boolean isCombat, boolean predict) {
public final int staticDamagePrevention(final int damageIn, final Card source, final boolean isCombat) {
if (Singletons.getModel().getGame().getStaticEffects().getGlobalRuleChange(GlobalRuleChange.noPrevention)) {
return damageIn;
@@ -8033,36 +8063,6 @@ public class Card extends GameEntity implements Comparable<Card> {
for (final StaticAbility stAb : staticAbilities) {
restDamage = stAb.applyAbility("PreventDamage", source, this, restDamage, isCombat);
}
if (!predict) {
continue;
}
for (final ReplacementEffect re : ca.getReplacementEffects()) {
HashMap<String, String> params = re.getMapParams();
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
continue;
}
if (params.containsKey("ValidSource")
&& !source.isValid(params.get("ValidSource"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("ValidTarget")
&& !this.isValid(params.get("ValidTarget"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("IsCombat")) {
if (params.get("IsCombat").equals("True")) {
if (!isCombat) {
continue;
}
} else {
if (isCombat) {
continue;
}
}
}
return 0;
}
}
// specific Cards
@@ -8120,7 +8120,7 @@ public class Card extends GameEntity implements Comparable<Card> {
return 0;
}
restDamage = this.staticDamagePrevention(restDamage, source, isCombat, false);
restDamage = this.staticDamagePrevention(restDamage, source, isCombat);
if (restDamage == 0) {
return 0;

View File

@@ -143,7 +143,7 @@ public abstract class GameEntity extends MyObservable {
int restDamage = damage;
restDamage = this.staticReplaceDamage(restDamage, source, isCombat);
restDamage = this.staticDamagePrevention(restDamage, source, isCombat, true);
restDamage = this.staticDamagePrevention(restDamage, source, isCombat);
return restDamage;
}
@@ -163,7 +163,7 @@ public abstract class GameEntity extends MyObservable {
* a boolean.
* @return a int.
*/
public int staticDamagePrevention(final int damage, final Card source, final boolean isCombat, boolean predict) {
public int staticDamagePrevention(final int damage, final Card source, final boolean isCombat) {
return 0;
}

View File

@@ -581,7 +581,39 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
int restDamage = damage;
restDamage = this.staticReplaceDamage(restDamage, source, isCombat);
restDamage = this.staticDamagePrevention(restDamage, source, isCombat, true);
// Predict replacement effects
for (final Card ca : game.getCardsIn(ZoneType.Battlefield)) {
for (final ReplacementEffect re : ca.getReplacementEffects()) {
HashMap<String,String> params = re.getMapParams();
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
continue;
}
if (params.containsKey("ValidSource")
&& !source.isValid(params.get("ValidSource"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("ValidTarget")
&& !this.isValid(params.get("ValidTarget"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("IsCombat")) {
if (params.get("IsCombat").equals("True")) {
if (!isCombat) {
continue;
}
} else {
if (isCombat) {
continue;
}
}
}
return 0;
}
}
restDamage = this.staticDamagePrevention(restDamage, source, isCombat);
return restDamage;
}
@@ -602,7 +634,7 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
* @return a int.
*/
@Override
public final int staticDamagePrevention(final int damage, final Card source, final boolean isCombat, boolean predict) {
public final int staticDamagePrevention(final int damage, final Card source, final boolean isCombat) {
if (Singletons.getModel().getGame().getStaticEffects().getGlobalRuleChange(GlobalRuleChange.noPrevention)) {
return damage;
@@ -641,36 +673,6 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
for (final StaticAbility stAb : staticAbilities) {
restDamage = stAb.applyAbility("PreventDamage", source, this, restDamage, isCombat);
}
if (!predict) {
continue;
}
for (final ReplacementEffect re : ca.getReplacementEffects()) {
HashMap<String,String> params = re.getMapParams();
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
continue;
}
if (params.containsKey("ValidSource")
&& !source.isValid(params.get("ValidSource"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("ValidTarget")
&& !this.isValid(params.get("ValidTarget"), ca.getController(), ca)) {
continue;
}
if (params.containsKey("IsCombat")) {
if (params.get("IsCombat").equals("True")) {
if (!isCombat) {
continue;
}
} else {
if (isCombat) {
continue;
}
}
}
return 0;
}
}
@@ -851,7 +853,7 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
return 0;
}
restDamage = this.staticDamagePrevention(restDamage, source, isCombat, false);
restDamage = this.staticDamagePrevention(restDamage, source, isCombat);
if (restDamage >= this.getPreventNextDamage()) {
restDamage = restDamage - this.getPreventNextDamage();