Template:Condition page: Difference between revisions

Jump to navigation Jump to search
Just store brief only if specified
(Change "disease" to "type". Display type.)
(Just store brief only if specified)
(74 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 }}}
}}{{#lvardef: type
}}{{#lvardef: type
<!--backwards compat for disease-->
<!--backwards compat for disease-->
| {{#ifeq:{{{disease|}}}|yes|disease}}{{#if:{{{type|}}}|{{{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
| title = {{PAGENAME}}
| image = {{#lvar:icon}}
| description = {{{effects|}}}
}}<!--Actual display starts here-->{{NoExcerpt | {{icon| {{#lvar:icon}} |30}} '''{{#lvar:name}}''' }}
}}<!--Actual display starts here-->{{NoExcerpt | {{icon| {{#lvar:icon}} |30}} '''{{#lvar:name}}''' }}


{{{effects|}}} {{#if: {{#lvar:type}} | {{blank}}
{{{effects|}}} {{#if: {{{warning|}}} | <br>
* {{Condition/Type|{{#lvar:type}} }}
<p>{{Colour|white|{{{warning}}}}}</p> }}{{#if: {{#lvar:type}} | <br>
}}</div><!--some housekeeping:categories and cargo-->{{#switch: {{{this is an example|}}}
{{Condition type|{{#lvar:type}} }}}}{{#if:{{{honour mode|}}}|{{blank}}
| yes =
 
| #default = [[Category:Conditions]]
== [[Honour mode]] ==
}}{{#switch: {{{this is an example|}}}
{{{honour mode}}}}}{{#if:{{#lvar:stackid}}{{{status groups|}}}{{{tick type|}}}{{{stack type|}}}{{{properties|}}}|{{blank}}
| yes =
 
| #default = {{#cargo_store: _table = conditions
== Properties ==
| name = {{#lvar:name}}
{{#if:{{#lvar:stackid}}|{{blank}}
| icon = {{#lvar:icon}}
 
| type = {{#lvar:type}}
{{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}}
}}</includeonly><noinclude>
{{#arraydefine:status groups|{{{status groups|}}}|,}}
If the page title is {{C|Blah (Condition)}}, then you don't have to provide the {{C|name}} parameter. Likewise, if the icon for the condition is called {{C|Blah Condition Icon.webp}} then you don't have to provide the {{C|icon}} parameter.
{{SmallIcon|Plus Icon.png|link=Status groups}}[[Status groups]]: {{#arrayprint:status groups|,&nbsp;|@|{{SG|@}}}}{{Main namespace only|[[Category:Has status groups]]}}|{{Main namespace only|[[Category:No status groups]]}}
}}{{#if: {{{tick type|}}}{{#lvar:FreezeDuration}}|{{blank}}
 
{{SmallIcon|Duration Icons.png}}[[Conditions#Duration|Loses duration]]: {{#if:{{#lvar:FreezeDuration}}|{{SP|FreezeDuration|No}}|{{#switch: {{lc:{{{tick type}}}}}
| start | start turn | startturn = start of turn
| end | end turn | endturn = end of turn
| start round | startround = start of round
| end round | endround = end of round
| none = N/A
| #default = !syntax error!
}}}}{{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: {{lc:{{{stack type}}}}}
| additive = add to duration
| overwrite = replace current
| ignore = don't apply
| none = N/A
| #default = !syntax error!
}}{{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|,|@|{{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>


<pre>
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common">
{{ConditionPage
{{#invoke: ParseList | main | {{{grants}}} | type = htmlListNoBullets | useTemplate = SAI/fixed }}
| effects =
</div>
| type =
}}
</pre>


Examples:
}}{{#if: {{{condition|}}} |


= Blade Ward (Condition) =
<h2> Condition: {{{condition}}} </h2>


{{ConditionPage
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common">
| name = Blade Ward
{{Condition | {{{condition}}}
| effects =
| save = {{{condition save|}}}
* Has [[resistance]] against {{DamageType|Bludgeoning}}, {{DamageType|Piercing}}, and {{DamageType|Slashing}} damage dealt by weapon attacks. Damage of these types is halved.
| dc = {{{condition dc|}}}
| this is an example = yes
| duration = {{{condition duration|}}}
}}
}}
{{main namespace only|{{Inflicts|{{{condition}}}|cond}}}}
</div>
}}{{#if: {{{condition2|}}} | {{blank}}


= Bone Chilled (Condition) =
<h2> Condition: {{{condition2}}} </h2>


{{ConditionPage
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common">
| name = Bone Chilled
{{Condition | {{{condition2}}}
| effects =  
| save = {{{condition2 save|}}}
* Can not regain [[Hit Points]].
| dc = {{{condition2 dc|}}}
* If Undead, has {{Disadvantage}} on [[Attack Roll]]s.
| duration = {{{condition2 duration|}}}
| this is an example = yes
}}
}}
{{main namespace only|{{Inflicts|{{{condition2}}}|cond}}}}
</div>


= Flesh Rot (Condition) =
}}{{#if: {{{condition3|}}} | {{blank}}


{{ConditionPage
<h2> Condition: {{{condition3}}} </h2>
| name = Flesh Rot
 
| effects =  
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common">
* Flesh is decaying.
{{Condition | {{{condition3}}}
* {{Disadvantage}} on [[Ability Check]]s and {{SavingThrow}}s using Charisma.
| save = {{{condition3 save|}}}
* Vulnerable to all damage.
| dc = {{{condition3 dc|}}}
| type = disease
| duration = {{{condition3 duration|}}}
| this is an example = yes
}}
{{main namespace only|{{Inflicts|{{{condition3}}}|cond}}}}
</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 = _pageName = page, 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}}


[[Category:Page Generating Templates]]
== Sources of {{#lvar:name}} ==


{{#cargo_declare: _table = conditions
{{Condition sources | {{#lvar:page}} }}
}}
<!--some housekeeping:categories and cargo-->{{Main namespace only|[[Category:Conditions]]{{#cargo_store: _table = conditions
| name = {{#lvar:name}}
| icon = {{#lvar:icon}}
| brief = {{{brief|}}}
| types = {{#lvar:type}}
| condition_name = {{{condition|}}}
| condition2_name = {{{condition2|}}}
| condition3_name = {{{condition3|}}}
}}
}}</includeonly><noinclude>{{documentation}}{{#cargo_declare: _table = conditions
| name = String (unique, mandatory)
| name = String (unique, mandatory)
| icon = File
| icon = File
| effects = Wikitext
| effects = Wikitext
| type = String(disease, curse, poison)
| brief = Wikitext
}}
| types = List (,) of String
</noinclude>
| stack_id = string
| status_groups = List (,) of String
| tick_type = String
| properties = List (,) of String
| stack_type = String
| condition_name = String
| condition_save = String
| condition_dc = String
| condition2_name = String
| condition2_save = String
| condition2_dc = String
| condition3_name = String
| condition3_save = String
| condition3_dc = String
}}</noinclude>

Navigation menu