mirror of
https://github.com/sp-tarkov/server.git
synced 2025-02-13 02:30:43 -05:00
Biome Configuration Updates (#1042)
See 0d1e1ba3591458bb195812232d3b8c3345abbeaa for actual changes. The rest is from running the `style:fix` script. - Consolidated ignores - Enabled for `ModCompilerService.ts` - Added a format ignore line to `ModCompilerService.ts` to prevent mappings from being affected - Enabled for `jsonc` file types --------- Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
This commit is contained in:
parent
f1b1dd46eb
commit
7190557805
@ -11,6 +11,9 @@
|
|||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
"source.organizeImports.biome": "explicit",
|
"source.organizeImports.biome": "explicit",
|
||||||
"quickfix.biome": "explicit"
|
"quickfix.biome": "explicit"
|
||||||
|
},
|
||||||
|
"[jsonc]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extensions": {
|
"extensions": {
|
||||||
@ -31,16 +34,10 @@
|
|||||||
"runtimeVersion": "22.12.0",
|
"runtimeVersion": "22.12.0",
|
||||||
"runtimeExecutable": "tsx",
|
"runtimeExecutable": "tsx",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"runtimeArgs": [
|
"runtimeArgs": ["watch", "--clear-screen=false"],
|
||||||
"watch",
|
|
||||||
"--clear-screen=false"
|
|
||||||
],
|
|
||||||
"console": "integratedTerminal",
|
"console": "integratedTerminal",
|
||||||
"internalConsoleOptions": "neverOpen",
|
"internalConsoleOptions": "neverOpen",
|
||||||
"skipFiles": [
|
"skipFiles": ["<node_internals>/**", "${workspaceFolder}/node_modules/**"]
|
||||||
"<node_internals>/**",
|
|
||||||
"${workspaceFolder}/node_modules/**",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Run Vitest Tests",
|
"name": "Run Vitest Tests",
|
||||||
@ -48,16 +45,10 @@
|
|||||||
"runtimeVersion": "22.12.0",
|
"runtimeVersion": "22.12.0",
|
||||||
"runtimeExecutable": "npm",
|
"runtimeExecutable": "npm",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"runtimeArgs": [
|
"runtimeArgs": ["run", "test"],
|
||||||
"run",
|
|
||||||
"test"
|
|
||||||
],
|
|
||||||
"console": "integratedTerminal",
|
"console": "integratedTerminal",
|
||||||
"internalConsoleOptions": "neverOpen",
|
"internalConsoleOptions": "neverOpen",
|
||||||
"skipFiles": [
|
"skipFiles": ["<node_internals>/**", "${workspaceFolder}/node_modules/**"]
|
||||||
"<node_internals>/**",
|
|
||||||
"${workspaceFolder}/node_modules/**",
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -8522,209 +8522,239 @@
|
|||||||
"associatedEvent": "Promo",
|
"associatedEvent": "Promo",
|
||||||
"maxToSendPlayer": 5
|
"maxToSendPlayer": 5
|
||||||
},
|
},
|
||||||
"NewYear2024": {
|
"NewYear2024": {
|
||||||
"items": [{
|
"items": [
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ec3",
|
{
|
||||||
"_tpl": "67124dcfa3541f2a1f0e788b",
|
"_id": "6773b39ccf4c2fe4e50a7ec3",
|
||||||
"upd": {
|
"_tpl": "67124dcfa3541f2a1f0e788b",
|
||||||
"FireMode": {
|
"upd": {
|
||||||
"FireMode": "single"
|
"FireMode": {
|
||||||
},
|
"FireMode": "single"
|
||||||
"Repairable": {
|
},
|
||||||
"Durability": 100,
|
"Repairable": {
|
||||||
"MaxDurability": 100
|
"Durability": 100,
|
||||||
}
|
"MaxDurability": 100
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ec4",
|
|
||||||
"_tpl": "6719023b612cc94b9008e78c",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
|
||||||
"slotId": "mod_stock"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ec5",
|
|
||||||
"_tpl": "6709133fa532466d5403fb7c",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
|
||||||
"slotId": "mod_magazine"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ec6",
|
|
||||||
"_tpl": "670fd0a8d8d4eae4790c8187",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
|
||||||
"slotId": "mod_barrel"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ec7",
|
|
||||||
"_tpl": "6710cea62bb09af72f0e6bf8",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec6",
|
|
||||||
"slotId": "mod_mount"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ec8",
|
|
||||||
"_tpl": "57d17c5e2459775a5c57d17d",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec7",
|
|
||||||
"slotId": "mod_tactical_003"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ec9",
|
|
||||||
"_tpl": "6165ac8c290d254f5e6b2f6c",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
|
||||||
"slotId": "mod_scope"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ecb",
|
|
||||||
"_tpl": "6709133fa532466d5403fb7c",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ecd",
|
|
||||||
"_tpl": "6709133fa532466d5403fb7c",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ecf",
|
|
||||||
"_tpl": "6709133fa532466d5403fb7c",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ed1",
|
|
||||||
"_tpl": "5c0d591486f7744c505b416f",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 20
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ed3",
|
|
||||||
"_tpl": "5c0d591486f7744c505b416f",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 20
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ed5",
|
|
||||||
"_tpl": "5c0d591486f7744c505b416f",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 20
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"_tpl": "5ab8e79e86f7742d8b372e78",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ed7",
|
|
||||||
"_tpl": "65732688d9d89ff7ac0d9c4c",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"slotId": "Soft_armor_front"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ed8",
|
|
||||||
"_tpl": "657326978c1cc6dcd9098b56",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"slotId": "Soft_armor_back"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ed9",
|
|
||||||
"_tpl": "657326a28c1cc6dcd9098b5a",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"slotId": "Soft_armor_left"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7eda",
|
|
||||||
"_tpl": "657326b08c1cc6dcd9098b5e",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"slotId": "soft_armor_right"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7edb",
|
|
||||||
"_tpl": "657326bc5d3a3129fb05f36b",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"slotId": "Collar"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7edc",
|
|
||||||
"_tpl": "656f611f94b480b8a500c0db",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"slotId": "Front_plate"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7edd",
|
|
||||||
"_tpl": "65573fa5655447403702a816",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
|
||||||
"slotId": "Back_plate"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ede",
|
|
||||||
"_tpl": "675956062f6ddfe8ff0e2806",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7edf",
|
|
||||||
"_tpl": "676307c004856a0b3c0dfffd",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ede",
|
|
||||||
"slotId": "Helmet_top"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ee0",
|
|
||||||
"_tpl": "676307b4d9ec0af3d9001fa8",
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ede",
|
|
||||||
"slotId": "Helmet_back"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ee2",
|
|
||||||
"_tpl": "674589d98dd67746010329e6",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ee4",
|
|
||||||
"_tpl": "67458794e21e5d724e066976",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ee6",
|
|
||||||
"_tpl": "5d40407c86f774318526545a",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7ee8",
|
|
||||||
"_tpl": "5d40407c86f774318526545a",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7eea",
|
|
||||||
"_tpl": "5d403f9186f7743cac3f229b",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}, {
|
|
||||||
"_id": "6773b39ccf4c2fe4e50a7eec",
|
|
||||||
"_tpl": "5d403f9186f7743cac3f229b",
|
|
||||||
"upd": {
|
|
||||||
"StackObjectsCount": 1
|
|
||||||
},
|
|
||||||
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
|
||||||
"slotId": "main"
|
|
||||||
}
|
}
|
||||||
],
|
},
|
||||||
"sender": "System",
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ec4",
|
||||||
|
"_tpl": "6719023b612cc94b9008e78c",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
||||||
|
"slotId": "mod_stock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ec5",
|
||||||
|
"_tpl": "6709133fa532466d5403fb7c",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
||||||
|
"slotId": "mod_magazine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ec6",
|
||||||
|
"_tpl": "670fd0a8d8d4eae4790c8187",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
||||||
|
"slotId": "mod_barrel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ec7",
|
||||||
|
"_tpl": "6710cea62bb09af72f0e6bf8",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec6",
|
||||||
|
"slotId": "mod_mount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ec8",
|
||||||
|
"_tpl": "57d17c5e2459775a5c57d17d",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec7",
|
||||||
|
"slotId": "mod_tactical_003"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ec9",
|
||||||
|
"_tpl": "6165ac8c290d254f5e6b2f6c",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec3",
|
||||||
|
"slotId": "mod_scope"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ecb",
|
||||||
|
"_tpl": "6709133fa532466d5403fb7c",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ecd",
|
||||||
|
"_tpl": "6709133fa532466d5403fb7c",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ecf",
|
||||||
|
"_tpl": "6709133fa532466d5403fb7c",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ed1",
|
||||||
|
"_tpl": "5c0d591486f7744c505b416f",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 20
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ed3",
|
||||||
|
"_tpl": "5c0d591486f7744c505b416f",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 20
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ed5",
|
||||||
|
"_tpl": "5c0d591486f7744c505b416f",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 20
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"_tpl": "5ab8e79e86f7742d8b372e78",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ed7",
|
||||||
|
"_tpl": "65732688d9d89ff7ac0d9c4c",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"slotId": "Soft_armor_front"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ed8",
|
||||||
|
"_tpl": "657326978c1cc6dcd9098b56",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"slotId": "Soft_armor_back"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ed9",
|
||||||
|
"_tpl": "657326a28c1cc6dcd9098b5a",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"slotId": "Soft_armor_left"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7eda",
|
||||||
|
"_tpl": "657326b08c1cc6dcd9098b5e",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"slotId": "soft_armor_right"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7edb",
|
||||||
|
"_tpl": "657326bc5d3a3129fb05f36b",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"slotId": "Collar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7edc",
|
||||||
|
"_tpl": "656f611f94b480b8a500c0db",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"slotId": "Front_plate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7edd",
|
||||||
|
"_tpl": "65573fa5655447403702a816",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ed6",
|
||||||
|
"slotId": "Back_plate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ede",
|
||||||
|
"_tpl": "675956062f6ddfe8ff0e2806",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7edf",
|
||||||
|
"_tpl": "676307c004856a0b3c0dfffd",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ede",
|
||||||
|
"slotId": "Helmet_top"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ee0",
|
||||||
|
"_tpl": "676307b4d9ec0af3d9001fa8",
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ede",
|
||||||
|
"slotId": "Helmet_back"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ee2",
|
||||||
|
"_tpl": "674589d98dd67746010329e6",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ee4",
|
||||||
|
"_tpl": "67458794e21e5d724e066976",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ee6",
|
||||||
|
"_tpl": "5d40407c86f774318526545a",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7ee8",
|
||||||
|
"_tpl": "5d40407c86f774318526545a",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7eea",
|
||||||
|
"_tpl": "5d403f9186f7743cac3f229b",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6773b39ccf4c2fe4e50a7eec",
|
||||||
|
"_tpl": "5d403f9186f7743cac3f229b",
|
||||||
|
"upd": {
|
||||||
|
"StackObjectsCount": 1
|
||||||
|
},
|
||||||
|
"parentId": "6773b39ccf4c2fe4e50a7ec2",
|
||||||
|
"slotId": "main"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sender": "System",
|
||||||
"messageText": "New year present!",
|
"messageText": "New year present!",
|
||||||
"collectionTimeHours": 72,
|
"collectionTimeHours": 72,
|
||||||
"associatedEvent": "Promo",
|
"associatedEvent": "Promo",
|
||||||
"maxToSendPlayer": 5
|
"maxToSendPlayer": 5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1411,7 +1411,7 @@
|
|||||||
"_type": "opened case - walter event quest",
|
"_type": "opened case - walter event quest",
|
||||||
"rewardCount": 4,
|
"rewardCount": 4,
|
||||||
"foundInRaid": true,
|
"foundInRaid": true,
|
||||||
"rewardTplPool": {"67409848d0b2f8eb9b034db9": 1}
|
"rewardTplPool": { "67409848d0b2f8eb9b034db9": 1 }
|
||||||
},
|
},
|
||||||
"674098588466ebb03408b210": {
|
"674098588466ebb03408b210": {
|
||||||
"_type": "opened box - walter event quest",
|
"_type": "opened box - walter event quest",
|
||||||
@ -1596,5 +1596,5 @@
|
|||||||
"skillGainMultiplers": {
|
"skillGainMultiplers": {
|
||||||
"Strength": 1
|
"Strength": 1
|
||||||
},
|
},
|
||||||
"deprioritisedMoneyContainers": ["590c60fc86f77412b13fddcf", "5d235bb686f77443f4331278"]
|
"deprioritisedMoneyContainers": ["590c60fc86f77412b13fddcf", "5d235bb686f77443f4331278"]
|
||||||
}
|
}
|
||||||
|
@ -52,12 +52,12 @@
|
|||||||
"66da1b546916142b3b022777",
|
"66da1b546916142b3b022777",
|
||||||
"670ad7f1ad195290cd00da7a",
|
"670ad7f1ad195290cd00da7a",
|
||||||
"66ec2aa6daf127599c0c31f1",
|
"66ec2aa6daf127599c0c31f1",
|
||||||
"67654a6759116d347b0bfb86",
|
"67654a6759116d347b0bfb86",
|
||||||
"5751916f24597720a27126df",
|
"5751916f24597720a27126df",
|
||||||
"57518f7724597720a31c09ab",
|
"57518f7724597720a31c09ab",
|
||||||
"57518fd424597720c85dbaaa",
|
"57518fd424597720c85dbaaa",
|
||||||
"5a043f2c86f7741aa57b5145",
|
"5a043f2c86f7741aa57b5145",
|
||||||
"5a0448bc86f774736f14efa8"
|
"5a0448bc86f774736f14efa8"
|
||||||
],
|
],
|
||||||
"rewardItemTypeBlacklist": ["65649eb40bf0ed77b8044453"],
|
"rewardItemTypeBlacklist": ["65649eb40bf0ed77b8044453"],
|
||||||
"lootableItemBlacklist": ["660bbc47c38b837877075e47", "660bc341c38b837877075e4c"],
|
"lootableItemBlacklist": ["660bbc47c38b837877075e47", "660bc341c38b837877075e4c"],
|
||||||
@ -122,21 +122,21 @@
|
|||||||
"671d8b38b769f0d88c0950f8",
|
"671d8b38b769f0d88c0950f8",
|
||||||
"671d8b8c0959c721a50ca838",
|
"671d8b8c0959c721a50ca838",
|
||||||
"660bc341c38b837877075e4c",
|
"660bc341c38b837877075e4c",
|
||||||
"67409848d0b2f8eb9b034db9",
|
"67409848d0b2f8eb9b034db9",
|
||||||
"67449b6c89d5e1ddc603f504",
|
"67449b6c89d5e1ddc603f504",
|
||||||
"675aab0d6b6addc02a08f097",
|
"675aab0d6b6addc02a08f097",
|
||||||
"675aaae1dcf102478202c537",
|
"675aaae1dcf102478202c537",
|
||||||
"675aaa9a3107dac100063331",
|
"675aaa9a3107dac100063331",
|
||||||
"675aaae75a3ab8372d0b02a7",
|
"675aaae75a3ab8372d0b02a7",
|
||||||
"675aaab74bca0b001d02f356",
|
"675aaab74bca0b001d02f356",
|
||||||
"675aaa8f7f3c962069072b27",
|
"675aaa8f7f3c962069072b27",
|
||||||
"675aaaf674a7619a5304c233",
|
"675aaaf674a7619a5304c233",
|
||||||
"675aaa003107dac10006332f",
|
"675aaa003107dac10006332f",
|
||||||
"6764207f2fa5e32733055c4a",
|
"6764207f2fa5e32733055c4a",
|
||||||
"6764202ae307804338014c1a",
|
"6764202ae307804338014c1a",
|
||||||
"6707d13e4e617ec94f0e5631",
|
"6707d13e4e617ec94f0e5631",
|
||||||
"675dc9d37ae1a8792107ca96",
|
"675dc9d37ae1a8792107ca96",
|
||||||
"675dcb0545b1a2d108011b2b"
|
"675dcb0545b1a2d108011b2b"
|
||||||
],
|
],
|
||||||
"bossItems": [
|
"bossItems": [
|
||||||
"6275303a9f372d6ea97f9ec7",
|
"6275303a9f372d6ea97f9ec7",
|
||||||
@ -183,204 +183,204 @@
|
|||||||
"63a898a328e385334e0640a5": { "price": 20000, "parentId": "5b5f6fa186f77409407a7eb7" },
|
"63a898a328e385334e0640a5": { "price": 20000, "parentId": "5b5f6fa186f77409407a7eb7" },
|
||||||
"63a897c6b1ff6e29734fcc95": { "price": 40000, "parentId": "5b5f6fa186f77409407a7eb7" }
|
"63a897c6b1ff6e29734fcc95": { "price": 40000, "parentId": "5b5f6fa186f77409407a7eb7" }
|
||||||
},
|
},
|
||||||
"customItemGlobalPresets": [
|
"customItemGlobalPresets": [
|
||||||
{
|
{
|
||||||
"_changeWeaponName": false,
|
"_changeWeaponName": false,
|
||||||
"_encyclopedia": "675956062f6ddfe8ff0e2806",
|
"_encyclopedia": "675956062f6ddfe8ff0e2806",
|
||||||
"_id": "6777b37393a9a6f10ea57501",
|
"_id": "6777b37393a9a6f10ea57501",
|
||||||
"_items": [
|
"_items": [
|
||||||
{
|
{
|
||||||
"_id": "6777bee3324b2e0cf7b7cfe1",
|
"_id": "6777bee3324b2e0cf7b7cfe1",
|
||||||
"_tpl": "675956062f6ddfe8ff0e2806"
|
"_tpl": "675956062f6ddfe8ff0e2806"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c029e3703d1f9dc47d15",
|
"_id": "6777c029e3703d1f9dc47d15",
|
||||||
"_tpl": "676307c004856a0b3c0dfffd",
|
"_tpl": "676307c004856a0b3c0dfffd",
|
||||||
"parentId": "6777bee3324b2e0cf7b7cfe1",
|
"parentId": "6777bee3324b2e0cf7b7cfe1",
|
||||||
"slotId": "Helmet_top"
|
"slotId": "Helmet_top"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c030386bec3cd3c41b6e",
|
"_id": "6777c030386bec3cd3c41b6e",
|
||||||
"_tpl": "676307b4d9ec0af3d9001fa8",
|
"_tpl": "676307b4d9ec0af3d9001fa8",
|
||||||
"parentId": "6777bee3324b2e0cf7b7cfe1",
|
"parentId": "6777bee3324b2e0cf7b7cfe1",
|
||||||
"slotId": "Helmet_back"
|
"slotId": "Helmet_back"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_name": "MTEK FLUX Ballistic helmet (MultiCam Alpine) Default",
|
"_name": "MTEK FLUX Ballistic helmet (MultiCam Alpine) Default",
|
||||||
"_parent": "6777bee3324b2e0cf7b7cfe1",
|
"_parent": "6777bee3324b2e0cf7b7cfe1",
|
||||||
"_type": "Preset"
|
"_type": "Preset"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_changeWeaponName": false,
|
"_changeWeaponName": false,
|
||||||
"_encyclopedia": "6759655674aa5e0825040d62",
|
"_encyclopedia": "6759655674aa5e0825040d62",
|
||||||
"_id": "6777bf37e10ffdb431ff9508",
|
"_id": "6777bf37e10ffdb431ff9508",
|
||||||
"_items": [
|
"_items": [
|
||||||
{
|
{
|
||||||
"_id": "6777bf03ad549e66e7ad06b2",
|
"_id": "6777bf03ad549e66e7ad06b2",
|
||||||
"_tpl": "6759655674aa5e0825040d62"
|
"_tpl": "6759655674aa5e0825040d62"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c02180ddaee0b54493da",
|
"_id": "6777c02180ddaee0b54493da",
|
||||||
"_tpl": "676307c004856a0b3c0dfffd",
|
"_tpl": "676307c004856a0b3c0dfffd",
|
||||||
"parentId": "6777bf03ad549e66e7ad06b2",
|
"parentId": "6777bf03ad549e66e7ad06b2",
|
||||||
"slotId": "Helmet_top"
|
"slotId": "Helmet_top"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c00f41b022243abdac99",
|
"_id": "6777c00f41b022243abdac99",
|
||||||
"_tpl": "676307b4d9ec0af3d9001fa8",
|
"_tpl": "676307b4d9ec0af3d9001fa8",
|
||||||
"parentId": "6777bf03ad549e66e7ad06b2",
|
"parentId": "6777bf03ad549e66e7ad06b2",
|
||||||
"slotId": "Helmet_back"
|
"slotId": "Helmet_back"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_name": "MTEK FLUX Ballistic helmet (Olive Drab) Default",
|
"_name": "MTEK FLUX Ballistic helmet (Olive Drab) Default",
|
||||||
"_parent": "6777bf03ad549e66e7ad06b2",
|
"_parent": "6777bf03ad549e66e7ad06b2",
|
||||||
"_type": "Preset"
|
"_type": "Preset"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_changeWeaponName": false,
|
"_changeWeaponName": false,
|
||||||
"_encyclopedia": "67597ceea35600b4c10cea86",
|
"_encyclopedia": "67597ceea35600b4c10cea86",
|
||||||
"_id": "6777bfee0658691ef27d9993",
|
"_id": "6777bfee0658691ef27d9993",
|
||||||
"_items": [
|
"_items": [
|
||||||
{
|
{
|
||||||
"_id": "6777bfaaaf1999ce0701bc00",
|
"_id": "6777bfaaaf1999ce0701bc00",
|
||||||
"_tpl": "67597ceea35600b4c10cea86"
|
"_tpl": "67597ceea35600b4c10cea86"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c01b07b5d347d6b99404",
|
"_id": "6777c01b07b5d347d6b99404",
|
||||||
"_tpl": "676307ded8b241b4f703a3e8",
|
"_tpl": "676307ded8b241b4f703a3e8",
|
||||||
"parentId": "6777bfaaaf1999ce0701bc00",
|
"parentId": "6777bfaaaf1999ce0701bc00",
|
||||||
"slotId": "Helmet_top"
|
"slotId": "Helmet_top"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c0033f374912b965ae5a",
|
"_id": "6777c0033f374912b965ae5a",
|
||||||
"_tpl": "676307d3d9ec0af3d9001fac",
|
"_tpl": "676307d3d9ec0af3d9001fac",
|
||||||
"parentId": "6777bfaaaf1999ce0701bc00",
|
"parentId": "6777bfaaaf1999ce0701bc00",
|
||||||
"slotId": "Helmet_back"
|
"slotId": "Helmet_back"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_name": "MTEK FLUX Ballistic helmet (Coyote) Default",
|
"_name": "MTEK FLUX Ballistic helmet (Coyote) Default",
|
||||||
"_parent": "6777bfaaaf1999ce0701bc00",
|
"_parent": "6777bfaaaf1999ce0701bc00",
|
||||||
"_type": "Preset"
|
"_type": "Preset"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_changeWeaponName": false,
|
"_changeWeaponName": false,
|
||||||
"_encyclopedia": "67597d241d5a44f2f605df06",
|
"_encyclopedia": "67597d241d5a44f2f605df06",
|
||||||
"_id": "6777c1244557b9b1474da362",
|
"_id": "6777c1244557b9b1474da362",
|
||||||
"_items": [
|
"_items": [
|
||||||
{
|
{
|
||||||
"_id": "6777c10f4989fc544063b5a1",
|
"_id": "6777c10f4989fc544063b5a1",
|
||||||
"_tpl": "67597d241d5a44f2f605df06"
|
"_tpl": "67597d241d5a44f2f605df06"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c1293c00b35cd6960536",
|
"_id": "6777c1293c00b35cd6960536",
|
||||||
"_tpl": "676307ded8b241b4f703a3e8",
|
"_tpl": "676307ded8b241b4f703a3e8",
|
||||||
"parentId": "6777c10f4989fc544063b5a1",
|
"parentId": "6777c10f4989fc544063b5a1",
|
||||||
"slotId": "Helmet_top"
|
"slotId": "Helmet_top"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "6777c12f8fc234973af0cf16",
|
"_id": "6777c12f8fc234973af0cf16",
|
||||||
"_tpl": "676307d3d9ec0af3d9001fac",
|
"_tpl": "676307d3d9ec0af3d9001fac",
|
||||||
"parentId": "6777c10f4989fc544063b5a1",
|
"parentId": "6777c10f4989fc544063b5a1",
|
||||||
"slotId": "Helmet_back"
|
"slotId": "Helmet_back"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_name": "MTEK FLUX Ballistic helmet (Coyote/MultiCam Arid) Default",
|
"_name": "MTEK FLUX Ballistic helmet (Coyote/MultiCam Arid) Default",
|
||||||
"_parent": "6777c10f4989fc544063b5a1",
|
"_parent": "6777c10f4989fc544063b5a1",
|
||||||
"_type": "Preset"
|
"_type": "Preset"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_changeWeaponName": false,
|
"_changeWeaponName": false,
|
||||||
"_encyclopedia": "674d91ce6e862d5a95059ed6",
|
"_encyclopedia": "674d91ce6e862d5a95059ed6",
|
||||||
"_id": "67784df15058057382b28f87",
|
"_id": "67784df15058057382b28f87",
|
||||||
"_items": [
|
"_items": [
|
||||||
{
|
{
|
||||||
"_id": "67784dfaf57296ecbdbfc87f",
|
"_id": "67784dfaf57296ecbdbfc87f",
|
||||||
"_tpl": "674d91ce6e862d5a95059ed6"
|
"_tpl": "674d91ce6e862d5a95059ed6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e27ee352de60dc982a3",
|
"_id": "67784e27ee352de60dc982a3",
|
||||||
"_tpl": "6575ea3060703324250610da",
|
"_tpl": "6575ea3060703324250610da",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "Soft_armor_front"
|
"slotId": "Soft_armor_front"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e32d75f52daffe36de5",
|
"_id": "67784e32d75f52daffe36de5",
|
||||||
"_tpl": "6575ea4cf6a13a7b7100adc4",
|
"_tpl": "6575ea4cf6a13a7b7100adc4",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "Soft_armor_back"
|
"slotId": "Soft_armor_back"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e36e778f8aace662e1d",
|
"_id": "67784e36e778f8aace662e1d",
|
||||||
"_tpl": "6575ea5cf6a13a7b7100adc8",
|
"_tpl": "6575ea5cf6a13a7b7100adc8",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "Soft_armor_left"
|
"slotId": "Soft_armor_left"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e3c0e4afac4ebdab52d",
|
"_id": "67784e3c0e4afac4ebdab52d",
|
||||||
"_tpl": "6575ea6760703324250610de",
|
"_tpl": "6575ea6760703324250610de",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "soft_armor_right"
|
"slotId": "soft_armor_right"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e40832d547cb2c986bf",
|
"_id": "67784e40832d547cb2c986bf",
|
||||||
"_tpl": "6575ea719c7cad336508e418",
|
"_tpl": "6575ea719c7cad336508e418",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "Collar"
|
"slotId": "Collar"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e446c92fcb0e0d8fea8",
|
"_id": "67784e446c92fcb0e0d8fea8",
|
||||||
"_tpl": "6575ea7c60703324250610e2",
|
"_tpl": "6575ea7c60703324250610e2",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "Groin"
|
"slotId": "Groin"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e473abf2a39a05dba5a",
|
"_id": "67784e473abf2a39a05dba5a",
|
||||||
"_tpl": "656f611f94b480b8a500c0db",
|
"_tpl": "656f611f94b480b8a500c0db",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "Front_plate"
|
"slotId": "Front_plate"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "67784e4b934ace8451681bee",
|
"_id": "67784e4b934ace8451681bee",
|
||||||
"_tpl": "656efaf54772930db4031ff5",
|
"_tpl": "656efaf54772930db4031ff5",
|
||||||
"parentId": "67784dfaf57296ecbdbfc87f",
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
||||||
"slotId": "Back_plate"
|
"slotId": "Back_plate"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_name": "Body armor 6B13 M Killa Christmas Standard",
|
"_name": "Body armor 6B13 M Killa Christmas Standard",
|
||||||
"_parent": "67784dfaf57296ecbdbfc87f",
|
"_parent": "67784dfaf57296ecbdbfc87f",
|
||||||
"_type": "Preset"
|
"_type": "Preset"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_changeWeaponName": false,
|
"_changeWeaponName": false,
|
||||||
"_encyclopedia": "6745895717824b1ec20570a6",
|
"_encyclopedia": "6745895717824b1ec20570a6",
|
||||||
"_id": "677d14927f8ee8353d85918d",
|
"_id": "677d14927f8ee8353d85918d",
|
||||||
"_items": [
|
"_items": [
|
||||||
{
|
{
|
||||||
"_id": "677d14a27757dcc54a3054fb",
|
"_id": "677d14a27757dcc54a3054fb",
|
||||||
"_tpl": "6745895717824b1ec20570a6"
|
"_tpl": "6745895717824b1ec20570a6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "677d14abef2285ed18ee3e62",
|
"_id": "677d14abef2285ed18ee3e62",
|
||||||
"_tpl": "657baaf0b7e9ca9a02045c02",
|
"_tpl": "657baaf0b7e9ca9a02045c02",
|
||||||
"parentId": "677d14a27757dcc54a3054fb",
|
"parentId": "677d14a27757dcc54a3054fb",
|
||||||
"slotId": "Helmet_top"
|
"slotId": "Helmet_top"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "677d14b0024eda59d1544794",
|
"_id": "677d14b0024eda59d1544794",
|
||||||
"_tpl": "657bab6ec6f689d3a205b85f",
|
"_tpl": "657bab6ec6f689d3a205b85f",
|
||||||
"parentId": "677d14a27757dcc54a3054fb",
|
"parentId": "677d14a27757dcc54a3054fb",
|
||||||
"slotId": "Helmet_back"
|
"slotId": "Helmet_back"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"_id": "677d14bb1dfea5b33fa31337",
|
"_id": "677d14bb1dfea5b33fa31337",
|
||||||
"_tpl": "657babc6f58ba5a6250107a2",
|
"_tpl": "657babc6f58ba5a6250107a2",
|
||||||
"parentId": "677d14a27757dcc54a3054fb",
|
"parentId": "677d14a27757dcc54a3054fb",
|
||||||
"slotId": "Helmet_ears"
|
"slotId": "Helmet_ears"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"_name": "6B47 Ratnik-BSh helmet (EMR Arctic cover) default",
|
"_name": "6B47 Ratnik-BSh helmet (EMR Arctic cover) default",
|
||||||
"_parent": "677d14a27757dcc54a3054fb",
|
"_parent": "677d14a27757dcc54a3054fb",
|
||||||
"_type": "Preset"
|
"_type": "Preset"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -151,9 +151,9 @@
|
|||||||
"675dc9d37ae1a8792107ca96",
|
"675dc9d37ae1a8792107ca96",
|
||||||
"675dcb0545b1a2d108011b2b",
|
"675dcb0545b1a2d108011b2b",
|
||||||
"6707d13e4e617ec94f0e5631",
|
"6707d13e4e617ec94f0e5631",
|
||||||
"67408903268737ef6908d432",
|
"67408903268737ef6908d432",
|
||||||
"67499b9b909d2013670a5029",
|
"67499b9b909d2013670a5029",
|
||||||
"6638a5474e92f038531e210e"
|
"6638a5474e92f038531e210e"
|
||||||
],
|
],
|
||||||
"useDifficultyOverride": false,
|
"useDifficultyOverride": false,
|
||||||
"difficulty": "AsOnline",
|
"difficulty": "AsOnline",
|
||||||
@ -772,8 +772,8 @@
|
|||||||
"hostilitySettings": {
|
"hostilitySettings": {
|
||||||
"pmcusec": {
|
"pmcusec": {
|
||||||
"additionalEnemyTypes": [
|
"additionalEnemyTypes": [
|
||||||
"arenaFighterEvent",
|
"arenaFighterEvent",
|
||||||
"marksman",
|
"marksman",
|
||||||
"peacemaker",
|
"peacemaker",
|
||||||
"skier",
|
"skier",
|
||||||
"ravangeZryachiyEvent",
|
"ravangeZryachiyEvent",
|
||||||
@ -796,14 +796,16 @@
|
|||||||
"followerBigPipe",
|
"followerBigPipe",
|
||||||
"followerBirdEye",
|
"followerBirdEye",
|
||||||
"followerBully",
|
"followerBully",
|
||||||
"followerBoarClose1",
|
"followerBoarClose1",
|
||||||
"followerBoarClose2"
|
"followerBoarClose2"
|
||||||
],
|
],
|
||||||
"additionalFriendlyTypes": ["gifter", "shooterBTR", "sectactPriestEvent", "peacefullZryachiyEvent"],
|
"additionalFriendlyTypes": ["gifter", "shooterBTR", "sectactPriestEvent", "peacefullZryachiyEvent"],
|
||||||
"chancedEnemies": [{
|
"chancedEnemies": [
|
||||||
|
{
|
||||||
"EnemyChance": 85,
|
"EnemyChance": 85,
|
||||||
"Role": "pmcUSEC"
|
"Role": "pmcUSEC"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"EnemyChance": 100,
|
"EnemyChance": 100,
|
||||||
"Role": "pmcBEAR"
|
"Role": "pmcBEAR"
|
||||||
}
|
}
|
||||||
@ -815,8 +817,8 @@
|
|||||||
},
|
},
|
||||||
"pmcbear": {
|
"pmcbear": {
|
||||||
"additionalEnemyTypes": [
|
"additionalEnemyTypes": [
|
||||||
"arenaFighterEvent",
|
"arenaFighterEvent",
|
||||||
"marksman",
|
"marksman",
|
||||||
"peacemaker",
|
"peacemaker",
|
||||||
"skier",
|
"skier",
|
||||||
"ravangeZryachiyEvent",
|
"ravangeZryachiyEvent",
|
||||||
@ -839,14 +841,16 @@
|
|||||||
"followerBigPipe",
|
"followerBigPipe",
|
||||||
"followerBirdEye",
|
"followerBirdEye",
|
||||||
"followerBully",
|
"followerBully",
|
||||||
"followerBoarClose1",
|
"followerBoarClose1",
|
||||||
"followerBoarClose2"
|
"followerBoarClose2"
|
||||||
],
|
],
|
||||||
"additionalFriendlyTypes": ["gifter", "shooterBTR", "sectactPriestEvent", "peacefullZryachiyEvent"],
|
"additionalFriendlyTypes": ["gifter", "shooterBTR", "sectactPriestEvent", "peacefullZryachiyEvent"],
|
||||||
"chancedEnemies": [{
|
"chancedEnemies": [
|
||||||
|
{
|
||||||
"EnemyChance": 85,
|
"EnemyChance": 85,
|
||||||
"Role": "pmcBEAR"
|
"Role": "pmcBEAR"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"EnemyChance": 100,
|
"EnemyChance": 100,
|
||||||
"Role": "pmcUSEC"
|
"Role": "pmcUSEC"
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
"5e381b0286f77420e3417a74",
|
"5e381b0286f77420e3417a74",
|
||||||
"5e4d4ac186f774264f758336",
|
"5e4d4ac186f774264f758336",
|
||||||
"639136d68ba6894d155e77cf",
|
"639136d68ba6894d155e77cf",
|
||||||
"6613f3007f6666d56807c929",
|
"6613f3007f6666d56807c929",
|
||||||
"6613f307fca4f2f386029409"
|
"6613f307fca4f2f386029409"
|
||||||
],
|
],
|
||||||
"profileBlacklist": {
|
"profileBlacklist": {
|
||||||
"unheard_edition": ["666314a50aa5c7436c00908a"]
|
"unheard_edition": ["666314a50aa5c7436c00908a"]
|
||||||
|
@ -337,13 +337,13 @@
|
|||||||
"newPriceHandbookMultiplier": 11
|
"newPriceHandbookMultiplier": 11
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"itemPriceOverrideRouble":{
|
"itemPriceOverrideRouble": {
|
||||||
"66bc98a01a47be227a5e956e": 500000,
|
"66bc98a01a47be227a5e956e": 500000,
|
||||||
"63a8970d7108f713591149f5": 50000,
|
"63a8970d7108f713591149f5": 50000,
|
||||||
"63a898a328e385334e0640a5": 100000,
|
"63a898a328e385334e0640a5": 100000,
|
||||||
"63a897c6b1ff6e29734fcc95": 200000,
|
"63a897c6b1ff6e29734fcc95": 200000,
|
||||||
"674d91ce6e862d5a95059ed6": 250000
|
"674d91ce6e862d5a95059ed6": 250000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tieredFlea": {
|
"tieredFlea": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
|
@ -98,13 +98,13 @@
|
|||||||
"5a43957686f7742a2c2f11b0": 150
|
"5a43957686f7742a2c2f11b0": 150
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bosskilla": {
|
"bosskilla": {
|
||||||
"ArmorVest": {
|
"ArmorVest": {
|
||||||
"674d91ce6e862d5a95059ed6": 200
|
"674d91ce6e862d5a95059ed6": 200
|
||||||
},
|
},
|
||||||
"Headwear": {
|
"Headwear": {
|
||||||
"6759af0f9c8a538dd70bfae6": 200
|
"6759af0f9c8a538dd70bfae6": 200
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bossknight": {
|
"bossknight": {
|
||||||
"FaceCover": {
|
"FaceCover": {
|
||||||
@ -242,7 +242,7 @@
|
|||||||
"bear": {
|
"bear": {
|
||||||
"FaceCover": {
|
"FaceCover": {
|
||||||
"5c1a1e3f2e221602b66cc4c2": 30,
|
"5c1a1e3f2e221602b66cc4c2": 30,
|
||||||
"675ac888803644528007b3f6": 30
|
"675ac888803644528007b3f6": 30
|
||||||
},
|
},
|
||||||
"Headwear": {
|
"Headwear": {
|
||||||
"5a43957686f7742a2c2f11b0": 80,
|
"5a43957686f7742a2c2f11b0": 80,
|
||||||
@ -252,7 +252,7 @@
|
|||||||
"usec": {
|
"usec": {
|
||||||
"FaceCover": {
|
"FaceCover": {
|
||||||
"5c1a1e3f2e221602b66cc4c2": 30,
|
"5c1a1e3f2e221602b66cc4c2": 30,
|
||||||
"675ac888803644528007b3f6": 30
|
"675ac888803644528007b3f6": 30
|
||||||
},
|
},
|
||||||
"Headwear": {
|
"Headwear": {
|
||||||
"5a43957686f7742a2c2f11b0": 80,
|
"5a43957686f7742a2c2f11b0": 80,
|
||||||
@ -261,28 +261,28 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"eventLoot": {
|
"eventLoot": {
|
||||||
"christmas": {
|
"christmas": {
|
||||||
"assault": {
|
"assault": {
|
||||||
"Pockets": {
|
"Pockets": {
|
||||||
"5df8a6a186f77412640e2e80": 2200,
|
"5df8a6a186f77412640e2e80": 2200,
|
||||||
"5df8a72c86f77412640e2e83": 2200,
|
"5df8a72c86f77412640e2e83": 2200,
|
||||||
"5df8a77486f77412672a1e3f": 2200
|
"5df8a77486f77412672a1e3f": 2200
|
||||||
},
|
},
|
||||||
"Backpack": {
|
"Backpack": {
|
||||||
"5df8a6a186f77412640e2e80": 2200,
|
"5df8a6a186f77412640e2e80": 2200,
|
||||||
"5df8a72c86f77412640e2e83": 2200,
|
"5df8a72c86f77412640e2e83": 2200,
|
||||||
"5df8a77486f77412672a1e3f": 2200,
|
"5df8a77486f77412672a1e3f": 2200,
|
||||||
"63a8970d7108f713591149f5": 250
|
"63a8970d7108f713591149f5": 250
|
||||||
},
|
},
|
||||||
"TacticalVest": {
|
"TacticalVest": {
|
||||||
"5df8a6a186f77412640e2e80": 2200,
|
"5df8a6a186f77412640e2e80": 2200,
|
||||||
"5df8a72c86f77412640e2e83": 2200,
|
"5df8a72c86f77412640e2e83": 2200,
|
||||||
"5df8a77486f77412672a1e3f": 2200
|
"5df8a77486f77412672a1e3f": 2200
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"eventBotMapping": {
|
"eventBotMapping": {
|
||||||
"peacefullZryachiyEvent": "bossZryachiy",
|
"peacefullZryachiyEvent": "bossZryachiy",
|
||||||
"sectactPriestEvent": "sectantPriest",
|
"sectactPriestEvent": "sectantPriest",
|
||||||
@ -8363,9 +8363,9 @@
|
|||||||
"endDay": "31",
|
"endDay": "31",
|
||||||
"endMonth": "12",
|
"endMonth": "12",
|
||||||
"settings": {
|
"settings": {
|
||||||
"enableChristmasHideout": true,
|
"enableChristmasHideout": true,
|
||||||
"enableSanta": true,
|
"enableSanta": true,
|
||||||
"adjustBotAppearances": true
|
"adjustBotAppearances": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -8376,13 +8376,13 @@
|
|||||||
"startMonth": "1",
|
"startMonth": "1",
|
||||||
"endDay": "1",
|
"endDay": "1",
|
||||||
"endMonth": "1",
|
"endMonth": "1",
|
||||||
"settings": {
|
"settings": {
|
||||||
"enableChristmasHideout": true,
|
"enableChristmasHideout": true,
|
||||||
"enableSanta": true,
|
"enableSanta": true,
|
||||||
"adjustBotAppearances": true
|
"adjustBotAppearances": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"name": "christmas January",
|
"name": "christmas January",
|
||||||
"type": "CHRISTMAS",
|
"type": "CHRISTMAS",
|
||||||
@ -8391,9 +8391,9 @@
|
|||||||
"endDay": "7",
|
"endDay": "7",
|
||||||
"endMonth": "1",
|
"endMonth": "1",
|
||||||
"settings": {
|
"settings": {
|
||||||
"enableChristmasHideout": true,
|
"enableChristmasHideout": true,
|
||||||
"enableSanta": true,
|
"enableSanta": true,
|
||||||
"adjustBotAppearances": true
|
"adjustBotAppearances": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -12314,11 +12314,11 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"christmasContainerIds": [
|
"christmasContainerIds": [
|
||||||
"container_custom_DesignStuff_00427",
|
"container_custom_DesignStuff_00427",
|
||||||
"container_Shopping_Mall_DesignStuff_00808",
|
"container_Shopping_Mall_DesignStuff_00808",
|
||||||
"container_Lighthouse_DesignStuff_00001",
|
"container_Lighthouse_DesignStuff_00001",
|
||||||
"container_shoreline_DesignStuff_00418",
|
"container_shoreline_DesignStuff_00418",
|
||||||
"container_woods_design_stuff_00328"
|
"container_woods_design_stuff_00328"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -365,7 +365,7 @@
|
|||||||
"65ddcc9cfa85b9f17d0dfb07",
|
"65ddcc9cfa85b9f17d0dfb07",
|
||||||
"660312cc4d6cdfa6f500c703",
|
"660312cc4d6cdfa6f500c703",
|
||||||
"6655e35b6bc645cb7b059912",
|
"6655e35b6bc645cb7b059912",
|
||||||
"6759673c76e93d8eb20b2080"
|
"6759673c76e93d8eb20b2080"
|
||||||
],
|
],
|
||||||
"coopExtractGift": {
|
"coopExtractGift": {
|
||||||
"sendGift": true,
|
"sendGift": true,
|
||||||
|
@ -97,56 +97,64 @@
|
|||||||
"weights": [1, 2]
|
"weights": [1, 2]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"seasonDates": [{
|
"seasonDates": [
|
||||||
|
{
|
||||||
"seasonType": 0,
|
"seasonType": 0,
|
||||||
"name": "SUMMER",
|
"name": "SUMMER",
|
||||||
"startDay": "2",
|
"startDay": "2",
|
||||||
"startMonth": "6",
|
"startMonth": "6",
|
||||||
"endDay": "15",
|
"endDay": "15",
|
||||||
"endMonth": "10"
|
"endMonth": "10"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"seasonType": 1,
|
"seasonType": 1,
|
||||||
"name": "AUTUMN",
|
"name": "AUTUMN",
|
||||||
"startDay": "15",
|
"startDay": "15",
|
||||||
"startMonth": "10",
|
"startMonth": "10",
|
||||||
"endDay": "1",
|
"endDay": "1",
|
||||||
"endMonth": "11"
|
"endMonth": "11"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"seasonType": 4,
|
"seasonType": 4,
|
||||||
"name": "AUTUMN_LATE",
|
"name": "AUTUMN_LATE",
|
||||||
"startDay": "1",
|
"startDay": "1",
|
||||||
"startMonth": "11",
|
"startMonth": "11",
|
||||||
"endDay": "21",
|
"endDay": "21",
|
||||||
"endMonth": "12"
|
"endMonth": "12"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"seasonType": 2,
|
"seasonType": 2,
|
||||||
"name": "WINTER_START",
|
"name": "WINTER_START",
|
||||||
"startDay": "21",
|
"startDay": "21",
|
||||||
"startMonth": "12",
|
"startMonth": "12",
|
||||||
"endDay": "31",
|
"endDay": "31",
|
||||||
"endMonth": "12"
|
"endMonth": "12"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"seasonType": 2,
|
"seasonType": 2,
|
||||||
"name": "WINTER_END",
|
"name": "WINTER_END",
|
||||||
"startDay": "1",
|
"startDay": "1",
|
||||||
"startMonth": "1",
|
"startMonth": "1",
|
||||||
"endDay": "9",
|
"endDay": "9",
|
||||||
"endMonth": "1"
|
"endMonth": "1"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"seasonType": 5,
|
"seasonType": 5,
|
||||||
"name": "SPRING_EARLY",
|
"name": "SPRING_EARLY",
|
||||||
"startDay": "9",
|
"startDay": "9",
|
||||||
"startMonth": "1",
|
"startMonth": "1",
|
||||||
"endDay": "25",
|
"endDay": "25",
|
||||||
"endMonth": "3"
|
"endMonth": "3"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"seasonType": 3,
|
"seasonType": 3,
|
||||||
"name": "SPRING",
|
"name": "SPRING",
|
||||||
"startDay": "25",
|
"startDay": "25",
|
||||||
"startMonth": "3",
|
"startMonth": "3",
|
||||||
"endDay": "2",
|
"endDay": "2",
|
||||||
"endMonth": "6"
|
"endMonth": "6"
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"seasonType": 4,
|
"seasonType": 4,
|
||||||
"name": "STORM",
|
"name": "STORM",
|
||||||
"startDay": "24",
|
"startDay": "24",
|
||||||
|
@ -8,24 +8,23 @@
|
|||||||
".editorconfig",
|
".editorconfig",
|
||||||
".git/*",
|
".git/*",
|
||||||
".pkg-cache/*",
|
".pkg-cache/*",
|
||||||
".vscode/*",
|
"assets/database/*",
|
||||||
"build/*",
|
"build/*",
|
||||||
"node_modules/*",
|
"node_modules/*",
|
||||||
"obj/*",
|
"obj/*",
|
||||||
"out/*",
|
|
||||||
"src/services/ModCompilerService.ts",
|
|
||||||
"tests/__cache__/*",
|
"tests/__cache__/*",
|
||||||
"tests/__coverage__/*",
|
"tests/__coverage__/*",
|
||||||
"types/*",
|
"types/*",
|
||||||
"user/mods/*",
|
"user/*"
|
||||||
"user/profiles/*",
|
|
||||||
"assets/database/*"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"linter": {
|
"linter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"rules": {
|
"rules": {
|
||||||
"recommended": true,
|
"recommended": true,
|
||||||
|
"suspicious": {
|
||||||
|
"noExplicitAny": "warn"
|
||||||
|
},
|
||||||
"style": {
|
"style": {
|
||||||
"useImportType": "off"
|
"useImportType": "off"
|
||||||
}
|
}
|
||||||
@ -34,17 +33,6 @@
|
|||||||
"formatter": {
|
"formatter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"formatWithErrors": false,
|
"formatWithErrors": false,
|
||||||
"ignore": [
|
|
||||||
"**/.git",
|
|
||||||
"**/.pkg-cache",
|
|
||||||
"**/.vscode",
|
|
||||||
"**/build",
|
|
||||||
"**/node_modules",
|
|
||||||
"**/types",
|
|
||||||
"**/tests/__cache__",
|
|
||||||
"**/tests/__coverage__",
|
|
||||||
"**/.editorconfig"
|
|
||||||
],
|
|
||||||
"attributePosition": "auto",
|
"attributePosition": "auto",
|
||||||
"indentStyle": "space",
|
"indentStyle": "space",
|
||||||
"indentWidth": 4,
|
"indentWidth": 4,
|
||||||
@ -72,14 +60,7 @@
|
|||||||
},
|
},
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
"include": ["tests/*"],
|
"include": ["tests/*"]
|
||||||
"linter": {
|
|
||||||
"rules": {
|
|
||||||
"suspicious": {
|
|
||||||
"noExplicitAny": "off"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
"gen:docs": "typedoc --options ./typedoc.json --entryPointStrategy expand ./src",
|
"gen:docs": "typedoc --options ./typedoc.json --entryPointStrategy expand ./src",
|
||||||
"gen:items": "tsx ./src/tools/ItemTplGenerator/ItemTplGeneratorProgram.ts",
|
"gen:items": "tsx ./src/tools/ItemTplGenerator/ItemTplGeneratorProgram.ts",
|
||||||
"gen:productionquests": "tsx ./src/tools/ProductionQuestsGen/ProductionQuestsGenProgram.ts",
|
"gen:productionquests": "tsx ./src/tools/ProductionQuestsGen/ProductionQuestsGenProgram.ts",
|
||||||
"gen:customisationstorage": "tsx ./src/tools/HideoutCustomisation/HideoutCustomisationProgram.ts"
|
"gen:customisationstorage": "tsx ./src/tools/HideoutCustomisation/HideoutCustomisationProgram.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"atomically": "~1.7",
|
"atomically": "~1.7",
|
||||||
|
@ -335,7 +335,7 @@ export class RagfairController {
|
|||||||
|
|
||||||
// Figure out how many items the requirementsCost is applying to, and what the per-item price is
|
// Figure out how many items the requirementsCost is applying to, and what the per-item price is
|
||||||
const offerItemCount = Math.max(
|
const offerItemCount = Math.max(
|
||||||
offer.sellInOnePiece ? (offer.items[0].upd?.StackObjectsCount ?? 1) : 1,
|
offer.sellInOnePiece ? offer.items[0].upd?.StackObjectsCount ?? 1 : 1,
|
||||||
);
|
);
|
||||||
const perItemPrice = offer.requirementsCost / offerItemCount;
|
const perItemPrice = offer.requirementsCost / offerItemCount;
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
// This is an auto generated file, do not modify. Re-generate with `npm run gen:items`
|
// This is an auto generated file, do not modify. Re-generate with `npm run gen:items`
|
||||||
export enum ItemTpl
|
export enum ItemTpl {
|
||||||
{
|
|
||||||
AMMOBOX_127X33_COPPER_20RND = "676009ddb623f3b8ba079419",
|
AMMOBOX_127X33_COPPER_20RND = "676009ddb623f3b8ba079419",
|
||||||
AMMOBOX_127X33_FMJ_20RND = "676009ed8f1fee08740f9479",
|
AMMOBOX_127X33_FMJ_20RND = "676009ed8f1fee08740f9479",
|
||||||
AMMOBOX_127X33_JHP_20RND = "676009fe8f1fee08740f947c",
|
AMMOBOX_127X33_JHP_20RND = "676009fe8f1fee08740f947c",
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
// This is an auto generated file, do not modify. Re-generate with `npm run gen:items`
|
// This is an auto generated file, do not modify. Re-generate with `npm run gen:items`
|
||||||
export enum Weapons
|
export enum Weapons {
|
||||||
{
|
|
||||||
ASSAULTCARBINE_762X39_OP_SKS = "587e02ff24597743df3deaeb",
|
ASSAULTCARBINE_762X39_OP_SKS = "587e02ff24597743df3deaeb",
|
||||||
ASSAULTCARBINE_762X39_SKS = "574d967124597745970e7c94",
|
ASSAULTCARBINE_762X39_SKS = "574d967124597745970e7c94",
|
||||||
ASSAULTCARBINE_762X51_VPO_101_VEPR_HUNTER = "5c501a4d2e221602b412b540",
|
ASSAULTCARBINE_762X51_VPO_101_VEPR_HUNTER = "5c501a4d2e221602b412b540",
|
||||||
|
@ -38,7 +38,7 @@ export interface ISeasonalEventSettings {
|
|||||||
enableSummoning: boolean;
|
enableSummoning: boolean;
|
||||||
enableHalloweenHideout: boolean;
|
enableHalloweenHideout: boolean;
|
||||||
enableChristmasHideout: boolean;
|
enableChristmasHideout: boolean;
|
||||||
enableSanta: boolean,
|
enableSanta: boolean;
|
||||||
adjustBotAppearances: boolean;
|
adjustBotAppearances: boolean;
|
||||||
addEventGearToBots: boolean;
|
addEventGearToBots: boolean;
|
||||||
addEventLootToBots: boolean;
|
addEventLootToBots: boolean;
|
||||||
|
@ -16,9 +16,9 @@ export class SPTWebSocket extends WebSocket {
|
|||||||
|
|
||||||
public closeAsync(): Promise<void> {
|
public closeAsync(): Promise<void> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.on('close', () => resolve());
|
this.on("close", () => resolve());
|
||||||
this.on('error', (err) => reject(err));
|
this.on("error", (err) => reject(err));
|
||||||
this.close();
|
this.close();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ export class SptWebSocketConnectionHandler implements IWebSocketConnectionHandle
|
|||||||
if (this.websocketPingHandler) {
|
if (this.websocketPingHandler) {
|
||||||
clearInterval(this.websocketPingHandler);
|
clearInterval(this.websocketPingHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
ws.on("message", async (msg) => {
|
ws.on("message", async (msg) => {
|
||||||
for (const wsmh of this.sptWebSocketMessageHandlers) {
|
for (const wsmh of this.sptWebSocketMessageHandlers) {
|
||||||
await wsmh.onSptMessage(sessionID, this.webSockets.get(sessionID), msg);
|
await wsmh.onSptMessage(sessionID, this.webSockets.get(sessionID), msg);
|
||||||
|
@ -1,23 +1,21 @@
|
|||||||
import fs from "node:fs";
|
import fs from "node:fs";
|
||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
import { inject, injectable } from "tsyringe";
|
|
||||||
import { ScriptTarget, ModuleKind, ModuleResolutionKind, transpileModule, CompilerOptions } from "typescript";
|
|
||||||
import { ProgramStatics } from "@spt/ProgramStatics";
|
import { ProgramStatics } from "@spt/ProgramStatics";
|
||||||
import type { ILogger } from "@spt/models/spt/utils/ILogger";
|
import type { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ModHashCacheService } from "@spt/services/cache/ModHashCacheService";
|
import { ModHashCacheService } from "@spt/services/cache/ModHashCacheService";
|
||||||
import { VFS } from "@spt/utils/VFS";
|
import { VFS } from "@spt/utils/VFS";
|
||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import { CompilerOptions, ModuleKind, ModuleResolutionKind, ScriptTarget, transpileModule } from "typescript";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class ModCompilerService
|
export class ModCompilerService {
|
||||||
{
|
|
||||||
protected serverDependencies: string[];
|
protected serverDependencies: string[];
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@inject("PrimaryLogger") protected logger: ILogger,
|
@inject("PrimaryLogger") protected logger: ILogger,
|
||||||
@inject("ModHashCacheService") protected modHashCacheService: ModHashCacheService,
|
@inject("ModHashCacheService") protected modHashCacheService: ModHashCacheService,
|
||||||
@inject("VFS") protected vfs: VFS,
|
@inject("VFS") protected vfs: VFS,
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
const packageJsonPath: string = path.join(__dirname, "../../package.json");
|
const packageJsonPath: string = path.join(__dirname, "../../package.json");
|
||||||
this.serverDependencies = Object.keys(JSON.parse(this.vfs.readFile(packageJsonPath)).dependencies);
|
this.serverDependencies = Object.keys(JSON.parse(this.vfs.readFile(packageJsonPath)).dependencies);
|
||||||
}
|
}
|
||||||
@ -29,33 +27,28 @@ export class ModCompilerService
|
|||||||
* @param modTypeScriptFiles
|
* @param modTypeScriptFiles
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
public async compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise<void>
|
public async compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise<void> {
|
||||||
{
|
|
||||||
// Concatenate TS files into one string
|
// Concatenate TS files into one string
|
||||||
let tsFileContents = "";
|
let tsFileContents = "";
|
||||||
let fileExists = true; // does every js file exist (been compiled before)
|
let fileExists = true; // does every js file exist (been compiled before)
|
||||||
for (const file of modTypeScriptFiles)
|
for (const file of modTypeScriptFiles) {
|
||||||
{
|
|
||||||
const fileContent = this.vfs.readFile(file);
|
const fileContent = this.vfs.readFile(file);
|
||||||
tsFileContents += fileContent;
|
tsFileContents += fileContent;
|
||||||
|
|
||||||
// Does equivalent .js file exist
|
// Does equivalent .js file exist
|
||||||
if (!this.vfs.exists(file.replace(".ts", ".js")))
|
if (!this.vfs.exists(file.replace(".ts", ".js"))) {
|
||||||
{
|
|
||||||
fileExists = false;
|
fileExists = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const hashMatches = this.modHashCacheService.calculateAndCompareHash(modName, tsFileContents);
|
const hashMatches = this.modHashCacheService.calculateAndCompareHash(modName, tsFileContents);
|
||||||
|
|
||||||
if (fileExists && hashMatches)
|
if (fileExists && hashMatches) {
|
||||||
{
|
|
||||||
// Everything exists and matches, escape early
|
// Everything exists and matches, escape early
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hashMatches)
|
if (!hashMatches) {
|
||||||
{
|
|
||||||
// Store / update hash in json file
|
// Store / update hash in json file
|
||||||
this.modHashCacheService.calculateAndStoreHash(modName, tsFileContents);
|
this.modHashCacheService.calculateAndStoreHash(modName, tsFileContents);
|
||||||
}
|
}
|
||||||
@ -82,13 +75,11 @@ export class ModCompilerService
|
|||||||
* @param fileNames Paths to TS files
|
* @param fileNames Paths to TS files
|
||||||
* @param options Compiler options
|
* @param options Compiler options
|
||||||
*/
|
*/
|
||||||
protected async compile(fileNames: string[], options: CompilerOptions): Promise<void>
|
protected async compile(fileNames: string[], options: CompilerOptions): Promise<void> {
|
||||||
{
|
|
||||||
// C:/snapshot/project || /snapshot/project
|
// C:/snapshot/project || /snapshot/project
|
||||||
const baseDir: string = __dirname.replace(/\\/g, "/").split("/").slice(0, 3).join("/");
|
const baseDir: string = __dirname.replace(/\\/g, "/").split("/").slice(0, 3).join("/");
|
||||||
|
|
||||||
for (const filePath of fileNames)
|
for (const filePath of fileNames) {
|
||||||
{
|
|
||||||
const destPath = filePath.replace(".ts", ".js");
|
const destPath = filePath.replace(".ts", ".js");
|
||||||
const parsedPath = path.parse(filePath);
|
const parsedPath = path.parse(filePath);
|
||||||
const parsedDestPath = path.parse(destPath);
|
const parsedDestPath = path.parse(destPath);
|
||||||
@ -97,20 +88,17 @@ export class ModCompilerService
|
|||||||
|
|
||||||
if (ProgramStatics.COMPILED) {
|
if (ProgramStatics.COMPILED) {
|
||||||
replacedText = text.replace(/(@spt)/g, `${baseDir}/obj`);
|
replacedText = text.replace(/(@spt)/g, `${baseDir}/obj`);
|
||||||
for (const dependency of this.serverDependencies)
|
for (const dependency of this.serverDependencies) {
|
||||||
{
|
|
||||||
replacedText = replacedText.replace(`"${dependency}"`, `"${baseDir}/node_modules/${dependency}"`);
|
replacedText = replacedText.replace(`"${dependency}"`, `"${baseDir}/node_modules/${dependency}"`);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
replacedText = text.replace(/(@spt)/g, path.join(__dirname, "..").replace(/\\/g, "/"));
|
replacedText = text.replace(/(@spt)/g, path.join(__dirname, "..").replace(/\\/g, "/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
const output = transpileModule(replacedText, { compilerOptions: options });
|
const output = transpileModule(replacedText, { compilerOptions: options });
|
||||||
|
|
||||||
if (output.sourceMapText)
|
if (output.sourceMapText) {
|
||||||
{
|
// biome-ignore format: these mappings should not be formatted
|
||||||
output.outputText = output.outputText.replace(
|
output.outputText = output.outputText.replace(
|
||||||
"//# sourceMappingURL\=module.js.map",
|
"//# sourceMappingURL\=module.js.map",
|
||||||
`//# sourceMappingURL\=${parsedDestPath.base}.map`,
|
`//# sourceMappingURL\=${parsedDestPath.base}.map`,
|
||||||
@ -125,8 +113,7 @@ export class ModCompilerService
|
|||||||
fs.writeFileSync(destPath, output.outputText);
|
fs.writeFileSync(destPath, output.outputText);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!this.areFilesReady(fileNames))
|
while (!this.areFilesReady(fileNames)) {
|
||||||
{
|
|
||||||
await this.delay(200);
|
await this.delay(200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -136,8 +123,7 @@ export class ModCompilerService
|
|||||||
* @param fileNames
|
* @param fileNames
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
protected areFilesReady(fileNames: string[]): boolean
|
protected areFilesReady(fileNames: string[]): boolean {
|
||||||
{
|
|
||||||
return fileNames.filter((x) => !this.vfs.exists(x.replace(".ts", ".js"))).length === 0;
|
return fileNames.filter((x) => !this.vfs.exists(x.replace(".ts", ".js"))).length === 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,8 +132,7 @@ export class ModCompilerService
|
|||||||
* @param ms Milliseconds
|
* @param ms Milliseconds
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
protected delay(ms: number): Promise<unknown>
|
protected delay(ms: number): Promise<unknown> {
|
||||||
{
|
|
||||||
return new Promise((resolve) => setTimeout(resolve, ms));
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,12 @@ import { SeasonalEventType } from "@spt/models/enums/SeasonalEventType";
|
|||||||
import { IHttpConfig } from "@spt/models/spt/config/IHttpConfig";
|
import { IHttpConfig } from "@spt/models/spt/config/IHttpConfig";
|
||||||
import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
|
import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
|
||||||
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
|
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
|
||||||
import { ISeasonalEvent, ISeasonalEventConfig, ISeasonalEventSettings, IZombieSettings } from "@spt/models/spt/config/ISeasonalEventConfig";
|
import {
|
||||||
|
ISeasonalEvent,
|
||||||
|
ISeasonalEventConfig,
|
||||||
|
ISeasonalEventSettings,
|
||||||
|
IZombieSettings,
|
||||||
|
} from "@spt/models/spt/config/ISeasonalEventConfig";
|
||||||
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
||||||
import type { ILogger } from "@spt/models/spt/utils/ILogger";
|
import type { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
|
@ -70,7 +70,8 @@ export class HideoutCustomisationGen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const matchingQuest = this.questCustomisationReward[questOrAchievementRequirement.target as string];
|
const matchingQuest = this.questCustomisationReward[questOrAchievementRequirement.target as string];
|
||||||
const matchingAchievement = this.achievementCustomisationReward[questOrAchievementRequirement.target as string];
|
const matchingAchievement =
|
||||||
|
this.achievementCustomisationReward[questOrAchievementRequirement.target as string];
|
||||||
|
|
||||||
let source = null;
|
let source = null;
|
||||||
if (matchingQuest) {
|
if (matchingQuest) {
|
||||||
|
@ -26,7 +26,7 @@ export default (<Environment>{
|
|||||||
await importDatabase(container);
|
await importDatabase(container);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
async teardown() { },
|
async teardown() {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -13,16 +13,9 @@
|
|||||||
"verbatimModuleSyntax": false,
|
"verbatimModuleSyntax": false,
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {
|
"paths": {
|
||||||
"@spt/*": [
|
"@spt/*": ["./src/*"],
|
||||||
"./src/*"
|
"@tests/*": ["./tests/*"]
|
||||||
],
|
}
|
||||||
"@tests/*": [
|
|
||||||
"./tests/*"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
"include": [
|
"include": ["src/*", "src/**/*"]
|
||||||
"src/*",
|
|
||||||
"src/**/*"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,5 @@
|
|||||||
"declaration": true,
|
"declaration": true,
|
||||||
"declarationDir": "./types"
|
"declarationDir": "./types"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": ["./types/**/*"]
|
||||||
"./types/**/*"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user