Module:Abilities/utils: Difference between revisionsGive feedback
m fixing incorrect module reference and missing dictionary module reference for get_notes_source_page_name |
mNo edit summary Tag: Manual revert |
||
| (23 intermediate revisions by 5 users not shown) | |||
| Line 19: | Line 19: | ||
end | end | ||
return nil | return nil | ||
end | |||
-- Returns the key of the hero whose ability name is passed as an argument | |||
--{{#invoke:Abilities/utils|find_hero_by_ability|ABILITY_NAME}}-- | |||
p.find_hero_by_ability = function(frame) | |||
local ability_name = frame.args[1] | |||
if not ability_name or ability_name == "" then | |||
return "Missing Ability Name" | |||
end | |||
-- Normalize input for case-insensitive comparison | |||
local normalized_input = string.lower(ability_name) | |||
-- Iterate through all heroes in the data | |||
for hero_key, ui_data in pairs(data) do | |||
-- Check each ability for this hero | |||
for ability_num, ability in pairs(ui_data) do | |||
local current_name = lang.get_string(ability.Key) | |||
if string.lower(current_name) == normalized_input then | |||
return hero_key | |||
end | |||
end | |||
end | |||
return "Hero Not Found" | |||
end | end | ||
-- Add prefix and postfix labels to a value. Eg. "32" -> "32s" | -- Add prefix and postfix labels to a value. Eg. "32" -> "32s" | ||
function p.format_value_with_prepost(key, value, frame, exclude_plus) | function p.format_value_with_prepost(key, value, frame, exclude_plus) | ||
if (exclude_plus == nil) then exclude_plus = false end | |||
if (value == nil) then return nil end | if (value == nil) then return nil end | ||
| Line 36: | Line 63: | ||
value = tonumber(value:sub(1, -2)) | value = tonumber(value:sub(1, -2)) | ||
postfix = 'm' | postfix = 'm' | ||
end | |||
-- If string ends with 's', then set the postfix to 's' and remove it | |||
if commonutils.string_endswith(tostring(value), 's') then | |||
value = tonumber(value:sub(1, -2)) | |||
postfix = 's' | |||
end | end | ||
| Line 44: | Line 77: | ||
prefix = '+' | prefix = '+' | ||
end | end | ||
-- if | end | ||
-- Do not assign a minus sign if value is already negative | |||
if (prefix == '-' and value < 0) then | |||
prefix = '' | |||
end | end | ||
| Line 61: | Line 94: | ||
prefix..value, | prefix..value, | ||
postfix, | postfix, | ||
uom_style = 'font-size: | uom_style = 'font-size: 0.8em; color: #9C9C9C' | ||
} | } | ||
} | } | ||
| Line 69: | Line 102: | ||
function p.get_notes_source_page_name(ability_key) | function p.get_notes_source_page_name(ability_key) | ||
local ability_name_localized = lang.get_string(ability_key) | local ability_name_localized = lang.get_string(ability_key) | ||
local notes_str_localized = dictionary_module.translate('Notes', nil, '') | local notes_str_localized = dictionary_module.translate('Notes', nil, '') | ||