sirocco and zaw support
All checks were successful
Build / build (20) (pull_request) Successful in 41s
Build / build (18) (pull_request) Successful in 1m16s
Build / build (22) (pull_request) Successful in 1m13s

This commit is contained in:
AMelonInsideLemon 2025-03-30 00:19:43 +01:00
parent 62dd3c04b3
commit 93abfdddf5
2 changed files with 74 additions and 12 deletions

View File

@ -193,10 +193,15 @@
<div class="card mb-3" style="height: 400px;"> <div class="card mb-3" style="height: 400px;">
<h5 class="card-header" data-loc="inventory_melee"></h5> <h5 class="card-header" data-loc="inventory_melee"></h5>
<div class="card-body overflow-auto"> <div class="card-body overflow-auto">
<form class="input-group mb-3" onsubmit="doAcquireEquipment('Melee');return false;"> <form class="input-group mb-3" onsubmit="handleModularSelection('Melee');return false;">
<input class="form-control" id="acquire-type-Melee" list="datalist-Melee" /> <input class="form-control" id="acquire-type-Melee" list="datalist-Melee" />
<button class="btn btn-primary" type="submit" data-loc="general_addButton"></button> <button class="btn btn-primary" type="submit" data-loc="general_addButton"></button>
</form> </form>
<form class="input-group mb-3" id="modular-Melee" style="display: none;">
<input class="form-control" id="acquire-type-Melee-BLADE" list="datalist-ModularParts-BLADE" />
<input class="form-control" id="acquire-type-Melee-HILT" list="datalist-ModularParts-HILT" />
<input class="form-control" id="acquire-type-Melee-HILT_WEIGHT" list="datalist-ModularParts-HILT_WEIGHT" />
</form>
<table class="table table-hover w-100"> <table class="table table-hover w-100">
<tbody id="Melee-list"></tbody> <tbody id="Melee-list"></tbody>
</table> </table>
@ -299,11 +304,14 @@
<div class="card mb-3" style="height: 400px;"> <div class="card mb-3" style="height: 400px;">
<h5 class="card-header" data-loc="inventory_operatorAmps"></h5> <h5 class="card-header" data-loc="inventory_operatorAmps"></h5>
<div class="card-body overflow-auto"> <div class="card-body overflow-auto">
<form class="input-group mb-3" onsubmit="doAcquireModularEquipment('OperatorAmps');return false;"> <form class="input-group mb-3" onsubmit="handleModularSelection('OperatorAmps');return false;">
<input class="form-control" id="acquire-type-OperatorAmps" list="datalist-OperatorAmps" />
<button class="btn btn-primary" type="submit" data-loc="general_addButton"></button>
</form>
<form class="input-group mb-3" id="modular-OperatorAmps" style="display: none;">
<input class="form-control" id="acquire-type-OperatorAmps-AMP_OCULUS" list="datalist-ModularParts-AMP_OCULUS" /> <input class="form-control" id="acquire-type-OperatorAmps-AMP_OCULUS" list="datalist-ModularParts-AMP_OCULUS" />
<input class="form-control" id="acquire-type-OperatorAmps-AMP_CORE" list="datalist-ModularParts-AMP_CORE" /> <input class="form-control" id="acquire-type-OperatorAmps-AMP_CORE" list="datalist-ModularParts-AMP_CORE" />
<input class="form-control" id="acquire-type-OperatorAmps-AMP_BRACE" list="datalist-ModularParts-AMP_BRACE" /> <input class="form-control" id="acquire-type-OperatorAmps-AMP_BRACE" list="datalist-ModularParts-AMP_BRACE" />
<button class="btn btn-primary" type="submit" data-loc="general_addButton"></button>
</form> </form>
<table class="table table-hover w-100"> <table class="table table-hover w-100">
<tbody id="OperatorAmps-list"></tbody> <tbody id="OperatorAmps-list"></tbody>
@ -625,6 +633,7 @@
<option data-key="/Lotus/Upgrades/CosmeticEnhancers/Peculiars/CyoteMod" value="Traumatic Peculiar"></option> <option data-key="/Lotus/Upgrades/CosmeticEnhancers/Peculiars/CyoteMod" value="Traumatic Peculiar"></option>
</datalist> </datalist>
<datalist id="datalist-archonCrystalUpgrades"></datalist> <datalist id="datalist-archonCrystalUpgrades"></datalist>
<datalist id="datalist-OperatorAmps"></datalist>
<datalist id="datalist-ModularParts"></datalist> <datalist id="datalist-ModularParts"></datalist>
<datalist id="datalist-ModularParts-HB_DECK"></datalist> <datalist id="datalist-ModularParts-HB_DECK"></datalist>
<datalist id="datalist-ModularParts-HB_ENGINE"></datalist> <datalist id="datalist-ModularParts-HB_ENGINE"></datalist>
@ -633,6 +642,9 @@
<datalist id="datalist-ModularParts-AMP_OCULUS"></datalist> <datalist id="datalist-ModularParts-AMP_OCULUS"></datalist>
<datalist id="datalist-ModularParts-AMP_CORE"></datalist> <datalist id="datalist-ModularParts-AMP_CORE"></datalist>
<datalist id="datalist-ModularParts-AMP_BRACE"></datalist> <datalist id="datalist-ModularParts-AMP_BRACE"></datalist>
<datalist id="datalist-ModularParts-BLADE"></datalist>
<datalist id="datalist-ModularParts-HILT"></datalist>
<datalist id="datalist-ModularParts-HILT_WEIGHT"></datalist>
<script src="/webui/libs/jquery-3.6.0.min.js"></script> <script src="/webui/libs/jquery-3.6.0.min.js"></script>
<script src="/webui/libs/whirlpool-js.min.js"></script> <script src="/webui/libs/whirlpool-js.min.js"></script>
<script src="/webui/libs/single.js"></script> <script src="/webui/libs/single.js"></script>

