Bureaucrats, Check users, emailconfirmed, Interface administrators, staff, Administrators, translation-admin, Widget editors
1,655
edits
(comment out mask-image, mask-size, and mask-position, uncomment if we ever find out how to get cors to work, cry if not) |
m (hm) |
||
(26 intermediate revisions by 3 users not shown) | |||
Line 21: | Line 21: | ||
gm4 = [[Module:Gm4Sprite]], | gm4 = [[Module:Gm4Sprite]], | ||
effect = [[Module:EffectSprite]], | effect = [[Module:EffectSprite]], | ||
trophy = [[Module:TrophySprite]] | trophy = [[Module:TrophySprite]], | ||
gm4RP = [[Module:Gm4RPSprite]] | |||
} | } | ||
Line 106: | Line 107: | ||
name = name, | name = name, | ||
title = title, | title = title, | ||
lore = lore | lore = lore, | ||
enchanted = enchanted, | |||
link = link | |||
} | } | ||
} | } | ||
Line 123: | Line 126: | ||
autoScale = settings.autoscale, | autoScale = settings.autoscale, | ||
image = (settings.image and getImage(settings.image)) | image = (settings.image and getImage(settings.image)) | ||
or (settings.spriteSheet and getSpriteSheet(settings.spriteSheet)) | -- or (settings.spriteSheet and getSpriteSheet(settings.spriteSheet)) | ||
} | } | ||
Line 131: | Line 134: | ||
function Sprite:setItem(item, type) | function Sprite:setItem(item, type) | ||
-- set aliases | -- set aliases | ||
if type == "gm4" then | if type == "gm4" or type == "gm4RP" then | ||
aliases = gm4Aliases | aliases = gm4Aliases | ||
elseif type == "effect" then | elseif type == "effect" then | ||
Line 158: | Line 161: | ||
elseif aliases[item].name then | elseif aliases[item].name then | ||
self.__settings.title = aliases[item].name | self.__settings.title = aliases[item].name | ||
end | |||
if aliases[item].enchanted then | |||
self.__settings.enchanted = aliases[item].enchanted | |||
end | end | ||
Line 164: | Line 171: | ||
self:setPosition(self.__source.ids[itemName].pos) | self:setPosition(self.__source.ids[itemName].pos) | ||
if self.__source.ids[itemName].spriteSheet then | if self.__source.ids[itemName].spriteSheet then | ||
local newSettings = require(types[self.__source.ids[itemName].spriteSheet]).settings | |||
self.__settings.classname = newSettings.classname | |||
self.__settings.size = newSettings.size | |||
self.__settings.tiles = newSettings.sheetsize / newSettings.size | |||
self.__settings.scale = newSettings.scale | |||
self.__settings.autoScale = newSettings.autoscale | |||
end | end | ||
end | end | ||
Line 173: | Line 185: | ||
self:setPosition(self.__source.ids[item].pos) | self:setPosition(self.__source.ids[item].pos) | ||
if self.__source.ids[item].spriteSheet then | if self.__source.ids[item].spriteSheet then | ||
local newSettings = require(types[self.__source.ids[item].spriteSheet]).settings | |||
self.__settings.classname = newSettings.classname | |||
self.__settings.size = newSettings.size | |||
self.__settings.tiles = newSettings.sheetsize / newSettings.size | |||
self.__settings.scale = newSettings.scale | |||
self.__settings.autoScale = newSettings.autoscale | |||
end | end | ||
else | else | ||
Line 230: | Line 247: | ||
if settings.image then | if settings.image then | ||
append("background", settings.image.url) | append("background", settings.image.url) | ||
- | append("mask-image", settings.image.url) | ||
append("-webkit-mask-image", settings.image.url) | |||
end | end | ||
append ("background-size", settings.sheetWidth * settings.scale .. 'px auto') | append ("background-size", settings.sheetWidth * settings.scale .. 'px auto') | ||
- | append ("mask-size", settings.sheetWidth * settings.scale .. 'px auto') | ||
append ("-webkit-mask-size", settings.sheetWidth * settings.scale .. 'px auto') | |||
local t = settings.size * settings.scale .. 'px' | local t = settings.size * settings.scale .. 'px' | ||
Line 246: | Line 265: | ||
local top = math.floor( pos / settings.tiles ) * settings.size * settings.scale | local top = math.floor( pos / settings.tiles ) * settings.size * settings.scale | ||
append("background-position", '-' .. left .. 'px -' .. top .. 'px') | append("background-position", '-' .. left .. 'px -' .. top .. 'px') | ||
-- append("mask-position", '-' .. left .. 'px -' .. top .. 'px') | append("mask-position", '-' .. left .. 'px -' .. top .. 'px') | ||
append("-webkit-mask-position", '-' .. left .. 'px -' .. top .. 'px') | |||
return table.concat( styles, "; " ) | return table.concat( styles, "; " ) | ||
Line 270: | Line 290: | ||
local source = self.__source | local source = self.__source | ||
sprite:addClass(source.settings.classname) | sprite:addClass(self.__settings.classname or source.settings.classname) | ||
if self.__settings.hideTooltip ~= true then | if self.__settings.hideTooltip ~= true then | ||
Line 280: | Line 300: | ||
if self.__settings.lore then | if self.__settings.lore then | ||
sprite:attr( "data-lore", self.__settings.lore ) | sprite:attr( "data-lore", self.__settings.lore ) | ||
end | |||
if self.__settings.enchanted == "true" then | |||
sprite:addClass("enchanted") | |||
end | end | ||
local styles = self:calculateStyles() | local styles = self:calculateStyles() | ||
sprite:cssText( styles ) | sprite:cssText( styles ) | ||
sprite:attr(" | |||
if self.__settings.link then | |||
sprite = html:tag("span") | |||
local link = self.__settings.link | |||
if link:sub ( 1,1 ) == '[' then | |||
local parentDiv = mw.html.create("a"):attr("href",link:sub ( 2,#link-1 )) | |||
elseif link:sub ( 1,1 ) == '#' then | |||
local section_id = self.__source.ids[itemName].section | |||
for index, tab in pairs(self.__source.sections) do | |||
if tab.id == section_id then | |||
local parentDiv = mw.html.create("a"):attr("href","/" .. tab.name .. "/" .. link:sub ( 2,#link )) | |||
end | |||
end | |||
elseif string.match(link, "%#") then | |||
local parentDiv = mw.html.create("a"):attr("href","/" .. link) | |||
else | |||
local parentDiv = mw.html.create("a"):attr("href","/#" .. link) | |||
end | |||
parentDiv:node(sprite) | |||
return parentDiv | |||
end | |||
return sprite | return sprite |
edits