Module:BTD6 stats: Difference between revisions

mNo edit summary
Pymonkibot (talk | contribs)
m Text replacement - "[[Bloons TD 6 v" to "[[Update history:Bloons TD 6/Version "
 
(6 intermediate revisions by 2 users not shown)
Line 160: Line 160:
local insertRate = function(amt)
local insertRate = function(amt)
ret[#ret+1] = sformat("| %.4gs", amt - (data.cooldownScaleRange*scale))
ret[#ret+1] = sformat("| %.4gs", amt - (data.cooldownScaleRange*scale))
end
-- thrash cooldown
local insertThrashRate = function(amt, thrashRate)
ret[#ret+1] = sformat("| %.4gs", (1 - data.cooldownScaleRange*scale/amt) * thrashRate)
end
end
-- ability cooldown
-- ability cooldown
local insertAbilityCooldown = function(amt, mainAttackRate)
local insertAbilityCooldown = function(amt, mainAttackRate)
ret[#ret+1] = sformat("|%.4gs", amt - (data.cooldownScaleRange*scale/(mainAttackRate - (data.cooldownScaleRange*scale))))
ret[#ret+1] = sformat("|%.4gs", amt * (1 - (data.cooldownScaleRange*scale/(mainAttackRate - (data.cooldownScaleRange*scale)))))
end
end
Line 189: Line 194:
-- bird flight speed
-- bird flight speed
local insertGyrfalconSpeed = function()
local insertGyrfalconSpeed = function()
ret[#ret+1] = sformat("|%.4g units/s", data.speedRangeGyrfalcon + (data.speedRangeGyrfalcon*scale))
ret[#ret+1] = sformat("|%.4g units/s", data.speed + (data.speedRangeGyrfalcon*scale))
end
end
Line 219: Line 224:
if attack.initialDamage and attack.initialDamage > 0 then insertDamage(attack.initialDamage) end
if attack.initialDamage and attack.initialDamage > 0 then insertDamage(attack.initialDamage) end
if attack.grapplingDamage and attack.grapplingDamage > 0 then insertDamage(attack.initialDamage) end
if attack.grapplingDamage and attack.grapplingDamage > 0 then insertDamage(attack.initialDamage) end
if attack.thrashingProjectileRate then insertRate(attack.rate/2) end
if attack.thrashingProjectileRate then insertThrashRate(attack.rate, attack.thrashingProjectileRate) end
-- projectiles
-- projectiles
Line 766: Line 771:
local out = parse_tower_base(frame, data, "<h3>%s</h3>", true)
local out = parse_tower_base(frame, data, "<h3>%s</h3>", true)
return string.format("<div class='hatnote'>This data was last updated for: [[Bloons TD 6 v%s|version %s]]</div>", data["_last_updated"], data["_last_updated"]) .. out
return string.format("<div class='hatnote'>This data was last updated for: [[Update history:Bloons TD 6/Version %s|version %s]]</div>", data["_last_updated"], data["_last_updated"]) .. out
end
end


Line 801: Line 806:
}
}
tinsert(ret, sformat("<div class='hatnote'>This data was last updated for: [[Bloons TD 6 v%s|version %s]]</div>", data["_last_updated"], data["_last_updated"]))
tinsert(ret, sformat("<div class='hatnote'>This data was last updated for: [[Update history:Bloons TD 6/Version %s|version %s]]</div>", data["_last_updated"], data["_last_updated"]))
for i, v in ipairs(upgrade_crosspaths[frame.args[2]]) do
for i, v in ipairs(upgrade_crosspaths[frame.args[2]]) do
my_data = {}
local result = parse_tower(frame, base_data, my_data, "<h3>%s</h3>", false)
local result = parse_tower(frame, base_data, my_data, "<h3>%s</h3>", false)
Line 871: Line 877:
function p.last_updated(frame)
function p.last_updated(frame)
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1]))
local data = mw.loadJsonData(string.format("Module:BTD6 stats/%s/new", frame.args[1]))
return string.format("<div class='hatnote'>This data was last updated for: [[Bloons TD 6 v%s|version %s]]</div>", data["_last_updated"], data["_last_updated"])
return string.format("<div class='hatnote'>This data was last updated for: [[Update history:Bloons TD 6/Version %s|version %s]]</div>", data["_last_updated"], data["_last_updated"])
end
end


return p
return p