Check for small item sizes for hidden stash (#359)

This commit is contained in:
Jeff Huang 2024-01-10 12:41:07 -08:00 committed by GitHub
parent 37b2676bd1
commit abd9ada63b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 1490 additions and 759 deletions

3
.gitignore vendored
View File

@ -56,3 +56,6 @@ THIRDPARTYNOTICES.txt
overrides
DEBUG_PROFILE.zip
packaging/add_itemsize/*
!packaging/add_itemsize/add_itemsize.js

View File

@ -10,3 +10,5 @@ components/contracts.json
logs
resources/**/*.json
!resources/locale.json
packaging/add_itemsize/*
!packaging/add_itemsize/add_itemsize.js

View File

@ -155,8 +155,12 @@ legacyMenuDataRouter.get(
item.Unlockable.Properties
.LoadoutSlot !== "disguise")) && // => display all non-disguise items
(req.query.allowlargeitems === "true" ||
item.Unlockable.Properties
.LoadoutSlot !== "carriedweapon") &&
item.Unlockable.Properties.ItemSize === // regular gear slot or hidden stash => small item
"ITEMSIZE_SMALL" ||
(!item.Unlockable.Properties.ItemSize &&
item.Unlockable.Properties
.LoadoutSlot !== // use old logic if itemsize is not set
"carriedweapon")) &&
item.Unlockable.Type !==
"challengemultipler" &&
!item.Unlockable.Properties.InclusionData

View File

@ -567,8 +567,11 @@ menuDataRouter.get(
(req.query.allowcontainers === "true" ||
!item.Unlockable.Properties.IsContainer) &&
(req.query.allowlargeitems === "true" ||
item.Unlockable.Properties.LoadoutSlot !==
"carriedweapon") &&
item.Unlockable.Properties.ItemSize === // regular gear slot or hidden stash => small item
"ITEMSIZE_SMALL" ||
(!item.Unlockable.Properties.ItemSize &&
item.Unlockable.Properties.LoadoutSlot !== // use old logic if itemsize is not set
"carriedweapon")) &&
item.Unlockable.Type !== "challengemultiplier" &&
!item.Unlockable.Properties.InclusionData
) // not sure about this one

View File

@ -656,6 +656,7 @@ export interface Unlockable {
| "disguise"
| "gear"
| string
ItemSize?: string
IsConsumable?: boolean
RepositoryId?: RepositoryId
OrderIndex?: number

View File

@ -0,0 +1,113 @@
// Usage:
// - Go to https://glaciermodding.org/rpkg/ and click "Download latest CLI"
// - Extract contents of downloaded zip file to packaging/add_itemsize/
// - From packaging/add_itemsize/ directory, run: node add_itemsize.js <path to Runtime> <Game Version (H1 / H2 / H3 / Scpc)>
// - E.g. node add_itemsize.js "C:\Program Files\Epic Games\HITMAN3\Runtime" H3
// - either H2 or H3 Runtime path seem to work for Scpc Game Version
async function main() {
const fs = require("fs")
const rpkgCli = `"./rpkg-cli.exe"`
const { execSync } = require("child_process")
let chunk0patches = fs
.readdirSync(`${process.argv[2]}`)
.filter((fn) => fn.includes("chunk0") && !fn.includes("300.rpkg"))
let gameprefix = ""
if (process.argv[3] === "H1") {
gameprefix = "Legacy"
} else if (process.argv[3] === "H2") {
gameprefix = "H2"
} else if (process.argv[3] === "Scpc") {
gameprefix = "Scpc"
}
// Something about how this is reading in the json also removes the decimal from whole numbers (e.g. 1.0 becomes 1)
// See: allunlockables[i].Properties.Gameplay.damage for example
let allunlockables = require(`../../static/${gameprefix}allunlockables.json`)
// Run on every chunk0patch file just in case
for (let i = 0; i < chunk0patches.length; i++) {
console.log(`${chunk0patches[i]} detected`)
execSync(
`${rpkgCli} -output_path "./" -filter REPO -extract_from_rpkg "${process.argv[2]}/${chunk0patches[i]}"`,
)
let searchIndexStart = "chunk0"
let searchIndexEnd = ".rpkg"
let chunkvar = chunk0patches[i].slice(
chunk0patches[i].indexOf(searchIndexStart),
chunk0patches[i].indexOf(searchIndexEnd),
)
let repofiles = fs
.readdirSync(`${chunkvar}/REPO`)
.filter((fn) => fn.endsWith(".REPO"))
let orig = `${chunkvar}/REPO/${repofiles[0]}`
let newfile = `${chunkvar}/REPO/${repofiles[0].slice(
0,
repofiles[0].length - 5,
)}.json`
await fs.promises
.copyFile(orig, newfile)
.then(function () {
console.log(`${newfile} file copied`)
})
.catch(function (error) {
console.log(error)
})
let repochunk0 = require(`../add_itemsize/${newfile}`)
for (let i = 0; i < allunlockables.length; i++) {
if (
allunlockables[i].Properties.LoadoutSlot === "gear" ||
allunlockables[i].Properties.LoadoutSlot ===
"concealedweapon" ||
allunlockables[i].Properties.LoadoutSlot === "carriedweapon"
) {
for (let j = 0; j < repochunk0.length; j++) {
if (
repochunk0[j].ID_ ===
allunlockables[i].Properties.RepositoryId
) {
allunlockables[i].Properties.ItemSize =
repochunk0[j].ItemSize
}
}
}
}
}
// Check if any items in original peacock file (allunlockables.json) did not get itemSize updated
// H2 and H3 do not have: PROP_MELEE_EIFFELSOUVENIR_CLUB, RepositoryId: '7257eaa1-c8f3-4e0c-acbf-74f73869c1b2'
console.log("Items that did not get itemSize updated:")
for (let i = 0; i < allunlockables.length; i++) {
if (
!allunlockables[i].Properties.ItemSize &&
allunlockables[i].Properties.LoadoutSlot &&
(allunlockables[i].Properties.LoadoutSlot === "gear" ||
allunlockables[i].Properties.LoadoutSlot ===
"concealedweapon" ||
allunlockables[i].Properties.LoadoutSlot === "carriedweapon")
) {
console.log(allunlockables[i])
}
}
const jsonContent = JSON.stringify(allunlockables, null, 4)
fs.writeFile(
`../../static/${gameprefix}allunlockables.json`,
jsonContent,
"utf8",
function (err) {
if (err) {
return console.log(err)
}
console.log(
`${gameprefix}allunlockables.json file updated with item sizes!`,
)
// Might be better to have the user call this themselves, but it resolves line break inconsistencies
execSync(`yarn prettier`)
},
)
}
main()

File diff suppressed because it is too large Load Diff

View File

@ -4703,7 +4703,8 @@
"Quality": 2,
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "1a11a060-358c-4054-98ec-d3491af1d7c6"
"RepositoryId": "1a11a060-358c-4054-98ec-d3491af1d7c6",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -4725,7 +4726,8 @@
"Rarity": "common",
"RepositoryId": "2c037ef5-a01b-4532-8216-1d535193a837",
"Quality": "2",
"UnlockOrder": 5
"UnlockOrder": 5,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -4753,7 +4755,8 @@
"e55eb9a4-e79c-43c7-970b-79e94e7683b7"
],
"Quality": "2",
"UnlockOrder": 7
"UnlockOrder": 7,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -4777,7 +4780,8 @@
"Rarity": "rare",
"RepositoryId": "e30a5b15-ce4d-41d5-a2a5-08dec9c4fe79",
"Quality": "2",
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -4799,7 +4803,8 @@
"Rarity": "common",
"RepositoryId": "c7296c5f-6c0e-4d52-98cd-e70a0d329e73",
"Quality": "1",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "common"
},
@ -4821,7 +4826,8 @@
"Rarity": "common",
"RepositoryId": "54f800df-0c14-4a6f-873f-16497b4edf00",
"Quality": "2",
"UnlockOrder": 5
"UnlockOrder": 5,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "common"
},
@ -4843,7 +4849,8 @@
"Rarity": "common",
"RepositoryId": "1033c25d-3d57-4c15-b7d0-acf3b45665ef",
"Quality": "1",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "common"
},
@ -4864,7 +4871,8 @@
"LoadoutSlot": "carriedweapon",
"Rarity": "legendary",
"RepositoryId": "d439fb64-8713-4c54-a3f3-90730dbdf370",
"Quality": "1"
"Quality": "1",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -4888,7 +4896,8 @@
"Rarity": "rare",
"RepositoryId": "4dee7cd6-f447-45af-a90e-c2e234386dc3",
"Quality": "1",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -4909,7 +4918,8 @@
"Quality": 2,
"LoadoutSlot": "gear",
"Rarity": "rare",
"RepositoryId": "3dbd9ee9-f887-41bb-83bf-386324d11485"
"RepositoryId": "3dbd9ee9-f887-41bb-83bf-386324d11485",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -4930,7 +4940,8 @@
"LoadoutSlot": "gear",
"Rarity": "rare",
"RepositoryId": "7257eaa1-c8f3-4e0c-acbf-74f73869c1b2",
"Quality": "2"
"Quality": "2",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -4952,7 +4963,8 @@
"Rarity": "common",
"RepositoryId": "a42123a6-75ea-4687-96cf-b099a49d3529",
"Quality": "2",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -4973,7 +4985,8 @@
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "c4747fa2-4958-4a02-926e-3b069cf218dc",
"Quality": "1"
"Quality": "1",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "common"
},
@ -5002,7 +5015,8 @@
"Quality": 4,
"Rarity": "common",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "304fd49f-0624-4691-8506-149a4b16808e"
"RepositoryId": "304fd49f-0624-4691-8506-149a4b16808e",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5031,7 +5045,8 @@
"Quality": 4,
"Rarity": "common",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "d5728a0f-fe8d-4e2d-9350-03cf4243c98e"
"RepositoryId": "d5728a0f-fe8d-4e2d-9350-03cf4243c98e",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "common"
},
@ -5060,7 +5075,8 @@
"Quality": 4,
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "6dda9c11-d472-4ae9-aadc-b916881583a7"
"RepositoryId": "6dda9c11-d472-4ae9-aadc-b916881583a7",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5089,7 +5105,8 @@
"Quality": 4,
"Rarity": "common",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "73875794-5a86-410e-84a4-1b5b2f7e5a54"
"RepositoryId": "73875794-5a86-410e-84a4-1b5b2f7e5a54",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5118,7 +5135,8 @@
"Quality": 4,
"Rarity": "common",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "a15af673-8e21-47e3-bdfa-f5dea7b5f9e9"
"RepositoryId": "a15af673-8e21-47e3-bdfa-f5dea7b5f9e9",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "common"
},
@ -5147,7 +5165,8 @@
"Quality": 4,
"Rarity": "common",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "ba102d90-b8c9-47b9-97eb-b462344b46c3"
"RepositoryId": "ba102d90-b8c9-47b9-97eb-b462344b46c3",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "common"
},
@ -5174,7 +5193,8 @@
"Quality": 4,
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "03658b5a-b49e-4e82-82e2-f5d8c5cc602e"
"RepositoryId": "03658b5a-b49e-4e82-82e2-f5d8c5cc602e",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5204,7 +5224,8 @@
"Rarity": "common",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "341ba426-d52d-4ae3-97a9-40b9b3633d76",
"AllowUpSync": true
"AllowUpSync": true,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5234,7 +5255,8 @@
"Rarity": "rare",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "e70adb5b-0646-4f88-bd4a-85bea7a2a654",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5264,7 +5286,8 @@
"Rarity": "legendary",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "e55c71d6-cbf6-41b8-8838-2d1be1d07e1c",
"UnlockOrder": 5
"UnlockOrder": 5,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "legendary"
},
@ -5294,7 +5317,8 @@
"Rarity": "rare",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "be4e7b4e-d895-47c1-979d-d79bfbe79a02",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5324,7 +5348,8 @@
"Rarity": "rare",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "f91cf558-04a5-4fd8-8814-b1c765668b39",
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5354,7 +5379,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "7bf3a6e6-b5aa-4c88-b953-c2c378d36118",
"UnlockOrder": 15
"UnlockOrder": 15,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5382,7 +5408,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "7373fafa-7adb-4c14-ac02-225895f9eb7f",
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5412,7 +5439,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "f6657618-d723-419f-a71b-84d0e93402e3",
"UnlockOrder": 15
"UnlockOrder": 15,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5441,7 +5469,8 @@
"Quality": 4,
"Rarity": "legendary",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "b1cb79d7-9960-4d5c-8b43-81213c8594cd"
"RepositoryId": "b1cb79d7-9960-4d5c-8b43-81213c8594cd",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -5460,8 +5489,8 @@
"Qualities": {},
"Properties": {
"Gameplay": {
"range": 1.0,
"damage": 1.0,
"range": 1,
"damage": 1,
"clipsize": 0.2,
"rateoffire": 0.3
},
@ -5471,7 +5500,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "1264f20b-b901-4d36-bc03-a9115709b531",
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5499,7 +5529,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "2f6eec38-45ea-49df-83a2-0b98a858e60a",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5529,7 +5560,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "7e1b2364-a190-41f7-a16d-a7d7a9a2f623",
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5557,7 +5589,8 @@
"Rarity": "legendary",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "54bba84c-6751-430e-b47d-e4b5ddf7a835",
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -5587,7 +5620,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "545ff36e-b43c-4a35-9ab3-680b23b9e354",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5606,8 +5640,8 @@
"Qualities": {},
"Properties": {
"Gameplay": {
"range": 1.0,
"damage": 1.0,
"range": 1,
"damage": 1,
"clipsize": 0.2,
"rateoffire": 0.3
},
@ -5617,7 +5651,8 @@
"Rarity": "legendary",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "034ce4ab-b85a-4706-bdef-cba77f9b45f7",
"UnlockOrder": 15
"UnlockOrder": 15,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -5645,7 +5680,8 @@
"Rarity": "legendary",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "c8a09c31-a53e-436f-8421-a4dc4115f633",
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "legendary"
},
@ -5664,8 +5700,8 @@
"Qualities": {},
"Properties": {
"Gameplay": {
"range": 1.0,
"damage": 1.0,
"range": 1,
"damage": 1,
"clipsize": 0.2,
"rateoffire": 0.3
},
@ -5675,7 +5711,8 @@
"Rarity": "rare",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "370580fc-7fcf-47f8-b994-cebd279f69f9",
"UnlockOrder": 5
"UnlockOrder": 5,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "rare"
},
@ -5702,7 +5739,8 @@
],
"RepositoryId": "9aabe1cf-2a11-49d5-8baa-e8ed3ef22c3e",
"RepositoryAssets": ["9aabe1cf-2a11-49d5-8baa-e8ed3ef22c3e"],
"AllowUpSync": true
"AllowUpSync": true,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5733,7 +5771,8 @@
"dda002e9-02b1-4208-82a5-cf059f3c79cf",
"dda002e9-02b1-4208-82a5-cf059f3c79cf",
"dda002e9-02b1-4208-82a5-cf059f3c79cf"
]
],
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5754,7 +5793,8 @@
"Quality": 2,
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "3dd70135-55c0-4199-b55b-d80ea1ac070b"
"RepositoryId": "3dd70135-55c0-4199-b55b-d80ea1ac070b",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5775,7 +5815,8 @@
"Quality": 4,
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "af9ad679-6a7c-4f8e-9700-ceb5e6887666"
"RepositoryId": "af9ad679-6a7c-4f8e-9700-ceb5e6887666",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5796,7 +5837,8 @@
"Quality": 5,
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "b39d7a0d-e839-417b-880c-cf9b165d4e11"
"RepositoryId": "b39d7a0d-e839-417b-880c-cf9b165d4e11",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5820,7 +5862,8 @@
"GameAssets": ["PROP_DEVICE_ICA_MODULAR_REMOTE_AUDIODISTRACTION"],
"RepositoryId": "661b9cf9-e278-442a-a87a-ad87ead52d7d",
"RepositoryAssets": ["661b9cf9-e278-442a-a87a-ad87ead52d7d"],
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5844,7 +5887,8 @@
"GameAssets": ["PROP_DEVICE_ICA_MODULAR_REMOTE_MUSICDISTRACTION"],
"RepositoryId": "2880296a-1014-4147-828a-80d82d4404fe",
"RepositoryAssets": ["2880296a-1014-4147-828a-80d82d4404fe"],
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5868,7 +5912,8 @@
"GameAssets": ["PROP_DEVICE_ICA_MODULAR_REMOTE_EXPLOSIVE"],
"RepositoryId": "7d0c107e-4279-4fda-a7e2-77359271cb9a",
"RepositoryAssets": ["7d0c107e-4279-4fda-a7e2-77359271cb9a"],
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -5892,7 +5937,8 @@
"GameAssets": ["PROP_DEVICE_ICA_RUBBERDUCK_PROXIMITY_EXPLOSIVE"],
"RepositoryId": "4ca96340-ae60-427b-a011-9e296cd67fd9",
"RepositoryAssets": ["4ca96340-ae60-427b-a011-9e296cd67fd9"],
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5915,7 +5961,8 @@
"Rarity": "rare",
"GameAssets": ["PROP_DEVICE_ACTIONFIGURE_PROXIMITY_EXPLOSIVE"],
"RepositoryId": "3fc1a8f8-f8fc-422e-884a-730ca9491737",
"RepositoryAssets": ["3fc1a8f8-f8fc-422e-884a-730ca9491737"]
"RepositoryAssets": ["3fc1a8f8-f8fc-422e-884a-730ca9491737"],
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5939,7 +5986,8 @@
"GameAssets": ["PROP_DEVICE_NAPOLEON_FIGURE_REMOTE_EXPLOSIVE"],
"RepositoryId": "0a5bebc8-0148-4745-90b2-f54b3c71116c",
"RepositoryAssets": ["0a5bebc8-0148-4745-90b2-f54b3c71116c"],
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5963,7 +6011,8 @@
"GameAssets": ["PROP_DEVICE_ICA_RUBBERDUCK_REMOTE_EXPLOSIVE"],
"RepositoryId": "356b016c-fdb3-47d3-913c-3973e6a5a8cf",
"RepositoryAssets": ["356b016c-fdb3-47d3-913c-3973e6a5a8cf"],
"UnlockOrder": 15
"UnlockOrder": 15,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -5987,7 +6036,8 @@
"GameAssets": ["PROP_DEVICE_ICA_C4_PROXIMITY_EXPLOSIVE"],
"RepositoryId": "b20fc045-e453-4280-8b18-b0a0e5c17236",
"RepositoryAssets": ["b20fc045-e453-4280-8b18-b0a0e5c17236"],
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -6011,7 +6061,8 @@
"GameAssets": ["PROP_DEVICE_ICA_C4_REMOTE_EXPLOSIVE"],
"RepositoryId": "ccdd6689-092d-49b2-85f8-416a02e25566",
"RepositoryAssets": ["ccdd6689-092d-49b2-85f8-416a02e25566"],
"UnlockOrder": 20
"UnlockOrder": 20,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6041,7 +6092,8 @@
"fc715a9a-3bf1-4768-bd67-0def61b92551",
"fc715a9a-3bf1-4768-bd67-0def61b92551"
],
"UnlockOrder": 5
"UnlockOrder": 5,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6065,7 +6117,8 @@
"GameAssets": ["PROP_DEVICE_ICA_PHONE_EXPLOSIVE"],
"RepositoryId": "74a22451-8920-488f-883c-b5246ba0f9f3",
"RepositoryAssets": ["74a22451-8920-488f-883c-b5246ba0f9f3"],
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6087,7 +6140,8 @@
"LoadoutSlot": "gear",
"Rarity": "rare",
"RepositoryId": "6410cb8e-c8be-47d6-ad88-8c181c4a3183",
"UnlockOrder": 15
"UnlockOrder": 15,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6108,7 +6162,8 @@
"Quality": 2,
"LoadoutSlot": "gear",
"Rarity": "rare",
"RepositoryId": "ec31f55f-6109-4f97-9286-8f59fae666f6"
"RepositoryId": "ec31f55f-6109-4f97-9286-8f59fae666f6",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6135,7 +6190,8 @@
"196c112b-9923-4927-97cf-5d3773ae90ea",
"196c112b-9923-4927-97cf-5d3773ae90ea",
"196c112b-9923-4927-97cf-5d3773ae90ea"
]
],
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6157,7 +6213,8 @@
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "a10cf0cb-266d-498b-ac29-49ab10c4e575",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -6179,7 +6236,8 @@
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "88b961c5-7235-48d1-9067-e7d34e75ec63",
"UnlockOrder": 11
"UnlockOrder": 11,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -6201,7 +6259,8 @@
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "7d668011-77f9-4cae-97f1-e3eda5e0c8b2",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -6223,7 +6282,8 @@
"LoadoutSlot": "gear",
"Rarity": "rare",
"RepositoryId": "261f1057-b1b2-4fe0-bd0d-b621102972c8",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6244,7 +6304,8 @@
"Quality": 4,
"LoadoutSlot": "gear",
"Rarity": "rare",
"RepositoryId": "1bfbb69d-c876-4d05-ab0b-f0be63b55b7a"
"RepositoryId": "1bfbb69d-c876-4d05-ab0b-f0be63b55b7a",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6266,7 +6327,8 @@
"LoadoutSlot": "gear",
"Rarity": "common",
"RepositoryId": "1c50d6e0-11c8-4cbc-be05-f51a8e5013be",
"UnlockOrder": 5
"UnlockOrder": 5,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -6297,7 +6359,8 @@
"b970a355-4296-4acc-9ec9-584e69a79eed",
"b970a355-4296-4acc-9ec9-584e69a79eed"
],
"UnlockOrder": 15
"UnlockOrder": 15,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -6316,8 +6379,8 @@
"Qualities": {},
"Properties": {
"Gameplay": {
"range": 1.0,
"damage": 1.0,
"range": 1,
"damage": 1,
"clipsize": 0.2,
"rateoffire": 0.3
},
@ -6326,7 +6389,8 @@
"Quality": 4,
"Rarity": "legendary",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "eedb7f84-896d-403b-905b-11b105e7ce35"
"RepositoryId": "eedb7f84-896d-403b-905b-11b105e7ce35",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -6356,7 +6420,8 @@
"Rarity": "legendary",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "907e0277-7806-42a4-b4b2-338cf8dd9391",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -6384,7 +6449,8 @@
"Rarity": "legendary",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "214004ec-5c86-4c26-8403-9e83a9bcdd24",
"UnlockOrder": 10
"UnlockOrder": 10,
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "legendary"
},
@ -6405,7 +6471,8 @@
"Quality": 4,
"Rarity": "common",
"LoadoutSlot": "concealedweapon",
"RepositoryId": "15291f69-88d0-4a8f-b31b-71605ba5ff38"
"RepositoryId": "15291f69-88d0-4a8f-b31b-71605ba5ff38",
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "legendary"
},
@ -6426,7 +6493,8 @@
"LoadoutSlot": "carriedweapon",
"Rarity": "common",
"RepositoryId": "b549ea89-e9cc-44f4-87ae-7145a7060028",
"Quality": 4
"Quality": 4,
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -6448,7 +6516,8 @@
"Quality": 4,
"Rarity": "legendary",
"LoadoutSlot": "carriedweapon",
"RepositoryId": "f301f605-007c-4fe1-aa99-a8cd2cae033f"
"RepositoryId": "f301f605-007c-4fe1-aa99-a8cd2cae033f",
"ItemSize": "ITEMSIZE_LARGE"
},
"Rarity": "legendary"
},
@ -8568,7 +8637,8 @@
"a9758ca5-eee1-4b0d-b354-f8bb1261fab8",
"a9758ca5-eee1-4b0d-b354-f8bb1261fab8",
"a9758ca5-eee1-4b0d-b354-f8bb1261fab8"
]
],
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "common"
},
@ -8595,7 +8665,8 @@
"9d7522dd-34e3-426d-944b-20b22f8cd9dc",
"9d7522dd-34e3-426d-944b-20b22f8cd9dc",
"9d7522dd-34e3-426d-944b-20b22f8cd9dc"
]
],
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "rare"
},
@ -8622,7 +8693,8 @@
"e942b814-ca60-4f27-971e-9a3141bbdc4d",
"e942b814-ca60-4f27-971e-9a3141bbdc4d",
"e942b814-ca60-4f27-971e-9a3141bbdc4d"
]
],
"ItemSize": "ITEMSIZE_SMALL"
},
"Rarity": "legendary"
},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff