h1z1-server 0.47.4-9 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/data/2016/lootTables/containers/Cabinets.json +8 -0
  2. package/data/2016/lootTables/containers/Cabinets_Cube.json +9 -0
  3. package/data/2016/lootTables/containers/Desk.json +30 -36
  4. package/data/2016/lootTables/containers/Dresser.json +17 -1
  5. package/data/2016/lootTables/containers/File_Cabinet.json +21 -68
  6. package/data/2016/lootTables/containers/Fridge.json +7 -44
  7. package/data/2016/lootTables/containers/Locker.json +1 -1
  8. package/data/2016/lootTables/containers/Ottoman.json +10 -68
  9. package/data/2016/lootTables/containers/Wrecked_Car.json +7 -28
  10. package/data/2016/lootTables/containers/Wrecked_Truck.json +8 -36
  11. package/data/2016/lootTables/containers/Wrecked_Van.json +7 -28
  12. package/data/2016/lootTables/containers/sub/Cabinets_pv.json +16 -0
  13. package/data/2016/lootTables/containers/sub/Desk_common.json +16 -0
  14. package/data/2016/lootTables/containers/sub/Desk_desoto.json +14 -0
  15. package/data/2016/lootTables/containers/sub/Desk_military.json +16 -0
  16. package/data/2016/lootTables/containers/sub/Desk_residential.json +17 -0
  17. package/data/2016/lootTables/containers/sub/Dresser_clothing.json +17 -0
  18. package/data/2016/lootTables/containers/sub/Dresser_residential.json +16 -0
  19. package/data/2016/lootTables/containers/sub/File_junk.json +14 -0
  20. package/data/2016/lootTables/containers/sub/File_military.json +21 -0
  21. package/data/2016/lootTables/containers/sub/File_rare.json +16 -0
  22. package/data/2016/lootTables/containers/sub/File_residential.json +17 -0
  23. package/data/2016/lootTables/containers/sub/File_uncommon.json +15 -0
  24. package/data/2016/lootTables/containers/sub/Vehicles_common.json +16 -0
  25. package/data/2016/lootTables/ground/ItemSpawnerRare_Tier00.adr.json +11 -7
  26. package/data/2016/lootTables/ground/ItemSpawnerWorld_Tier00.adr.json +18 -0
  27. package/package.json +4 -1
  28. package/src/servers/LoginServer/loginserver.ts +8 -1
  29. package/src/servers/SoeServer/soeclient.ts +7 -0
  30. package/src/servers/SoeServer/soeserver.ts +65 -1
  31. package/src/servers/ZoneServer2016/classes/trackedentityset.ts +43 -0
  32. package/src/servers/ZoneServer2016/classes/zoneclient.ts +7 -1
  33. package/src/servers/ZoneServer2016/entities/constructiondoor.ts +1 -1
  34. package/src/servers/ZoneServer2016/entities/explosiveentity.ts +2 -23
  35. package/src/servers/ZoneServer2016/entities/projectileentity.ts +3 -2
  36. package/src/servers/ZoneServer2016/entities/vehicle.ts +1 -1
  37. package/src/servers/ZoneServer2016/handlers/commands/commands.ts +1 -1
  38. package/src/servers/ZoneServer2016/managers/aimanager.ts +45 -26
  39. package/src/servers/ZoneServer2016/managers/constructionmanager.ts +1 -1
  40. package/src/servers/ZoneServer2016/managers/decaymanager.test.ts +4 -2
  41. package/src/servers/ZoneServer2016/managers/decaymanager.ts +46 -28
  42. package/src/servers/ZoneServer2016/managers/explosion.worker.ts +230 -0
  43. package/src/servers/ZoneServer2016/managers/explosionmanager.ts +512 -0
  44. package/src/servers/ZoneServer2016/managers/explosionworker.ts +83 -0
  45. package/src/servers/ZoneServer2016/managers/loottablemanager.ts +19 -11
  46. package/src/servers/ZoneServer2016/managers/pluginmanager.test.ts +1 -5
  47. package/src/servers/ZoneServer2016/managers/pluginmanager.ts +8 -0
  48. package/src/servers/ZoneServer2016/managers/worlddatamanager.ts +15 -1
  49. package/src/servers/ZoneServer2016/managers/worldobjectmanager.ts +4 -4
  50. package/src/servers/ZoneServer2016/zonepackethandlers.ts +14 -11
  51. package/src/servers/ZoneServer2016/zoneserver.ts +444 -230
  52. package/src/utils/processErrorHandling.ts +2 -2
