Template:Condition page: Difference between revisions

From bg3.wiki
Jump to navigation Jump to search
(Add multiple type support.)
mNo edit summary
 
(82 intermediate revisions by 6 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|}}} }}
}}{{#arraydefine:types|{{#lvar:type}}|,}}<!--Actual display starts here-->{{NoExcerpt | {{icon| {{#lvar:icon}} |30}} '''{{#lvar:name}}''' }}


{{{effects|}}} {{#if: {{#lvar:type}} | <br>
}}<!-- Status properties --> {{#lvardef:FreezeDuration|{{#if:{{#invoke:String2|matchAny|source={{{properties}}}|FreezeDuration}}|1|}}
{{#arrayprint:types|<br>|@|{{Condition Type|@}} }}
 
}}</div><!--some housekeeping:categories and cargo-->{{Main namespace only|[[Category:Conditions]]}}{{#switch: {{{this is an example|}}}
}}{{PageSeo
| yes =
| title = {{PAGENAME}}
| #default = {{#cargo_store: _table = conditions
| image = {{#lvar:icon}}
| name = {{#lvar:name}}
| description = {{{effects|}}}
| icon = {{#lvar:icon}}
}}<!--Actual display starts here-->{{NoExcerpt | {{icon| {{#lvar:icon}} |30}} '''{{#lvar:name}}''' }}
| types = {{#lvar:type}}
 
}}
{{{effects|}}} {{#if: {{{warning|}}} | <br>
}}</includeonly><noinclude>
<p>{{Colour|white|{{{warning}}}}}</p> }}{{#if: {{#lvar:type}} | <br>
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.
{{Condition type|{{#lvar:type}} }}}}{{#if:{{{honour mode|}}}|{{blank}}
 
== Honour mode ==
{{{honour mode}}}}}{{#if:{{{stack id|}}}{{{status groups|}}}{{{tick type|}}}{{{stack type|}}}{{{properties|}}}|{{blank}}
 
== Properties ==
{{#if:{{{stack id|}}}|{{blank}}
 
{{SmIconLink|Info Icon.png|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|}}}|,}}
{{SmIconLink|Plus Icon.png|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}}
 
{{SmIconLink|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}}
 
{{SmIconLink|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}}


If a condition has multiple types, separate them with a semicolon.
{{SmIconLink|Empty Icon.png|Stack priority}}: {{{stack priority}}}{{Main namespace only|[[Category:Has stack priority]]}}|{{Main namespace only|[[Category:No stack priority]]}}
}}{{#if: {{{properties|}}}|{{blank}}


<pre>
{{SmIconLink|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]]}}
{{ConditionPage
|{{Main namespace only|[[Category:Condition pages with no properties]]}}}}
| effects =
</div> {{#if: {{{grants|}}} |
| type =
}}
</pre>


Examples:
<h2> Grants: </h2>


== Blade Ward (Condition) ==
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common">
{{#invoke: ParseList | main | {{{grants}}} | type = htmlListNoBullets | useTemplate = SAI/fixed }}
</div>


{{ConditionPage
}}{{#if: {{{condition|}}} |
| name = Blade Ward
| effects =
* Has [[resistance]] against {{DamageType|Bludgeoning}}, {{DamageType|Piercing}}, and {{DamageType|Slashing}} damage dealt by weapon attacks. Damage of these types is halved.
| this is an example = yes
}}


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


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


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


{{ConditionPage
<h2> Condition: {{{condition2}}} </h2>
| name = Flesh Rot
 
| effects =  
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common">
* Flesh is decaying.
{{Condition | {{{condition2}}}
* {{Disadvantage}} on [[Ability Check]]s and {{SavingThrow}}s using Charisma.
| save = {{{condition2 save|}}}
* Vulnerable to all damage.
| dc = {{{condition2 dc|}}}
| type = diseased
| radius m = {{{condition2 radius m|}}}
| this is an example = yes
| duration = {{{condition2 duration|}}}
}}
}}
{{main namespace only|{{Inflicts|{{{condition2}}}|cond|type=condition|dc={{{condition2 dc|}}}|save={{{condition2 save|}}}|duration={{{condition2 duration|}}}}}}}
</div>
}}{{#if: {{{condition3|}}} | {{blank}}


== Multiple types example ==
<h2> Condition: {{{condition3}}} </h2>


{{ConditionPage
<div class="bg3wiki-tooltip-box bg3wiki-tooltip-gradient-common">
| name = Absolutely Ruined
{{Condition | {{{condition3}}}
| icon = Generic Death Icon.webp
| save = {{{condition3 save|}}}
| effects =  
| dc = {{{condition3 dc|}}}
* How are you still alive?
| radius m = {{{condition3 radius m|}}}
* {{Disadvantage}} on [[Ability Check]]s and {{SavingThrow}}s using Charisma.
| duration = {{{condition3 duration|}}}
* Vulnerable to all damage.
}}
| type = diseased, cursed,incapacitated, prone, charmed
{{main namespace only|{{Inflicts|{{{condition3}}}|cond|type=condition|dc={{{condition3 dc|}}}|save={{{condition3 save|}}}|duration={{{condition3 duration|}}}}}}}
| this is an example = yes
</div>
}}<references/>
{{#if:{{{notes|}}}|
== Notes ==
{{{notes}}}
}}
}}
{{#if:{{{bugs|}}}|
== Bugs ==
{{{bugs}}}
[[Category:Bugs]]
}}{{#if:{{{stack id|}}}|{{blank}}


[[Category:Page generating templates]]
== 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}}


{{#cargo_declare: _table = conditions
== Sources of {{#lvar:name}} ==
 
{{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
| brief = Wikitext
| types = List (,) of String
| types = List (,) of String
}}
| stack_id = string
 
| status_groups = List (,) of String
== Template data ==
| tick_type = String
<templatedata>
| properties = List (,) of String
{
| stack_type = String
"params": {
| condition_name = String
"name": {
| condition_save = String
"description": "If specified, overrides the name.",
| condition_dc = String
"type": "string",
| condition2_name = String
"default": "Uses the name of the page, minus (Condition)."
| condition2_save = String
},
| condition2_dc = String
"icon": {
| condition3_name = String
"description": "If specified, overrides the icon.",
| condition3_save = String
"type": "wiki-file-name",
| condition3_dc = String
"default": "Uses the \"name\" plus Condition.webp"
}}</noinclude>
},
"disease": {
"description": "If specified, sets the type to be disease",
"type": "boolean",
"deprecated": true
},
"type": {
"description": "The type or types of the condition. If multiple, separate the types with commas.",
"type": "string"
},
"effects": {
"description": "The description of the condition.",
"type": "content",
"suggested": true
},
"this is an example": {
"description": "If specified, does not insert into the Conditions table.",
"type": "boolean"
}
}
}
</templatedata></noinclude>

Latest revision as of 06:34, 25 September 2024

Template documentation

If the page title is Blah (Condition), then you don't have to provide the name parameter. Likewise, if the icon for the condition is called Blah Condition Icon.webp then you don't have to provide the icon parameter.

If a condition has multiple types, separate them with a semicolon.

{{Condition page
| effects =
| type =
| honour mode = 
| stack id = 
| status groups = 
| tick type = 
| stack type = 
| stack priority = 
| properties = 
| grants = 
| condition =
| condition duration = 
| condition save = 
| condition dc =
| condition radius m =
| condition2 =
| condition2 duration = 
| condition2 save = 
| condition2 dc =
| condition2 radius m =
| condition3 =
| condition3 duration = 
| condition3 save = 
| condition3 dc =
| condition3 radius m =
| notes =
| bugs =
}}

Examples:

Blade Ward (Condition)

Condition Type Icon.pngCursedProne

Honour mode

  • If you get hit by anything you are not resistant too, you immediately die.

Properties

Stack ID Stack ID: HASTE

Status groups Status groups: SG_RemoveOnRespec

Loses duration Loses duration: end of turn

If already applied If already applied: don't apply

Stack priority Stack priority: 10

More properties More properties:

Notes

  • note 1
  • note 2

Bugs

  • bug 1
  • bug 2

Conditions with the same stack ID

Conditions with the stack ID HASTE, only one of these can be applied at the same time:

Condition Effects

Absorbed Essence: Illasera (Condition) Absorbed Essence: Illasera

Celestial Haste (Condition) Celestial Haste

Haste Spores (Condition) Haste Spores

Hastened (Condition) Hastened

Sword Spider's Haste (Condition) Sword Spider's Haste

Affected entity has a +2 bonus to Armour Class Armour Class, Advantage Icon.png Advantage on Dexterity Saving throws, its Movement Speed is doubled, and it can take one additional Action per turn.

Sources of Blade Ward

No results


Bone Chilled (Condition)

Properties

Stack ID Stack ID: MEENLOCK_FEAR

Loses duration Loses duration: No

More properties More properties:

Conditions with the same stack ID

Conditions with the stack ID MEENLOCK_FEAR, only one of these can be applied at the same time:

Condition Effects

Meenlock Fear (Condition) Meenlock Fear

Sources of Bone Chilled

No results


Flesh Rot (Condition)

Condition Type Icon.pngDiseased

Sources of Flesh Rot

No results


Multiple types example

Condition Type Icon.pngDiseasedCursedIncapacitatedProneCharmed

Template data

No description.

Template parameters

This template prefers block formatting of parameters.

ParameterDescriptionTypeStatus
namename

If specified, overrides the name.

Default
Uses the name of the page, minus (Condition).
Stringoptional
iconicon

If specified, overrides the icon.

Default
Uses the "name" plus Condition.webp
Fileoptional
diseasedisease

If specified, sets the type to be disease

Booleandeprecated
typetype

The type or types of the condition. If multiple, separate the types with commas.

Suggested values
Cursed Diseased Poisoned Polymorphed Charmed Frightened Incapacitated Prone Unconscious Blinded Maimed
Stringoptional
stack idstack id

Stack ID for the condition. Conditions with the same stack ID can not be present at the same time. If a stack ID is specified, it will only display if there are other conditions with that stack ID. It will also display those conditions.

Example
HASTE, Polymorph_WildShape
Stringoptional
status groupsstatus groups

Any status groups the condition belongs too. If multiple, separate the types with commas.

Example
mad, invisible, helpable condition, light, weapon coating,
Stringoptional
tick typetick type

When the condition loses duration. This can be at the start or end of a turn. If marked with '''none''' the condition will be marked as not having a duration. This may be used by conditions who are active based on something else like a passive feature or standing near something. If you are unsure, leave it empty.

Suggested values
start end none
Stringoptional
stack typestack type

Decides what happends when the condition is applied while already being present. '''additive''' adds the durations together, '''overwrite''' replaces the present condition and duration with the new, and '''ignore''' will keep the present condition and duration. This can be important on conditions who have the same stack ID as other conditions to show which of them takes priority, and for showing if you can increase the duration of a condition by applying it again.

Suggested values
additive overwrite ignore
Stringoptional
stack prioritystack priority

Conditions with higher stack priority overwrite conditions with lower stack priority when applied.

Example
1, 3, 5, 10
Stringoptional
propertiesproperties

Properties for the condition. If multiple, separate the types with commas.

Example
FreezeDuration, IgnoreResting, InitiateCombat, ApplyToDead
Stringoptional
effectseffects

The description of the condition.

Contentsuggested
briefbrief

Optional brief description to be used in infoboxes and other places where the text should be short. If left out, defaults to the same value as the effects field.

Contentsuggested
conditioncondition

The full name of the condition (if any) that this action applies to its target/s. Leave blank if there is no condition.

Example
Hastened
Stringoptional
condition durationcondition duration

The duration in turns of the action's applied condition. Leave blank if the duration is unlimited.

Example
5
Numberoptional
condition savecondition save

The save that the action's target must roll to avoid or reduce its effects. Can use short or long name, e.g: "STR" or "Strength"

Suggested values
Strength Dexterity Constitution Intelligence Wisdom Charisma
Example
WIS
Stringoptional
condition dccondition dc

The optional fixed DC of the condition that targets have to pass to apply it

Example
12
Numberoptional
condition radius mcondition radius m

The optional radius, in meters, where this condition is applied

Example
3
Numberoptional
condition2condition2

The full name of the condition (if any) that is applied if there is a second condition.

Example
Hastened
Stringoptional
condition2 durationcondition2 duration

The duration in turns of the action's second condition. Leave blank if the duration is unlimited.

Example
5
Numberoptional
condition2 savecondition2 save

The save that the action's target must roll to avoid or reduce the effects of the second condition. Can use short or long name, e.g: "STR" or "Strength"

Suggested values
Strength Dexterity Constitution Intelligence Wisdom Charisma
Example
WIS
Stringoptional
condition2 dccondition2 dc

The optional fixed DC of the second condition that targets have to pass to apply it

Example
12
Numberoptional
condition2 radius mcondition2 radius m

The optional radius, in meters, where the third condition is applied

Example
3
Numberoptional
condition3condition3

The full name of the condition (if any) that is applied if there is a third condition.

Example
Hastened
Stringoptional
condition3 durationcondition3 duration

The duration in turns of the action's third condition. Leave blank if the duration is unlimited.

Example
5
Numberoptional
condition3 savecondition3 save

The save that the action's target must roll to avoid or reduce the effects of the third condition. Can use short or long name, e.g: "STR" or "Strength"

Suggested values
Strength Dexterity Constitution Intelligence Wisdom Charisma
Example
WIS
Stringoptional
condition3 dccondition3 dc

The optional fixed DC of the third condition that targets have to pass to apply it

Example
12
Numberoptional
grantsgrants

This specifies what spells/actions are granted to whoever has this condition

Example
Heart of the Storm
Stringoptional
this is an examplethis is an example

If specified, does not insert into the Conditions table.

Booleanoptional
suppress sourcessuppress sources

If specified, will not display "sources of".

Booleanoptional
honour modehonour mode

Changes that apply under the honour mode difficulty.

Stringoptional
notesnotes

Notes, displayed before the list of sources

Stringoptional
This template defines the table "conditions". View table.