Adding Class to possessions to simplify playing them.
This commit is contained in:
@@ -1,10 +1,7 @@
|
||||
package com.gempukku.lotro.cards;
|
||||
|
||||
import com.gempukku.lotro.cards.actions.AttachPermanentAction;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
@@ -18,14 +15,18 @@ import java.util.Map;
|
||||
|
||||
public abstract class AbstractAttachable extends AbstractLotroCardBlueprint {
|
||||
private int _twilight;
|
||||
private Keyword _possessionClass;
|
||||
|
||||
public AbstractAttachable(Side side, CardType cardType, int twilight, Culture culture, String name) {
|
||||
this(side, cardType, twilight, culture, name, false);
|
||||
public AbstractAttachable(Side side, CardType cardType, int twilight, Culture culture, Keyword possessionClass, String name) {
|
||||
this(side, cardType, twilight, culture, possessionClass, name, false);
|
||||
}
|
||||
|
||||
public AbstractAttachable(Side side, CardType cardType, int twilight, Culture culture, String name, boolean unique) {
|
||||
public AbstractAttachable(Side side, CardType cardType, int twilight, Culture culture, Keyword possessionClass, String name, boolean unique) {
|
||||
super(side, cardType, culture, name, unique);
|
||||
_twilight = twilight;
|
||||
_possessionClass = possessionClass;
|
||||
if (_possessionClass != null)
|
||||
addKeyword(_possessionClass);
|
||||
}
|
||||
|
||||
protected abstract Filter getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self);
|
||||
|
||||
@@ -14,12 +14,12 @@ import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractAttachableFPPossession extends AbstractAttachable {
|
||||
public AbstractAttachableFPPossession(int twilight, Culture culture, String name) {
|
||||
this(twilight, culture, name, false);
|
||||
public AbstractAttachableFPPossession(int twilight, Culture culture, Keyword possessionClass, String name) {
|
||||
this(twilight, culture, possessionClass, name, false);
|
||||
}
|
||||
|
||||
public AbstractAttachableFPPossession(int twilight, Culture culture, String name, boolean unique) {
|
||||
super(Side.FREE_PEOPLE, CardType.POSSESSION, twilight, culture, name, unique);
|
||||
public AbstractAttachableFPPossession(int twilight, Culture culture, Keyword possessionClass, String name, boolean unique) {
|
||||
super(Side.FREE_PEOPLE, CardType.POSSESSION, twilight, culture, possessionClass, name, unique);
|
||||
}
|
||||
|
||||
private void appendTransferPossessionAction(List<Action> actions, LotroGame game, PhysicalCard self, Filter validTargetFilter) {
|
||||
|
||||
@@ -20,8 +20,7 @@ import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
*/
|
||||
public class Card1_008 extends AbstractAttachableFPPossession {
|
||||
public Card1_008() {
|
||||
super(0, Culture.DWARVEN, "Dwarven Armor");
|
||||
addKeyword(Keyword.ARMOR);
|
||||
super(0, Culture.DWARVEN, Keyword.ARMOR, "Dwarven Armor");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,8 +33,7 @@ import java.util.Set;
|
||||
*/
|
||||
public class Card1_009 extends AbstractAttachableFPPossession {
|
||||
public Card1_009() {
|
||||
super(0, Culture.DWARVEN, "Dwarven Axe");
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(0, Culture.DWARVEN, Keyword.HAND_WEAPON, "Dwarven Axe");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_010 extends AbstractAttachable {
|
||||
public Card1_010() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 0, Culture.DWARVEN, "Dwarven Heart");
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 0, Culture.DWARVEN, null, "Dwarven Heart");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,8 +33,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_014 extends AbstractAttachableFPPossession {
|
||||
public Card1_014() {
|
||||
super(2, Culture.DWARVEN, "Gimli's Battle Axe", true);
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(2, Culture.DWARVEN, Keyword.HAND_WEAPON, "Gimli's Battle Axe", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,8 +30,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_015 extends AbstractAttachableFPPossession {
|
||||
public Card1_015() {
|
||||
super(0, Culture.DWARVEN, "Gimli's Helm", true);
|
||||
addKeyword(Keyword.HELM);
|
||||
super(0, Culture.DWARVEN, Keyword.HELM, "Gimli's Helm", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -34,8 +34,7 @@ import java.util.Map;
|
||||
*/
|
||||
public class Card1_031 extends AbstractAttachableFPPossession {
|
||||
public Card1_031() {
|
||||
super(2, Culture.ELVEN, "Asfaloth", true);
|
||||
addKeyword(Keyword.MOUNT);
|
||||
super(2, Culture.ELVEN, Keyword.MOUNT, "Asfaloth", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,8 +31,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_033 extends AbstractAttachableFPPossession {
|
||||
public Card1_033() {
|
||||
super(1, Culture.ELVEN, "Bow of the Galadhrim", true);
|
||||
addKeyword(Keyword.RANGED_WEAPON);
|
||||
super(1, Culture.ELVEN, Keyword.RANGED_WEAPON, "Bow of the Galadhrim", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -20,8 +20,7 @@ import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
*/
|
||||
public class Card1_041 extends AbstractAttachableFPPossession {
|
||||
public Card1_041() {
|
||||
super(1, Culture.ELVEN, "Elven Bow");
|
||||
addKeyword(Keyword.RANGED_WEAPON);
|
||||
super(1, Culture.ELVEN, Keyword.RANGED_WEAPON, "Elven Bow");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,8 +22,7 @@ import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
*/
|
||||
public class Card1_042 extends AbstractAttachableFPPossession {
|
||||
public Card1_042() {
|
||||
super(1, Culture.ELVEN, "Elven Cloak");
|
||||
addKeyword(Keyword.CLOAK);
|
||||
super(1, Culture.ELVEN, Keyword.CLOAK, "Elven Cloak");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -38,8 +38,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_047 extends AbstractAttachableFPPossession {
|
||||
public Card1_047() {
|
||||
super(2, Culture.ELVEN, "Gwemegil", true);
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(2, Culture.ELVEN, Keyword.HAND_WEAPON, "Gwemegil", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,7 +26,7 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
*/
|
||||
public class Card1_049 extends AbstractAttachable {
|
||||
public Card1_049() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, "The Last Alliance of Elves and Men");
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, null, "The Last Alliance of Elves and Men");
|
||||
addKeyword(Keyword.TALE);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_062 extends AbstractAttachable {
|
||||
public Card1_062() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, "The Splendor of Their Banners", true);
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, null, "The Splendor of Their Banners", true);
|
||||
addKeyword(Keyword.TALE);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,8 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_066 extends AbstractAttachable {
|
||||
public Card1_066() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, "The Tale of Gil-galad", true);
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, null, "The Tale of Gil-galad", true);
|
||||
addKeyword(Keyword.TALE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -27,8 +27,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_068 extends AbstractAttachable {
|
||||
public Card1_068() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, "The White Arrows of Lorien");
|
||||
addKeyword(Keyword.TALE);
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, null, "The White Arrows of Lorien");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,8 +32,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_074 extends AbstractAttachableFPPossession {
|
||||
public Card1_074() {
|
||||
super(0, Culture.GANDALF, "Gandalf's Pipe", true);
|
||||
addKeyword(Keyword.PIPE);
|
||||
super(0, Culture.GANDALF, Keyword.PIPE, "Gandalf's Pipe", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -35,8 +35,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_075 extends AbstractAttachableFPPossession {
|
||||
public Card1_075() {
|
||||
super(2, Culture.GANDALF, "Glamdring", true);
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(2, Culture.GANDALF, Keyword.HAND_WEAPON, "Glamdring", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -34,8 +34,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_090 extends AbstractAttachableFPPossession {
|
||||
public Card1_090() {
|
||||
super(1, Culture.GONDOR, "Aragorn's Bow", true);
|
||||
addKeyword(Keyword.RANGED_WEAPON);
|
||||
super(1, Culture.GONDOR, Keyword.RANGED_WEAPON, "Aragorn's Bow", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,8 +30,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_091 extends AbstractAttachableFPPossession {
|
||||
public Card1_091() {
|
||||
super(1, Culture.GONDOR, "Aragorn's Pipe", true);
|
||||
addKeyword(Keyword.PIPE);
|
||||
super(1, Culture.GONDOR, Keyword.PIPE, "Aragorn's Pipe", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,8 +28,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_092 extends AbstractAttachableFPPossession {
|
||||
public Card1_092() {
|
||||
super(1, Culture.GONDOR, "Armor");
|
||||
addKeyword(Keyword.ARMOR);
|
||||
super(1, Culture.GONDOR, Keyword.ARMOR, "Armor");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_094 extends AbstractAttachableFPPossession {
|
||||
public Card1_094() {
|
||||
super(1, Culture.GONDOR, "Athelas");
|
||||
super(1, Culture.GONDOR, null, "Athelas");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -36,8 +36,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_095 extends AbstractAttachableFPPossession {
|
||||
public Card1_095() {
|
||||
super(1, Culture.GONDOR, "Blade of Gondor", true);
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(1, Culture.GONDOR, Keyword.HAND_WEAPON, "Blade of Gondor", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,8 +29,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_098 extends AbstractAttachableFPPossession {
|
||||
public Card1_098() {
|
||||
super(0, Culture.GONDOR, "Boromir's Cloak", true);
|
||||
addKeyword(Keyword.CLOAK);
|
||||
super(0, Culture.GONDOR, Keyword.CLOAK, "Boromir's Cloak", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -20,8 +20,7 @@ import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
*/
|
||||
public class Card1_101 extends AbstractAttachableFPPossession {
|
||||
public Card1_101() {
|
||||
super(1, Culture.GONDOR, "Coat of Mail");
|
||||
addKeyword(Keyword.ARMOR);
|
||||
super(1, Culture.GONDOR, Keyword.ARMOR, "Coat of Mail");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,8 +21,7 @@ import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
*/
|
||||
public class Card1_107 extends AbstractAttachableFPPossession {
|
||||
public Card1_107() {
|
||||
super(1, Culture.GONDOR, "Great Shield");
|
||||
addKeyword(Keyword.SHIELD);
|
||||
super(1, Culture.GONDOR, Keyword.SHIELD, "Great Shield");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,7 +22,7 @@ import com.gempukku.lotro.logic.modifiers.TwilightCostModifier;
|
||||
*/
|
||||
public class Card1_108 extends AbstractAttachable {
|
||||
public Card1_108() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 0, Culture.GONDOR, "No Stranger to the Shadows");
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 0, Culture.GONDOR, null, "No Stranger to the Shadows");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,8 +26,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_112 extends AbstractAttachableFPPossession {
|
||||
public Card1_112() {
|
||||
super(1, Culture.GONDOR, "Ranger's Sword", true);
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(1, Culture.GONDOR, Keyword.HAND_WEAPON, "Ranger's Sword", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,7 +29,8 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_114 extends AbstractAttachable {
|
||||
public Card1_114() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.GONDOR, "The Saga of Elendil", true);
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.GONDOR, null, "The Saga of Elendil", true);
|
||||
addKeyword(Keyword.TALE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,8 +32,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_160 extends AbstractAttachable {
|
||||
public Card1_160() {
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.ISENGARD, "Uruk-hai Sword");
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.ISENGARD, Keyword.HAND_WEAPON, "Uruk-hai Sword");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,8 +28,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_166 extends AbstractAttachable {
|
||||
public Card1_166() {
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.MORIA, "Cave Troll's Hammer", true);
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.MORIA, Keyword.HAND_WEAPON, "Cave Troll's Hammer", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,8 +31,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_180 extends AbstractAttachable {
|
||||
public Card1_180() {
|
||||
super(Side.SHADOW, CardType.POSSESSION, 0, Culture.MORIA, "Goblin Scimitar");
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(Side.SHADOW, CardType.POSSESSION, 0, Culture.MORIA, Keyword.HAND_WEAPON, "Goblin Scimitar");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,8 +33,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_182 extends AbstractAttachable {
|
||||
public Card1_182() {
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.MORIA, "Goblin Spear");
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.MORIA, Keyword.HAND_WEAPON, "Goblin Spear");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,8 +31,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_190 extends AbstractAttachable {
|
||||
public Card1_190() {
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.MORIA, "Moria Axe");
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.MORIA, Keyword.HAND_WEAPON, "Moria Axe");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -35,8 +35,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_285 extends AbstractAttachableFPPossession {
|
||||
public Card1_285() {
|
||||
super(1, Culture.SHIRE, "Bilbo's Pipe", true);
|
||||
addKeyword(Keyword.PIPE);
|
||||
super(1, Culture.SHIRE, Keyword.PIPE, "Bilbo's Pipe", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,8 +32,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_292 extends AbstractAttachableFPPossession {
|
||||
public Card1_292() {
|
||||
super(1, Culture.SHIRE, "The Gaffer's Pipe", true);
|
||||
addKeyword(Keyword.PIPE);
|
||||
super(1, Culture.SHIRE, Keyword.PIPE, "The Gaffer's Pipe", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,8 +21,7 @@ import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
*/
|
||||
public class Card1_299 extends AbstractAttachableFPPossession {
|
||||
public Card1_299() {
|
||||
super(1, Culture.SHIRE, "Hobbit Sword");
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(1, Culture.SHIRE, Keyword.HAND_WEAPON, "Hobbit Sword");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -34,8 +34,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_313 extends AbstractAttachableFPPossession {
|
||||
public Card1_313() {
|
||||
super(1, Culture.SHIRE, "Sting", true);
|
||||
addKeyword(Keyword.HAND_WEAPON);
|
||||
super(1, Culture.SHIRE, Keyword.HAND_WEAPON, "Sting", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,7 +26,7 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
*/
|
||||
public class Card1_314 extends AbstractAttachable {
|
||||
public Card1_314() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 2, Culture.SHIRE, "Stone Trolls");
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 2, Culture.SHIRE, null, "Stone Trolls");
|
||||
addKeyword(Keyword.TALE);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_317 extends AbstractAttachable {
|
||||
public Card1_317() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.SHIRE, "There and Back Again", true);
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.SHIRE, null, "There and Back Again", true);
|
||||
addKeyword(Keyword.TALE);
|
||||
}
|
||||
|
||||
|
||||
@@ -34,8 +34,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card1_208 extends AbstractAttachable {
|
||||
public Card1_208() {
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.WRAITH, "Black Steed");
|
||||
addKeyword(Keyword.MOUNT);
|
||||
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.WRAITH, Keyword.MOUNT, "Black Steed");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user