@@ -161,6 +161,14 @@
161
161
  }
162
162
  }
163
163
  ]
164
+ },
165
+ {
166
+ "conditions": [{ "condition": "poi_names", "poi_names": ["Pleasant Valley"] }],
167
+ "rolls": { "min": 0, "max": 1 },
168
+ "entries": [
169
+ { "type": "loot_table", "table": "sub/Cabinets_pv", "weight": 70 },
170
+ { "type": "empty", "weight": 30 }
171
+ ]
164
172
  }
165
173
  ]
166
174
  }
@@ -49,6 +49,15 @@
49
49
  }
50
50
  }
51
51
  ]
52
+ },
53
+ {
54
+ "conditions": [{ "condition": "poi_names", "poi_names": ["Pleasant Valley"] }],
55
+ "rolls": { "min": 0, "max": 1 },
56
+ "entries": [
57
+ { "item": 57, "weight": 35 },
58
+ { "item": 56, "weight": 35 },
59
+ { "type": "empty", "weight": 30 }
60
+ ]
52
61
  }
53
62
  ]
54
63
  }
@@ -3,43 +3,37 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [],
6
- "rolls": {
7
- "min": 0,
8
- "max": 2
9
- },
6
+ "rolls": { "min": 0, "max": 2 },
10
7
  "entries": [
11
- {
12
- "item": 23,
13
- "weight": 50,
14
- "count": {
15
- "min": 1,
16
- "max": 2
17
- }
18
- },
19
- {
20
- "item": 2102,
21
- "weight": 50,
22
- "count": {
23
- "min": 1,
24
- "max": 1
25
- }
26
- },
27
- {
28
- "item": 1441,
29
- "weight": 5,
30
- "count": {
31
- "min": 1,
32
- "max": 1
33
- }
34
- },
35
- {
36
- "item": 3460,
37
- "weight": 25,
38
- "count": {
39
- "min": 1,
40
- "max": 1
41
- }
42
- }
8
+ { "item": 23, "weight": 30, "count": { "min": 1, "max": 2 } },
9
+ { "item": 1441, "weight": 5 },
10
+ { "item": 3460, "weight": 3 },
11
+ { "type": "loot_table", "table": "sub/Desk_common", "weight": 40 },
12
+ { "type": "empty", "weight": 20 }
13
+ ]
14
+ },
15
+ {
16
+ "conditions": [{ "condition": "poi_tag", "tags": ["residential"] }],
17
+ "rolls": { "min": 0, "max": 1 },
18
+ "entries": [
19
+ { "type": "loot_table", "table": "sub/Desk_residential", "weight": 70 },
20
+ { "type": "empty", "weight": 30 }
21
+ ]
22
+ },
23
+ {
24
+ "conditions": [{ "condition": "poi_names", "poi_names": ["De Soto Service Stop"] }],
25
+ "rolls": { "min": 0, "max": 1 },
26
+ "entries": [
27
+ { "type": "loot_table", "table": "sub/Desk_desoto", "weight": 75 },
28
+ { "type": "empty", "weight": 25 }
29
+ ]
30
+ },
31
+ {
32
+ "conditions": [{ "condition": "poi_tag", "tags": ["military"] }],
33
+ "rolls": { "min": 0, "max": 2 },
34
+ "entries": [
35
+ { "type": "loot_table", "table": "sub/Desk_military", "weight": 75 },
36
+ { "type": "empty", "weight": 25 }
43
37
  ]
44
38
  }
45
39
  ]
@@ -50,7 +50,7 @@
50
50
  },
51
51
  {
52
52
  "item": 3460,
53
- "weight": 20,
53
+ "weight": 3,
54
54
  "count": {
55
55
  "min": 1,
56
56
  "max": 1
@@ -73,6 +73,22 @@
73
73
  }
74
74
  }
75
75
  ]
