xray16 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -1,47 +1,85 @@
1
1
  declare module "xray16" {
2
2
  /**
3
+ * Client object binding for `CSpaceRestrictor` zones.
4
+ *
3
5
  * @source C++ class CSpaceRestrictor : CGameObject
4
6
  * @customConstructor CSpaceRestrictor
5
7
  * @group xr_zone
8
+ *
9
+ * @remarks
10
+ * Restrictor wrappers represent level volumes used by AI and script logic. They are not inventory items or alive
11
+ * entities.
6
12
  */
7
13
  export class CSpaceRestrictor extends CGameObject {}
8
14
 
9
15
  /**
16
+ * Client object binding for `CCustomZone` zones.
17
+ *
10
18
  * @source C++ class CCustomZone : public CSpaceRestrictor, public Feel::Touch
11
19
  * @customConstructor CCustomZone
12
20
  * @group xr_zone
21
+ *
22
+ * @remarks
23
+ * Anomaly power and activation helpers on `game_object` require this family.
13
24
  */
14
25
  export class CCustomZone extends CSpaceRestrictor {}
15
26
 
16
27
  /**
28
+ * Client object binding for `CLevelChanger` zones.
29
+ *
17
30
  * @source C++ class CLevelChanger : CGameObject
18
31
  * @customConstructor CLevelChanger
19
32
  * @group xr_zone
33
+ *
34
+ * @remarks
35
+ * Level-changer enable and invitation helpers require this runtime class.
20
36
  */
21
37
  export class CLevelChanger extends CGameObject {}
22
38
 
23
39
  /**
40
+ * Client object binding for `smart_cover_object` zones.
41
+ *
24
42
  * @source C++ class smart_cover_object : CGameObject
25
43
  * @customConstructor smart_cover_object
26
44
  * @group xr_zone
45
+ *
46
+ * @remarks
47
+ * Smart-cover suitability and loophole checks require this kind of object as the cover target.
27
48
  */
28
49
  export class smart_cover_object extends CGameObject {}
29
50
 
30
51
  /**
52
+ * Client object binding for `ce_script_zone` zones.
53
+ *
31
54
  * @source C++ class ce_script_zone : DLL_Pure
32
55
  * @customConstructor ce_script_zone
33
56
  * @group xr_zone
57
+ *
58
+ * @remarks
59
+ * Server-side zone entity wrapper used by engine internals and spawn data. Gameplay scripts usually interact with
60
+ * the client `CSpaceRestrictor` or `CCustomZone` wrapper instead.
34
61
  */
35
62
  export class ce_script_zone extends DLL_Pure {
63
+ /**
64
+ * Engine-created script zone server entity.
65
+ */
36
66
  protected constructor();
37
67
  }
38
68
 
39
69
  /**
70
+ * Client object binding for `ce_smart_zone` zones.
71
+ *
40
72
  * @source C++ class ce_smart_zone : DLL_Pure
41
73
  * @customConstructor ce_smart_zone
42
74
  * @group xr_zone
75
+ *
76
+ * @remarks
77
+ * Server-side smart-zone entity wrapper. Use client smart-cover objects for runtime cover checks.
43
78
  */
44
79
  export class ce_smart_zone extends DLL_Pure {
80
+ /**
81
+ * Engine-created smart zone server entity.
82
+ */
45
83
  protected constructor();
46
84
  }
47
85
  }
