Merge branch 'cleanup' into 'master'

Remove some redundancy

See merge request core-developers/forge!5945
This commit is contained in:
Michael Kamensky
2021-12-16 06:38:21 +00:00
22 changed files with 37 additions and 95 deletions

View File

@@ -955,7 +955,6 @@ public class Game {
Multimap<Player, Card> anteed = ArrayListMultimap.create();
if (matchRarity) {
boolean onePlayerHasTimeShifted = false;
List<CardRarity> validRarities = new ArrayList<>(Arrays.asList(CardRarity.values()));
@@ -1018,7 +1017,6 @@ public class Game {
} else {
chooseRandomCardsForAnte(player, anteed);
}
}
}
else {

View File

@@ -43,7 +43,6 @@ public class GameView extends TrackableObject {
set(TrackableProperty.GameLog, game.getGameLog());
set(TrackableProperty.NumPlayedGamesInMatch, game.getMatch().getOutcomes().size());
}
public Match getMatch() {

View File

@@ -176,16 +176,12 @@ public class AnimateEffect extends AnimateEffectBase {
// give Remembered
if (animateRemembered != null) {
for (final Object o : AbilityUtils.getDefinedObjects(source, animateRemembered, sa)) {
c.addRemembered(o);
}
c.addRemembered(AbilityUtils.getDefinedObjects(source, animateRemembered, sa));
}
// give Imprinted
if (animateImprinted != null) {
for (final Card imprintedCard : AbilityUtils.getDefinedCards(source, animateImprinted, sa)) {
c.addImprintedCard(imprintedCard);
}
c.addImprintedCards(AbilityUtils.getDefinedCards(source, animateImprinted, sa));
}
game.fireEvent(new GameEventCardStatsChanged(c));

View File

@@ -212,19 +212,13 @@ public class ChooseCardEffect extends SpellAbilityEffect {
}
host.setChosenCards(chosen);
if (sa.hasParam("RememberChosen")) {
for (final Card rem : chosen) {
host.addRemembered(rem);
}
host.addRemembered(chosen);
}
if (sa.hasParam("ForgetChosen")) {
for (final Card rem : chosen) {
host.removeRemembered(rem);
}
host.removeRemembered(chosen);
}
if (sa.hasParam("ImprintChosen")) {
for (final Card imp : chosen) {
host.addImprintedCard(imp);
}
host.addImprintedCards(chosen);
}
}
}

View File

@@ -56,9 +56,7 @@ public class DelayedTriggerEffect extends SpellAbilityEffect {
if (sa.hasParam("RememberObjects")) {
for (final String rem : sa.getParam("RememberObjects").split(",")) {
for (final Object o : AbilityUtils.getDefinedEntities(sa.getHostCard(), rem, sa)) {
delTrig.addRemembered(o);
}
delTrig.addRemembered(AbilityUtils.getDefinedEntities(sa.getHostCard(), rem, sa));
}
}

View File

@@ -177,14 +177,10 @@ public class DigEffect extends SpellAbilityEffect {
}
if (sa.hasParam("RememberRevealed") && !sa.hasParam("RevealValid") && hasRevealed) {
for (final Card one : top) {
host.addRemembered(one);
}
host.addRemembered(top);
}
if (sa.hasParam("ImprintRevealed") && hasRevealed) {
for (final Card one : top) {
host.addImprintedCard(one);
}
host.addImprintedCards(top);
}
if (sa.hasParam("Choser")) {
final FCollectionView<Player> choosers = AbilityUtils.getDefinedPlayers(host, sa.getParam("Choser"), sa);

View File

@@ -204,14 +204,10 @@ public class DigUntilEffect extends SpellAbilityEffect {
}
if (sa.hasParam("RememberRevealed")) {
for (final Card c : revealed) {
host.addRemembered(c);
}
host.addRemembered(revealed);
}
if (sa.hasParam("ImprintRevealed")) {
for (final Card c : revealed) {
host.addImprintedCard(c);
}
host.addImprintedCards(revealed);
}
if (sa.hasParam("RevealRandomOrder")) {
Collections.shuffle(revealed, MyRandom.getRandom());

View File

@@ -127,9 +127,6 @@ public class DiscardEffect extends SpellAbilityEffect {
for (final Player p : discarders) {
CardCollectionView toBeDiscarded = new CardCollection();
if ((mode.equals("RevealTgtChoose") && firstTarget != null) || !sa.usesTargeting() || p.canBeTargetedBy(sa)) {
if (sa.hasParam("RememberDiscarder") && p.canDiscardBy(sa, true)) {
source.addRemembered(p);
}
final int numCardsInHand = p.getCardsIn(ZoneType.Hand).size();
if (mode.equals("Defined")) {
if (!p.canDiscardBy(sa, true)) {

View File

@@ -79,9 +79,7 @@ public class DrawEffect extends SpellAbilityEffect {
}
}
if (sa.hasParam("RememberDrawn")) {
for (final Card c : drawn) {
source.addRemembered(c);
}
source.addRemembered(drawn);
}
sa.setSVar("AFNotDrawnNum_" + p.getId(), "Number$" + drawn.size());
}

View File

@@ -53,10 +53,7 @@ public class FightEffect extends DamageBaseEffect {
}
if (sa.hasParam("RememberObjects")) {
final String remembered = sa.getParam("RememberObjects");
for (final Object o : AbilityUtils.getDefinedObjects(host, remembered, sa)) {
host.addRemembered(o);
}
host.addRemembered(AbilityUtils.getDefinedObjects(host, sa.getParam("RememberObjects"), sa));
}
Player controller = host.getController();

View File

@@ -59,9 +59,7 @@ public class ImmediateTriggerEffect extends SpellAbilityEffect {
if (sa.hasParam("RememberObjects")) {
for (final String rem : sa.getParam("RememberObjects").split(",")) {
for (final Object o : AbilityUtils.getDefinedEntities(sa.getHostCard(), rem, sa)) {
immediateTrig.addRemembered(o);
}
immediateTrig.addRemembered(AbilityUtils.getDefinedEntities(sa.getHostCard(), rem, sa));
}
}

View File

@@ -68,14 +68,10 @@ public class MillEffect extends SpellAbilityEffect {
}
}
if (sa.hasParam("RememberMilled")) {
for (final Card c : milled) {
source.addRemembered(c);
}
source.addRemembered(milled);
}
if (sa.hasParam("Imprint")) {
for (final Card c : milled) {
source.addImprintedCard(c);
}
source.addImprintedCards(milled);
}
}
}

View File

@@ -86,7 +86,6 @@ public class MustAttackEffect extends SpellAbilityEffect {
}
}
}
} // mustAttackResolve()
}

View File

@@ -324,9 +324,7 @@ public class PumpEffect extends SpellAbilityEffect {
}
if (sa.hasParam("RememberObjects")) {
for (final Object o : AbilityUtils.getDefinedObjects(host, sa.getParam("RememberObjects"), sa)) {
host.addRemembered(o);
}
host.addRemembered(AbilityUtils.getDefinedObjects(host, sa.getParam("RememberObjects"), sa));
}
if (sa.hasParam("NoteCardsFor")) {
@@ -338,21 +336,15 @@ public class PumpEffect extends SpellAbilityEffect {
}
if (sa.hasParam("ForgetObjects")) {
for (final Object o : AbilityUtils.getDefinedObjects(host, sa.getParam("ForgetObjects"), sa)) {
host.removeRemembered(o);
}
host.removeRemembered(AbilityUtils.getDefinedObjects(host, sa.getParam("ForgetObjects"), sa));
}
if (sa.hasParam("ImprintCards")) {
for (final Card c : AbilityUtils.getDefinedCards(host, sa.getParam("ImprintCards"), sa)) {
host.addImprintedCard(c);
}
host.addImprintedCards(AbilityUtils.getDefinedCards(host, sa.getParam("ImprintCards"), sa));
}
if (sa.hasParam("ForgetImprinted")) {
for (final Card c : AbilityUtils.getDefinedCards(host, sa.getParam("ForgetImprinted"), sa)) {
host.removeImprintedCard(c);
}
host.removeImprintedCards(AbilityUtils.getDefinedCards(host, sa.getParam("ForgetImprinted"), sa));
}
final ZoneType pumpZone = sa.hasParam("PumpZone") ? ZoneType.smartValueOf(sa.getParam("PumpZone"))

View File

@@ -50,14 +50,10 @@ public class RevealHandEffect extends SpellAbilityEffect {
}
sa.getActivatingPlayer().getController().reveal(hand, ZoneType.Hand, p);
if (sa.hasParam("RememberRevealed")) {
for (final Card c : hand) {
host.addRemembered(c);
}
host.addRemembered(hand);
}
if (sa.hasParam("ImprintRevealed")) {
for (final Card c : hand) {
host.addImprintedCard(c);
}
host.addImprintedCards(hand);
}
if (sa.hasParam("RememberRevealedPlayer")) {
host.addRemembered(p);

View File

@@ -203,10 +203,7 @@ public abstract class TokenEffectBase extends SpellAbilityEffect {
moved.addRemembered(host);
}
if (sa.hasParam("TokenRemembered")) {
final String remembered = sa.getParam("TokenRemembered");
for (final Object o : AbilityUtils.getDefinedObjects(host, remembered, sa)) {
moved.addRemembered(o);
}
moved.addRemembered(AbilityUtils.getDefinedObjects(host, sa.getParam("TokenRemembered"), sa));
}
allTokens.add(moved);
}

View File

@@ -142,9 +142,7 @@ public class TwoPilesEffect extends SpellAbilityEffect {
// take action on the chosen pile
if (sa.hasParam("ChosenPile")) {
for (final Card z : chosenPile) {
card.addRemembered(z);
}
card.addRemembered(chosenPile);
SpellAbility sub = sa.getAdditionalAbility("ChosenPile");
if (sub != null) {
@@ -155,10 +153,8 @@ public class TwoPilesEffect extends SpellAbilityEffect {
// take action on the unchosen pile
if (sa.hasParam("UnchosenPile")) {
card.clearRemembered();
for (final Card z : unchosenPile) {
card.addRemembered(z);
}
card.addRemembered(unchosenPile);
SpellAbility sub = sa.getAdditionalAbility("UnchosenPile");
if (sub != null) {
AbilityUtils.resolve(sub);

View File

@@ -333,7 +333,6 @@ public class Player extends GameEntity implements Comparable<Player> {
game.getTriggerHandler().runTrigger(TriggerType.SetInMotion, runParams, false);
}
/**
* returns all opponents.
* Should keep player relations somewhere in the match structure
@@ -533,8 +532,7 @@ public class Player extends GameEntity implements Comparable<Player> {
game.getTriggerHandler().runTrigger(TriggerType.LifeGained, runParams, false);
game.fireEvent(new GameEventPlayerLivesChanged(this, oldLife, life));
}
else {
} else {
System.out.println("Player - trying to gain negative or 0 life");
}
return newLifeSet;
@@ -616,7 +614,7 @@ public class Player extends GameEntity implements Comparable<Player> {
if (lifePayment > 0 && life < lifePayment) {
return false;
}
return (lifePayment <= 0) || !StaticAbilityCantGainLosePayLife.anyCantPayLife(this, effect, cause);
return lifePayment <= 0 || !StaticAbilityCantGainLosePayLife.anyCantPayLife(this, effect, cause);
}
public final boolean payLife(final int lifePayment, final SpellAbility cause, final boolean effect) {
@@ -2019,7 +2017,7 @@ public class Player extends GameEntity implements Comparable<Player> {
}
public final boolean cantLoseForZeroOrLessLife() {
return (hasKeyword("You don't lose the game for having 0 or less life."));
return hasKeyword("You don't lose the game for having 0 or less life.");
}
public final boolean cantWin() {

View File

@@ -107,7 +107,7 @@ public class TriggerSpellAbilityCastOrCopy extends Trigger {
}
if (hasParam("ActivatorThisTurnCast")) {
final String compare = getParam("ActivatorThisTurnCast");
final String valid = hasParam("ValidCard") ? getParam("ValidCard") : "Card";
final String valid = getParamOrDefault("ValidCard", "Card");
List<Card> thisTurnCast = CardUtil.getThisTurnCast(valid, getHostCard(), this);
thisTurnCast = CardLists.filterControlledBy(thisTurnCast, si.getSpellAbility(true).getActivatingPlayer());
int left = thisTurnCast.size();

View File

@@ -51,10 +51,11 @@ public enum VSubmenuOnlineLobby implements IVSubmenu<CSubmenuOnlineLobby>, IOnli
}
public void reset() {
onClosing(null);
this.client = null;
this.lobby = null;
populate();
if (onClosing(null)) {
this.client = null;
this.lobby = null;
populate();
}
}
public void setClient(final FGameClient client) {

View File

@@ -2,8 +2,8 @@ Name:Tsabo's Decree
ManaCost:5 B
Types:Instant
A:SP$ ChooseType | Cost$ 5 B | Defined$ You | Type$ Creature | SubAbility$ TsabosDiscard | StackDescription$ None | SpellDescription$ Choose a creature type. Target player reveals their hand and discards all creature cards of that type. Then destroy all creatures of that type that player controls. They can't be regenerated.
SVar:TsabosDiscard:DB$ Discard | ValidTgts$ Player | ForgetOtherTargets$ True | RememberTargets$ True | RememberDiscarder$ True | Mode$ RevealDiscardAll | DiscardValid$ Creature.ChosenType | SubAbility$ TsabosDestroy
SVar:TsabosDestroy:DB$ DestroyAll | ValidCards$ Creature.ChosenType+RememberedPlayerCtrl | NoRegen$ True
SVar:TsabosDiscard:DB$ Discard | ValidTgts$ Player | Mode$ RevealDiscardAll | DiscardValid$ Creature.ChosenType | SubAbility$ TsabosDestroy
SVar:TsabosDestroy:DB$ DestroyAll | ValidCards$ Creature.ChosenType+TargetedPlayerCtrl | NoRegen$ True
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/tsabos_decree.jpg
Oracle:Choose a creature type. Target player reveals their hand and discards all creature cards of that type. Then destroy all creatures of that type that player controls. They can't be regenerated.

View File

@@ -2,7 +2,7 @@ Name:Wing Puncture
ManaCost:G
Types:Instant
A:SP$ Pump | Cost$ G | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | SpellDescription$ Target creature you control deals damage equal to its power to target creature with flying.
SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature.withFlying | AILogic$ PowerDmg | TgtPrompt$ Select target creature with flying | NumDmg$ X | DamageSource$ ParentTarget
SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature.withFlying | AILogic$ PowerDmg | TgtPrompt$ Select target creature with flying | NumDmg$ X | DamageSource$ ParentTarget
SVar:X:ParentTargeted$CardPower
SVar:Picture:http://www.wizards.com/global/images/magic/general/wing_puncture.jpg
Oracle:Target creature you control deals damage equal to its power to target creature with flying.