@spacemolt/lib 13.2.0 → 14.0.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.
- package/COMMANDS.md +5 -3
- package/dist/account.d.ts +0 -6
- package/dist/events/emitter.d.ts +7 -0
- package/dist/generated/actions.gen.d.ts +2 -2
- package/dist/generated/commands.gen.d.ts +13 -5
- package/dist/generated/frames.gen.d.ts +11 -0
- package/dist/generated/openapi/types.gen.d.ts +464 -14
- package/dist/index.js +95 -72
- package/dist/protocol.d.ts +15 -24
- package/dist/transport/correlator.d.ts +0 -1
- package/package.json +1 -1
|
@@ -133,6 +133,8 @@ export type AmmoStats = {
|
|
|
133
133
|
shield_bypass?: number;
|
|
134
134
|
shield_damage_mod?: number;
|
|
135
135
|
splash_pct?: number;
|
|
136
|
+
splash_radius?: number;
|
|
137
|
+
splash_stack_cap?: number;
|
|
136
138
|
untraceable?: boolean;
|
|
137
139
|
};
|
|
138
140
|
export type AnalysisInput = {
|
|
@@ -208,6 +210,60 @@ export type ArenaActionResponse = {
|
|
|
208
210
|
*/
|
|
209
211
|
message: string;
|
|
210
212
|
};
|
|
213
|
+
export type ArenaChallengeDefInfo = {
|
|
214
|
+
/**
|
|
215
|
+
* True when you are undocked at the challenge's arena right now. Starting it also needs locked to be false.
|
|
216
|
+
*/
|
|
217
|
+
at_this_arena: boolean;
|
|
218
|
+
/**
|
|
219
|
+
* Challenge ID to pass as challenge_id to arena action=fight.
|
|
220
|
+
*/
|
|
221
|
+
challenge_id: string;
|
|
222
|
+
/**
|
|
223
|
+
* Lore and briefing for the fight, including what the rules ask of your ship.
|
|
224
|
+
*/
|
|
225
|
+
description: string;
|
|
226
|
+
/**
|
|
227
|
+
* The enemy ships spawned for the fight, one entry per line of the definition.
|
|
228
|
+
*/
|
|
229
|
+
enemies: Array<ArenaEnemyInfo>;
|
|
230
|
+
/**
|
|
231
|
+
* True while any challenge in requires has no win on your record. arena action=fight refuses a locked challenge with challenge_locked.
|
|
232
|
+
*/
|
|
233
|
+
locked: boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Display name of the challenge.
|
|
236
|
+
*/
|
|
237
|
+
name: string;
|
|
238
|
+
/**
|
|
239
|
+
* Arena POI the fight is held at. You must be undocked there to start it.
|
|
240
|
+
*/
|
|
241
|
+
poi_id: string;
|
|
242
|
+
/**
|
|
243
|
+
* Display name of the arena POI.
|
|
244
|
+
*/
|
|
245
|
+
poi_name: string;
|
|
246
|
+
/**
|
|
247
|
+
* Challenge IDs you must have won at least once before this one will start. Empty when the challenge is open to everyone.
|
|
248
|
+
*/
|
|
249
|
+
requires: Array<string>;
|
|
250
|
+
/**
|
|
251
|
+
* Loadout rules every ship on your side must pass. Zero or omitted fields are unrestricted. A ship that breaks a rule refuses the whole side with a rule_* error naming the pilot, the hull and the rule.
|
|
252
|
+
*/
|
|
253
|
+
rules: ArenaRules;
|
|
254
|
+
/**
|
|
255
|
+
* Series the challenge belongs to. Challenges list in series, then stage, order.
|
|
256
|
+
*/
|
|
257
|
+
series: string;
|
|
258
|
+
/**
|
|
259
|
+
* Position within the series, from 1. Higher stages are harder.
|
|
260
|
+
*/
|
|
261
|
+
stage: number;
|
|
262
|
+
/**
|
|
263
|
+
* Times you have won this challenge. 0 until your first win.
|
|
264
|
+
*/
|
|
265
|
+
wins: number;
|
|
266
|
+
};
|
|
211
267
|
export type ArenaChallengeInfo = {
|
|
212
268
|
/**
|
|
213
269
|
* ID of the pending challenge.
|
|
@@ -268,11 +324,135 @@ export type ArenaChallengeResponse = {
|
|
|
268
324
|
*/
|
|
269
325
|
target_name: string;
|
|
270
326
|
};
|
|
327
|
+
export type ArenaChallengesResponse = {
|
|
328
|
+
/**
|
|
329
|
+
* Always challenges.
|
|
330
|
+
*/
|
|
331
|
+
action: 'challenges';
|
|
332
|
+
/**
|
|
333
|
+
* Every NPC challenge in the game, in series then stage order. Empty when none are defined.
|
|
334
|
+
*/
|
|
335
|
+
challenges: Array<ArenaChallengeDefInfo>;
|
|
336
|
+
};
|
|
271
337
|
export type ArenaDroneEntry = {
|
|
272
338
|
hull: number;
|
|
273
339
|
owner_id: string;
|
|
274
340
|
status: string;
|
|
275
341
|
};
|
|
342
|
+
export type ArenaEnemyInfo = {
|
|
343
|
+
/**
|
|
344
|
+
* How many ships of this line the challenge spawns. Always at least 1.
|
|
345
|
+
*/
|
|
346
|
+
count: number;
|
|
347
|
+
/**
|
|
348
|
+
* True for the named headline enemy of the fight. Your ship opens targeting the boss when there is one.
|
|
349
|
+
*/
|
|
350
|
+
is_boss: boolean;
|
|
351
|
+
/**
|
|
352
|
+
* Display name of the enemy. Copies of a multi-ship line are numbered (Ring Cleaver 1, Ring Cleaver 2) once spawned.
|
|
353
|
+
*/
|
|
354
|
+
name: string;
|
|
355
|
+
/**
|
|
356
|
+
* Ship class ID of the enemy hull.
|
|
357
|
+
*/
|
|
358
|
+
ship_class: string;
|
|
359
|
+
/**
|
|
360
|
+
* Display name of the enemy hull.
|
|
361
|
+
*/
|
|
362
|
+
ship_class_name: string;
|
|
363
|
+
};
|
|
364
|
+
export type ArenaFightResponse = {
|
|
365
|
+
/**
|
|
366
|
+
* Always fight.
|
|
367
|
+
*/
|
|
368
|
+
action: 'fight';
|
|
369
|
+
/**
|
|
370
|
+
* ID of the arena battle. Use the battle command and get_battle_status to fight it.
|
|
371
|
+
*/
|
|
372
|
+
battle_id: string;
|
|
373
|
+
/**
|
|
374
|
+
* Challenge ID that was started.
|
|
375
|
+
*/
|
|
376
|
+
challenge_id: string;
|
|
377
|
+
/**
|
|
378
|
+
* The enemy lines of the challenge, as listed by arena action=challenges.
|
|
379
|
+
*/
|
|
380
|
+
enemies: Array<ArenaEnemyInfo>;
|
|
381
|
+
/**
|
|
382
|
+
* Battle side ID every challenge enemy fights on.
|
|
383
|
+
*/
|
|
384
|
+
enemy_side: number;
|
|
385
|
+
/**
|
|
386
|
+
* Human-readable confirmation.
|
|
387
|
+
*/
|
|
388
|
+
message: string;
|
|
389
|
+
/**
|
|
390
|
+
* Display name of the challenge.
|
|
391
|
+
*/
|
|
392
|
+
name: string;
|
|
393
|
+
/**
|
|
394
|
+
* Every combatant in the match at the moment it started, your side and the enemies. Enemy entries carry the spawned NPC's id as player_id.
|
|
395
|
+
*/
|
|
396
|
+
participants: Array<ArenaParticipantInfo>;
|
|
397
|
+
/**
|
|
398
|
+
* Your battle side ID. Fleet members share it.
|
|
399
|
+
*/
|
|
400
|
+
your_side: number;
|
|
401
|
+
};
|
|
402
|
+
export type ArenaNpcInfo = {
|
|
403
|
+
/**
|
|
404
|
+
* ID of the arena match the enemy is fighting in. Enemies exist only for the length of their match.
|
|
405
|
+
*/
|
|
406
|
+
battle_id: string;
|
|
407
|
+
/**
|
|
408
|
+
* Current hull points.
|
|
409
|
+
*/
|
|
410
|
+
hull: number;
|
|
411
|
+
/**
|
|
412
|
+
* True for the named headline enemy of its challenge.
|
|
413
|
+
*/
|
|
414
|
+
is_boss: boolean;
|
|
415
|
+
/**
|
|
416
|
+
* Maximum hull points.
|
|
417
|
+
*/
|
|
418
|
+
max_hull: number;
|
|
419
|
+
/**
|
|
420
|
+
* Maximum shield points.
|
|
421
|
+
*/
|
|
422
|
+
max_shield: number;
|
|
423
|
+
/**
|
|
424
|
+
* Display name of the enemy.
|
|
425
|
+
*/
|
|
426
|
+
name: string;
|
|
427
|
+
/**
|
|
428
|
+
* Combat ID of the enemy: the player_id it carries in battle payloads and the id to target with the battle command.
|
|
429
|
+
*/
|
|
430
|
+
npc_id: string;
|
|
431
|
+
/**
|
|
432
|
+
* Primary livery color as #RRGGBB.
|
|
433
|
+
*/
|
|
434
|
+
primary_color: string;
|
|
435
|
+
/**
|
|
436
|
+
* Secondary livery color as #RRGGBB.
|
|
437
|
+
*/
|
|
438
|
+
secondary_color: string;
|
|
439
|
+
/**
|
|
440
|
+
* Current shield points.
|
|
441
|
+
*/
|
|
442
|
+
shield: number;
|
|
443
|
+
/**
|
|
444
|
+
* Ship class ID of the enemy hull.
|
|
445
|
+
*/
|
|
446
|
+
ship_class: string;
|
|
447
|
+
/**
|
|
448
|
+
* Display name of the enemy hull.
|
|
449
|
+
*/
|
|
450
|
+
ship_class_name: string;
|
|
451
|
+
/**
|
|
452
|
+
* The enemy's status line, as a player's status message. Omitted when it has none.
|
|
453
|
+
*/
|
|
454
|
+
status?: string;
|
|
455
|
+
};
|
|
276
456
|
export type ArenaParticipantInfo = {
|
|
277
457
|
/**
|
|
278
458
|
* Player ID.
|
|
@@ -296,6 +476,10 @@ export type ArenaResponse = ({
|
|
|
296
476
|
} & ArenaActionResponse) | ({
|
|
297
477
|
action: 'status';
|
|
298
478
|
} & ArenaStatusResponse) | ({
|
|
479
|
+
action: 'challenges';
|
|
480
|
+
} & ArenaChallengesResponse) | ({
|
|
481
|
+
action: 'fight';
|
|
482
|
+
} & ArenaFightResponse) | ({
|
|
299
483
|
action: 'help';
|
|
300
484
|
} & CommandHelpResponse);
|
|
301
485
|
export type ArenaRestoreState = {
|
|
@@ -307,6 +491,112 @@ export type ArenaRestoreState = {
|
|
|
307
491
|
[key: string]: ArenaShipEntry;
|
|
308
492
|
};
|
|
309
493
|
};
|
|
494
|
+
export type ArenaRules = {
|
|
495
|
+
/**
|
|
496
|
+
* Item IDs allowed in cargo. Omitted or empty = any item.
|
|
497
|
+
*/
|
|
498
|
+
allowed_cargo?: Array<string>;
|
|
499
|
+
/**
|
|
500
|
+
* Weapon damage types allowed (kinetic, energy, thermal, em, explosive, void). Omitted or empty = every type.
|
|
501
|
+
*/
|
|
502
|
+
allowed_damage_types?: Array<string>;
|
|
503
|
+
/**
|
|
504
|
+
* Hull classes allowed (Fighter, Freighter, Miner, ...), case-insensitive. Omitted or empty = every class.
|
|
505
|
+
*/
|
|
506
|
+
allowed_hull_classes?: Array<string>;
|
|
507
|
+
/**
|
|
508
|
+
* Module IDs allowed on the hull. Omitted or empty = any module.
|
|
509
|
+
*/
|
|
510
|
+
allowed_modules?: Array<string>;
|
|
511
|
+
/**
|
|
512
|
+
* Ship categories allowed (Combat, Industrial, Commercial, ...), case-insensitive. Omitted or empty = every category.
|
|
513
|
+
*/
|
|
514
|
+
allowed_ship_categories?: Array<string>;
|
|
515
|
+
/**
|
|
516
|
+
* Ship class IDs allowed. Omitted or empty = every ship class.
|
|
517
|
+
*/
|
|
518
|
+
allowed_ship_classes?: Array<string>;
|
|
519
|
+
/**
|
|
520
|
+
* Item IDs refused in cargo and refused by use_item during the match. Omitted or empty = none banned.
|
|
521
|
+
*/
|
|
522
|
+
banned_cargo?: Array<string>;
|
|
523
|
+
/**
|
|
524
|
+
* Consumable effect types refused (repair, shield, buff, emergency_jump, fuel, power). Omitted or empty = none banned.
|
|
525
|
+
*/
|
|
526
|
+
banned_effect_types?: Array<string>;
|
|
527
|
+
/**
|
|
528
|
+
* Hull classes refused, case-insensitive. Omitted or empty = none banned.
|
|
529
|
+
*/
|
|
530
|
+
banned_hull_classes?: Array<string>;
|
|
531
|
+
/**
|
|
532
|
+
* Module IDs refused. Omitted or empty = none banned.
|
|
533
|
+
*/
|
|
534
|
+
banned_modules?: Array<string>;
|
|
535
|
+
/**
|
|
536
|
+
* Ship categories refused, case-insensitive. Omitted or empty = none banned.
|
|
537
|
+
*/
|
|
538
|
+
banned_ship_categories?: Array<string>;
|
|
539
|
+
/**
|
|
540
|
+
* Ship class IDs refused. Omitted or empty = none banned.
|
|
541
|
+
*/
|
|
542
|
+
banned_ship_classes?: Array<string>;
|
|
543
|
+
/**
|
|
544
|
+
* Maximum crew aboard (fit plus injured). Omitted or 0 = no cap.
|
|
545
|
+
*/
|
|
546
|
+
max_crew?: number;
|
|
547
|
+
/**
|
|
548
|
+
* Maximum marines aboard. Omitted or 0 = no cap.
|
|
549
|
+
*/
|
|
550
|
+
max_marines?: number;
|
|
551
|
+
/**
|
|
552
|
+
* Largest ship scale allowed (1 = personal ... 5 = capital). Omitted or 0 = no cap.
|
|
553
|
+
*/
|
|
554
|
+
max_ship_scale?: number;
|
|
555
|
+
/**
|
|
556
|
+
* Highest ship tier allowed (0-5). Omitted or 0 = no cap.
|
|
557
|
+
*/
|
|
558
|
+
max_ship_tier?: number;
|
|
559
|
+
/**
|
|
560
|
+
* Maximum ships per side. 0 = every eligible fleet member joins, 1 = solo duel.
|
|
561
|
+
*/
|
|
562
|
+
max_side_size: number;
|
|
563
|
+
/**
|
|
564
|
+
* Lowest ship tier allowed (0-5). Omitted or 0 = no minimum.
|
|
565
|
+
*/
|
|
566
|
+
min_ship_tier?: number;
|
|
567
|
+
/**
|
|
568
|
+
* Minimum ships a side must bring. Omitted or 0 = no minimum.
|
|
569
|
+
*/
|
|
570
|
+
min_side_size?: number;
|
|
571
|
+
/**
|
|
572
|
+
* True when magazine-fed weapons are refused. Omitted = allowed.
|
|
573
|
+
*/
|
|
574
|
+
no_ammo_weapons?: boolean;
|
|
575
|
+
/**
|
|
576
|
+
* True when boarding gear is refused. Omitted = allowed.
|
|
577
|
+
*/
|
|
578
|
+
no_boarding?: boolean;
|
|
579
|
+
/**
|
|
580
|
+
* True when cloaking modules are refused. Omitted = allowed.
|
|
581
|
+
*/
|
|
582
|
+
no_cloak?: boolean;
|
|
583
|
+
/**
|
|
584
|
+
* True when no consumable (any item use_item accepts) may be carried in or used. Omitted = consumables allowed.
|
|
585
|
+
*/
|
|
586
|
+
no_consumables?: boolean;
|
|
587
|
+
/**
|
|
588
|
+
* True when drone bays and deployed drones are refused. Omitted = allowed.
|
|
589
|
+
*/
|
|
590
|
+
no_drones?: boolean;
|
|
591
|
+
/**
|
|
592
|
+
* True when webifiers, disruptors and scramblers are refused. Omitted = allowed.
|
|
593
|
+
*/
|
|
594
|
+
no_tackle?: boolean;
|
|
595
|
+
/**
|
|
596
|
+
* True when ships must enter with an empty hold. Omitted = cargo allowed.
|
|
597
|
+
*/
|
|
598
|
+
require_empty_cargo?: boolean;
|
|
599
|
+
};
|
|
310
600
|
export type ArenaShipEntry = {
|
|
311
601
|
armor: number;
|
|
312
602
|
hull: number;
|
|
@@ -388,15 +678,23 @@ export type AttackLogEntry = {
|
|
|
388
678
|
emergency_cloak_strength?: number;
|
|
389
679
|
final_damage: number;
|
|
390
680
|
flat_reduction_pct?: number;
|
|
681
|
+
/**
|
|
682
|
+
* Ship-level hit chance in [0.05,0.95] that every weapon starts from (separation, skills, modules, stance, speed). Each entry in weapons[] carries its own hit_chance with that weapon's ammo and mine modifiers added.
|
|
683
|
+
*/
|
|
391
684
|
hit_chance: number;
|
|
392
|
-
|
|
685
|
+
/**
|
|
686
|
+
* True when at least one weapon hit. Per-weapon outcomes are in weapons[].
|
|
687
|
+
*/
|
|
393
688
|
hit_success: boolean;
|
|
394
689
|
hull_damage: number;
|
|
395
690
|
ignored_resistance_pct?: number;
|
|
691
|
+
/**
|
|
692
|
+
* Sum of the damage of the weapons that hit, after offensive skill and buff bonuses, before the target's stance and defenses. 0 when every weapon missed. Rows recorded before per-weapon rolls report their single-roll volley damage here.
|
|
693
|
+
*/
|
|
694
|
+
landed_damage: number;
|
|
396
695
|
lifesteal_pct?: number;
|
|
397
696
|
mine_duration?: number;
|
|
398
697
|
off_buff_pct?: number;
|
|
399
|
-
pre_hit_damage: number;
|
|
400
698
|
raw_damage: number;
|
|
401
699
|
secondary_kind?: string;
|
|
402
700
|
shield_damage: number;
|
|
@@ -571,7 +869,7 @@ export type BattleCombatState = {
|
|
|
571
869
|
*/
|
|
572
870
|
disruption_ticks?: number;
|
|
573
871
|
/**
|
|
574
|
-
* Your
|
|
872
|
+
* Your derived combat speed after fitted modules, temporary buffs, pilot skills, EM disruption, and enemy webifiers. This value drives hit chance, maneuvering, escape, and boarding pursuit.
|
|
575
873
|
*/
|
|
576
874
|
effective_speed: number;
|
|
577
875
|
/**
|
|
@@ -619,11 +917,11 @@ export type BattleCombatState = {
|
|
|
619
917
|
*/
|
|
620
918
|
warp_disrupted: boolean;
|
|
621
919
|
/**
|
|
622
|
-
* Combined
|
|
920
|
+
* Combined combat-speed penalty from enemy webifiers as a percentage. Webifier penalties add and cap at 75%.
|
|
623
921
|
*/
|
|
624
922
|
web_strength_pct?: number;
|
|
625
923
|
/**
|
|
626
|
-
* An enemy stasis webifier is
|
|
924
|
+
* An enemy stasis webifier is reducing your effective combat speed.
|
|
627
925
|
*/
|
|
628
926
|
webbed: boolean;
|
|
629
927
|
};
|
|
@@ -765,7 +1063,7 @@ export type BattleResponse = {
|
|
|
765
1063
|
*/
|
|
766
1064
|
battle_id?: string;
|
|
767
1065
|
/**
|
|
768
|
-
* Marines
|
|
1066
|
+
* Marines requested for the queued boarding attempt, echoed back. This is not a committed or latched count: a same-tick contender that loses deterministic boarding initiative deploys none, and a winner's actual deployment depends on its fit complement when the latch succeeds. Present on a board stance only. Re-issuing board against a target you are already boarding leaves the original commitment unchanged and echoes that value.
|
|
769
1067
|
*/
|
|
770
1068
|
marines_requested?: number;
|
|
771
1069
|
/**
|
|
@@ -780,7 +1078,7 @@ export type BattleResponse = {
|
|
|
780
1078
|
*/
|
|
781
1079
|
self_destruct_countdown?: number;
|
|
782
1080
|
/**
|
|
783
|
-
* Combat stance
|
|
1081
|
+
* Combat stance requested by action=stance. Ordinary stance changes apply on the next battle tick. A queued board request becomes exclusive and suppresses your weapons only if it wins any same-tick hull conflict; deterministic boarding initiative selects one physical link and the battle log records rejected contenders. Switching away from an active board stance begins a multi-tick withdrawal that costs marines — the requested replacement stance applies once disengagement finishes.
|
|
784
1082
|
*/
|
|
785
1083
|
stance?: 'fire' | 'evade' | 'brace' | 'flee' | 'board';
|
|
786
1084
|
/**
|
|
@@ -932,7 +1230,7 @@ export type BoardingStateLogEntry = {
|
|
|
932
1230
|
*/
|
|
933
1231
|
phase: 'latching' | 'assault' | 'withdrawing' | 'resolved' | 'self_destruct';
|
|
934
1232
|
/**
|
|
935
|
-
* Why the event fired, when the event alone is ambiguous.
|
|
1233
|
+
* Why the event fired, when the event alone is ambiguous. boarding_rejected carries either a validation reason or contested_same_tick when deterministic boarding initiative selected another eligible request sharing either hull. self_destruct_canceled may carry battle_ended when combat ending cleared the countdown. Omitted otherwise.
|
|
936
1234
|
*/
|
|
937
1235
|
reason?: string;
|
|
938
1236
|
/**
|
|
@@ -4075,6 +4373,10 @@ export type FleetStatusMember = {
|
|
|
4075
4373
|
};
|
|
4076
4374
|
export type FleetStatusResponse = {
|
|
4077
4375
|
action: 'status';
|
|
4376
|
+
/**
|
|
4377
|
+
* True when this fleet exceeded ordinary capacity at an arena and will disband if its leader leaves the arena. Omitted or false means this is an ordinary fleet.
|
|
4378
|
+
*/
|
|
4379
|
+
arena_only?: boolean;
|
|
4078
4380
|
fleet_id?: string;
|
|
4079
4381
|
in_fleet: boolean;
|
|
4080
4382
|
invite_fleet?: string;
|
|
@@ -4082,6 +4384,9 @@ export type FleetStatusResponse = {
|
|
|
4082
4384
|
invites?: Array<FleetStatusInvite>;
|
|
4083
4385
|
is_leader?: boolean;
|
|
4084
4386
|
leader?: string;
|
|
4387
|
+
/**
|
|
4388
|
+
* Maximum fleet membership for an ordinary fleet. Omitted for an unlimited arena-only fleet.
|
|
4389
|
+
*/
|
|
4085
4390
|
max_size?: number;
|
|
4086
4391
|
members?: Array<FleetStatusMember>;
|
|
4087
4392
|
pending_invite?: boolean;
|
|
@@ -4368,6 +4673,14 @@ export type GetMissionsResponse = {
|
|
|
4368
4673
|
missions: Array<MissionInfo>;
|
|
4369
4674
|
};
|
|
4370
4675
|
export type GetNearbyResponse = {
|
|
4676
|
+
/**
|
|
4677
|
+
* Number of entries in arena_npcs.
|
|
4678
|
+
*/
|
|
4679
|
+
arena_npc_count: number;
|
|
4680
|
+
/**
|
|
4681
|
+
* Challenge enemies fighting an arena match held at this POI. Empty when no NPC challenge is in progress here. They exist only for the length of their match and cannot be attacked from outside it.
|
|
4682
|
+
*/
|
|
4683
|
+
arena_npcs: Array<ArenaNpcInfo>;
|
|
4371
4684
|
count: number;
|
|
4372
4685
|
creature_count: number;
|
|
4373
4686
|
creatures: Array<CreatureInfo>;
|
|
@@ -4704,6 +5017,14 @@ export type ItemEffect = {
|
|
|
4704
5017
|
ammo?: AmmoStats;
|
|
4705
5018
|
amount?: number;
|
|
4706
5019
|
duration?: number;
|
|
5020
|
+
/**
|
|
5021
|
+
* Magnitude of the consumable's additional effect. Read together with secondary_stat.
|
|
5022
|
+
*/
|
|
5023
|
+
secondary_amount?: number;
|
|
5024
|
+
/**
|
|
5025
|
+
* Stat modified by the consumable's additional effect. Omitted when the item has only one effect.
|
|
5026
|
+
*/
|
|
5027
|
+
secondary_stat?: string;
|
|
4707
5028
|
stat?: string;
|
|
4708
5029
|
subtype?: string;
|
|
4709
5030
|
type: string;
|
|
@@ -5285,6 +5606,10 @@ export type Module = {
|
|
|
5285
5606
|
hull_bonus?: number;
|
|
5286
5607
|
hull_penalty?: number;
|
|
5287
5608
|
id: string;
|
|
5609
|
+
/**
|
|
5610
|
+
* Percentage points subtracted from each hostile ECM lock-break roll. Fitted bonuses stack up to the combat resistance cap.
|
|
5611
|
+
*/
|
|
5612
|
+
jam_resistance?: number;
|
|
5288
5613
|
jam_strength?: number;
|
|
5289
5614
|
latch_resistance?: number;
|
|
5290
5615
|
latch_strength?: number;
|
|
@@ -5310,7 +5635,14 @@ export type Module = {
|
|
|
5310
5635
|
reactive_resistance?: number;
|
|
5311
5636
|
refit_capability?: boolean;
|
|
5312
5637
|
remote_medical_treatment?: boolean;
|
|
5638
|
+
/**
|
|
5639
|
+
* Hull points repaired per tick on the most-wounded eligible ally.
|
|
5640
|
+
*/
|
|
5313
5641
|
remote_repair_power?: number;
|
|
5642
|
+
/**
|
|
5643
|
+
* Maximum remote-repair range in same-side radial-band distance to an eligible ally.
|
|
5644
|
+
*/
|
|
5645
|
+
remote_repair_range?: number;
|
|
5314
5646
|
required_skills?: {
|
|
5315
5647
|
[key: string]: number;
|
|
5316
5648
|
};
|
|
@@ -5332,6 +5664,10 @@ export type Module = {
|
|
|
5332
5664
|
speed_penalty?: number;
|
|
5333
5665
|
survey_power?: number;
|
|
5334
5666
|
targeting_reduction?: number;
|
|
5667
|
+
/**
|
|
5668
|
+
* Percentage points subtracted from hostile sensor-dampener reach reduction. Fitted bonuses stack up to the combat resistance cap.
|
|
5669
|
+
*/
|
|
5670
|
+
targeting_resistance?: number;
|
|
5335
5671
|
tow_speed_penalty?: number;
|
|
5336
5672
|
tracking_bonus?: number;
|
|
5337
5673
|
type: string;
|
|
@@ -6226,6 +6562,14 @@ export type ObjectiveInfo = {
|
|
|
6226
6562
|
system_name?: string;
|
|
6227
6563
|
target_base_id?: string;
|
|
6228
6564
|
target_base_name?: string;
|
|
6565
|
+
/**
|
|
6566
|
+
* kill_player objectives only: the username of the pilot this bounty names
|
|
6567
|
+
*/
|
|
6568
|
+
target_player?: string;
|
|
6569
|
+
/**
|
|
6570
|
+
* kill_player objectives only: the ID of the pilot this bounty names
|
|
6571
|
+
*/
|
|
6572
|
+
target_player_id?: string;
|
|
6229
6573
|
type: string;
|
|
6230
6574
|
};
|
|
6231
6575
|
export type ObjectiveProgressInfo = {
|
|
@@ -6249,6 +6593,14 @@ export type ObjectiveProgressInfo = {
|
|
|
6249
6593
|
system_name?: string;
|
|
6250
6594
|
target_base?: string;
|
|
6251
6595
|
target_base_name?: string;
|
|
6596
|
+
/**
|
|
6597
|
+
* kill_player objectives only: the username of the pilot this bounty names
|
|
6598
|
+
*/
|
|
6599
|
+
target_player?: string;
|
|
6600
|
+
/**
|
|
6601
|
+
* kill_player objectives only: the ID of the pilot this bounty names
|
|
6602
|
+
*/
|
|
6603
|
+
target_player_id?: string;
|
|
6252
6604
|
type: string;
|
|
6253
6605
|
};
|
|
6254
6606
|
export type OpenOrderSummary = {
|
|
@@ -6609,6 +6961,12 @@ export type PlaceShipBuyOrderResponse = {
|
|
|
6609
6961
|
* A player account with progression, customization, and current state.
|
|
6610
6962
|
*/
|
|
6611
6963
|
export type Player = {
|
|
6964
|
+
/**
|
|
6965
|
+
* Times each arena NPC challenge was won, keyed by challenge ID (see arena action=challenges). Omitted until the first win.
|
|
6966
|
+
*/
|
|
6967
|
+
arena_won?: {
|
|
6968
|
+
[key: string]: number;
|
|
6969
|
+
};
|
|
6612
6970
|
/**
|
|
6613
6971
|
* Combat XP earned from arena fights today (UTC), per skill. Omitted until the player fights in an arena. Resets when the day changes.
|
|
6614
6972
|
*/
|
|
@@ -7520,9 +7878,9 @@ export type SellWreckResponse = {
|
|
|
7520
7878
|
* True when the engine undocked you automatically before running this command, because the command requires being undocked. Omitted when no automatic undock happened.
|
|
7521
7879
|
*/
|
|
7522
7880
|
auto_undocked?: boolean;
|
|
7523
|
-
cargo_value?: number;
|
|
7524
7881
|
message: string;
|
|
7525
7882
|
new_balance: number;
|
|
7883
|
+
offer: number;
|
|
7526
7884
|
salvage_value?: number;
|
|
7527
7885
|
ship_class?: string;
|
|
7528
7886
|
total_payout: number;
|
|
@@ -7944,7 +8302,7 @@ export type ShipClass = {
|
|
|
7944
8302
|
[key: string]: unknown;
|
|
7945
8303
|
}>;
|
|
7946
8304
|
/**
|
|
7947
|
-
* Minimum reputation with the ship's empire to commission or buy this ship (0 = no requirement)
|
|
8305
|
+
* Minimum reputation with the ship's empire to commission or buy this ship (0 = no requirement). Not applied to a faction-funded build at the faction's own station when the faction holds a buy_ship_license for this design — the license authorizes that build instead
|
|
7948
8306
|
*/
|
|
7949
8307
|
required_reputation?: number;
|
|
7950
8308
|
/**
|
|
@@ -9344,6 +9702,16 @@ export type V2Personnel = {
|
|
|
9344
9702
|
injured_marines: number;
|
|
9345
9703
|
};
|
|
9346
9704
|
export type V2Player = {
|
|
9705
|
+
/**
|
|
9706
|
+
* NPC arena challenge win counts, keyed by challenge_id. Omitted until the first NPC-trial win; a missing challenge key means zero wins.
|
|
9707
|
+
*/
|
|
9708
|
+
arena_won?: {
|
|
9709
|
+
[key: string]: number;
|
|
9710
|
+
};
|
|
9711
|
+
/**
|
|
9712
|
+
* Combat XP earned from arena fights during the UTC date in day, keyed by skill ID in by_skill. Omitted until the first arena fight; a missing skill key means zero XP. The ledger resets when the UTC date changes.
|
|
9713
|
+
*/
|
|
9714
|
+
arena_xp?: ArenaXpLedger;
|
|
9347
9715
|
/**
|
|
9348
9716
|
* Empire IDs this player holds citizenship in (omitted when empty). Independent of the immutable origin empire.
|
|
9349
9717
|
*/
|
|
@@ -9716,6 +10084,18 @@ export type WeaponFireDetail = {
|
|
|
9716
10084
|
crit_roll: number;
|
|
9717
10085
|
damage: number;
|
|
9718
10086
|
damage_type: string;
|
|
10087
|
+
/**
|
|
10088
|
+
* This weapon's own hit chance in [0.05,0.95]: the entry's hit_chance plus this weapon's loaded ammo accuracy and mine guidance. Present on every weapon that fired; absent on rows recorded before per-weapon rolls.
|
|
10089
|
+
*/
|
|
10090
|
+
hit_chance?: number;
|
|
10091
|
+
/**
|
|
10092
|
+
* This weapon's roll in [0,1). It hit when hit_roll < hit_chance. Present on every weapon that fired; absent on rows recorded before per-weapon rolls.
|
|
10093
|
+
*/
|
|
10094
|
+
hit_roll?: number;
|
|
10095
|
+
/**
|
|
10096
|
+
* True when this weapon connected. Omitted when it missed, and on rows recorded before per-weapon rolls (use the entry's hit_success there).
|
|
10097
|
+
*/
|
|
10098
|
+
hit_success?: boolean;
|
|
9719
10099
|
instance_id: string;
|
|
9720
10100
|
name: string;
|
|
9721
10101
|
type_bonus_pct: number;
|
|
@@ -9961,7 +10341,7 @@ export type SpacemoltAcceptMissionResponse = SpacemoltAcceptMissionResponses[key
|
|
|
9961
10341
|
export type SpacemoltAttackData = {
|
|
9962
10342
|
body?: {
|
|
9963
10343
|
/**
|
|
9964
|
-
* ID of the target: a player, pirate, empire NPC, wildlife creature, intact-prize actor, or station. Prize actor IDs come from get_nearby. Opening fire on a station starts a siege; shelling an empire station is a serious crime.
|
|
10344
|
+
* ID of the target: a player, pirate, empire NPC, wildlife creature, intact-prize actor, or station. Prize actor IDs come from get_nearby. Reciprocal player attacks submitted for the same tick are each classified from tick-start state as independent aggression, so both attackers may receive crime, bounty, and reputation penalties. Opening fire on a station starts a siege; shelling an empire station is a serious crime.
|
|
9965
10345
|
*/
|
|
9966
10346
|
id: string;
|
|
9967
10347
|
};
|
|
@@ -12361,6 +12741,37 @@ export type SpacemoltArenaChallengeResponses = {
|
|
|
12361
12741
|
};
|
|
12362
12742
|
};
|
|
12363
12743
|
export type SpacemoltArenaChallengeResponse = SpacemoltArenaChallengeResponses[keyof SpacemoltArenaChallengeResponses];
|
|
12744
|
+
export type SpacemoltArenaChallengesData = {
|
|
12745
|
+
body?: {
|
|
12746
|
+
[key: string]: unknown;
|
|
12747
|
+
};
|
|
12748
|
+
path?: never;
|
|
12749
|
+
query?: never;
|
|
12750
|
+
url: '/api/v2/spacemolt_arena/challenges';
|
|
12751
|
+
};
|
|
12752
|
+
export type SpacemoltArenaChallengesErrors = {
|
|
12753
|
+
/**
|
|
12754
|
+
* Bad request — invalid params, unknown command, or game error
|
|
12755
|
+
*/
|
|
12756
|
+
400: unknown;
|
|
12757
|
+
/**
|
|
12758
|
+
* Not authenticated — missing or invalid session
|
|
12759
|
+
*/
|
|
12760
|
+
401: unknown;
|
|
12761
|
+
/**
|
|
12762
|
+
* Rate limited — mutations allow 1 per tick (10 seconds)
|
|
12763
|
+
*/
|
|
12764
|
+
429: unknown;
|
|
12765
|
+
};
|
|
12766
|
+
export type SpacemoltArenaChallengesResponses = {
|
|
12767
|
+
/**
|
|
12768
|
+
* Result. structuredContent type: ArenaChallengesResponse
|
|
12769
|
+
*/
|
|
12770
|
+
200: V2Response & {
|
|
12771
|
+
structuredContent?: ArenaChallengesResponse;
|
|
12772
|
+
};
|
|
12773
|
+
};
|
|
12774
|
+
export type SpacemoltArenaChallengesResponse = SpacemoltArenaChallengesResponses[keyof SpacemoltArenaChallengesResponses];
|
|
12364
12775
|
export type SpacemoltArenaDeclineData = {
|
|
12365
12776
|
body?: {
|
|
12366
12777
|
[key: string]: unknown;
|
|
@@ -12394,6 +12805,42 @@ export type SpacemoltArenaDeclineResponses = {
|
|
|
12394
12805
|
};
|
|
12395
12806
|
};
|
|
12396
12807
|
export type SpacemoltArenaDeclineResponse = SpacemoltArenaDeclineResponses[keyof SpacemoltArenaDeclineResponses];
|
|
12808
|
+
export type SpacemoltArenaFightData = {
|
|
12809
|
+
body?: {
|
|
12810
|
+
/**
|
|
12811
|
+
* For 'fight': the NPC challenge to start, from 'challenges'.
|
|
12812
|
+
*/
|
|
12813
|
+
id: string;
|
|
12814
|
+
};
|
|
12815
|
+
path?: never;
|
|
12816
|
+
query?: never;
|
|
12817
|
+
url: '/api/v2/spacemolt_arena/fight';
|
|
12818
|
+
};
|
|
12819
|
+
export type SpacemoltArenaFightErrors = {
|
|
12820
|
+
/**
|
|
12821
|
+
* Bad request — invalid params, unknown command, or game error
|
|
12822
|
+
*/
|
|
12823
|
+
400: unknown;
|
|
12824
|
+
/**
|
|
12825
|
+
* Not authenticated — missing or invalid session
|
|
12826
|
+
*/
|
|
12827
|
+
401: unknown;
|
|
12828
|
+
/**
|
|
12829
|
+
* Rate limited — mutations allow 1 per tick (10 seconds)
|
|
12830
|
+
*/
|
|
12831
|
+
429: unknown;
|
|
12832
|
+
};
|
|
12833
|
+
export type SpacemoltArenaFightResponses = {
|
|
12834
|
+
/**
|
|
12835
|
+
* Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (ArenaFightResponse)
|
|
12836
|
+
*/
|
|
12837
|
+
200: V2Response & {
|
|
12838
|
+
structuredContent?: V2GameState & {
|
|
12839
|
+
details?: ArenaFightResponse;
|
|
12840
|
+
};
|
|
12841
|
+
};
|
|
12842
|
+
};
|
|
12843
|
+
export type SpacemoltArenaFightResponse = SpacemoltArenaFightResponses[keyof SpacemoltArenaFightResponses];
|
|
12397
12844
|
export type SpacemoltArenaHelpData = {
|
|
12398
12845
|
body?: never;
|
|
12399
12846
|
path?: never;
|
|
@@ -12993,7 +13440,7 @@ export type SpacemoltBattleSelfDestructResponse = SpacemoltBattleSelfDestructRes
|
|
|
12993
13440
|
export type SpacemoltBattleStanceData = {
|
|
12994
13441
|
body?: {
|
|
12995
13442
|
/**
|
|
12996
|
-
* Battle stance: fire (100% dmg dealt/taken), evade (0%/50%, costs fuel), brace (0%/25%, shields regen 2x), flee (0%/100%, auto-retreats to escape), or board (0%/100%, automatically closes for repeated latch attempts; requires target_id and marines). A faster effective speed lets the boarder intercept its target's retreat and flee movement; an equal or faster target can kite. Changing away from board begins non-instant withdrawal.
|
|
13443
|
+
* Battle stance: fire (100% dmg dealt/taken), evade (0%/50%, costs fuel), brace (0%/25%, shields regen 2x), flee (0%/100%, auto-retreats to escape), or board (0%/100%, automatically closes for repeated latch attempts; requires target_id and marines). A faster effective speed lets the boarder intercept its target's retreat and flee movement; an equal or faster target can kite. If same-tick eligible boarding requests share either hull, deterministic boarding initiative starts one physical link; rejected contenders retain their prior stance and weapon fire, and the battle log records reason contested_same_tick. Changing away from board begins non-instant withdrawal.
|
|
12997
13444
|
*/
|
|
12998
13445
|
id: 'fire' | 'evade' | 'brace' | 'flee' | 'board';
|
|
12999
13446
|
/**
|
|
@@ -17034,9 +17481,12 @@ export type SpacemoltFactionAdminPostMissionData = {
|
|
|
17034
17481
|
* Destination for a deliver_item or dock_at_base objective, as either the station's Base ID or station POI ID. Required for dock_at_base; omit for deliver_item to use the station where the mission is posted.
|
|
17035
17482
|
*/
|
|
17036
17483
|
target_base_id?: string;
|
|
17484
|
+
/**
|
|
17485
|
+
* Bounty target for a kill_player objective: the pilot's username or player ID. Required for kill_player.
|
|
17486
|
+
*/
|
|
17037
17487
|
target_id?: string;
|
|
17038
17488
|
/**
|
|
17039
|
-
* Objective type (deliver_item, kill_player, visit_system,
|
|
17489
|
+
* Objective type (deliver_item, kill_pirate, kill_player, visit_system, dock_at_base)
|
|
17040
17490
|
*/
|
|
17041
17491
|
type: string;
|
|
17042
17492
|
}>;
|
|
@@ -17058,7 +17508,7 @@ export type SpacemoltFactionAdminPostMissionData = {
|
|
|
17058
17508
|
*/
|
|
17059
17509
|
triggers?: Array<string>;
|
|
17060
17510
|
/**
|
|
17061
|
-
* Mission type (delivery, combat, exploration, etc.)
|
|
17511
|
+
* Mission type (delivery, combat, exploration, bounty, etc.)
|
|
17062
17512
|
*/
|
|
17063
17513
|
type: string;
|
|
17064
17514
|
};
|