Module:MonsterTooltip
Jump to navigation
Jump to search
MonsterTooltip create monster tooltip.
Documentation
Package items
monstertooltip.MonsterLink(frame)
(function)- Creates a monster link.
- Parameter:
frame
Frame object (table) - Returns: Preprocessed wikitext of resultant link (string)
Modules and Lua Libraries | |
---|---|
Databases | |
Module:Challenges (/Data) • Module:Enemies (/Data) • M:Environments (/Data) • Module:Equipment (/Data) • M:Interactables (/Data) • M:Items (/Data, /LogbookData) • M:Lore (/Data) • M:Skills (/Data) • M:StatusEffect (/Data) • M:Survivors (/Data) • M:Test Version History (/Data) | |
Wiki | |
M:EnvironmentTooltip • M:ItemTooltip • M:MonsterTooltip • M:StatusEffectTooltip • M:SurvivorTooltip | |
Template Databases | |
T:FriendlyNameToInternal • T:InternalNameToFriendly • T:Keyword | |
Full MediaWiki List • Full Module List • Full Template List • Lua reference manual |
--- '''MonsterTooltip''' create monster tooltip.
--
-- @module monstertooltip
-- @alias p
-- @author [[User:Thundermaker300]]
-- @attribution All who helped to update enemy infoboxes
-- @require [[Module:Enemies/Data]]
-- @release stable
-- <nowiki>
local p = {}
local MonsterData = mw.loadData('Module:Enemies/Data').Monsters
local tooltip_template = '<span class="tooltip-block nomobile">' ..
'<span class="tooltip-icon">' ..
'<span>%s</span>' ..
'' ..
'</span>' ..
'<span>' ..
'%s<span style="font-weight:bold">%s</span><br><span style=\"color:#959494; font-style:italic;\">%s</span><span class="makeshift-hr"></span>%s' ..
'</span>' ..
'</span>'
local monster_display = "HP: {{Color|hp|%s (+%s per level)}}<br>Damage: {{Color|d|%s (+%s per level)}}<br>Class: {{Color|u|%s}}<br>Speed: {{Color|green|%s}} m/s<br>Armor: {{Color|yellow|%s}}"
--- Creates a monster link.
-- @function p.MonsterLink
-- @param {table} frame Frame object
-- @return {string} Preprocessed wikitext of resultant link
function p.Tooltip(frame)
local data = MonsterData[frame.args[1]]
if data == nil then
return error("MonsterTooltip.Tooltip(frame): Invalid monster!")
end
local str = string.format(
tooltip_template,
data.Image and "[[File:" .. data.Image .. "|60px]]" or "",
data.Expansion and "{{" .. data.Expansion .. "}}" or "",
data.Name or "Unknown",
--(data.Type == "Boss" or data.Type == "Special Boss") and "boss" or "white",
--data.Type or "Unknown",
(data.BossName and data.BossName or ""),
string.format(monster_display,
data.BaseHealth and tostring(data.BaseHealth) or "Unknown",
data.ScalingHealth and tostring(data.ScalingHealth) or "Unknown",
data.BaseDamage and tostring(data.BaseDamage) or "Unknown",
data.ScalingDamage and tostring(data.ScalingDamage) or "Unknown",
data.Class or "Unknown",
data.BaseSpeed and tostring(data.BaseSpeed) or "Unknown",
data.BaseArmor and tostring(data.BaseArmor) or "Unknown"
)
)
return frame:preprocess(str)
end
return p