Difference between revisions of "Template:ShowSkillCaps"

From ChatWars Wiki
Jump to: navigation, search
m (more formatting adjustments for unknown sections)
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#vardefine: class | {{{class|none}}} }}{{#vardefine: showSection | {{{showSection|0}}} }}{{#vardefine: lowerBound | 0 }}{{#vardefine: upperBound | 0 }}{{#vardefine: i | 0 }}<includeonly><!--
+
{{#vardefine: skill | {{ReplaceNumericCharEncoding| string= {{{skill | {{PAGENAME}} }}} }} }}{{#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: {{#var: skill}} |?BoolSpecialSkill }} | true
          |?Level11#
+
          | background-color: lightgrey;
          |?Level12#
+
        }} text-align: left"| [[{{#var: skill}}]]
          |?Level13#
+
|style="text-align: left"| {{#show: {{#var: skill}} |?Description# }}
          |?Level14#
+
<!-- iterate through entire skill cap range-->
          |?Level15#
+
{{#while:
          |?Level16#
+
  | {{#ifexpr: {{#if: {{#show: {{#var: skill}} |?{{#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:
 +
      | {{#ifexpr: {{#expr: {{#var: i}} <= {{#var:upperBound}} }} and {{#if: {{#show: {{#var: skill}} |?{{#var: queryText}}{{#var: i}}# }}
 +
                                                                      | {{#ifeq: {{#show: {{#var: skill}} |?{{#var: queryText}}{{#var: i}}# }}
 +
                                                                          | {{#show: {{#var: skill}} |?{{#var: queryText}}{{#expr: {{#var: i}} + 1}}# }}
 +
                                                                          | 1
 +
                                                                          | 0
 +
                                                                        }}
 +
                                                                      | 0
 +
                                                                    }}
 +
           | 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: {{#var: skill}} |?{{#var: queryText}}{{#var: i}}# }}
          |?Level22#
+
      | Unknown | ? = {{#vardefine: backgroundColorModifier | style="background-color: #b02b2b;font-weight:bold;color:white" }}
          |?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: {{#var: skill}} |?{{#var: queryText}}{{#var: i}}# }} }} }}
          |?Level32#
+
    {{#ifexpr: {{#var: strLen}} > 1
          |?Level33#
+
      | {{#vardefine: subStr | {{#sub:{{#show: {{#var: skill}} |?{{#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#
+
      | {{!}}
          |?Level43#
+
      | {{!}}{{!}}
          |?Level44#
+
    }} colspan="{{#expr: {{#var: endRange}} - {{#var: startRange}} + 1 }}" {{#var: backgroundColorModifier}} {{!}} {{#show: {{#var: skill}} |?{{#var: queryText}}{{#var: i}}# }}
          |?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
 
   |
 
   |
 
   | {{!}}}
 
   | {{!}}}
}}
+
}}</includeonly><noinclude>
</includeonly>
 
<noinclude>
 
 
This template shows the skill caps of a skill within certain boundaries
 
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 parameter "standalone" is set to true (default), it generates a table head to be used completely on its own,

Latest revision as of 06:45, 8 December 2021

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