mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-13 01:08:06 +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 java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import forge.util.Lang;
|
||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
@@ -28,8 +28,8 @@ public class PhasesEffect extends SpellAbilityEffect {
|
|||||||
// when getStackDesc is called, just build exactly what is happening
|
// when getStackDesc is called, just build exactly what is happening
|
||||||
final StringBuilder sb = new StringBuilder();
|
final StringBuilder sb = new StringBuilder();
|
||||||
final List<Card> tgtCards = getTargetCards(sa);
|
final List<Card> tgtCards = getTargetCards(sa);
|
||||||
sb.append(StringUtils.join(tgtCards, ", "));
|
sb.append(Lang.joinHomogenous(tgtCards));
|
||||||
sb.append(" Phases Out.");
|
sb.append(tgtCards.size() == 1 ? " phases out." : " phase out.");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import forge.game.ability.AbilityUtils;
|
|||||||
import forge.game.ability.SpellAbilityEffect;
|
import forge.game.ability.SpellAbilityEffect;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
import forge.util.Lang;
|
||||||
import forge.util.Localizer;
|
import forge.util.Localizer;
|
||||||
|
|
||||||
|
|
||||||
@@ -16,16 +17,16 @@ public class ScryEffect extends SpellAbilityEffect {
|
|||||||
protected String getStackDescription(SpellAbility sa) {
|
protected String getStackDescription(SpellAbility sa) {
|
||||||
final StringBuilder sb = new StringBuilder();
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
for (final Player p : getTargetPlayers(sa)) {
|
final List<Player> players = Lists.newArrayList(); // players really affected
|
||||||
sb.append(p.toString()).append(" ");
|
players.addAll(getTargetPlayers(sa));
|
||||||
}
|
sb.append(Lang.joinHomogenous(players)).append(" ");
|
||||||
|
|
||||||
int num = 1;
|
int num = 1;
|
||||||
if (sa.hasParam("ScryNum")) {
|
if (sa.hasParam("ScryNum")) {
|
||||||
num = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("ScryNum"), sa);
|
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();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.ability.effects;
|
package forge.game.ability.effects;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import forge.util.Lang;
|
||||||
import org.apache.commons.lang3.mutable.MutableBoolean;
|
import org.apache.commons.lang3.mutable.MutableBoolean;
|
||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
@@ -25,12 +28,24 @@ import forge.game.card.Card;
|
|||||||
import forge.game.card.CardZoneTable;
|
import forge.game.card.CardZoneTable;
|
||||||
import forge.game.event.GameEventCombatChanged;
|
import forge.game.event.GameEventCombatChanged;
|
||||||
import forge.game.event.GameEventTokenCreated;
|
import forge.game.event.GameEventTokenCreated;
|
||||||
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
public class TokenEffect extends TokenEffectBase {
|
public class TokenEffect extends TokenEffectBase {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getStackDescription(SpellAbility sa) {
|
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();
|
return sa.getDescription();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user