76
+ },
77
+ {
78
+ "conditions": [],
79
+ "rolls": { "min": 0, "max": 1 },
80
+ "entries": [
81
+ { "type": "loot_table", "table": "sub/Dresser_clothing", "weight": 70 },
82
+ { "type": "empty", "weight": 30 }
83
+ ]
84
+ },
85
+ {
86
+ "conditions": [{ "condition": "poi_tag", "tags": ["residential"] }],
87
+ "rolls": { "min": 0, "max": 1 },
88
+ "entries": [
89
+ { "type": "loot_table", "table": "sub/Dresser_residential", "weight": 65 },
90
+ { "type": "empty", "weight": 35 }
91
+ ]
76
92
  }
77
93
  ]
78
94
  }
@@ -3,75 +3,28 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [],
6
- "rolls": {
7
- "min": 0,
8
- "max": 5
9
- },
6
+ "rolls": { "min": 0, "max": 3 },
10
7
  "entries": [
11
- {
12
- "item": 1436,
13
- "weight": 3,
14
- "count": {
15
- "min": 1,
16
- "max": 1
17
- }
18
- },
19
- {
20
- "item": 57,
21
- "weight": 8,
22
- "count": {
23
- "min": 1,
24
- "max": 2
25
- }
26
- },
27
- {
28
- "item": 1992,
29
- "weight": 15,
30
- "count": {
31
- "min": 1,
32
- "max": 2
33
- }
34
- },
35
- {
36
- "item": 1719,
37
- "weight": 15,
38
- "count": {
39
- "min": 1,
40
- "max": 1
41
- }
42
- },
43
- {
44
- "item": 2645,
45
- "weight": 4,
46
- "count": {
47
- "min": 1,
48
- "max": 1
49
- }
50
- },
51
- {
52
- "item": 2646,
53
- "weight": 4,
54
- "count": {
55
- "min": 1,
56
- "max": 1
57
- }
58
- },
59
- {
60
- "item": 2647,
61
- "weight": 4,
62
- "count": {
63
- "min": 1,
64
- "max": 1
65
- }
66
- },
67
- {
68
- "item": 2648,
69
- "weight": 4,
70
- "count": {
71
- "min": 1,
72
- "max": 1
73
- }
74
- }
8
+ { "type": "loot_table", "table": "sub/File_junk", "weight": 70 },
9
+ { "type": "loot_table", "table": "sub/File_uncommon", "weight": 12 },
10
+ { "type": "loot_table", "table": "sub/File_rare", "weight": 1 },
11
+ { "type": "empty", "weight": 17 }
12
+ ]
13
+ },
14
+ {
15
+ "conditions": [{ "condition": "poi_tag", "tags": ["residential"] }],
16
+ "rolls": { "min": 0, "max": 1 },
17
+ "entries": [
18
+ { "type": "loot_table", "table": "sub/File_residential", "weight": 65 },
19
+ { "type": "empty", "weight": 35 }
20
+ ]
21
+ },
22
+ {
23
+ "conditions": [{ "condition": "poi_tag", "tags": ["military"] }],
24
+ "rolls": { "min": 0, "max": 2 },
25
+ "entries": [
26
+ { "type": "loot_table", "table": "sub/File_military", "weight": 80 },
27
+ { "type": "empty", "weight": 20 }
75
28
  ]
76
29
  }
77
30
  ]
@@ -3,51 +3,14 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [],
6
- "rolls": {
7
- "min": 0,
8
- "max": 2
9
- },
6
+ "rolls": { "min": 0, "max": 2 },
10
7
  "entries": [
11
- {
12
- "item": 7,
13
- "weight": 50,
14
- "count": {
15
- "min": 1,
16
- "max": 1
17
- }
18
- },
19
- {
20
- "item": 3075,
21
- "weight": 15,
22
- "count": {
23
- "min": 1,
24
- "max": 1
25
- }
26
- },
27
- {
28
- "item": 20,
29
- "weight": 25,
30
- "count": {
31
- "min": 1,
32
- "max": 1
33
- }
34
- },
35
- {
36
- "item": 1535,
37
- "weight": 20,
38
- "count": {
39
- "min": 1,
40
- "max": 1
41
- }
42
- },
43
- {
44
- "item": 1381,
45
- "weight": 25,
46
- "count": {
47
- "min": 1,
48
- "max": 1
49
- }
50
- }
8
+ { "item": 7, "weight": 50 },
9
+ { "item": 3075, "weight": 15 },
10
+ { "item": 20, "weight": 25 },
11
+ { "item": 1535, "weight": 20 },
12
+ { "item": 1381, "weight": 25 },
13
+ { "type": "empty", "weight": 30 }
51
14
  ]
