xray16 1.4.0 → 1.5.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.
Files changed (49) hide show
  1. package/package.json +1 -1
  2. package/types/xr_ai/xr_action.d.ts +1321 -29
  3. package/types/xr_ai/xr_alife.d.ts +1336 -32
  4. package/types/xr_ai/xr_enemy_evaluation.d.ts +112 -19
  5. package/types/xr_ai/xr_goap.d.ts +450 -3
  6. package/types/xr_ai/xr_graph.d.ts +94 -6
  7. package/types/xr_ai/xr_memory.d.ts +240 -6
  8. package/types/xr_lib/xr_animation.d.ts +185 -14
  9. package/types/xr_lib/xr_bitwise.d.ts +20 -8
  10. package/types/xr_lib/xr_color.d.ts +103 -6
  11. package/types/xr_lib/xr_debug.d.ts +110 -12
  12. package/types/xr_lib/xr_dialog.d.ts +99 -7
  13. package/types/xr_lib/xr_flags.d.ts +78 -15
  14. package/types/xr_lib/xr_fs.d.ts +395 -5
  15. package/types/xr_lib/xr_game.d.ts +101 -0
  16. package/types/xr_lib/xr_hit.d.ts +84 -0
  17. package/types/xr_lib/xr_ini.d.ts +60 -2
  18. package/types/xr_lib/xr_level.d.ts +182 -39
  19. package/types/xr_lib/xr_luabind.d.ts +37 -11
  20. package/types/xr_lib/xr_map.d.ts +137 -6
  21. package/types/xr_lib/xr_math.d.ts +56 -0
  22. package/types/xr_lib/xr_multiplayer.d.ts +729 -1
  23. package/types/xr_lib/xr_profile.d.ts +80 -0
  24. package/types/xr_lib/xr_properties.d.ts +159 -4
  25. package/types/xr_lib/xr_relation.d.ts +147 -0
  26. package/types/xr_lib/xr_render.d.ts +99 -3
  27. package/types/xr_lib/xr_save.d.ts +110 -4
  28. package/types/xr_lib/xr_sound.d.ts +373 -9
  29. package/types/xr_lib/xr_stats.ts +33 -4
  30. package/types/xr_lib/xr_task.d.ts +277 -0
  31. package/types/xr_lib/xr_time.d.ts +11 -0
  32. package/types/xr_object/client/xr_anomaly.d.ts +20 -0
  33. package/types/xr_object/client/xr_artefact.d.ts +57 -2
  34. package/types/xr_object/client/xr_client_object.d.ts +131 -0
  35. package/types/xr_object/client/xr_creature.d.ts +79 -0
  36. package/types/xr_object/client/xr_item.d.ts +108 -2
  37. package/types/xr_object/client/xr_level.d.ts +482 -14
  38. package/types/xr_object/client/xr_physic.d.ts +459 -29
  39. package/types/xr_object/client/xr_zone.d.ts +38 -0
  40. package/types/xr_object/script/xr_script_interface.d.ts +236 -1
  41. package/types/xr_object/script/xr_script_object.d.ts +3402 -82
  42. package/types/xr_object/script/xr_script_trade.d.ts +25 -15
  43. package/types/xr_object/server/xr_server_object.d.ts +707 -15
  44. package/types/xr_ui/xr_ui_asset.d.ts +241 -6
  45. package/types/xr_ui/xr_ui_core.d.ts +327 -9
  46. package/types/xr_ui/xr_ui_event.d.ts +1067 -1
  47. package/types/xr_ui/xr_ui_interface.d.ts +1563 -17
  48. package/types/xr_ui/xr_ui_menu.d.ts +259 -16
  49. package/types/xrf_plugin.d.ts +44 -14
