From fe02d5c6fc1116fe9fc7801ca5b34da56420d7d3 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sun, 19 May 2013 21:35:20 +0000 Subject: [PATCH] Triggers: someone has mindlessly copy-pasted method 'getCopy'. I've implemented it in base class (using reflection to get the right instance) and as mindlessly removed the duplicated code --- src/main/java/forge/Card.java | 28 ++-------------- src/main/java/forge/card/trigger/Trigger.java | 25 ++++++-------- .../forge/card/trigger/TriggerAlways.java | 12 ------- .../forge/card/trigger/TriggerAttached.java | 11 ------- .../card/trigger/TriggerAttackerBlocked.java | 12 ------- .../trigger/TriggerAttackerUnblocked.java | 12 ------- .../trigger/TriggerAttackersDeclared.java | 13 -------- .../forge/card/trigger/TriggerAttacks.java | 12 ------- .../card/trigger/TriggerBecomesTarget.java | 12 ------- .../forge/card/trigger/TriggerBlocks.java | 12 ------- .../forge/card/trigger/TriggerChampioned.java | 12 ------- .../trigger/TriggerChangesController.java | 12 ------- .../card/trigger/TriggerChangesZone.java | 12 ------- .../forge/card/trigger/TriggerClashed.java | 12 ------- .../trigger/TriggerCombatDamageDoneOnce.java | 12 ------- .../card/trigger/TriggerCounterAdded.java | 12 ------- .../card/trigger/TriggerCounterRemoved.java | 12 ------- .../forge/card/trigger/TriggerCountered.java | 12 ------- .../forge/card/trigger/TriggerCycled.java | 12 ------- .../forge/card/trigger/TriggerDamageDone.java | 12 ------- .../forge/card/trigger/TriggerDestroyed.java | 12 ------- .../forge/card/trigger/TriggerDevoured.java | 12 ------- .../forge/card/trigger/TriggerDiscarded.java | 11 ------- .../java/forge/card/trigger/TriggerDrawn.java | 12 ------- .../forge/card/trigger/TriggerEvolved.java | 12 ------- .../forge/card/trigger/TriggerFlipped.java | 12 ------- .../forge/card/trigger/TriggerLandPlayed.java | 33 ------------------- .../forge/card/trigger/TriggerLifeGained.java | 11 ------- .../forge/card/trigger/TriggerLifeLost.java | 12 ------- .../forge/card/trigger/TriggerLosesGame.java | 12 ------- .../forge/card/trigger/TriggerNewGame.java | 12 ------- .../java/forge/card/trigger/TriggerPhase.java | 12 ------- .../forge/card/trigger/TriggerPlanarDice.java | 14 -------- .../card/trigger/TriggerPlaneswalkedFrom.java | 13 -------- .../card/trigger/TriggerPlaneswalkedTo.java | 14 -------- .../forge/card/trigger/TriggerSacrificed.java | 11 ------- .../card/trigger/TriggerSetInMotion.java | 11 ------- .../forge/card/trigger/TriggerShuffled.java | 11 ------- .../card/trigger/TriggerSpellAbilityCast.java | 12 ------- .../java/forge/card/trigger/TriggerTaps.java | 11 ------- .../card/trigger/TriggerTapsForMana.java | 11 ------- .../card/trigger/TriggerTransformed.java | 14 -------- .../forge/card/trigger/TriggerTurnFaceUp.java | 12 ------- .../java/forge/card/trigger/TriggerType.java | 10 ++++++ .../forge/card/trigger/TriggerUnequip.java | 12 ------- .../forge/card/trigger/TriggerUntaps.java | 12 ------- 46 files changed, 22 insertions(+), 578 deletions(-) diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 098e8f2ca20..5bfb459cb39 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -722,33 +722,11 @@ public class Card extends GameEntity implements Comparable { * @return a {@link forge.card.trigger.Trigger} object. */ public final Trigger addTrigger(final Trigger t) { - final Trigger newtrig = t.getCopy(); - newtrig.setHostCard(this); + final Trigger newtrig = t.getCopyForHostCard(this); this.getCharacteristics().getTriggers().add(newtrig); return newtrig; } - /** - *

- * addTrigger. - *

