xray16 1.0.5 → 1.0.8

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 (65) hide show
  1. package/README.md +4 -1
  2. package/package.json +4 -3
  3. package/types/index.d.ts +46 -22
  4. package/types/{xr_object → xr_ai}/xr_action.d.ts +163 -135
  5. package/types/xr_ai/xr_alife.d.ts +552 -0
  6. package/types/xr_ai/xr_enemy_evaluation.d.ts +41 -0
  7. package/types/xr_ai/xr_goap.d.ts +668 -0
  8. package/types/xr_ai/xr_graph.d.ts +47 -0
  9. package/types/xr_ai/xr_memory.d.ts +148 -0
  10. package/types/xr_lib/xr_animation.d.ts +81 -0
  11. package/types/xr_lib/xr_bitwise.d.ts +21 -0
  12. package/types/xr_lib/xr_color.d.ts +40 -0
  13. package/types/xr_lib/xr_debug.d.ts +100 -0
  14. package/types/{xr_object → xr_lib}/xr_dialog.d.ts +7 -1
  15. package/types/xr_lib/xr_flags.d.ts +148 -0
  16. package/types/xr_lib/xr_fs.d.ts +37 -229
  17. package/types/xr_lib/xr_game.d.ts +159 -0
  18. package/types/xr_lib/xr_hit.d.ts +41 -0
  19. package/types/xr_lib/xr_ini.d.ts +176 -0
  20. package/types/xr_lib/xr_level.d.ts +225 -0
  21. package/types/xr_lib/xr_luabind.d.ts +59 -0
  22. package/types/{xr_map → xr_lib}/xr_map.d.ts +19 -0
  23. package/types/xr_lib/xr_math.d.ts +65 -0
  24. package/types/{xr_online → xr_lib}/xr_multiplayer.d.ts +52 -0
  25. package/types/xr_lib/xr_properties.d.ts +166 -0
  26. package/types/xr_lib/xr_relation.d.ts +84 -0
  27. package/types/xr_lib/xr_render.d.ts +70 -0
  28. package/types/xr_lib/xr_save.d.ts +223 -0
  29. package/types/{xr_sound → xr_lib}/xr_sound.d.ts +10 -12
  30. package/types/xr_lib/xr_stats.ts +20 -0
  31. package/types/{xr_object/xr_quest.d.ts → xr_lib/xr_task.d.ts} +54 -2
  32. package/types/xr_lib/xr_time.d.ts +61 -0
  33. package/types/{xr_type → xr_lib}/xr_type.d.ts +13 -13
  34. package/types/xr_object/client/xr_client_object.d.ts +76 -0
  35. package/types/xr_object/{xr_level.d.ts → client/xr_level.d.ts} +69 -0
  36. package/types/xr_object/{xr_physic.d.ts → client/xr_physic.d.ts} +58 -0
  37. package/types/xr_object/client/xr_zone.d.ts +40 -0
  38. package/types/xr_object/script/xr_script_interface.d.ts +429 -0
  39. package/types/xr_object/{xr_client_object.d.ts → script/xr_script_object.d.ts} +449 -522
  40. package/types/xr_object/script/xr_script_trade.d.ts +26 -0
  41. package/types/xr_object/{xr_server_object.d.ts → server/xr_server_object.d.ts} +152 -73
  42. package/types/xr_ui/xr_ui_asset.d.ts +123 -0
  43. package/types/xr_ui/xr_ui_core.d.ts +33 -123
  44. package/types/xr_ui/xr_ui_event.d.ts +382 -0
  45. package/types/xr_ui/xr_ui_interface.d.ts +213 -0
  46. package/types/xr_ui/xr_ui_menu.d.ts +142 -0
  47. package/types/xr_constant.d.ts +0 -976
  48. package/types/xr_core.d.ts +0 -347
  49. package/types/xr_global.d.ts +0 -648
  50. package/types/xr_lib/xr_utils.d.ts +0 -407
  51. package/types/xr_luabind.d.ts +0 -34
  52. package/types/xr_object/xr_alife.d.ts +0 -206
  53. package/types/xr_type/xr_enums.d.ts +0 -17
  54. package/types/xr_ui/README.md +0 -277
  55. package/types/xr_ui/demo/CServerList.png +0 -0
  56. package/types/xr_ui/demo/CUI3tButton.png +0 -0
  57. package/types/xr_ui/demo/CUICheckButton.png +0 -0
  58. package/types/xr_ui/demo/CUIComboBox.png +0 -0
  59. package/types/xr_ui/demo/CUICustomEdit.png +0 -0
  60. package/types/xr_ui/demo/CUIStatic.png +0 -0
  61. package/types/xr_ui/demo/CUITrackBar.png +0 -0
  62. /package/types/xr_object/{xr_anomaly.d.ts → client/xr_anomaly.d.ts} +0 -0
  63. /package/types/xr_object/{xr_artefact.d.ts → client/xr_artefact.d.ts} +0 -0
  64. /package/types/xr_object/{xr_creature.d.ts → client/xr_creature.d.ts} +0 -0
  65. /package/types/xr_object/{xr_item.d.ts → client/xr_item.d.ts} +0 -0
