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
'(?<!\\w ){{#replace:{{#replace:{{#replace:{{#replace:{{{keyword|}}}|,|{{!}}}}||}}|+|XX \\+}}|XX|}}\\.'
|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


|where= ('{{{isUnique|any}}}' = 'any' OR CR.IsUnique = {{Boolean|{{{isUnique|any}}}}})  
|where= ('{{{isUnique|any}}}' = 'any' OR CR.IsUnique = {{Boolean|{{{isUnique|any}}}}})  
AND ("{{{title|}}}" = "" OR C.Title RLIKE "{{{title|}}}")
AND ("{{{title|}}}" = "" OR CR.Title RLIKE "{{{title|}}}")
AND ("{{{subtitle|}}}" = "" OR C.Subtitle RLIKE "{{{subtitle|}}}")
AND ("{{{subtitle|}}}" = "" OR CR.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 18: Line 19:


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 "{{{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 ("{{{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 ("{{{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 ("{{{usesKeyword|}}}" = "" OR CR.GameText RLIKE '(?<\\w )({{#replace:{{#replace:{{{usesKeyword|}}}|,|{{!}}}}||}})' )
 
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 44:
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 60:
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 69:
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 77: Line 78:
AND ("{{{languageName|}}}" = "" OR L.Name IN ("{{#replace:{{#replace:{{{languageName|}}}|,|","}}||}}"))
AND ("{{{languageName|}}}" = "" OR L.Name IN ("{{#replace:{{#replace:{{{languageName|}}}|,|","}}||}}"))
AND ("{{#replace:{{{loreSearch|}}}|"|}}" = "" OR CR.Lore RLIKE "{{#replace:{{{loreSearch|}}}|"|}}")
AND ("{{#replace:{{{loreSearch|}}}|"|}}" = "" OR CR.Lore RLIKE "{{#replace:{{{loreSearch|}}}|"|}}")
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:{{!}}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:{{!}}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 '(Stats:{{!}}Modify Strength:{{!}}Add Strength)' AND CR.GameText RLIKE 'strength (of [^\\d\\.\\+-]* )?\\+') OR
("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Strength:{{!}}Remove Strength)' AND CR.GameText RLIKE 'strength (of [^\\d\\.\\+-]* )?-') OR
("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Resistance:{{!}}Add Resistance)' AND CR.GameText RLIKE 'resistance (of [^\\d\\.\\+-]* )?\\+') OR
("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Resistance:{{!}}Remove Resistance)' AND CR.GameText RLIKE 'resistance (of [^\\d\\.\\+-]* )?-') OR
("{{{advancedOptions|}}}" RLIKE '(Stats:{{!}}Modify Site Number:{{!}}Add 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 '%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 '%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 '%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 '%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 '%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|}}}" 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:{{!}}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 '(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 Deck)' AND CR.GameText RLIKE 'take [^\\.]*into hand from[^\\.]*draw deck') OR
("{{{advancedOptions|}}}" RLIKE '(Recursion:{{!}}Play Cards From Discard)' AND CR.GameText RLIKE 'play (up to )?(an?{{!}}X{{!}}\\d{{!}}all{{!}}every{{!}}each) (\\[\\w+\\] )?(Free Peoples {{!}}Shadow )?\\w* from your discard pile') 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:{{!}}Dodge Skirmish)' AND (C.CollInfo IN ('4C310','4C314','4C322','17U103','7R129') OR CR.GameText RLIKE '(remove [^\\.]*from a skirmish)')) OR
("{{{advancedOptions|}}}" RLIKE '(Skirmishing:{{!}}Replace Skirmish)' AND CR.GameText RLIKE 'replace[^\\.]*skirmish') 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
1=0
)


AND {{PromoFilter}}
AND {{PromoFilter}}
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)