52
15
  }
53
16
  ]
@@ -3,7 +3,7 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [
6
- { "condition": "poi_tag", "tags": ["high_tier", "military"] }
6
+ { "condition": "poi_tag", "tags": ["military"] }
7
7
  ],
8
8
  "rolls": { "min": 0, "max": 1 },
9
9
  "entries": [
@@ -3,75 +3,17 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [],
6
- "rolls": {
7
- "min": 0,
8
- "max": 3
9
- },
6
+ "rolls": { "min": 0, "max": 3 },
10
7
  "entries": [
11
- {
12
- "item": 2088,
13
- "weight": 50,
14
- "count": {
15
- "min": 1,
16
- "max": 1
17
- }
18
- },
19
- {
20
- "item": 2177,
21
- "weight": 50,
22
- "count": {
23
- "min": 1,
24
- "max": 1
25
- }
26
- },
27
- {
28
- "item": 23,
29
- "weight": 50,
30
- "count": {
31
- "min": 1,
32
- "max": 4
33
- }
34
- },
35
- {
36
- "item": 2102,
37
- "weight": 50,
38
- "count": {
39
- "min": 1,
40
- "max": 1
41
- }
42
- },
43
- {
44
- "item": 1380,
45
- "weight": 50,
46
- "count": {
47
- "min": 1,
48
- "max": 1
49
- }
50
- },
51
- {
52
- "item": 142,
53
- "weight": 50,
54
- "count": {
55
- "min": 1,
56
- "max": 1
57
- }
58
- },
59
- {
60
- "item": 3460,
61
- "weight": 25,
62
- "count": {
63
- "min": 1,
64
- "max": 1
65
- }
66
- },
67
- {
68
- "item": 2255,
69
- "weight": 50,
70
- "count": {
71
- "min": 1,
72
- "max": 1
73
- }
74
- }
8
+ { "item": 2088, "weight": 30 },
9
+ { "item": 2177, "weight": 30 },
10
+ { "item": 23, "weight": 20, "count": { "min": 1, "max": 4 } },
11
+ { "item": 2102, "weight": 25 },
12
+ { "item": 1380, "weight": 15 },
13
+ { "item": 142, "weight": 25 },
14
+ { "item": 3460, "weight": 3 },
15
+ { "item": 2255, "weight": 25 },
16
+ { "type": "empty", "weight": 40 }
75
17
  ]
76
18
  }
77
19
  ]
@@ -3,35 +3,14 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [],
6
- "rolls": {
7
- "min": 0,
8
- "max": 3
9
- },
6
+ "rolls": { "min": 0, "max": 3 },
10
7
  "entries": [
11
- {
12
- "item": 48,
13
- "weight": 33,
14
- "count": {
15
- "min": 1,
16
- "max": 3
17
- }
18
- },
19
- {
20
- "item": 46,
21
- "weight": 33,
22
- "count": {
23
- "min": 1,
24
- "max": 3
25
- }
26
- },
27
- {
28
- "item": 1895,
29
- "weight": 15,
30
- "count": {
31
- "min": 1,
32
- "max": 1
33
- }
34
- }
8
+ { "item": 48, "weight": 30, "count": { "min": 1, "max": 3 } },
9
+ { "item": 46, "weight": 25, "count": { "min": 1, "max": 3 } },
10
+ { "item": 155, "weight": 20 },
11
+ { "item": 1895, "weight": 12 },
12
+ { "item": 1467, "weight": 10 },
13
+ { "type": "empty", "weight": 28 }
35
14
  ]
36
15
  }
37
16
  ]
