Module:AbilityInteraction: Difference between revisions

Simplify the docs table to interaction (key and aliases) and example (with help from vergir-bot LLM)
make slowing hex be negative (appear with read header), and echo shard - positive (green header)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
-- To add an interaction, add a REGISTRY entry:
-- To add an interaction, add a REGISTRY entry:
--  aliases  = other names resolving to this entry; assumed not to overlap
--  aliases  = other names resolving to this entry
--  title    = header text
--  title    = header text
--  type    = positive | negative | info
--  type    = positive | negative | info
--  iconfile = image file name, without the File: prefix
--  iconfile = image file name, without the "File:" prefix
--  link    = wiki page name, or a full URL
--  link    = wiki page name, or a full URL


local REGISTRY = {
local REGISTRY = {
['ability duration'] = {
['ability duration'] = {
aliases  = { 'duration', 'duration extender' },
aliases  = { 'duration', 'duration extender' },
Line 21: Line 20:
iconfile = 'Greater Expansion.png',
iconfile = 'Greater Expansion.png',
link    = 'Ability Range',
link    = 'Ability Range',
},
['cooldown'] = {
aliases  = {'ability cooldown', 'superior cooldown' },
title    = 'Ability Cooldown Reduction',
type    = 'positive',
iconfile = 'Superior Cooldown.png',
link    = 'Ability Cooldown',
},
},
['debuff resist'] = {
['debuff resist'] = {
Line 35: Line 41:
iconfile = 'Dispel Magic.png',
iconfile = 'Dispel Magic.png',
link    = 'Dispel Magic',
link    = 'Dispel Magic',
},
['echo shard'] = {
aliases  = {},
title    = 'Echo Shard',
type    = 'positive',
iconfile = 'Echo Shard.png',
link    = 'Echo Shard',
},
['heal'] = {
aliases  = {'healing', 'healing booster'},
title    = 'Healing',
type    = 'positive',
iconfile = 'Healing Booster.png',
link    = 'Healing',
},
},
['heroic aura'] = {
['heroic aura'] = {
Line 63: Line 83:
iconfile = 'Monster Rounds.png',
iconfile = 'Monster Rounds.png',
link    = 'Monster Rounds',
link    = 'Monster Rounds',
},
['plated armor'] = {
aliases  = {},
title    = 'Plated Armor',
type    = 'negative',
iconfile = 'Plated Armor.png',
link    = 'Plated Armor',
},
['reactive barrier'] = {
aliases  = {},
title    = 'Reactive Barrier',
type    = 'negative',
iconfile = 'Reactive Barrier.png',
link    = 'Reactive Barrier',
},
},
['slowing hex'] = {
['slowing hex'] = {
aliases  = {},
aliases  = {},
title    = 'Slowing Hex',
title    = 'Slowing Hex',
type    = 'info',
type    = 'negative',
iconfile = 'Slowing Hex.png',
iconfile = 'Slowing Hex.png',
link    = 'Slowing Hex',
link    = 'Slowing Hex',
},
['stealth'] = {
aliases  = {'Veil Walker'},
title    = 'Stealth',
type    = 'positive',
iconfile = 'Veil Walker.png',
link    = 'Stealth',
},
},
['unstoppable'] = {
['unstoppable'] = {
Line 86: Line 127:
for _, entry in pairs(REGISTRY) do
for _, entry in pairs(REGISTRY) do
for _, alias in ipairs(entry.aliases or {}) do
for _, alias in ipairs(entry.aliases or {}) do
index[alias] = entry
index[mw.ustring.lower(mw.text.trim(alias))] = entry
end
end
end
end
for key, entry in pairs(REGISTRY) do
for key, entry in pairs(REGISTRY) do
index[key] = entry
index[mw.ustring.lower(mw.text.trim(key))] = entry
end
end