- * - * @param t - * a {@link forge.card.trigger.Trigger} object. - * - * @param state - * a {@link forge.CardCharacteristicName} object. - * - * @return a {@link forge.card.trigger.Trigger} object. - */ - public final Trigger addTrigger(final Trigger t, final CardCharacteristicName state) { - final Trigger newtrig = t.getCopy(); - newtrig.setHostCard(this); - CardCharacteristics stateCharacteristics = this.getState(state); - stateCharacteristics.getTriggers().add(newtrig); - return newtrig; - } - /** * * moveTrigger. @@ -833,9 +811,7 @@ public class Card extends GameEntity implements Comparable { final List copyList = new CopyOnWriteArrayList(); for (final Trigger t : trigs) { if (t.isIntrinsic()) { - final Trigger newtrig = t.getCopy(); - newtrig.setHostCard(this); - copyList.add(newtrig); + copyList.add(t.getCopyForHostCard(this)); } } diff --git a/src/main/java/forge/card/trigger/Trigger.java b/src/main/java/forge/card/trigger/Trigger.java index f912adf5e61..9be1f8cf01c 100644 --- a/src/main/java/forge/card/trigger/Trigger.java +++ b/src/main/java/forge/card/trigger/Trigger.java @@ -386,15 +386,6 @@ public abstract class Trigger extends TriggerReplacementBase { */ public abstract boolean performTest(java.util.Map runParams2); - /** - *

- * getCopy. - *

- * - * @return a {@link forge.card.trigger.Trigger} object. - */ - public abstract Trigger getCopy(); - /** *

* setTriggeringObjects. @@ -523,18 +514,22 @@ public abstract class Trigger extends TriggerReplacementBase { void setMode(TriggerType triggerType) { mode = triggerType; } + - /** - * TODO: Write javadoc for this method. - * @param triggerAlways - * @return - */ - public void copyFieldsTo(Trigger copy) { + public final Trigger getCopyForHostCard(Card newHost) { + TriggerType tt = TriggerType.getTypeFor(this); + Trigger copy = tt.createTrigger(mapParams, newHost, isIntrinsic); + + if (this.getOverridingAbility() != null) { + copy.setOverridingAbility(this.getOverridingAbility()); + } + copy.setName(this.getName()); copy.setID(this.getId()); copy.setMode(this.getMode()); copy.setTriggerPhases(this.validPhases); copy.setActiveZone(validHostZones); + return copy; } public boolean isStatic() { diff --git a/src/main/java/forge/card/trigger/TriggerAlways.java b/src/main/java/forge/card/trigger/TriggerAlways.java index 2c9bc50f283..cb9fd834539 100644 --- a/src/main/java/forge/card/trigger/TriggerAlways.java +++ b/src/main/java/forge/card/trigger/TriggerAlways.java @@ -54,18 +54,6 @@ public class TriggerAlways extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerAlways(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerAttached.java b/src/main/java/forge/card/trigger/TriggerAttached.java index be4c7df887d..e21235ade66 100644 --- a/src/main/java/forge/card/trigger/TriggerAttached.java +++ b/src/main/java/forge/card/trigger/TriggerAttached.java @@ -68,17 +68,6 @@ public class TriggerAttached extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerAttached(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java b/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java index 7dc7fe62a1a..ee5f4525aa8 100644 --- a/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java +++ b/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java @@ -67,18 +67,6 @@ public class TriggerAttackerBlocked extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerAttackerBlocked(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java b/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java index b4973f3c4b5..6fdb579a82c 100644 --- a/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java +++ b/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java @@ -66,18 +66,6 @@ public class TriggerAttackerUnblocked extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerAttackerUnblocked(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java b/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java index 8562e86f6e0..8e71bbfd92d 100644 --- a/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java +++ b/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java @@ -62,19 +62,6 @@ public class TriggerAttackersDeclared extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerAttackersDeclared(this.mapParams, this.getHostCard(), this.isIntrinsic()); - - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerAttacks.java b/src/main/java/forge/card/trigger/TriggerAttacks.java index 570fc80f74a..6f5bc89971c 100644 --- a/src/main/java/forge/card/trigger/TriggerAttacks.java +++ b/src/main/java/forge/card/trigger/TriggerAttacks.java @@ -95,18 +95,6 @@ public class TriggerAttacks extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerAttacks(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerBecomesTarget.java b/src/main/java/forge/card/trigger/TriggerBecomesTarget.java index 78ceb820b7a..4b814683dfa 100644 --- a/src/main/java/forge/card/trigger/TriggerBecomesTarget.java +++ b/src/main/java/forge/card/trigger/TriggerBecomesTarget.java @@ -80,18 +80,6 @@ public class TriggerBecomesTarget extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerBecomesTarget(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerBlocks.java b/src/main/java/forge/card/trigger/TriggerBlocks.java index cd3600ca816..1aaa3ab978a 100644 --- a/src/main/java/forge/card/trigger/TriggerBlocks.java +++ b/src/main/java/forge/card/trigger/TriggerBlocks.java @@ -67,18 +67,6 @@ public class TriggerBlocks extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerBlocks(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerChampioned.java b/src/main/java/forge/card/trigger/TriggerChampioned.java index ed55503f9e4..087c177df75 100644 --- a/src/main/java/forge/card/trigger/TriggerChampioned.java +++ b/src/main/java/forge/card/trigger/TriggerChampioned.java @@ -62,18 +62,6 @@ public class TriggerChampioned extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerChampioned(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerChangesController.java b/src/main/java/forge/card/trigger/TriggerChangesController.java index 24035a6e7c1..00cca21d573 100644 --- a/src/main/java/forge/card/trigger/TriggerChangesController.java +++ b/src/main/java/forge/card/trigger/TriggerChangesController.java @@ -61,18 +61,6 @@ public class TriggerChangesController extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerChangesZone(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerChangesZone.java b/src/main/java/forge/card/trigger/TriggerChangesZone.java index 7b2195b5242..56fc8fac79c 100644 --- a/src/main/java/forge/card/trigger/TriggerChangesZone.java +++ b/src/main/java/forge/card/trigger/TriggerChangesZone.java @@ -98,18 +98,6 @@ public class TriggerChangesZone extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerChangesZone(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerClashed.java b/src/main/java/forge/card/trigger/TriggerClashed.java index d40206f050a..23665869678 100644 --- a/src/main/java/forge/card/trigger/TriggerClashed.java +++ b/src/main/java/forge/card/trigger/TriggerClashed.java @@ -67,18 +67,6 @@ public class TriggerClashed extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerClashed(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java b/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java index 9b7e4d6af73..0fc9cf8c695 100644 --- a/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java +++ b/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java @@ -77,18 +77,6 @@ public class TriggerCombatDamageDoneOnce extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerCombatDamageDoneOnce(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerCounterAdded.java b/src/main/java/forge/card/trigger/TriggerCounterAdded.java index 21f47e25f1b..2af36cd0593 100644 --- a/src/main/java/forge/card/trigger/TriggerCounterAdded.java +++ b/src/main/java/forge/card/trigger/TriggerCounterAdded.java @@ -70,18 +70,6 @@ public class TriggerCounterAdded extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerCounterAdded(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerCounterRemoved.java b/src/main/java/forge/card/trigger/TriggerCounterRemoved.java index 8a7ed6660a8..4027304b2db 100644 --- a/src/main/java/forge/card/trigger/TriggerCounterRemoved.java +++ b/src/main/java/forge/card/trigger/TriggerCounterRemoved.java @@ -70,18 +70,6 @@ public class TriggerCounterRemoved extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerCounterRemoved(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerCountered.java b/src/main/java/forge/card/trigger/TriggerCountered.java index 034bd209890..88800150b6d 100644 --- a/src/main/java/forge/card/trigger/TriggerCountered.java +++ b/src/main/java/forge/card/trigger/TriggerCountered.java @@ -75,18 +75,6 @@ public class TriggerCountered extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerCountered(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerCycled.java b/src/main/java/forge/card/trigger/TriggerCycled.java index bcd548f0cfb..f056f9aea9f 100644 --- a/src/main/java/forge/card/trigger/TriggerCycled.java +++ b/src/main/java/forge/card/trigger/TriggerCycled.java @@ -46,18 +46,6 @@ public class TriggerCycled extends Trigger { super(params, host, intrinsic); } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerCycled(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerDamageDone.java b/src/main/java/forge/card/trigger/TriggerDamageDone.java index 17fe69b7c85..e21a9f3784c 100644 --- a/src/main/java/forge/card/trigger/TriggerDamageDone.java +++ b/src/main/java/forge/card/trigger/TriggerDamageDone.java @@ -98,18 +98,6 @@ public class TriggerDamageDone extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerDamageDone(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerDestroyed.java b/src/main/java/forge/card/trigger/TriggerDestroyed.java index 9fa8ede1086..2f8d75cad4b 100644 --- a/src/main/java/forge/card/trigger/TriggerDestroyed.java +++ b/src/main/java/forge/card/trigger/TriggerDestroyed.java @@ -64,18 +64,6 @@ public class TriggerDestroyed extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerDestroyed(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerDevoured.java b/src/main/java/forge/card/trigger/TriggerDevoured.java index fdf8ef018f5..282a8ee68b9 100644 --- a/src/main/java/forge/card/trigger/TriggerDevoured.java +++ b/src/main/java/forge/card/trigger/TriggerDevoured.java @@ -59,18 +59,6 @@ public class TriggerDevoured extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerDevoured(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerDiscarded.java b/src/main/java/forge/card/trigger/TriggerDiscarded.java index 7bc05f4adcf..b5546c82b08 100644 --- a/src/main/java/forge/card/trigger/TriggerDiscarded.java +++ b/src/main/java/forge/card/trigger/TriggerDiscarded.java @@ -75,17 +75,6 @@ public class TriggerDiscarded extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerDiscarded(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerDrawn.java b/src/main/java/forge/card/trigger/TriggerDrawn.java index 208c196b773..3bbb5f719ff 100644 --- a/src/main/java/forge/card/trigger/TriggerDrawn.java +++ b/src/main/java/forge/card/trigger/TriggerDrawn.java @@ -67,18 +67,6 @@ public class TriggerDrawn extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerDrawn(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerEvolved.java b/src/main/java/forge/card/trigger/TriggerEvolved.java index f9c6a04e803..a29ebaade6b 100644 --- a/src/main/java/forge/card/trigger/TriggerEvolved.java +++ b/src/main/java/forge/card/trigger/TriggerEvolved.java @@ -59,18 +59,6 @@ public class TriggerEvolved extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerEvolved(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerFlipped.java b/src/main/java/forge/card/trigger/TriggerFlipped.java index 25208446a27..ac57460c27a 100644 --- a/src/main/java/forge/card/trigger/TriggerFlipped.java +++ b/src/main/java/forge/card/trigger/TriggerFlipped.java @@ -66,18 +66,6 @@ public class TriggerFlipped extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerFlipped(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerLandPlayed.java b/src/main/java/forge/card/trigger/TriggerLandPlayed.java index 151b87e10bd..2aa877c2437 100644 --- a/src/main/java/forge/card/trigger/TriggerLandPlayed.java +++ b/src/main/java/forge/card/trigger/TriggerLandPlayed.java @@ -32,25 +32,6 @@ import forge.card.spellability.SpellAbility; */ public class TriggerLandPlayed extends Trigger { - /** - *

- * Constructor for Trigger_LandPlayed. - *

- * - * @param n - * a {@link java.lang.String} object. - * @param params - * a {@link java.util.HashMap} object. - * @param host - * a {@link forge.Card} object. - * @param intrinsic - * the intrinsic - */ - public TriggerLandPlayed(final String n, final java.util.Map params, final Card host, - final boolean intrinsic) { - super(n, params, host, intrinsic); - } - /** *

* Constructor for Trigger_LandPlayed. @@ -67,20 +48,6 @@ public class TriggerLandPlayed extends Trigger { super(params, host, intrinsic); } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerLandPlayed(this.getName(), this.mapParams, this.getHostCard(), - this.isIntrinsic()); - - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerLifeGained.java b/src/main/java/forge/card/trigger/TriggerLifeGained.java index 3198c334432..7a329efe867 100644 --- a/src/main/java/forge/card/trigger/TriggerLifeGained.java +++ b/src/main/java/forge/card/trigger/TriggerLifeGained.java @@ -59,17 +59,6 @@ public class TriggerLifeGained extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerLifeGained(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerLifeLost.java b/src/main/java/forge/card/trigger/TriggerLifeLost.java index 376938cf157..5aaad666512 100644 --- a/src/main/java/forge/card/trigger/TriggerLifeLost.java +++ b/src/main/java/forge/card/trigger/TriggerLifeLost.java @@ -59,18 +59,6 @@ public class TriggerLifeLost extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerLifeLost(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerLosesGame.java b/src/main/java/forge/card/trigger/TriggerLosesGame.java index fc26cc12ab4..1a2dc569fe8 100644 --- a/src/main/java/forge/card/trigger/TriggerLosesGame.java +++ b/src/main/java/forge/card/trigger/TriggerLosesGame.java @@ -37,18 +37,6 @@ public class TriggerLosesGame extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerLosesGame(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerNewGame.java b/src/main/java/forge/card/trigger/TriggerNewGame.java index 9810fe70590..3559533b6bc 100644 --- a/src/main/java/forge/card/trigger/TriggerNewGame.java +++ b/src/main/java/forge/card/trigger/TriggerNewGame.java @@ -52,18 +52,6 @@ public class TriggerNewGame extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerNewGame(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerPhase.java b/src/main/java/forge/card/trigger/TriggerPhase.java index 3d525761cbf..4e9a59c5154 100644 --- a/src/main/java/forge/card/trigger/TriggerPhase.java +++ b/src/main/java/forge/card/trigger/TriggerPhase.java @@ -58,18 +58,6 @@ public class TriggerPhase extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerPhase(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerPlanarDice.java b/src/main/java/forge/card/trigger/TriggerPlanarDice.java index dcfacc324ed..48c813ee482 100644 --- a/src/main/java/forge/card/trigger/TriggerPlanarDice.java +++ b/src/main/java/forge/card/trigger/TriggerPlanarDice.java @@ -50,20 +50,6 @@ public class TriggerPlanarDice extends Trigger { return true; } - /* (non-Javadoc) - * @see forge.card.trigger.Trigger#getCopy() - */ - @Override - public Trigger getCopy() { - final Trigger copy = new TriggerPlanarDice(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /* (non-Javadoc) * @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility) */ diff --git a/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java b/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java index fdb113ae43c..63c1b8a2459 100644 --- a/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java +++ b/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java @@ -47,19 +47,6 @@ public class TriggerPlaneswalkedFrom extends Trigger { return true; } - /* (non-Javadoc) - * @see forge.card.trigger.Trigger#getCopy() - */ - @Override - public Trigger getCopy() { - final Trigger copy = new TriggerPlaneswalkedFrom(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /* (non-Javadoc) * @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility) diff --git a/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java b/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java index bfcea8fbddc..acb937ee533 100644 --- a/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java +++ b/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java @@ -47,20 +47,6 @@ public class TriggerPlaneswalkedTo extends Trigger { return true; } - /* (non-Javadoc) - * @see forge.card.trigger.Trigger#getCopy() - */ - @Override - public Trigger getCopy() { - final Trigger copy = new TriggerPlaneswalkedTo(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /* (non-Javadoc) * @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility) */ diff --git a/src/main/java/forge/card/trigger/TriggerSacrificed.java b/src/main/java/forge/card/trigger/TriggerSacrificed.java index 42c02d303a0..a96e4da7da0 100644 --- a/src/main/java/forge/card/trigger/TriggerSacrificed.java +++ b/src/main/java/forge/card/trigger/TriggerSacrificed.java @@ -65,17 +65,6 @@ public class TriggerSacrificed extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerSacrificed(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerSetInMotion.java b/src/main/java/forge/card/trigger/TriggerSetInMotion.java index 2f48a8bc58e..77e7c90c3d2 100644 --- a/src/main/java/forge/card/trigger/TriggerSetInMotion.java +++ b/src/main/java/forge/card/trigger/TriggerSetInMotion.java @@ -59,17 +59,6 @@ public class TriggerSetInMotion extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerSetInMotion(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerShuffled.java b/src/main/java/forge/card/trigger/TriggerShuffled.java index 935b0d1d31a..3e3003f741e 100644 --- a/src/main/java/forge/card/trigger/TriggerShuffled.java +++ b/src/main/java/forge/card/trigger/TriggerShuffled.java @@ -59,17 +59,6 @@ public class TriggerShuffled extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerShuffled(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java b/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java index 926a4203983..3a6d08ccdd2 100644 --- a/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java +++ b/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java @@ -185,18 +185,6 @@ public class TriggerSpellAbilityCast extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerSpellAbilityCast(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerTaps.java b/src/main/java/forge/card/trigger/TriggerTaps.java index a4f47f5d0a1..5b6d365febc 100644 --- a/src/main/java/forge/card/trigger/TriggerTaps.java +++ b/src/main/java/forge/card/trigger/TriggerTaps.java @@ -63,17 +63,6 @@ public class TriggerTaps extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerTaps(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerTapsForMana.java b/src/main/java/forge/card/trigger/TriggerTapsForMana.java index d084f123f15..a12af20dde6 100644 --- a/src/main/java/forge/card/trigger/TriggerTapsForMana.java +++ b/src/main/java/forge/card/trigger/TriggerTapsForMana.java @@ -61,17 +61,6 @@ public class TriggerTapsForMana extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerTapsForMana(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/trigger/TriggerTransformed.java b/src/main/java/forge/card/trigger/TriggerTransformed.java index 1ad5d225ea4..4f354ee7971 100644 --- a/src/main/java/forge/card/trigger/TriggerTransformed.java +++ b/src/main/java/forge/card/trigger/TriggerTransformed.java @@ -54,20 +54,6 @@ public class TriggerTransformed extends Trigger { return true; } - /* (non-Javadoc) - * @see forge.card.trigger.Trigger#getCopy() - */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerTransformed(this.mapParams, this.getHostCard(), this.isIntrinsic()); - - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } /* (non-Javadoc) * @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility) diff --git a/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java b/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java index 0ae91424755..94e8d5d4fa4 100644 --- a/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java +++ b/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java @@ -59,18 +59,6 @@ public class TriggerTurnFaceUp extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerTurnFaceUp(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerType.java b/src/main/java/forge/card/trigger/TriggerType.java index 6671f28e116..1bf19ef6146 100644 --- a/src/main/java/forge/card/trigger/TriggerType.java +++ b/src/main/java/forge/card/trigger/TriggerType.java @@ -81,6 +81,16 @@ public enum TriggerType { throw new RuntimeException("Element " + value + " not found in TriggerType enum"); } + + public static TriggerType getTypeFor(Trigger t) { + final Class cls = t.getClass(); + for (final TriggerType v : TriggerType.values()) { + if (v.classTrigger.equals(cls)) { + return v; + } + } + return null; + } /** * TODO: Write javadoc for this method. diff --git a/src/main/java/forge/card/trigger/TriggerUnequip.java b/src/main/java/forge/card/trigger/TriggerUnequip.java index d90f3c35969..41a29dd4863 100644 --- a/src/main/java/forge/card/trigger/TriggerUnequip.java +++ b/src/main/java/forge/card/trigger/TriggerUnequip.java @@ -69,18 +69,6 @@ public class TriggerUnequip extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerUnequip(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) { diff --git a/src/main/java/forge/card/trigger/TriggerUntaps.java b/src/main/java/forge/card/trigger/TriggerUntaps.java index 47003427897..7e065ad4dba 100644 --- a/src/main/java/forge/card/trigger/TriggerUntaps.java +++ b/src/main/java/forge/card/trigger/TriggerUntaps.java @@ -63,18 +63,6 @@ public class TriggerUntaps extends Trigger { return true; } - /** {@inheritDoc} */ - @Override - public final Trigger getCopy() { - final Trigger copy = new TriggerUntaps(this.mapParams, this.getHostCard(), this.isIntrinsic()); - if (this.getOverridingAbility() != null) { - copy.setOverridingAbility(this.getOverridingAbility()); - } - - copyFieldsTo(copy); - return copy; - } - /** {@inheritDoc} */ @Override public final void setTriggeringObjects(final SpellAbility sa) {