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,13 +78,15 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
final List<Card> targetCards = SpellAbilityEffect.getTargetCards(spellAbility);
|
final List<Card> targetCards = SpellAbilityEffect.getTargetCards(spellAbility);
|
||||||
for(int i = 0; i < targetCards.size(); i++) {
|
for(int i = 0; i < targetCards.size(); i++) {
|
||||||
Card targetCard = targetCards.get(i);
|
Card targetCard = targetCards.get(i);
|
||||||
stringBuilder.append(targetCard).append(" (").append(spellAbility.getTargetRestrictions().getDividedMap().get(targetCard)).append(" counter)");
|
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) {
|
if(i == targetCards.size() - 2) {
|
||||||
stringBuilder.append(" and ");
|
stringBuilder.append(" and ");
|
||||||
}
|
}
|
||||||
else if(i + 1 < targetCards.size()) {
|
else if(i + 1 < targetCards.size()) {
|
||||||
stringBuilder.append(", ");
|
stringBuilder.append(", ");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -103,9 +105,8 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stringBuilder.append(".");
|
//stringBuilder.append(".");
|
||||||
|
return stringBuilder.toString().trim() + ".";
|
||||||
return stringBuilder.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -30,7 +30,12 @@ public class DamageDealEffect extends DamageBaseEffect {
|
|||||||
// when damageStackDescription is called, just build exactly what is happening
|
// when damageStackDescription is called, just build exactly what is happening
|
||||||
final StringBuilder stringBuilder = new StringBuilder();
|
final StringBuilder stringBuilder = new StringBuilder();
|
||||||
final String damage = spellAbility.getParam("NumDmg");
|
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);
|
List<GameObject> targets = SpellAbilityEffect.getTargets(spellAbility);
|
||||||
if (targets.isEmpty()) {
|
if (targets.isEmpty()) {
|
||||||
@@ -63,25 +68,28 @@ public class DamageDealEffect extends DamageBaseEffect {
|
|||||||
// target cards
|
// target cards
|
||||||
for (int i = 0; i < targetCards.size(); i++) {
|
for (int i = 0; i < targetCards.size(); i++) {
|
||||||
Card targetCard = targetCards.get(i);
|
Card targetCard = targetCards.get(i);
|
||||||
stringBuilder.append(targetCard).append(" (").append(spellAbility.getTargetRestrictions().getDividedMap().get(targetCard)).append(" damage)");
|
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) {
|
if (i == targetCount - 2) {
|
||||||
stringBuilder.append(" and ");
|
stringBuilder.append(" and ");
|
||||||
} else if (i + 1 < targetCount) {
|
} else if (i + 1 < targetCount) {
|
||||||
stringBuilder.append(", ");
|
stringBuilder.append(", ");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// target players
|
// target players
|
||||||
for (int i = 0; i < players.size(); i++) {
|
for (int i = 0; i < players.size(); i++) {
|
||||||
|
|
||||||
Player targetPlayer = players.get(i);
|
Player targetPlayer = players.get(i);
|
||||||
stringBuilder.append(targetPlayer).append(" (").append(spellAbility.getTargetRestrictions().getDividedMap().get(targetPlayer)).append(" damage)");
|
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) {
|
if (i == players.size() - 2) {
|
||||||
stringBuilder.append(" and ");
|
stringBuilder.append(" and ");
|
||||||
} else if (i + 1 < players.size()) {
|
} else if (i + 1 < players.size()) {
|
||||||
stringBuilder.append(", ");
|
stringBuilder.append(", ");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,8 +112,8 @@ public class DamageDealEffect extends DamageBaseEffect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stringBuilder.append(".");
|
//stringBuilder.append(".");
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString().trim() + ".";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
Reference in New Issue
Block a user