Difference between revisions of "Template:ShowSkillCaps"

From ChatWars Wiki
Jump to: navigation, search
(updated to dynamic queries)
Line 1: Line 1:
{{#vardefine: class | {{{class|none}}} }}{{#vardefine: showSection | {{{showSection|0}}} }}{{#vardefine: lowerBound | 0 }}{{#vardefine: upperBound | 0 }}{{#vardefine: i | 0 }}<includeonly><!--
+
{{#vardefine: class | {{{class|none}}} }}{{#vardefine: lowerBound | {{{lowerBound|20}}} }}{{#vardefine: upperBound | {{{upperBound|39}}} }}{{#vardefine: i | 0 }}{{#vardefine: queryText | Level }}{{#vardefine: firstRun | 1}}<includeonly><!--
-->{{#switch: {{#var: class}} <!-- change this query text stuff, doesn't work since dynamic queries aren't possible -->
+
-->{{#switch: {{#var: class}}
 
   | Ranger = {{#vardefine: queryText | RnLevel }}
 
   | Ranger = {{#vardefine: queryText | RnLevel }}
 
   | Knight = {{#vardefine: queryText | KnLevel }}
 
   | Knight = {{#vardefine: queryText | KnLevel }}
Line 7: Line 7:
 
   | Blacksmith = {{#vardefine: queryText | BsLevel }}
 
   | Blacksmith = {{#vardefine: queryText | BsLevel }}
 
   | Collector = {{#vardefine: queryText | ClLevel }}
 
   | Collector = {{#vardefine: queryText | ClLevel }}
}}<!--
 
-->{{#switch: {{#var: showSection}}
 
  | 0 = {{#vardefine: lowerBound | 10}}{{#vardefine: upperBound | 19}}
 
  | 1 = {{#vardefine: lowerBound | 20}}{{#vardefine: upperBound | 39}}
 
  | 2 = {{#vardefine: lowerBound | 40}}{{#vardefine: upperBound | 59}}
 
  | 3 = {{#vardefine: lowerBound | 60}}{{#vardefine: upperBound | 79}}
 
  | 4 = {{#vardefine: lowerBound | 80}}{{#vardefine: upperBound | 99}}
 
 
}}<!--
 
}}<!--
  
Line 26: Line 19:
 
     {{#vardefine: i | {{#var: lowerBound}} }}{{#while: <!-- generate level headers of table -->
 
     {{#vardefine: i | {{#var: lowerBound}} }}{{#while: <!-- generate level headers of table -->
 
       | {{#ifexpr: {{#var: i}} < {{#expr: {{#var: upperBound}} + 1 }} | true }}
 
       | {{#ifexpr: {{#var: i}} < {{#expr: {{#var: upperBound}} + 1 }} | true }}
       | ! {{#var: i}} {{#vardefine: i | {{#expr: {{#var: i}} + 1 }} }}<br>
+
       | {{#if: {{#var: firstRun}} | ! | !! }} {{#var: i}} {{#vardefine: i | {{#expr: {{#var: i}} + 1 }} }}{{#vardefine: firstRun|}}
 
     }}
 
     }}
 
}}
 
}}
 
|-
 
|-
{{#switch: {{#var: showSection}}
+
<!-- formatting and output -->
  | 0 = {{#ask: [[{{{source|{{PAGENAME}} }}}]]
+
{{#vardefine: startRange | 0 }} {{#vardefine: endRange | 0 }}
          |headers=hide
+
{{#vardefine: i | {{#var: lowerBound}} }}
          |format=template
+
{{#vardefine: firstOutput | 1 }}
          |template=SkillRow
+
{{#vardefine: backgroundColorModifier | }}
          |?BoolSpecialSkill
+
{{#vardefine: strLen | 0 }}
          |?Description#
+
{{#vardefine: subStr | }}
 
+
<!-- write and style skill name and description-->
          |?Level10#
+
|style="{{#ifeq: {{#show: {{{source | {{PAGENAME}} }}} |?BoolSpecialSkill }} | true
          |?Level11#
+
          | background-color: lightgrey;
          |?Level12#
+
        }} text-align: left"| [[{{{source | {{PAGENAME}} }}}]]
          |?Level13#
+
|style="text-align: left"| {{#show: {{{source | {{PAGENAME}} }}} |?Description# }}
          |?Level14#
+
<!-- iterate through entire skill cap range-->
           |?Level15#
+
{{#while:
          |?Level16#
+
  | {{#ifexpr: {{#if: {{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }} | 1 | 0 }} and {{#expr: {{#var: i}} < {{#var: upperBound}} }} | true }}
          |?Level17#
+
    <!-- iterate over a range (same numbers in skill caps)-->
          |?Level18#
+
  | {{#vardefine: startRange | {{#var: i}} }}
          |?Level19#
+
    {{#while:
 +
      | {{#if: {{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }}
 +
           | {{#ifeq: {{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }}
 +
              | {{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#expr: {{#var: i}} + 1}}# }}
 +
              | true
 +
            }}
 
         }}
 
         }}
  | 1 = {{#ask: [[{{{source|{{PAGENAME}} }}}]]
+
      | {{#vardefine: i | {{#expr: {{#var: i}} + 1}} }}
          |headers=hide
+
    }}
          |format=template
+
    {{#vardefine: endRange | {{#var: i}} }}
          |template=SkillRow
 
          |?BoolSpecialSkill
 
          |?Description#
 
  
          |?Level20#
+
    <!-- mark "unknown" and "?" as red-->
          |?Level21#
+
    {{#switch: {{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }}
          |?Level22#
+
      | Unknown | ? = {{#vardefine: backgroundColorModifier | style="background-color: red" }}
          |?Level23#
+
      | #default = {{#vardefine: backgroundColorModifier | }}
          |?Level24#
+
    }}
          |?Level25#
 
          |?Level26#
 
          |?Level27#
 
          |?Level28#
 
          |?Level29#
 
  
          |?Level30#
+
    <!-- check if there's a number and a "*" in the skill cap string and mark it as blue-->
          |?Level31#
+
    {{#vardefine: strLen | {{#len:{{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }} }} }}
          |?Level32#
+
    {{#ifexpr: {{#var: strLen}} > 1
          |?Level33#
+
      | {{#vardefine: subStr | {{#sub:{{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }} |-1}} }}
          |?Level34#
+
    }}
          |?Level35#
+
    {{#ifeq: {{#var: subStr}} | *
          |?Level36#
+
      | {{#vardefine: backgroundColorModifier | style="background-color: lightblue" }}
          |?Level37#
+
    }}
          |?Level38#
 
          |?Level39#
 
        }}
 
  | 1 = {{#ask: [[{{{source|{{PAGENAME}} }}}]]
 
          |headers=hide
 
          |format=template
 
          |template=SkillRow
 
          |?BoolSpecialSkill
 
          |?Description#
 
  
          |?Level40#
+
    <!-- check if it's the first cap range being displayed (in that case only write 1x "{{!}}", otherwise write 2x "{{!}}")-->
          |?Level41#
+
    {{#ifeq: {{#var: firstOutput}} | 1
          |?Level42#
+
      | {{!}} colspan="{{#expr: {{#var: endRange}} - {{#var: startRange}} + 1 }}" {{#var: backgroundColorModifier}} {{!}} {{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }}
          |?Level43#
+
      | {{!}}{{!}} colspan="{{#expr: {{#var: endRange}} - {{#var: startRange}} + 1 }}" {{#var: backgroundColorModifier}} {{!}} {{#show: {{{source | {{PAGENAME}} }}} |?{{#var: queryText}}{{#var: i}}# }}
          |?Level44#
+
    }}
          |?Level45#
 
          |?Level46#
 
          |?Level47#
 
          |?Level48#
 
          |?Level49#
 
  
          |?Level50#
+
    <!-- reset some variables and increment i-->
          |?Level51#
+
    {{#vardefine: backgroundColorModifier | }}
          |?Level52#
+
    {{#vardefine: subStr | }}
          |?Level53#
+
    {{#vardefine: firstOutput | 0 }}
          |?Level54#
+
    {{#vardefine: i | {{#expr: {{#var: i}} + 1}} }}
          |?Level55#
 
          |?Level56#
 
          |?Level57#
 
          |?Level58#
 
          |?Level59#
 
        }}
 
 
}}
 
}}
 +
|-
 
{{#ifeq: {{{standalone|true}}} | false
 
{{#ifeq: {{{standalone|true}}} | false
 
   |
 
   |

Revision as of 14:51, 4 February 2019


This template shows the skill caps of a skill within certain boundaries If parameter "standalone" is set to true (default), it generates a table head to be used completely on its own, if set to false it only shows the name, description and skill caps without adding wikitable beginnings and ends