Template:Condition page: Difference between revisions

From bg3.wiki
Jump to navigation Jump to search
(Cargo store and categorize on the main namespace only)
mNo edit summary
(23 intermediate revisions by 4 users not shown)
Line 8: 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}}}'|format=template|template=counter
}}{{#lvardef:stackid|{{#ifeq:{{#var:counter}}|1||1}}}}


}}<!-- Status properties --> {{#lvardef:FreezeDuration|{{#if:{{#invoke:String2|matchAny|source={{{properties}}}|FreezeDuration}}|1|}}
}}<!-- Status properties --> {{#lvardef:FreezeDuration|{{#if:{{#invoke:String2|matchAny|source={{{properties}}}|FreezeDuration}}|1|}}
Line 25: Line 21:
{{Condition type|{{#lvar:type}} }}}}{{#if:{{{honour mode|}}}|{{blank}}
{{Condition type|{{#lvar:type}} }}}}{{#if:{{{honour mode|}}}|{{blank}}


== [[Honour mode]] ==
== Honour mode ==
{{{honour mode}}}}}{{#if:{{#lvar:stackid}}{{{status groups|}}}{{{tick type|}}}{{{stack type|}}}{{{properties|}}}|{{blank}}
{{{honour mode}}}}}{{#if:{{{stack id|}}}{{{status groups|}}}{{{tick type|}}}{{{stack type|}}}{{{properties|}}}|{{blank}}


== Properties ==
== Properties ==
{{#if:{{#lvar:stackid}}|{{blank}}
{{#if:{{{stack id|}}}|{{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]]}}
{{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}}
}}{{#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|,&nbsp;|@|{{SG|@}}}}{{Main namespace only|[[Category:Has status groups]]}}|{{Main namespace only|[[Category:No 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}}
}}{{#if: {{{tick type|}}}{{#lvar:FreezeDuration}}|{{blank}}


{{SmallIcon|Duration Icons.png}}[[Conditions#Duration|Loses duration]]: {{#if:{{#lvar:FreezeDuration}}|{{SP|FreezeDuration|No}}|{{#switch: {{lc:{{{tick type}}}}}
{{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
  | start | start turn | startturn = start of turn
  | end | end turn | endturn = end of turn
  | end | end turn | endturn = end of turn
Line 46: Line 42:
}}}}{{Main namespace only|[[Category:Has tick type]]}}|{{Main namespace only|[[Category:No tick type]]}}}}{{#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: {{lc:{{{stack type}}}}}
{{SmIconLink|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 55: Line 51:
}}{{#if: {{{stack priority|}}}|{{blank}}
}}{{#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]]}}
{{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}}
}}{{#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]]}}}}
{{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]]}}
</div><references/>
|{{Main namespace only|[[Category:Condition pages with no 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|}}}
| radius m = {{{condition radius m|}}}
| duration = {{{condition duration|}}}
}}
{{main namespace only|{{Inflicts|{{{condition}}}|cond|type=condition|dc={{{condition dc|}}}|save={{{condition save|}}}|duration={{{condition duration|}}}}}}}
</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|}}}
| radius m = {{{condition2 radius m|}}}
| duration = {{{condition2 duration|}}}
}}
{{main namespace only|{{Inflicts|{{{condition2}}}|cond|type=condition|dc={{{condition2 dc|}}}|save={{{condition2 save|}}}|duration={{{condition2 duration|}}}}}}}
</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|}}}
| radius m = {{{condition3 radius m|}}}
| duration = {{{condition3 duration|}}}
}}
{{main namespace only|{{Inflicts|{{{condition3}}}|cond|type=condition|dc={{{condition3 dc|}}}|save={{{condition3 save|}}}|duration={{{condition3 duration|}}}}}}}
</div>
}}<references/>
{{#if:{{{notes|}}}|
{{#if:{{{notes|}}}|
== Notes ==
== Notes ==
{{{notes}}}
{{{notes}}}
}}
{{#if:{{{bugs|}}}|
== Bugs ==
{{{bugs}}}
[[Category:Bugs]]
}}{{#if:{{#lvar:stackid}}|{{blank}}
}}{{#if:{{#lvar:stackid}}|{{blank}}


Line 69: Line 120:
{{#cargo_query:
{{#cargo_query:
tables = conditions
tables = conditions
|fields = name, icon, effects
|fields = _pageName = page, name, icon, effects
|where = stack_id='{{{stack id}}}'
|where = stack_id='{{{stack id}}}'
|order by = name
|order by = name
Line 78: Line 129:
|outro={{ConditionsTableFooter}}
|outro={{ConditionsTableFooter}}
}}{{Main namespace only|[[Category:Conditions with shared stack IDs]]}}
}}{{Main namespace only|[[Category:Conditions with shared stack IDs]]}}
}}{{#if:{{{suppress sources|}}}||{{blank}}
}}{{#if: {{{suppress sources|}}} | | {{blank}}


== Sources of {{#lvar:name}} ==
== Sources of {{#lvar:name}} ==
{{Condition sources|{{#lvar:page}}}}
 
{{Condition sources | {{#lvar:page}} }}
}}
}}
<!--some housekeeping:categories and cargo-->{{Main namespace only|[[Category:Conditions]]{{#cargo_store: _table = conditions
<!--some housekeeping:categories and cargo-->{{Main namespace only|[[Category:Conditions]]{{#cargo_store: _table = conditions
| name = {{#lvar:name}}
| name = {{#lvar:name}}
| icon = {{#lvar:icon}}
| icon = {{#lvar:icon}}
| brief = {{{brief|}}}
| types = {{#lvar:type}}
| types = {{#lvar:type}}
| condition_name = {{{condition|}}}
| condition2_name = {{{condition2|}}}
| condition3_name = {{{condition3|}}}
}}
}}
}}</includeonly><noinclude>{{documentation|content=
}}</includeonly><noinclude>{{documentation}}{{#cargo_declare: _table = conditions
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.
 
If a condition has multiple types, separate them with a semicolon.
 
<pre>
{{Condition page
| effects =
| type =
| honour mode =
| stack id =
| status groups =
| tick type =
| stack type =
| stack priority =
| properties =
| notes =
}}
</pre>
 
Examples:
 
== Blade Ward (Condition) ==
 
{{Condition page
| 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
| honour mode = * If you get hit by anything you are not resistant too, you immediately die.
| type = Cursed, Prone
| status groups = SG_RemoveOnRespec
| tick type = end
| stack id = HASTE
| stack priority = 10
| stack type = ignore
| properties = IgnoreResting, InitiateCombat, ApplyToDead
| notes = * note 1
* note 2
}}
 
== Bone Chilled (Condition) ==
 
{{Condition page
| name = Bone Chilled
| effects =
* Can not regain [[Hit Points]].
* If Undead, has {{Disadvantage}} on [[Attack Roll]]s.
| this is an example = yes
| stack id = MEENLOCK_FEAR
| tick type = end
| properties = FreezeDuration, IgnoreResting, InitiateCombat, ApplyToDead
}}
 
== Flesh Rot (Condition) ==
 
{{Condition page
| name = Flesh Rot
| effects =
* Flesh is decaying.
* {{Disadvantage}} on [[Ability Check]]s and {{SavingThrow}}s using Charisma.
* Vulnerable to all damage.
| type = diseased
| this is an example = yes
}}
 
== Multiple types example ==
 
{{Condition page
| name = Absolutely Ruined
| icon = Generic Death Icon.webp
| effects =
* How are you still alive?
* {{Disadvantage}} on [[Ability Check]]s and {{SavingThrow}}s using Charisma.
* Vulnerable to all damage.
| type = diseased, cursed,incapacitated, prone, charmed
| this is an example = yes
| suppress sources = true
}}
 
[[Category:Page generating templates]][[Category:Condition templates]]
 
{{#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
| stack_id = string
Line 180: Line 155:
| properties = List (,) of String
| properties = List (,) of String
| stack_type = String
| stack_type = String
}}
| condition_name = String
== Template data ==
| condition_save = String
<templatedata>
| condition_dc = String
{
| condition2_name = String
"params": {
| condition2_save = String
"name": {
| condition2_dc = String
"description": "If specified, overrides the name.",
| condition3_name = String
"type": "string",
| condition3_save = String
"default": "Uses the name of the page, minus (Condition)."
| condition3_dc = String
},
}}</noinclude>
"icon": {
"description": "If specified, overrides the icon.",
"type": "wiki-file-name",
"default": "Uses the \"name\" plus Condition.webp"
},
"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",
"suggestedvalues": [
"Cursed",
"Diseased",
"Poisoned",
"Polymorphed",
"Charmed",
"Frightened",
"Incapacitated",
"Prone",
"Unconscious",
"Blinded",
"Maimed"
]
},
"stack id": {
"description": "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. ",
"type": "string",
"example": "HASTE, Polymorph_WildShape "
},
"status groups": {
"description": "Any status groups the condition belongs too. If multiple, separate the types with commas.",
"type": "string",
"example": "mad, invisible, helpable condition, light, weapon coating, "
},
"tick type": {
"description": "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.",
"type": "string",
"suggestedvalues": [
"start",
"end",
"none"
]
},
"stack type": {
"description": "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.",
"type": "string",
"suggestedvalues": [
"additive",
"overwrite",
"ignore"
]
},
"stack priority": {
"description": "Conditions with higher stack priority overwrite conditions with lower stack priority when applied. ",
"type": "string",
"example": "1, 3, 5, 10"
},
"properties": {
"description": "Properties for the condition. If multiple, separate the types with commas.",
"type": "string",
"example": "FreezeDuration, IgnoreResting, InitiateCombat, ApplyToDead"
},
"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"
},
"suppress sources": {
"description": "If specified, will not display \"sources of\".",
"type": "boolean"
},
"honour mode": {
"description": "Changes that apply under the honour mode difficulty.",
"type": "string"
},
"notes": {
"description": "Notes, displayed before the list of sources",
"type": "string"
}
},
"format": "block"
}
</templatedata>}}</noinclude>

Revision as of 07:19, 7 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

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:

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.