xray16 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xray16",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "author": "Neloreck",
5
5
  "repository": "https://github.com/stalker-xrts/xray-16-types",
6
6
  "private": false,
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const typescript_1 = require("typescript");
4
4
  const LUA_LOGGER_STRIP_TARGET = "LuaLogger";
5
- const IS_LUA_LOGGER_DISABLED = process.argv.includes("--no-lua-logs");
5
+ const IS_LUA_LOGGER_DISABLED = process.argv.includes("--no-lua-logs") || process.env.NO_LUA_LOGS === "true";
6
6
  /**
7
7
  * Plugin that removes all LuaLogger instance creations and calls when possible.
8
8
  */
@@ -40,8 +40,8 @@ declare module "xray16" {
40
40
  * @group xr_luabind
41
41
  */
42
42
  export class class_info_data extends EngineBinding {
43
- public readonly methods: object;
44
- public readonly attributes: object;
43
+ public readonly methods: LuaTable<string, (...args: Array<unknown>) => unknown>;
44
+ public readonly attributes: LuaTable<number, string>;
45
45
  public readonly name: string;
46
46
 
47
47
  private constructor();
@@ -50,7 +50,7 @@ declare module "xray16" {
50
50
  /**
51
51
  * @group xr_luabind
52
52
  */
53
- export function class_names(this: void, lua_state: unknown /* lua_State*/): object;
53
+ export function class_names(this: void, lua_state: unknown /* lua_State*/): LuaTable<number, string>;
54
54
 
55
55
  /**
56
56
  * @group xr_luabind
@@ -1,4 +1,11 @@
1
1
  declare module "xray16" {
2
+ /**
3
+ * @source C++ class CEntityAlive : public CEntity
4
+ * @customConstructor CEntityAlive
5
+ * @group xr_creature
6
+ */
7
+ export class CEntityAlive extends CGameObject {}
8
+
2
9
  /**
3
10
  * @source C++ class CActor : CGameObject
4
11
  * @customConstructor CActor
@@ -1,4 +1,15 @@
1
1
  declare module "xray16" {
2
+ /**
3
+ * @source C++ class explosive
4
+ * @customConstructor explosive
5
+ * @group xr_item
6
+ */
7
+ export class explosive extends EngineBinding {
8
+ protected constructor();
9
+
10
+ public explode(): void;
11
+ }
12
+
2
13
  /**
3
14
  * @source C++ class CAntirad : CGameObject
4
15
  * @customConstructor CAntirad
@@ -69,19 +80,33 @@ declare module "xray16" {
69
80
  */
70
81
  export class CWeaponAmmo extends CGameObject {}
71
82
 
83
+ /**
84
+ * @source C++ class CWeapon : public CHudItemObject, public CShootingObject
85
+ * @customConstructor CWeaponAmmo
86
+ * @group xr_item
87
+ */
88
+ export class CWeapon extends CInventoryItem {}
89
+
90
+ /**
91
+ * @source C++ class CWeaponMagazined : public CWeapon
92
+ * @customConstructor CWeaponMagazined
93
+ * @group xr_item
94
+ */
95
+ export class CWeaponMagazined extends CWeapon {}
96
+
72
97
  /**
73
98
  * @source C++ class CWeaponAutomaticShotgun : CGameObject
74
99
  * @customConstructor CWeaponAutomaticShotgun
75
100
  * @group xr_item
76
101
  */
77
- export class CWeaponAutomaticShotgun extends CGameObject {}
102
+ export class CWeaponAutomaticShotgun extends CWeaponMagazined {}
78
103
 
79
104
  /**
80
105
  * @source C++ class CWeaponBM16 : CGameObject
81
106
  * @customConstructor CWeaponBM16
82
107
  * @group xr_item
83
108
  */
84
- export class CWeaponBM16 extends CGameObject {}
109
+ export class CWeaponBM16 extends CWeaponShotgun {}
85
110
 
86
111
  /**
87
112
  * @source C++ class CWeaponBinoculars : CGameObject
@@ -1,3 +1,4 @@
1
+
1
2
  declare module "xray16" {
2
3
  /**
3
4
  * @source C++ class physics_element
@@ -174,4 +175,27 @@ declare module "xray16" {
174
175
  export class IKinematicsAnimated {
175
176
  public PlayCycle(value: string): void;
176
177
  }
178
+
179
+ /**
180
+ * @source C++ class CPhysicsShellHolder : public CGameObject, CParticlesPlayer,
181
+ * IObjectPhysicsCollision, IPhysicsShellHolder
182
+ * @customConstructor CPhysicsShellHolder
183
+ * @group xr_physic
184
+ */
185
+ export class CPhysicsShellHolder extends EngineBinding {
186
+ protected constructor();
187
+ }
188
+
189
+ /**
190
+ * @source C++ class holder
191
+ * @customConstructor holder
192
+ * @group xr_physic
193
+ */
194
+ export class holder {
195
+ public engaged(): boolean;
196
+
197
+ public Action(value1: u16, value2: u32): void;
198
+
199
+ public SetParam(value: i32, vector: vector): void;
200
+ }
177
201
  }
@@ -6,6 +6,13 @@ declare module "xray16" {
6
6
  */
7
7
  export class CSpaceRestrictor extends CGameObject {}
8
8
 
9
+ /**
10
+ * @source C++ class CCustomZone : public CSpaceRestrictor, public Feel::Touch
11
+ * @customConstructor CCustomZone
12
+ * @group xr_zone
13
+ */
14
+ export class CCustomZone extends CSpaceRestrictor {}
15
+
9
16
  /**
10
17
  * @source C++ class CLevelChanger : CGameObject
11
18
  * @customConstructor CLevelChanger
@@ -29,30 +29,6 @@ declare module "xray16" {
29
29
  public who: game_object;
30
30
  }
31
31
 
32
- /**
33
- * @source C++ class explosive
34
- * @customConstructor explosive
35
- * @group xr_script_interface
36
- */
37
- export class explosive extends EngineBinding {
38
- protected constructor();
39
-
40
- public explode(): void;
41
- }
42
-
43
- /**
44
- * @source C++ class holder
45
- * @customConstructor holder
46
- * @group xr_script_interface
47
- */
48
- export class holder {
49
- public engaged(): boolean;
50
-
51
- public Action(value1: u16, value2: u32): void;
52
-
53
- public SetParam(value: i32, vector: vector): void;
54
- }
55
-
56
32
  /**
57
33
  * Visibility state of bloodsucker.
58
34
  * Possible values are:
@@ -1,121 +1,4 @@
1
1
  declare module "xray16" {
2
- /*
3
- * CAI_Stalker* cast_Stalker();
4
- * CArtefact* cast_Artefact();
5
- * CCar* cast_Car();
6
- * CGameObject* cast_GameObject();
7
- * CHelicopter* cast_Heli();
8
- * CSpaceRestrictor* cast_SpaceRestrictor();
9
- * CWeapon* cast_Weapon();
10
- * CWeaponAmmo* cast_Ammo();
11
- * CWeaponMagazined* cast_WeaponMagazined();
12
- * ce_script_zone* cast_ScriptZone();
13
- * class CCustomZone* cast_CustomZone();
14
- * class CEntityAlive* cast_EntityAlive();
15
- * class CPhysicsShellHolder* cast_PhysicsShellHolder();
16
- * explosive* cast_Explosive();
17
- *
18
- * CTime get_info_time(char const*);
19
- * bool bone_visible(char const*);
20
- * bool has_ammo_type(unsigned char)
21
-
22
- * bool is_on_belt(game_object*);
23
- * bool use(game_object*);
24
- *
25
- * vector<MemorySpace::CNotYetVisibleObject,xalloc<MemorySpace::CNotYetVisibleObject> > not_yet_visible_objects();
26
- * vector<MemorySpace::CSoundObject,xalloc<MemorySpace::CSoundObject>> memory_sound_objects();
27
-
28
- * enum DetailPathManager::EDetailPathType detail_path_type();
29
- * enum ETaskState get_task_state(char const*);
30
- * enum MonsterSpace::EBodyState body_state();
31
- * enum MonsterSpace::EBodyState target_body_state();
32
- * enum MonsterSpace::EMentalState mental_state();
33
- * enum MonsterSpace::EMentalState target_mental_state();
34
- * enum MonsterSpace::EMovementType movement_type();
35
- * enum MovementManager::EPathType path_type();
36
- *
37
- * float get_actor_jump_speed();
38
- * float get_actor_max_walk_weight();
39
- * float get_actor_max_weight();
40
- * float get_actor_run_coef();
41
- * float get_actor_runback_coef();
42
- * float get_actor_sprint_koef();
43
- * float get_additional_max_walk_weight();
44
- * float get_additional_max_weight();
45
- * float get_anomaly_power();
46
- * float get_artefact_bleeding();
47
- * float get_artefact_health();
48
- * float get_artefact_power();
49
- * float get_artefact_radiation();
50
- * float get_artefact_satiety();
51
- * float get_luminocity();
52
- * float get_luminocity_hemi();
53
- * float get_total_weight();
54
- *
55
-
56
- * game_object* get_attached_vehicle();
57
- *
58
- * holder* cast_HolderCustom();
59
- * int get_ammo_count_for_type(unsigned char);
60
- *
61
- * unsigned char get_max_uses();
62
- * unsigned char get_remaining_uses();
63
- * unsigned char get_restrictor_type();
64
- * unsigned char get_weapon_substate();
65
- *
66
- * unsigned int belt_count();
67
- * unsigned int get_main_weapon_type();
68
- * unsigned int get_spatial_type();
69
- * remove_danger();
70
- * remove_memory_sound_object();
71
- * remove_memory_visible_object();
72
- * remove_memory_hit_object();
73
- * unsigned int get_state();
74
- * unsigned int get_weapon_type();
75
- * unsigned int play_hud_motion(char const*,bool,unsigned int);
76
- *
77
- * void attach_vehicle(game_object*);
78
- * void clear_game_news();
79
- * void detach_vehicle();
80
- * void force_set_position(vector,bool);
81
- *
82
- * void iterate_feel_touch(function<void>);
83
-
84
- * void phantom_set_enemy(game_object*);
85
- * void set_actor_jump_speed(float);
86
- * void set_actor_max_walk_weight(float);
87
- * void set_actor_max_weight(float);
88
- * void set_actor_run_coef(float);
89
- * void set_actor_runback_coef(float);
90
- * void set_actor_sprint_koef(float);
91
- * void set_additional_max_walk_weight(float);
92
- * void set_additional_max_weight(float);
93
- * void set_alien_control(bool);
94
- * void set_ammo_type(unsigned char);
95
- *
96
- * void set_artefact_bleeding(float);
97
- * void set_artefact_health(float);
98
- * void set_artefact_power(float);
99
- * void set_artefact_radiation(float);
100
- * void set_artefact_satiety(float);
101
- *
102
- * void set_bone_visible(char const*,bool,bool);
103
- * void set_character_icon(char const*);
104
- * void set_health_ex(float);
105
- * void set_main_weapon_type(unsigned int);
106
-
107
- *
108
- * void set_remaining_uses(unsigned char);
109
- * void set_restrictor_type(unsigned char);
110
- * void set_spatial_type(unsigned int);
111
- * void set_weapon_type(unsigned int);
112
-
113
- * void start_trade(game_object*);
114
- * void start_upgrade(game_object*);
115
- * void switch_state(unsigned int);
116
- * }
117
- */
118
-
119
2
  /**
120
3
  * Client object base presentation as script object.
121
4
  * Generic in-game entities from items to mutants and stalkers wrapped with luabind export.
@@ -240,7 +123,14 @@ declare module "xray16" {
240
123
 
241
124
  public clear_override_animation(): void;
242
125
 
243
- public debug_planner(action_planner: action_planner): void;
126
+ /**
127
+ * Sets provided planner as `debugged` for stalker object.
128
+ * As result, when console command `ai_dbg_stalker on` is toggled, GOAP state of planner is displayed.
129
+ * Requires `mixed` build engine.
130
+ *
131
+ * @param planner - action planner to show in stalker stats when debugging is enabled
132
+ */
133
+ public debug_planner(planner: action_planner): void;
244
134
 
245
135
  public disable_info_portion(value: string): boolean;
246
136
 
@@ -430,10 +320,7 @@ declare module "xray16" {
430
320
 
431
321
  public buy_item_condition_factor(value: f32): void;
432
322
 
433
- /**
434
- * Change object squad/faction?
435
- */
436
- public change_team(community_id: u8, squad_id: u8, group_id: u8): void;
323
+ public change_team(team_id: u8, squad_id: u8, group_id: u8): void;
437
324
 
438
325
  public character_icon<T extends string>(): T;
439
326
 
@@ -605,7 +492,7 @@ declare module "xray16" {
605
492
 
606
493
  public set_actor_relation_flags(value: flags32): void;
607
494
 
608
- public set_alien_control(value: boolean): void;
495
+ public set_alien_control(is_enabled: boolean): void;
609
496
 
610
497
  public set_body_state(state: TXR_MonsterBodyState): void;
611
498
 
@@ -772,7 +659,7 @@ declare module "xray16" {
772
659
 
773
660
  /**
774
661
  * Return formula: `personal_goodwill + reputation_goodwill + rank_goodwill +
775
- * community_goodwill + community_to_community`
662
+ * community_goodwill + community_to_community`
776
663
  *
777
664
  * @param target - target client object
778
665
  * @returns goodwill level from object to target
@@ -783,8 +670,6 @@ declare module "xray16" {
783
670
 
784
671
  public get_ammo_in_magazine(): u32;
785
672
 
786
- public get_anomaly_power(): unknown;
787
-
788
673
  public get_car(): CCar;
789
674
 
790
675
  public get_corpse(): game_object | null;
@@ -1098,6 +983,10 @@ declare module "xray16" {
1098
983
 
1099
984
  public inactualize_patrol_path(): void;
1100
985
 
986
+ public inactualize_level_path(): void;
987
+
988
+ public inactualize_game_path(): void;
989
+
1101
990
  /**
1102
991
  * Iterate over game object inventory.
1103
992
  * Runs supplied callback for each item in inventory of the object.
@@ -1118,9 +1007,9 @@ declare module "xray16" {
1118
1007
  public set_condition(condition: f32): void;
1119
1008
 
1120
1009
  /**
1121
- * @returns vertex_id of accessible position
1010
+ * @returns [vertex_id, vector] tuple of accessible position id and vector
1122
1011
  */
1123
- public accessible_nearest(vector1: vector, vector2: vector): u32;
1012
+ public accessible_nearest(vertex_position: vector, vector2: vector): LuaMultiReturn<[u32, vector]>;
1124
1013
 
1125
1014
  public action_by_index(value: u32): entity_action | null;
1126
1015
 
@@ -1195,5 +1084,187 @@ declare module "xray16" {
1195
1084
  public ammo_set_count(count: u16): void;
1196
1085
 
1197
1086
  public ammo_box_size(): u16;
1087
+
1088
+ public cast_Stalker(): CAI_Stalker;
1089
+
1090
+ public cast_Artefact(): CArtefact;
1091
+
1092
+ public cast_Car(): CCar;
1093
+
1094
+ public cast_GameObject(): CGameObject;
1095
+
1096
+ public cast_Heli(): CHelicopter;
1097
+
1098
+ public cast_SpaceRestrictor(): CSpaceRestrictor;
1099
+
1100
+ public cast_HolderCustom(): holder;
1101
+
1102
+ public cast_Weapon(): CWeapon;
1103
+
1104
+ public cast_Ammo(): CWeaponAmmo;
1105
+
1106
+ public cast_WeaponMagazined(): CWeaponMagazined;
1107
+
1108
+ public cast_ScriptZone(): ce_script_zone;
1109
+
1110
+ public cast_CustomZone(): CCustomZone;
1111
+
1112
+ public cast_EntityAlive(): CEntityAlive;
1113
+
1114
+ public cast_Explosive(): explosive;
1115
+
1116
+ public cast_PhysicsShellHolder(): CPhysicsShellHolder;
1117
+
1118
+ public get_info_time(info: string): CTime;
1119
+
1120
+ public bone_visible(bone: string): boolean;
1121
+
1122
+ public has_ammo_type(type: string): boolean;
1123
+
1124
+ public is_on_belt(object: game_object): boolean;
1125
+
1126
+ public use(object: game_object): void;
1127
+
1128
+ /**
1129
+ * Set remaining item uses count.
1130
+ *
1131
+ * @param remaining - count of remaining uses for item before destroy
1132
+ */
1133
+ public set_remaining_uses(remaining: u8): void;
1134
+
1135
+ public get_max_uses(): u8;
1136
+
1137
+ public get_remaining_uses(): u8;
1138
+
1139
+ public set_restrictor_type(type: u8): void;
1140
+
1141
+ public get_restrictor_type(): u8;
1142
+
1143
+ public set_spatial_type(type: u8): void;
1144
+
1145
+ public set_weapon_type(type: u8): void;
1146
+
1147
+ public get_weapon_substate(): u8;
1148
+
1149
+ public start_trade(object: game_object): void;
1150
+
1151
+ public start_upgrade(object: game_object): void;
1152
+
1153
+ public switch_state(state: u32): void;
1154
+
1155
+ public phantom_set_enemy(object: game_object): void;
1156
+
1157
+ public set_actor_jump_speed(speed: f32): void;
1158
+
1159
+ public set_actor_max_walk_weight(weight: f32): void;
1160
+
1161
+ public set_actor_max_weight(weight: f32): void;
1162
+
1163
+ public set_actor_run_coef(coef: f32): void;
1164
+
1165
+ public set_actor_runback_coef(coef: f32): void;
1166
+
1167
+ public set_actor_sprint_koef(coef: f32): void;
1168
+
1169
+ public set_additional_max_walk_weight(weight: f32): void;
1170
+
1171
+ public set_additional_max_weight(weight: f32): void;
1172
+
1173
+ public set_ammo_type(type: u8): void;
1174
+
1175
+ public set_artefact_bleeding(rate: f32): void;
1176
+
1177
+ public set_artefact_health(rate: f32): void;
1178
+
1179
+ public set_artefact_power(rate: f32): void;
1180
+
1181
+ public set_artefact_radiation(rate: f32): void;
1182
+
1183
+ public set_artefact_satiety(rate: f32): void;
1184
+
1185
+ public set_bone_visible(name: string, a: boolean, b: boolean): void;
1186
+
1187
+ public set_character_icon(icon: string): void;
1188
+
1189
+ public set_health_ex(value: f32): void;
1190
+
1191
+ public set_main_weapon_type(type: u32): void;
1192
+
1193
+ public get_actor_jump_speed(): f32;
1194
+
1195
+ public get_actor_max_walk_weight(): f32;
1196
+
1197
+ public get_actor_max_weight(): f32;
1198
+
1199
+ public get_actor_run_coef(): f32;
1200
+
1201
+ public get_actor_runback_coef(): f32;
1202
+
1203
+ public get_actor_sprint_koef(): f32;
1204
+
1205
+ public get_additional_max_walk_weight(): f32;
1206
+
1207
+ public get_additional_max_weight(): f32;
1208
+
1209
+ public get_anomaly_power(): f32;
1210
+
1211
+ public get_artefact_bleeding(): f32;
1212
+
1213
+ public get_artefact_health(): f32;
1214
+
1215
+ public get_artefact_power(): f32;
1216
+
1217
+ public get_artefact_radiation(): f32;
1218
+
1219
+ public get_artefact_satiety(): f32;
1220
+
1221
+ public get_luminocity(): f32;
1222
+
1223
+ public get_luminocity_hemi(): f32;
1224
+
1225
+ public get_total_weight(): f32;
1226
+
1227
+ public get_attached_vehicle(): game_object;
1228
+
1229
+ public belt_count(): u32;
1230
+
1231
+ public get_main_weapon_type(): u32;
1232
+
1233
+ public get_spatial_type(): u32;
1234
+
1235
+ public get_state(): u32;
1236
+
1237
+ public get_weapon_type(): u32;
1238
+
1239
+ public play_hud_motion(chat: string, bool: boolean, int: u32): u32;
1240
+
1241
+ public attach_vehicle(vehicle: game_object): void;
1242
+
1243
+ public clear_game_news(): void;
1244
+
1245
+ public detach_vehicle(): void;
1246
+
1247
+ public force_set_position(position: vector, bool: boolean): void;
1248
+
1249
+ public get_ammo_count_for_type(type: u8): i32;
1198
1250
  }
1251
+
1252
+ /*
1253
+ * vector<MemorySpace::CNotYetVisibleObject,xalloc<MemorySpace::CNotYetVisibleObject> > not_yet_visible_objects();
1254
+ * vector<MemorySpace::CSoundObject,xalloc<MemorySpace::CSoundObject>> memory_sound_objects();
1255
+ * enum DetailPathManager::EDetailPathType detail_path_type();
1256
+ * enum ETaskState get_task_state(char const*);
1257
+ * enum MonsterSpace::EBodyState body_state();
1258
+ * enum MonsterSpace::EBodyState target_body_state();
1259
+ * enum MonsterSpace::EMentalState mental_state();
1260
+ * enum MonsterSpace::EMentalState target_mental_state();
1261
+ * enum MonsterSpace::EMovementType movement_type();
1262
+ * enum MovementManager::EPathType path_type();
1263
+ * remove_danger();
1264
+ * remove_memory_sound_object();
1265
+ * remove_memory_visible_object();
1266
+ * remove_memory_hit_object();
1267
+ * void iterate_feel_touch(function<void>);
1268
+ * }
1269
+ */
1199
1270
  }
@@ -249,9 +249,21 @@ declare module "xray16" {
249
249
  * @group xr_object_server
250
250
  */
251
251
  export class cse_alife_creature_abstract extends cse_alife_dynamic_object_visual {
252
- public group: u8;
252
+ /**
253
+ * Squad identifier that links squad and parent smart terrain.
254
+ */
253
255
  public squad: u8;
256
+
257
+ /**
258
+ * Team (community) of the object.
259
+ * Defined in game_relations.ltx -> [game_relations] -> [communities].
260
+ *
261
+ * Example: 8 is monster, 9 is stalker, 0 is actor, 4 is freedom
262
+ */
254
263
  public team: u8;
264
+
265
+ public group: u8;
266
+
255
267
  /**
256
268
  * Object squad id, maximal u16 (65535) if no squad assigned.
257
269
  */