41,857
editsOrder stack id conditions by name
(Moved honour mode changes to inside box. Added support and documentation for Stack ID, Status groups, Tick type, Stack type and Status properties, under new "Properties" section.) |
HiddenDragon (talk | contribs) (Order stack id conditions by name) |
||
(44 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<includeonly><div class="bg3wiki-tooltip-box"><!--Extract name and icon from the page title-->{{#lvardef: name | <includeonly>__NOTOC__<div class="bg3wiki-tooltip-box"><!--Extract name and icon from the page title-->{{#lvardef: name | ||
| {{{name | {{#explode: {{#titleparts: {{PAGENAME}} }} | ( | 0 }} }}} | | {{{name | {{#explode: {{#titleparts: {{PAGENAME}} }} | ( | 0 }} }}} | ||
}}{{#lvardef: page | |||
| {{#explode: {{#titleparts: {{PAGENAME}} }} | (Condition) | 0 }} | |||
}}{{#lvardef: icon | }}{{#lvardef: icon | ||
| {{{icon | {{#replace: {{#lvar:name}} | : | }} Condition Icon.webp }}} | | {{{icon | {{#replace: {{#lvar:name}} | : | }} Condition Icon.webp }}} | ||
Line 6: | Line 8: | ||
<!--backwards compat for disease--> | <!--backwards compat for disease--> | ||
| {{#ifeq:{{{disease|}}}|yes|disease|{{{type|}}} }} | | {{#ifeq:{{{disease|}}}|yes|disease|{{{type|}}} }} | ||
}}<!-- Check if the stack ID is used by any other conditions and save it as #lvar:stackid --> {{#if:{{{stack id|}}}|{{#vardefine:counter|0 | |||
}}{{#cargo_query:tables=conditions|fields=name|where=stack_id='{{{stack id}}}'||order by=name ASC|format=template|template=counter|default= | |||
}}{{#lvardef:stackid|{{#ifeq:{{#var:counter}}|1||1}}}} | |||
}}<!-- Status properties --> {{#lvardef:FreezeDuration|{{#if:{{#invoke:String2|matchAny|source={{{properties}}}|FreezeDuration}}|1|}} | |||
}}{{PageSeo | }}{{PageSeo | ||
| title = {{PAGENAME}} | | title = {{PAGENAME}} | ||
Line 17: | Line 26: | ||
== [[Honour mode]] == | == [[Honour mode]] == | ||
{{{honour mode}}}}}{{#if:{{{status groups|}}}{{{tick type|}}}{{{stack type|}}}|{{blank}} | {{{honour mode}}}}}{{#if:{{#lvar:stackid}}{{{status groups|}}}{{{tick type|}}}{{{stack type|}}}{{{properties|}}}|{{blank}} | ||
== Properties == | == Properties == | ||
{{#if: {{ | {{#if:{{#lvar:stackid}}|{{blank}} | ||
{{SmallIcon|Info Icon.png|link=Status ID}}[[Stack ID]]: {{code|{{{stack id}}}}}}}{{#if: {{{status groups|}}}|{{blank}} | {{SmallIcon|Info Icon.png|link=Status ID}}[[Stack ID]]: {{code|{{{stack id}}}}}{{Main namespace only|[[Category:Has stack ID]]}}|{{Main namespace only|[[Category:No stack ID]]}} | ||
}}{{#if: {{{status groups|}}}|{{blank}} | |||
{{#arraydefine:status groups|{{{status groups|}}}|,}} | {{#arraydefine:status groups|{{{status groups|}}}|,}} | ||
{{SmallIcon|Plus Icon.png|link=Status groups}}[[Status groups]]: {{#arrayprint:status groups|, |@|{{SG|@}}}}}} | {{SmallIcon|Plus Icon.png|link=Status groups}}[[Status groups]]: {{#arrayprint:status groups|, |@|{{SG|@}}}}{{Main namespace only|[[Category:Has status groups]]}}|{{Main namespace only|[[Category:No status groups]]}} | ||
{{#if: {{{tick type|}}}|{{blank}} | }}{{#if: {{{tick type|}}}{{#lvar:FreezeDuration}}|{{blank}} | ||
{{SmallIcon|Duration Icons.png}}[[Conditions#Duration| | {{SmallIcon|Duration Icons.png}}[[Conditions#Duration|Loses duration]]: {{#if:{{#lvar:FreezeDuration}}|{{SP|FreezeDuration|No}}|{{#switch: {{lc:{{{tick type}}}}} | ||
| start = start of turn | | start | start turn | startturn = start of turn | ||
| end = end of turn | | end | end turn | endturn = end of turn | ||
| start round | startround = start of round | |||
| end round | endround = end of round | |||
| none = N/A | | none = N/A | ||
| #default = !syntax error! | | #default = !syntax error! | ||
}}}}{{#if: {{{stack type|}}}|{{blank}} | }}}}{{Main namespace only|[[Category:Has tick type]]}}|{{Main namespace only|[[Category:No tick type]]}}}}{{#if: {{{stack type|}}}|{{blank}} | ||
{{SmallIcon|Sort Icon.png}}[[Conditions#Stack type|If already applied]]: {{#switch: {{{stack type}}} | {{SmallIcon|Sort Icon.png}}[[Conditions#Stack type|If already applied]]: {{#switch: {{lc:{{{stack type}}}}} | ||
| additive = add to duration | | additive = add to duration | ||
| overwrite = replace current | | overwrite = replace current | ||
Line 40: | Line 52: | ||
| none = N/A | | none = N/A | ||
| #default = !syntax error! | | #default = !syntax error! | ||
}}}}{{#if: {{{properties|}}}|{{blank}} | }}{{Main namespace only|[[Category:Has stack type]]}}|{{Main namespace only|[[Category:No stack type]]}} | ||
}}{{#if: {{{stack priority|}}}|{{blank}} | |||
{{SmallIcon|Empty Icon.png}}[[Stack priority]]: {{{stack priority}}}{{Main namespace only|[[Category:Has stack priority]]}}|{{Main namespace only|[[Category:No stack priority]]}} | |||
}}{{#if: {{{properties|}}}|{{blank}} | |||
{{SmallIcon|Options Icon.png}}[[Status properties|More properties]]:{{#invoke:ParseList|main|{{#arraydefine:propertiesList|{{{properties|}}}|,}}{{#arrayprint:propertiesList|,|@| | {{SmallIcon|Options Icon.png}}[[Status properties|More properties]]:{{#invoke:ParseList|main|{{#arraydefine:propertiesList|{{{properties|}}}|,}}{{#arrayprint:propertiesList|,|@|{{SP|@}}}}|type=htmlList}}{{Main namespace only|[[Category:Has status properties]]}}|{{Main namespace only|[[Category:No status properties]]}}}}|{{Main namespace only|[[Category:No stack ID]][[Category:No status groups]][[Category:No tick type]][[Category:No stack type]][[Category:No stack priority]][[Category:No status properties]]}}}} | ||
</div> {{#if: {{{grants|}}} | | |||
{{ | |||
}} | |||
<h2> Grants: </h2> | |||
< | <div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common"> | ||
{{ | {{#invoke: ParseList | main | {{{grants}}} | type = htmlListNoBullets | useTemplate = SAI/fixed }} | ||
| | </div> | ||
| | |||
| | |||
| | |||
}} | |||
</ | |||
}}{{#if: {{{condition|}}} | | |||
<h2> Condition: {{{condition}}} </h2> | |||
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common"> | |||
{{Condition | {{{condition}}} | |||
| save = {{{condition save|}}} | |||
| dc = {{{condition dc|}}} | |||
| | | duration = {{{condition duration|}}} | ||
| | |||
| | |||
| | |||
}} | }} | ||
{{main namespace only|{{Inflicts|{{{condition}}}|cond}}}} | |||
</div> | |||
}}{{#if: {{{condition2|}}} | {{blank}} | |||
{{ | <h2> Condition: {{{condition2}}} </h2> | ||
| | <div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common"> | ||
{{Condition | {{{condition2}}} | |||
| save = {{{condition2 save|}}} | |||
| | | dc = {{{condition2 dc|}}} | ||
| | | duration = {{{condition2 duration|}}} | ||
| | |||
}} | }} | ||
{{main namespace only|{{Inflicts|{{{condition2}}}|cond}}}} | |||
</div> | |||
}}{{#if: {{{condition3|}}} | {{blank}} | |||
{{ | <h2> Condition: {{{condition3}}} </h2> | ||
| | |||
| | <div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common"> | ||
{{Condition | {{{condition3}}} | |||
| save = {{{condition3 save|}}} | |||
| dc = {{{condition3 dc|}}} | |||
| | | duration = {{{condition3 duration|}}} | ||
}} | |||
{{main namespace only|{{Inflicts|{{{condition3}}}|passive}}}} | |||
</div> | |||
}}<references/> | |||
{{#if:{{{notes|}}}| | |||
== Notes == | |||
{{{notes}}} | |||
}} | }} | ||
{{#if:{{{bugs|}}}| | |||
== Bugs == | |||
{{{bugs}}} | |||
[[Category:Bugs]] | |||
}}{{#if:{{#lvar:stackid}}|{{blank}} | |||
== Conditions with the same stack ID == | |||
Conditions with the [[stack ID]] {{code|{{{stack id}}}}}, only one of these can be applied at the same time: | |||
{{#cargo_query: | |||
tables = conditions | |||
|fields = name, icon, effects | |||
|where = stack_id='{{{stack id}}}' | |||
|order by = name | |||
|format=template | |||
|named args = yes | |||
|template=ConditionsTableRow | |||
|intro={{ConditionsTableHeader}} | |||
|outro={{ConditionsTableFooter}} | |||
}}{{Main namespace only|[[Category:Conditions with shared stack IDs]]}} | |||
}}{{#if: {{{suppress sources|}}} | | {{blank}} | |||
== | == Sources of {{#lvar:name}} == | ||
{{ | {{Condition sources | {{#lvar:page}} }} | ||
| | |||
}} | }} | ||
<!--some housekeeping:categories and cargo-->{{Main namespace only|[[Category:Conditions]]{{#cargo_store: _table = conditions | |||
[[Category: | | name = {{#lvar:name}} | ||
| icon = {{#lvar:icon}} | |||
{{#cargo_declare: _table = conditions | | brief = {{{brief | {{{effects|}}} }}} | ||
| types = {{#lvar:type}} | |||
}} | |||
}}</includeonly><noinclude>{{documentation}}{{#cargo_declare: _table = conditions | |||
| name = String (unique, mandatory) | | name = String (unique, mandatory) | ||
| icon = File | | icon = File | ||
| effects = Wikitext | | effects = Wikitext | ||
| brief = Wikitext | |||
| types = List (,) of String | | types = List (,) of String | ||
| stack_id = string | |||
| status_groups = List (,) of String | |||
| tick_type = String | |||
| properties = List (,) of String | |||
| stack_type = String | |||
}}</noinclude> | |||