delta-force-core 0.0.0-stage → 0.1.1
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.
- package/dist/data.d.ts +5 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +285 -0
- package/dist/data.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +133 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +92 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/index.json +914 -0
- package/package.json +46 -4
- package/README.md +0 -3
package/dist/data.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACV,MAAM,YAAY,CAAC;AAKpB,eAAO,MAAM,SAAS,EAAE,gBAAgB,EAsCvC,CAAC;AAKF,eAAO,MAAM,OAAO,EAAE,cAAc,EA6GnC,CAAC;AAKF,eAAO,MAAM,SAAS,EAAE,SAwHvB,CAAC"}
|
package/dist/data.js
ADDED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
// =====================================================
|
|
2
|
+
// 三角洲行动 —— 核心数据(人类可读 · 易更新)
|
|
3
|
+
//
|
|
4
|
+
// 🔧 更新指南:
|
|
5
|
+
// · 新增干员:在 OPERATORS 里对应兵种下追加一行
|
|
6
|
+
// · 新增武器:在 WEAPONS 里对应分类下追加一行
|
|
7
|
+
// · 新增防具/头盔/背包/弹挂:在 EQUIPMENT 对应数组里追加 item
|
|
8
|
+
// =====================================================
|
|
9
|
+
// -----------------------------------------------------
|
|
10
|
+
// 干员
|
|
11
|
+
// -----------------------------------------------------
|
|
12
|
+
export const OPERATORS = [
|
|
13
|
+
{
|
|
14
|
+
category: '突击兵',
|
|
15
|
+
operators: [
|
|
16
|
+
{ id: 'honglang', name: '红狼', features: '爆发移速' },
|
|
17
|
+
{ id: 'weilong', name: '威龙', features: '破门震荡' },
|
|
18
|
+
{ id: 'jifeng', name: '疾风', features: '机动位移' },
|
|
19
|
+
{ id: 'wuming', name: '无名', features: '偷袭!' },
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
category: '支援兵',
|
|
24
|
+
operators: [
|
|
25
|
+
{ id: 'fengyi', name: '蜂医', features: '烟位医疗' },
|
|
26
|
+
{ id: 'gu', name: '蛊', features: '毒气控场' },
|
|
27
|
+
{ id: 'die', name: '蝶', features: '救援无人机' },
|
|
28
|
+
{ id: 'lvren', name: '旅人', features: '谁是好狗狗' },
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
category: '工程兵',
|
|
33
|
+
operators: [
|
|
34
|
+
{ id: 'muyangren', name: '牧羊人', features: '声波防线' },
|
|
35
|
+
{ id: 'wululu', name: '乌鲁鲁', features: '巡飞弹压制' },
|
|
36
|
+
{ id: 'shenlan', name: '深蓝', features: '电子工程' },
|
|
37
|
+
{ id: 'yetan', name: '液氮', features: '低温冷却' },
|
|
38
|
+
{ id: 'bite', name: '比特', features: '战术突击' },
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
category: '侦察兵',
|
|
43
|
+
operators: [
|
|
44
|
+
{ id: 'luna', name: '露娜', features: '追踪弓透视' },
|
|
45
|
+
{ id: 'haizhua', name: '骇爪', features: '信号破译' },
|
|
46
|
+
{ id: 'huixiang', name: '回响', features: '声学定位' },
|
|
47
|
+
{ id: 'yinyi', name: '银翼', features: '老鸟窥视' },
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
// -----------------------------------------------------
|
|
52
|
+
// 武器
|
|
53
|
+
// -----------------------------------------------------
|
|
54
|
+
export const WEAPONS = [
|
|
55
|
+
{
|
|
56
|
+
category: '突击步枪',
|
|
57
|
+
weapons: [
|
|
58
|
+
{ id: 'm4a1', name: 'M4A1突击步枪', quality: '紫色', allowNormal: true },
|
|
59
|
+
{ id: 'k416', name: 'K416突击步枪', quality: '金色', allowNormal: true },
|
|
60
|
+
{ id: 'akm', name: 'AKM突击步枪', quality: '蓝色', allowNormal: true },
|
|
61
|
+
{ id: 'qbz95_1', name: 'QBZ-95-1突击步枪', quality: '紫色', allowNormal: true },
|
|
62
|
+
{ id: 'as_val', name: 'AS Val「巨浪」突击步枪', quality: '金色', allowNormal: true },
|
|
63
|
+
{ id: 'tenglong', name: '腾龙突击步枪(QBZ-191)', quality: '金色', allowNormal: true },
|
|
64
|
+
{ id: 'm7', name: 'M7战斗步枪', quality: '金色', allowNormal: true },
|
|
65
|
+
{ id: 'scar_h', name: 'SCAR-H战斗步枪', quality: '金色', allowNormal: true },
|
|
66
|
+
{ id: 'g3', name: 'G3战斗步枪', quality: '紫色', allowNormal: true },
|
|
67
|
+
{ id: 'ak12', name: 'AK-12突击步枪', quality: '紫色', allowNormal: true },
|
|
68
|
+
{ id: 'aug', name: 'AUG突击步枪', quality: '紫色', allowNormal: true },
|
|
69
|
+
{ id: 'sg552', name: 'SG552突击步枪', quality: '蓝色', allowNormal: true },
|
|
70
|
+
{ id: 'm16a4', name: 'M16A4突击步枪', quality: '蓝色', allowNormal: true },
|
|
71
|
+
{ id: 'car15', name: 'CAR-15突击步枪', quality: '绿色', allowNormal: true },
|
|
72
|
+
{ id: 'aks74u', name: 'AKS-74U突击步枪', quality: '绿色', allowNormal: true },
|
|
73
|
+
{ id: 'k437', name: 'K437突击步枪', quality: '紫色', allowNormal: true },
|
|
74
|
+
{ id: 'ptr32', name: 'PTR-32突击步枪', quality: '蓝色', allowNormal: true },
|
|
75
|
+
{ id: 'ash12', name: 'ASh-12战斗步枪', quality: '金色', allowNormal: true },
|
|
76
|
+
{ id: 'kc17', name: 'KC17突击步枪', quality: '紫色', allowNormal: true },
|
|
77
|
+
{ id: 'mk47', name: 'MK47突击步枪', quality: '紫色', allowNormal: true },
|
|
78
|
+
{ id: 'mcx_lt', name: 'MCX LT突击步枪', quality: '金色', allowNormal: true },
|
|
79
|
+
{ id: 'ar57', name: 'AR-57突击步枪', quality: '紫色', allowNormal: true },
|
|
80
|
+
{ id: 'rm277', name: 'RM277突击步枪', quality: '金色', allowNormal: true },
|
|
81
|
+
{ id: 'mdr', name: 'MDR突击步枪', quality: '紫色', allowNormal: true },
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
category: '冲锋枪',
|
|
86
|
+
weapons: [
|
|
87
|
+
{ id: 'uzi', name: 'UZI冲锋枪', quality: '蓝色', allowNormal: true },
|
|
88
|
+
{ id: 'bizon', name: '野牛冲锋枪', quality: '蓝色', allowNormal: true },
|
|
89
|
+
{ id: 'vityaz', name: '勇士冲锋枪', quality: '蓝色', allowNormal: true },
|
|
90
|
+
{ id: 'mp5', name: 'MP5冲锋枪', quality: '紫色', allowNormal: true },
|
|
91
|
+
{ id: 'smg45', name: 'SMG-45冲锋枪', quality: '紫色', allowNormal: true },
|
|
92
|
+
{ id: 'sr3m', name: 'SR-3M紧凑突击步枪', quality: '紫色', allowNormal: true },
|
|
93
|
+
{ id: 'p90', name: 'P90冲锋枪', quality: '金色', allowNormal: true },
|
|
94
|
+
{ id: 'mp7', name: 'MP7冲锋枪', quality: '紫色', allowNormal: true },
|
|
95
|
+
{ id: 'vector', name: 'Vector冲锋枪', quality: '金色', allowNormal: true },
|
|
96
|
+
{ id: 'qcq171', name: 'QCQ171冲锋枪(二〇式)', quality: '紫色', allowNormal: true },
|
|
97
|
+
{ id: 'mk4', name: 'MK4冲锋枪', quality: '紫色', allowNormal: true },
|
|
98
|
+
{ id: 'thompson', name: '汤姆逊冲锋枪', quality: '蓝色', allowNormal: true },
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
category: '精确射手步枪',
|
|
103
|
+
weapons: [
|
|
104
|
+
{ id: 'sr9', name: 'SR9射手步枪', quality: '蓝色', allowNormal: true },
|
|
105
|
+
{ id: 'mini14', name: 'Mini-14射手步枪', quality: '紫色', allowNormal: true },
|
|
106
|
+
{ id: 'm14', name: 'M14战斗射手步枪', quality: '金色', allowNormal: true },
|
|
107
|
+
{ id: 'sks', name: 'SKS射手步枪', quality: '蓝色', allowNormal: true },
|
|
108
|
+
{ id: 'psg1', name: 'PSG-1射手步枪', quality: '金色', allowNormal: true },
|
|
109
|
+
{ id: 'vss', name: 'VSS射手步枪', quality: '紫色', allowNormal: true },
|
|
110
|
+
{ id: 'svd', name: 'SVD狙击步枪', quality: '金色', allowNormal: true },
|
|
111
|
+
{ id: 'sr25', name: 'SR-25射手步枪', quality: '紫色', allowNormal: true },
|
|
112
|
+
{ id: 'marlin', name: '马林杠杆式步枪', quality: '蓝色', allowNormal: true },
|
|
113
|
+
{ id: 'svch', name: 'SVCH射手步枪', quality: '金色', allowNormal: true },
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
category: '狙击步枪',
|
|
118
|
+
weapons: [
|
|
119
|
+
{ id: 'sv98', name: 'SV-98狙击步枪', quality: '蓝色', allowNormal: true },
|
|
120
|
+
{ id: 'r93', name: 'R93狙击步枪', quality: '紫色', allowNormal: true },
|
|
121
|
+
{ id: 'm700', name: 'M700狙击步枪', quality: '紫色', allowNormal: true },
|
|
122
|
+
{ id: 'awm', name: 'AWM重型狙击步枪', quality: '金色', allowNormal: false },
|
|
123
|
+
{ id: 'm82', name: 'M82重型狙击步枪', quality: '金色', allowNormal: false },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
category: '轻机枪',
|
|
128
|
+
weapons: [
|
|
129
|
+
{ id: 'm249', name: 'M249轻机枪', quality: '紫色', allowNormal: true },
|
|
130
|
+
{ id: 'pkm', name: 'PKM通用机枪', quality: '紫色', allowNormal: true },
|
|
131
|
+
{ id: 'qjb201', name: 'QJB-201轻机枪', quality: '金色', allowNormal: true },
|
|
132
|
+
{ id: 'm250', name: 'M250通用机枪', quality: '金色', allowNormal: false },
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
category: '霰弹枪',
|
|
137
|
+
weapons: [
|
|
138
|
+
{ id: 'm870', name: 'M870霰弹枪', quality: '蓝色', allowNormal: true },
|
|
139
|
+
{ id: 'm1014', name: 'M1014半自动霰弹枪', quality: '紫色', allowNormal: true },
|
|
140
|
+
{ id: 's12k', name: 'S12K连发霰弹枪', quality: '紫色', allowNormal: true },
|
|
141
|
+
{ id: 'double_barrel_725', name: '725双管霰弹枪', quality: '蓝色', allowNormal: true },
|
|
142
|
+
{ id: 'fs12', name: 'FS12霰弹枪', quality: '紫色', allowNormal: true },
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
category: '手枪',
|
|
147
|
+
weapons: [
|
|
148
|
+
{ id: 'g17', name: 'G17手枪', quality: '绿色', allowNormal: true },
|
|
149
|
+
{ id: 'qsz92g', name: 'QSZ92G手枪', quality: '绿色', allowNormal: true },
|
|
150
|
+
{ id: 'desert_eagle', name: '沙漠之鹰', quality: '紫色', allowNormal: true },
|
|
151
|
+
{ id: '93r', name: '93R手枪', quality: '蓝色', allowNormal: true },
|
|
152
|
+
{ id: 'g18', name: 'G18手枪', quality: '蓝色', allowNormal: true },
|
|
153
|
+
{ id: 'revolver_357', name: '.357左轮手枪', quality: '蓝色', allowNormal: true },
|
|
154
|
+
{ id: 'm1911', name: 'M1911手枪', quality: '绿色', allowNormal: true },
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
category: '特殊武器',
|
|
159
|
+
weapons: [
|
|
160
|
+
{ id: 'compound_bow', name: '战术复合弓', quality: '金色', allowNormal: true },
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
];
|
|
164
|
+
// -----------------------------------------------------
|
|
165
|
+
// 装备(防具 / 头盔 / 背包 / 弹挂)
|
|
166
|
+
// -----------------------------------------------------
|
|
167
|
+
export const EQUIPMENT = {
|
|
168
|
+
armors: [
|
|
169
|
+
{
|
|
170
|
+
tier: 1,
|
|
171
|
+
allowNormal: true,
|
|
172
|
+
items: [{ id: 'armor_l1_nylon', name: '尼龙防弹衣', features: '极轻无惩罚' }],
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
tier: 2,
|
|
176
|
+
allowNormal: true,
|
|
177
|
+
items: [{ id: 'armor_l2_tg', name: 'TG战术防弹衣', features: '不护腹' }],
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
tier: 3,
|
|
181
|
+
allowNormal: true,
|
|
182
|
+
items: [
|
|
183
|
+
{ id: 'armor_l3_tgh', name: 'TG-H战术防弹衣', features: '75耐久 平民战神' },
|
|
184
|
+
{ id: 'armor_l3_blue_shooter', name: '蓝色射手战术背心', features: '移速惩罚大' },
|
|
185
|
+
{ id: 'armor_l3_hvk', name: 'Hvk快拆防弹衣', features: '不护腹' },
|
|
186
|
+
{ id: 'armor_l3_standard', name: '制式防弹背心', features: '属性一般' },
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
tier: 4,
|
|
191
|
+
allowNormal: true,
|
|
192
|
+
items: [
|
|
193
|
+
{ id: 'armor_l4_mk2', name: 'MK-2战术背心', features: '高耐久耐修' },
|
|
194
|
+
{ id: 'armor_l4_dt_avs', name: 'DT-AVS防弹衣', features: '均衡' },
|
|
195
|
+
{ id: 'armor_l4_assault', name: '突击手防弹背心', features: '中规中矩' },
|
|
196
|
+
{ id: 'armor_l4_samurai', name: '武士防弹背心', features: '移速惩罚大' },
|
|
197
|
+
{ id: 'armor_l4_hmp', name: 'HMP特勤防弹衣', features: '损耗极高' },
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
tier: 5,
|
|
202
|
+
allowNormal: false,
|
|
203
|
+
items: [
|
|
204
|
+
{ id: 'armor_l5_03', name: '03型重型防弹衣', features: '高耐久重甲' },
|
|
205
|
+
{ id: 'armor_l5_mk3', name: 'MK-3战术背心', features: '均衡紫甲' },
|
|
206
|
+
{ id: 'armor_l5_special', name: '特种兵轻型防弹衣', features: '高机动' },
|
|
207
|
+
{ id: 'armor_l5_tactical_shooter', name: '战术射手防弹衣', features: '远对枪' },
|
|
208
|
+
],
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
tier: 6,
|
|
212
|
+
allowNormal: false,
|
|
213
|
+
items: [
|
|
214
|
+
{ id: 'armor_l6_tric', name: '特里克重型防弹甲', features: '顶级防护' },
|
|
215
|
+
{ id: 'armor_l6_asala', name: '阿萨拉防护重甲', features: '不耐修' },
|
|
216
|
+
{ id: 'armor_l6_patrol', name: '巡逻者复合防弹衣', features: '轻型六甲' },
|
|
217
|
+
{ id: 'armor_l6_full', name: '全防护战术背心', features: '全方位保护' },
|
|
218
|
+
],
|
|
219
|
+
},
|
|
220
|
+
],
|
|
221
|
+
helmets: [
|
|
222
|
+
{
|
|
223
|
+
tier: 1,
|
|
224
|
+
allowNormal: true,
|
|
225
|
+
items: [{ id: 'helmet_l1_beanie', name: '奔尼帽', features: '无听力惩罚' }],
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
tier: 2,
|
|
229
|
+
allowNormal: true,
|
|
230
|
+
items: [{ id: 'helmet_l2_dro', name: 'DRO战术头盔', features: '低级头' }],
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
tier: 3,
|
|
234
|
+
allowNormal: true,
|
|
235
|
+
items: [
|
|
236
|
+
{ id: 'helmet_l3_gt1', name: 'GT1战术头盔', features: '无听力惩罚' },
|
|
237
|
+
{ id: 'helmet_l3_blue_shooter', name: '蓝色射手战术头盔', features: '轻微听力惩罚' },
|
|
238
|
+
{ id: 'helmet_l3_as', name: 'AS型防护头盔', features: '不防耳' },
|
|
239
|
+
],
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
tier: 4,
|
|
243
|
+
allowNormal: true,
|
|
244
|
+
items: [
|
|
245
|
+
{ id: 'helmet_l4_gn', name: 'GN久战夜视头盔', features: '夜视仪 无听力惩罚' },
|
|
246
|
+
{ id: 'helmet_l4_dt', name: 'DT轻量化战术头盔', features: '高机动' },
|
|
247
|
+
{ id: 'helmet_l4_samurai', name: '武士战术头盔', features: '全方位带面罩' },
|
|
248
|
+
{ id: 'helmet_l4_hmp', name: 'HMP特勤头盔', features: '听力受限' },
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
tier: 5,
|
|
253
|
+
allowNormal: false,
|
|
254
|
+
items: [
|
|
255
|
+
{ id: 'helmet_l5_special', name: '特种兵战术头盔', features: '听力极佳' },
|
|
256
|
+
{ id: 'helmet_l5_03', name: '03型重型头盔', features: '听力惩罚' },
|
|
257
|
+
{ id: 'helmet_l5_tactical_shooter', name: '战术射手头盔', features: '中远交火' },
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
tier: 6,
|
|
262
|
+
allowNormal: false,
|
|
263
|
+
items: [
|
|
264
|
+
{ id: 'helmet_l6_tric', name: '特里克重型全护头盔', features: '最硬 闷听力' },
|
|
265
|
+
{ id: 'helmet_l6_asala', name: '阿萨拉防护重盔', features: '不耐修' },
|
|
266
|
+
{ id: 'helmet_l6_patrol', name: '巡逻者复合头盔', features: '听力较好' },
|
|
267
|
+
],
|
|
268
|
+
},
|
|
269
|
+
],
|
|
270
|
+
backpacks: [
|
|
271
|
+
{ tier: 1, items: [{ id: 'bp_l1_dg', name: 'DG运动背包', comment: '3x4布局 白包神' }] },
|
|
272
|
+
{ tier: 2, items: [{ id: 'bp_l2_tactical', name: '战术快拆背包', comment: '15格 实用过渡' }] },
|
|
273
|
+
{ tier: 3, items: [{ id: 'bp_l3_ga', name: 'GA野战背包', comment: '20格 洞洞包首选' }] },
|
|
274
|
+
{ tier: 4, items: [{ id: 'bp_l4_d2', name: '战术登山包 (D2)', comment: '24格 紫包首选' }] },
|
|
275
|
+
{ tier: 5, items: [{ id: 'bp_l5_gt5', name: 'GT5野战背包', comment: '30格 最强金包' }] },
|
|
276
|
+
{ tier: 6, items: [{ id: 'bp_l6_gto', name: 'GTO重型战术包', comment: '45格 吞天包' }] },
|
|
277
|
+
],
|
|
278
|
+
chest_rigs: [
|
|
279
|
+
{ tier: 2, items: [{ id: 'rig_l2_general', name: '通用战术弹挂', comment: '9格 实用' }] },
|
|
280
|
+
{ tier: 3, items: [{ id: 'rig_l3_g01', name: 'G01战术弹挂', comment: '13格 蓝挂之王' }] },
|
|
281
|
+
{ tier: 4, items: [{ id: 'rig_l4_drc', name: 'DRC先进侦察胸挂', comment: '17格 紫挂首选' }] },
|
|
282
|
+
{ tier: 5, items: [{ id: 'rig_l5_dar', name: 'DAR突击手胸挂', comment: '24格 天花板' }] },
|
|
283
|
+
],
|
|
284
|
+
};
|
|
285
|
+
//# sourceMappingURL=data.js.map
|
package/dist/data.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Operator, Weapon, ArmorItem, BackpackItem, ChestRigItem, Loadout, WeaponOptions, LoadoutOptions } from './types.js';
|
|
2
|
+
export * from './data.js';
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* 随机抽取一名干员。
|
|
6
|
+
*
|
|
7
|
+
* @param category 兵种分类("突击兵" | "支援兵" | "工程兵" | "侦察兵")。不传则从全部干员中抽取。
|
|
8
|
+
* @throws 当传入的分类不存在或该分类下没有干员时抛错。
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* getRandomOperator(); // 任意干员
|
|
12
|
+
* getRandomOperator('突击兵'); // 只从突击兵里抽
|
|
13
|
+
*/
|
|
14
|
+
export declare function getRandomOperator(category?: string): Operator;
|
|
15
|
+
/**
|
|
16
|
+
* 随机抽取一把武器,支持按武器分类 / 品质 / 普通模式可用性过滤。
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* getRandomWeapon(); // 任意武器
|
|
20
|
+
* getRandomWeapon({ category: '突击步枪' }); // 只抽突击步枪
|
|
21
|
+
* getRandomWeapon({ quality: '金色' }); // 只抽金色
|
|
22
|
+
* getRandomWeapon({ allowNormal: true }); // 只抽普通模式可用的
|
|
23
|
+
* getRandomWeapon({ category: '狙击步枪', quality: '金色' });
|
|
24
|
+
*/
|
|
25
|
+
export declare function getRandomWeapon(options?: WeaponOptions): Weapon;
|
|
26
|
+
/** 随机防具 */
|
|
27
|
+
export declare function getRandomArmor(allowNormal?: boolean): ArmorItem;
|
|
28
|
+
/** 随机头盔 */
|
|
29
|
+
export declare function getRandomHelmet(allowNormal?: boolean): ArmorItem;
|
|
30
|
+
/** 随机背包 */
|
|
31
|
+
export declare function getRandomBackpack(): BackpackItem;
|
|
32
|
+
/** 随机弹挂 */
|
|
33
|
+
export declare function getRandomChestRig(): ChestRigItem;
|
|
34
|
+
/**
|
|
35
|
+
* 随机生成一套完整的战术配置。
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* const loadout = getRandomLoadout();
|
|
39
|
+
* const normalLoadout = getRandomLoadout({ allowNormal: true });
|
|
40
|
+
*/
|
|
41
|
+
export declare function getRandomLoadout(options?: LoadoutOptions): Loadout;
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EAER,MAAM,EACN,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAkC3B;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAY7D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAsBnE;AAsBD,WAAW;AACX,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAE/D;AAED,WAAW;AACX,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAEhE;AAED,WAAW;AACX,wBAAgB,iBAAiB,IAAI,YAAY,CAEhD;AAED,WAAW;AACX,wBAAgB,iBAAiB,IAAI,YAAY,CAEhD;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAWtE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// =====================================================
|
|
2
|
+
// delta-force-core 主入口
|
|
3
|
+
// =====================================================
|
|
4
|
+
import { OPERATORS, WEAPONS, EQUIPMENT } from './data.js';
|
|
5
|
+
// 重新导出数据与类型,方便 `import { OPERATORS } from 'delta-force-core'`
|
|
6
|
+
export * from './data.js';
|
|
7
|
+
export * from './types.js';
|
|
8
|
+
// -----------------------------------------------------
|
|
9
|
+
// 内部工具
|
|
10
|
+
// -----------------------------------------------------
|
|
11
|
+
/** 从数组里随机取一个元素 */
|
|
12
|
+
function pick(list) {
|
|
13
|
+
if (list.length === 0)
|
|
14
|
+
throw new Error('[delta-force-core] 待抽取的列表为空');
|
|
15
|
+
return list[Math.floor(Math.random() * list.length)];
|
|
16
|
+
}
|
|
17
|
+
/** 把分类数组里所有条目拉平 */
|
|
18
|
+
function flatten(groups, key) {
|
|
19
|
+
return groups.flatMap((g) => g[key]);
|
|
20
|
+
}
|
|
21
|
+
/** 通用 allowNormal 过滤(undefined 表示不过滤) */
|
|
22
|
+
function matchAllowNormal(allowNormal, value) {
|
|
23
|
+
if (allowNormal === undefined)
|
|
24
|
+
return true;
|
|
25
|
+
// 未标注 allowNormal 的默认视为 true(允许普通模式)
|
|
26
|
+
return (value ?? true) === allowNormal;
|
|
27
|
+
}
|
|
28
|
+
// -----------------------------------------------------
|
|
29
|
+
// 1. 随机干员
|
|
30
|
+
// -----------------------------------------------------
|
|
31
|
+
/**
|
|
32
|
+
* 随机抽取一名干员。
|
|
33
|
+
*
|
|
34
|
+
* @param category 兵种分类("突击兵" | "支援兵" | "工程兵" | "侦察兵")。不传则从全部干员中抽取。
|
|
35
|
+
* @throws 当传入的分类不存在或该分类下没有干员时抛错。
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* getRandomOperator(); // 任意干员
|
|
39
|
+
* getRandomOperator('突击兵'); // 只从突击兵里抽
|
|
40
|
+
*/
|
|
41
|
+
export function getRandomOperator(category) {
|
|
42
|
+
if (!category) {
|
|
43
|
+
return pick(flatten(OPERATORS, 'operators'));
|
|
44
|
+
}
|
|
45
|
+
const group = OPERATORS.find((g) => g.category === category);
|
|
46
|
+
if (!group) {
|
|
47
|
+
throw new Error(`[delta-force-core] 未找到兵种分类 "${category}",可用分类:${OPERATORS.map((g) => g.category).join(' / ')}`);
|
|
48
|
+
}
|
|
49
|
+
return pick(group.operators);
|
|
50
|
+
}
|
|
51
|
+
// -----------------------------------------------------
|
|
52
|
+
// 2. 随机武器
|
|
53
|
+
// -----------------------------------------------------
|
|
54
|
+
/**
|
|
55
|
+
* 随机抽取一把武器,支持按武器分类 / 品质 / 普通模式可用性过滤。
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* getRandomWeapon(); // 任意武器
|
|
59
|
+
* getRandomWeapon({ category: '突击步枪' }); // 只抽突击步枪
|
|
60
|
+
* getRandomWeapon({ quality: '金色' }); // 只抽金色
|
|
61
|
+
* getRandomWeapon({ allowNormal: true }); // 只抽普通模式可用的
|
|
62
|
+
* getRandomWeapon({ category: '狙击步枪', quality: '金色' });
|
|
63
|
+
*/
|
|
64
|
+
export function getRandomWeapon(options = {}) {
|
|
65
|
+
const { category, quality, allowNormal } = options;
|
|
66
|
+
const pool = [];
|
|
67
|
+
for (const group of WEAPONS) {
|
|
68
|
+
if (category && group.category !== category)
|
|
69
|
+
continue;
|
|
70
|
+
for (const weapon of group.weapons) {
|
|
71
|
+
if (quality && weapon.quality !== quality)
|
|
72
|
+
continue;
|
|
73
|
+
if (!matchAllowNormal(allowNormal, weapon.allowNormal))
|
|
74
|
+
continue;
|
|
75
|
+
pool.push(weapon);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (pool.length === 0) {
|
|
79
|
+
throw new Error(`[delta-force-core] 没有符合条件的武器(category=${category ?? '*'},quality=${quality ?? '*'},allowNormal=${allowNormal ?? '*'})`);
|
|
80
|
+
}
|
|
81
|
+
return pick(pool);
|
|
82
|
+
}
|
|
83
|
+
// -----------------------------------------------------
|
|
84
|
+
// 3. 随机装备(内部 / 也可单独导出)
|
|
85
|
+
// -----------------------------------------------------
|
|
86
|
+
function pickFromTiers(tiers, allowNormal, field = 'items') {
|
|
87
|
+
// 先按 allowNormal 过滤等级
|
|
88
|
+
const validTiers = tiers.filter((t) => matchAllowNormal(allowNormal, t.allowNormal));
|
|
89
|
+
if (validTiers.length === 0) {
|
|
90
|
+
throw new Error('[delta-force-core] 没有符合条件的装备等级');
|
|
91
|
+
}
|
|
92
|
+
// 再把所有条目拉平抽取
|
|
93
|
+
const pool = validTiers.flatMap((t) => t[field]);
|
|
94
|
+
return pick(pool);
|
|
95
|
+
}
|
|
96
|
+
/** 随机防具 */
|
|
97
|
+
export function getRandomArmor(allowNormal) {
|
|
98
|
+
return pickFromTiers(EQUIPMENT.armors, allowNormal);
|
|
99
|
+
}
|
|
100
|
+
/** 随机头盔 */
|
|
101
|
+
export function getRandomHelmet(allowNormal) {
|
|
102
|
+
return pickFromTiers(EQUIPMENT.helmets, allowNormal);
|
|
103
|
+
}
|
|
104
|
+
/** 随机背包 */
|
|
105
|
+
export function getRandomBackpack() {
|
|
106
|
+
return pickFromTiers(EQUIPMENT.backpacks);
|
|
107
|
+
}
|
|
108
|
+
/** 随机弹挂 */
|
|
109
|
+
export function getRandomChestRig() {
|
|
110
|
+
return pickFromTiers(EQUIPMENT.chest_rigs);
|
|
111
|
+
}
|
|
112
|
+
// -----------------------------------------------------
|
|
113
|
+
// 4. 随机完整战术配置
|
|
114
|
+
// -----------------------------------------------------
|
|
115
|
+
/**
|
|
116
|
+
* 随机生成一套完整的战术配置。
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* const loadout = getRandomLoadout();
|
|
120
|
+
* const normalLoadout = getRandomLoadout({ allowNormal: true });
|
|
121
|
+
*/
|
|
122
|
+
export function getRandomLoadout(options = {}) {
|
|
123
|
+
const { allowNormal } = options;
|
|
124
|
+
return {
|
|
125
|
+
operator: getRandomOperator(),
|
|
126
|
+
weapon: getRandomWeapon({ allowNormal }),
|
|
127
|
+
armor: getRandomArmor(allowNormal),
|
|
128
|
+
helmet: getRandomHelmet(allowNormal),
|
|
129
|
+
backpack: getRandomBackpack(),
|
|
130
|
+
chestRig: getRandomChestRig(),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/** 干员 */
|
|
2
|
+
export interface Operator {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
features: string;
|
|
6
|
+
}
|
|
7
|
+
/** 干员分类(如:突击兵 / 支援兵 / 工程兵 / 侦察兵) */
|
|
8
|
+
export interface OperatorCategory {
|
|
9
|
+
category: string;
|
|
10
|
+
operators: Operator[];
|
|
11
|
+
}
|
|
12
|
+
/** 武器 */
|
|
13
|
+
export interface Weapon {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
/** 品质:绿色 / 蓝色 / 紫色 / 金色 */
|
|
17
|
+
quality: string;
|
|
18
|
+
/** 是否允许在普通模式使用 */
|
|
19
|
+
allowNormal: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** 武器分类(如:突击步枪 / 冲锋枪 / ...) */
|
|
22
|
+
export interface WeaponCategory {
|
|
23
|
+
category: string;
|
|
24
|
+
weapons: Weapon[];
|
|
25
|
+
}
|
|
26
|
+
/** 防具 / 头盔条目 */
|
|
27
|
+
export interface ArmorItem {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
features?: string;
|
|
31
|
+
comment?: string;
|
|
32
|
+
}
|
|
33
|
+
/** 防具 / 头盔 等级分组 */
|
|
34
|
+
export interface ArmorTier {
|
|
35
|
+
tier: number;
|
|
36
|
+
/** 是否允许在普通模式使用(缺省视为允许) */
|
|
37
|
+
allowNormal?: boolean;
|
|
38
|
+
items: ArmorItem[];
|
|
39
|
+
}
|
|
40
|
+
/** 背包条目 */
|
|
41
|
+
export interface BackpackItem {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
comment?: string;
|
|
45
|
+
}
|
|
46
|
+
/** 背包等级分组 */
|
|
47
|
+
export interface BackpackTier {
|
|
48
|
+
tier: number;
|
|
49
|
+
items: BackpackItem[];
|
|
50
|
+
}
|
|
51
|
+
/** 弹挂条目 */
|
|
52
|
+
export interface ChestRigItem {
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
comment?: string;
|
|
56
|
+
}
|
|
57
|
+
/** 弹挂等级分组 */
|
|
58
|
+
export interface ChestRigTier {
|
|
59
|
+
tier: number;
|
|
60
|
+
items: ChestRigItem[];
|
|
61
|
+
}
|
|
62
|
+
/** 装备总览 */
|
|
63
|
+
export interface Equipment {
|
|
64
|
+
armors: ArmorTier[];
|
|
65
|
+
helmets: ArmorTier[];
|
|
66
|
+
backpacks: BackpackTier[];
|
|
67
|
+
chest_rigs: ChestRigTier[];
|
|
68
|
+
}
|
|
69
|
+
/** 一套完整战术配置 */
|
|
70
|
+
export interface Loadout {
|
|
71
|
+
operator: Operator;
|
|
72
|
+
weapon: Weapon;
|
|
73
|
+
armor: ArmorItem;
|
|
74
|
+
helmet: ArmorItem;
|
|
75
|
+
backpack: BackpackItem;
|
|
76
|
+
chestRig: ChestRigItem;
|
|
77
|
+
}
|
|
78
|
+
/** getRandomWeapon 过滤选项 */
|
|
79
|
+
export interface WeaponOptions {
|
|
80
|
+
/** 武器大类,如 "突击步枪" */
|
|
81
|
+
category?: string;
|
|
82
|
+
/** 品质,如 "金色" / "紫色" / "蓝色" / "绿色" */
|
|
83
|
+
quality?: string;
|
|
84
|
+
/** true 只返回普通模式可用;false 只返回普通模式不可用;undefined 全部返回 */
|
|
85
|
+
allowNormal?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/** getRandomLoadout 选项 */
|
|
88
|
+
export interface LoadoutOptions {
|
|
89
|
+
/** 是否只使用普通模式可用的装备(武器 / 护甲 / 头盔) */
|
|
90
|
+
allowNormal?: boolean;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,SAAS;AACT,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,SAAS;AACT,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,+BAA+B;AAC/B,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,gBAAgB;AAChB,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,mBAAmB;AACnB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,WAAW;AACX,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,eAAe;AACf,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,0BAA0B;AAC1B,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,wBAAwB;AACxB,wDAAwD"}
|