Skip to content

Commit

Permalink
feat: add additional stats
Browse files Browse the repository at this point in the history
  • Loading branch information
puppy-girl committed Sep 20, 2024
1 parent 7771009 commit b6312e4
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 2 deletions.
29 changes: 28 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ <h2>Car-4</h2>

<aside id="sidebar-stats">
<div id="stat-previews">
<div id="number-stats" class="stat-container">
<div id="main-stats" class="stat-container">
<div class="stat-group">
<div>
<span data-localisation-key="stats-damage"></span>
Expand Down Expand Up @@ -225,6 +225,33 @@ <h2>Car-4</h2>
viewBox="0 0 100 100"
></svg>
</div>
<div class="stat-container">
<div class="stat-group">
<div>
<span data-localisation-key="stats-hipfire-multiplier"></span>
<span id="stat-hipfire-multiplier">2.2×</span>
</div>
<div>
<span data-localisation-key="stats-initial-num"></span>
<span id="stat-initial-num">3</span>
</div>
</div>

<div class="stat-group">
<div>
<span data-localisation-key="stats-equip"></span>
<span id="stat-equip-time"></span>
</div>
<div>
<span data-localisation-key="stats-unequip"></span>
<span id="stat-unequip-time"></span>
</div>
<div>
<span data-localisation-key="stats-sprint-exit"></span>
<span id="stat-sprint-exit-time"></span>
</div>
</div>
</div>
<!--
<div class="stat-container">
<svg
Expand Down
50 changes: 50 additions & 0 deletions scripts/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -440,6 +440,24 @@ function applyLoadout(weapon, skills, attachments) {
);
}

if (attributeModifiers['OverallSwapSpeed']) {
updatedWeapon.equipTime /= convertAttributeModifier(
'OverallSwapSpeed',
attributeModifiers['OverallSwapSpeed']
);

updatedWeapon.unequipTime /= convertAttributeModifier(
'OverallSwapSpeed',
attributeModifiers['OverallSwapSpeed']
);
}

if (attributeModifiers['SprintExitPlayRate'])
updatedWeapon.sprintExitTime /= convertAttributeModifier(
'SprintExitPlayRate',
attributeModifiers['SprintExitPlayRate']
);

return updatedWeapon;
}

Expand All @@ -452,6 +470,8 @@ function applyLoadout(weapon, skills, attachments) {
* @returns {number} Stat modifier
*/
function convertAttributeModifier(attribute, modifier) {
if (attribute == 'OverallSwapSpeed') attribute = 'EquipPlayRate';

const attributeModifierCurve = CURVE_DATA[attribute];

if (modifier == 0 || modifier == undefined) return 0;
Expand Down Expand Up @@ -1232,6 +1252,36 @@ function updateWeaponStats(selectedWeapon) {
}

previousWeapon = selectedWeapon;

const hipfireMultiplierStat = document.querySelector(
'#stat-hipfire-multiplier'
);
hipfireMultiplierStat.innerHTML =
weapon.recoilData.viewKick.hipfireMultiplier + '×';

const initialNumStat = document.querySelector('#stat-initial-num');
initialNumStat.innerHTML = weapon.recoilData.viewKick.initialNum;

const equipTimeStat = document.querySelector('#stat-equip-time');
equipTimeStat.setAttribute('data-localisation-key', 'stats-time');
equipTimeStat.setAttribute(
'data-localisation-var',
`{"duration": "${Math.round(weapon.equipTime * 1000) / 1000}"}`
);

const unequipTimeStat = document.querySelector('#stat-unequip-time');
unequipTimeStat.setAttribute('data-localisation-key', 'stats-time');
unequipTimeStat.setAttribute(
'data-localisation-var',
`{"duration": "${Math.round(weapon.unequipTime * 1000) / 1000}"}`
);

const sprintExitTimeStat = document.querySelector('#stat-sprint-exit-time');
sprintExitTimeStat.setAttribute('data-localisation-key', 'stats-time');
sprintExitTimeStat.setAttribute(
'data-localisation-var',
`{"duration": "${Math.round(weapon.sprintExitTime * 1000) / 1000}"}`
);
}

function shotsToKillAtDistances(weapon, enemy, headshots) {
Expand Down
5 changes: 5 additions & 0 deletions scripts/localisation.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ const localisations = {
'stats-ammo-pickup': 'Ammo Pickup',
'stats-reload': 'Reload',
'stats-reload-from-empty': 'Full Reload',
'stats-hipfire-multiplier': 'Hipfire Recoil',
'stats-initial-num': 'Initial Num.',
'stats-equip': 'Equip Time',
'stats-unequip': 'Unequip Time',
'stats-sprint-exit': 'Sprint Exit',
'stats-optimal-ttk': 'Optimal Shots to Kill',
'stats-body-ttk': 'Body Shots to Kill',
'stats-range': '{{distance}}m',
Expand Down
6 changes: 5 additions & 1 deletion style.css
Original file line number Diff line number Diff line change
Expand Up @@ -650,7 +650,7 @@ span.damage-breakdown span {
font-family: var(--font-mono);
}

.stat-container#number-stats {
.stat-container#main-stats {
justify-content: space-between;

height: 17rem;
Expand All @@ -669,6 +669,10 @@ span.damage-breakdown span {
gap: 0.5em;
}

.stat-group:not(#main-stats .stat-group) {
padding-bottom: 2em;
}

.stat-group > div {
display: flex;
justify-content: space-between;
Expand Down

0 comments on commit b6312e4

Please sign in to comment.