@@ -3,43 +3,15 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [],
6
- "rolls": {
7
- "min": 0,
8
- "max": 4
9
- },
6
+ "rolls": { "min": 0, "max": 4 },
10
7
  "entries": [
11
- {
12
- "item": 48,
13
- "weight": 33,
14
- "count": {
15
- "min": 1,
16
- "max": 3
17
- }
18
- },
19
- {
20
- "item": 46,
21
- "weight": 33,
22
- "count": {
23
- "min": 1,
24
- "max": 3
25
- }
26
- },
27
- {
28
- "item": 155,
29
- "weight": 50,
30
- "count": {
31
- "min": 1,
32
- "max": 1
33
- }
34
- },
35
- {
36
- "item": 47,
37
- "weight": 15,
38
- "count": {
39
- "min": 1,
40
- "max": 1
41
- }
42
- }
8
+ { "item": 48, "weight": 28, "count": { "min": 1, "max": 3 } },
9
+ { "item": 46, "weight": 23, "count": { "min": 1, "max": 3 } },
10
+ { "item": 155, "weight": 20 },
11
+ { "item": 47, "weight": 12 },
12
+ { "item": 1467, "weight": 10 },
13
+ { "item": 1895, "weight": 10 },
14
+ { "type": "empty", "weight": 22 }
43
15
  ]
44
16
  }
45
17
  ]
@@ -3,35 +3,14 @@
3
3
  "pools": [
4
4
  {
5
5
  "conditions": [],
6
- "rolls": {
7
- "min": 0,
8
- "max": 3
9
- },
6
+ "rolls": { "min": 0, "max": 3 },
10
7
  "entries": [
11
- {
12
- "item": 48,
13
- "weight": 33,
14
- "count": {
15
- "min": 1,
16
- "max": 3
17
- }
18
- },
19
- {
20
- "item": 46,
21
- "weight": 33,
22
- "count": {
23
- "min": 1,
24
- "max": 3
25
- }
26
- },
27
- {
28
- "item": 1467,
29
- "weight": 15,
30
- "count": {
31
- "min": 1,
32
- "max": 1
33
- }
34
- }
8
+ { "item": 48, "weight": 30, "count": { "min": 1, "max": 3 } },
9
+ { "item": 46, "weight": 25, "count": { "min": 1, "max": 3 } },
10
+ { "item": 155, "weight": 20 },
11
+ { "item": 1467, "weight": 12 },
12
+ { "item": 1895, "weight": 10 },
13
+ { "type": "empty", "weight": 28 }
35
14
  ]
36
15
  }
37
16
  ]
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 2102, "weight": 15 },
9
+ { "item": 57, "weight": 10 },
10
+ { "item": 56, "weight": 40 },
11
+ { "item": 2324, "weight": 15 },
12
+ { "type": "empty", "weight": 20 }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 56, "weight": 25 },
9
+ { "item": 1436, "weight": 20 },
10
+ { "item": 1512, "weight": 15 },
11
+ { "item": 1696, "weight": 15 },
12
+ { "type": "empty", "weight": 25 }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 1512, "weight": 30 },
9
+ { "item": 56, "weight": 35 },
10
+ { "type": "empty", "weight": 35 }
11
+ ]
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 1895, "weight": 20 },
9
+ { "item": 1429, "weight": 20, "count": { "min": 1, "max": 3 } },
10
+ { "item": 1428, "weight": 15, "count": { "min": 1, "max": 2 } },
11
+ { "item": 1998, "weight": 15, "count": { "min": 1, "max": 2 } },
12
+ { "type": "empty", "weight": 30 }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 2273, "weight": 10 },
9
+ { "item": 1696, "weight": 20 },
10
+ { "item": 2170, "weight": 8 },
11
+ { "item": 57, "weight": 8 },
12
+ { "item": 56, "weight": 15 },
13
+ { "type": "empty", "weight": 42 }
14
+ ]
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 2218, "weight": 15 },
9
+ { "item": 2209, "weight": 15 },
10
+ { "item": 2206, "weight": 15 },
11
+ { "item": 2088, "weight": 20 },
12
+ { "item": 2177, "weight": 20 },
13
+ { "type": "empty", "weight": 15 }
14
+ ]
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 2107, "weight": 20 },
9
+ { "item": 2211, "weight": 20 },
10
+ { "item": 2110, "weight": 20 },
11
+ { "item": 2206, "weight": 15 },
12
+ { "type": "empty", "weight": 25 }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "type": "container",
3
+ "pools": [
4
+ {
5
+ "conditions": [],
6
+ "rolls": { "min": 0, "max": 1 },
7
+ "entries": [
8
+ { "item": 57, "weight": 15 },
9
+ { "item": 56, "weight": 80 },
10
+ { "item": 1436, "weight": 5 }
11
+ ]
12
+ }
13
+ ]
14
+ }