150 lines
9.7 KiB
TypeScript
150 lines
9.7 KiB
TypeScript
export type WeaponCategory =
|
|
| "handguns"
|
|
| "shotguns"
|
|
| "subMachineGuns"
|
|
| "assaultRifles"
|
|
| "battleRifles"
|
|
| "boltActionRifles"
|
|
| "breakActionRifles"
|
|
| "leverActionRifles"
|
|
| "marksmanRifles"
|
|
| "semiAutomaticRifles"
|
|
| "other";
|
|
|
|
export type HandgunWeapon =
|
|
| "CR-75" | "Deagle" | "Derringer" | "FX-45" | "IJ-70" | "Kolt 1911"
|
|
| "Longhorn" | "MK II" | "Mlock-91" | "P1" | "Revolver" | "Signal Pistol";
|
|
|
|
export type ShotgunWeapon =
|
|
| "BK-12" | "BK-133" | "BK-43" | "Vaiga";
|
|
|
|
export type SubMachineGunWeapon =
|
|
| "Bizon" | "CR-61 Skorpion" | "SG5-K" | "USG-45";
|
|
|
|
export type AssaultRifleWeapon =
|
|
| "AUR A1" | "AUR AX" | "KA-101" | "KA-74" | "KAS-74U" | "KA-M"
|
|
| "LE-MAS" | "M16-A2" | "M4-A1" | "SVAL" | "Vikhr";
|
|
|
|
export type BattleRifleWeapon = "LAR";
|
|
|
|
export type BoltActionRifleWeapon =
|
|
| "CR-527" | "CR-550 Savanna" | "M70 Tundra" | "Mosin 91/30"
|
|
| "Pioneer" | "SSG 82" | "VS-89";
|
|
|
|
export type BreakActionRifleWeapon = "BK-18" | "Blaze";
|
|
|
|
export type LeverActionRifleWeapon = "Repeater Carbine";
|
|
|
|
export type MarksmanRifleWeapon = "VSD" | "VSS";
|
|
|
|
export type SemiAutomaticRifleWeapon = "DMR" | "SK 59/66" | "Sporter 22";
|
|
|
|
export type OtherWeapon = "Crossbow" | "M79";
|
|
|
|
export interface Weapons
|
|
{
|
|
handguns: Record<HandgunWeapon, string>;
|
|
shotguns: Record<ShotgunWeapon, string>;
|
|
subMachineGuns: Record<SubMachineGunWeapon, string>;
|
|
assaultRifles: Record<AssaultRifleWeapon, string>;
|
|
battleRifles: Record<BattleRifleWeapon, string>;
|
|
boltActionRifles: Record<BoltActionRifleWeapon, string>;
|
|
breakActionRifles: Record<BreakActionRifleWeapon, string>;
|
|
leverActionRifles: Record<LeverActionRifleWeapon, string>;
|
|
marksmanRifles: Record<MarksmanRifleWeapon, string>;
|
|
semiAutomaticRifles: Record<SemiAutomaticRifleWeapon, string>;
|
|
other: Record<OtherWeapon, string>;
|
|
}
|
|
|
|
export type AllWeapons =
|
|
| HandgunWeapon
|
|
| ShotgunWeapon
|
|
| SubMachineGunWeapon
|
|
| AssaultRifleWeapon
|
|
| BattleRifleWeapon
|
|
| BoltActionRifleWeapon
|
|
| BreakActionRifleWeapon
|
|
| LeverActionRifleWeapon
|
|
| MarksmanRifleWeapon
|
|
| SemiAutomaticRifleWeapon
|
|
| OtherWeapon;
|
|
|
|
export const weapons: Weapons =
|
|
{
|
|
handguns: {
|
|
"CR-75": "https://static.wikia.nocookie.net/dayz_gamepedia/images/4/40/CZ75.png/revision/latest/scale-to-width-down/112?cb=20210505021307",
|
|
"Deagle": "https://static.wikia.nocookie.net/dayz_gamepedia/images/6/62/Deagle.png/revision/latest/scale-to-width-down/127?cb=20210512003023",
|
|
"Derringer": "https://static.wikia.nocookie.net/dayz_gamepedia/images/9/9f/Derringer_Black.png/revision/latest/scale-to-width-down/105?cb=20220521175445",
|
|
"FX-45": "https://static.wikia.nocookie.net/dayz_gamepedia/images/f/fd/FNX45.png/revision/latest/scale-to-width-down/104?cb=20210505025055",
|
|
"IJ-70": "https://static.wikia.nocookie.net/dayz_gamepedia/images/2/26/MakarovIJ70.png/revision/latest/scale-to-width-down/92?cb=20210209000551",
|
|
"Kolt 1911": "https://static.wikia.nocookie.net/dayz_gamepedia/images/f/f9/Colt1911.png/revision/latest/scale-to-width-down/112?cb=20210505030200",
|
|
"Longhorn": "https://static.wikia.nocookie.net/dayz_gamepedia/images/7/79/Longhorn.png/revision/latest/scale-to-width-down/222?cb=20220324214533",
|
|
"MK II": "https://static.wikia.nocookie.net/dayz_gamepedia/images/0/0d/MKII.png/revision/latest/scale-to-width-down/171?cb=20210210153348",
|
|
"Mlock-91": "https://static.wikia.nocookie.net/dayz_gamepedia/images/9/9b/Glock19.png/revision/latest/scale-to-width-down/121?cb=20210505024259",
|
|
"P1": "https://static.wikia.nocookie.net/dayz_gamepedia/images/c/cc/P1.png/revision/latest/scale-to-width-down/120?cb=20220518204515",
|
|
"Revolver": "https://static.wikia.nocookie.net/dayz_gamepedia/images/6/6d/Revolver.png/revision/latest/scale-to-width-down/148?cb=20210208232303",
|
|
"Signal Pistol": "https://static.wikia.nocookie.net/dayz_gamepedia/images/a/a7/Flaregun.png/revision/latest/scale-to-width-down/107?cb=20210501150913",
|
|
},
|
|
shotguns: {
|
|
"BK-12": "https://static.wikia.nocookie.net/dayz_gamepedia/images/c/cb/Izh18Shotgun.png/revision/latest/scale-to-width-down/256?cb=20220922184507",
|
|
"BK-133": "https://static.wikia.nocookie.net/dayz_gamepedia/images/5/5c/MP-133-Shotgun.png/revision/latest/scale-to-width-down/256?cb=20210210190104",
|
|
"BK-43": "https://static.wikia.nocookie.net/dayz_gamepedia/images/c/c7/Izh43Shotgun.png/revision/latest/scale-to-width-down/256?cb=20210210185835",
|
|
"Vaiga": "https://static.wikia.nocookie.net/dayz_gamepedia/images/c/c8/Vaiga.png/revision/latest/scale-to-width-down/256?cb=20220220185225",
|
|
},
|
|
subMachineGuns: {
|
|
"Bizon": "https://static.wikia.nocookie.net/dayz_gamepedia/images/a/af/PP19.png/revision/latest/scale-to-width-down/251?cb=20220127132305",
|
|
"CR-61 Skorpion": "https://static.wikia.nocookie.net/dayz_gamepedia/images/6/63/VZ61Scorpion.png/revision/latest/scale-to-width-down/222?cb=20220518204508",
|
|
"SG5-K": "https://static.wikia.nocookie.net/dayz_gamepedia/images/f/fc/MP5-K.png/revision/latest/scale-to-width-down/158?cb=20220221011343",
|
|
"USG-45": "https://static.wikia.nocookie.net/dayz_gamepedia/images/d/d7/UMP45.png/revision/latest/scale-to-width-down/153?cb=20220221002354",
|
|
},
|
|
assaultRifles: {
|
|
"AUR A1": "https://static.wikia.nocookie.net/dayz_gamepedia/images/e/e6/AugShort.png/revision/latest/scale-to-width-down/173?cb=20211104175243",
|
|
"AUR AX": "https://static.wikia.nocookie.net/dayz_gamepedia/images/b/be/Aug.png/revision/latest/scale-to-width-down/233?cb=20211104182427",
|
|
"KA-101": "https://static.wikia.nocookie.net/dayz_gamepedia/images/f/f2/AK101.png/revision/latest/scale-to-width-down/251?cb=20210207040122",
|
|
"KA-74": "https://static.wikia.nocookie.net/dayz_gamepedia/images/8/8b/AK74.png/revision/latest/scale-to-width-down/253?cb=20210505013141",
|
|
"KAS-74U": "https://static.wikia.nocookie.net/dayz_gamepedia/images/0/0b/AKS74U.png/revision/latest/scale-to-width-down/191?cb=20210505014222",
|
|
"KA-M": "https://static.wikia.nocookie.net/dayz_gamepedia/images/6/6c/AKM.png/revision/latest/scale-to-width-down/244?cb=20210505011614",
|
|
"LE-MAS": "https://static.wikia.nocookie.net/dayz_gamepedia/images/2/21/FAMAS.png/revision/latest/scale-to-width-down/197?cb=20210902183114",
|
|
"M16-A2": "https://static.wikia.nocookie.net/dayz_gamepedia/images/b/b3/M16-A2.png/revision/latest/scale-to-width-down/256?cb=20220221002601",
|
|
"M4-A1": "https://static.wikia.nocookie.net/dayz_gamepedia/images/a/a1/M4A1.png/revision/latest/scale-to-width-down/223?cb=20220330014851",
|
|
"SVAL": "https://static.wikia.nocookie.net/dayz_gamepedia/images/3/39/ASVAL.png/revision/latest/scale-to-width-down/256?cb=20210208015731",
|
|
"Vikhr": "https://static.wikia.nocookie.net/dayz_gamepedia/images/0/0d/Vikhr.png/revision/latest/scale-to-width-down/173?cb=20240116163108",
|
|
},
|
|
battleRifles: {
|
|
"LAR": "https://static.wikia.nocookie.net/dayz_gamepedia/images/e/e9/FAL.png/revision/latest/scale-to-width-down/256?cb=20220221001123",
|
|
},
|
|
boltActionRifles: {
|
|
"CR-527": "https://static.wikia.nocookie.net/dayz_gamepedia/images/f/f0/CR527Wood.png/revision/latest/scale-to-width-down/256?cb=20220518204503",
|
|
"CR-550 Savanna": "https://static.wikia.nocookie.net/dayz_gamepedia/images/4/44/CR-550_Savanna.png/revision/latest/scale-to-width-down/256?cb=20220518204410",
|
|
"M70 Tundra": "https://static.wikia.nocookie.net/dayz_gamepedia/images/6/62/Winchester70.png/revision/latest/scale-to-width-down/256?cb=20220517152918",
|
|
"Mosin 91/30": "https://static.wikia.nocookie.net/dayz_gamepedia/images/a/a8/Mosin9130.png/revision/latest/scale-to-width-down/256?cb=20230126021955",
|
|
"Pioneer": "https://static.wikia.nocookie.net/dayz_gamepedia/images/6/69/Scout.png/revision/latest/scale-to-width-down/256?cb=20220518204357",
|
|
"SSG 82": "https://static.wikia.nocookie.net/dayz_gamepedia/images/1/10/SSG82.png/revision/latest/scale-to-width-down/256?cb=20220922192455",
|
|
"VS-89": "https://static.wikia.nocookie.net/dayz_gamepedia/images/e/ea/SV98.png/revision/latest/scale-to-width-down/256?cb=20240424164607",
|
|
},
|
|
breakActionRifles: {
|
|
"BK-18": "https://static.wikia.nocookie.net/dayz_gamepedia/images/c/cb/IZH18_Rifle.png/revision/latest/scale-to-width-down/256?cb=20220517154121",
|
|
"Blaze": "https://static.wikia.nocookie.net/dayz_gamepedia/images/8/8a/Blaze_95_Double_Rifle_Wood.png/revision/latest/scale-to-width-down/256?cb=20220517154129",
|
|
},
|
|
leverActionRifles: {
|
|
"Repeater Carbine": "https://static.wikia.nocookie.net/dayz_gamepedia/images/c/ce/Repeater.png/revision/latest/scale-to-width-down/256?cb=20220517154151",
|
|
},
|
|
marksmanRifles: {
|
|
"VSD": "https://static.wikia.nocookie.net/dayz_gamepedia/images/a/a2/SVD_w._PSO-1.png/revision/latest/scale-to-width-down/256?cb=20220220235826",
|
|
"VSS": "https://static.wikia.nocookie.net/dayz_gamepedia/images/8/83/VSSVintorez.png/revision/latest/scale-to-width-down/256?cb=20210208202042",
|
|
},
|
|
semiAutomaticRifles: {
|
|
"DMR": "https://static.wikia.nocookie.net/dayz_gamepedia/images/b/b4/M14.png/revision/latest/scale-to-width-down/350?cb=20231005142636",
|
|
"SK 59/66": "https://static.wikia.nocookie.net/dayz_gamepedia/images/f/fe/SKS.png/revision/latest/scale-to-width-down/256?cb=20220517154633",
|
|
"Sporter 22": "https://static.wikia.nocookie.net/dayz_gamepedia/images/5/5b/Sporter_22_Wood.png/revision/latest/scale-to-width-down/256?cb=20220518204154",
|
|
},
|
|
other: {
|
|
"Crossbow": "https://static.wikia.nocookie.net/dayz_gamepedia/images/7/79/Crossbow.png/revision/latest/scale-to-width-down/212?cb=20180121164101",
|
|
"M79": "https://static.wikia.nocookie.net/dayz_gamepedia/images/b/b7/M79.png/revision/latest/scale-to-width-down/256?cb=20220521184052",
|
|
},
|
|
};
|
|
|
|
export const weaponClassOf = (weapon: AllWeapons): WeaponCategory | undefined => {
|
|
return (Object.keys(weapons) as WeaponCategory[]).find((category) => weapon in weapons[category]);
|
|
}
|