mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Fix stack description
Fix "null damage" & "null counter" stack description, and Volcano Hellion crash
This commit is contained in:
@@ -78,6 +78,7 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
||||
final List<Card> targetCards = SpellAbilityEffect.getTargetCards(spellAbility);
|
||||
for(int i = 0; i < targetCards.size(); i++) {
|
||||
Card targetCard = targetCards.get(i);
|
||||
if (spellAbility.getTargetRestrictions().getDividedMap().get(targetCard) != null) { // fix null counter stack description
|
||||
stringBuilder.append(targetCard).append(" (").append(spellAbility.getTargetRestrictions().getDividedMap().get(targetCard)).append(" counter)");
|
||||
|
||||
if(i == targetCards.size() - 2) {
|
||||
@@ -87,6 +88,7 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
||||
stringBuilder.append(", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
final List<Card> targetCards = SpellAbilityEffect.getTargetCards(spellAbility);
|
||||
final Iterator<Card> it = targetCards.iterator();
|
||||
@@ -103,9 +105,8 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
||||
}
|
||||
}
|
||||
}
|
||||
stringBuilder.append(".");
|
||||
|
||||
return stringBuilder.toString();
|
||||
//stringBuilder.append(".");
|
||||
return stringBuilder.toString().trim() + ".";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,7 +30,12 @@ public class DamageDealEffect extends DamageBaseEffect {
|
||||
// when damageStackDescription is called, just build exactly what is happening
|
||||
final StringBuilder stringBuilder = new StringBuilder();
|
||||
final String damage = spellAbility.getParam("NumDmg");
|
||||
final int dmg = AbilityUtils.calculateAmount(spellAbility.getHostCard(), damage, spellAbility);
|
||||
int dmg;
|
||||
try { // try-catch to fix Volcano Hellion Crash
|
||||
dmg = AbilityUtils.calculateAmount(spellAbility.getHostCard(), damage, spellAbility);
|
||||
} catch (NullPointerException e) {
|
||||
dmg = 0;
|
||||
}
|
||||
|
||||
List<GameObject> targets = SpellAbilityEffect.getTargets(spellAbility);
|
||||
if (targets.isEmpty()) {
|
||||
@@ -63,6 +68,7 @@ public class DamageDealEffect extends DamageBaseEffect {
|
||||
// target cards
|
||||
for (int i = 0; i < targetCards.size(); i++) {
|
||||
Card targetCard = targetCards.get(i);
|
||||
if (spellAbility.getTargetRestrictions().getDividedMap().get(targetCard) != null) { //fix null damage stack description
|
||||
stringBuilder.append(targetCard).append(" (").append(spellAbility.getTargetRestrictions().getDividedMap().get(targetCard)).append(" damage)");
|
||||
|
||||
if (i == targetCount - 2) {
|
||||
@@ -71,11 +77,12 @@ public class DamageDealEffect extends DamageBaseEffect {
|
||||
stringBuilder.append(", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// target players
|
||||
for (int i = 0; i < players.size(); i++) {
|
||||
|
||||
Player targetPlayer = players.get(i);
|
||||
if (spellAbility.getTargetRestrictions().getDividedMap().get(targetPlayer) != null) { //fix null damage stack description
|
||||
stringBuilder.append(targetPlayer).append(" (").append(spellAbility.getTargetRestrictions().getDividedMap().get(targetPlayer)).append(" damage)");
|
||||
|
||||
if (i == players.size() - 2) {
|
||||
@@ -84,6 +91,7 @@ public class DamageDealEffect extends DamageBaseEffect {
|
||||
stringBuilder.append(", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
if (spellAbility.hasParam("DivideEvenly")) {
|
||||
@@ -104,8 +112,8 @@ public class DamageDealEffect extends DamageBaseEffect {
|
||||
}
|
||||
}
|
||||
|
||||
stringBuilder.append(".");
|
||||
return stringBuilder.toString();
|
||||
//stringBuilder.append(".");
|
||||
return stringBuilder.toString().trim() + ".";
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
Reference in New Issue
Block a user