diff --git a/src/SpawnZoneChanges/CoopUUIDS.ts b/src/SpawnZoneChanges/CoopUUIDS.ts new file mode 100644 index 0000000..2d3cbd2 --- /dev/null +++ b/src/SpawnZoneChanges/CoopUUIDS.ts @@ -0,0 +1,210 @@ +export const CoopUUIDS = [ + "8b301a0d-e694-4f24-b938-32329a5084f5", + "ddca1267-6caa-4986-bd13-0ed29a81e6d2", + "9dd4bcc0-062e-45a4-9346-2b488ed4ad72", + "c8b04f3f-1f80-49a7-8530-3180b3ff71e9", + "b96df3dc-23f2-4e1d-8a9a-9fbe05a94f47", + "4f865c11-d533-4fce-9833-fe41a6cb52af", + "b0126d65-ba76-45ad-b25e-32f4f3509904", + "62f5b14d-cb51-4529-b572-f5a8f5815bb5", + "f61dc8f4-8ab8-4a1b-9771-8c4d26568769", + "10a75815-d786-43e2-9639-6b94071433f8", + "181f7000-df70-4bc7-bff3-a709291c907f", + "c36b37b1-e654-45b8-a921-4864d1a325a4", + "5caf5e1b-0113-41fc-9867-007e37ffe906", + "3b54601a-2e4b-4991-988e-962f1ee45668", + "fd6734ed-6ba8-423b-8a7b-2943f31c6527", + "b049c6f8-afb9-42f9-9591-2f265fef2097", + "287bf35f-5cdc-44dc-97b6-c035d5054bfa", + "4fb0d413-cf19-4580-8217-b2d6ca431e91", + "97185451-3b24-4e74-baa1-6a706f09c520", + "daaa4a02-1f51-460b-bdf8-29b3bd2c838b", + "3dd5759f-3764-491f-be62-82f2db15a699", + "d2bc609f-cfaf-421a-8a02-a535e2b25d35", + "99840da7-52c4-4f5f-832e-c705e9d07572", + "35e7edfa-5d6c-4512-b3f0-ebb823e076de", + "3f0277ba-5d1f-4e3d-b763-234a33b904e3", + "2875ed6d-0a92-4473-b641-0616a69f6388", + "d685da1e-6b1e-45fb-8e31-e3a42a382fed", + "0e95dd99-d6b7-4562-9813-74d4da9aaf6f", + "d7fc05a2-a7d9-494a-af5c-e092bb560bb9", + "bc1a8dad-c186-4238-9340-90ac952050e6", + "3eed3347-ac2d-429b-870e-6e6bc076e05e", + "105e5c93-2399-4054-b31d-ec981a66491f", + "f8efba5d-56be-4091-b537-c97e88b031f2", + "d7e47ba9-1862-4070-95de-9a9b2f0e46ff", + "2984a7ec-f10b-42a8-b466-554f37f9ea3e", + "5f9f188b-8489-4c06-ae14-ba4ca2a46028", + "af54940c-1d1c-4281-a44d-cb2cf46e436b", + "e33e5a4b-4c9e-46f9-b1df-5e9281746f58", + "acdd7189-0c4b-4be6-9e6e-57dbca0f6212", + "68f38db1-e55e-4170-9e79-1f9e34e8cdc5", + "e6fb5fd6-dff6-4af0-bc35-7c4d8dd198fc", + "deea2fb8-334a-4327-8e1e-a520140ac51e", + "69378f13-ba17-464e-8875-618e6219d7e5", + "e4f280f7-ba13-4fa1-83ec-fac99e8f66b5", + "b09e235d-d504-4607-843f-b8286c3dbd62", + "ab6dee85-93f5-45cb-a910-1ccd06e604ad", + "e48a6b22-ef3f-4c2b-96ef-1a36803af60d", + "9f04fd7f-bc63-4641-8373-ac41edfc16de", + "d2da7554-3689-481c-9e29-4c55f4ba50cb", + "850f44fe-ea49-4c84-91b3-5f31c6b14c5f", + "e46cc7ed-cb3b-46cf-a822-ecca3fc36638", + "319279a1-ec16-4d6e-8c87-3382938823f7", + "eeafbe43-88fa-4755-8c10-d5815528838d", + "1aaa922d-7f31-433a-8457-075f9886600b", + "dd6a29b3-46ab-4b43-a64d-a556342cc243", + "e05ef34f-8247-44aa-95a9-fc5085998045", + "1baafdd1-e250-453c-94b3-f842c87f4b8a", + "f997caf2-a40d-457c-ae98-20b17660a5aa", + "cec41a3d-7939-4d43-8c64-36b1aed8818f", + "a6fd8d7e-1bd3-4a41-8589-b3f0c35eb87c", + "9ec89724-0285-4ffc-9ba7-0e1b0912410c", + "69bb5762-c2a6-45f2-98f3-7e6e04f22245", + "17f6bc8e-2843-4b8b-90c4-f9b1cffadce3", + "93118e0f-24e6-46dd-8223-fca47e775ce8", + "798903d9-e63e-4885-aae0-3cd32de508b7", + "a546535d-6b7e-40e7-a237-f03a7858ae64", + "73efe9a1-529b-4688-97da-d691e0bfd343", + "8afc43bd-7cad-4407-b895-0a87de14dfaf", + "06766669-aece-4c12-a0a5-9db4413ffad3", + "88981068-2dad-4362-9c88-4eb5f0eee96f", + "56ab3b71-89a9-482d-8d61-585c05368f61", + "fada2feb-2f5c-47b1-af58-5aa3f498d99b", + "8c12ace2-3af3-4d5a-a4aa-0895a4ef8a56", + "3403518f-cdf5-4b64-befe-d322a6507694", + "2788bad0-51b8-4596-954d-11dc5b2edefa", + "1a64d7c0-9d68-496b-9461-78cf140ac306", + "81423963-a10b-4474-947a-daa1e5e91a8d", + "6c13f76e-e938-47f2-a048-5105b403202a", + "f5e70152-8845-44bf-94c0-d586cac03006", + "7c08bad0-3e16-4919-a882-4f261159d2cb", + "b45226b7-f530-423d-a079-427ce52e3fb3", + "d27c7203-8b21-415d-8244-dc416ed63d20", + "63219eb1-d0c8-4c56-9b20-9202abbc8a9b", + "63219eb1-d0c8-4c56-9b20-9202abbc8a9b", + "289db12e-94af-42ab-ac89-0828b8d58709", + "4ef7931f-d559-4ad2-a850-8c53ff038651", + "853a88d5-ecf3-4131-aa49-bfd53a45e627", + "e0048716-f08b-4594-9d5c-340d17b7f2a6", + "966f9ec5-32c5-4576-8940-430821816f51", + "bf2409cf-36b1-45f6-a891-711cfc4b8301", + "64cc034d-d5b6-4d6b-8f9c-cb50175004de", + "b425c6d9-ccac-451d-a859-7c0ac171e618", + "15b6e485-67c8-4d29-837b-c1d5576684a9", + "b9725c82-b56b-4399-a5a0-af96fe5be188", + "0741db23-e8c9-474a-8c0b-ec7e6f5ebe78", + "854ea99d-9c9a-4155-ba38-a3fb3f42226a", + "14b54bc4-64b6-4d9f-b21f-ec4d00ea12c4", + "fa5ad796-2cff-460c-9162-6b44dbdd0441", + "18381674-3e66-4089-848f-f58600be9689", + "c82f1789-7941-4205-b547-280c23a2ebd5", + "7df08a3e-3488-4077-8bec-48eac7903934", + "f453c38d-5bad-44d7-b71c-7c7bad6b3e70", + "dcc98552-3235-46e4-bd1f-409af32b50cf", + "db36d732-053f-48be-b73c-b1a7fbe23514", + "68091dec-b042-4e80-9caf-b6a9e8a43877", + "7214a6f6-1ad5-4a25-98d4-5fc92559d599", + "b2970193-779c-4598-a2d2-0a474afec06c", + "2fdbfe41-bd5c-446b-80a8-8681f926ab94", + "6646be81-5f8c-4c2d-bb8f-cb148c0c6fae", + "fa7869a2-8896-4414-ba7d-60a7c95bd1a8", + "8799bb42-bc67-4556-94fb-c5a401efb5b3", + "f96f3b5d-2aae-4238-adac-0af4d71b97fa", + "ea3ee12f-63bf-40b0-86b2-d73e575e6b38", + "10b98bcc-fa01-4045-9de1-31a89b9d2c24", + "124b1a0f-28da-4de3-b2f6-bfd60da6e44a", + "52d32a54-836d-4b78-b2d7-6ec797c3bde8", + "4dca4f98-d5b5-4f2f-9976-4e19f4b3479b", + "c23035da-dbd1-4bde-b90f-9b809215ee57", + "da2f58e2-3e97-4830-aa08-2d1902c88943", + "a02f1065-8639-4738-afa0-9a031c18912f", + "977b34cf-397f-4ec9-a2b0-f7bbf67284ed", + "44370e95-5bec-4943-8de1-e53beaa8e758", + "11ce34bc-53bb-4a1b-83d5-140043008d80", + "d72a6e26-6f13-4e56-b902-a50465fd844b", + "7bd68d2b-39aa-4eef-a98a-5394fc63eed7", + "da8bcf91-a3cd-49f2-bddf-d70ae9ccee96", + "7214a6f6-1ad5-4a25-98d4-5fc92559d599", + "ba72e3de-9971-429d-9235-3f1803bb9a4a", + "54093830-8555-41f4-929f-2faa687aedd7", + "7c5203e0-f239-41b6-be4e-93366faaf857", + "6a9699f3-46c0-4c72-bcb0-2075ffe2a777", + "92163c32-233b-42a0-ba3a-be10554ac266", + "2231842f-d5f9-411a-ab01-02072fb11297", + "ddad0594-dea6-446e-8b1e-1de3b7f43677", + "61421812-9ef3-4ca3-88bb-ca526149814d", + "5deae6e8-5819-4896-a198-3e5b42e3e863", + "594acb82-cc88-43b0-bff1-0199e4195afb", + "0f334893-a01d-44f4-a684-0040c05f7029", + "a59d52cb-e92a-4e80-9000-eb2211045742", + "2912d83e-b7a3-404e-8cc2-5a801c64e524", + "382b4a79-0a0f-4242-b444-0bdaf7f1b52b", + "13b9c174-67fb-4657-a020-34bd04140295", + "da7f0704-9a32-4743-9249-c0d140624733", + "f7d9fd21-aa76-4c4f-ac8e-5019ad44fbed", + "f79c4cad-9e70-4da7-bae8-19c2ff9bd403", + "c5d9e312-8420-4e93-895b-edb98bd378e2", + "d3134c35-d002-4460-8770-4521bff63908", + "aa0a2c1f-ad7d-4109-b629-1007e8b0698c", + "8b301a0d-e694-4f24-b938-32329a5084f5", + "ddca1267-6caa-4986-bd13-0ed29a81e6d2", + "9dd4bcc0-062e-45a4-9346-2b488ed4ad72", + "c8b04f3f-1f80-49a7-8530-3180b3ff71e9", + "b96df3dc-23f2-4e1d-8a9a-9fbe05a94f47", + "4f865c11-d533-4fce-9833-fe41a6cb52af", + "b0126d65-ba76-45ad-b25e-32f4f3509904", + "62f5b14d-cb51-4529-b572-f5a8f5815bb5", + "f61dc8f4-8ab8-4a1b-9771-8c4d26568769", + "10a75815-d786-43e2-9639-6b94071433f8", + "181f7000-df70-4bc7-bff3-a709291c907f", + "c36b37b1-e654-45b8-a921-4864d1a325a4", + "5caf5e1b-0113-41fc-9867-007e37ffe906", + "3b54601a-2e4b-4991-988e-962f1ee45668", + "fd6734ed-6ba8-423b-8a7b-2943f31c6527", + "b049c6f8-afb9-42f9-9591-2f265fef2097", + "287bf35f-5cdc-44dc-97b6-c035d5054bfa", + "4fb0d413-cf19-4580-8217-b2d6ca431e91", + "97185451-3b24-4e74-baa1-6a706f09c520", + "daaa4a02-1f51-460b-bdf8-29b3bd2c838b", + "8b301a0d-e694-4f24-b938-32329a5084f5", + "ddca1267-6caa-4986-bd13-0ed29a81e6d2", + "9dd4bcc0-062e-45a4-9346-2b488ed4ad72", + "c8b04f3f-1f80-49a7-8530-3180b3ff71e9", + "b96df3dc-23f2-4e1d-8a9a-9fbe05a94f47", + "4f865c11-d533-4fce-9833-fe41a6cb52af", + "b0126d65-ba76-45ad-b25e-32f4f3509904", + "62f5b14d-cb51-4529-b572-f5a8f5815bb5", + "f61dc8f4-8ab8-4a1b-9771-8c4d26568769", + "10a75815-d786-43e2-9639-6b94071433f8", + "181f7000-df70-4bc7-bff3-a709291c907f", + "c36b37b1-e654-45b8-a921-4864d1a325a4", + "5caf5e1b-0113-41fc-9867-007e37ffe906", + "3b54601a-2e4b-4991-988e-962f1ee45668", + "fd6734ed-6ba8-423b-8a7b-2943f31c6527", + "b049c6f8-afb9-42f9-9591-2f265fef2097", + "287bf35f-5cdc-44dc-97b6-c035d5054bfa", + "4fb0d413-cf19-4580-8217-b2d6ca431e91", + "97185451-3b24-4e74-baa1-6a706f09c520", + "daaa4a02-1f51-460b-bdf8-29b3bd2c838b", + "d1b3cb3f-042c-4698-9284-9cb3985eca30", + "0043f275-0dc2-4c04-87a1-bd90cbaf183a", + "effc8ec3-29a6-4531-89eb-a23ab350d015", + "f9ba0574-638b-4900-874c-21b6f4d5e6b4", + "ddcd040c-42b2-4586-879d-f9d07d9737ce", + "22c00064-df0c-474b-b479-918175a539a7", + "19383115-da70-4cc5-8ab7-d80bf8045113", + "9ae1736f-4869-4c3b-99c2-5825878573d8", + "8804ccce-fc0a-488f-9a50-12837e382ae9", + "c59b04c4-0ceb-4af0-851e-2f81a7a02c02", + "863a8fba-0b54-4c06-9a4e-498298c7f938", + "7859f63b-aff6-4bb5-9423-1fc08f2120b9", + "c7f058cd-cff0-4f4b-9bf1-dc6632c63eaf", + "04ca5c72-7c54-43cf-9150-6ddcaedf9808", + "9896b358-7857-4dfc-baba-c9ff10f4b288", + "832a9963-7ad2-436b-8140-9d52d113afba", + "af9b450f-11df-4411-b92b-4df4ecc7504b", + "9781bf62-5817-49c8-91f5-e1718080f43c", + "a35626aa-d89e-4ace-8bff-5b7582f6bc30", + "d385b5f5-d5c6-4f6a-9486-e128cbba2da6", +]; diff --git a/src/SpawnZoneChanges/setupSpawn.ts b/src/SpawnZoneChanges/setupSpawn.ts index 1ab7ac7..6dffab6 100644 --- a/src/SpawnZoneChanges/setupSpawn.ts +++ b/src/SpawnZoneChanges/setupSpawn.ts @@ -17,6 +17,7 @@ import { saveToFile } from "../utils"; import { Ixyz } from "@spt/models/eft/common/Ixyz"; import { BotSpawns } from "../Spawns"; import { updateAllBotSpawns } from "../Spawns/updateUtils"; +import { CoopUUIDS } from "./CoopUUIDS"; export const setupSpawns = (container: DependencyContainer) => { const databaseServer = container.resolve("DatabaseServer"); @@ -26,6 +27,12 @@ export const setupSpawns = (container: DependencyContainer) => { const botSpawnHash = BotSpawns; + const mapsToExcludeFromPlayerCulling = new Set([ + "factory4_day", + "factory4_night", + "laboratory", + ]); + const CoopUUIDSet = new Set(CoopUUIDS); originalMapList.forEach((map, mapIndex) => { const allZones = [ ...new Set( @@ -38,9 +45,10 @@ export const setupSpawns = (container: DependencyContainer) => { locations[map].base.OpenZones = allZones.join(","); let bossSpawn: ISpawnPointParam[] = []; - let nonBossSpawns: ISpawnPointParam[] = []; + let scavSpawns: ISpawnPointParam[] = []; let sniperSpawnSpawnPoints: ISpawnPointParam[] = []; let coopSpawns: ISpawnPointParam[] = []; + let pmcSpawns: ISpawnPointParam[] = []; const bossZoneList = new Set([ "Zone_Blockpost", @@ -55,6 +63,7 @@ export const setupSpawns = (container: DependencyContainer) => { "BotZoneGate2", "BotZoneBasement", ]); + const isGZ = map.includes("sandbox"); shuffle(locations[map].base.SpawnPointParams).forEach( (point) => { @@ -69,18 +78,25 @@ export const setupSpawns = (container: DependencyContainer) => { sniperSpawnSpawnPoints.push(point); break; - case point.Categories.includes("Player") && // (point.Categories.includes("Coop") || ) + case mapsToExcludeFromPlayerCulling.has(map) && // point.Categories.includes("Coop") && // (point.Categories.includes("Coop") || ) + point.Categories.includes("Player") && !!point.Infiltration: coopSpawns.push(point); break; - + case (point.Categories.includes("Coop") || + point.Categories.includes("Player") || + CoopUUIDSet.has(point.Id)) && + !!point.Infiltration: + pmcSpawns.push(point); + break; default: - nonBossSpawns.push(point); + scavSpawns.push(point); break; } } ); + // console.log(map, coopSpawns.length); // fix GZ if (isGZ) { sniperSpawnSpawnPoints.map((point, index) => { @@ -105,11 +121,9 @@ export const setupSpawns = (container: DependencyContainer) => { const limit = mapConfig[configLocations[mapIndex]].spawnMinDistance; - coopSpawns = cleanClosest( - AddCustomPlayerSpawnPoints(coopSpawns, map), - mapIndex, - true - ) + coopSpawns = AddCustomPlayerSpawnPoints(coopSpawns, map, pmcSpawns); + + coopSpawns = cleanClosest(coopSpawns, mapIndex, true) .map((point, index) => { if (point.ColliderParams?._props?.Radius < limit) { point.ColliderParams._props.Radius = limit; @@ -127,7 +141,7 @@ export const setupSpawns = (container: DependencyContainer) => { .filter((point) => { // Now we transfer the extra spawns to the bots // if (!point.Categories.length) { - // nonBossSpawns.push(point); + // scavSpawns.push(point); // } return !!point.Categories.length; }); @@ -135,14 +149,29 @@ export const setupSpawns = (container: DependencyContainer) => { if (advancedConfig.ActivateSpawnCullingOnServerStart) { botSpawnHash[map] = removeClosestSpawnsFromCustomBots( - nonBossSpawns, + scavSpawns, map, configLocations[mapIndex] ) || []; } - nonBossSpawns = cleanClosest( - AddCustomBotSpawnPoints(nonBossSpawns, map), + pmcSpawns = cleanClosest(pmcSpawns, mapIndex).map((point) => { + if (point.ColliderParams?._props?.Radius < limit) { + point.ColliderParams._props.Radius = limit; + } + return !!point.Categories.length + ? { + ...point, + BotZoneName: isGZ ? "ZoneSandbox" : point?.BotZoneName || "", + Categories: ["Coop", Math.random() > 0.5 ? "Group" : "Opposite"], + Sides: ["Pmc"], + CorePointId: 0, + } + : point; + }); + + scavSpawns = cleanClosest( + AddCustomBotSpawnPoints(scavSpawns, map), mapIndex ).map((point) => { if (point.ColliderParams?._props?.Radius < limit) { @@ -168,23 +197,26 @@ export const setupSpawns = (container: DependencyContainer) => { indexedMapSpawns[mapIndex] = [ ...sniperSpawnSpawnPoints.map((point) => ({ ...point, type: "sniper" })), ...bossSpawn.map((point) => ({ ...point, type: "boss" })), - ...nonBossSpawns.map((point) => ({ ...point, type: "nonBoss" })), + ...scavSpawns.map((point) => ({ ...point, type: "scav" })), ...coopSpawns.map((point) => ({ ...point, type: "coop" })), + ...pmcSpawns.map((point) => ({ ...point, type: "pmc" })), ]; // const added = indexedMapSpawns[mapIndex].filter( // ({ BotZoneName }) => BotZoneName?.slice(0, 6) === "Added_" // ); // console.log( - // map, // "sniperSpawnSpawnPoints", // sniperSpawnSpawnPoints.length, - // "bossSpawn", + // "boss", // bossSpawn.length, - // "nonBossSpawns", - // nonBossSpawns.length, - // "coopSpawns", - // coopSpawns.length + // "scav", + // scavSpawns.length, + // "coop", + // coopSpawns.length, + // "pmc", + // pmcSpawns.length, + // map // ); //; diff --git a/src/Spawning/buildPmcs.ts b/src/Spawning/buildPmcs.ts index e9cd7d9..249ed1b 100644 --- a/src/Spawning/buildPmcs.ts +++ b/src/Spawning/buildPmcs.ts @@ -35,8 +35,8 @@ export default function buildPmcs( let pmcZones = getSortedSpawnPointList( locationList[index].base.SpawnPointParams.filter( - (point) => point["type"] === "nonBoss" - ).filter((_, sIndex) => sIndex % 3 === 0), + (point) => point["type"] === "pmc" + ), x, y, z, diff --git a/src/Spawning/buildScavMarksmanWaves.ts b/src/Spawning/buildScavMarksmanWaves.ts index 08fe9ea..a33586b 100644 --- a/src/Spawning/buildScavMarksmanWaves.ts +++ b/src/Spawning/buildScavMarksmanWaves.ts @@ -142,8 +142,8 @@ export default function buildScavMarksmanWaves( let scavZones = getSortedSpawnPointList( locationList[index].base.SpawnPointParams.filter( - (point) => point["type"] === "nonBoss" - ).filter((_, sIndex) => sIndex % 3 !== 0), + (point) => point["type"] === "scav" + ), x, y, z, @@ -189,11 +189,11 @@ export default function buildScavMarksmanWaves( // console.log(map); const snipers = buildBotWaves( Math.min(sniperQuantity, sniperLocations.length), - timeLimit,///30, + timeLimit, ///30, sniperMaxGroupSize, sniperGroupChance, sniperLocations, - 1.7, + 0.84, WildSpawnType.MARKSMAN, true, 0.3, diff --git a/src/Spawning/spawnZoneUtils.ts b/src/Spawning/spawnZoneUtils.ts index e50c3be..e9168e9 100644 --- a/src/Spawning/spawnZoneUtils.ts +++ b/src/Spawning/spawnZoneUtils.ts @@ -240,9 +240,11 @@ export const AddCustomSniperSpawnPoints = ( }; export const random360 = () => Math.random() * 360; + export const AddCustomPlayerSpawnPoints = ( SpawnPointParams: ISpawnPointParam[], - map: string + map: string, + pmcSpawns: ISpawnPointParam[] ) => { if (!PlayerSpawns[map] || !PlayerSpawns[map].length) { _config.debug && console.log("no custom Player spawns for " + map); @@ -251,28 +253,17 @@ export const AddCustomPlayerSpawnPoints = ( const infilHash: Record = {}; - SpawnPointParams.forEach((point) => { - if (!infilHash[point.Infiltration]) { - infilHash[point.Infiltration] = point.Position; - } else { - infilHash[point.Infiltration].x = Math.round( - (infilHash[point.Infiltration].x + point.Position.x) / 2 - ); - infilHash[point.Infiltration].z = Math.round( - (infilHash[point.Infiltration].z + point.Position.z) / 2 - ); - } - }); + const combinedSpawns = [...SpawnPointParams, ...pmcSpawns]; - const getClosestInfil = (x: number, y: number, z: number) => { + const getClosestInfil = (X: number, Y: number, Z: number) => { let closest = Infinity; - let selectedInfil = Object.keys(infilHash)[0]; - Object.keys(infilHash).forEach((infil) => { - const current = infilHash[infil]; - const dist = getDistance(current.x, current.y, current.z, x, y, z); + let selectedInfil = ""; + + combinedSpawns.forEach(({ Infiltration, Position: { x, y, z } }) => { + const dist = getDistance(X, Y, Z, x, y, z); if (dist < closest) { closest = dist; - selectedInfil = infil; + selectedInfil = Infiltration; } }); diff --git a/src/Spawning/updateSpawnLocations.ts b/src/Spawning/updateSpawnLocations.ts index 9e67ac5..fd74400 100644 --- a/src/Spawning/updateSpawnLocations.ts +++ b/src/Spawning/updateSpawnLocations.ts @@ -14,7 +14,7 @@ export default function updateSpawnLocations(locationList: ILocation[]) { const mapSpawns = globalValues.indexedMapSpawns[index]; const filteredSpawns = [...mapSpawns].filter((point) => { - if (point?.Categories[0] === "Player") { + if (point?.["type"] === "coop") { playerSpawns.push(point); return false; } diff --git a/src/Spawns/playerSpawns.json b/src/Spawns/playerSpawns.json index 795d553..f0110cc 100644 --- a/src/Spawns/playerSpawns.json +++ b/src/Spawns/playerSpawns.json @@ -1,22 +1,415 @@ { - "bigmap": [], + "bigmap": [ + { + "x": -307.624481, + "y": -0.18032879999999996, + "z": -64.92544 + }, + { + "x": -333.947418, + "y": 0.615623824, + "z": -143.9713 + }, + { + "x": -296.7575, + "y": 1.2182696, + "z": -196.684341 + }, + { + "x": -216.051178, + "y": 1.67647457, + "z": -217.4136 + }, + { + "x": -218.407318, + "y": 1.62172031, + "z": -139.796143 + }, + { + "x": -175.081879, + "y": 1.247077465, + "z": -39.7637939 + }, + { + "x": 15.0957222, + "y": -0.58857608, + "z": 117.226555 + }, + { + "x": -14.4906445, + "y": 0.42244701, + "z": -138.409088 + }, + { + "x": 352.8775, + "y": 1.64999878, + "z": -183.82 + }, + { + "x": 648.191833, + "y": 1.60148358, + "z": -144.06218 + }, + { + "x": 665.9055, + "y": 1.56631947, + "z": -53.6426 + }, + { + "x": 642.9584, + "y": 0.24754779999999998, + "z": -24.9292 + }, + { + "x": 652.2436, + "y": 0.973725, + "z": 120.040123 + }, + { + "x": 564.253357, + "y": 13.6977177, + "z": 175.082016 + }, + { + "x": 466.229431, + "y": 3.02413964, + "z": 208.110062 + } + ], "factory4_day": [], "factory4_night": [], - "interchange": [], + "interchange": [ + { + "x": 486.8136, + "y": 18.8358173, + "z": -388.101532 + }, + { + "x": 494.499542, + "y": 18.8277626, + "z": -259.6602 + }, + { + "x": 367.8197, + "y": 17.5903282, + "z": -176.857742 + }, + { + "x": 324.036163, + "y": 18.5674953, + "z": -127.9254 + }, + { + "x": 294.95636, + "y": 22.6577663, + "z": -347.569153 + }, + { + "x": 276.358551, + "y": 21.8254337, + "z": -122.657585 + }, + { + "x": 280.405762, + "y": 21.8254375, + "z": 348.3306 + }, + { + "x": 227.14653, + "y": 20.6767864, + "z": 325.247681 + }, + { + "x": 57.9410934, + "y": 21.8254356, + "z": 311.738251 + }, + { + "x": -102.582909, + "y": 22.5663853, + "z": 255.855408 + }, + { + "x": -299.139282, + "y": 21.82544, + "z": 232.340439 + }, + { + "x": -332.487183, + "y": 25.20281, + "z": 155.760818 + }, + { + "x": -263.5349, + "y": 21.8254356, + "z": 134.117 + }, + { + "x": 37.3385353, + "y": 26.34736, + "z": -384.733643 + }, + { + "x": 43.7814255, + "y": 21.7428856, + "z": -409.5247 + }, + { + "x": 182.641724, + "y": 19.6667252, + "z": -361.963043 + }, + { + "x": -242.2355, + "y": 21.8254356, + "z": -367.953339 + }, + { + "x": -250.064941, + "y": 21.8254337, + "z": -268.880249 + }, + { + "x": -83.5057, + "y": 21.8254356, + "z": -353.3304 + }, + { + "x": 91.92487, + "y": 22.2358532, + "z": 284.0067 + }, + { + "x": 124.855835, + "y": 21.8268, + "z": 269.1464 + }, + { + "x": 208.208145, + "y": 21.8254356, + "z": 242.407852 + }, + { + "x": 211.8791, + "y": 21.8281136, + "z": 136.75499 + }, + { + "x": -130.359039, + "y": 21.8254356, + "z": 211.65332 + }, + { + "x": -251.688843, + "y": 21.8254356, + "z": 53.3156166 + } + ], "laboratory": [], "lighthouse": [ { - "x": 120.764587, - "y": 1.729217, - "z": 389.5385 + "x": 116.914436, + "y": 0.815583467, + "z": 553.115967 + }, + { + "x": 43.46533, + "y": 0.874220878, + "z": 576.562561 + }, + { + "x": -23.2818089, + "y": 1.932637, + "z": 566.6161 + }, + { + "x": -83.78089, + "y": 0.50246091932, + "z": 552.4679 + }, + { + "x": -218.183243, + "y": 6.44645452, + "z": 418.745544 + }, + { + "x": -83.9460449, + "y": 34.4138374, + "z": 424.8786 + }, + { + "x": 102.575386, + "y": 1.025829136, + "z": 434.878479 + }, + { + "x": 80.04721, + "y": 0.8321548400000001, + "z": 494.383728 + }, + { + "x": 111.760544, + "y": 2.44262254, + "z": 391.072876 + }, + { + "x": -53.62172, + "y": 6.457632, + "z": 324.8132 + }, + { + "x": -123.026482, + "y": 21.3146744, + "z": 322.837463 + }, + { + "x": -151.236252, + "y": 32.91004, + "z": 234.2063 + }, + { + "x": -455.7838, + "y": 24.8210411, + "z": -240.8463 + }, + { + "x": -433.91275, + "y": 28.929987, + "z": -384.6545 + }, + { + "x": -374.223969, + "y": 26.2560425, + "z": -523.9494 + }, + { + "x": -342.501678, + "y": 27.3754063, + "z": -660.4178 + }, + { + "x": -127.586487, + "y": 10.5747557, + "z": -906.55896 + }, + { + "x": 49.7104263, + "y": 11.01153, + "z": -940.434937 + }, + { + "x": 158.754974, + "y": 2.38006771, + "z": -744.6065 + }, + { + "x": 120.481964, + "y": 0.8155948820000001, + "z": -162.940842 + }, + { + "x": 130.387421, + "y": 1.78100014, + "z": 25.8580666 + }, + { + "x": 156.841339, + "y": 0.897778332, + "z": 195.468048 + }, + { + "x": -338.928, + "y": 19.9513531, + "z": -421.052765 + } + ], + "rezervbase": [ + { + "x": -61.3694649, + "y": 23.3688011, + "z": 185.361 + }, + { + "x": -291.4643, + "y": -5.758037, + "z": -81.70997 + }, + { + "x": -258.8454, + "y": -5.809322, + "z": 48.5200768 + }, + { + "x": -232.336243, + "y": -5.770771, + "z": -106.64888 + }, + { + "x": 2.784985, + "y": -6.578336, + "z": -202.077362 + }, + { + "x": 187.960587, + "y": -6.57833242, + "z": -248.726089 + }, + { + "x": 206.601883, + "y": -6.11055136, + "z": -145.929977 + }, + { + "x": 216.456863, + "y": -6.451984, + "z": -109.76857 }, { - "x": -134.055984, - "y": 22.3044567, - "z": 301.3149 + "x": 266.0937, + "y": -6.408105, + "z": -4.565413 + }, + { + "x": 207.489471, + "y": -6.39341831, + "z": 41.8928833 + }, + { + "x": 36.3909035, + "y": -6.5777936, + "z": 117.567513 + }, + { + "x": -83.48834, + "y": -1.5380661500000001, + "z": 139.402786 + }, + { + "x": -216.334915, + "y": -1.83605623, + "z": 63.8259125 + }, + { + "x": -26.4631081, + "y": 19.07441, + "z": 173.650223 + }, + { + "x": 79.48988, + "y": -0.47576445300000003, + "z": -33.161972 + }, + { + "x": 93.63736, + "y": -6.377072, + "z": 22.6619167 + }, + { + "x": 94.22176, + "y": -6.42007, + "z": -3.06628323 } ], - "rezervbase": [], "shoreline": [ { "x": 255.101135, @@ -42,108 +435,424 @@ "x": 171.53833, "y": -34.23907, "z": -299.059479 + }, + { + "x": -515.175537, + "y": -18.1762714, + "z": -332.9172 + }, + { + "x": -439.244049, + "y": -12.1298723, + "z": -354.758453 + }, + { + "x": -744.432, + "y": -41.448204, + "z": 17.4770336 + }, + { + "x": -933.605835, + "y": -57.1734352, + "z": 353.9989 + }, + { + "x": -913.4419, + "y": -57.845623, + "z": 247.222351 + }, + { + "x": -739.981, + "y": -59.1001434, + "z": 496.96283 + }, + { + "x": 171.71698, + "y": -34.2415428, + "z": -304.676056 + }, + { + "x": 392.52652, + "y": -54.1549759, + "z": -77.59323 + }, + { + "x": 445.317139, + "y": -54.05862, + "z": 165.605591 + }, + { + "x": 342.16507, + "y": -59.1576538, + "z": 313.4334 + }, + { + "x": 326.6988, + "y": -55.84134, + "z": 112.99379 + } + ], + "tarkovstreets": [ + { + "x": 20.0220375, + "y": 3.65626884, + "z": -134.672531 + }, + { + "x": 237.519226, + "y": -5.27918863, + "z": 1.93625653 + }, + { + "x": -156.698166, + "y": 0.9369116719999999, + "z": 49.512558 + }, + { + "x": -236.037354, + "y": 2.64710546, + "z": 217.017975 + }, + { + "x": -224.4071, + "y": 2.62091279, + "z": 359.852661 + }, + { + "x": -189.713135, + "y": 2.82769012, + "z": 447.369629 + }, + { + "x": 14.4189625, + "y": 2.61336231, + "z": 453.430084 + }, + { + "x": 288.29834, + "y": 3.89124751, + "z": 489.4708 + }, + { + "x": 253.628357, + "y": 3.89470148, + "z": 425.746582 + }, + { + "x": 205.801224, + "y": 3.621455, + "z": 248.665283 + }, + { + "x": 120.503189, + "y": 4.48645449, + "z": -253.226852 } ], - "tarkovstreets": [], "woods": [ { - "x": 104.282555, - "y": 17.1939659, - "z": -842.5501 + "x": 348.4952, + "y": -11.974452, + "z": 333.8655 + }, + { + "x": 462.840454, + "y": -18.299778, + "z": 275.3271 }, { - "x": -253.314621, - "y": 18.64557, - "z": -656.4694 + "x": 465.663269, + "y": -11.2324724, + "z": 98.55305 }, { - "x": -645.2799, - "y": 10.5486507, - "z": -271.707245 + "x": 254.589691, + "y": -10.56004, + "z": 331.0478 }, { - "x": -525.376465, - "y": 7.752978, - "z": 146.6656 + "x": 205.147369, + "y": -14.3454933, + "z": 275.609131 }, { - "x": 261.598236, - "y": -9.6038618, - "z": 323.6364 + "x": -94.62124, + "y": 0.5418019071, + "z": 373.476868 + }, + { + "x": -149.472244, + "y": -0.78321087, + "z": 404.047363 + }, + { + "x": -282.2021, + "y": 0.359909236, + "z": 353.128937 + }, + { + "x": -405.274567, + "y": -0.31904520000000003, + "z": 322.718323 + }, + { + "x": -526.0039, + "y": 7.75222349, + "z": 149.336334 + }, + { + "x": -599.647, + "y": 20.6886768, + "z": -210.3147 + }, + { + "x": -623.912231, + "y": 13.6213293, + "z": -261.8521 + }, + { + "x": -485.7418, + "y": 15.5604687, + "z": -497.0832 + }, + { + "x": -252.9417, + "y": 18.5396137, + "z": -655.406 + }, + { + "x": 105.569855, + "y": 17.1755581, + "z": -842.807739 + }, + { + "x": 212.125168, + "y": 13.0762863, + "z": -819.3303 + }, + { + "x": 367.191437, + "y": 21.663269, + "z": -664.3961 + }, + { + "x": 319.9668, + "y": 13.359005, + "z": -552.9796 + }, + { + "x": 397.709717, + "y": 15.596736, + "z": -376.39798 + }, + { + "x": 445.0131, + "y": 13.5435467, + "z": -248.09549 + }, + { + "x": 440.326782, + "y": -8.201758, + "z": 45.44756 + }, + { + "x": -287.750031, + "y": 14.396596, + "z": -421.817383 } ], "sandbox": [ { - "x": -16.5156174, - "y": 23.2638969, - "z": 329.840424 + "x": 57.4632835, + "y": 14.4418392, + "z": -31.7662258 + }, + { + "x": 91.02775, + "y": 17.1257839, + "z": -92.95362 + }, + { + "x": 142.756683, + "y": 23.1981068, + "z": -84.772316 }, { - "x": 148.870621, + "x": 112.335709, + "y": 23.15787, + "z": -87.14924 + }, + { + "x": 38.0329781, + "y": 23.270031, + "z": -98.06816 + }, + { + "x": -12.0678473, + "y": 24.3207321, + "z": -57.5081673 + }, + { + "x": 196.360443, + "y": 16.786, + "z": -30.80466 + }, + { + "x": 207.275177, + "y": 16.6755753, + "z": 39.47561 + }, + { + "x": 181.262421, + "y": 16.7284355, + "z": 128.114059 + }, + { + "x": 12.6891594, + "y": 23.92113, + "z": 156.696045 + }, + { + "x": 148.9755, "y": 23.2307129, - "z": 253.958176 + "z": 255.2195 + }, + { + "x": 6.861799, + "y": 23.281229, + "z": 329.646271 + }, + { + "x": 15.0184345, + "y": 23.2690887, + "z": 273.1378 }, { - "x": 214.353683, - "y": 16.550972, - "z": 37.1321335 + "x": 102.957466, + "y": 28.662529, + "z": 314.586761 }, { - "x": 112.585724, - "y": 28.2153511, - "z": 176.645386 + "x": 111.900208, + "y": 23.8994617, + "z": 311.414917 }, { - "x": 125.6806, - "y": 29.437418, - "z": 113.8275 + "x": 130.803772, + "y": 23.9673481, + "z": 270.273 }, { - "x": 102.72731, - "y": 28.6717739, - "z": 314.5687 + "x": 90.2980042, + "y": 14.62701, + "z": 171.5217 }, { - "x": 99.01148, - "y": 15.1962032, - "z": 41.1899948 + "x": 50.5409851, + "y": 15.1867151, + "z": 157.353775 + }, + { + "x": 106.154358, + "y": 14.5828362, + "z": 63.33437 } ], "sandbox_high": [ { - "x": -16.5156174, - "y": 23.2638969, - "z": 329.840424 + "x": 57.4632835, + "y": 14.4418392, + "z": -31.7662258 }, { - "x": 148.870621, + "x": 91.02775, + "y": 17.1257839, + "z": -92.95362 + }, + { + "x": 142.756683, + "y": 23.1981068, + "z": -84.772316 + }, + { + "x": 112.335709, + "y": 23.15787, + "z": -87.14924 + }, + { + "x": 38.0329781, + "y": 23.270031, + "z": -98.06816 + }, + { + "x": -12.0678473, + "y": 24.3207321, + "z": -57.5081673 + }, + { + "x": 196.360443, + "y": 16.786, + "z": -30.80466 + }, + { + "x": 207.275177, + "y": 16.6755753, + "z": 39.47561 + }, + { + "x": 181.262421, + "y": 16.7284355, + "z": 128.114059 + }, + { + "x": 12.6891594, + "y": 23.92113, + "z": 156.696045 + }, + { + "x": 148.9755, "y": 23.2307129, - "z": 253.958176 + "z": 255.2195 + }, + { + "x": 6.861799, + "y": 23.281229, + "z": 329.646271 + }, + { + "x": 15.0184345, + "y": 23.2690887, + "z": 273.1378 + }, + { + "x": 102.957466, + "y": 28.662529, + "z": 314.586761 }, { - "x": 214.353683, - "y": 16.550972, - "z": 37.1321335 + "x": 111.900208, + "y": 23.8994617, + "z": 311.414917 }, { - "x": 112.585724, - "y": 28.2153511, - "z": 176.645386 + "x": 130.803772, + "y": 23.9673481, + "z": 270.273 }, { - "x": 125.6806, - "y": 29.437418, - "z": 113.8275 + "x": 90.2980042, + "y": 14.62701, + "z": 171.5217 }, { - "x": 102.72731, - "y": 28.6717739, - "z": 314.5687 + "x": 50.5409851, + "y": 15.1867151, + "z": 157.353775 }, { - "x": 99.01148, - "y": 15.1962032, - "z": 41.1899948 + "x": 106.154358, + "y": 14.5828362, + "z": 63.33437 } ] } \ No newline at end of file