View File

@ -185,6 +185,21 @@ function fetchItemList() {
name: loc("code_traumaticPeculiar") name: loc("code_traumaticPeculiar")
}); });
// Add modular weapons
data.OperatorAmps ??= [];
data.OperatorAmps.push({
uniqueName: "/Lotus/Weapons/Operator/Pistols/DrifterPistol/DrifterPistolPlayerWeapon",
name: loc("code_sirocco")
});
data.OperatorAmps.push({
uniqueName: "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
name: loc("code_amp")
});
data.Melee.push({
uniqueName: "/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
name: loc("code_zaw")
});
const itemMap = { const itemMap = {
// Generics for rivens // Generics for rivens
"/Lotus/Weapons/Tenno/Archwing/Primary/ArchGun": { name: loc("code_archgun") }, "/Lotus/Weapons/Tenno/Archwing/Primary/ArchGun": { name: loc("code_archgun") },
@ -201,14 +216,9 @@ function fetchItemList() {
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary": { name: loc("code_kitgun") }, "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary": { name: loc("code_kitgun") },
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryBeam": { name: loc("code_kitgun") }, "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryBeam": { name: loc("code_kitgun") },
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryShotgun": { name: loc("code_kitgun") }, "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryShotgun": { name: loc("code_kitgun") },
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon": { name: loc("code_zaw") },
"/Lotus/Weapons/Sentients/OperatorAmplifiers/SentTrainingAmplifier/OperatorTrainingAmpWeapon": { "/Lotus/Weapons/Sentients/OperatorAmplifiers/SentTrainingAmplifier/OperatorTrainingAmpWeapon": {
name: loc("code_moteAmp") name: loc("code_moteAmp")
}, },
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon": { name: loc("code_amp") },
"/Lotus/Weapons/Operator/Pistols/DrifterPistol/DrifterPistolPlayerWeapon": {
name: loc("code_sirocco")
},
"/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit": { name: loc("code_kDrive") } "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit": { name: loc("code_kDrive") }
}; };
for (const [type, items] of Object.entries(data)) { for (const [type, items] of Object.entries(data)) {
@ -241,7 +251,10 @@ function fetchItemList() {
"LWPT_HB_JET", "LWPT_HB_JET",
"LWPT_AMP_OCULUS", "LWPT_AMP_OCULUS",
"LWPT_AMP_CORE", "LWPT_AMP_CORE",
"LWPT_AMP_BRACE" "LWPT_AMP_BRACE",
"LWPT_BLADE",
"LWPT_HILT",
"LWPT_HILT_WEIGHT"
]; ];
if (supportedModularParts.includes(item.partType)) { if (supportedModularParts.includes(item.partType)) {
const option = document.createElement("option"); const option = document.createElement("option");
@ -646,8 +659,7 @@ function doAcquireEquipment(category) {
}); });
} }
function doAcquireModularEquipment(category) { function doAcquireModularEquipment(category, ItemType) {
let ItemType;
let requiredParts; let requiredParts;
let ModularParts = []; let ModularParts = [];
switch (category) { switch (category) {
@ -656,9 +668,11 @@ function doAcquireModularEquipment(category) {
requiredParts = ["HB_DECK", "HB_ENGINE", "HB_FRONT", "HB_JET"]; requiredParts = ["HB_DECK", "HB_ENGINE", "HB_FRONT", "HB_JET"];
break; break;
case "OperatorAmps": case "OperatorAmps":
ItemType = "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon";
requiredParts = ["AMP_OCULUS", "AMP_CORE", "AMP_BRACE"]; requiredParts = ["AMP_OCULUS", "AMP_CORE", "AMP_BRACE"];
break; break;
case "Melee":
requiredParts = ["BLADE", "HILT", "HILT_WEIGHT"];
break;
} }
requiredParts.forEach(part => { requiredParts.forEach(part => {
const partName = getKey(document.getElementById("acquire-type-" + category + "-" + part)); const partName = getKey(document.getElementById("acquire-type-" + category + "-" + part));
@ -692,6 +706,11 @@ function doAcquireModularEquipment(category) {
}) })
}); });
req.done(() => { req.done(() => {
const mainInput = document.getElementById("acquire-type-" + category);
if (mainInput) {
mainInput.value = "";
document.getElementById("modular-" + category).style.display = "none";
}
requiredParts.forEach(part => { requiredParts.forEach(part => {
document.getElementById("acquire-type-" + category + "-" + part).value = ""; document.getElementById("acquire-type-" + category + "-" + part).value = "";
}); });
@ -1299,3 +1318,34 @@ function toast(text) {
toast.appendChild(div); toast.appendChild(div);
new bootstrap.Toast(document.querySelector(".toast-container").appendChild(toast)).show(); new bootstrap.Toast(document.querySelector(".toast-container").appendChild(toast)).show();
} }
function handleModularSelection(category) {
const modularWeapons = [
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon"
];
const itemType = getKey(document.getElementById("acquire-type-" + category));
if (modularWeapons.includes(itemType)) {
doAcquireModularEquipment(category, itemType);
} else {
doAcquireEquipment(category);
}
}
{
const modularWeapons = [
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon"
];
const supportedModularInventoryCategory = ["OperatorAmps", "Melee"];
supportedModularInventoryCategory.forEach(inventoryCategory => {
document.getElementById("acquire-type-" + inventoryCategory).addEventListener("input", function () {
const modularFields = document.getElementById("modular-" + inventoryCategory);
if (modularWeapons.includes(getKey(this))) {
modularFields.style.display = "";
} else {
modularFields.style.display = "none";
}
});
});
}