mNo edit summary Tag: sourceedit |
mNo edit summary Tag: sourceedit |
||
(3 intermediate revisions by the same user not shown) | |||
Line 41: | Line 41: | ||
ret :addClass(kind) |
ret :addClass(kind) |
||
− | if kind == ' |
+ | if kind == 'monster' and speed ~= 'random' then |
− | ret :addClass(speed) |
+ | ret :addClass('t' .. speed) |
− | elseif kind == 'monster' then |
+ | elseif kind == 'weapon' or kind == 'monster' then |
− | ret :addClass( |
+ | ret :addClass(speed) |
end |
end |
||
− | ret : |
+ | ret :tag('div') |
− | + | :wikitext(interval[speed][1] .. ' ') |
|
+ | :tag('small') |
||
+ | :wikitext('(' .. interval[speed][2] .. 's)') |
||
+ | :done() |
||
+ | :done() |
||
else |
else |
||
ret :wikitext('Undefined') |
ret :wikitext('Undefined') |
||
Line 63: | Line 67: | ||
function p.weapon(s) |
function p.weapon(s) |
||
− | return render({ kind='weapon', speed=s |
+ | return render({ kind='weapon', speed=s }) |
end |
end |
||
function p.monster(s) |
function p.monster(s) |
||
− | return render({ kind='monster', speed=s |
+ | return render({ kind='monster', speed=s }) |
end |
end |
||
Latest revision as of 00:44, 5 July 2017
Documentation for this module may be created at Module:Attack speed bar/doc
-- <nowiki>
-- Implements [[Template:Attack speed bar]]
local p = {}
local hasc = require('Module:Paramtest').has_content
local interval = {
-- Universal
['random'] = {'Random','???'},
-- Weapons
['fastest'] = {'Fastest','2.4'},
['fast'] = {'Fast','3.0'},
['average'] = {'Average','3.6'},
['slow'] = {'Slow','4.2'},
['slowest'] = {'Slowest','7.2'},
-- Monsters, misc
['1'] = {'1 tick','0.6'},
['2'] = {'2 ticks','1.2'},
['3'] = {'3 ticks','1.8'},
['4'] = {'4 ticks','2.4'},
['5'] = {'5 ticks','3.0'},
['6'] = {'6 ticks','3.6'},
['7'] = {'7 ticks','4.2'},
['8'] = {'8 ticks','4.8'},
['9'] = {'9 ticks','5.4'},
['10'] = {'10 ticks','6.0'}
}
local function render(args)
local speed,kind
if hasc(args.speed) and hasc(args.kind) then
speed = mw.text.trim(tostring(args.speed)):lower()
kind = mw.text.trim(tostring(args.kind)):lower()
end
local ret = mw.html.create('span'):addClass('attack-speed')
if interval[speed] ~= nil then
ret :addClass(kind)
if kind == 'monster' and speed ~= 'random' then
ret :addClass('t' .. speed)
elseif kind == 'weapon' or kind == 'monster' then
ret :addClass(speed)
end
ret :tag('div')
:wikitext(interval[speed][1] .. ' ')
:tag('small')
:wikitext('(' .. interval[speed][2] .. 's)')
:done()
:done()
else
ret :wikitext('Undefined')
end
ret :tag('b'):addClass(''):done()
:done()
return ret
end
function p.main(frame)
return render(frame:getParent().args)
end
function p.weapon(s)
return render({ kind='weapon', speed=s })
end
function p.monster(s)
return render({ kind='monster', speed=s })
end
return p