Module:ItemData: Difference between revisionsGive feedback
Undo revision 64880 by Monster Domosed (talk) didn't work as intended Tag: Undo |
Added bonusbasehealth for colossus |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 25: | Line 25: | ||
BonusAbilityDurationPercent = true, | BonusAbilityDurationPercent = true, | ||
BonusAttackRangePercent = true, | BonusAttackRangePercent = true, | ||
BonusBaseHealth = true, | |||
BonusBulletSpeedPercent = true, | BonusBulletSpeedPercent = true, | ||
BonusClipSizePercent = true, | BonusClipSizePercent = true, | ||
| Line 129: | Line 130: | ||
WeaponDamagePerStack = true, | WeaponDamagePerStack = true, | ||
WeaponPowerPerStack = true, | WeaponPowerPerStack = true, | ||
} | |||
-- Mappings from placeholder tokens (used in descriptions) to the actual | |||
-- flat property keys in Data:ItemData.json | |||
local PROPERTY_KEY_OVERRIDES = { | |||
["ArcaneSurgeWindow"] = "AbilityDuration", | |||
-- Add any other mismatches here as they appear | |||
} | } | ||
| Line 276: | Line 284: | ||
--check Data:ItemData.json for properties | --check Data:ItemData.json for properties | ||
p.get_prop = function(frame) | p.get_prop = function(frame) | ||
local item_name = frame.args[1] | |||
local property = frame.args[2] | |||
local raw = frame.args.raw == 'true' | |||
local item = get_json_item(item_name) | |||
if(item == nil) then return "<span style=\"color:red;\">Item Not Found.</span>" end | |||
-- Look up property directly; if missing, try the override table | |||
local prop_value = item[property] | |||
if prop_value == nil and PROPERTY_KEY_OVERRIDES[property] then | |||
prop_value = item[ PROPERTY_KEY_OVERRIDES[property] ] | |||
end | |||
if (prop_value == nil) then return nil end | |||
local display_value | local display_value | ||
| Line 527: | Line 539: | ||
local parents = get_component_of(item) | local parents = get_component_of(item) | ||
if #parents == 0 then return "" end | if #parents == 0 then return "" end | ||
local and_word = frame:preprocess("{{#invoke:Dictionary|translate|And}}") | |||
and_word = mw.ustring.lower(and_word) | |||
local parts = {} | local parts = {} | ||
for _, key in ipairs(parents) do | for _, key in ipairs(parents) do | ||
| Line 534: | Line 549: | ||
table.insert(parts, icon) | table.insert(parts, icon) | ||
end | end | ||
if #parts == 1 then return parts[1] end | if #parts == 1 then return parts[1] end | ||
if #parts == 2 then return parts[1] .. " | if #parts == 2 then | ||
return parts[1] .. " " .. and_word .. " " .. parts[2] | |||
end | |||
local last = table.remove(parts) | local last = table.remove(parts) | ||
return table.concat(parts, ", ") .. ", | return table.concat(parts, ", ") .. ", " .. and_word .. " " .. last | ||
end | end | ||
return p | return p | ||