commit 2145e9cf317da691185e400fb2d0f7f5971b866d
parent f427f4b7e3ec70d90c252372d7c9ee7d32048da8
Author: night0721 <[email protected]>
Date: Fri, 28 Jan 2022 05:47:50 +0800
make common.js easier
Diffstat:
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/util/functions/common.js b/util/functions/common.js
@@ -104,9 +104,11 @@ function hasAttachments(inpmsg) {
function isolator(inpmsg) {
return partExtracter(inpFixer(inpmsg));
}
-
+// identifying the weapon
function weaponIdentifier(inpmsg) {
const inpWeaponName = isolator(inpmsg)[0];
+ // ["ak", "mono"] -> inpWeaponName: "ak"
+ // if weapon name is too short, return the error
if (inpWeaponName.length < 2) {
return inpmsg.trim().length
? `The name ${inpmsg.trim()} is too short.`
@@ -117,36 +119,48 @@ function weaponIdentifier(inpmsg) {
// Eg: "ak"
for (let i = 0; i < data.cguns.length; i++) {
if (inpWeaponName.Simplify() == data.cguns[i].gunname.Simplify()) {
+ // if the simplified name of the weapon is the same as the weapon name in the database, return the only one stats object
return JSON.parse(JSON.stringify(data.cguns[i]));
} else if (
data.cguns[i].gunname.Simplify().includes(inpWeaponName.Simplify())
) {
+ // If the weapon name is included in the actual name of the weapon
+ // push the weapon to the probableWeapons array
probableWeapons.push(i);
}
}
if (probableWeapons.length == 1) {
+ // if there is only one probable weapon, return the only one stats object
return JSON.parse(JSON.stringify(data.cguns[probableWeapons[0]]));
}
-
+ // detecting aliases
+ // getting total number of weapons that had added aliases
for (let i = 0; i < weaponAlliasName.length; i++) {
+ // getting the number of aliases of each weapon
for (let j = 0; j < weaponAlliasName[i].length; j++) {
+ // weaponAliases[i][j] is the each alias of each weapon
+ // finding if simplified alias is same as input weapon name
if (weaponAlliasName[i][j].Simplify() == inpWeaponName.Simplify()) {
+ // if simplified alias is same as input weapon name
+ // eg "mow" == "mow", run the loop
for (let i2 = 0; i2 < data.cguns.length; i2++) {
- if (
- weaponActualName[i].Simplify() == data.cguns[i2].gunname.Simplify()
- ) {
+ if (weaponActualName[i] == data.cguns[i2].gunname) {
+ // use the actual name of the weapon to find the weapon
return JSON.parse(JSON.stringify(data.cguns[i2]));
}
}
}
}
}
+ // removing duplicates in the array
probableWeapons = [...new Set(probableWeapons)];
if (probableWeapons.length == 1) {
+ // if there is only one probable weapon, return the only one stats object
return JSON.parse(JSON.stringify(data.cguns[probableWeapons[0]]));
}
if (probableWeapons.length > 1) {
+ // reply with the question of probable weapons
return `Did you mean ${probableWeapons
.map(x => data.cguns[x].gunname)
.reduce((out, x, i) =>