@@ -1,502 +1,4 @@
1
1
  declare module "xray16" {
2
- /**
3
- * @source C++ class IRender_Visual
4
- * @group xr_client_object
5
- */
6
- export interface IXR_IRender_Visual {
7
- dcast_PKinematicsAnimated(): IKinematicsAnimated;
8
- }
9
-
10
- /**
11
- * @source C++ class global
12
- * @customConstructor object_factory
13
- * @group xr_client_object
14
- */
15
- export class object_factory {
16
- protected constructor();
17
-
18
- public register(
19
- client_object_class: string,
20
- server_object_class: string,
21
- clsid: string,
22
- script_clsid: TXR_class_key
23
- ): void;
24
-
25
- public register(client_object_class: string, clsid: string, script_clsid: TXR_class_key): void;
26
- }
27
-
28
- /**
29
- * Class to link client side object implementation and wrap it with custom lua side logics.
30
- *
31
- * @source C++ class object_binder
32
- * @customConstructor object_binder
33
- * @group xr_client_object
34
- */
35
- export class object_binder<T = game_object> extends EngineBinding {
36
- public readonly object: T;
37
-
38
- public constructor(object: T);
39
-
40
- public save(packet: net_packet): void;
41
- public load(reader: reader): void;
42
- public update(delta: u32): void;
43
- public reload(section: string): void;
44
- public reinit(): void;
45
- public net_export(net_packet: net_packet): void;
46
- public net_save_relevant(): boolean;
47
- public net_destroy(): void;
48
- public net_Relcase(object: T): void;
49
- public net_spawn(object: cse_alife_object): boolean;
50
- public net_import(net_packet: net_packet): void;
51
- }
52
-
53
- /**
54
- * @source C++ class particle
55
- * @customConstructor particle
56
- * @group xr_client_object
57
- */
58
- export class particle extends EngineBinding {
59
- public constructor(particle_to_run: string, particle_params?: particle_params, auto_remove?: boolean);
60
- public constructor(
61
- particle_to_run: string,
62
- bone_name: string,
63
- particle_params: particle_params,
64
- auto_remove: boolean
65
- );
66
-
67
- public completed(): boolean;
68
- public set_angles(vector: vector): void;
69
- public set_bone(bone_id: string): void;
70
- public set_particle(value1: string, value2: boolean): void;
71
- public set_position(vector: vector): void;
72
- public set_velocity(vector: vector): void;
73
- }
74
-
75
- /**
76
- * @source C++ class particle_params
77
- * @customConstructor particle_params
78
- * @group xr_client_object
79
- */
80
- export class particle_params {
81
- public constructor();
82
- public constructor(first?: vector, second?: vector, third?: vector);
83
- }
84
-
85
- /**
86
- * @source C++ class explosive
87
- * @customConstructor explosive
88
- * @group xr_core
89
- */
90
- export class explosive extends EngineBinding {
91
- protected constructor();
92
-
93
- public explode(): void;
94
- }
95
-
96
- /**
97
- * @source C++ class holder
98
- * @customConstructor holder
99
- * @group xr_client_object
100
- */
101
- export class holder {
102
- public engaged(): boolean;
103
- public Action(value1: u16, value2: u32): void;
104
- public SetParam(value: i32, vector: vector): void;
105
- }
106
-
107
- /**
108
- * @source C++ class CGameObject : DLL_Pure, ISheduled, ICollidable, IRenderable
109
- * @customConstructor CGameObject
110
- * @group xr_client_object
111
- */
112
- export class CGameObject extends DLL_Pure {
113
- public Visual(): IXR_IRender_Visual;
114
- public getEnabled(): boolean;
115
- public _construct(): DLL_Pure;
116
- public net_Import(net_packet: net_packet): void;
117
- public getVisible(): boolean;
118
- public net_Export(net_packet: net_packet): void;
119
- public net_Spawn(cse_abstract: cse_abstract): boolean;
120
- public use(object: CGameObject): boolean;
121
- }
122
-
123
- /**
124
- * @source C++ class hit
125
- * @customConstructor hit
126
- * @group xr_client_object
127
- */
128
- export class hit {
129
- public static readonly burn = 0;
130
- public static readonly chemical_burn = 2;
131
- public static readonly dummy = 12;
132
- public static readonly explosion = 7;
133
- public static readonly fire_wound = 8;
134
- public static readonly light_burn = 11;
135
- public static readonly radiation = 3;
136
- public static readonly shock = 1;
137
- public static readonly strike = 5;
138
- public static readonly telepatic = 4;
139
- public static readonly wound = 6;
140
-
141
- public direction: vector;
142
- public draftsman: game_object | null;
143
- public impulse: f32;
144
- public power: f32;
145
- public type: TXR_hit_type;
146
-
147
- public constructor();
148
- public constructor(hit: hit);
149
-
150
- public bone(bone: string): void;
151
- }
152
-
153
- /**
154
- * @group xr_client_object
155
- */
156
- export type TXR_hit_types = typeof hit;
157
-
158
- /**
159
- * @group xr_client_object
160
- */
161
- export type TXR_hit_type = EnumeratedStaticsValues<TXR_hit_types>;
162
-
163
- /**
164
- * @source C++ class danger_object
165
- * @customConstructor danger_object
166
- * @group xr_client_object
167
- */
168
- export class danger_object {
169
- public static attack_sound: 1;
170
- public static attacked: 5;
171
- public static bullet_ricochet: 0;
172
- public static enemy_sound: 7;
173
- public static entity_attacked: 2;
174
- public static entity_corpse: 4;
175
- public static entity_death: 3;
176
- public static grenade: 6;
177
- public static hit: 2;
178
- public static sound: 1;
179
- public static visual: 0;
180
-
181
- public type(): TXR_danger_object;
182
- public time(): u32;
183
- public position(): vector;
184
- public object(): game_object;
185
- public perceive_type(): number; /* CDangerObject::EDangerPerceiveType */
186
- public dependent_object(): game_object;
187
- }
188
-
189
- /**
190
- * @group xr_client_object
191
- */
192
- export type TXR_danger_objects = typeof danger_object;
193
-
194
- /**
195
- * @group xr_client_object
196
- */
197
- export type TXR_danger_object = EnumeratedStaticsValues<TXR_danger_objects>;
198
-
199
- /**
200
- * Enumeration of relations.
201
- *
202
- * eRelationTypeFriend - 0
203
- * eRelationTypeNeutral - 1
204
- * eRelationTypeEnemy - 2
205
- * eRelationTypeWorstEnemy - 3
206
- * eRelationTypeLast - 4
207
- * eRelationTypeDummy - -1
208
- *
209
- * @group xr_client_object
210
- */
211
- export type TXR_relation = 0 | 1 | 2 | 3;
212
-
213
- /**
214
- * @source C++ class CSpaceRestrictor : CGameObject
215
- * @customConstructor CSpaceRestrictor
216
- * @group xr_client_object
217
- */
218
- export class CSpaceRestrictor extends CGameObject {}
219
-
220
- /**
221
- * @source C++ class CLevelChanger : CGameObject
222
- * @customConstructor CLevelChanger
223
- * @group xr_client_object
224
- */
225
- export class CLevelChanger extends CGameObject {}
226
-
227
- /**
228
- * @source C++ class smart_cover_object : CGameObject
229
- * @customConstructor smart_cover_object
230
- * @group xr_client_object
231
- */
232
- export class smart_cover_object extends CGameObject {}
233
-
234
- /**
235
- * Custom extension.
236
- * For reference: src/xrGame/script_game_object_script.cpp
237
- *
238
- * @group xr_client_object
239
- */
240
- class game_object_callbacks_base {
241
- /**
242
- * Remove callback.
243
- *
244
- * @param type - type of callback
245
- * @param cb - null to reset
246
- */
247
- public set_callback(type: TXR_callback, cb: null): void;
248
-
249
- // 0 todo: trade start
250
-
251
- // 1 todo: trade stop
252
-
253
- /**
254
- * 2 todo;
255
- */
256
- public set_callback(
257
- type: TXR_callbacks["trade_sell_buy_item"],
258
- cb?: ((this: void, item: game_object, money_direction: boolean, money: number) => void) | null,
259
- object?: object_binder | null
260
- ): void;
261
-
262
- // 3 todo: trade_perform_operation
263
-
264
- /**
265
- * 4 todo;
266
- */
267
- public set_callback(
268
- type: TXR_callbacks["zone_enter"],
269
- cb?: ((this: void, zone: game_object, object: game_object) => void) | null,
270
- object?: object_binder | null
271
- ): void;
272
-
273
- /**
274
- * 4 todo;
275
- */
276
- public set_callback(
277
- type: TXR_callbacks["zone_exit"],
278
- cb?: ((this: void, zone: game_object, object: game_object) => void) | null,
279
- object?: object_binder | null
280
- ): void;
281
-
282
- // 6 todo: level_border_exit
283
-
284
- // 7 todo: level_border_enter
285
-
286
- /**
287
- * 8 todo;
288
- */
289
- public set_callback(
290
- type: TXR_callbacks["death"],
291
- cb?: (this: void, target: game_object, killer: game_object) => void,
292
- object?: object_binder
293
- ): void;
294
-
295
- /**
296
- * 9 todo;
297
- */
298
- public set_callback(
299
- type: TXR_callbacks["patrol_path_in_point"],
300
- cb?: ((this: void, object: game_object, action_type: number, point_index: number) => void) | null,
301
- object?: object_binder | null
302
- ): void;
303
-
304
- // 10 todo: inventory_pda
305
-
306
- /**
307
- * 11 todo:
308
- */
309
- public set_callback(
310
- type: TXR_callbacks["inventory_info"],
311
- cb?: ((this: void, npc: game_object, info_id: string) => void) | null,
312
- object?: object_binder | null
313
- ): void;
314
-
315
- // 12 todo: article_info
316
-
317
- /**
318
- * 13 todo;
319
- */
320
- public set_callback(
321
- type: TXR_callbacks["task_state"],
322
- cb?: ((this: void, task: CGameTask, state: TXR_TaskState) => void) | null,
323
- object?: object_binder | null
324
- ): void;
325
-
326
- // 14 todo: map_location_added
327
-
328
- /**
329
- * 15 Use some object.
330
- */
331
- public set_callback(
332
- type: TXR_callbacks["use_object"],
333
- cb?: ((this: void, object: game_object) => void) | null,
334
- object?: object_binder | null
335
- ): void;
336
- public set_callback(
337
- type: TXR_callbacks["use_object"],
338
- cb?: ((this: void, object: game_object, who: game_object) => void) | null,
339
- object?: object_binder | null
340
- ): void;
341
-
342
- /**
343
- * 16 Entity got hit.
344
- */
345
- public set_callback(
346
- type: TXR_callbacks["hit"],
347
- cb?:
348
- | ((
349
- this: void,
350
- object: game_object,
351
- damage: number,
352
- direction: vector,
353
- who: game_object,
354
- bone_id: number
355
- ) => void)
356
- | null,
357
- object?: object_binder | null
358
- ): void;
359
-
360
- /**
361
- * 17 todo;
362
- */
363
- public set_callback(
364
- type: TXR_callbacks["sound"],
365
- cb?:
366
- | ((
367
- this: void,
368
- object: game_object,
369
- source_id: number,
370
- sound_type: TXR_snd_type,
371
- position: vector,
372
- sound_power: number
373
- ) => void)
374
- | null,
375
- object?: object_binder | null
376
- ): void;
377
-
378
- // 18 todo: action_movement
379
-
380
- // 19 todo: action_watch
381
-
382
- // 20 todo: action_removed
383
-
384
- // 21 todo: action_animation
385
-
386
- // 22 todo: action_sound
387
-
388
- // 23 todo: action_particle
389
-
390
- // 24 todo: action_object
391
-
392
- // 25 todo: actor_sleep
393
-
394
- /**
395
- * 26 todo;
396
- */
397
- public set_callback(
398
- type: TXR_callbacks["helicopter_on_point"],
399
- cb?: ((this: void, distance: number, current_position: vector, vertex_id: number) => void) | null,
400
- object?: object_binder | null
401
- ): void;
402
-
403
- /**
404
- * 27 todo;
405
- */
406
- public set_callback(
407
- type: TXR_callbacks["helicopter_on_hit"],
408
- cb?: ((this: void, damage: number, impulse: number, hit_type: number, who_id: number) => void) | null,
409
- object?: object_binder | null
410
- ): void;
411
-
412
- /**
413
- * 28 todo;
414
- */
415
- public set_callback(
416
- type: TXR_callbacks["on_item_take"],
417
- cb?: ((this: void, object: game_object, item: game_object) => void) | null,
418
- object?: object_binder | null
419
- ): void;
420
-
421
- /**
422
- * 29 todo;
423
- */
424
- public set_callback(
425
- type: TXR_callbacks["on_item_drop"],
426
- cb?: ((this: void, object: game_object, item: game_object) => void) | null,
427
- object?: object_binder | null
428
- ): void;
429
-
430
- /**
431
- * 30 todo;
432
- */
433
- public set_callback(
434
- type: TXR_callbacks["script_animation"],
435
- cb?: ((this: void, skip_multi_anim_check?: boolean) => void) | null,
436
- object?: object | null
437
- ): void;
438
-
439
- // 31 todo: trader_global_anim_request
440
-
441
- // 32 todo: trader_head_anim_request
442
-
443
- // 33 todo: trader_sound_end
444
-
445
- /**
446
- * 34 todo;
447
- */
448
- public set_callback(
449
- type: TXR_callbacks["take_item_from_box"],
450
- cb?: ((this: void, object: game_object, box: game_object, item: game_object) => void) | null,
451
- object?: object_binder | null
452
- ): void;
453
-
454
- // 35 todo: weapon_no_ammo
455
-
456
- // 36 todo: key_press
457
-
458
- // 37 todo: key_release
459
-
460
- // 38 todo: key_hold
461
-
462
- // 39 todo: mouse_move
463
-
464
- // 40 todo: mouse_wheel
465
-
466
- // 41 todo: controller_press
467
-
468
- // 42 todo: controller_release
469
-
470
- // 43 todo: controller_hold
471
-
472
- // 44 todo: item_to_belt
473
-
474
- // 45 todo: item_to_slot
475
-
476
- // 46 todo: item_to_ruck
477
-
478
- // 47 todo: actor_before_death
479
-
480
- // 48 todo: on_attach_vehicle
481
-
482
- // 49 todo: on_detach_vehicle
483
-
484
- // 50 todo: on_use_vehicle
485
-
486
- // 51 todo: weapon_zoom_in
487
-
488
- // 52 todo: weapon_zoom_out
489
-
490
- // 53 todo: weapon_jammed
491
-
492
- public clear_callbacks(): void;
493
- public set_enemy_callback(cb: null): void;
494
- public set_enemy_callback<T>(cb: (this: T, object: game_object, enemy: game_object) => boolean, object: T): void;
495
- public set_fastcall<T>(cb: (this: T) => boolean, context: T): void;
496
- public set_patrol_extrapolate_callback(cb?: ((cur_pt: number) => boolean) | null, object?: object): void;
497
- public set_smart_cover_target_selector(cb?: (object: game_object) => void, object?: object): void;
498
- }
499
-
500
2
  /*
501
3
  * CAI_Stalker* cast_Stalker();
502
4
  * CArtefact* cast_Artefact();
@@ -615,30 +117,14 @@ declare module "xray16" {
615
117
  */
616
118
 
617
119
  /**
618
- * Visibility state of bloodsucker.
619
- * Possible values are:
620
- * - unset = -1,
621
- * - no_visibility = 0,
622
- * - partial_visibility = 1,
623
- * - full_visibility = 2
624
- *
625
- * @source C++ enum visibility_t
626
- */
627
- export type TXR_bloodsucker_visibility_state = -1 | 0 | 1 | 2;
628
-
629
- /**
630
- * @source C++ enum visibility_t
631
- */
632
- export type TXR_game_object_path = 0 | 1 | 2 | 3 | number;
633
-
634
- /**
635
- * Client object base representing generic in-game entities from items to mutants and stalkers.
120
+ * Client object base presentation as script object.
121
+ * Generic in-game entities from items to mutants and stalkers wrapped with luabind export.
636
122
  *
637
123
  * @source C++ class game_object
638
124
  * @customConstructor game_object
639
- * @group xr_client_object
125
+ * @group xr_script_object
640
126
  */
641
- export class game_object extends game_object_callbacks_base {
127
+ export class game_object extends game_object_callbacks_implementation_base {
642
128
  public static readonly dummy: -1;
643
129
 
644
130
  public static readonly game_path: 0;
@@ -692,11 +178,15 @@ declare module "xray16" {
692
178
  * Get engine client object ID.
693
179
  */
694
180
  public id(): u16;
181
+
695
182
  public story_id(): u32;
183
+
696
184
  public object(value: i32 | string): game_object | null;
185
+
697
186
  public clsid(): TXR_class_id;
698
187
 
699
188
  public add_animation(animation: string, hand_usage: boolean, use_movement_controller: boolean): void;
189
+
700
190
  public add_animation(
701
191
  animation: string,
702
192
  hand_usage: boolean,
@@ -706,274 +196,509 @@ declare module "xray16" {
706
196
  ): void;
707
197
 
708
198
  public action(): entity_action;
199
+
709
200
  public action_count(): u32;
201
+
710
202
  public active_detector(): game_object | null;
203
+
711
204
  public active_item(): game_object | null;
205
+
712
206
  /**
713
207
  * @returns active item slot of game object
714
208
  */
715
209
  public active_slot<T extends u32>(): T;
210
+
716
211
  public active_zone_contact(value: u16): boolean;
212
+
717
213
  public add_restrictions(out_restriction: string, in_restriction: string): void;
214
+
718
215
  public animation_slot(): i32;
216
+
719
217
  public base_out_restrictions(): string;
218
+
720
219
  public best_item(): game_object | null;
220
+
721
221
  public best_weapon(): game_object | null;
222
+
722
223
  public bind_object(binder: object_binder): void;
224
+
723
225
  public binded_object(): object_binder;
226
+
724
227
  public burer_set_force_gravi_attack(value: boolean): void;
228
+
725
229
  public buy_supplies(value1: ini_file, value2: string): void;
230
+
726
231
  public can_select_weapon(): boolean;
232
+
727
233
  public can_select_weapon(value: boolean): void;
234
+
728
235
  public can_throw_grenades(): boolean;
236
+
729
237
  public can_throw_grenades(value: boolean): void;
238
+
730
239
  public clear_animations(): void;
240
+
731
241
  public clear_override_animation(): void;
242
+
732
243
  public debug_planner(action_planner: action_planner): void;
244
+
733
245
  public disable_info_portion(value: string): boolean;
246
+
734
247
  public disable_talk(): void;
248
+
735
249
  public disable_trade(): void;
250
+
736
251
  public dont_has_info(value: string): boolean;
252
+
737
253
  /**
738
254
  * Drop item from inventory.
739
255
  *
740
256
  * @param item - game object to drop
741
257
  */
742
258
  public drop_item(item: game_object): void;
259
+
743
260
  public enable_night_vision(value: boolean): void;
261
+
744
262
  public external_sound_start(value: string): void;
263
+
745
264
  public get_bone_id(value: string): u16;
265
+
746
266
  public get_current_direction(): vector;
267
+
747
268
  public get_current_outfit_protection(value: i32): f32;
269
+
748
270
  public get_dest_smart_cover(): cover_point;
271
+
749
272
  public get_dest_smart_cover_name(): string | null;
273
+
750
274
  public get_monster_hit_info(): MonsterHitInfo;
275
+
751
276
  public get_physics_object(): CPhysicObject;
277
+
752
278
  /**
753
279
  * @returns whether object is controlled by lua script
754
280
  */
755
281
  public get_script(): boolean;
282
+
756
283
  public get_smart_cover_description(): string;
284
+
757
285
  public give_talk_message(value1: string, value2: string, value3: string): void;
286
+
758
287
  public idle_max_time(): f32;
288
+
759
289
  public idle_max_time(time: f32): void;
290
+
760
291
  public in_current_loophole_fov(vector: vector): boolean;
292
+
761
293
  public inventory_for_each(cb: (this: void) => void): void;
294
+
762
295
  public is_door_blocked_by_npc(): boolean;
296
+
763
297
  public is_talk_enabled(): boolean;
298
+
764
299
  public is_weapon_going_to_be_strapped(weapon: game_object | null): boolean;
300
+
765
301
  public iterate_inventory_box(
766
302
  cb: (this: void, box: game_object, item: game_object) => void,
767
303
  object: game_object
768
304
  ): void;
305
+
769
306
  public lookout_max_time(): f32;
307
+
770
308
  public lookout_max_time(value: f32): void;
309
+
771
310
  public max_ignore_monster_distance(): f32;
311
+
772
312
  public max_ignore_monster_distance(value: f32): void;
313
+
773
314
  public memory_hit_objects(): unknown; // :vector<MemorySpace::CHitObject, xalloc<struct MemorySpace::CHitObject>
315
+
774
316
  public memory_time(another: game_object): u32;
317
+
775
318
  public memory_visible_objects(): LuaIterable<visible_memory_object>;
319
+
776
320
  public mental_state<T extends number>(): T; // todo: unknown enum
321
+
777
322
  public not_yet_visible_objects(): unknown;
323
+
778
324
  public object_count(): u32;
325
+
779
326
  public path_completed(): boolean;
327
+
780
328
  public relation(game_object: game_object): TXR_relation;
329
+
781
330
  public release_stand_sleep_animation(): void;
331
+
782
332
  public reset_action_queue(): void;
333
+
783
334
  public restore_sound_threshold(): void;
335
+
784
336
  public set_weight(weight: f32): void;
337
+
785
338
  public set_actor_direction(value: f32): void;
339
+
786
340
  public set_ammo_elapsed(value: i32): void;
341
+
787
342
  public set_community_goodwill(first: string, second: i32): void;
343
+
788
344
  public set_const_force(vector: vector, value: f32, time_interval: u32): void;
345
+
789
346
  public set_dest_smart_cover(): void;
347
+
790
348
  public set_dest_smart_cover(value: string): void;
349
+
791
350
  public set_enemy(object: game_object): void;
351
+
792
352
  public set_fov(fov: f32): void;
353
+
793
354
  public set_item(action_id: number, game_object: game_object | null, value1?: u32, value2?: u32): void;
355
+
794
356
  public set_mental_state(state: TXR_animation): void;
357
+
795
358
  public set_override_animation(animation: string): void;
359
+
796
360
  public set_path_type(type: TXR_game_object_path): void;
361
+
797
362
  public set_previous_point(point: i32): void;
363
+
798
364
  public set_smart_cover_target(): void;
365
+
799
366
  public set_smart_cover_target(game_object: game_object): void;
367
+
800
368
  public set_smart_cover_target(vector: vector): void;
369
+
801
370
  public set_smart_cover_target_default(value: boolean): void;
371
+
802
372
  public set_smart_cover_target_fire(): void;
373
+
803
374
  public set_smart_cover_target_lookout(): void;
375
+
804
376
  public set_start_point(point: i32): void;
377
+
805
378
  public sound_voice_prefix(): string;
379
+
806
380
  /**
807
381
  * @returns game object squad id
808
382
  */
809
383
  public squad(): i32;
384
+
810
385
  public switch_to_talk(): void;
386
+
811
387
  public team(): i32;
388
+
812
389
  public use_smart_covers_only(): boolean;
390
+
813
391
  public use_smart_covers_only(value: boolean): void;
392
+
814
393
  public weapon_addon_attach(object: game_object): void;
394
+
815
395
  public weapon_addon_detach(addon: string): void;
396
+
816
397
  public weapon_is_scope(): boolean;
398
+
817
399
  public weapon_silencer_status(): i32;
400
+
818
401
  public weapon_strapped(): boolean;
402
+
819
403
  public weapon_unstrapped(): boolean;
404
+
820
405
  public who_hit_name(): string;
406
+
821
407
  public who_hit_section_name(): string;
822
408
 
823
409
  public activate_slot(index: u32): void;
410
+
824
411
  public actor_look_at_point(vector: vector): void;
412
+
825
413
  public aim_bone_id(): string;
414
+
826
415
  public aim_bone_id(value: string): void;
416
+
827
417
  public aim_time(game_object: game_object): u32;
418
+
828
419
  public aim_time(game_object: game_object, value: u32): void;
420
+
829
421
  public allow_sprint(value: boolean): void;
422
+
830
423
  public animation_count(): i32;
424
+
831
425
  public best_danger(): danger_object | null;
426
+
832
427
  public body_state(): void;
428
+
833
429
  public bone_position(value: string): vector;
430
+
834
431
  public buy_item_condition_factor(value: f32): void;
432
+
835
433
  /**
836
434
  * Change object squad/faction?
837
435
  */
838
436
  public change_team(community_id: u8, squad_id: u8, group_id: u8): void;
437
+
839
438
  public character_icon<T extends string>(): T;
439
+
840
440
  public character_name<T extends string>(): T;
441
+
841
442
  public character_rank(): i32;
443
+
842
444
  public condition(): f32;
445
+
843
446
  public cost(): u32;
447
+
844
448
  public critically_wounded(): boolean;
449
+
845
450
  public deadbody_closed(value: boolean): void;
451
+
846
452
  public death_sound_enabled(): boolean;
453
+
847
454
  public death_sound_enabled(value: boolean): void;
455
+
848
456
  public direction(): vector;
457
+
849
458
  public disable_anomaly(): void;
459
+
850
460
  public disable_hit_marks(): boolean;
461
+
851
462
  public disable_hit_marks(value: boolean): void;
463
+
852
464
  public disable_inv_upgrade(): void;
465
+
853
466
  public drop_item_and_teleport(game_object: game_object, vector: vector): void;
467
+
854
468
  public eat(game_object: game_object): void;
469
+
855
470
  public enable_inv_upgrade(): void;
471
+
856
472
  /**
857
473
  * Switch client level changed enabled state.
858
474
  *
859
475
  * @param is_enabled - whether level changer should be enabled
860
476
  */
861
477
  public enable_level_changer(is_enabled: boolean): void;
478
+
862
479
  public enable_memory_object(game_object: game_object, value: boolean): void;
480
+
863
481
  public explode(value: u32): void;
482
+
864
483
  public extrapolate_length(): f32;
484
+
865
485
  public extrapolate_length(value: f32): void;
486
+
866
487
  public fake_death_stand_up(): void;
488
+
867
489
  public fov(): f32;
490
+
868
491
  public get_ammo_total(): u32;
492
+
869
493
  public get_ammo_type(): u8;
494
+
870
495
  public get_artefact(): CArtefact;
496
+
871
497
  public get_campfire(): CZoneCampfire;
498
+
872
499
  public get_current_outfit(): game_object | null;
500
+
873
501
  public get_current_point_index(): u32;
502
+
874
503
  public get_force_anti_aim(): boolean;
504
+
875
505
  public get_hanging_lamp(): hanging_lamp;
506
+
876
507
  public get_holder_class(): holder;
508
+
877
509
  public get_movement_speed(): vector;
510
+
878
511
  /**
879
512
  * @returns name of lua script controlling monster object
880
513
  */
881
514
  public get_script_name(): string;
515
+
882
516
  public get_visual_name<T extends string>(): T;
517
+
883
518
  public has_info(value: string): boolean;
519
+
884
520
  public hide_weapon(): void;
521
+
885
522
  public idle_min_time(): f32;
523
+
886
524
  public idle_min_time(value: f32): void;
525
+
887
526
  public in_loophole_fov(value1: string, valu2: string, value3: vector): boolean;
527
+
888
528
  public in_restrictions(): string;
529
+
889
530
  public in_smart_cover(): boolean;
531
+
890
532
  /**
891
533
  * Available only in debug mode.
892
534
  * Sets information for game object for debug.
893
535
  */
894
536
  public info_add(text: string): void;
537
+
895
538
  public inv_box_can_take(value: boolean): boolean;
539
+
896
540
  public invulnerable(): boolean;
541
+
897
542
  public invulnerable(value: boolean): void;
543
+
898
544
  public is_body_turning(): boolean;
545
+
899
546
  public is_level_changer_enabled(): boolean;
547
+
900
548
  public is_there_items_to_pickup(): boolean;
549
+
901
550
  public kill(game_object: game_object): void;
551
+
902
552
  public location_on_path(value: f32, vector: vector): u32;
553
+
903
554
  public lock_door_for_npc(): void;
555
+
904
556
  public lookout_min_time(): f32;
557
+
905
558
  public lookout_min_time(time: f32): void;
559
+
906
560
  public make_item_active(game_object: game_object): void;
561
+
907
562
  public marked_dropped(game_object: game_object): boolean;
563
+
908
564
  public memory_sound_objects(): unknown;
565
+
909
566
  public money(): u32;
567
+
910
568
  public motivation_action_manager(): action_planner;
569
+
911
570
  public movement_type(): number; // todo: unknown enum
571
+
912
572
  public patrol(): string | null;
573
+
913
574
  public patrol_path_make_inactual(): void;
575
+
914
576
  public play_cycle(value1: string, value2: boolean): void;
577
+
915
578
  public play_cycle(value: string): void;
579
+
916
580
  public play_sound(value1: u32, value2?: u32, value3?: u32, value4?: u32, value5?: u32, value6?: u32): void;
581
+
917
582
  public register_door_for_npc(): void;
583
+
918
584
  public remove_home(): void;
585
+
919
586
  public remove_restrictions(value1: string, value2: string): void;
587
+
920
588
  public remove_sound(value: u32): void;
589
+
921
590
  public restore_default_start_dialog(): void;
591
+
922
592
  public restore_max_ignore_monster_distance(): void;
593
+
923
594
  public section<T extends string = string>(): T;
595
+
924
596
  public see(game_object: game_object): boolean;
597
+
925
598
  public see(value: string): boolean;
926
- public sell_condition(ini_file: ini_file, value: string): void;
599
+
600
+ public sell_condition(ini_file: ini_file, section: string): void;
601
+
927
602
  public sell_condition(value1: f32, value2: f32): void;
603
+
928
604
  public set__force(vector: vector, value1: number, value2: number): void;
605
+
929
606
  public set_actor_relation_flags(value: flags32): void;
607
+
930
608
  public set_alien_control(value: boolean): void;
609
+
931
610
  public set_body_state(state: TXR_MonsterBodyState): void;
611
+
932
612
  public set_capture_anim(game_object: game_object, value1: string, vector: vector, value2: f32): void;
613
+
933
614
  public set_character_community(value1: string, value2: u32, value3: i32): void;
615
+
934
616
  public set_character_rank(value: i32): void;
617
+
935
618
  public set_collision_off(value: boolean): void;
619
+
936
620
  public set_default_panic_threshold(): void;
621
+
937
622
  public set_dest_game_vertex_id(value: u16): void;
623
+
938
624
  public set_dest_level_vertex_id(vertex_id: u32): void;
625
+
939
626
  public set_detail_path_type(EDetailPathType: unknown /** enum DetailPathManager::EDetailPathType */): void;
627
+
940
628
  public set_invisible(is_invisible: boolean): void;
629
+
941
630
  public set_movement_selection_type(type: unknown /** enum ESelectionType */): void;
631
+
942
632
  public set_patrol_path(value1: string, EPatrolStartType: number, EPatrolRouteType: number, value2: boolean): void;
633
+
943
634
  public set_smart_cover_target_idle(): void;
635
+
944
636
  public set_sympathy(value: f32): void;
637
+
945
638
  public set_trader_sound(value1: string, value2: string): void;
639
+
946
640
  public sight_params(): CSightParams;
641
+
947
642
  public skip_transfer_enemy(value: boolean): void;
643
+
948
644
  public sniper_update_rate(): boolean;
645
+
949
646
  public sniper_update_rate(value: boolean): void;
647
+
950
648
  public spawn_ini(): ini_file;
649
+
951
650
  public special_danger_move(): boolean;
651
+
952
652
  public special_danger_move(value: boolean): void;
653
+
953
654
  public stop_particles(name: string, bone: string): void;
655
+
954
656
  public switch_to_trade(): void;
657
+
955
658
  public sympathy(): f32;
659
+
956
660
  public take_items_enabled(): boolean;
661
+
957
662
  public take_items_enabled(value: boolean): void;
663
+
958
664
  public torch_enabled(): boolean;
665
+
959
666
  public unload_magazine(): void;
667
+
960
668
  public unlock_door_for_npc(): void;
669
+
961
670
  public visibility_threshold(): f32;
671
+
962
672
  public weapon_is_grenadelauncher(): boolean;
673
+
963
674
  public set_sight(type: TXR_SightType, torso_look: boolean, path: boolean): void;
675
+
964
676
  public set_sight(type: TXR_SightType, vector: vector | null, lookOverDelay: u32): void;
677
+
965
678
  public set_sight(type: TXR_SightType, vector: vector, torso_look: boolean, fire_object: boolean): void;
679
+
966
680
  public set_sight(type: TXR_SightType, vector: vector, torso_look: boolean): void;
681
+
967
682
  public set_sight(type: TXR_SightType, vector: vector): void;
683
+
968
684
  public set_sight(game_object: game_object, torso_look?: boolean, fire_object?: boolean, no_pitch?: boolean): void;
685
+
969
686
  public set_task_state(state: TXR_TaskState, value: string): void;
687
+
970
688
  public set_visual_memory_enabled(enabled: boolean): void;
689
+
971
690
  public show_condition(ini_file: unknown, value: string): void;
691
+
972
692
  public sound_prefix(): string;
693
+
973
694
  public sound_prefix(value: string): void;
695
+
974
696
  public wounded(): boolean;
697
+
975
698
  public wounded(wounded: boolean): void;
699
+
976
700
  public add_sound(value1: string, value2: u32, type: unknown, value3: u32, value4: u32, value5: u32): u32;
701
+
977
702
  public add_sound(
978
703
  value1: string,
979
704
  value2: u32,
@@ -983,31 +708,63 @@ declare module "xray16" {
983
708
  value5: u32,
984
709
  value6: string
985
710
  ): u32;
711
+
986
712
  public active_sound_count(): i32;
713
+
987
714
  public active_sound_count(value: boolean): void;
715
+
988
716
  public allow_break_talk_dialog(value: boolean): void;
717
+
989
718
  public apply_loophole_direction_distance(): f32;
719
+
990
720
  public apply_loophole_direction_distance(value: f32): void;
721
+
991
722
  public attachable_item_enabled(): boolean;
723
+
992
724
  public burer_get_force_gravi_attack(): boolean;
725
+
993
726
  public burer_get_force_anti_aim(): boolean;
994
- public buy_condition(ini_file: ini_file, value: string): void;
727
+
728
+ public buy_condition(ini_file: ini_file, section: string): void;
729
+
995
730
  public buy_condition(value1: f32, value2: f32): void;
731
+
996
732
  public change_character_reputation(value: i32): void;
733
+
997
734
  public change_goodwill(delta_goodwill: i32, to_object: game_object): void;
735
+
998
736
  public character_reputation(): i32;
737
+
999
738
  public community_goodwill(from_community: string): i32;
739
+
1000
740
  public deadbody_can_take(value: boolean): void;
741
+
1001
742
  public deadbody_can_take_status(): boolean;
743
+
1002
744
  public detail_path_type(): unknown;
745
+
1003
746
  public disable_show_hide_sounds(value: boolean): void;
747
+
1004
748
  public enable_anomaly(): void;
1005
- public enable_attachable_item(value: boolean): void;
749
+
750
+ /**
751
+ * Method for inventory items to set them enabled / disabled for stalkers.
752
+ * As result, medkit or detector can be activated by stalker.
753
+ *
754
+ * @param is_enabled - whether item should be enabled for usage by owning object
755
+ */
756
+ public enable_attachable_item(is_enabled: boolean): void;
757
+
1006
758
  public enable_talk(): void;
759
+
1007
760
  public enable_trade(): void;
761
+
1008
762
  public enable_vision(value: boolean): void;
763
+
1009
764
  public fake_death_fall_down(): boolean;
765
+
1010
766
  public force_set_goodwill(goodwill: i32, to_object: game_object): void;
767
+
1011
768
  /**
1012
769
  * For bloodsuckers specifically set current visibility state.
1013
770
  */
@@ -1021,19 +778,33 @@ declare module "xray16" {
1021
778
  * @returns goodwill level from object to target
1022
779
  */
1023
780
  public general_goodwill(target: game_object): i32;
781
+
1024
782
  public get_actor_relation_flags(): flags32;
783
+
1025
784
  public get_ammo_in_magazine(): u32;
785
+
1026
786
  public get_anomaly_power(): unknown;
787
+
1027
788
  public get_car(): CCar;
789
+
1028
790
  public get_corpse(): game_object | null;
791
+
1029
792
  public get_current_holder(): holder;
793
+
1030
794
  public get_enemy(): game_object | null;
795
+
1031
796
  public get_enemy_strength(): i32;
797
+
1032
798
  public get_physics_shell(): physics_shell | null;
799
+
1033
800
  public get_start_dialog(): void;
801
+
1034
802
  public get_task(task_id: string, only_in_process: boolean): CGameTask | null;
803
+
1035
804
  public get_task_state(value: string): unknown;
805
+
1036
806
  public give_info_portion(value: string): boolean;
807
+
1037
808
  public give_money(value: i32): void;
1038
809
 
1039
810
  /**
@@ -1055,6 +826,7 @@ declare module "xray16" {
1055
826
  * @param timer_ttl
1056
827
  */
1057
828
  public give_task(task: CGameTask, time_to_complete: u32, check_existing: boolean, timer_ttl: u32): void;
829
+
1058
830
  /**
1059
831
  * Returns level of goodwill stored for an object.
1060
832
  * No strict formulas, just get actual value.
@@ -1063,54 +835,102 @@ declare module "xray16" {
1063
835
  * @returns goodwill level to target object
1064
836
  */
1065
837
  public goodwill(target: game_object): i32;
838
+
1066
839
  public group_throw_time_interval(): u32;
840
+
1067
841
  public group_throw_time_interval(value: u32): void;
842
+
1068
843
  public head_orientation(): vector;
844
+
1069
845
  public ignore_monster_threshold(): f32;
846
+
1070
847
  public ignore_monster_threshold(value: f32): void;
848
+
1071
849
  public in_current_loophole_range(vector: vector): boolean;
850
+
1072
851
  /**
1073
852
  * Reset debugging information about object.
1074
853
  * Available only for debug builds.
1075
854
  */
1076
855
  public info_clear(): void;
856
+
1077
857
  public inside(vector: vector): boolean;
858
+
1078
859
  public inside(vector: vector, value: number /* ? */): boolean;
860
+
1079
861
  public inv_box_can_take_status(): boolean;
862
+
1080
863
  public inv_box_closed(value1: boolean, value2: string): boolean;
864
+
1081
865
  public is_active_task(task: CGameTask): boolean;
866
+
1082
867
  public is_door_locked_for_npc(): boolean;
868
+
1083
869
  public is_inv_box_empty(): boolean;
870
+
1084
871
  public is_inv_upgrade_enabled(): boolean;
872
+
873
+ /**
874
+ * @returns whether object is currently talking with actor and talk dialog is active
875
+ */
1085
876
  public is_talking(): boolean;
877
+
1086
878
  public is_trade_enabled(): boolean;
879
+
1087
880
  public item_in_slot(slot: u32): game_object | null;
881
+
1088
882
  public item_on_belt(slot: u32): game_object | null;
883
+
1089
884
  public jump(vector: vector, value: f32): void;
885
+
1090
886
  public make_object_visible_somewhen(game_object: game_object): void;
887
+
1091
888
  public mark_item_dropped(game_object: game_object): void;
889
+
1092
890
  public mass(): f32;
891
+
1093
892
  public max_health(): f32;
893
+
1094
894
  public night_vision_enabled(): boolean;
895
+
1095
896
  public on_door_is_closed(): void;
897
+
1096
898
  public on_door_is_open(): void;
899
+
1097
900
  public out_restrictions(): string;
901
+
1098
902
  public path_type(): unknown;
903
+
1099
904
  public poltergeist_get_actor_ignore(): boolean;
905
+
1100
906
  public profile_name(): string;
907
+
1101
908
  public range(): f32;
909
+
1102
910
  public rank(): i32;
911
+
1103
912
  public remove_all_restrictions(): void;
913
+
1104
914
  public restore_ignore_monster_threshold(): void;
915
+
1105
916
  public restore_weapon(): void;
917
+
1106
918
  public run_talk_dialog(game_object: game_object, value: boolean): void;
919
+
1107
920
  public set_active_task(task: CGameTask): void;
921
+
1108
922
  public set_actor_position(vector: vector): void;
923
+
1109
924
  public set_anomaly_power(value: f32): void;
925
+
1110
926
  public set_custom_panic_threshold(value: f32): void;
927
+
1111
928
  public set_dest_loophole(): void;
929
+
1112
930
  public set_dest_loophole(value: string): void;
931
+
1113
932
  public set_goodwill(value: i32, game_object: game_object): void;
933
+
1114
934
  public set_home(
1115
935
  name: string | null,
1116
936
  min_radius: f32,
@@ -1118,6 +938,7 @@ declare module "xray16" {
1118
938
  is_agressive?: boolean,
1119
939
  mid_radius?: f32
1120
940
  ): void;
941
+
1121
942
  public set_home(
1122
943
  lvid: u32 | null,
1123
944
  min_radius: f32,
@@ -1125,40 +946,76 @@ declare module "xray16" {
1125
946
  is_agressive?: boolean,
1126
947
  mid_radius?: f32
1127
948
  ): void;
949
+
1128
950
  /**
1129
951
  * Set level changer invitation hint text.
1130
952
  *
1131
953
  * @param hint - text to show when trying to change level
1132
954
  */
1133
955
  public set_level_changer_invitation(hint: string): void;
956
+
1134
957
  public set_nonscript_usable(is_usable: boolean): void;
958
+
1135
959
  public set_queue_size(value: u32): void;
960
+
1136
961
  public set_relation(ERelationType: number, game_object: game_object): void;
962
+
1137
963
  public set_smart_cover_target_fire_no_lookout(): unknown;
964
+
1138
965
  public set_sound_mask(value: u32): void;
966
+
1139
967
  public set_start_dialog(value: string): void;
968
+
969
+ /**
970
+ * Set tip text when actor is near and hovering aim over target.
971
+ * As example, `talk`, `loot` and other kind of labels is possible when using this method.
972
+ *
973
+ * @param text - text to set as tip
974
+ */
1140
975
  public set_tip_text(text: string): void;
976
+
1141
977
  public set_tip_text_default(): void;
978
+
1142
979
  public set_trader_global_anim(value: string): void;
980
+
1143
981
  public set_vis_state(value: f32): void;
982
+
1144
983
  public sniper_fire_mode(): boolean;
984
+
1145
985
  public sniper_fire_mode(value: boolean): void;
986
+
1146
987
  public start_particles(value1: string, value2: string): void;
988
+
1147
989
  public stop_talk(): void;
990
+
1148
991
  public switch_to_upgrade(): void;
992
+
1149
993
  public has_upgrade(upgrade_section: string): boolean;
994
+
1150
995
  public install_upgrade(upgrade_section: string): boolean;
996
+
1151
997
  public iterate_installed_upgrades(callback: (upgrade_section: string, object: game_object) => void): void;
998
+
1152
999
  public target_body_state(): TXR_move;
1000
+
1153
1001
  public target_movement_type(): number; /* EMovementType */
1002
+
1154
1003
  public transfer_item(item: game_object, to: game_object): void;
1004
+
1155
1005
  public transfer_money(value: i32, from: game_object): void;
1006
+
1156
1007
  public unregister_in_combat(): void;
1008
+
1157
1009
  public vertex_in_direction(value1: u32, vector: vector, value2: f32): u32;
1010
+
1158
1011
  public vision_enabled(): boolean;
1012
+
1159
1013
  public weapon_grenadelauncher_status(): i32;
1014
+
1160
1015
  public weapon_is_silencer(): boolean;
1016
+
1161
1017
  public weapon_scope_status(): i32;
1018
+
1162
1019
  public weight(): f32;
1163
1020
 
1164
1021
  /**
@@ -1179,24 +1036,43 @@ declare module "xray16" {
1179
1036
  show_time: i32,
1180
1037
  type?: Maybe<i32>
1181
1038
  ): void;
1039
+
1182
1040
  public accessible(vector: vector | u32): boolean;
1041
+
1183
1042
  public accuracy(): f32;
1043
+
1184
1044
  public attachable_item_load_attach(value: string): void;
1045
+
1185
1046
  public best_cover(vector1: vector, vector2: vector, value3: f32, value4: f32, value5: f32): cover_point;
1047
+
1186
1048
  public best_enemy(): game_object | null;
1049
+
1187
1050
  public center(): vector;
1051
+
1188
1052
  public deadbody_closed_status(): boolean;
1053
+
1189
1054
  public death_time(): u32;
1055
+
1190
1056
  public enable_torch(value: boolean): void;
1057
+
1191
1058
  public force_stand_sleep_animation(value: u32): void;
1059
+
1192
1060
  public get_visibility_state(): i32;
1061
+
1193
1062
  public in_loophole_range(value1: string, value2: string, vector: vector): boolean;
1063
+
1194
1064
  public poltergeist_set_actor_ignore(value: boolean): void;
1065
+
1195
1066
  public set_desired_position(): void;
1067
+
1196
1068
  public set_desired_position(vector: vector): void;
1069
+
1197
1070
  public set_force_anti_aim(value: boolean): void;
1071
+
1198
1072
  public set_range(value: f32): void;
1073
+
1199
1074
  public suitable_smart_cover(game_object: game_object): boolean;
1075
+
1200
1076
  public add_combat_sound(
1201
1077
  value1: string,
1202
1078
  value2: number,
@@ -1206,6 +1082,7 @@ declare module "xray16" {
1206
1082
  value5: u32,
1207
1083
  value6: string
1208
1084
  ): u32;
1085
+
1209
1086
  public berserk(): void;
1210
1087
  /**
1211
1088
  * Add action for game object entity.
@@ -1214,59 +1091,109 @@ declare module "xray16" {
1214
1091
  * @param entity_action - action to perform
1215
1092
  * @param is_high_priority - whether it is high priority action
1216
1093
  */
1094
+
1217
1095
  public command(entity_action: entity_action, is_high_priority: boolean): void;
1096
+
1218
1097
  public hit(hit: hit): void;
1098
+
1219
1099
  public inactualize_patrol_path(): void;
1100
+
1101
+ /**
1102
+ * Iterate over game object inventory.
1103
+ * Runs supplied callback for each item in inventory of the object.
1104
+ * If callback returns `true`, the cycle breaks.
1105
+ *
1106
+ * @param cb - callback to run for each item
1107
+ * @param object - target object to run callback for (actually unused by the engine)
1108
+ */
1220
1109
  public iterate_inventory(
1221
- cb: (this: void, owner: game_object, item: game_object) => void,
1110
+ cb: (this: void, owner: game_object, item: game_object) => void | boolean,
1222
1111
  object: game_object
1223
1112
  ): void;
1113
+
1224
1114
  public movement_enabled(): boolean;
1115
+
1225
1116
  public movement_enabled(value: boolean): void;
1117
+
1226
1118
  public set_condition(condition: f32): void;
1119
+
1227
1120
  /**
1228
1121
  * @returns vertex_id of accessible position
1229
1122
  */
1230
1123
  public accessible_nearest(vector1: vector, vector2: vector): u32;
1124
+
1231
1125
  public action_by_index(value: u32): entity_action | null;
1126
+
1232
1127
  /**
1233
1128
  * @returns whether game object is alive
1234
1129
  */
1235
1130
  public alive(): boolean;
1131
+
1236
1132
  public base_in_restrictions(): string;
1133
+
1237
1134
  public can_script_capture(): boolean;
1135
+
1238
1136
  /**
1239
1137
  * @returns object community like `monolith`, `stalker` or `zombied`
1240
1138
  */
1241
1139
  public character_community<T extends string>(): T;
1140
+
1242
1141
  public external_sound_stop(): void;
1142
+
1243
1143
  public find_best_cover(vector: vector): cover_point;
1144
+
1244
1145
  public game_vertex_id(): u32;
1146
+
1245
1147
  public get_helicopter(): CHelicopter;
1148
+
1246
1149
  public get_sound_info(): SoundInfo;
1150
+
1247
1151
  public group(): i32;
1152
+
1248
1153
  public inv_box_closed_status(): boolean;
1154
+
1249
1155
  public level_vertex_id(): u32;
1156
+
1250
1157
  public memory_position(game_object: game_object): vector;
1158
+
1251
1159
  public movement_target_reached(): boolean;
1160
+
1252
1161
  public name(): string;
1162
+
1253
1163
  public parent(): game_object;
1164
+
1254
1165
  public position(): vector;
1166
+
1255
1167
  public register_in_combat(): void;
1168
+
1256
1169
  public safe_cover(vector: vector, value1: f32, value2: f32): cover_point;
1170
+
1257
1171
  public script(script_control: boolean, script_name: string): void;
1172
+
1258
1173
  public set_desired_direction(): void;
1174
+
1259
1175
  public set_desired_direction(vector: vector): void;
1176
+
1260
1177
  public set_manual_invisibility(value: boolean): void;
1178
+
1261
1179
  public set_movement_type(EMovementType: number /** MonsterSpace::EMovementType */): void;
1180
+
1262
1181
  public set_npc_position(vector: vector): void;
1182
+
1263
1183
  public set_sound_threshold(value: f32): void;
1184
+
1264
1185
  public set_trader_head_anim(value: string): void;
1186
+
1265
1187
  public set_visual_name(name: string): void;
1188
+
1266
1189
  public target_mental_state(): TXR_animation;
1190
+
1267
1191
  public unregister_door_for_npc(): void;
1192
+
1268
1193
  public ammo_get_count(): u16;
1194
+
1269
1195
  public ammo_set_count(count: u16): void;
1196
+
1270
1197
  public ammo_box_size(): u16;
1271
1198
  }
1272
1199
  }