Difference between revisions of "Module:DetectWeaponType"
Jump to navigation
Jump to search
(Created page with "--Module for detecting weapon type WIP local p = {} -- p stands for package function p.GetWeaponType( frame ) if frame then else return end if frame.args...") |
m |
||
| Line 6: | Line 6: | ||
local p = {} -- p stands for package | local p = {} -- p stands for package | ||
function p.GetWeaponType( frame ) | function p.GetWeaponType( frame ) | ||
if frame then | if not frame then return end | ||
if frame.args["forcereturn"] then return frame.args["forcereturn"] end | |||
if frame.args["impactdelay"] or frame.args["range"] or frame.args["knockback"] then | if frame.args["impactdelay"] or frame.args["range"] or frame.args["knockback"] then | ||
return "melee" | return "melee" | ||
| Line 19: | Line 20: | ||
elseif frame.args["healing"] then | elseif frame.args["healing"] then | ||
return "medtool" | return "medtool" | ||
else | |||
return frame.args["else"] or nil | |||
end | end | ||
end | end | ||
return p | return p | ||
Revision as of 17:04, 23 December 2021
This module is used by Template:Infobox_Weapon, this will return the weapon type if one of values if filled.
Usage
| Parameter | Result |
|---|---|
| reload minspread maxspread |
gun |
| impactdelay range knockback |
melee |
| any gun value + healing | medgun |
| any melee value + healing | medmelee |
| healing (without healing values) | medtool |
| repair | repairtool |
| else (If any of values above fails) | unknown |
| forcereturn | (the value of forcereturn is returned always.) |
--[[
Module for detecting weapon type
WIP
]]
local p = {} -- p stands for package
function p.GetWeaponType( frame )
if not frame then return end
if frame.args["forcereturn"] then return frame.args["forcereturn"] end
if frame.args["impactdelay"] or frame.args["range"] or frame.args["knockback"] then
return "melee"
elseif frame.args["reload"] or frame.args["minspread"] or frame.args["maxspread"] then
return "gun"
elseif frame.args["repair"] then
return "repair"
elseif frame.args["healing"] and (frame.args["reload"] or frame.args["minspread"] or frame.args["maxspread"]) then
return "medgun"
elseif frame.args["healing"] and (frame.args["impactdelay"] or frame.args["range"] or frame.args["knockback"]) then
return "medmelee"
elseif frame.args["healing"] then
return "medtool"
else
return frame.args["else"] or nil
end
end
return p