From c51e60ed059b875f1e9a1ff1293315cbe9ee98bd Mon Sep 17 00:00:00 2001 From: IM23a-bachmannj2 Date: Wed, 11 Sep 2024 12:32:01 +0200 Subject: [PATCH] 1st commit --- .idea/.gitignore | 8 + app.py | 61 +++ data.json | 882 ++++++++++++++++++++++++++++++++++++++ img/trlbg1.jpg | Bin 0 -> 61826 bytes requirements.txt | Bin 0 -> 446 bytes static/filterTable.js | 18 + static/populateTable.js | 27 ++ static/style.css | 61 +++ templates/calculator.html | 22 + templates/index.html | 45 ++ 10 files changed, 1124 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 app.py create mode 100644 data.json create mode 100644 img/trlbg1.jpg create mode 100644 requirements.txt create mode 100644 static/filterTable.js create mode 100644 static/populateTable.js create mode 100644 static/style.css create mode 100644 templates/calculator.html create mode 100644 templates/index.html diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/app.py b/app.py new file mode 100644 index 0000000..6604ca0 --- /dev/null +++ b/app.py @@ -0,0 +1,61 @@ +from flask import Flask, render_template, jsonify +import json + +app = Flask(__name__) + +# Load the data from the JSON file +with open('data.json') as f: + guns = json.load(f) + + +@app.route('/') +def index(): + return render_template('index.html') + + +@app.route('/api/guns', methods=['GET']) +def get_guns(): + updated_guns = [] + for gun in guns: + # Calculate RPS, DPS, DPM, avgDPS + rps = gun['rpm'] / 60 + dps = gun['damage'] * rps + reload_time_min = gun['reload_time'] / 60 + dpm = (gun['mag_size'] * gun['damage']) / (reload_time_min + (gun['mag_size'] / gun['rpm'])) + avg_dps = dpm / 60 + + # Add calculated stats to the gun data + gun.update({ + 'rps': rps, + 'dps': dps, + 'dpm': dpm, + 'avg_dps': avg_dps + }) + updated_guns.append(gun) + + return jsonify(updated_guns) + +@app.route('/calculator') +def calculator(): + return render_template('calculator.html') + + +def dps_calculation(damage, extra_dmg_percent, rpm, extra_fire_rate): + dps = damage * (extra_dmg_percent / 100 + 1) * (rpm * (extra_fire_rate / 100 + 1) / 60) + return round(dps, 2) + + +def dpm_calculation(reload_time, extra_reload_speed, rpm, damage, extra_dmg_percent, mag_size, extra_fire_rate): + adjusted_reload_time = reload_time * (extra_reload_speed / 100 + 1) + adjusted_fire_rate = rpm * (extra_fire_rate / 100 + 1) + total_damage_per_mag = damage * (extra_dmg_percent / 100 + 1) * mag_size + dpm = total_damage_per_mag / ((adjusted_reload_time / 60) + (mag_size / adjusted_fire_rate)) + return round(dpm, 2) + + +def average_dpm_calculation(): + dpm = float(dpm_calculation()) + return round(dpm / 60, 2) + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/data.json b/data.json new file mode 100644 index 0000000..da8dc13 --- /dev/null +++ b/data.json @@ -0,0 +1,882 @@ +[ + { + "id": 1, + "name": "G18", + "damage": 32, + "damage_multiplier": 1, + "rpm": 550, + "mag_size": 18, + "reload_time": 2, + "gunytpe": "PISTOL" + }, + { + "id": 2, + "name": "M1911", + "damage": 37, + "damage_multiplier": 1, + "rpm": 580, + "mag_size": 8, + "reload_time": 1.15, + "gunytpe": "PISTOL" + }, + { + "id": 3, + "name": "M9A", + "damage": 31, + "damage_multiplier": 1, + "rpm": 850, + "mag_size": 15, + "reload_time": 2, + "gunytpe": "PISTOL" + }, + { + "id": 4, + "name": "M1911MK2", + "damage": 48, + "damage_multiplier": 1, + "rpm": 720, + "mag_size": 16, + "reload_time": 3, + "gunytpe": "PISTOL" + }, + { + "id": 5, + "name": "Luger", + "damage": 58, + "damage_multiplier": 1, + "rpm": 500, + "mag_size": 8, + "reload_time": 1.95, + "gunytpe": "PISTOL" + }, + { + "id": 6, + "name": "AK47", + "damage": 40, + "damage_multiplier": 1, + "rpm": 600, + "mag_size": 30, + "reload_time": 2.1, + "gunytpe": "RIFLE" + }, + { + "id": 7, + "name": "G36", + "damage": 42, + "damage_multiplier": 1, + "rpm": 700, + "mag_size": 30, + "reload_time": 2.4, + "gunytpe": "RIFLE" + }, + { + "id": 8, + "name": "CRL10", + "damage": 75, + "damage_multiplier": 1, + "rpm": 400, + "mag_size": 24, + "reload_time": 2.6, + "gunytpe": "RIFLE" + }, + { + "id": 9, + "name": "BRH17", + "damage": 58, + "damage_multiplier": 1, + "rpm": 670, + "mag_size": 30, + "reload_time": 3.25, + "gunytpe": "RIFLE" + }, + { + "id": 10, + "name": "M4", + "damage": 40, + "damage_multiplier": 1, + "rpm": 700, + "mag_size": 30, + "reload_time": 2.35, + "gunytpe": "RIFLE" + }, + { + "id": 11, + "name": "M1", + "damage": 425, + "damage_multiplier": 1, + "rpm": 60, + "mag_size": 8, + "reload_time": 2.8, + "gunytpe": "RIFLE" + }, + { + "id": 12, + "name": "R870", + "damage": 92, + "damage_multiplier": 6, + "rpm": 70, + "mag_size": 12, + "reload_time": 12, + "gunytpe": "SHOTGUN" + }, + { + "id": 13, + "name": "R870 (1 Pellet Hit DPS/DPM)", + "damage": 92, + "damage_multiplier": 1, + "rpm": 70, + "mag_size": 12, + "reload_time": 12, + "gunytpe": "SHOTGUN" + }, + { + "id": 14, + "name": "Scattergun", + "damage": 110, + "damage_multiplier": 4, + "rpm": 300, + "mag_size": 7, + "reload_time": 4, + "gunytpe": "SHOTGUN" + }, + { + "id": 15, + "name": "Scattergun (1 Pellet Hit DPS/DPM)", + "damage": 58, + "damage_multiplier": 1, + "rpm": 300, + "mag_size": 7, + "reload_time": 4.5, + "gunytpe": "SHOTGUN" + }, + { + "id": 16, + "name": "Shorty", + "damage": 29, + "damage_multiplier": 4, + "rpm": 185, + "mag_size": 8, + "reload_time": 3.5, + "gunytpe": "SHOTGUN" + }, + { + "id": 17, + "name": "Shorty (1 Pellet Hit DPS/DPM)", + "damage": 29, + "damage_multiplier": 1, + "rpm": 185, + "mag_size": 8, + "reload_time": 3.5, + "gunytpe": "SHOTGUN" + }, + { + "id": 18, + "name": "AA12", + "damage": 22, + "damage_multiplier": 4, + "rpm": 300, + "mag_size": 20, + "reload_time": 2.2, + "gunytpe": "SHOTGUN" + }, + { + "id": 19, + "name": "AA12 (1 Pellet Hit DPS/DPM)", + "damage": 22, + "damage_multiplier": 1, + "rpm": 300, + "mag_size": 20, + "reload_time": 2.2, + "gunytpe": "SHOTGUN" + }, + { + "id": 20, + "name": "P90", + "damage": 32, + "damage_multiplier": 1, + "rpm": 900, + "mag_size": 50, + "reload_time": 3, + "gunytpe": "SMG" + }, + { + "id": 21, + "name": "Thompson", + "damage": 38, + "damage_multiplier": 1, + "rpm": 750, + "mag_size": 50, + "reload_time": 2.5, + "gunytpe": "SMG" + }, + { + "id": 22, + "name": "Uzi", + "damage": 20, + "damage_multiplier": 1, + "rpm": 850, + "mag_size": 32, + "reload_time": 2, + "gunytpe": "SMG" + }, + { + "id": 23, + "name": "Vector", + "damage": 32, + "damage_multiplier": 1, + "rpm": 1050, + "mag_size": 33, + "reload_time": 2, + "gunytpe": "SMG" + }, + { + "id": 24, + "name": "MP5", + "damage": 23, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 30, + "reload_time": 2.1, + "gunytpe": "SMG" + }, + { + "id": 25, + "name": "U10", + "damage": 18, + "damage_multiplier": 1, + "rpm": 750, + "mag_size": 65, + "reload_time": 2, + "gunytpe": "SMG" + }, + { + "id": 26, + "name": "MPX", + "damage": 28, + "damage_multiplier": 1, + "rpm": 780, + "mag_size": 30, + "reload_time": 2.65, + "gunytpe": "SMG" + }, + { + "id": 27, + "name": "UMP45", + "damage": 28, + "damage_multiplier": 1, + "rpm": 600, + "mag_size": 25, + "reload_time": 2, + "gunytpe": "SMG" + }, + { + "id": 28, + "name": "Prototype", + "damage": 21, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 25, + "reload_time": 2.5, + "gunytpe": "SMG" + }, + { + "id": 29, + "name": "Prototype (Overcharged)", + "damage": 21, + "damage_multiplier": 1.35, + "rpm": 800, + "mag_size": 25, + "reload_time": 2.5, + "gunytpe": "SMG" + }, + { + "id": 30, + "name": "MP40", + "damage": 50, + "damage_multiplier": 1, + "rpm": 550, + "mag_size": 32, + "reload_time": 3, + "gunytpe": "SMG" + }, + { + "id": 31, + "name": "PKM", + "damage": 41, + "damage_multiplier": 1, + "rpm": 750, + "mag_size": 100, + "reload_time": 5.5, + "gunytpe": "LMG" + }, + { + "id": 32, + "name": "M249", + "damage": 42, + "damage_multiplier": 1, + "rpm": 850, + "mag_size": 100, + "reload_time": 6, + "gunytpe": "LMG" + }, + { + "id": 33, + "name": "T49", + "damage": 48, + "damage_multiplier": 1, + "rpm": 780, + "mag_size": 125, + "reload_time": 5.5, + "gunytpe": "LMG" + }, + { + "id": 34, + "name": "T32", + "damage": 52, + "damage_multiplier": 1, + "rpm": 700, + "mag_size": 50, + "reload_time": 3.25, + "gunytpe": "RIFLE" + }, + { + "id": 35, + "name": "Improved T49", + "damage": 48, + "damage_multiplier": 1, + "rpm": 850, + "mag_size": 125, + "reload_time": 5.5, + "gunytpe": "LMG" + }, + { + "id": 36, + "name": "Improved T32", + "damage": 52, + "damage_multiplier": 1, + "rpm": 750, + "mag_size": 50, + "reload_time": 3.25, + "gunytpe": "RIFLE" + }, + { + "id": 37, + "name": "AMR 12.7", + "damage": 1000, + "damage_multiplier": 1, + "rpm": 30, + "mag_size": 5, + "reload_time": 3.5, + "gunytpe": "RIFLE?" + }, + { + "id": 38, + "name": "Golden Thompson", + "damage": 44, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 50, + "reload_time": 2.5, + "gunytpe": "SMG" + }, + { + "id": 39, + "name": "MilTech SMGs", + "damage": 40, + "damage_multiplier": 1, + "rpm": 900, + "mag_size": 64, + "reload_time": 4, + "gunytpe": "SMG" + }, + { + "id": 40, + "name": "Eradicator", + "damage": 40, + "damage_multiplier": 1, + "rpm": 1000, + "mag_size": 50, + "reload_time": 2.45, + "gunytpe": "RIFLE" + }, + { + "id": 41, + "name": "A10", + "damage": 1000, + "damage_multiplier": 1, + "rpm": 3000, + "mag_size": 10000000000000000000, + "reload_time": 0, + "gunytpe": "SPECIAL" + }, + { + "id": 42, + "name": "Turret (Manual)", + "damage": 100, + "damage_multiplier": 1, + "rpm": 500, + "mag_size": 650, + "reload_time": 0, + "gunytpe": "SPECIAL" + }, + { + "id": 43, + "name": "Turret (Automatic)", + "damage": 100, + "damage_multiplier": 1, + "rpm": 300, + "mag_size": 650, + "reload_time": 0, + "gunytpe": "SPECIAL" + }, + { + "id": 44, + "name": "Improved G18", + "damage": 38, + "damage_multiplier": 1, + "rpm": 650, + "mag_size": 18, + "reload_time": 2, + "gunytpe": "PISTOL" + }, + { + "id": 45, + "name": "Silenced G18", + "damage": 38, + "damage_multiplier": 1, + "rpm": 550, + "mag_size": 18, + "reload_time": 2, + "gunytpe": "PISTOL" + }, + { + "id": 46, + "name": "RC12", + "damage": 50, + "damage_multiplier": 4, + "rpm": 225, + "mag_size": 10, + "reload_time": 5, + "gunytpe": "SHOTGUN" + }, + { + "id": 47, + "name": "RC12 (1 pellet hit)", + "damage": 50, + "damage_multiplier": 1, + "rpm": 225, + "mag_size": 10, + "reload_time": 5, + "gunytpe": "SHOTGUN" + }, + { + "id": 48, + "name": "MRL4", + "damage": 48.5, + "damage_multiplier": 1, + "rpm": 550, + "mag_size": 30, + "reload_time": 2.35, + "gunytpe": "RIFLE" + }, + { + "id": 49, + "name": "Improved MRL4", + "damage": 48.5, + "damage_multiplier": 1, + "rpm": 600, + "mag_size": 30, + "reload_time": 2.35, + "gunytpe": "RIFLE" + }, + { + "id": 50, + "name": "K4LAS", + "damage": 45, + "damage_multiplier": 1, + "rpm": 600, + "mag_size": 32, + "reload_time": 2.45, + "gunytpe": "RIFLE" + }, + { + "id": 51, + "name": "Improved K4LAS", + "damage": 45, + "damage_multiplier": 1, + "rpm": 650, + "mag_size": 32, + "reload_time": 2.45, + "gunytpe": "RIFLE" + }, + { + "id": 52, + "name": "MK49", + "damage": 40, + "damage_multiplier": 1, + "rpm": 625, + "mag_size": 100, + "reload_time": 4.5, + "gunytpe": "LMG" + }, + { + "id": 53, + "name": "Improved MK49", + "damage": 40, + "damage_multiplier": 1, + "rpm": 700, + "mag_size": 100, + "reload_time": 4.5, + "gunytpe": "LMG" + }, + { + "id": 54, + "name": "Improved P90", + "damage": 32, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 50, + "reload_time": 2.6, + "gunytpe": "SMG" + }, + { + "id": 55, + "name": "STEN Gun", + "damage": 50, + "damage_multiplier": 1, + "rpm": 550, + "mag_size": 32, + "reload_time": 2.5, + "gunytpe": "SMG" + }, + { + "id": 56, + "name": "Akimbo G18", + "damage": 52, + "damage_multiplier": 1, + "rpm": 700, + "mag_size": 34, + "reload_time": 3.5, + "gunytpe": "PISTOL" + }, + { + "id": 57, + "name": "ASR", + "damage": 100, + "damage_multiplier": 1, + "rpm": 440, + "mag_size": 18, + "reload_time": 3.5, + "gunytpe": "RIFLE" + }, + { + "id": 58, + "name": "Improved ASR", + "damage": 100, + "damage_multiplier": 1, + "rpm": 540, + "mag_size": 18, + "reload_time": 3.5, + "gunytpe": "RIFLE" + }, + { + "id": 59, + "name": "Improved G36", + "damage": 42, + "damage_multiplier": 1, + "rpm": 780, + "mag_size": 30, + "reload_time": 2.25, + "gunytpe": "RIFLE" + }, + { + "id": 60, + "name": "Akimbo Voids", + "damage": 15, + "damage_multiplier": 1, + "rpm": 900, + "mag_size": 26, + "reload_time": 2.5, + "gunytpe": "SMG?" + }, + { + "id": 61, + "name": "Improved Akimbo Voids", + "damage": 38, + "damage_multiplier": 1, + "rpm": 1200, + "mag_size": 26, + "reload_time": 2, + "gunytpe": "SMG?" + }, + { + "id": 62, + "name": "Improved MP5", + "damage": 34, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 30, + "reload_time": 1.5, + "gunytpe": "SMG" + }, + { + "id": 63, + "name": "LTL Laser", + "damage": 28, + "damage_multiplier": 1, + "rpm": 200, + "mag_size": 2, + "reload_time": 3, + "gunytpe": "SPECIAL" + }, + { + "id": 64, + "name": "Improved Vector", + "damage": 36, + "damage_multiplier": 1, + "rpm": 1050, + "mag_size": 30, + "reload_time": 2, + "gunytpe": "SMG" + }, + { + "id": 65, + "name": "T45", + "damage": 28, + "damage_multiplier": 1, + "rpm": 850, + "mag_size": 30, + "reload_time": 2, + "gunytpe": "SMG" + }, + { + "id": 66, + "name": "Improved T45", + "damage": 40, + "damage_multiplier": 1, + "rpm": 850, + "mag_size": 30, + "reload_time": 2, + "gunytpe": "SMG" + }, + { + "id": 67, + "name": "Freeze Ray", + "damage": 2, + "damage_multiplier": 1, + "rpm": 600, + "mag_size": 20, + "reload_time": 2, + "gunytpe": "SPECIAL" + }, + { + "id": 68, + "name": "Freeze Rifle", + "damage": 4, + "damage_multiplier": 1, + "rpm": 650, + "mag_size": 30, + "reload_time": 2.35, + "gunytpe": "SPECIAL" + }, + { + "id": 69, + "name": "R416", + "damage": 40, + "damage_multiplier": 1, + "rpm": 830, + "mag_size": 30, + "reload_time": 2.5, + "gunytpe": "RIFLE" + }, + { + "id": 70, + "name": "Improved R416", + "damage": 44, + "damage_multiplier": 1, + "rpm": 900, + "mag_size": 30, + "reload_time": 2.5, + "gunytpe": "RIFLE" + }, + { + "id": 71, + "name": "Flare Gun", + "damage": 125, + "damage_multiplier": 1, + "rpm": 480, + "mag_size": 1, + "reload_time": 1, + "gunytpe": "SPECIAL" + }, + { + "id": 72, + "name": "Improved BRH17", + "damage": 58, + "damage_multiplier": 1, + "rpm": 700, + "mag_size": 30, + "reload_time": 3.25, + "gunytpe": "RIFLE" + }, + { + "id": 73, + "name": "Deagle", + "damage": 70, + "damage_multiplier": 1, + "rpm": 400, + "mag_size": 18, + "reload_time": 2.1, + "gunytpe": "PISTOL" + }, + { + "id": 74, + "name": "Akimbo Deagles", + "damage": 70, + "damage_multiplier": 1, + "rpm": 400, + "mag_size": 36, + "reload_time": 3.5, + "gunytpe": "PISTOL" + }, + { + "id": 75, + "name": "CRL11", + "damage": 130, + "damage_multiplier": 1, + "rpm": 300, + "mag_size": 10, + "reload_time": 3, + "gunytpe": "RIFLE" + }, + { + "id": 76, + "name": "Scan Rifle", + "damage": 30, + "damage_multiplier": 1, + "rpm": 700, + "mag_size": 10, + "reload_time": 2, + "gunytpe": "RIFLE?" + }, + { + "id": 77, + "name": "PPSH41", + "damage": 28, + "damage_multiplier": 1, + "rpm": 1000, + "mag_size": 71, + "reload_time": 2.5, + "gunytpe": "UNKOWN" + }, + { + "id": 78, + "name": "AK74M", + "damage": 40, + "damage_multiplier": 1, + "rpm": 690, + "mag_size": 30, + "reload_time": 2.5, + "gunytpe": "RIFLE" + }, + { + "id": 79, + "name": "Akimbo Uzi", + "damage": 38, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 64, + "reload_time": 4, + "gunytpe": "SMG" + }, + { + "id": 80, + "name": "Akimbo MP5", + "damage": 42, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 60, + "reload_time": 4, + "gunytpe": "SMG" + }, + { + "id": 81, + "name": "Improved Thompson", + "damage": 38, + "damage_multiplier": 1, + "rpm": 800, + "mag_size": 50, + "reload_time": 2.5, + "gunytpe": "SMG" + }, + { + "id": 82, + "name": "RV9", + "damage": 100, + "damage_multiplier": 1, + "rpm": 400, + "mag_size": 12, + "reload_time": 2.6, + "gunytpe": "RIFLE" + }, + { + "id": 83, + "name": "SPAS-12", + "damage": 24, + "damage_multiplier": 8, + "rpm": 150, + "mag_size": 8, + "reload_time": 2.2, + "gunytpe": "SHOTGUN" + }, + { + "id": 84, + "name": "Akimbo Shotguns", + "damage": 51, + "damage_multiplier": 8, + "rpm": 200, + "mag_size": 1000000000000000000000000000000000000000000000000000000000000000, + "reload_time": 0, + "gunytpe": "SHOTGUN" + }, + { + "id": 85, + "name": "SK17", + "damage": 58, + "damage_multiplier": 1, + "rpm": 900, + "mag_size": 30, + "reload_time": 4, + "gunytpe": "RIFLE" + }, + { + "id": 86, + "name": "Type49", + "damage": 999, + "damage_multiplier": 1, + "rpm": 9999, + "mag_size": 999, + "reload_time": 1, + "gunytpe": "RIFLE" + }, + { + "id": 87, + "name": "M32", + "damage": 500, + "damage_multiplier": 1, + "rpm": 9999, + "mag_size": 6, + "reload_time": 12, + "gunytpe": "SPECIAL" + }, + { + "id": 88, + "name": "M32NL", + "damage": 1, + "damage_multiplier": 1, + "rpm": 9999, + "mag_size": 6, + "reload_time": 12, + "gunytpe": "SPECIAL" + } +] diff --git a/img/trlbg1.jpg b/img/trlbg1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d858c66f7a00f72dc54bdc28a198f6063a4292cc GIT binary patch literal 61826 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 literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..87692d1f35425d8d6c7c9f7fcf6a6f59f77da6df GIT binary patch literal 446 zcmZ`#%?`m}5S+8bqY!QVT^w8-go8LZN>x?;v`woC9v(BR2#I{ze96x2%1$B`vQi)fqGHO7dzkD{9P*ca~oU=7SM z!vsUJ18kY(h>NLdLVk`-M05)I67oWv-i(iC%x-}-JrhLa -1) { + tr[i].style.display = ''; + } else { + tr[i].style.display = 'none'; + } + } + } +} \ No newline at end of file diff --git a/static/populateTable.js b/static/populateTable.js new file mode 100644 index 0000000..02e7bac --- /dev/null +++ b/static/populateTable.js @@ -0,0 +1,27 @@ +document.addEventListener('DOMContentLoaded', () => { + fetch('/api/guns') + .then(response => response.json()) + .then(data => { + populateTable(data); + }); +}); + +function populateTable(data) { + const table = document.getElementById('gun-stats').getElementsByTagName('tbody')[0]; + table.innerHTML = ''; // Clear existing table data + data.forEach(gun => { + const row = table.insertRow(); + row.insertCell(0).innerText = gun.id; + row.insertCell(1).innerText = gun.name; + row.insertCell(2).innerText = gun.damage; + row.insertCell(3).innerText = gun.damage_multiplier; + row.insertCell(4).innerText = gun.rpm; + row.insertCell(5).innerText = gun.mag_size; + row.insertCell(6).innerText = gun.reload_time; + row.insertCell(7).innerText = gun.guntype; + row.insertCell(8).innerText = gun.rps.toFixed(2); + row.insertCell(9).innerText = gun.dps.toFixed(2); + row.insertCell(10).innerText = gun.dpm.toFixed(2); + row.insertCell(11).innerText = gun.avg_dps.toFixed(2); + }); +} \ No newline at end of file diff --git a/static/style.css b/static/style.css new file mode 100644 index 0000000..76ab0be --- /dev/null +++ b/static/style.css @@ -0,0 +1,61 @@ +.background_image { + background-image: url("img/trlbg1.jpg"); +} + +body { + font-family: Arial, sans-serif; + margin: 20px; +} + +h1 { + color: #333; +} + +table { + width: 100%; + border-collapse: collapse; + margin-bottom: 20px; +} + +table, th, td { + border: 1px solid #ddd; +} + +th, td { + padding: 8px; + text-align: left; +} + +th { + background-color: #f2f2f2; +} + +button { + padding: 5px 10px; + background-color: #4CAF50; + color: white; + border: none; + cursor: pointer; +} + +button:hover { + background-color: #45a049; +} + +input { + padding: 5px; + margin-bottom: 20px; +} + +#result { + margin-top: 20px; +} + +#search { + width: 33%; + padding: 6px; + border: 2px black solid; + margin-top: 8px; + margin-right: 16px; + font-size: 17px; +} \ No newline at end of file diff --git a/templates/calculator.html b/templates/calculator.html new file mode 100644 index 0000000..79aa938 --- /dev/null +++ b/templates/calculator.html @@ -0,0 +1,22 @@ + + + + + + Gun Stats + + +
+ +
+
+
+ +

+ +

+ +
+
+ + diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..9bdfdc6 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,45 @@ + + + + + + Gun Stats + + + +
+
+

Gun Stats

+
+ +
+ + + + + + + + + + + + + + + + + + + + +
IDNameDamageDamage multiplierRounds per minuteMagazine SizeReload timeGun typeRPSDPSDPMAvg DPS
+ + +
+ + \ No newline at end of file
+ +