Template:AbilityInteraction/doc: Difference between revisionsGive feedback
Rewrite for the interaction registry: three parameters, self-generating registry table, and a pointer to IconBox for custom boxes (with help from vergir-bot LLM) |
Restore original wording of the text param description (with help from vergir-bot LLM) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== Usage == | == Usage == | ||
{{tl|AbilityInteraction}} displays a boxed note describing how an ability interacts with an item or mechanic. | {{tl|AbilityInteraction}} displays a boxed note describing how an ability interacts with an item or mechanic. Under the hood it is a fancy wrapper around {{tl|IconBox}}. | ||
To use this template, look at the list of possible Interactions and examples of usage below. | |||
== Parameters == | == Parameters == | ||
| Line 13: | Line 9: | ||
<templatedata> | <templatedata> | ||
{ | { | ||
"description": " | "description": "", | ||
"params": { | "params": { | ||
"interaction": { | "interaction": { | ||
| Line 20: | Line 16: | ||
"required": true, | "required": true, | ||
"example": "debuff resist", | "example": "debuff resist", | ||
"suggestedvalues": [ " | "suggestedvalues": [ "(see full list below)" ] | ||
}, | }, | ||
"text": { | "text": { | ||
| Line 28: | Line 24: | ||
}, | }, | ||
"state": { | "state": { | ||
"description": "Omit when the interaction applies normally. Use partial when it applies only in part, | "description": "Omit when the interaction applies normally. Use partial when it applies only in part, disabled when it does not apply at all, or enhanced when it applies more strongly than usual.", | ||
"type": "string", | "type": "string", | ||
"suggestedvalues": [ "partial", "disabled" ] | "suggestedvalues": [ "partial", "disabled", "enhanced" ] | ||
} | } | ||
}, | }, | ||
| Line 37: | Line 33: | ||
} | } | ||
</templatedata> | </templatedata> | ||
== Examples == | == Examples == | ||
| Line 58: | Line 40: | ||
<pre> | <pre> | ||
{{AbilityInteraction | {{AbilityInteraction | ||
| interaction = | | interaction = Ability Duration | ||
| text = | | text = | ||
Affects the charge's duration and, consequently, distance the charge covers. | |||
}} | }} | ||
</pre> | </pre> | ||
{{AbilityInteraction | {{AbilityInteraction | ||
| interaction = | | interaction = Ability Duration | ||
| text = | | text = | ||
Affects the charge's duration and, consequently, distance the charge covers. | |||
}} | |||
=== Enhanced interaction === | |||
<pre> | |||
{{AbilityInteraction | |||
| interaction = cooldown | |||
| state = enhanced | |||
| text = Cooldown reduction applies to each charge separately, so it is far more effective here than on a single-charge ability. | |||
}} | |||
</pre> | |||
{{AbilityInteraction | |||
| interaction = cooldown | |||
| state = enhanced | |||
| text = Cooldown reduction applies to each charge separately, so it is far more effective here than on a single-charge ability. | |||
}} | }} | ||
| Line 88: | Line 85: | ||
}} | }} | ||
=== Interaction | === Disabled Interaction === | ||
<pre> | <pre> | ||
| Line 102: | Line 99: | ||
| text = This ability is '''not''' interrupted by [[Slowing Hex]]. | | text = This ability is '''not''' interrupted by [[Slowing Hex]]. | ||
}} | }} | ||
== Interactions == | |||
This table is generated from the registry, so it always matches what the template accepts. | |||
{{#invoke:AbilityInteraction|list}} | |||
=== Adding an interaction === | |||
Add an entry to the {{code|REGISTRY}} table at the top of [[Module:AbilityInteraction]]. An entry should contain {{code|title}}, {{code|type}}, {{code|iconfile}}, and {{code|link}}, which pass down to the underlying {{tl|IconBox}}. The {{code|aliases}} just specifies different ways to write an interaction. | |||
Note that the type of the interaction (positive/negative/info) should be chosen according to whether that interaction enhances the ability (positive) or hampers it (negative). | |||
<noinclude>[[Category:Template documentation]]</noinclude> | <noinclude>[[Category:Template documentation]]</noinclude> | ||