Difference between revisions of "User:©TriMoon™/Sandbox"

From Salem Wiki
Jump to: navigation, search
Line 109: Line 109:
 
*isGameMenu=[[isGameMenu::n]]
 
*isGameMenu=[[isGameMenu::n]]
 
*isinGameMenu=[[isinGameMenu::Test]]
 
*isinGameMenu=[[isinGameMenu::Test]]
*String=[[String::Board;6]]
 
*String=[[String::Wooden Plugs;4]]
 
*String=[[String::Nails;2]]
 
*RequiresObj=[[RequiresObj::Anvil]]
 
*RequiresObj=[[RequiresObj::Flint;1]]
 
*RequiresObj=[[RequiresObj::Stone;3]]
 
*RequiresObj=[[RequiresObj::Lime;15;Startpost]]
 
*RequiresObj=[[RequiresObj::Flint;15;Startpost]]
 
*RequiresObj=[[RequiresObj::Stone;30;Startpost]]
 
*RequiresObj=[[RequiresObj::Lime;8;Cornerpost]]
 
*RequiresObj=[[RequiresObj::Flint;8;Cornerpost]]
 
*RequiresObj=[[RequiresObj::Stone;15;Cornerpost]]
 
*RequiresObj=[[RequiresObj::Board;10]]
 
*RequiresObj=[[RequiresObj::Nails;4]]
 
  
 
===Querries===
 
===Querries===

Revision as of 18:08, 25 June 2012

Infobox

{{infobox}}:
Template:Infobox/debugTheme Template:Infobox/debugTheme
Template:Infobox/debugTheme Template:Infobox/debugTheme

Semantics use

Lets try to describe properties of Objects using their placement in the game-menus to aid in later auto-categorization....

See Property:IsinGameMenu for current menu-names.

fe. Blazing Brazier, would need:

  • isGameMenu=n
  • isinGameMenu=Claims & Defenses
See these pages for documentation

Property settings

  • isGameMenu=n
  • isinGameMenu=Test

Querries

  1. {{List MenuEntries|menu=Test}}
    no Non-menu entries found.
  2. ---{{#show: User:©TriMoon™/PropVals testdata |?IsinGameMenu}}---
    ------
  3. Listing values for Property:RequiresObj on current test data page
    1. {{#show: User:©TriMoon™/PropVals testdata |?RequiresObj |link=none |sep=<br/> }}
    2. {{#ask: [[User:©TriMoon™/PropVals testdata]] [[RequiresObj::+]] | ?RequiresObj= |link=none |sep=<br/> }}
    3. Automatic listing in mind: {{PropVals |prop={{{prop|RequiresObj}}} |page={{FULLPAGENAME}}}}
      1. {{PropVals/getRecords|prop=RequiresObj|page=User:©TriMoon™/PropVals testdata }}
      2. {{PropVals/Group | <output from step above> }} internally using {{PropVals/Split}}
        • As you can see the usage below doesn't work because the parser does not recognize the records as extra arguments...
          • {{PropVals/Group |{{PropVals/getRecords|prop=RequiresObj|page=User:©TriMoon™/PropVals testdata }} }}
          • PropVals/Group:
            You need to provide records tobe processed !
        • Therefore we need to use {{#arraymap:}} as a wrapper to inject the records as extra arguments...
          • {{#arraymap: {{PropVals/getRecords|prop=RequiresObj|page=User:©TriMoon™/PropVals testdata }}{{{grpsep|/\}}} |{{{grpsep|/\}}} |xXx |{{PropVals/Group |sep={{{sep|;}}} |grpsep={{{grpsep|/\}}} |xXx }} |}}
          • {{PropVals/getGroupedRecords|prop=RequiresObj|page=User:©TriMoon™/PropVals testdata |sep={{{sep|;}}}|grpsep={{{grpsep|/\}}} }}
      3. <ul>{{#arraymap: <output from step above> |{{{grpsep|/\}}} |xXx |{{PropVals/List|sep={{{sep|;}}}|xXx}} |}}</ul>
      4. {{PropVals|prop=RequiresObj}} gives:
        • {{PropVals|prop=RequiresObj|page=User:©TriMoon™/PropVals testdata}} gives:
      5. floating code...
        • {{PropVals/Split |val={{#show:User:©TriMoon™/PropVals testdata |?RequiresObj |link=none |sep=/\}} |sep=/\ |part=2 }}
        • {{#replace:{{#show:User:©TriMoon™/PropVals testdata |?RequiresObj |link=none |sep=/\}}|;|{{!}} }}
        • {{#arraymap: {{#replace:{{#show:User:©TriMoon™/PropVals testdata |?RequiresObj |link=none |sep=/\}}|;|{{!}} }} |/\|x|{{t|t|x}}|<br/> }}