@@ -72,13 +72,32 @@ declare module "xray16" {
72
72
  export interface IXR_cpure_server_object extends IXR_ipure_server_object {}
73
73
 
74
74
  /**
75
+ * Server-side inventory item mixin.
76
+ *
75
77
  * @source C++ class cse_alife_inventory_item
76
78
  * @group xr_object_server
79
+ *
80
+ * @remarks
81
+ * Upgrade ids are stored on the server object and serialized with it.
77
82
  */
78
83
  export interface IXR_cse_alife_inventory_item {
84
+ /**
85
+ * Check whether the item already has an upgrade section.
86
+ *
87
+ * @param section - Upgrade section id.
88
+ * @returns Whether the upgrade is installed.
89
+ */
79
90
  has_upgrade(section: string): boolean;
80
91
 
81
- add_upgrade(section: string): boolean;
92
+ /**
93
+ * Add an upgrade section to the item.
94
+ *
95
+ * @remarks
96
+ * Adding the same upgrade twice is a fatal engine error.
97
+ *
98
+ * @param section - Upgrade section id.
99
+ */
100
+ add_upgrade(section: string): void;
82
101
  }
83
102
 
84
103
  /**
@@ -88,29 +107,87 @@ declare module "xray16" {
88
107
  export interface IXR_cse_alife_object_breakable extends cse_alife_dynamic_object_visual {}
89
108
 
90
109
  /**
110
+ * Server object binding for `CSE_AbstractVisual`.
111
+ *
91
112
  * @source C++ class CSE_AbstractVisual : cse_visual, cse_abstract
92
113
  * @customConstructor CSE_AbstractVisual
93
114
  * @group xr_object_server
94
115
  */
95
116
  export class CSE_AbstractVisual extends cse_abstract implements IXR_cse_visual {
117
+ /**
118
+ * Get the startup animation configured for the visual object.
119
+ *
120
+ * @returns Startup animation name.
121
+ */
96
122
  public getStartupAnimation(): string;
123
+
124
+ /**
125
+ * Initialize the server object and return its base abstract entity.
126
+ *
127
+ * @returns Initialized abstract entity.
128
+ */
97
129
  public init(): cse_abstract;
98
130
  }
99
131
 
100
132
  /**
133
+ * Server object binding for `cse_alife_trader_abstract`.
134
+ *
101
135
  * @source C++ class cse_alife_trader_abstract
102
136
  * @customConstructor cse_alife_trader_abstract
103
137
  * @group xr_object_server
104
138
  */
105
139
  export class cse_alife_trader_abstract extends cse_alife_dynamic_object_visual {
140
+ /**
141
+ * @returns Trader reputation value.
142
+ */
106
143
  public reputation(): i32;
144
+
145
+ /**
146
+ * @returns Trader rank.
147
+ */
107
148
  public rank(): i32;
149
+
150
+ /**
151
+ * Set trader rank.
152
+ *
153
+ * @param rank - New rank value.
154
+ */
108
155
  public set_rank(rank: i32): void;
156
+
157
+ /**
158
+ * @returns Trader community name.
159
+ */
109
160
  public community(): string;
161
+
162
+ /**
163
+ * @returns Character profile section name.
164
+ */
110
165
  public profile_name(): string;
166
+
167
+ /**
168
+ * @returns Localized character name.
169
+ */
111
170
  public character_name(): string;
171
+
172
+ /**
173
+ * Resolve and return the character icon name.
174
+ *
175
+ * @returns Icon name.
176
+ */
112
177
  public character_icon(): string;
178
+
179
+ /**
180
+ * Set character profile section name.
181
+ *
182
+ * @param name - Profile section name.
183
+ */
113
184
  public set_profile_name(name: string): void;
185
+
186
+ /**
187
+ * Set localized character name.
188
+ *
189
+ * @param name - Character name.
190
+ */
114
191
  public set_character_name(name: string): void;
115
192
  }
116
193
 
@@ -120,33 +197,104 @@ declare module "xray16" {
120
197
  * @source C++ class cse_abstract : cpure_server_object
121
198
  * @customConstructor cse_abstract
122
199
  * @group xr_object_server
200
+ *
201
+ * @remarks
202
+ * Server objects are ALife/network objects, not live client `game_object` wrappers.
123
203
  */
124
204
  export class cse_abstract extends EngineBinding implements IXR_cpure_server_object {
205
+ /**
206
+ * Server object id.
207
+ */
125
208
  public readonly id: u16;
209
+
210
+ /**
211
+ * Parent server object id, or `65535` when there is no parent.
212
+ */
126
213
  public readonly parent_id: u16;
214
+
215
+ /**
216
+ * Script data version stored with this object.
217
+ */
127
218
  public readonly script_version: u16;
128
219
 
220
+ /**
221
+ * Server-side world position.
222
+ */
129
223
  public position: vector;
224
+
225
+ /**
226
+ * Server-side orientation angles.
227
+ */
130
228
  public angle: vector;
131
229
 
230
+ /**
231
+ * Create a server object for an object section.
232
+ *
233
+ * @param section - Spawn section name.
234
+ */
132
235
  public constructor(section: string);
133
236
 
237
+ /**
238
+ * @returns Runtime object name.
239
+ */
134
240
  public name<T extends string = string>(): T;
135
241
 
242
+ /**
243
+ * @returns Engine class id.
244
+ */
136
245
  public clsid(): TXR_class_id;
137
246
 
247
+ /**
248
+ * @returns Spawn ini attached to this object, if any.
249
+ */
138
250
  public spawn_ini(): ini_file | null;
139
251
 
252
+ /**
253
+ * @returns Spawn section name.
254
+ */
140
255
  public section_name<T extends string = string>(): T;
141
256
 
257
+ /**
258
+ * Read an update packet into this object.
259
+ *
260
+ * @remarks
261
+ * Use only with packets written for the same server object class and update format.
262
+ *
263
+ * @param packet - Source network packet.
264
+ */
142
265
  public UPDATE_Read(packet: net_packet): void;
143
266
 
267
+ /**
268
+ * Read a state packet into this object.
269
+ *
270
+ * @remarks
271
+ * Use only with packets written for the same server object class and state format.
272
+ *
273
+ * @param packet - Source network packet.
274
+ * @param size - Serialized state size.
275
+ */
144
276
  public STATE_Read(packet: net_packet, size: number): void;
145
277
 
278
+ /**
279
+ * Write an update packet from this object.
280
+ *
281
+ * @param packet - Target network packet.
282
+ */
146
283
  public UPDATE_Write(packet: net_packet): void;
147
284
 
285
+ /**
286
+ * Write a state packet from this object.
287
+ *
288
+ * @param packet - Target network packet.
289
+ */
148
290
  public STATE_Write(packet: net_packet): void;
149
291
 
292
+ /**
293
+ * Fill editor property rows for this object.
294
+ *
295
+ * @param pref - Property prefix.
296
+ * @param items - Property collection to populate.
297
+ */
150
298
  public FillProps(pref: string, items: LuaTable<number, unknown>): void;
151
299
  }
152
300
 
@@ -156,9 +304,20 @@ declare module "xray16" {
156
304
  * @source C++ class cse_alife_object : cse_abstract
157
305
  * @customConstructor cse_alife_object
158
306
  * @group xr_object_server
307
+ *
308
+ * @remarks
309
+ * Base ALife object registered in the simulator graph. Switching flags describe whether the simulator may move it
310
+ * between offline and online state.
159
311
  */
160
312
  export class cse_alife_object extends cse_abstract {
313
+ /**
314
+ * Game graph vertex used by ALife simulation.
315
+ */
161
316
  public readonly m_game_vertex_id: u16;
317
+
318
+ /**
319
+ * Level graph vertex used by ALife simulation.
320
+ */
162
321
  public readonly m_level_vertex_id: u32;
163
322
  /**
164
323
  * Always numeric value.
@@ -170,59 +329,158 @@ declare module "xray16" {
170
329
  */
171
330
  public readonly online: boolean;
172
331
 
332
+ /**
333
+ * Create an ALife object for a spawn section.
334
+ *
335
+ * @param section - Spawn section name.
336
+ */
173
337
  public constructor(section: string);
174
338
 
339
+ /**
340
+ * @returns Whether the object uses AI location graph data.
341
+ */
175
342
  public used_ai_locations(): boolean;
176
343
 
344
+ /**
345
+ * Enable or disable AI location graph use.
346
+ *
347
+ * @param value - Whether AI locations should be used.
348
+ */
177
349
  public use_ai_locations(value: boolean): void;
178
350
 
351
+ /**
352
+ * @returns Whether this object should be saved.
353
+ */
179
354
  public can_save(): boolean;
180
355
 
356
+ /**
357
+ * @returns Whether this object may switch online.
358
+ */
181
359
  public can_switch_online(): boolean;
182
360
 
361
+ /**
362
+ * Allow or block switching online.
363
+ *
364
+ * @remarks
365
+ * Sets the object's switch-online flag; it does not switch the object immediately.
366
+ *
367
+ * @param value - Whether online switching is allowed.
368
+ */
183
369
  public can_switch_online(value: boolean): void;
184
370
 
371
+ /**
372
+ * Initialize the ALife object and return its abstract base.
373
+ *
374
+ * @returns Initialized abstract entity.
375
+ */
185
376
  public init(): cse_abstract;
186
377
 
378
+ /**
379
+ * @returns Whether the object is interactive.
380
+ */
187
381
  public interactive(): boolean;
188
382
 
189
- public visible_for_map(): void;
383
+ /**
384
+ * @returns Whether the object is visible on the map.
385
+ */
386
+ public visible_for_map(): boolean;
190
387
 
388
+ /**
389
+ * Set whether the object is visible on the map.
390
+ *
391
+ * @param value - Whether the object should be shown on the map.
392
+ */
191
393
  public visible_for_map(value: boolean): void;
192
394
 
395
+ /**
396
+ * @returns Whether this object may switch offline.
397
+ */
193
398
  public can_switch_offline(): boolean;
194
399
 
400
+ /**
401
+ * Allow or block switching offline.
402
+ *
403
+ * @remarks
404
+ * Sets the object's switch-offline flag; it does not switch the object immediately.
405
+ *
406
+ * @param value - Whether offline switching is allowed.
407
+ */
195
408
  public can_switch_offline(value: boolean): void;
196
409
 
410
+ /**
411
+ * @returns Whether the object should move while offline.
412
+ */
197
413
  public move_offline(): boolean;
198
414
 
415
+ /**
416
+ * Set whether the object should move while offline.
417
+ *
418
+ * @param value - Whether offline movement is enabled.
419
+ */
199
420
  public move_offline(value?: boolean): void;
200
421
 
422
+ /**
423
+ * Run the server-side ALife update for this object.
424
+ */
201
425
  public update(): void;
202
426
  }
203
427
 
204
428
  /**
429
+ * Server object binding for `cse_alife_dynamic_object`.
430
+ *
205
431
  * @source C++ class cse_alife_dynamic_object : cse_alife_object
206
432
  * @customConstructor cse_alife_dynamic_object
207
433
  * @group xr_object_server
434
+ *
435
+ * @remarks
436
+ * Dynamic ALife object that can have a client representation while online.
208
437
  */
209
438
  export class cse_alife_dynamic_object extends cse_alife_object {
439
+ /**
440
+ * Move the object to offline ALife simulation.
441
+ *
442
+ * @remarks
443
+ * Call only when the object is currently online and the object type supports switching offline.
444
+ */
210
445
  public switch_offline(): void;
211
446
 
447
+ /**
448
+ * Bring the object online and create its client-side representation.
449
+ *
450
+ * @remarks
451
+ * Call only when the object is currently offline and the object type supports switching online.
452
+ */
212
453
  public switch_online(): void;
213
454
 
455
+ /**
456
+ * @returns Whether saved data should be kept even when regular cleanup would remove it.
457
+ */
214
458
  public keep_saved_data_anyway(): boolean;
215
459
 
460
+ /**
461
+ * Called after the object is registered in the ALife registry.
462
+ */
216
463
  public on_register(): void;
217
464
 
465
+ /**
466
+ * Called before the object is registered in the ALife registry.
467
+ */
218
468
  public on_before_register(): void;
219
469
 
470
+ /**
471
+ * Called when the object has been spawned.
472
+ */
220
473
  public on_spawn(): void;
221
474
 
475
+ /**
476
+ * Called when the object is removed from the ALife registry.
477
+ */
222
478
  public on_unregister(): void;
223
479
  }
224
480
 
225
481
  /**
482
+ * Server object binding for `cse_alife_space_restrictor`.
483
+ *
226
484
  * @source C++ class cse_alife_space_restrictor : cse_alife_dynamic_object,cse_shape
227
485
  * @customConstructor cse_alife_space_restrictor
228
486
  * @group xr_object_server
@@ -230,15 +488,24 @@ declare module "xray16" {
230
488
  export class cse_alife_space_restrictor extends cse_alife_dynamic_object implements IXR_cse_shape {}
231
489
 
232
490
  /**
491
+ * Server object binding for `cse_alife_dynamic_object_visual`.
492
+ *
233
493
  * @source C++ class cse_alife_dynamic_object_visual : cse_alife_dynamic_object,cse_visual
234
494
  * @customConstructor cse_alife_dynamic_object_visual
235
495
  * @group xr_object_server
236
496
  */
237
497
  export class cse_alife_dynamic_object_visual extends cse_alife_dynamic_object implements IXR_cse_visual {
498
+ /**
499
+ * Set object yaw.
500
+ *
501
+ * @param yaw - Yaw angle.
502
+ */
238
503
  public set_yaw(yaw: number): void;
239
504
  }
240
505
 
241
506
  /**
507
+ * Server object binding for `cse_custom_zone`.
508
+ *
242
509
  * @source C++ class cse_custom_zone : cse_alife_dynamic_object,cse_shape
243
510
  * @customConstructor cse_custom_zone
244
511
  * @group xr_object_server
@@ -251,6 +518,10 @@ declare module "xray16" {
251
518
  * @source C++ class cse_alife_creature_abstract : cse_alife_dynamic_object_visual
252
519
  * @customConstructor cse_alife_creature_abstract
253
520
  * @group xr_object_server
521
+ *
522
+ * @remarks
523
+ * Base server object for actor, stalker, and monster creatures. Creature-specific helpers require a creature ALife
524
+ * object, not an arbitrary server object.
254
525
  */
255
526
  export class cse_alife_creature_abstract extends cse_alife_dynamic_object_visual {
256
527
  /**
@@ -266,55 +537,142 @@ declare module "xray16" {
266
537
  */
267
538
  public team: u8;
268
539
 
540
+ /**
541
+ * Game group id.
542
+ */
269
543
  public group: u8;
270
544
 
271
545
  /**
272
546
  * Object squad id, maximal u16 (65535) if no squad assigned.
273
547
  */
274
548
  public group_id: u16;
549
+
550
+ /**
551
+ * Assigned smart terrain id, or `65535` when none is assigned.
552
+ */
275
553
  public m_smart_terrain_id: u16;
276
554
 
555
+ /**
556
+ * @returns Current creature health.
557
+ */
277
558
  public health(): f32;
278
559
 
560
+ /**
561
+ * @returns Whether the creature is alive.
562
+ */
279
563
  public alive(): boolean;
280
564
 
565
+ /**
566
+ * @returns Game team id.
567
+ */
281
568
  public g_team(): u8;
282
569
 
570
+ /**
571
+ * @returns Game group id.
572
+ */
283
573
  public g_group(): u8;
284
574
 
575
+ /**
576
+ * @returns Game squad id.
577
+ */
285
578
  public g_squad(): u8;
286
579
 
580
+ /**
581
+ * @returns Torso rotation state.
582
+ */
287
583
  public o_torso(): rotation;
288
584
 
585
+ /**
586
+ * Notify the server object that this creature died.
587
+ *
588
+ * @remarks
589
+ * Marks server-side health as dead and records death time. It is not a general damage method.
590
+ *
591
+ * @param killer - Server object that killed this creature.
592
+ */
289
593
  public on_death(killer: cse_alife_object): void;
290
594
 
595
+ /**
596
+ * @returns Assigned smart terrain id, or `65535` when none is assigned.
597
+ */
291
598
  public smart_terrain_id(): u16;
292
599
 
600
+ /**
601
+ * Kill the server-side creature.
602
+ *
603
+ * @remarks
604
+ * Intended for creature server objects managed by ALife.
605
+ */
293
606
  public kill(): void;
294
607
 
608
+ /**
609
+ * Set goodwill from this creature toward another object.
610
+ *
611
+ * @remarks
612
+ * `npc_id` must resolve to an ALife object that can store personal goodwill.
613
+ *
614
+ * @param goodwill - New goodwill value.
615
+ * @param npc_id - Target object id.
616
+ */
295
617
  public force_set_goodwill(goodwill: number, npc_id: number): void;
296
618
 
619
+ /**
620
+ * Clear the assigned smart terrain.
621
+ */
297
622
  public clear_smart_terrain(): void;
298
623
 
299
- public travel_speed(): unknown;
624
+ /**
625
+ * @returns Travel speed used for graph movement.
626
+ */
627
+ public travel_speed(): f32;
300
628
 
629
+ /**
630
+ * Set travel speed used for graph movement.
631
+ *
632
+ * @param value - New travel speed.
633
+ */
301
634
  public travel_speed(value: number): void;
302
635
 
303
- public smart_terrain_task_deactivate(): unknown;
636
+ /**
637
+ * Mark the current smart terrain task as not reached.
638
+ */
639
+ public smart_terrain_task_deactivate(): void;
304
640
 
305
641
  /**
306
642
  * Works for `CSE_ALifeMonsterAbstract`, marks smart terrain as reached and switches logic to terrain task.
643
+ *
644
+ * @remarks
645
+ * Only meaningful for monsters assigned to a smart terrain task.
307
646
  */
308
647
  public smart_terrain_task_activate(): void;
309
648
 
310
- public current_level_travel_speed(): unknown;
649
+ /**
650
+ * @returns Travel speed used inside the current level.
651
+ */
652
+ public current_level_travel_speed(): f32;
311
653
 
312
- public current_level_travel_speed(value: number): unknown;
654
+ /**
655
+ * Set travel speed used inside the current level.
656
+ *
657
+ * @param value - New travel speed.
658
+ */
659
+ public current_level_travel_speed(value: number): void;
313
660
 
661
+ /**
662
+ * @throws If this creature type has no ALife monster brain.
663
+ *
664
+ * @returns ALife brain that drives offline monster behavior.
665
+ */
314
666
  public brain(): CAILifeMonsterBrain;
315
667
 
668
+ /**
669
+ * @returns Whether the creature has a detector.
670
+ */
316
671
  public has_detector(): boolean;
317
672
 
673
+ /**
674
+ * @returns Creature rank.
675
+ */
318
676
  public rank(): i32;
319
677
 
320
678
  /**
@@ -331,10 +689,21 @@ declare module "xray16" {
331
689
  * @group xr_object_server
332
690
  */
333
691
  export class cse_alife_human_abstract extends cse_alife_monster_abstract {
692
+ /**
693
+ * @returns Character profile section name.
694
+ */
334
695
  public profile_name(): string;
335
696
 
697
+ /**
698
+ * Set human rank.
699
+ *
700
+ * @param rank - New rank value.
701
+ */
336
702
  public set_rank(rank: i32): void;
337
703
 
704
+ /**
705
+ * @returns Human reputation value.
706
+ */
338
707
  public reputation(): i32;
339
708
  }
340
709
 
@@ -346,11 +715,28 @@ declare module "xray16" {
346
715
  * @group xr_object_server
347
716
  */
348
717
  export class cse_alife_item extends cse_alife_dynamic_object_visual implements IXR_cse_alife_inventory_item {
718
+ /**
719
+ * @returns Whether the ALife item is useful to AI.
720
+ */
349
721
  public bfUseful(): boolean;
350
722
 
723
+ /**
724
+ * Check whether the item already has an upgrade section.
725
+ *
726
+ * @param section - Upgrade section id.
727
+ * @returns Whether the upgrade is installed.
728
+ */
351
729
  public has_upgrade(section: string): boolean;
352
730
 
353
- public add_upgrade(section: string): boolean;
731
+ /**
732
+ * Add an upgrade section to the item.
733
+ *
734
+ * @remarks
735
+ * Adding the same upgrade twice is a fatal engine error.
736
+ *
737
+ * @param section - Upgrade section id.
738
+ */
739
+ public add_upgrade(section: string): void;
354
740
  }
355
741
 
356
742
  /**
@@ -361,16 +747,37 @@ declare module "xray16" {
361
747
  * @group xr_object_server
362
748
  */
363
749
  export class cse_alife_item_weapon extends cse_alife_item {
364
- public clone_addons(cse_alife_item_weapon: cse_alife_item_weapon): void;
750
+ /**
751
+ * Copy addon flags from another weapon server object.
752
+ *
753
+ * @remarks
754
+ * Copies addon state only. Ammo, condition, and installed upgrades are handled by other fields or helpers.
755
+ *
756
+ * @param weapon - Weapon to copy addon state from.
757
+ */
758
+ public clone_addons(weapon: cse_alife_item_weapon): void;
365
759
 
760
+ /**
761
+ * Set ammo currently loaded in the weapon.
762
+ *
763
+ * @param count - Loaded ammo count.
764
+ */
366
765
  public set_ammo_elapsed(count: u16): void;
367
766
 
767
+ /**
768
+ * @returns Ammo currently loaded in the weapon.
769
+ */
368
770
  public get_ammo_elapsed(): u16;
369
771
 
772
+ /**
773
+ * @returns Weapon magazine size from the weapon section.
774
+ */
370
775
  public get_ammo_magsize(): u16;
371
776
  }
372
777
 
373
778
  /**
779
+ * Server object binding for `cse_zone_visual`.
780
+ *
374
781
  * @source C++ class cse_zone_visual : cse_anomalous_zone,cse_visual
375
782
  * @customConstructor cse_zone_visual
376
783
  * @group xr_object_server
@@ -378,24 +785,36 @@ declare module "xray16" {
378
785
  export class cse_zone_visual extends cse_anomalous_zone implements IXR_cse_visual {}
379
786
 
380
787
  /**
788
+ * Server object binding for `cse_spectator`.
789
+ *
381
790
  * @source C++ class cse_spectator : cse_abstract
382
791
  * @customConstructor cse_spectator
383
792
  * @group xr_object_server
384
793
  */
385
794
  export class cse_spectator extends cse_abstract {
795
+ /**
796
+ * Initialize spectator server state.
797
+ */
386
798
  public init(): void;
387
799
  }
388
800
 
389
801
  /**
802
+ * Server object binding for `cse_temporary`.
803
+ *
390
804
  * @source C++ class cse_temporary : cse_abstract
391
805
  * @customConstructor cse_temporary
392
806
  * @group xr_object_server
393
807
  */
394
808
  export class cse_temporary extends cse_abstract {
809
+ /**
810
+ * Initialize temporary projectile server state.
811
+ */
395
812
  public init(): void;
396
813
  }
397
814
 
398
815
  /**
816
+ * Server object binding for `cse_alife_item_weapon_magazined`.
817
+ *
399
818
  * @source C++ class cse_alife_item_weapon_magazined : cse_alife_item_weapon
400
819
  * @customConstructor cse_alife_item_weapon_magazined
401
820
  * @group xr_object_server
@@ -412,6 +831,8 @@ declare module "xray16" {
412
831
  export class cse_alife_item_weapon_magazined_w_gl extends cse_alife_item_weapon {}
413
832
 
414
833
  /**
834
+ * Server object binding for `cse_alife_item_weapon_shotgun`.
835
+ *
415
836
  * @source C++ class cse_alife_item_weapon_shotgun : cse_alife_item_weapon
416
837
  * @customConstructor cse_alife_item_weapon_shotgun
417
838
  * @group xr_object_server
@@ -419,15 +840,22 @@ declare module "xray16" {
419
840
  export class cse_alife_item_weapon_shotgun extends cse_alife_item_weapon {}
420
841
 
421
842
  /**
843
+ * Server object binding for `cse_alife_level_changer`.
844
+ *
422
845
  * @source C++ class cse_alife_level_changer : cse_alife_space_restrictor
423
846
  * @customConstructor cse_alife_level_changer
424
847
  * @group xr_object_server
425
848
  */
426
849
  export class cse_alife_level_changer extends cse_alife_space_restrictor {
850
+ /**
851
+ * @returns Destination level name configured for the level changer.
852
+ */
427
853
  public get_dest_level_name(): string;
428
854
  }
429
855
 
430
856
  /**
857
+ * Server object binding for `cse_alife_monster_abstract`.
858
+ *
431
859
  * @source C++ class cse_alife_monster_abstract : cse_alife_creature_abstract,cse_alife_schedulable
432
860
  * @customConstructor cse_alife_monster_abstract
433
861
  * @group xr_object_server
@@ -435,6 +863,8 @@ declare module "xray16" {
435
863
  export class cse_alife_monster_abstract extends cse_alife_creature_abstract implements IXR_cse_alife_schedulable {}
436
864
 
437
865
  /**
866
+ * Server object binding for `cse_alife_monster_base`.
867
+ *
438
868
  * @source C++ class cse_alife_monster_base : cse_alife_monster_abstract,cse_ph_skeleton
439
869
  * @customConstructor cse_alife_monster_base
440
870
  * @group xr_object_server
@@ -442,6 +872,8 @@ declare module "xray16" {
442
872
  export class cse_alife_monster_base extends cse_alife_monster_abstract implements IXR_cse_ph_skeleton {}
443
873
 
444
874
  /**
875
+ * Server object binding for `cse_alife_monster_rat`.
876
+ *
445
877
  * @source C++ class cse_alife_monster_rat : cse_alife_monster_abstract,cse_alife_inventory_item
446
878
  * @customConstructor cse_alife_monster_rat
447
879
  * @group xr_object_server
@@ -449,6 +881,8 @@ declare module "xray16" {
449
881
  export class cse_alife_monster_rat extends cse_alife_monster_abstract {}
450
882
 
451
883
  /**
884
+ * Server object binding for `cse_alife_monster_zombie`.
885
+ *
452
886
  * @source C++ class cse_alife_monster_zombie : cse_alife_monster_abstract
453
887
  * @customConstructor cse_alife_monster_zombie
454
888
  * @group xr_object_server
@@ -456,6 +890,8 @@ declare module "xray16" {
456
890
  export class cse_alife_monster_zombie extends cse_alife_monster_abstract {}
457
891
 
458
892
  /**
893
+ * Server object binding for `cse_alife_mounted_weapon`.
894
+ *
459
895
  * @source C++ class cse_alife_mounted_weapon : cse_alife_dynamic_object_visual
460
896
  * @customConstructor cse_alife_mounted_weapon
461
897
  * @group xr_object_server
@@ -463,6 +899,8 @@ declare module "xray16" {
463
899
  export class cse_alife_mounted_weapon extends cse_alife_dynamic_object_visual {}
464
900
 
465
901
  /**
902
+ * Server object binding for `cse_alife_inventory_box`.
903
+ *
466
904
  * @source C++ class cse_alife_inventory_box : cse_alife_dynamic_object_visual
467
905
  * @customConstructor cse_alife_inventory_box
468
906
  * @group xr_object_server
@@ -470,6 +908,8 @@ declare module "xray16" {
470
908
  export class cse_alife_inventory_box extends cse_alife_dynamic_object_visual {}
471
909
 
472
910
  /**
911
+ * Server object binding for `cse_alife_item_ammo`.
912
+ *
473
913
  * @source C++ class cse_alife_item_ammo : cse_alife_item
474
914
  * @customConstructor cse_alife_item_ammo
475
915
  * @group xr_object_server
@@ -477,6 +917,8 @@ declare module "xray16" {
477
917
  export class cse_alife_item_ammo extends cse_alife_item {}
478
918
 
479
919
  /**
920
+ * Server object binding for `cse_alife_item_artefact`.
921
+ *
480
922
  * @source C++ class cse_alife_item_artefact : cse_alife_item
481
923
  * @customConstructor cse_alife_item_artefact
482
924
  * @group xr_object_server
@@ -484,6 +926,8 @@ declare module "xray16" {
484
926
  export class cse_alife_item_artefact extends cse_alife_item {}
485
927
 
486
928
  /**
929
+ * Server object binding for `cse_alife_item_bolt`.
930
+ *
487
931
  * @source C++ class cse_alife_item_bolt : cse_alife_item
488
932
  * @customConstructor cse_alife_item_bolt
489
933
  * @group xr_object_server
@@ -491,6 +935,8 @@ declare module "xray16" {
491
935
  export class cse_alife_item_bolt extends cse_alife_item {}
492
936
 
493
937
  /**
938
+ * Server object binding for `cse_alife_item_custom_outfit`.
939
+ *
494
940
  * @source C++ class cse_alife_item_custom_outfit : cse_alife_item
495
941
  * @customConstructor cse_alife_item_custom_outfit
496
942
  * @group xr_object_server
@@ -498,6 +944,8 @@ declare module "xray16" {
498
944
  export class cse_alife_item_custom_outfit extends cse_alife_item {}
499
945
 
500
946
  /**
947
+ * Server object binding for `cse_alife_item_helmet`.
948
+ *
501
949
  * @source C++ class cse_alife_item_helmet : cse_alife_item
502
950
  * @customConstructor cse_alife_item_helmet
503
951
  * @group xr_object_server
@@ -505,6 +953,8 @@ declare module "xray16" {
505
953
  export class cse_alife_item_helmet extends cse_alife_item {}
506
954
 
507
955
  /**
956
+ * Server object binding for `cse_alife_item_document`.
957
+ *
508
958
  * @source C++ class cse_alife_item_document : cse_alife_item
509
959
  * @customConstructor cse_alife_item_document
510
960
  * @group xr_object_server
@@ -512,6 +962,8 @@ declare module "xray16" {
512
962
  export class cse_alife_item_document extends cse_alife_item {}
513
963
 
514
964
  /**
965
+ * Server object binding for `cse_alife_item_explosive`.
966
+ *
515
967
  * @source C++ class cse_alife_item_explosive : cse_alife_item
516
968
  * @customConstructor cse_alife_item_explosive
517
969
  * @group xr_object_server
@@ -519,6 +971,8 @@ declare module "xray16" {
519
971
  export class cse_alife_item_explosive extends cse_alife_item {}
520
972
 
521
973
  /**
974
+ * Server object binding for `cse_alife_item_grenade`.
975
+ *
522
976
  * @source C++ class cse_alife_item_grenade : cse_alife_item
523
977
  * @customConstructor cse_alife_item_grenade
524
978
  * @group xr_object_server
@@ -526,6 +980,8 @@ declare module "xray16" {
526
980
  export class cse_alife_item_grenade extends cse_alife_item {}
527
981
 
528
982
  /**
983
+ * Server object binding for `cse_alife_item_pda`.
984
+ *
529
985
  * @source C++ class cse_alife_item_pda : cse_alife_item
530
986
  * @customConstructor cse_alife_item_pda
531
987
  * @group xr_object_server
@@ -533,6 +989,8 @@ declare module "xray16" {
533
989
  export class cse_alife_item_pda extends cse_alife_item {}
534
990
 
535
991
  /**
992
+ * Server object binding for `cse_alife_item_detector`.
993
+ *
536
994
  * @source C++ class cse_alife_item_detector : cse_alife_item
537
995
  * @customConstructor cse_alife_item_detector
538
996
  * @group xr_object_server
@@ -540,6 +998,8 @@ declare module "xray16" {
540
998
  export class cse_alife_item_detector extends cse_alife_item {}
541
999
 
542
1000
  /**
1001
+ * Server object binding for `cse_alife_item_torch`.
1002
+ *
543
1003
  * @source C++ class cse_alife_item_torch : cse_alife_item
544
1004
  * @customConstructor cse_alife_item_torch
545
1005
  * @group xr_object_server
@@ -547,6 +1007,8 @@ declare module "xray16" {
547
1007
  export class cse_alife_item_torch extends cse_alife_item {}
548
1008
 
549
1009
  /**
1010
+ * Server object binding for `cse_alife_item_weapon_auto_shotgun`.
1011
+ *
550
1012
  * @source C++ class cse_alife_item_weapon_auto_shotgun : cse_alife_item_weapon
551
1013
  * @customConstructor cse_alife_item_weapon_auto_shotgun
552
1014
  * @group xr_object_server
@@ -554,6 +1016,8 @@ declare module "xray16" {
554
1016
  export class cse_alife_item_weapon_auto_shotgun extends cse_alife_item_weapon {}
555
1017
 
556
1018
  /**
1019
+ * Server object binding for `cse_anomalous_zone`.
1020
+ *
557
1021
  * @source C++ class cse_anomalous_zone : cse_custom_zone
558
1022
  * @customConstructor cse_anomalous_zone
559
1023
  * @group xr_object_server
@@ -561,15 +1025,22 @@ declare module "xray16" {
561
1025
  export class cse_anomalous_zone extends cse_custom_zone {}
562
1026
 
563
1027
  /**
1028
+ * Server object binding for `cse_alife_object_climable`.
1029
+ *
564
1030
  * @source C++ class cse_alife_object_climable : cse_shape,cse_abstract
565
1031
  * @customConstructor cse_alife_object_climable
566
1032
  * @group xr_object_server
567
1033
  */
568
1034
  export class cse_alife_object_climable extends cse_abstract implements IXR_cse_shape {
1035
+ /**
1036
+ * Initialize climable object server state.
1037
+ */
569
1038
  public init(): void;
570
1039
  }
571
1040
 
572
1041
  /**
1042
+ * Server object binding for `cse_alife_object_hanging_lamp`.
1043
+ *
573
1044
  * @source C++ class cse_alife_object_hanging_lamp : cse_alife_dynamic_object_visual,cse_ph_skeleton
574
1045
  * @customConstructor cse_alife_object_hanging_lamp
575
1046
  * @group xr_object_server
@@ -577,6 +1048,8 @@ declare module "xray16" {
577
1048
  export class cse_alife_object_hanging_lamp extends cse_alife_dynamic_object_visual implements IXR_cse_ph_skeleton {}
578
1049
 
579
1050
  /**
1051
+ * Server object binding for `cse_alife_object_physic`.
1052
+ *
580
1053
  * @source C++ class cse_alife_object_physic : cse_alife_dynamic_object_visual,cse_ph_skeleton
581
1054
  * @customConstructor cse_alife_object_physic
582
1055
  * @group xr_object_server
@@ -584,6 +1057,8 @@ declare module "xray16" {
584
1057
  export class cse_alife_object_physic extends cse_alife_dynamic_object_visual implements IXR_cse_ph_skeleton {}
585
1058
 
586
1059
  /**
1060
+ * Server object binding for `cse_alife_object_projector`.
1061
+ *
587
1062
  * @source C++ class cse_alife_object_projector : cse_alife_dynamic_object_visual
588
1063
  * @customConstructor cse_alife_object_projector
589
1064
  * @group xr_object_server
@@ -601,39 +1076,104 @@ declare module "xray16" {
601
1076
  }
602
1077
 
603
1078
  /**
1079
+ * Server object binding for `cse_alife_online_offline_group`.
1080
+ *
604
1081
  * @source C++ class cse_alife_online_offline_group : cse_alife_dynamic_object,cse_alife_schedulable
605
1082
  * @customConstructor cse_alife_online_offline_group
606
1083
  * @group xr_object_server
1084
+ *
1085
+ * @remarks
1086
+ * Squad-like ALife group that owns live monster members. Registering or unregistering members also updates ALife
1087
+ * graph and scheduling state.
607
1088
  */
608
1089
  export class cse_alife_online_offline_group<T extends cse_alife_creature_abstract = cse_alife_creature_abstract>
609
1090
  extends cse_alife_dynamic_object
610
1091
  implements IXR_cse_alife_schedulable
611
1092
  {
1093
+ /**
1094
+ * Current member object exposed during squad member iteration.
1095
+ */
612
1096
  public readonly object: T;
613
1097
 
1098
+ /**
1099
+ * Add an object to this online/offline group.
1100
+ *
1101
+ * @remarks
1102
+ * The id must resolve to a live monster server object that is not already in this group.
1103
+ *
1104
+ * @throws If the member is already registered, is not a monster, or is not alive.
1105
+ *
1106
+ * @param id - Server object id.
1107
+ */
614
1108
  public register_member(id: u16): void;
615
1109
 
1110
+ /**
1111
+ * Remove all location type filters from the group.
1112
+ *
1113
+ * @remarks
1114
+ * Clears the terrain masks on the group and on every current member.
1115
+ */
616
1116
  public clear_location_types(): void;
617
1117
 
1118
+ /**
1119
+ * @throws The base online/offline group implementation does not provide a task.
1120
+ *
1121
+ * @returns Current smart terrain task, when one is assigned.
1122
+ */
618
1123
  public get_current_task(): CALifeSmartTerrainTask;
619
1124
 
620
1125
  /**
621
1126
  * Get current squad command ID.
1127
+ *
1128
+ * @returns First member id, or `65535` when the group is empty.
622
1129
  */
623
1130
  public commander_id(): u16;
624
1131
 
1132
+ /**
1133
+ * Remove an object from this online/offline group.
1134
+ *
1135
+ * @throws If the id is not a member of this group.
1136
+ *
1137
+ * @param id - Server object id.
1138
+ */
625
1139
  public unregister_member(id: u16): void;
626
1140
 
1141
+ /**
1142
+ * Iterate over group members.
1143
+ *
1144
+ * @returns Lua iterator of squad member records.
1145
+ */
627
1146
  public squad_members(): LuaIterable<IXR_squad_member<T>>; // Struct std::less<unsigned short> 3rd param
628
1147
 
1148
+ /**
1149
+ * Force the group's graph position from a world position.
1150
+ *
1151
+ * @remarks
1152
+ * Recomputes level and game graph vertices from `vector`.
1153
+ *
1154
+ * @param vector - Target world position.
1155
+ */
629
1156
  public force_change_position(vector: vector): void;
630
1157
 
1158
+ /**
1159
+ * Add a location type accepted by the group.
1160
+ *
1161
+ * @remarks
1162
+ * Adds the terrain mask to the group and to every current member.
1163
+ *
1164
+ * @param location - Location type name.
1165
+ */
631
1166
  public add_location_type(location: string): void;
632
1167
 
1168
+ /**
1169
+ * @returns Number of NPCs in the group.
1170
+ */
633
1171
  public npc_count(): i32;
634
1172
  }
635
1173
 
636
1174
  /**
1175
+ * Server object binding for `cse_alife_ph_skeleton_object`.
1176
+ *
637
1177
  * @source C++ class cse_alife_ph_skeleton_object : cse_alife_dynamic_object_visual,cse_ph_skeleton
638
1178
  * @customConstructor cse_alife_ph_skeleton_object
639
1179
  * @group xr_object_server
@@ -641,6 +1181,8 @@ declare module "xray16" {
641
1181
  export class cse_alife_ph_skeleton_object extends cse_alife_dynamic_object_visual implements IXR_cse_ph_skeleton {}
642
1182
 
643
1183
  /**
1184
+ * Server object binding for `cse_alife_psydog_phantom`.
1185
+ *
644
1186
  * @source C++ class cse_alife_psydog_phantom : cse_alife_monster_base
645
1187
  * @customConstructor cse_alife_psydog_phantom
646
1188
  * @group xr_object_server
@@ -648,27 +1190,74 @@ declare module "xray16" {
648
1190
  export class cse_alife_psydog_phantom extends cse_alife_monster_abstract {}
649
1191
 
650
1192
  /**
1193
+ * Server object binding for `cse_alife_smart_zone`.
1194
+ *
651
1195
  * @source C++ class cse_alife_smart_zone : cse_alife_space_restrictor,cse_alife_schedulable
652
1196
  * @customConstructor cse_alife_smart_zone
653
1197
  * @group xr_object_server
1198
+ *
1199
+ * @remarks
1200
+ * Server-side smart terrain/zone hook. Base implementations may be placeholders; gameplay scripts usually work with
1201
+ * concrete smart-terrain logic.
654
1202
  */
655
1203
  export class cse_alife_smart_zone extends cse_alife_space_restrictor implements IXR_cse_alife_schedulable {
656
- public detect_probability(): void;
1204
+ /**
1205
+ * @returns Probability used by the zone for detecting objects.
1206
+ */
1207
+ public detect_probability(): f32;
657
1208
 
658
- public smart_touch(cse_alife_monster_abstract: cse_alife_creature_abstract): void;
1209
+ /**
1210
+ * Notify the smart zone that a monster touched it.
1211
+ *
1212
+ * @remarks
1213
+ * The base implementation is empty; concrete smart zones can override behavior.
1214
+ *
1215
+ * @param monster - Monster server object.
1216
+ */
1217
+ public smart_touch(monster: cse_alife_monster_abstract): void;
659
1218
 
660
- public unregister_npc(cse_alife_monster_abstract: cse_alife_creature_abstract): void;
1219
+ /**
1220
+ * Remove a monster from the smart zone.
1221
+ *
1222
+ * @param monster - Monster server object.
1223
+ */
1224
+ public unregister_npc(monster: cse_alife_monster_abstract): void;
661
1225
 
662
- public register_npc(cse_alife_monster_abstract: cse_alife_creature_abstract): void;
1226
+ /**
1227
+ * Register a monster in the smart zone.
1228
+ *
1229
+ * @param monster - Monster server object.
1230
+ */
1231
+ public register_npc(monster: cse_alife_monster_abstract): void;
663
1232
 
664
- public suitable(cse_alife_monster_abstract: cse_alife_creature_abstract): void;
1233
+ /**
1234
+ * Rate how suitable this smart zone is for a monster.
1235
+ *
1236
+ * @param monster - Monster server object.
1237
+ * @returns Suitability score.
1238
+ */
1239
+ public suitable(monster: cse_alife_monster_abstract): f32;
665
1240
 
666
- public task(cse_alife_monster_abstract: cse_alife_creature_abstract): CALifeSmartTerrainTask | null;
1241
+ /**
1242
+ * Get the smart terrain task assigned to a monster.
1243
+ *
1244
+ * @param monster - Monster server object.
1245
+ * @returns Smart terrain task, or `null` when none is assigned.
1246
+ */
1247
+ public task(monster: cse_alife_monster_abstract): CALifeSmartTerrainTask | null;
667
1248
 
668
- public enabled(cse_alife_monster_abstract: cse_alife_creature_abstract): void;
1249
+ /**
1250
+ * Check whether this smart zone is enabled for a monster.
1251
+ *
1252
+ * @param monster - Monster server object.
1253
+ * @returns Whether the zone can be used.
1254
+ */
1255
+ public enabled(monster: cse_alife_monster_abstract): boolean;
669
1256
  }
670
1257
 
671
1258
  /**
1259
+ * Server object binding for `cse_alife_team_base_zone`.
1260
+ *
672
1261
  * @source C++ class cse_alife_team_base_zone : cse_alife_space_restrictor
673
1262
  * @customConstructor cse_alife_team_base_zone
674
1263
  * @group xr_object_server
@@ -676,6 +1265,8 @@ declare module "xray16" {
676
1265
  export class cse_alife_team_base_zone extends cse_alife_space_restrictor {}
677
1266
 
678
1267
  /**
1268
+ * Server object binding for `cse_torrid_zone`.
1269
+ *
679
1270
  * @source C++ class cse_torrid_zone : cse_custom_zone,cse_motion
680
1271
  * @customConstructor cse_torrid_zone
681
1272
  * @group xr_object_server
@@ -683,44 +1274,98 @@ declare module "xray16" {
683
1274
  export class cse_torrid_zone extends cse_custom_zone implements cse_abstract {}
684
1275
 
685
1276
  /**
1277
+ * Server object binding for `cse_alife_trader`.
1278
+ *
686
1279
  * @source C++ class cse_alife_trader : cse_alife_dynamic_object_visual,cse_alife_trader_abstract
687
1280
  * @customConstructor cse_alife_trader
688
1281
  * @group xr_object_server
689
1282
  */
690
1283
  export class cse_alife_trader extends cse_alife_dynamic_object_visual implements cse_alife_trader_abstract {
1284
+ /**
1285
+ * @returns Trader reputation value.
1286
+ */
691
1287
  public reputation(): i32;
692
1288
 
1289
+ /**
1290
+ * @returns Trader rank.
1291
+ */
693
1292
  public rank(): i32;
694
1293
 
1294
+ /**
1295
+ * Set trader rank.
1296
+ *
1297
+ * @param rank - New rank value.
1298
+ */
695
1299
  public set_rank(rank: i32): void;
696
1300
 
1301
+ /**
1302
+ * @returns Trader community name.
1303
+ */
697
1304
  public community(): string;
698
1305
 
1306
+ /**
1307
+ * @returns Character profile section name.
1308
+ */
699
1309
  public profile_name(): string;
700
1310
 
1311
+ /**
1312
+ * @returns Localized character name.
1313
+ */
701
1314
  public character_name(): string;
702
1315
 
1316
+ /**
1317
+ * Resolve and return the character icon name.
1318
+ *
1319
+ * @returns Icon name.
1320
+ */
703
1321
  public character_icon(): string;
704
1322
 
1323
+ /**
1324
+ * Set character profile section name.
1325
+ *
1326
+ * @param name - Profile section name.
1327
+ */
705
1328
  public set_profile_name(name: string): void;
706
1329
 
1330
+ /**
1331
+ * Set localized character name.
1332
+ *
1333
+ * @param name - Character name.
1334
+ */
707
1335
  public set_character_name(name: string): void;
708
1336
  }
709
1337
 
710
1338
  /**
1339
+ * Server object binding for `cse_smart_cover`.
1340
+ *
711
1341
  * @source C++ class cse_smart_cover : cse_alife_dynamic_object
712
1342
  * @customConstructor cse_smart_cover
713
1343
  * @group xr_object_server
714
1344
  */
715
1345
  export class cse_smart_cover extends cse_alife_dynamic_object {
1346
+ /**
1347
+ * @returns Smart-cover description table id.
1348
+ */
716
1349
  public description<T extends string = string>(): T | null;
717
1350
 
1351
+ /**
1352
+ * Replace the table of available loopholes.
1353
+ *
1354
+ * @param object - Lua table with loophole ids.
1355
+ */
718
1356
  public set_available_loopholes(object: unknown): void;
719
1357
 
1358
+ /**
1359
+ * Enable or disable editor validation for the loopholes table.
1360
+ *
1361
+ * @param value - Whether loopholes should be checked.
1362
+ */
720
1363
  public set_loopholes_table_checker(value: boolean): void;
721
1364
  }
722
1365
 
723
1366
  /**
1367
+ * Server object binding for `cse_alife_car`.
1368
+ *
724
1369
  * @source C++ class cse_alife_car : cse_alife_dynamic_object_visual,cse_ph_skeleton
725
1370
  * @customConstructor cse_alife_car
726
1371
  * @group xr_object_server
@@ -728,6 +1373,8 @@ declare module "xray16" {
728
1373
  export class cse_alife_car extends cse_alife_dynamic_object_visual implements IXR_cse_ph_skeleton {}
729
1374
 
730
1375
  /**
1376
+ * Server object binding for `cse_alife_creature_actor`.
1377
+ *
731
1378
  * @source C++ class cse_alife_creature_actor : cse_alife_creature_abstract,cse_alife_trader_abstract,cse_ph_skeleton
732
1379
  * @customConstructor cse_alife_creature_actor
733
1380
  * @group xr_object_server
@@ -736,24 +1383,58 @@ declare module "xray16" {
736
1383
  extends cse_alife_creature_abstract
737
1384
  implements IXR_cse_ph_skeleton, cse_alife_trader_abstract
738
1385
  {
1386
+ /**
1387
+ * @returns Actor reputation value.
1388
+ */
739
1389
  public reputation(): i32;
740
1390
 
1391
+ /**
1392
+ * @returns Actor rank.
1393
+ */
741
1394
  public rank(): i32;
742
1395
 
1396
+ /**
1397
+ * Set actor rank.
1398
+ *
1399
+ * @param rank - New rank value.
1400
+ */
743
1401
  public set_rank(rank: i32): void;
744
1402
 
1403
+ /**
1404
+ * @returns Actor character profile section name.
1405
+ */
745
1406
  public profile_name(): string;
746
1407
 
1408
+ /**
1409
+ * @returns Localized actor character name.
1410
+ */
747
1411
  public character_name(): string;
748
1412
 
1413
+ /**
1414
+ * Resolve and return the actor character icon name.
1415
+ *
1416
+ * @returns Icon name.
1417
+ */
749
1418
  public character_icon(): string;
750
1419
 
1420
+ /**
1421
+ * Set actor character profile section name.
1422
+ *
1423
+ * @param name - Profile section name.
1424
+ */
751
1425
  public set_profile_name(name: string): void;
752
1426
 
1427
+ /**
1428
+ * Set localized actor character name.
1429
+ *
1430
+ * @param name - Character name.
1431
+ */
753
1432
  public set_character_name(name: string): void;
754
1433
  }
755
1434
 
756
1435
  /**
1436
+ * Server object binding for `cse_alife_creature_crow`.
1437
+ *
757
1438
  * @source C++ class cse_alife_creature_crow : cse_alife_creature_abstract
758
1439
  * @customConstructor cse_alife_creature_crow
759
1440
  * @group xr_object_server
@@ -761,6 +1442,8 @@ declare module "xray16" {
761
1442
  export class cse_alife_creature_crow extends cse_alife_creature_abstract {}
762
1443
 
763
1444
  /**
1445
+ * Server object binding for `cse_alife_creature_phantom`.
1446
+ *
764
1447
  * @source C++ class cse_alife_creature_phantom : cse_alife_creature_abstract
765
1448
  * @customConstructor cse_alife_creature_phantom
766
1449
  * @group xr_object_server
@@ -768,15 +1451,22 @@ declare module "xray16" {
768
1451
  export class cse_alife_creature_phantom extends cse_alife_creature_abstract {}
769
1452
 
770
1453
  /**
1454
+ * Server object binding for `cse_alife_graph_point`.
1455
+ *
771
1456
  * @source C++ class cse_alife_graph_point : cse_abstract
772
1457
  * @customConstructor cse_alife_graph_point
773
1458
  * @group xr_object_server
774
1459
  */
775
1460
  export class cse_alife_graph_point extends cse_abstract {
1461
+ /**
1462
+ * Initialize graph point server state.
1463
+ */
776
1464
  public init(): void;
777
1465
  }
778
1466
 
779
1467
  /**
1468
+ * Server object binding for `cse_alife_helicopter`.
1469
+ *
780
1470
  * @source C++ class cse_alife_helicopter : cse_alife_dynamic_object_visual,cse_motion,cse_ph_skeleton
781
1471
  * @customConstructor cse_alife_helicopter
782
1472
  * @group xr_object_server
@@ -786,6 +1476,8 @@ declare module "xray16" {
786
1476
  implements IXR_cse_motion, IXR_cse_ph_skeleton {}
787
1477
 
788
1478
  /**
1479
+ * Server object binding for `cse_alife_human_stalker`.
1480
+ *
789
1481
  * @source C++ class cse_alife_human_stalker : cse_alife_human_abstract,cse_ph_skeleton
790
1482
  * @customConstructor cse_alife_human_stalker
791
1483
  * @group xr_object_server