Editing Template:CardSearch

From LOTR-TCG Wiki
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 3: Line 3:
</noinclude><includeonly>
</noinclude><includeonly>


{{#cargo_query:tables=Formats=F,Cards=C,CardReleases=EN,CardReleases=CR,CardSets=S,Languages=L
{{{advancedOptions|}}}
|join on=F.ValidSets HOLDS C.SetNum,C.ReprintBaseID = EN.ID,EN.ID = CR.BaseCardID,C.SetNum=S.ID,CR.LanguageCode=L.Code
 
{{#cargo_query:tables=Cards=C,CardReleases=EN,CardReleases=CR,CardSets=S,Languages=L
|join on=C.ReprintBaseID = EN.ID,EN.ID = CR.BaseCardID,C.SetNum=S.ID,CR.LanguageCode=L.Code
|fields=
|fields=
CONCAT('[[Image:Culture_', C.Culture, '.svg|x20px|text-bottom|link=', C.Culture, '_Culture|class=whitebg]]', ' <span class="tooltip">[[',  REPLACE(REPLACE(C._pageName, '/Data', ''), 'Data:', ''),  '|', CASE WHEN CR.LanguageCode <> 'EN' THEN CONCAT("'''", CR.LanguageCode, "''' ") ELSE '' END, IFNULL(CR.Title,EN.Title), CASE WHEN IFNULL(CR.Subtitle,EN.Subtitle) IS NULL THEN '' ELSE CONCAT(', ', IFNULL(CR.Subtitle,EN.Subtitle)) END, ' (', IFNULL(CR.CollInfo,C.CollInfo), ')', CASE WHEN CR.Revision > 0 THEN CONCAT(' [E',CR.Revision,']') ELSE '' END, ']]<span>[[File:', IFNULL(CR.ImageFilename,'Card_Not_Found.jpg'), '|500x500px]]</span></span>')=CardName
CONCAT('[[Image:Culture_', C.Culture, '.svg|x20px|text-bottom|link=', C.Culture, '_Culture|class=whitebg]]', ' <span class="tooltip">[[',  REPLACE(REPLACE(C._pageName, '/Data', ''), 'Data:', ''),  '|', CASE WHEN CR.LanguageCode <> 'EN' THEN CONCAT("'''", CR.LanguageCode, "''' ") ELSE '' END, IFNULL(CR.Title,EN.Title), CASE WHEN IFNULL(CR.Subtitle,EN.Subtitle) IS NULL THEN '' ELSE CONCAT(', ', IFNULL(CR.Subtitle,EN.Subtitle)) END, ' (', IFNULL(CR.CollInfo,C.CollInfo), ')', CASE WHEN CR.Revision > 0 THEN CONCAT(' [E',CR.Revision,']') ELSE '' END, ']]<span>[[File:', IFNULL(CR.ImageFilename,'Card_Not_Found.jpg'), '|500x500px]]</span></span>')=CardName
Line 12: Line 14:
AND ("{{{subtitle|}}}" = "" OR C.Subtitle RLIKE "{{{subtitle|}}}")
AND ("{{{subtitle|}}}" = "" OR C.Subtitle RLIKE "{{{subtitle|}}}")
AND ("{{{side|}}}" = "" OR C.Side = "{{{side|}}}")
AND ("{{{side|}}}" = "" OR C.Side = "{{{side|}}}")
AND ("{{{format|}}}" = "" OR (F.Name = "{{{format|}}}" AND ((C.CardType != 'Site' AND F.XList HOLDS NOT C.CollInfo) OR (C.CardType = 'Site' AND CR.Block = F.SitePath))))
AND ("{{{creator|}}}" = "" OR "{{{creator|}}}" LIKE CONCAT('%', S.Creator, '%'))
AND ("{{{creator|}}}" = "" OR "{{{creator|}}}" LIKE CONCAT('%', S.Creator, '%'))
AND ("{{{setnums|}}}" = "" OR "{{{setnums|}}}" LIKE CONCAT('%', S.Name, '%'))
AND ("{{{setnums|}}}" = "" OR "{{{setnums|}}}" LIKE CONCAT('%', S.Name, '%'))
Line 19: Line 20:
AND ("{{{textSearch|}}}" = "" OR CR.GameText LIKE "%{{{textSearch|}}}%")
AND ("{{{textSearch|}}}" = "" OR CR.GameText LIKE "%{{{textSearch|}}}%")
AND ("{{{textRegexSearch|}}}" = "" OR CR.GameText RLIKE "{{#replace:{{{textRegexSearch|}}}|\|\\}}")
AND ("{{{textRegexSearch|}}}" = "" OR CR.GameText RLIKE "{{#replace:{{{textRegexSearch|}}}|\|\\}}")
AND ("{{{taggedTextRegexSearch|}}}" = "" OR CR.TaggedGameText RLIKE "{{{taggedTextRegexSearch|}}}")


AND ("{{{culture|}}}" = "" OR "{{{culture|}}}" LIKE CONCAT('%', C.Culture, '%'))
AND ("{{{culture|}}}" = "" OR "{{{culture|}}}" LIKE CONCAT('%', C.Culture, '%'))
Line 32: Line 34:
AND ("{{{usesItemClass|}}}" = "" OR CR.GameText RLIKE "({{#replace:{{#replace:{{#replace:{{#replace:{{{usesItemClass|}}}|,|{{!}}}}||}}|RangedWeapon|Ranged Weapon}}|HandWeapon|Hand Weapon}})" )
AND ("{{{usesItemClass|}}}" = "" OR CR.GameText RLIKE "({{#replace:{{#replace:{{#replace:{{#replace:{{{usesItemClass|}}}|,|{{!}}}}||}}|RangedWeapon|Ranged Weapon}}|HandWeapon|Hand Weapon}})" )


AND ("{{{phaseAction|}}}" = "" OR ((C.CardType IN ('Event') AND "{{{phaseAction|}}}" LIKE CONCAT('%', CR.Subtypes__full, '%')) OR CR.GameText RLIKE "({{#replace:{{#replace:{{{phaseAction|}}}:|,|:{{!}}}}||}})"))
AND ("{{{eventPhase|}}}" = "" OR (C.CardType IN ('Event') AND "{{{eventPhase|}}}" LIKE CONCAT('%', CR.Subtypes__full, '%')))


AND ("{{{keyword|}}}" = "" OR CR.GameText RLIKE '(?<!\\w )({{#replace:{{#replace:{{#replace:{{#replace:{{{keyword|}}}|,|{{!}}}}||}}|+|XX \\+}}|XX|}})\\.' OR ("{{{keyword|}}}" LIKE '%Ring-bound%' AND (C.Title IN ('Frodo', 'Sam') OR CR.CanBearRing = 1)) OR ("{{{keyword|}}}" LIKE '%Unbound%' AND (C.CardType = 'Companion' AND C.Title NOT IN ('Frodo', 'Sam') AND CR.GameText NOT RLIKE '(?<!\\w )Ring-bound\\.')) OR ("{{{keyword|}}}" LIKE '%Ambush%' AND CR.GameText RLIKE '(?<!\\w )Ambush \\(\\d+\\)\\.') OR ("{{{keyword|}}}" LIKE '%Hunter%' AND CR.GameText RLIKE '(?<!\\w )Hunter \\d+\\.') )
AND ("{{{hasPhaseAction|}}}" = "" OR (C.CardType NOT IN ('Event') AND CR.GameText LIKE "{{{hasPhaseAction|}}}:"))
 
AND ("{{{keyword|}}}" = "" OR CR.GameText RLIKE '(?<!\\w )({{#replace:{{#replace:{{#replace:{{#replace:{{{keyword|}}}|,|{{!}}}}||}}|+|XX \\+}}|XX|}})\\.' OR ("{{{keyword|}}}" LIKE '%Ring-bound%' AND (C.Title IN ('Frodo', 'Sam') OR CR.CanBearRing = 1)) OR ("{{{keyword|}}}" LIKE '%Unbound%' AND (C.CardType = 'Companion' AND C.Title NOT IN ('Frodo', 'Sam') AND CR.GameText NOT RLIKE '(?<!\\w )Ring-bound\\.')) OR ("{{{keyword|}}}" LIKE '%Ambush%' AND CR.GameText RLIKE '(?<!\\w )Ambush \\(\\d+\\)\\.') )


AND ("{{{usesKeyword|}}}" = "" OR (CR.GameText RLIKE '(?<=\\w )({{#replace:{{#replace:{{{usesKeyword|}}}|,|{{!}}}}||}})' AND (1 = CASE WHEN "{{{usesKeyword|}}}" LIKE '%Archer%' AND CR.GameText LIKE '%Archer%' THEN CR.GameText RLIKE '(?<=\\w )archer\\b' ELSE 1 END )) )
AND ("{{{usesKeyword|}}}" = "" OR (CR.GameText RLIKE '(?<=\\w )({{#replace:{{#replace:{{{usesKeyword|}}}|,|{{!}}}}||}})' AND (1 = CASE WHEN "{{{usesKeyword|}}}" LIKE '%Archer%' AND CR.GameText LIKE '%Archer%' THEN CR.GameText RLIKE '(?<=\\w )archer\\b' ELSE 1 END )) )
Line 44: Line 48:
AND ("{{{strength|}}}" = "" OR CASE WHEN "{{{strength|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CR.StrengthMod = "{{{strength|}}}" ELSE CR.Strength = "{{{strength|}}}" END)
AND ("{{{strength|}}}" = "" OR CASE WHEN "{{{strength|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CR.StrengthMod = "{{{strength|}}}" ELSE CR.Strength = "{{{strength|}}}" END)
AND ("{{{strengthMore|}}}" = "" OR CASE WHEN "{{{strengthMore|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CAST(CR.StrengthMod AS INT) >= CAST("{{{strengthMore|}}}" AS INT) ELSE CR.Strength >= "{{{strengthMore|}}}" END)
AND ("{{{strengthMore|}}}" = "" OR CASE WHEN "{{{strengthMore|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CAST(CR.StrengthMod AS INT) >= CAST("{{{strengthMore|}}}" AS INT) ELSE CR.Strength >= "{{{strengthMore|}}}" END)
AND ("{{{strengthLess|}}}" = "" OR CASE WHEN "{{{strengthLess|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CAST(CR.StrengthMod AS INT) <= CAST("{{{strengthLess|}}}" AS INT) ELSE CR.Strength <= "{{{strengthLess|}}}" END)
AND ("{{{strengthLess|}}}" = "" OR CASE WHEN "{{{strengthLess|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CAST(CR.StrengthMod AS INT) <= CAST("{{{strengthLess|}}}" AS INT) ELSE CR.Strength >= "{{{strengthLess|}}}" END)


AND ("{{{vitality|}}}" = "" OR CASE WHEN "{{{vitality|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CR.VitalityMod = "{{{vitality|}}}" ELSE CR.Vitality = "{{{vitality|}}}" END)
AND ("{{{vitality|}}}" = "" OR CASE WHEN "{{{vitality|}}}" RLIKE '(\\+{{!}}-)\\d+' THEN CR.VitalityMod = "{{{vitality|}}}" ELSE CR.Vitality = "{{{vitality|}}}" END)
Line 60: Line 64:
AND ("{{{signet|}}}" = "" OR CR.Signet = "{{{signet|}}}")
AND ("{{{signet|}}}" = "" OR CR.Signet = "{{{signet|}}}")


AND ("{{{block|}}}" = "" OR (C.CardType = 'Site' AND CR.Block = "{{{block|}}}"))
AND ("{{{sitesitenum|}}}" = "" OR (C.CardType = 'Site' AND CR.SiteNum = "{{{sitesitenum|}}}"))
AND ("{{{sitesitenum|}}}" = "" OR (C.CardType = 'Site' AND CR.SiteNum = "{{{sitesitenum|}}}"))
AND ("{{{sitesitenumMore|}}}" = "" OR (C.CardType = 'Site' AND CR.SiteNum >= "{{{sitesitenumMore|}}}"))
AND ("{{{sitesitenumMore|}}}" = "" OR (C.CardType = 'Site' AND CR.SiteNum >= "{{{sitesitenumMore|}}}"))
Line 68: Line 73:
AND ("{{{shadownumLess|}}}" = "" OR (C.CardType = 'Site' AND IFNULL(CR.ShadowNum, CR.TwilightCost) <= "{{{shadownumLess|}}}"))
AND ("{{{shadownumLess|}}}" = "" OR (C.CardType = 'Site' AND IFNULL(CR.ShadowNum, CR.TwilightCost) <= "{{{shadownumLess|}}}"))


AND ("{{{isSanctuary|any}}}" = "any" OR CASE WHEN {{Boolean|{{{isSanctuary|any}}}}} = 1 THEN CR.GameText RLIKE '(?<!\\w )Sanctuary\\.' ELSE CR.GameText NOT RLIKE '(?<!\\w )Sanctuary\\.' END)
AND ("{{{isSanctuary|any}}}" = "" OR CASE WHEN {{Boolean|{{{isSanctuary|any}}}}} = 1 THEN CR.GameText RLIKE '(?<!\\w )Sanctuary\\.' ELSE CR.GameText NOT RLIKE '(?<!\\w )Sanctuary\\.' END)
AND ("{{{arrowDir|Any}}}" = "any" OR CR.ArrowDir = "{{{arrowDir|any}}}")
AND ("{{{arrowDir|Any}}}" = "Any" OR CR.ArrowDir = "{{{arrowDir|Any}}}")


AND (CASE WHEN {{Boolean|{{{isFoil|no}}}}} = 0 THEN CR.Subset NOT IN ('F', 'A', 'O') ELSE CR.Subset IN ('F', 'A', 'O') END)
AND (CASE WHEN {{Boolean|{{{isFoil|no}}}}} = 0 THEN CR.Subset NOT IN ('F', 'A', 'O') ELSE CR.Subset IN ('F', 'A', 'O') END)
Line 78: Line 83:
AND ("{{#replace:{{{loreSearch|}}}|"|}}" = "" OR CR.Lore RLIKE "{{#replace:{{{loreSearch|}}}|"|}}")
AND ("{{#replace:{{{loreSearch|}}}|"|}}" = "" OR CR.Lore RLIKE "{{#replace:{{{loreSearch|}}}|"|}}")


AND ("{{{advancedOptions|}}}" = "" OR
AND ("{{{advancedOptions|}}}" = "" OR  
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Auto-corruption)' AND CR.GameText RLIKE 'corrupt') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Add Burdens)' AND CR.GameText RLIKE 'add (up to )?(a{{!}}X{{!}}\\d) burden') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Add Burdens)' AND CR.GameText RLIKE 'add (up to )?(a{{!}}X{{!}}\\d) burden') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Prevent Burden Removal)' AND CR.GameText RLIKE '(burden[^\\.]*(can{{!}}may) ?not (be )?remove{{!}}about to remove[^\\.]*burdens?,)') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Prevent Burden Removal)' AND CR.GameText RLIKE '(burden[^\\.]*(can{{!}}may) ?not (be )?remove{{!}}about to remove[^\\.]*burdens?,)') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Remove Burdens)' AND CR.GameText RLIKE 'remove (up to )?(a{{!}}X{{!}}\\d) burden') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Remove Burdens)' AND CR.GameText RLIKE 'remove (up to )?(a{{!}}X{{!}}\\d) burden') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Prevent Burden Adding)' AND CR.GameText RLIKE '(burden[^\\.]*(can{{!}}may) ?not (be )?add{{!}}about to add[^\\.]*burdens?,)') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Prevent Burden Adding)' AND CR.GameText RLIKE '(burden[^\\.]*(can{{!}}may) ?not (be )?add{{!}}about to add[^\\.]*burdens?,)') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Spot Burdens)' AND CR.GameText RLIKE '(spot (an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) burden{{!}}burden you (can )? spot{{!}}\\(or \\d burdens\\){{!}}for each burden)') OR
("{{{advancedOptions|}}}" RLIKE '(Burdens:{{!}}Spot Burdens)' AND CR.GameText RLIKE '(spot (an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) burden{{!}}burden you (can )? spot{{!}}\\(or \\d burden{{!}}for each burden)') OR


("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Strength:{{!}}Add Strength)' AND CR.GameText RLIKE 'strength (of [^\\d\\.\\+-]* )?\\+') OR
("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Strength:{{!}}Add Strength)' AND CR.GameText RLIKE 'strength (of [^\\d\\.\\+-]* )?\\+') OR
Line 95: Line 99:
("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Site Number:{{!}}Remove Site Number)' AND CR.GameText RLIKE 'site number (of [^\\d\\.\\+-]* )?-') OR
("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Site Number:{{!}}Remove Site Number)' AND CR.GameText RLIKE 'site number (of [^\\d\\.\\+-]* )?-') OR


("{{{advancedOptions|}}}" LIKE '%Ally Removal%' AND (CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?ally' OR C.CollInfo IN ('8R103'))) OR
("{{{advancedOptions|}}}" LIKE '%Ally Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?ally') OR
("{{{advancedOptions|}}}" LIKE '%Companion Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?companion(?! from hand)') OR
("{{{advancedOptions|}}}" LIKE '%Companion Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?companion(?! from hand)') OR
("{{{advancedOptions|}}}" LIKE '%Minion Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?minion') OR
("{{{advancedOptions|}}}" LIKE '%Minion Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?minion') OR
("{{{advancedOptions|}}}" LIKE '%Follower Removal%' AND (CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?follower' OR C.CollInfo IN ('4R32', '8R103'))) OR
("{{{advancedOptions|}}}" LIKE '%Follower Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(\\w+ or )?follower') OR
("{{{advancedOptions|}}}" LIKE '%Condition Removal%' AND (CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(\\w+ or (Free Peoples {{!}}Shadow )?)?condition' OR C.CollInfo IN ('4R32', '8R103'))) OR
("{{{advancedOptions|}}}" LIKE '%Condition Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(\\w+ or (Free Peoples {{!}}Shadow )?)?condition') OR
("{{{advancedOptions|}}}" LIKE '%Possession Removal%' AND (CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(\\w+ or (Free Peoples {{!}}Shadow )?)?possession' OR C.CollInfo IN ('4R32', '8R103'))) OR
("{{{advancedOptions|}}}" LIKE '%Possession Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(\\w+ or (Free Peoples {{!}}Shadow )?)?possession') OR
("{{{advancedOptions|}}}" LIKE '%Artifact Removal%' AND (CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(\\w+ or (Free Peoples {{!}}Shadow )?)?artifact' OR C.CollInfo IN ('4R32', '8R103'))) OR
("{{{advancedOptions|}}}" LIKE '%Artifact Removal%' AND CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(\\w+ or (Free Peoples {{!}}Shadow )?)?artifact') OR


("{{{advancedOptions|}}}" RLIKE '(Cycling:{{!}}Draw Cards)' AND (CR.GameText RLIKE 'draw (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) card' AND CR.GameText NOT RLIKE 'opponent shuffle[^\\.]*draw deck and draw' AND CR.GameText NOT RLIKE '(Free Peoples {{!}}Shadow )?player (must {{!}}may )?draw' OR CR.GameText RLIKE 'muster')) OR
("{{{advancedOptions|}}}" RLIKE '(Cycling:{{!}}Draw Cards)' AND (CR.GameText RLIKE 'draw (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) card' AND CR.GameText NOT RLIKE 'opponent shuffle[^\\.]*draw deck and draw' AND CR.GameText NOT RLIKE '(Free Peoples {{!}}Shadow )?player (must {{!}}may )?draw' OR CR.GameText RLIKE 'muster')) OR
("{{{advancedOptions|}}}" RLIKE '(Cycling:{{!}}Recover Cards Into Hand)' AND CR.GameText RLIKE 'take [^\\.]*into hand') OR
("{{{advancedOptions|}}}" RLIKE '(Cycling:{{!}}Recover Cards Into Hand)' AND CR.GameText RLIKE 'take [^\\.]*into hand') OR
("{{{advancedOptions|}}}" RLIKE '(Cycling:{{!}}Discard From Your Hand)' AND (CR.GameText RLIKE 'discard [^\\.]*from hand' AND CR.GameText NOT RLIKE '(opponent{{!}}owner{{!}}(Free Peoples {{!}}Shadow )?player)[^\\.]* discard[^\\.]*from hand' OR CR.GameText RLIKE 'muster')) OR
("{{{advancedOptions|}}}" RLIKE '(Cycling:{{!}}Hand Discard)' AND (CR.GameText RLIKE 'discard (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) cards? from hand' AND CR.GameText NOT RLIKE '(opponent must discard{{!}}(Free Peoples {{!}}Shadow )?player[^\\.]*must [^\\.]* discard)' OR CR.GameText RLIKE 'muster')) OR


("{{{advancedOptions|}}}" RLIKE '(Recursion:{{!}}Take Cards Into Hand From Discard)' AND CR.GameText RLIKE 'take [^\\.]*into hand from[^\\.]*discard') OR
("{{{advancedOptions|}}}" RLIKE '(Recursion:{{!}}Take Cards Into Hand From Discard)' AND CR.GameText RLIKE 'take [^\\.]*into hand from[^\\.]*discard') OR
Line 112: Line 116:
("{{{advancedOptions|}}}" RLIKE '(Recursion:{{!}}Play Cards From Deck)' AND CR.GameText RLIKE 'play (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(Free Peoples {{!}}Shadow )?\\w* from your draw deck') OR
("{{{advancedOptions|}}}" RLIKE '(Recursion:{{!}}Play Cards From Deck)' AND CR.GameText RLIKE 'play (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(Free Peoples {{!}}Shadow )?\\w* from your draw deck') OR


("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Ally Participation)' AND CR.GameText RLIKE '(participates? in (archery fire and )?skirmish)') OR
("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Cancel Skirmish)' AND CR.GameText RLIKE '(Cancel [^\\.]*skirmish)') OR
("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Cancel Skirmish)' AND CR.GameText RLIKE '(Cancel [^\\.]*skirmish)') OR
("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Dodge Skirmish)' AND (C.CollInfo IN ('4C310','4C314','4C322','17U103','7R129') OR CR.GameText RLIKE '(remove [^\\.]*from a skirmish)')) OR
("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Dodge Skirmish)' AND (C.CollInfo IN ('4C310','4C314','4C322','17U103','7R129') OR CR.GameText RLIKE '(remove [^\\.]*from a skirmish)')) OR
Line 118: Line 121:
("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Overwhelm Protection)' AND CR.GameText RLIKE '(overwhelmed unless)') OR
("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Overwhelm Protection)' AND CR.GameText RLIKE '(overwhelmed unless)') OR


("{{{advancedOptions|}}}" RLIKE '(Signets:{{!}}Uses Aragorn Signet)' AND CR.GameText RLIKE 'Aragorn signet') OR
("{{{advancedOptions|}}}" RLIKE '(Signets:{{!}}Uses Frodo Signet)' AND CR.GameText RLIKE 'Frodo signet') OR
("{{{advancedOptions|}}}" RLIKE '(Signets:{{!}}Uses Gandalf Signet)' AND CR.GameText RLIKE 'Gandalf signet') OR
("{{{advancedOptions|}}}" RLIKE '(Signets:{{!}}Uses Théoden Signet)' AND CR.GameText RLIKE 'Theoden signet') OR
("{{{advancedOptions|}}}" RLIKE '(Culture Tokens:{{!}}Add Tokens)' AND CR.GameText RLIKE '(add{{!}}place{{!}}reinforce) (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(culture )?token') OR
("{{{advancedOptions|}}}" RLIKE '(Culture Tokens:{{!}}Reinforce Tokens)' AND CR.GameText RLIKE '(reinforce) (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(culture )?token') OR
("{{{advancedOptions|}}}" RLIKE '(Culture Tokens:{{!}}Remove Tokens)' AND CR.GameText RLIKE '(remove) (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(culture )?token') OR
("{{{advancedOptions|}}}" RLIKE '(Culture Tokens:{{!}}Remove Token From Others)' AND CR.GameText RLIKE '(remove) (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(culture )?tokens? (?!from here)(?!from this card)(?!here)') OR
("{{{advancedOptions|}}}" RLIKE '(Culture Tokens:{{!}}Spot Tokens)' AND (CR.GameText RLIKE '(spot) (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(culture )?tokens? (?!from here)(?!from this card)(?!here)' OR CR.GameText RLIKE 'for each (Free Peoples {{!}}Shadow )?(\\[\\w+\\] )?(culture )?tokens? (?!from here)(?!from this card)(?!here)') ) OR
("{{{advancedOptions|}}}" RLIKE '(Threats:{{!}}Add Threats)' AND CR.GameText RLIKE 'add (up to )?(a{{!}}X{{!}}\\d) threat') OR
("{{{advancedOptions|}}}" RLIKE '(Threats:{{!}}Prevent Threat Removal)' AND CR.GameText RLIKE '(threat[^\\.]*(can{{!}}may) ?not (be )?remove{{!}}about to remove[^\\.]*threats?,)') OR
("{{{advancedOptions|}}}" RLIKE '(Threats:{{!}}Remove Threats)' AND CR.GameText RLIKE 'remove (up to )?(a{{!}}X{{!}}\\d) threat') OR
("{{{advancedOptions|}}}" RLIKE '(Move Limit:{{!}}Increase Move Limit)' AND CR.GameText RLIKE 'move limit (for this turn )?(is )?\\+') OR
("{{{advancedOptions|}}}" RLIKE '(Move Limit:{{!}}Decrease Move Limit)' AND CR.GameText RLIKE 'move limit (for this turn )?(is )?-') OR
("{{{advancedOptions|}}}" RLIKE '(Move Limit:{{!}}Force Move)' AND CR.GameText RLIKE 'move again') OR
("{{{advancedOptions|}}}" RLIKE '(Move Limit:{{!}}Force Stop)' AND CR.GameText RLIKE 'prevent[^\\.]*moving again') OR
("{{{advancedOptions|}}}" RLIKE '(Site Manipulation:{{!}}Play Site)' AND CR.GameText RLIKE '((play{{!}}replace) the fellowship''s{{!}}replace it with your site{{!}}replace a site)') OR
("{{{advancedOptions|}}}" RLIKE '(Site Manipulation:{{!}}Prevent Site Replacement)' AND CR.GameText RLIKE 'not (be )?replace') OR
("{{{advancedOptions|}}}" RLIKE '(Site Control:{{!}}Take Control Of Site)' AND C.Side <> 'Free Peoples' AND CR.GameText RLIKE '(take control{{!}}to control)') OR
("{{{advancedOptions|}}}" RLIKE '(Site Control:{{!}}Liberate Site)' AND CR.GameText RLIKE 'liberate') OR
("{{{advancedOptions|}}}" RLIKE '(Site Control:{{!}}Prevent Site Control)' AND CR.GameText RLIKE 'about to (take )?control') OR
("{{{advancedOptions|}}}" RLIKE '(Site Control:{{!}}Your Site Control Bonus)' AND CR.GameText RLIKE '(you control)') OR
("{{{advancedOptions|}}}" RLIKE '(Site Control:{{!}}No Site Control Bonus)' AND CR.GameText RLIKE '(no opponent control)') OR
("{{{advancedOptions|}}}" RLIKE '(Initiative:{{!}}Initiative Bonus)' AND CR.GameText RLIKE '((while{{!}}if) (you{{!}}shadow) (have{{!}}has) initiative)') OR
("{{{advancedOptions|}}}" RLIKE '(Initiative:{{!}}Shadow Initiative Manipulation)' AND CR.GameText RLIKE '((?<!if )(?<!if the )shadow (player )?has initiative{{!}}to have initiative)') OR
("{{{advancedOptions|}}}" RLIKE '(Initiative:{{!}}Freeps Initiative Loss Bonus)' AND C.Side = 'Free Peoples' AND CR.GameText RLIKE '(you lose initiative{{!}}shadow has initiative)') OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Look At Top Of Deck)' AND CR.GameText RLIKE "(look at the top (\\w+ )?cards? of (your{{!}}its owners{{!}}(your{{!}}an) opponent's{{!}}his or her{{!}}their) draw deck)") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Reveal Top Of Deck)' AND CR.GameText RLIKE "(reveal the top (\w+ )?cards? of (your{{!}}its owners{{!}}(your{{!}}an) opponent's{{!}}his or her{{!}}their) draw deck)") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Place On Top Of Deck)' AND CR.GameText RLIKE "(on top of ((or beneath )?your{{!}}its owners{{!}}(your{{!}}an) opponent's{{!}}his or her{{!}}their) draw deck)") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Place On Bottom Of Deck)' AND CR.GameText RLIKE "((on the bottom of{{!}}beneath) (your{{!}}its owners{{!}}(your{{!}}an) opponent's{{!}}his or her{{!}}their) draw deck)") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Shuffle Into Deck)' AND CR.GameText RLIKE "shuffle (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each)[^\\.]* into (your{{!}}its owners{{!}}(your{{!}}an) opponent's{{!}}his or her{{!}}their) draw deck") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Discard From Your Deck)' AND CR.GameText RLIKE "discards? (up to )?(the{{!}}an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each)[^\\.]* (from{{!}}of) (the top of )?your draw deck") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Discard From Opponent''s Deck)' AND CR.GameText RLIKE "discards? (up to )?(the{{!}}an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each)[^\\.]* (from{{!}}of) (the top of )?(its owners{{!}}(your{{!}}an) opponent's{{!}}his{{!}}his or her{{!}}their) draw deck") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Discard From Opponent''s Hand)' AND CR.GameText RLIKE "(discards? (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each)[^\\.]* from (its owners{{!}}(your{{!}}an) opponent's{{!}}the shadow player''s{{!}}his{{!}}his or her{{!}}their) hand{{!}}((choose{{!}}make) )?(an opponent{{!}}the shadow player{{!}}the free peoples player{{!}}that player)( to)? discard[^\\.]*from hand){{!}}owner discards") OR
("{{{advancedOptions|}}}" RLIKE '(Card Manipulation:{{!}}Reveal Opponent''s Hand)' AND CR.GameText RLIKE "(reveal (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each)[^\\.]* from (its owners{{!}}(your{{!}}an) opponent's{{!}}his{{!}}his or her{{!}}their) hand{{!}}reveal (your{{!}}an) opponent's hand)") OR




Please note that all contributions to the LOTR-TCG Wiki may be edited, altered, or removed by other contributors. Your writing is liable to be edited mercilessly, so be sure to back up any major claims with links if possible.

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)