Template:PortalRequirementsTable/row: Difference between revisions

From IdleOn MMO Wiki
m (Slightly reworded text if there is no area behind a portal req)
mNo edit summary
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly>
<includeonly><tr>
{{#vardefine:rowspan|{{#if:{{{portalreq3|}}}|3|{{#if:{{{portalreq2|}}}|2|1}}}}}}
<td rowspan='{{#vardefineecho:rowspan|{{#expr:{{#count:{{{portalreqs|}}}|,}} + 1}}}}'>[[Worlds#{{{area}}}|{{{area}}}]]</td>
{{#vardefine:requirementicon|{{#if:{{{skillname|}}}|{{{skillname}}} Skill Icon.png|Boss Skull.png}}}}
<td rowspan='{{#var:rowspan}}'>{{#if:{{{skillname|}}}|{{#arraymap:{{{targets}}}|,|a|[[File:a.png|30px]]|\s}}|{{#arraymap:{{{targets}}}|,|a|[[File:a Idle.gif|30px]]|\n}}}}</td>
{{#vardefine:noareatext|A portal doesn't exist, or it is hidden/doesn't lead anywhere (except maybe back to town)}}
<td rowspan='{{#var:rowspan}}'>{{#if:{{{skillname|}}}||{{{mobAmount|}}}}}</td>
|-
{{#invoke:Loops|portalRowLoop
|rowspan={{#var:rowspan}}|[[Worlds#{{{area}}}|{{{area}}}]] ||rowspan={{#var:rowspan}}|{{#arraymap:{{{targets}}}|,|a|[[File:{{#if:{{{skillname|}}}|a.png|a Idle.gif}}|30px]]|\s}} ||{{#if:{{{portalreq1|}}}|[[File:{{#var:requirementicon}}|30px]]{{Numdisplay|{{{portalreq1}}}}}}} ||{{#if:{{{portalreq1|}}}|{{#if:{{{portalarea1|}}}|[[Worlds#{{{portalarea1}}}|{{{portalarea1}}}]]|{{#var:noareatext}}}} {{#if:{{{portalreq2|}}}|{{|-|}}[[File:{{#var:requirementicon}}|30px]]{{Numdisplay|{{{portalreq2}}}}} {{|-|}}{{#if:{{{portalarea2|}}}|[[Worlds#{{{portalarea2}}}|{{{portalarea2}}}]]|{{#var:noareatext}}}}}} {{#if:{{{portalreq3|}}}|{{|-|}}[[File:{{#var:requirementicon}}|30px]]{{Numdisplay|{{{portalreq3}}}}} {{|-|}}{{#if:{{{portalarea3|}}}|[[Worlds#{{{portalarea3}}}|{{{portalarea3}}}]]|{{#var:noareatext}}}}}}</includeonly><noinclude>Note: Currently uses static portal variables (rather than one comma-separated one), as the table uses formatting which requires knowledge of how many entries there are to display. Template could be refactored by either adding that information as a parameter, or by installing array-extensions, which would allow for functions like #arraydefine and #arrayindex to determine the size dynamically.<pre>
|reqs={{{portalreqs|}}}
|areas={{{portalareas|}}}
|icon={{{skillname|Boss}}}
}}</tr></includeonly><noinclude><pre>


Usage:
Usage:
Line 13: Line 16:
|targets=example or example,example (has to differentiate between enemies using idle gifs and skilling nodes using pngs
|targets=example or example,example (has to differentiate between enemies using idle gifs and skilling nodes using pngs
|skillname=example (Optional, if empty assumes the row to represent portals requiring killcounts rather than skill level)
|skillname=example (Optional, if empty assumes the row to represent portals requiring killcounts rather than skill level)
|portalreq1=example (Optional)
|portalreqs=example,list
|portalarea1=example (Optional)
|portalareas=example,list
|portalreq2=example (Optional)
|portalarea2=example (Optional)
|portalreq3=example (Optional)
|portalarea3=example (Optional)
}}
}}
</pre>[[Category:Table templates]]</noinclude>
</pre>[[Category:Table templates]]</noinclude>

Latest revision as of 01:42, 12 March 2024


Usage:
If portal area variables are ommitted, while a req is set, an infotext regarding hidden portals/portals without target will be displayed instead.

{{PortalRequirementsTable/row
|area=example
|targets=example or example,example (has to differentiate between enemies using idle gifs and skilling nodes using pngs
|skillname=example (Optional, if empty assumes the row to represent portals requiring killcounts rather than skill level)
|portalreqs=example,list
|portalareas=example,list
}}