62 737
modifications
mAucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 4 : | Ligne 4 : | ||
local explosionIcon = icon._build({ 'explosion' }) | local explosionIcon = icon._build({ 'explosion' }) | ||
local effectIcon = icon._build({ 'effet' }) | local effectIcon = icon._build({ 'effet' }) | ||
local tooltip = require( 'Module:Infobulle' ) | |||
local tooltipDmgAllPerks = 'Dégâts avec toutes les aptitudes mentionnées' | |||
local tooltipDmgPerk = 'Dégâts supplémentaires par attaque avec cette aptitude' | |||
local tooltipAttsecAllPerks = 'Attaques par seconde avec toutes les aptitudes mentionnées' | |||
local tooltipAttsecPerk = 'Attaques supplémentaires par seconde avec cette aptitude' | |||
local tooltipReloadAllPerks = 'Durée du rechargement avec toutes les aptitudes mentionnées' | |||
local tooltipReloadPerk = 'Diminution de la durée de rechargement avec cette aptitude' | |||
local tooltipStyle = 'color:var(--color-link);' | |||
-------------------------------------------------------- | -------------------------------------------------------- | ||
Ligne 18 : | Ligne 27 : | ||
function formatNumber(data, round) | function formatNumber(data, round) | ||
return string.format(round or "%.1f", data) | return string.format(round or "%.1f", data) | ||
end | |||
-- Formatage des infobulles | |||
function formatTooltip(text, title) | |||
return tooltip._build({ text, title, style = tooltipStyle }) | |||
end | end | ||
Ligne 95 : | Ligne 109 : | ||
if perkAttacksPerSec > 0 then | if perkAttacksPerSec > 0 then | ||
perksAttacksPerSec = perksAttacksPerSec + perkAttacksPerSec | perksAttacksPerSec = perksAttacksPerSec + perkAttacksPerSec | ||
perksAttacksPerSecItems = perksAttacksPerSecItems .. '<li>' .. perk .. '<div style="float:right;">+ ' .. formatNumber(perkAttacksPerSec) .. '</div></li>' | perksAttacksPerSecItems = perksAttacksPerSecItems .. '<li>' .. perk .. '<div style="float:right;">+ ' .. formatTooltip(formatNumber(perkAttacksPerSec), tooltipAttsecPerk) .. '</div></li>' | ||
end | end | ||
if perkDmgNorm > 0 or perkDmgEff > 0 or perkDmgExpl > 0 then | if perkDmgNorm > 0 or perkDmgEff > 0 or perkDmgExpl > 0 then | ||
perksDmgItems = perksDmgItems .. '<li>' .. perk .. '<div style="float:right;">' | perksDmgItems = perksDmgItems .. '<li>' .. perk .. '<div style="float:right;">' | ||
local addDmg = '' | |||
if perkDmgNorm > 0 then | if perkDmgNorm > 0 then | ||
perksDmgNorm = perksDmgNorm + perkDmgNorm | perksDmgNorm = perksDmgNorm + perkDmgNorm | ||
addDmg = addDmg .. ' + ' .. formatNumber(perkDmgNorm) | |||
end | end | ||
if perkDmgExpl > 0 then | if perkDmgExpl > 0 then | ||
perksDmgExpl = perksDmgExpl + perkDmgExpl | perksDmgExpl = perksDmgExpl + perkDmgExpl | ||
addDmg = addDmg .. ' + ' .. formatNumber(perkDmgExpl) .. ' ' .. explosionIcon | |||
end | end | ||
if perkDmgEff > 0 then | if perkDmgEff > 0 then | ||
perksDmgEff = perksDmgEff + perkDmgEff | perksDmgEff = perksDmgEff + perkDmgEff | ||
addDmg = addDmg .. ' + ' .. formatNumber(perkDmgEff) .. ' ' .. effectIcon | |||
end | end | ||
perksDmgItems = perksDmgItems .. '</div></li>' | perksDmgItems = perksDmgItems .. formatTooltip(addDmg, tooltipDmgPerk) .. '</div></li>' | ||
end | end | ||
if perkReloadTime > 0 then | if perkReloadTime > 0 then | ||
perksReloadTime = perksReloadTime + perkReloadTime | perksReloadTime = perksReloadTime + perkReloadTime | ||
perksReloadTimeItems = perksReloadTimeItems .. '<li>' .. perk .. '<div style="float:right;">- ' .. formatNumber(perkReloadTime) .. ' s</div></li>' | perksReloadTimeItems = perksReloadTimeItems .. '<li>' .. perk .. '<div style="float:right;">- ' .. formatTooltip(formatNumber(perkReloadTime), tooltipReloadPerk) .. ' s</div></li>' | ||
end | end | ||
else | else | ||
Ligne 180 : | Ligne 196 : | ||
-------------------------------------------------------- | -------------------------------------------------------- | ||
-- Dégâts par attaque | |||
local dmgPerAttackCell = formatNumber(dmgNormTotal) | local dmgPerAttackCell = formatNumber(dmgNormTotal) | ||
if perksDmgNorm > 0 then dmgPerAttackCell = dmgPerAttackCell .. ' (' .. formatNumber(perksDmgNormTotal) .. ')' end | if perksDmgNorm > 0 then | ||
dmgPerAttackCell = dmgPerAttackCell .. ' (' .. formatTooltip(formatNumber(perksDmgNormTotal), tooltipDmgAllPerks) .. ')' | |||
end | |||
if dmgExplTotal > 0 then | if dmgExplTotal > 0 then | ||
dmgPerAttackCell = dmgPerAttackCell .. ' + ' .. formatNumber(dmgExplTotal) | dmgPerAttackCell = dmgPerAttackCell .. ' + ' .. formatNumber(dmgExplTotal) | ||
if perksDmgExpl > 0 then dmgPerAttackCell = dmgPerAttackCell .. ' (' .. formatNumber(perksDmgExplTotal) .. ')' end | if perksDmgExpl > 0 then | ||
dmgPerAttackCell = dmgPerAttackCell .. ' (' .. formatTooltip(formatNumber(perksDmgExplTotal), tooltipDmgAllPerks) .. ')' | |||
end | |||
dmgPerAttackCell = dmgPerAttackCell .. ' ' .. explosionIcon | dmgPerAttackCell = dmgPerAttackCell .. ' ' .. explosionIcon | ||
end | end | ||
Ligne 190 : | Ligne 211 : | ||
local effectDuration = localdata["effect duration"] or "1" | local effectDuration = localdata["effect duration"] or "1" | ||
dmgPerAttackCell = dmgPerAttackCell .. ' + ' .. formatNumber(dmgEffTotal) | dmgPerAttackCell = dmgPerAttackCell .. ' + ' .. formatNumber(dmgEffTotal) | ||
if perksDmgEff > 0 then dmgPerAttackCell = dmgPerAttackCell .. ' (' .. formatNumber(perksDmgEffTotal) .. ')' end | if perksDmgEff > 0 then | ||
dmgPerAttackCell = dmgPerAttackCell .. ' (' .. formatTooltip(formatNumber(perksDmgEffTotal), tooltipDmgAllPerks) .. ')' | |||
end | |||
dmgPerAttackCell = dmgPerAttackCell .. ' sur ' .. effectDuration .. ' s ' .. effectIcon | dmgPerAttackCell = dmgPerAttackCell .. ' sur ' .. effectDuration .. ' s ' .. effectIcon | ||
end | end | ||
-- Dégâts par projectile | |||
local dmgPerProjCell = formatNumber(dmgNormProj) | local dmgPerProjCell = formatNumber(dmgNormProj) | ||
if perksDmgNormProj > 0 then dmgPerProjCell = dmgPerProjCell .. ' (' .. formatNumber(perksDmgNormProj) .. ')' end | if perksDmgNormProj > 0 then | ||
dmgPerProjCell = dmgPerProjCell .. ' (' .. formatTooltip(formatNumber(perksDmgNormProj), tooltipDmgAllPerks) .. ')' | |||
end | |||
if dmgExplProj > 0 then | if dmgExplProj > 0 then | ||
dmgPerProjCell = dmgPerProjCell .. ' + ' .. formatNumber(dmgExplProj) | dmgPerProjCell = dmgPerProjCell .. ' + ' .. formatNumber(dmgExplProj) | ||
if perksDmgExplProj > 0 then dmgPerProjCell = dmgPerProjCell .. ' (' .. formatNumber(perksDmgExplProjTotal) .. ')' end | if perksDmgExplProj > 0 then | ||
dmgPerProjCell = dmgPerProjCell .. ' (' .. formatTooltip(formatNumber(perksDmgExplProjTotal), tooltipDmgAllPerks) .. ')' | |||
end | |||
dmgPerProjCell = dmgPerProjCell .. ' ' .. explosionIcon | dmgPerProjCell = dmgPerProjCell .. ' ' .. explosionIcon | ||
end | end | ||
if dmgEffProj > 0 then | if dmgEffProj > 0 then | ||
local effectDuration = localdata["effect duration"] or "1" | local effectDuration = localdata["effect duration"] or "1" | ||
dmgPerProjCell = dmgPerProjCell .. ' + ' .. formatNumber(dmgEffProj) | dmgPerProjCell = dmgPerProjCell .. ' + ' .. formatNumber(dmgEffProj) | ||
if perksDmgEffProj > 0 then dmgPerProjCell = dmgPerProjCell .. ' (' .. formatNumber(perksDmgEffProjTotal) .. ')' end | if perksDmgEffProj > 0 then | ||
dmgPerProjCell = dmgPerProjCell .. ' (' .. formatTooltip(formatNumber(perksDmgEffProjTotal), tooltipDmgAllPerks) .. ')' | |||
end | |||
dmgPerProjCell = dmgPerProjCell .. ' sur ' .. effectDuration .. ' s ' .. effectIcon | dmgPerProjCell = dmgPerProjCell .. ' sur ' .. effectDuration .. ' s ' .. effectIcon | ||
end | end | ||
-- Dégâts par seconde | |||
local dpsCell = formatNumber(dps) | local dpsCell = formatNumber(dps) | ||
if perksDps > 0 then dpsCell = dpsCell .. ' ('.. formatNumber(perksDps) .. ')' end | if perksDps > 0 then | ||
dpsCell = dpsCell .. ' ('.. formatNumber(perksDps) .. ')' | |||
end | |||
if dmgEffTotal > 0 then | if dmgEffTotal > 0 then | ||
dpsCell = dpsCell .. ' + ' .. formatNumber(dmgEffTotal) | dpsCell = dpsCell .. ' + ' .. formatNumber(dmgEffTotal) | ||
if perksDmgEff > 0 then dpsCell = dpsCell .. ' (' .. perksDmgEffTotal .. ')' end | if perksDmgEff > 0 then | ||
dpsCell = dpsCell .. ' (' .. formatTooltip(formatNumber(perksDmgEffTotal), tooltipDmgAllPerks) .. ')' | |||
end | |||
dpsCell = dpsCell .. ' ' .. effectIcon | dpsCell = dpsCell .. ' ' .. effectIcon | ||
end | end | ||
-- Dégâts par seconde (avec rechargement) | |||
local dpsReloadCell = formatNumber(dpsReload) | local dpsReloadCell = formatNumber(dpsReload) | ||
if perksDpsReload > 0 then dpsReloadCell = dpsReloadCell .. ' ('.. formatNumber(perksDpsReload) .. ')' end | if perksDpsReload > 0 then | ||
dpsReloadCell = dpsReloadCell .. ' ('.. formatTooltip(formatNumber(perksDpsReload), tooltipDmgAllPerks) .. ')' | |||
end | |||
if dmgEffTotal > 0 then | if dmgEffTotal > 0 then | ||
dpsReloadCell = dpsReloadCell .. ' + ' .. formatNumber(dmgEffTotal) | dpsReloadCell = dpsReloadCell .. ' + ' .. formatNumber(dmgEffTotal) | ||
if perksDmgEff > 0 then dpsReloadCell = dpsReloadCell .. ' (' .. formatNumber(perksDmgEffTotal) .. ')' end | if perksDmgEff > 0 then | ||
dpsReloadCell = dpsReloadCell .. ' (' .. formatTooltip(formatNumber(perksDmgEffTotal), tooltipDmgAllPerks) .. ')' | |||
end | |||
dpsReloadCell = dpsReloadCell .. ' ' .. effectIcon | dpsReloadCell = dpsReloadCell .. ' ' .. effectIcon | ||
end | end | ||
-- Multiplicateur de critique | |||
local critMultCell = 'x ' .. formatNumber(critChanceMult, "%.2f") | local critMultCell = 'x ' .. formatNumber(critChanceMult, "%.2f") | ||
-- Attaques par seconde | |||
local attackPerSecCell = formatNumber(attacksPerSec) | local attackPerSecCell = formatNumber(attacksPerSec) | ||
if perksAttacksPerSec > 0 then attackPerSecCell = attackPerSecCell .. ' (' .. formatNumber(perksAttacksPerSecTotal) .. ')' end | if perksAttacksPerSec > 0 then | ||
attackPerSecCell = attackPerSecCell .. ' (' .. formatTooltip(formatNumber(perksAttacksPerSecTotal), tooltipAttsecAllPerks) .. ')' | |||
end | |||
-- Durée de rechargement | |||
local reloadTimeCell = formatNumber(reloadTime) | local reloadTimeCell = formatNumber(reloadTime) | ||
if perksReloadTime > 0 then reloadTimeCell = reloadTimeCell .. ' (' .. formatNumber(perksReloadTimeTotal) .. ')' end | if perksReloadTime > 0 then | ||
reloadTimeCell = reloadTimeCell .. ' (' .. formatTooltip(formatNumber(perksReloadTimeTotal), tooltipReloadAllPerks) .. ')' | |||
end | |||
-- Effets des aptitudes | -- Effets des aptitudes | ||
Ligne 278 : | Ligne 324 : | ||
{ type = 'table', title = 'Munitions et rechargement', collapseparameters = { collapsible = true, collapsed = true }, rows = { | { type = 'table', title = 'Munitions et rechargement', collapseparameters = { collapsible = true, collapsed = true }, rows = { | ||
{ type = 'row', label = 'Type de munitions', value = 'ammo' }, | { type = 'row', label = 'Type de munitions', value = 'ammo' }, | ||
{ type = 'row', label = ' | { type = 'row', label = 'Projectiles par tir', value = 'ammo use' }, | ||
{ type = 'row', label = 'Tirs par magasin', value = function() return formatNumber(shotsPerReload) end }, | { type = 'row', label = 'Tirs par magasin', value = function() return formatNumber(shotsPerReload) end }, | ||
{ type = 'row', label = 'Capacité', value = 'clip rounds' }, | { type = 'row', label = 'Capacité', value = 'clip rounds' }, |
modifications