mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Merge branch 'cleanup' into 'master'
Remove some redundancy See merge request core-developers/forge!5945
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -43,7 +43,6 @@ public class GameView extends TrackableObject {
|
||||
|
||||
set(TrackableProperty.GameLog, game.getGameLog());
|
||||
set(TrackableProperty.NumPlayedGamesInMatch, game.getMatch().getOutcomes().size());
|
||||
|
||||
}
|
||||
|
||||
public Match getMatch() {
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,6 @@ public class MustAttackEffect extends SpellAbilityEffect {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // mustAttackResolve()
|
||||
|
||||
}
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user