|
|
| Line 276: |
Line 276: |
| { name = 'slotimg', func = { name = lookuparg, params = { slot_images, 'slot' }, flag = { 'r', 'd' } } }, | | { name = 'slotimg', func = { name = lookuparg, params = { slot_images, 'slot' }, flag = { 'r', 'd' } } }, |
| { name = 'isweapon', func = { name = isweaponarg, params = { 'slot', 'type' }, flag = d } }, | | { name = 'isweapon', func = { name = isweaponarg, params = { 'slot', 'type' }, flag = d } }, |
| { name = 'invdegrade', func = { name = invdegradearg, params = { 'invtier', 'invslot', 'slot' }, flag = 'd' } },
| |
| { name = 'invdegrade_span', func = { name = invdegradetooltipspanarg, params = { 'invtier', 'invslot', 'slot' }, flag = 'd' } },
| |
| { name = 'invdegrade_div', func = { name = invdegradetooltipdivarg, params = { 'invtier', 'invslot', 'slot' }, flag = 'd' } },
| |
| { name = 'normdegrades', func = { name = normdegradesarg, params = { 'degrades' }, flag = 'p' } },
| |
| { name = 'degradetype', func = { name = degradestypearg, params = { 'normdegrades', 'invdegrade' }, flag = 'd' } },
| |
| { name = 'degradestr', func = { name = degradesstrarg, params = { 'degradetype', 'normdegrades', 'invdegrade', 'invdegrade_span' }, flag = 'd' } },
| |
| { name = 'degradeheader', func = { name = degradeheaderarg, params = { 'degradetype' }, flag = 'd' } },
| |
| { name = 'style', func = { name = stylearg, params = { 'style', 'isweapon' }, flag = 'd' } }, | | { name = 'style', func = { name = stylearg, params = { 'style', 'isweapon' }, flag = 'd' } }, |
| { name = 'attackrange', func = { name = attackrangearg, params = { 'isweapon', 'attack_range', 'attack range', 'attackrange' }, flag = { 'd', 'p', 'p', 'p' } } }, | | { name = 'attackrange', func = { name = attackrangearg, params = { 'isweapon', 'attack_range', 'attack range', 'attackrange' }, flag = { 'd', 'p', 'p', 'p' } } }, |
| Line 323: |
Line 316: |
| { name = 'strength_smw', func = { name = smwnumbers, params = { 'strength' }, flag = 'd' } }, | | { name = 'strength_smw', func = { name = smwnumbers, params = { 'strength' }, flag = 'd' } }, |
| { name = 'ranged_smw', func = { name = smwnumbers, params = { 'ranged' }, flag = 'd' } }, | | { name = 'ranged_smw', func = { name = smwnumbers, params = { 'ranged' }, flag = 'd' } }, |
| { name = 'charges', func = { name = chargesarg, params = { 'degradetype', 'normdegrades' }, flag = 'd' } },
| |
| { name = 'invtier', func = { name = invtierarg, params = { 'degradetype', 'invtier' }, flag = { 'd', 'p' } } },
| |
| { name = 'smwJSON', func = { name = smwjsonarg, params = { 'class', 'slot', 'style_smw', 'type', 'damage_smw', 'accuracy_smw', 'attackrangesmw', 'armour_smw', 'life_smw', 'speedraw', 'prayer_smw', 'strength_smw', 'ranged_smw', 'magic_smw', 'tier_smw', 'charges', 'invtier' }, flag = 'd' } }
| |
| } | | } |
|
| |
|
| Line 844: |
Line 834: |
| end | | end |
| return weapon_slots[s] or 'false' | | return weapon_slots[s] or 'false' |
| end
| |
|
| |
| -- degradation
| |
| -- invention charge drain
| |
| function invdegradearg(invtier,invslot,slot)
| |
| invtier = tonumber(invtier)
| |
| local ret = nil
| |
| if invtier then
| |
| invslot = slots[invslot] or invslot
| |
| invslot = inv_slots[invslot]
| |
| if not invslot then
| |
| invslot = inv_slots[slot]
| |
| end
| |
| ret = chargedrain.get_base(invtier,invslot)
| |
| end
| |
| return ret
| |
| end
| |
| function invdegradetooltipspanarg(invtier,invslot,slot)
| |
| invtier = tonumber(invtier)
| |
| local ret = nil
| |
| if invtier then
| |
| invslot = slots[invslot] or invslot
| |
| invslot = inv_slots[invslot]
| |
| if not invslot then
| |
| invslot = inv_slots[slot]
| |
| end
| |
| ret, _ = chargedrain.get_tooltip(invtier,invslot)
| |
| ret = tostring(ret)
| |
| end
| |
| return ret
| |
| end
| |
| function invdegradetooltipdivarg(invtier,invslot,slot)
| |
| invtier = tonumber(invtier)
| |
| local ret = nil
| |
| if invtier then
| |
| invslot = slots[invslot] or invslot
| |
| invslot = inv_slots[invslot]
| |
| if not invslot then
| |
| invslot = inv_slots[slot]
| |
| end
| |
| _, ret = chargedrain.get_tooltip(invtier,invslot)
| |
| ret = tostring(ret)
| |
| end
| |
| return ret
| |
| end
| |
| -- normal degradation
| |
| function normdegradesarg(deg)
| |
| local charges = clean(deg)
| |
| if charges then
| |
| return charges
| |
| end
| |
| if yesno(deg, false) then
| |
| return 'Yes'
| |
| end
| |
| return nil
| |
| end
| |
| function degradestypearg(deg,inv)
| |
| if infobox.isDefined(inv) and infobox.isDefined(deg) then
| |
| return 'both'
| |
| end
| |
| if infobox.isDefined(inv) then
| |
| return 'invention'
| |
| end
| |
| if infobox.isDefined(deg) then
| |
| return 'normal'
| |
| end
| |
| return nil
| |
| end
| |
| -- string representation
| |
| function degradesstrarg(dtype, deg, inv, invspan)
| |
| if dtype == 'invention' then
| |
| return mw.ustring.format('%s/s %s', inv, invspan)
| |
| end
| |
| if dtype == 'normal' or dtype == 'both' then
| |
| if type(deg) == 'number' then
| |
| return commas(deg) .. ' charges'
| |
| elseif deg == true then
| |
| return 'Yes'
| |
| else
| |
| return deg
| |
| end
| |
| end
| |
| return ''
| |
| end
| |
| -- header
| |
| function degradeheaderarg(dtype)
| |
| if dtype == 'invention' then
| |
| return '[[Charge pack|Charge drain]]'
| |
| end
| |
| if dtype == 'normal' or dtype == 'both' then
| |
| return '[[Equipment degradation|Degrades]]'
| |
| end
| |
| return ''
| |
| end | | end |
| --smw | | --smw |