mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-12 16:58:57 +00:00
improve getStackDescription for some more Effects
This commit is contained in:
committed by
Michael Kamensky
parent
de2924ff91
commit
edab767b19
@@ -2,7 +2,7 @@ package forge.game.ability.effects;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import forge.util.Lang;
|
||||
|
||||
import forge.game.Game;
|
||||
import forge.game.ability.AbilityUtils;
|
||||
@@ -28,8 +28,8 @@ public class PhasesEffect extends SpellAbilityEffect {
|
||||
// when getStackDesc is called, just build exactly what is happening
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
final List<Card> tgtCards = getTargetCards(sa);
|
||||
sb.append(StringUtils.join(tgtCards, ", "));
|
||||
sb.append(" Phases Out.");
|
||||
sb.append(Lang.joinHomogenous(tgtCards));
|
||||
sb.append(tgtCards.size() == 1 ? " phases out." : " phase out.");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import forge.game.ability.AbilityUtils;
|
||||
import forge.game.ability.SpellAbilityEffect;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
import forge.util.Lang;
|
||||
import forge.util.Localizer;
|
||||
|
||||
|
||||
@@ -16,16 +17,16 @@ public class ScryEffect extends SpellAbilityEffect {
|
||||
protected String getStackDescription(SpellAbility sa) {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
for (final Player p : getTargetPlayers(sa)) {
|
||||
sb.append(p.toString()).append(" ");
|
||||
}
|
||||
final List<Player> players = Lists.newArrayList(); // players really affected
|
||||
players.addAll(getTargetPlayers(sa));
|
||||
sb.append(Lang.joinHomogenous(players)).append(" ");
|
||||
|
||||
int num = 1;
|
||||
if (sa.hasParam("ScryNum")) {
|
||||
num = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("ScryNum"), sa);
|
||||
}
|
||||
|
||||
sb.append("scrys (").append(num).append(").");
|
||||
sb.append(players.size() == 1 ? "scries " : "scry ").append(num).append(".");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
*/
|
||||
package forge.game.ability.effects;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import forge.util.Lang;
|
||||
import org.apache.commons.lang3.mutable.MutableBoolean;
|
||||
|
||||
import forge.game.Game;
|
||||
@@ -25,12 +28,24 @@ import forge.game.card.Card;
|
||||
import forge.game.card.CardZoneTable;
|
||||
import forge.game.event.GameEventCombatChanged;
|
||||
import forge.game.event.GameEventTokenCreated;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
|
||||
public class TokenEffect extends TokenEffectBase {
|
||||
|
||||
@Override
|
||||
protected String getStackDescription(SpellAbility sa) {
|
||||
if (sa.hasParam("SpellDescription")) {
|
||||
String desc = sa.getParam("SpellDescription");
|
||||
if (desc.startsWith("Create")) {
|
||||
final Card host = sa.getHostCard();
|
||||
final List<Player> creators = AbilityUtils.getDefinedPlayers(host, sa.getParamOrDefault("TokenOwner",
|
||||
"You"), sa);
|
||||
String start = Lang.joinHomogenous(creators) + (creators.size() == 1 ? " creates" : " create");
|
||||
desc = desc.replace("Create",start);
|
||||
}
|
||||
return desc;
|
||||
}
|
||||
return sa.getDescription();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user