@@ -1,31 +1,65 @@
1
1
  declare module "xray16" {
2
2
  /**
3
+ * Cover point returned by cover search helpers.
4
+ *
3
5
  * @source C++ class cover_point
4
6
  * @customConstructor cover_point
5
7
  * @group xr_script_interface
6
8
  */
7
9
  export class cover_point {
10
+ /**
11
+ * Engine-created cover point descriptor.
12
+ */
8
13
  private constructor();
9
14
 
15
+ /**
16
+ * Get the level vertex occupied by this cover.
17
+ *
18
+ * @returns Level vertex id.
19
+ */
10
20
  public level_vertex_id(): u32;
11
21
 
22
+ /**
23
+ * Check whether this cover point comes from a smart cover.
24
+ *
25
+ * @returns Whether it is a smart cover.
26
+ */
12
27
  public is_smart_cover(): boolean;
13
28
 
29
+ /**
30
+ * Get cover position.
31
+ *
32
+ * @returns Cover position.
33
+ */
14
34
  public position(): vector;
15
35
  }
16
36
 
17
37
  /**
38
+ * Hit context passed to monster combat callbacks.
39
+ *
18
40
  * @source C++ class MonsterHitInfo
19
41
  * @customConstructor MonsterHitInfo
20
42
  * @group xr_script_interface
21
43
  */
22
44
  export class MonsterHitInfo extends EngineBinding {
45
+ /**
46
+ * Engine-created monster hit descriptor.
47
+ */
23
48
  private constructor();
24
49
 
50
+ /**
51
+ * Hit direction.
52
+ */
25
53
  public direction: vector;
26
54
 
55
+ /**
56
+ * Hit time.
57
+ */
27
58
  public time: i32;
28
59
 
60
+ /**
61
+ * Object that caused the hit.
62
+ */
29
63
  public who: game_object;
30
64
  }
31
65
 
@@ -49,6 +83,8 @@ declare module "xray16" {
49
83
  export type TXR_game_object_path = 0 | 1 | 2 | 3 | number;
50
84
 
51
85
  /**
86
+ * Engine callback id registry.
87
+ *
52
88
  * @source C++ class callback
53
89
  * @customConstructor callback
54
90
  * @group xr_script_interface
@@ -58,65 +94,230 @@ declare module "xray16" {
58
94
  * Default x-ray 16 callbacks.
59
95
  */
60
96
  public static readonly trade_start: 0;
97
+ /**
98
+ * Engine enum value for `callback.trade_stop`.
99
+ */
61
100
  public static readonly trade_stop: 1;
101
+ /**
102
+ * Engine enum value for `callback.trade_sell_buy_item`.
103
+ */
62
104
  public static readonly trade_sell_buy_item: 2;
105
+ /**
106
+ * Engine enum value for `callback.trade_perform_operation`.
107
+ */
63
108
  public static readonly trade_perform_operation: 3;
109
+ /**
110
+ * Engine enum value for `callback.zone_enter`.
111
+ */
64
112
  public static readonly zone_enter: 4;
113
+ /**
114
+ * Engine enum value for `callback.zone_exit`.
115
+ */
65
116
  public static readonly zone_exit: 5;
117
+ /**
118
+ * Engine enum value for `callback.level_border_exit`.
119
+ */
66
120
  public static readonly level_border_exit: 6;
121
+ /**
122
+ * Engine enum value for `callback.level_border_enter`.
123
+ */
67
124
  public static readonly level_border_enter: 7;
125
+ /**
126
+ * Engine enum value for `callback.death`.
127
+ */
68
128
  public static readonly death: 8;
129
+ /**
130
+ * Engine enum value for `callback.patrol_path_in_point`.
131
+ */
69
132
  public static readonly patrol_path_in_point: 9;
133
+ /**
134
+ * Engine enum value for `callback.inventory_pda`.
135
+ */
70
136
  public static readonly inventory_pda: 10;
137
+ /**
138
+ * Engine enum value for `callback.inventory_info`.
139
+ */
71
140
  public static readonly inventory_info: 11;
141
+ /**
142
+ * Engine enum value for `callback.article_info`.
143
+ */
72
144
  public static readonly article_info: 12;
145
+ /**
146
+ * Engine enum value for `callback.task_state`.
147
+ */
73
148
  public static readonly task_state: 13;
149
+ /**
150
+ * Engine enum value for `callback.map_location_added`.
151
+ */
74
152
  public static readonly map_location_added: 14;
153
+ /**
154
+ * Engine enum value for `callback.use_object`.
155
+ */
75
156
  public static readonly use_object: 15;
157
+ /**
158
+ * Engine enum value for `callback.hit`.
159
+ */
76
160
  public static readonly hit: 16;
161
+ /**
162
+ * Engine enum value for `callback.sound`.
163
+ */
77
164
  public static readonly sound: 17;
165
+ /**
166
+ * Engine enum value for `callback.action_movement`.
167
+ */
78
168
  public static readonly action_movement: 18;
169
+ /**
170
+ * Engine enum value for `callback.action_watch`.
171
+ */
79
172
  public static readonly action_watch: 19;
173
+ /**
174
+ * Engine enum value for `callback.action_removed`.
175
+ */
80
176
  public static readonly action_removed: 20;
177
+ /**
178
+ * Engine enum value for `callback.action_animation`.
179
+ */
81
180
  public static readonly action_animation: 21;
181
+ /**
182
+ * Engine enum value for `callback.action_sound`.
183
+ */
82
184
  public static readonly action_sound: 22;
185
+ /**
186
+ * Engine enum value for `callback.action_particle`.
187
+ */
83
188
  public static readonly action_particle: 23;
189
+ /**
190
+ * Engine enum value for `callback.action_object`.
191
+ */
84
192
  public static readonly action_object: 24;
193
+ /**
194
+ * Engine enum value for `callback.actor_sleep`.
195
+ */
85
196
  public static readonly actor_sleep: 25;
197
+ /**
198
+ * Engine enum value for `callback.helicopter_on_point`.
199
+ */
86
200
  public static readonly helicopter_on_point: 26;
201
+ /**
202
+ * Engine enum value for `callback.helicopter_on_hit`.
203
+ */
87
204
  public static readonly helicopter_on_hit: 27;
205
+ /**
206
+ * Engine enum value for `callback.on_item_take`.
207
+ */
88
208
  public static readonly on_item_take: 28;
209
+ /**
210
+ * Engine enum value for `callback.on_item_drop`.
211
+ */
89
212
  public static readonly on_item_drop: 29;
213
+ /**
214
+ * Engine enum value for `callback.script_animation`.
215
+ */
90
216
  public static readonly script_animation: 30;
217
+ /**
218
+ * Engine enum value for `callback.trader_global_anim_request`.
219
+ */
91
220
  public static readonly trader_global_anim_request: 31;
221
+ /**
222
+ * Engine enum value for `callback.trader_head_anim_request`.
223
+ */
92
224
  public static readonly trader_head_anim_request: 32;
225
+ /**
226
+ * Engine enum value for `callback.trader_sound_end`.
227
+ */
93
228
  public static readonly trader_sound_end: 33;
229
+ /**
230
+ * Engine enum value for `callback.take_item_from_box`.
231
+ */
94
232
  public static readonly take_item_from_box: 34;
233
+ /**
234
+ * Engine enum value for `callback.weapon_no_ammo`.
235
+ */
95
236
  public static readonly weapon_no_ammo: 35;
237
+ /**
238
+ * Engine enum value for `callback.hud_animation_end`.
239
+ */
96
240
  public static readonly hud_animation_end: 36;
97
241
 
242
+ /**
243
+ * Engine enum value for `callback.key_press`.
244
+ */
98
245
  public static readonly key_press: 37;
246
+ /**
247
+ * Engine enum value for `callback.key_release`.
248
+ */
99
249
  public static readonly key_release: 38;
250
+ /**
251
+ * Engine enum value for `callback.key_hold`.
252
+ */
100
253
  public static readonly key_hold: 39;
254
+ /**
255
+ * Engine enum value for `callback.mouse_move`.
256
+ */
101
257
  public static readonly mouse_move: 40;
258
+ /**
259
+ * Engine enum value for `callback.mouse_wheel`.
260
+ */
102
261
  public static readonly mouse_wheel: 41;
262
+ /**
263
+ * Engine enum value for `callback.controller_press`.
264
+ */
103
265
  public static readonly controller_press: 42;
266
+ /**
267
+ * Engine enum value for `callback.controller_release`.
268
+ */
104
269
  public static readonly controller_release: 43;
270
+ /**
271
+ * Engine enum value for `callback.controller_hold`.
272
+ */
105
273
  public static readonly controller_hold: 44;
106
274
  // Public static readonly controller_attitude_change: 45;
107
275
 
276
+ /**
277
+ * Engine enum value for `callback.item_to_belt`.
278
+ */
108
279
  public static readonly item_to_belt: 46;
280
+ /**
281
+ * Engine enum value for `callback.item_to_slot`.
282
+ */
109
283
  public static readonly item_to_slot: 47;
284
+ /**
285
+ * Engine enum value for `callback.item_to_ruck`.
286
+ */
110
287
  public static readonly item_to_ruck: 48;
111
288
 
289
+ /**
290
+ * Engine enum value for `callback.weapon_zoom_in`.
291
+ */
112
292
  public static readonly weapon_zoom_in: 49;
293
+ /**
294
+ * Engine enum value for `callback.weapon_zoom_out`.
295
+ */
113
296
  public static readonly weapon_zoom_out: 50;
297
+ /**
298
+ * Engine enum value for `callback.weapon_jammed`.
299
+ */
114
300
  public static readonly weapon_jammed: 51;
301
+ /**
302
+ * Engine enum value for `callback.weapon_magazine_empty`.
303
+ */
115
304
  public static readonly weapon_magazine_empty: 52;
116
305
 
306
+ /**
307
+ * Engine enum value for `callback.actor_before_death`.
308
+ */
117
309
  public static readonly actor_before_death: 53;
310
+ /**
311
+ * Engine enum value for `callback.on_attach_vehicle`.
312
+ */
118
313
  public static readonly on_attach_vehicle: 54;
314
+ /**
315
+ * Engine enum value for `callback.on_detach_vehicle`.
316
+ */
119
317
  public static readonly on_detach_vehicle: 55;
318
+ /**
319
+ * Engine enum value for `callback.on_use_vehicle`.
320
+ */
120
321
  public static readonly on_use_vehicle: 56;
121
322
  }
122
323
 
@@ -242,7 +443,7 @@ declare module "xray16" {
242
443
  // 10 todo: inventory_pda -> implement in game engine
243
444
 
244
445
  /**
245
- * 11 todo:
446
+ * Callback executed when an NPC receives an info portion.
246
447
  */
247
448
  public set_callback<T extends AnyObject>(
248
449
  type: TXR_callbacks["inventory_info"],
@@ -278,6 +479,10 @@ declare module "xray16" {
278
479
  cb?: ((this: void, object: game_object) => void) | null,
279
480
  object?: Maybe<T>
280
481
  ): void;
482
+
483
+ /**
484
+ * 15 Use some object with explicit user object.
485
+ */
281
486
  public set_callback<T extends AnyObject>(
282
487
  type: TXR_callbacks["use_object"],
283
488
  cb?: ((this: void, object: game_object, who: game_object) => void) | null,
@@ -569,16 +774,46 @@ declare module "xray16" {
569
774
 
570
775
  // 56 todo: on_use_vehicle
571
776
 
777
+ /**
778
+ * Clear all callbacks registered on this object.
779
+ */
572
780
  public clear_callbacks(): void;
573
781
 
782
+ /**
783
+ * Clear the custom enemy selector callback.
784
+ */
574
785
  public set_enemy_callback(cb: null): void;
575
786
 
787
+ /**
788
+ * Set a custom enemy selector callback.
789
+ *
790
+ * @param cb - Callback that receives this object and a candidate enemy.
791
+ * @param object - Lua context used as callback `this`.
792
+ */
576
793
  public set_enemy_callback<T>(cb: (this: T, object: game_object, enemy: game_object) => boolean, object: T): void;
577
794
 
795
+ /**
796
+ * Set a fast update callback for this object.
797
+ *
798
+ * @param cb - Callback called from the object's fast update path.
799
+ * @param context - Lua context used as callback `this`.
800
+ */
578
801
  public set_fastcall<T>(cb: (this: T) => boolean, context: T): void;
579
802
 
803
+ /**
804
+ * Set or clear the patrol extrapolation callback.
805
+ *
806
+ * @param cb - Callback called with current patrol point index.
807
+ * @param object - Optional Lua context.
808
+ */
580
809
  public set_patrol_extrapolate_callback(cb?: ((cur_pt: number) => boolean) | null, object?: object): void;
581
810
 
811
+ /**
812
+ * Set or clear smart-cover target selection callback.
813
+ *
814
+ * @param cb - Callback that receives this object when a smart-cover target is selected.
815
+ * @param object - Optional Lua context.
816
+ */
582
817
  public set_smart_cover_target_selector(cb?: ((object: game_object) => void) | null, object?: object | null): void;
583
818
  }
584
819
  }