@nativewrappers/redm-codegen 0.0.3 → 0.0.4

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 (205) hide show
  1. package/dist/classes/AnimScene.d.ts +82 -82
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +124 -124
  4. package/dist/classes/BaseModel.d.ts +29 -29
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +43 -43
  7. package/dist/classes/BaseTask.d.ts +43 -43
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +53 -53
  10. package/dist/classes/Cam.d.ts +82 -82
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +115 -115
  13. package/dist/classes/Entity.d.ts +250 -250
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +350 -350
  16. package/dist/classes/Interior.d.ts +27 -27
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +42 -42
  19. package/dist/classes/Ped.d.ts +55 -55
  20. package/dist/classes/Ped.d.ts.map +1 -1
  21. package/dist/classes/Ped.js +76 -76
  22. package/dist/classes/PedTask.d.ts +797 -797
  23. package/dist/classes/PedTask.d.ts.map +1 -1
  24. package/dist/classes/PedTask.js +1023 -1023
  25. package/dist/classes/PersChar.d.ts +13 -13
  26. package/dist/classes/PersChar.d.ts.map +1 -1
  27. package/dist/classes/PersChar.js +27 -27
  28. package/dist/classes/Pickup.d.ts +8 -8
  29. package/dist/classes/Pickup.d.ts.map +1 -1
  30. package/dist/classes/Pickup.js +15 -15
  31. package/dist/classes/Player.d.ts +185 -185
  32. package/dist/classes/Player.d.ts.map +1 -1
  33. package/dist/classes/Player.js +251 -251
  34. package/dist/classes/Prop.d.ts +130 -130
  35. package/dist/classes/Prop.d.ts.map +1 -1
  36. package/dist/classes/Prop.js +188 -188
  37. package/dist/classes/PropSet.d.ts +17 -17
  38. package/dist/classes/PropSet.d.ts.map +1 -1
  39. package/dist/classes/PropSet.js +25 -25
  40. package/dist/classes/VehicleTask.d.ts +23 -23
  41. package/dist/classes/VehicleTask.d.ts.map +1 -1
  42. package/dist/classes/VehicleTask.js +30 -30
  43. package/dist/classes/Volume.d.ts +39 -39
  44. package/dist/classes/Volume.d.ts.map +1 -1
  45. package/dist/classes/Volume.js +54 -54
  46. package/dist/classes/Weapon.d.ts +291 -291
  47. package/dist/classes/Weapon.d.ts.map +1 -1
  48. package/dist/classes/Weapon.js +414 -414
  49. package/dist/namespaces/Animscene.d.ts +63 -63
  50. package/dist/namespaces/Animscene.d.ts.map +1 -1
  51. package/dist/namespaces/Animscene.js +83 -83
  52. package/dist/namespaces/Audio.d.ts +464 -464
  53. package/dist/namespaces/Audio.d.ts.map +1 -1
  54. package/dist/namespaces/Audio.js +650 -650
  55. package/dist/namespaces/Bounty.d.ts +57 -57
  56. package/dist/namespaces/Bounty.d.ts.map +1 -1
  57. package/dist/namespaces/Bounty.js +90 -90
  58. package/dist/namespaces/CamStatics.d.ts +426 -426
  59. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  60. package/dist/namespaces/CamStatics.js +609 -609
  61. package/dist/namespaces/Collection.d.ts +81 -81
  62. package/dist/namespaces/Collection.d.ts.map +1 -1
  63. package/dist/namespaces/Collection.js +113 -113
  64. package/dist/namespaces/Compendium.d.ts +38 -38
  65. package/dist/namespaces/Compendium.d.ts.map +1 -1
  66. package/dist/namespaces/Compendium.js +52 -52
  67. package/dist/namespaces/Crashlog.d.ts +10 -10
  68. package/dist/namespaces/Crashlog.d.ts.map +1 -1
  69. package/dist/namespaces/Crashlog.js +14 -14
  70. package/dist/namespaces/Databinding.d.ts +174 -174
  71. package/dist/namespaces/Databinding.d.ts.map +1 -1
  72. package/dist/namespaces/Databinding.js +266 -266
  73. package/dist/namespaces/EntityStatics.d.ts +110 -110
  74. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  75. package/dist/namespaces/EntityStatics.js +146 -146
  76. package/dist/namespaces/Graphics.d.ts +547 -547
  77. package/dist/namespaces/Graphics.d.ts.map +1 -1
  78. package/dist/namespaces/Graphics.js +731 -731
  79. package/dist/namespaces/Hud.d.ts +395 -395
  80. package/dist/namespaces/Hud.d.ts.map +1 -1
  81. package/dist/namespaces/Hud.js +564 -564
  82. package/dist/namespaces/InteriorStatics.d.ts +40 -40
  83. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  84. package/dist/namespaces/InteriorStatics.js +56 -56
  85. package/dist/namespaces/Inventory.d.ts +107 -107
  86. package/dist/namespaces/Inventory.d.ts.map +1 -1
  87. package/dist/namespaces/Inventory.js +149 -149
  88. package/dist/namespaces/Itemdatabase.d.ts +5 -5
  89. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  90. package/dist/namespaces/Itemdatabase.js +7 -7
  91. package/dist/namespaces/Map.d.ts +173 -173
  92. package/dist/namespaces/Map.d.ts.map +1 -1
  93. package/dist/namespaces/Map.js +240 -240
  94. package/dist/namespaces/Minigame.d.ts +56 -56
  95. package/dist/namespaces/Minigame.d.ts.map +1 -1
  96. package/dist/namespaces/Minigame.js +80 -80
  97. package/dist/namespaces/Network.d.ts +964 -964
  98. package/dist/namespaces/Network.d.ts.map +1 -1
  99. package/dist/namespaces/Network.js +1333 -1333
  100. package/dist/namespaces/Object.d.ts +240 -240
  101. package/dist/namespaces/Object.d.ts.map +1 -1
  102. package/dist/namespaces/Object.js +337 -337
  103. package/dist/namespaces/Pad.d.ts +95 -95
  104. package/dist/namespaces/Pad.d.ts.map +1 -1
  105. package/dist/namespaces/Pad.js +127 -127
  106. package/dist/namespaces/PedStatics.d.ts +18 -18
  107. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  108. package/dist/namespaces/PedStatics.js +26 -26
  109. package/dist/namespaces/Perschar.d.ts +46 -46
  110. package/dist/namespaces/Perschar.d.ts.map +1 -1
  111. package/dist/namespaces/Perschar.js +66 -66
  112. package/dist/namespaces/Physics.d.ts +207 -207
  113. package/dist/namespaces/Physics.d.ts.map +1 -1
  114. package/dist/namespaces/Physics.js +315 -315
  115. package/dist/namespaces/PlayerStatics.d.ts +68 -68
  116. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  117. package/dist/namespaces/PlayerStatics.js +95 -95
  118. package/dist/namespaces/Population.d.ts +86 -86
  119. package/dist/namespaces/Population.d.ts.map +1 -1
  120. package/dist/namespaces/Population.js +116 -116
  121. package/dist/namespaces/Posse.d.ts +43 -43
  122. package/dist/namespaces/Posse.d.ts.map +1 -1
  123. package/dist/namespaces/Posse.js +67 -67
  124. package/dist/namespaces/Propset.d.ts +59 -59
  125. package/dist/namespaces/Propset.d.ts.map +1 -1
  126. package/dist/namespaces/Propset.js +81 -81
  127. package/dist/namespaces/Shapetest.d.ts +11 -11
  128. package/dist/namespaces/Shapetest.d.ts.map +1 -1
  129. package/dist/namespaces/Shapetest.js +13 -13
  130. package/dist/namespaces/Stats.d.ts +90 -90
  131. package/dist/namespaces/Stats.d.ts.map +1 -1
  132. package/dist/namespaces/Stats.js +127 -127
  133. package/dist/namespaces/Streaming.d.ts +127 -127
  134. package/dist/namespaces/Streaming.d.ts.map +1 -1
  135. package/dist/namespaces/Streaming.js +193 -193
  136. package/dist/namespaces/Task.d.ts +346 -346
  137. package/dist/namespaces/Task.d.ts.map +1 -1
  138. package/dist/namespaces/Task.js +525 -525
  139. package/dist/namespaces/Telemetry.d.ts +176 -176
  140. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  141. package/dist/namespaces/Telemetry.js +255 -255
  142. package/dist/namespaces/VolumeStatics.d.ts +64 -64
  143. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  144. package/dist/namespaces/VolumeStatics.js +85 -85
  145. package/dist/namespaces/Water.d.ts +27 -27
  146. package/dist/namespaces/Water.d.ts.map +1 -1
  147. package/dist/namespaces/Water.js +41 -41
  148. package/dist/namespaces/WeaponStatics.d.ts +234 -234
  149. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  150. package/dist/namespaces/WeaponStatics.js +320 -320
  151. package/dist/namespaces/Zone.d.ts +7 -7
  152. package/dist/namespaces/Zone.d.ts.map +1 -1
  153. package/dist/namespaces/Zone.js +9 -9
  154. package/package.json +1 -1
  155. package/src/classes/AnimScene.ts +133 -133
  156. package/src/classes/BaseModel.ts +50 -50
  157. package/src/classes/BaseTask.ts +55 -55
  158. package/src/classes/Cam.ts +126 -126
  159. package/src/classes/Entity.ts +365 -365
  160. package/src/classes/Interior.ts +43 -43
  161. package/src/classes/Ped.ts +86 -86
  162. package/src/classes/PedTask.ts +2067 -2067
  163. package/src/classes/PersChar.ts +34 -34
  164. package/src/classes/Pickup.ts +16 -16
  165. package/src/classes/Player.ts +296 -296
  166. package/src/classes/Prop.ts +203 -203
  167. package/src/classes/PropSet.ts +29 -29
  168. package/src/classes/VehicleTask.ts +32 -32
  169. package/src/classes/Volume.ts +61 -61
  170. package/src/classes/Weapon.ts +427 -427
  171. package/src/namespaces/Animscene.ts +86 -86
  172. package/src/namespaces/Audio.ts +760 -760
  173. package/src/namespaces/Bounty.ts +102 -102
  174. package/src/namespaces/CamStatics.ts +631 -631
  175. package/src/namespaces/Collection.ts +114 -114
  176. package/src/namespaces/Compendium.ts +59 -59
  177. package/src/namespaces/Crashlog.ts +16 -16
  178. package/src/namespaces/Databinding.ts +282 -282
  179. package/src/namespaces/EntityStatics.ts +158 -158
  180. package/src/namespaces/Graphics.ts +1140 -1140
  181. package/src/namespaces/Hud.ts +592 -592
  182. package/src/namespaces/InteriorStatics.ts +64 -64
  183. package/src/namespaces/Inventory.ts +165 -165
  184. package/src/namespaces/Itemdatabase.ts +8 -8
  185. package/src/namespaces/Map.ts +256 -256
  186. package/src/namespaces/Minigame.ts +92 -92
  187. package/src/namespaces/Network.ts +1392 -1392
  188. package/src/namespaces/Object.ts +350 -350
  189. package/src/namespaces/Pad.ts +127 -127
  190. package/src/namespaces/PedStatics.ts +30 -30
  191. package/src/namespaces/Perschar.ts +76 -76
  192. package/src/namespaces/Physics.ts +327 -327
  193. package/src/namespaces/PlayerStatics.ts +103 -103
  194. package/src/namespaces/Population.ts +131 -131
  195. package/src/namespaces/Posse.ts +67 -67
  196. package/src/namespaces/Propset.ts +92 -92
  197. package/src/namespaces/Shapetest.ts +14 -14
  198. package/src/namespaces/Stats.ts +143 -143
  199. package/src/namespaces/Streaming.ts +226 -226
  200. package/src/namespaces/Task.ts +498 -498
  201. package/src/namespaces/Telemetry.ts +261 -261
  202. package/src/namespaces/VolumeStatics.ts +87 -87
  203. package/src/namespaces/Water.ts +47 -47
  204. package/src/namespaces/WeaponStatics.ts +325 -325
  205. package/src/namespaces/Zone.ts +10 -10
@@ -81,255 +81,218 @@ export class WeaponStatics {
81
81
  }
82
82
 
83
83
  /**
84
- * @param weaponHash Refer to [enum: eWeaponHash]
85
- * @param ammoCount
86
- * @param pos
87
- * @param showWorldModel
88
- * @param scale
89
- * @returns
90
- */
91
- static createWeaponObject(weaponHash: eWeaponHash, ammoCount: number, pos: Vector3, showWorldModel: boolean, scale: number): Prop | null {
92
- return createFromHandle<Prop>('Prop', inv<number>('0x9888652B8BA77F73', weaponHash, ammoCount, f(pos.x), f(pos.y), f(pos.z), showWorldModel, f(scale), rai()));
93
- }
94
-
95
- /**
96
- * Returns true when the weapon passed is either a lasso, the camera or the binoculars
97
- * _IS_WEAPON_M* - _IS_WEAPON_P*
98
- *
99
- * @param weaponHash Refer to [enum: eWeaponHash]
100
- * @returns
84
+ * @param p0
85
+ * @param p1
86
+ * @param p2
101
87
  */
102
- static isWeaponKit(weaponHash: eWeaponHash): any {
103
- return inv<number>('0x6ABAD7B0A854F8FB', weaponHash);
88
+ static N_0xD53846B9C931C181(p0: any, p1: any, p2: any): void {
89
+ inv<void>('0xD53846B9C931C181', p0, p1, p2);
104
90
  }
105
91
 
106
92
  /**
107
- * @param entity
108
93
  * @param weaponHash Refer to [enum: eWeaponHash]
109
- * @param ms
110
- * @returns
111
- */
112
- static hasEntityBeenDamagedByWeaponRecently(entity: Entity, weaponHash: eWeaponHash, ms: number): any {
113
- return inv<number>('0x9E2D5D6BC97A5F1E', entity.handle, weaponHash, ms);
114
- }
115
-
116
- /**
117
- * @param weaponObject
118
94
  * @returns
119
95
  */
120
- static getWeaponDirt(weaponObject: Prop): number {
121
- return inv<number>('0x810E8AE9AFEA7E54', weaponObject.handle, raf());
96
+ static getWeaponClipSize(weaponHash: eWeaponHash): number {
97
+ return inv<number>('0xD3750CCC00635FC2', weaponHash, rai());
122
98
  }
123
99
 
124
100
  /**
125
101
  * @param p0
126
102
  */
127
- static N_0xC5899C4CD2E2495D(p0: any): void {
128
- inv<void>('0xC5899C4CD2E2495D', p0);
103
+ static N_0x000FA7A4A8443AF7(p0: any): void {
104
+ inv<void>('0x000FA7A4A8443AF7', p0);
129
105
  }
130
106
 
131
107
  /**
132
- * Returns weaponHash
108
+ * Only used in R* Script fme_escaped_convicts, p0 = 0
133
109
  *
134
- * @param weaponGroupHash
135
- * @param p1
136
- * @param p2
137
- * @param p3
138
- * @returns
110
+ * @param p0
139
111
  */
140
- static N_0xF8204EF17410BF43(weaponGroupHash: string | number, p1: number, p2: number, p3: any): number {
141
- return (inv<number>('0xF8204EF17410BF43', _h(weaponGroupHash), f(p1), f(p2), p3, rai())) & 0xFFFFFFFF;
112
+ static N_0x63B83A526329AFBC(p0: any): void {
113
+ inv<void>('0x63B83A526329AFBC', p0);
142
114
  }
143
115
 
144
116
  /**
145
- * @param p0
117
+ * Related to rust of weapons
118
+ *
119
+ * @param weaponObject
146
120
  * @returns
147
121
  */
148
- static N_0xBC9444F2FF94A9C0(p0: any): any {
149
- return inv<number>('0xBC9444F2FF94A9C0', p0);
122
+ static getWeaponPermanentDegradation(weaponObject: Prop): number {
123
+ return inv<number>('0xD56E5F336C675EFA', weaponObject.handle, raf());
150
124
  }
151
125
 
152
126
  /**
153
127
  * @param weaponHash Refer to [enum: eWeaponHash]
154
- * @returns
155
128
  */
156
- static isWeaponValid(weaponHash: eWeaponHash): boolean {
157
- return inv<boolean>('0x937C71165CF334B3', weaponHash, rai());
129
+ static removeWeaponAsset(weaponHash: eWeaponHash): void {
130
+ inv<void>('0xC3896D03E2852236', weaponHash);
158
131
  }
159
132
 
160
133
  /**
161
134
  * @param p0
162
- * @param p1
163
- * @param p2
135
+ * @returns
164
136
  */
165
- static N_0xE9B3FEC825668291(p0: any, p1: any, p2: any): void {
166
- inv<void>('0xE9B3FEC825668291', p0, p1, p2);
137
+ static N_0x23BF601A42F329A0(p0: any): any {
138
+ return inv<number>('0x23BF601A42F329A0', p0);
167
139
  }
168
140
 
169
141
  /**
170
- * Returns true when the weapon passed is either the fishingrod, a lasso, the camera or the binoculars
171
- * _IS_WEAPON_M* - _IS_WEAPON_P*
172
- *
173
142
  * @param weaponHash Refer to [enum: eWeaponHash]
174
143
  * @returns
175
144
  */
176
- static isWeaponKit2(weaponHash: eWeaponHash): any {
177
- return inv<number>('0x49E40483948AF062', weaponHash);
145
+ static isWeaponRifle(weaponHash: eWeaponHash): any {
146
+ return inv<number>('0x0A82317B7EBFC420', weaponHash);
178
147
  }
179
148
 
180
149
  /**
181
- * 0.0: good condition, 1.0: poor condition
182
- *
183
- * @param weaponObject
150
+ * @param p0
184
151
  * @returns
185
152
  */
186
- static getWeaponDegradation(weaponObject: Prop): number {
187
- return inv<number>('0x0D78E1097F89E637', weaponObject.handle, raf());
153
+ static N_0x3799EFCC3C8CD5E1(p0: any): any {
154
+ return inv<number>('0x3799EFCC3C8CD5E1', p0);
188
155
  }
189
156
 
190
157
  /**
191
158
  * @param p0
192
159
  * @param p1
160
+ * @param p2
193
161
  * @returns
194
162
  */
195
- static N_0xFDCEDFB0577A390D(p0: any, p1: any): any {
196
- return inv<number>('0xFDCEDFB0577A390D', p0, p1);
163
+ static N_0x9CCA3131E6B53C68(p0: any, p1: any, p2: any): any {
164
+ return inv<number>('0x9CCA3131E6B53C68', p0, p1, p2);
197
165
  }
198
166
 
199
167
  /**
200
- * @param weaponHash Refer to [enum: eWeaponHash]
168
+ * @param ammoType
201
169
  * @returns
202
170
  */
203
- static isWeaponPistol(weaponHash: eWeaponHash): any {
204
- return inv<number>('0xDDC64F5E31EEDAB6', weaponHash);
171
+ static getWeaponTypeFromAmmoType(ammoType: string | number): number {
172
+ return (inv<number>('0x7AA043F6C41D151E', _h(ammoType), rai())) & 0xFFFFFFFF;
205
173
  }
206
174
 
207
175
  /**
208
- * @param weaponHash Refer to [enum: eWeaponHash]
176
+ * Works exactly the same as [native: _GET_AMMO_TYPE_FOR_WEAPON]
177
+ *
178
+ * @param weaponHash
209
179
  * @returns
210
180
  */
211
- static hasWeaponAssetLoaded(weaponHash: eWeaponHash): any {
212
- return inv<number>('0xFF07CF465F48B830', weaponHash);
181
+ static getAmmoTypeForWeapon2(weaponHash: eWeaponHash): number {
182
+ return inv<number>('0xEC97101A8F311282', weaponHash, rai());
213
183
  }
214
184
 
215
185
  /**
216
- * @param weaponHash Refer to [enum: eWeaponHash]
186
+ * this native gets the weapon hash from the default ped weapon collection (see GetDefaultPedWeaponCollection for more info) will randomly return one of it's weapons
187
+ *
188
+ * @param weaponCollection
189
+ * @param weaponGroup
217
190
  * @returns
218
191
  */
219
- static isWeaponRepeater(weaponHash: eWeaponHash): any {
220
- return inv<number>('0xDDB2578E95EF7138', weaponHash);
192
+ static getWeaponFromDefaultPedWeaponCollection(weaponCollection: number, weaponGroup: string | number): number {
193
+ return (inv<number>('0x9EEFD670F10656D7', weaponCollection, _h(weaponGroup), rai())) & 0xFFFFFFFF;
221
194
  }
222
195
 
223
196
  /**
197
+ * entity can be a ped or weapon object.
198
+ *
199
+ * @param entity
224
200
  * @param componentHash
225
- * @returns
226
- */
227
- static getWeaponComponentTypeModel(componentHash: string | number): number {
228
- return (inv<number>('0x59DE03442B6C9598', _h(componentHash), rai())) & 0xFFFFFFFF;
229
- }
230
-
231
- /**
232
- * @param weaponObject
233
- * @param level
201
+ * @param weaponHash Refer to [enum: eWeaponHash]
202
+ * @param p3
234
203
  */
235
- static setWeaponDegradation(weaponObject: Prop, level: number): void {
236
- inv<void>('0xA7A57E89E965D839', weaponObject.handle, f(level));
204
+ static giveWeaponComponentToEntity(entity: Entity, componentHash: string | number, weaponHash: eWeaponHash, p3: boolean): void {
205
+ inv<void>('0x74C9090FDD1BB48E', entity.handle, _h(componentHash), weaponHash, p3);
237
206
  }
238
207
 
239
208
  /**
240
- * @param weaponHash Refer to [enum: eWeaponHash]
209
+ * @param p0
210
+ * @param p1
241
211
  * @returns
242
212
  */
243
- static isWeaponShotgun(weaponHash: eWeaponHash): any {
244
- return inv<number>('0xC75386174ECE95D5', weaponHash);
213
+ static N_0xA2091482ED42EF85(p0: any, p1: any): any {
214
+ return inv<number>('0xA2091482ED42EF85', p0, p1);
245
215
  }
246
216
 
247
217
  /**
248
- * @param ammoHash Refer to [enum: eAmmoType]
218
+ * @param weapon
219
+ * @param addonHash
249
220
  * @returns
250
221
  */
251
- static isAmmoValid(ammoHash: eAmmoType): any {
252
- return inv<number>('0x1F7977C9101F807F', ammoHash);
222
+ static hasWeaponGotWeaponComponent(weapon: Prop, addonHash: string | number): boolean {
223
+ return inv<boolean>('0x76A18844E743BF91', weapon.handle, _h(addonHash), rai());
253
224
  }
254
225
 
255
226
  /**
256
- * @param ammoHash Refer to [enum: eAmmoType]
227
+ * @param weaponObject
257
228
  * @returns
258
229
  */
259
- static isAmmoSilent2(ammoHash: eAmmoType): any {
260
- return inv<number>('0x7EFACC589B98C488', ammoHash);
230
+ static getWeaponSoot(weaponObject: Prop): number {
231
+ return inv<number>('0x4BF66F8878F67663', weaponObject.handle, raf());
261
232
  }
262
233
 
263
234
  /**
264
235
  * @param weaponHash Refer to [enum: eWeaponHash]
265
- * @param permanentDegradationLevel
266
236
  * @returns
267
237
  */
268
- static getWeaponNameWithPermanentDegradation(weaponHash: eWeaponHash, permanentDegradationLevel: number): string | null {
269
- return inv<string>('0x7A56D66C78D8EF8E', weaponHash, f(permanentDegradationLevel), ras());
238
+ static getWeaponUnlock(weaponHash: eWeaponHash): number {
239
+ return (inv<number>('0x865F36299079FB75', weaponHash, rai())) & 0xFFFFFFFF;
270
240
  }
271
241
 
272
242
  /**
273
243
  * @param weaponHash Refer to [enum: eWeaponHash]
274
- * @param ammoHash Refer to [enum: eAmmoType]
275
- * @returns
244
+ * @returns Returns the ammo type, see: [enum: eAmmoType]
276
245
  */
277
- static isAmmoTypeValidForWeapon(weaponHash: eWeaponHash, ammoHash: eAmmoType): any {
278
- return inv<number>('0xC570B881754DF609', weaponHash, ammoHash);
246
+ static getAmmoTypeForWeapon(weaponHash: eWeaponHash): number {
247
+ return (inv<number>('0x5C2EA6C44F515F34', weaponHash, rai())) & 0xFFFFFFFF;
279
248
  }
280
249
 
281
250
  /**
282
- * @param p0
283
- * @param p1
251
+ * @param weaponHash Refer to [enum: eWeaponHash]
252
+ * @returns
284
253
  */
285
- static N_0x183CE355115B6E75(p0: any, p1: any): void {
286
- inv<void>('0x183CE355115B6E75', p0, p1);
254
+ static isWeaponKnife(weaponHash: eWeaponHash): any {
255
+ return inv<number>('0x792E3EF76C911959', weaponHash);
287
256
  }
288
257
 
289
258
  /**
290
- * @param p0
291
- * @param p1
259
+ * @param weaponHash Refer to [enum: eWeaponHash]
260
+ * @returns
292
261
  */
293
- static N_0x74C9080FDD1BB48F(p0: any, p1: any): void {
294
- inv<void>('0x74C9080FDD1BB48F', p0, p1);
262
+ static isWeaponBow(weaponHash: eWeaponHash): any {
263
+ return inv<number>('0xC4DEC3CA8C365A5D', weaponHash);
295
264
  }
296
265
 
297
266
  /**
298
- * @param vehicle
299
- * @param p1
300
- * @param minHeading
301
- * @param maxHeading
267
+ * @param weaponHash Refer to [enum: eWeaponHash]
302
268
  * @returns
303
269
  */
304
- static setVehicleWeaponHeadingLimits2(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): any {
305
- return inv<number>('0xBF5987E1CDE63501', vehicle.handle, p1, f(minHeading), f(maxHeading));
270
+ static getCanTwirlWeapon(weaponHash: eWeaponHash): any {
271
+ return inv<number>('0x6554ECCE226F2A2A', weaponHash);
306
272
  }
307
273
 
308
274
  /**
309
- * @param p0
310
- * @param p1
275
+ * @param weaponHash Refer to [enum: eWeaponHash]
311
276
  * @returns
312
277
  */
313
- static N_0x486C96A0DCD2BC92(p0: any, p1: any): any {
314
- return inv<number>('0x486C96A0DCD2BC92', p0, p1);
278
+ static shouldWeaponBeDiscardedWhenSwapped(weaponHash: eWeaponHash): any {
279
+ return inv<number>('0x2C83212A7AA51D3D', weaponHash);
315
280
  }
316
281
 
317
282
  /**
318
283
  * @param weaponHash Refer to [enum: eWeaponHash]
319
- * @returns Returns the [enum: eWeaponAttachPoint]
284
+ * @returns
320
285
  */
321
- static getDefaultWeaponAttachPoint(weaponHash: eWeaponHash): number {
322
- return inv<number>('0x65DC4AC5B96614CB', weaponHash, rai());
286
+ static isWeaponSilent(weaponHash: eWeaponHash): any {
287
+ return inv<number>('0x5809DBCA0A37C82B', weaponHash);
323
288
  }
324
289
 
325
290
  /**
326
- * Related to weapon visual damage, not actual damage.
327
- *
328
- * @param weaponObject
291
+ * @param weaponHash Refer to [enum: eWeaponHash]
329
292
  * @returns
330
293
  */
331
- static getWeaponDamage(weaponObject: Prop): number {
332
- return inv<number>('0x904103D5D2333977', weaponObject.handle, raf());
294
+ static isWeaponOneHanded(weaponHash: eWeaponHash): any {
295
+ return inv<number>('0xD955FEE4B87AFA07', weaponHash);
333
296
  }
334
297
 
335
298
  /**
@@ -398,67 +361,67 @@ export class WeaponStatics {
398
361
  }
399
362
 
400
363
  /**
401
- * @param weaponHash Refer to [enum: eWeaponHash]
402
- * @returns
364
+ * @param vehicle
365
+ * @param p1
366
+ * @param minHeading
367
+ * @param maxHeading
403
368
  */
404
- static getWeaponUnlock(weaponHash: eWeaponHash): number {
405
- return (inv<number>('0x865F36299079FB75', weaponHash, rai())) & 0xFFFFFFFF;
369
+ static setVehicleWeaponHeadingLimits(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): void {
370
+ inv<void>('0x56CB3B4305A4F7CE', vehicle.handle, p1, f(minHeading), f(maxHeading));
406
371
  }
407
372
 
408
373
  /**
409
- * @param weaponHash Refer to [enum: eWeaponHash]
410
- * @returns Returns the ammo type, see: [enum: eAmmoType]
374
+ * @param p0
375
+ * @param p1
376
+ * @returns
411
377
  */
412
- static getAmmoTypeForWeapon(weaponHash: eWeaponHash): number {
413
- return (inv<number>('0x5C2EA6C44F515F34', weaponHash, rai())) & 0xFFFFFFFF;
378
+ static N_0x74C8000FDD1BB222(p0: any, p1: any): any {
379
+ return inv<number>('0x74C8000FDD1BB222', p0, p1);
414
380
  }
415
381
 
416
382
  /**
383
+ * Returns hash where WEAPON_ is replaced with SLOT_
384
+ *
417
385
  * @param weaponHash Refer to [enum: eWeaponHash]
418
386
  * @returns
419
387
  */
420
- static isWeaponKnife(weaponHash: eWeaponHash): any {
421
- return inv<number>('0x792E3EF76C911959', weaponHash);
388
+ static getWeapontypeSlot(weaponHash: eWeaponHash): number {
389
+ return (inv<number>('0x46F032B8DDF46CDE', weaponHash, rai())) & 0xFFFFFFFF;
422
390
  }
423
391
 
424
392
  /**
425
- * @param weaponHash Refer to [enum: eWeaponHash]
426
- * @returns
393
+ * @param p0
394
+ * @param p1
395
+ * @param p2
427
396
  */
428
- static isWeaponBow(weaponHash: eWeaponHash): any {
429
- return inv<number>('0xC4DEC3CA8C365A5D', weaponHash);
397
+ static N_0xA3716A77DCF17424(p0: any, p1: any, p2: any): void {
398
+ inv<void>('0xA3716A77DCF17424', p0, p1, p2);
430
399
  }
431
400
 
432
401
  /**
433
- * @param weaponHash Refer to [enum: eWeaponHash]
402
+ * @param weaponCollection
403
+ * @param dualwieldVariant
434
404
  * @returns
435
405
  */
436
- static getCanTwirlWeapon(weaponHash: eWeaponHash): any {
437
- return inv<number>('0x6554ECCE226F2A2A', weaponHash);
406
+ static N_0xF252A85B8F3F8C58(weaponCollection: string | number, dualwieldVariant: string | number): boolean {
407
+ return inv<boolean>('0xF252A85B8F3F8C58', _h(weaponCollection), _h(dualwieldVariant), rai());
438
408
  }
439
409
 
440
410
  /**
441
411
  * @param weaponHash Refer to [enum: eWeaponHash]
442
412
  * @returns
443
413
  */
444
- static shouldWeaponBeDiscardedWhenSwapped(weaponHash: eWeaponHash): any {
445
- return inv<number>('0x2C83212A7AA51D3D', weaponHash);
446
- }
447
-
448
- /**
449
- * @param weaponHash Refer to [enum: eWeaponHash]
450
- * @returns
451
- */
452
- static isWeaponSilent(weaponHash: eWeaponHash): any {
453
- return inv<number>('0x5809DBCA0A37C82B', weaponHash);
414
+ static isWeaponBinoculars(weaponHash: eWeaponHash): any {
415
+ return inv<number>('0xC853230E76A152DF', weaponHash);
454
416
  }
455
417
 
456
418
  /**
457
- * @param weaponHash Refer to [enum: eWeaponHash]
419
+ * @param p0
420
+ * @param p1
458
421
  * @returns
459
422
  */
460
- static isWeaponOneHanded(weaponHash: eWeaponHash): any {
461
- return inv<number>('0xD955FEE4B87AFA07', weaponHash);
423
+ static N_0xD2209866B0CB72EA(p0: any, p1: any): any {
424
+ return inv<number>('0xD2209866B0CB72EA', p0, p1);
462
425
  }
463
426
 
464
427
  /**
@@ -466,325 +429,331 @@ export class WeaponStatics {
466
429
  * @param p1
467
430
  * @param p2
468
431
  */
469
- static N_0xD53846B9C931C181(p0: any, p1: any, p2: any): void {
470
- inv<void>('0xD53846B9C931C181', p0, p1, p2);
432
+ static N_0xA769D753922B031B(p0: any, p1: any, p2: any): void {
433
+ inv<void>('0xA769D753922B031B', p0, p1, p2);
471
434
  }
472
435
 
473
436
  /**
474
- * @param weaponHash Refer to [enum: eWeaponHash]
475
- * @returns
437
+ * @param p0
476
438
  */
477
- static getWeaponClipSize(weaponHash: eWeaponHash): number {
478
- return inv<number>('0xD3750CCC00635FC2', weaponHash, rai());
439
+ static N_0xECBB26529A737EF6(p0: any): void {
440
+ inv<void>('0xECBB26529A737EF6', p0);
479
441
  }
480
442
 
481
443
  /**
482
- * @param p0
444
+ * turretHash: WEAPON_TURRET_MAXIUM, WEAPON_TURRET_GATLING, WEAPON_TURRET_CANNON, WEAPON_TURRET_REVOLVING_CANNON
445
+ *
446
+ * @param vehicle
447
+ * @param turretHash
448
+ * @param ammo
483
449
  */
484
- static N_0x000FA7A4A8443AF7(p0: any): void {
485
- inv<void>('0x000FA7A4A8443AF7', p0);
450
+ static setAmmoInTurret(vehicle: Vehicle, turretHash: string | number, ammo: number): void {
451
+ inv<void>('0xBDDA0C290C228159', vehicle.handle, _h(turretHash), ammo);
486
452
  }
487
453
 
488
454
  /**
489
- * Only used in R* Script fme_escaped_convicts, p0 = 0
490
- *
491
- * @param p0
455
+ * @param weaponObject
456
+ * @param level
457
+ * @param p2
492
458
  */
493
- static N_0x63B83A526329AFBC(p0: any): void {
494
- inv<void>('0x63B83A526329AFBC', p0);
459
+ static setWeaponSoot(weaponObject: Prop, level: number, p2: boolean): void {
460
+ inv<void>('0xA9EF4AD10BDDDB57', weaponObject.handle, f(level), p2);
495
461
  }
496
462
 
497
463
  /**
498
- * Related to rust of weapons
464
+ * Returns weaponCollection Hash
465
+ * Example: RE_POLICECHASE_MALES_01: Carbine Repeater + Knife, LO_AGRO_PED
499
466
  *
500
- * @param weaponObject
467
+ * @param pedModel
501
468
  * @returns
502
469
  */
503
- static getWeaponPermanentDegradation(weaponObject: Prop): number {
504
- return inv<number>('0xD56E5F336C675EFA', weaponObject.handle, raf());
470
+ static getDefaultPedWeaponCollection(pedModel: string | number): number {
471
+ return (inv<number>('0xD42514C182121C23', _h(pedModel), rai())) & 0xFFFFFFFF;
505
472
  }
506
473
 
507
474
  /**
508
- * @param weaponHash Refer to [enum: eWeaponHash]
475
+ * @param vehicle
476
+ * @param seatIndex Refer to [enum: eVehicleSeat]
477
+ * @param heading
478
+ * @param p3
509
479
  */
510
- static removeWeaponAsset(weaponHash: eWeaponHash): void {
511
- inv<void>('0xC3896D03E2852236', weaponHash);
480
+ static setVehicleWeaponHeading(vehicle: Vehicle, seatIndex: eVehicleSeat, heading: number, p3: boolean): void {
481
+ inv<void>('0x194D877FC5597B7D', vehicle.handle, seatIndex, f(heading), p3);
512
482
  }
513
483
 
514
484
  /**
515
- * @param p0
485
+ * @param weaponHash Refer to [enum: eWeaponHash]
516
486
  * @returns
517
487
  */
518
- static N_0x23BF601A42F329A0(p0: any): any {
519
- return inv<number>('0x23BF601A42F329A0', p0);
488
+ static isWeaponLantern(weaponHash: eWeaponHash): any {
489
+ return inv<number>('0x79407D33328286C6', weaponHash);
520
490
  }
521
491
 
522
492
  /**
523
493
  * @param weaponHash Refer to [enum: eWeaponHash]
524
494
  * @returns
525
495
  */
526
- static isWeaponRifle(weaponHash: eWeaponHash): any {
527
- return inv<number>('0x0A82317B7EBFC420', weaponHash);
496
+ static isWeaponRevolver(weaponHash: eWeaponHash): any {
497
+ return inv<number>('0xC212F1D05A8232BB', weaponHash);
528
498
  }
529
499
 
530
500
  /**
531
501
  * @param p0
532
- * @returns
533
502
  */
534
- static N_0x3799EFCC3C8CD5E1(p0: any): any {
535
- return inv<number>('0x3799EFCC3C8CD5E1', p0);
503
+ static N_0x74C90AAACC1DD48F(p0: any): void {
504
+ inv<void>('0x74C90AAACC1DD48F', p0);
536
505
  }
537
506
 
538
507
  /**
539
- * @param p0
540
- * @param p1
541
- * @param p2
508
+ * @param weaponHash Refer to [enum: eWeaponHash]
509
+ * @param ammoCount
510
+ * @param pos
511
+ * @param showWorldModel
512
+ * @param scale
542
513
  * @returns
543
514
  */
544
- static N_0x9CCA3131E6B53C68(p0: any, p1: any, p2: any): any {
545
- return inv<number>('0x9CCA3131E6B53C68', p0, p1, p2);
515
+ static createWeaponObject(weaponHash: eWeaponHash, ammoCount: number, pos: Vector3, showWorldModel: boolean, scale: number): Prop | null {
516
+ return createFromHandle<Prop>('Prop', inv<number>('0x9888652B8BA77F73', weaponHash, ammoCount, f(pos.x), f(pos.y), f(pos.z), showWorldModel, f(scale), rai()));
546
517
  }
547
518
 
548
519
  /**
549
- * @param vehicle
550
- * @param p1
551
- * @param minHeading
552
- * @param maxHeading
520
+ * Returns true when the weapon passed is either a lasso, the camera or the binoculars
521
+ * _IS_WEAPON_M* - _IS_WEAPON_P*
522
+ *
523
+ * @param weaponHash Refer to [enum: eWeaponHash]
524
+ * @returns
553
525
  */
554
- static setVehicleWeaponHeadingLimits(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): void {
555
- inv<void>('0x56CB3B4305A4F7CE', vehicle.handle, p1, f(minHeading), f(maxHeading));
526
+ static isWeaponKit(weaponHash: eWeaponHash): any {
527
+ return inv<number>('0x6ABAD7B0A854F8FB', weaponHash);
556
528
  }
557
529
 
558
530
  /**
559
- * @param p0
560
- * @param p1
531
+ * @param entity
532
+ * @param weaponHash Refer to [enum: eWeaponHash]
533
+ * @param ms
561
534
  * @returns
562
535
  */
563
- static N_0x74C8000FDD1BB222(p0: any, p1: any): any {
564
- return inv<number>('0x74C8000FDD1BB222', p0, p1);
536
+ static hasEntityBeenDamagedByWeaponRecently(entity: Entity, weaponHash: eWeaponHash, ms: number): any {
537
+ return inv<number>('0x9E2D5D6BC97A5F1E', entity.handle, weaponHash, ms);
565
538
  }
566
539
 
567
540
  /**
568
- * @param ammoType
541
+ * @param weaponObject
569
542
  * @returns
570
543
  */
571
- static getWeaponTypeFromAmmoType(ammoType: string | number): number {
572
- return (inv<number>('0x7AA043F6C41D151E', _h(ammoType), rai())) & 0xFFFFFFFF;
544
+ static getWeaponDirt(weaponObject: Prop): number {
545
+ return inv<number>('0x810E8AE9AFEA7E54', weaponObject.handle, raf());
573
546
  }
574
547
 
575
548
  /**
576
- * Works exactly the same as [native: _GET_AMMO_TYPE_FOR_WEAPON]
577
- *
578
- * @param weaponHash
579
- * @returns
549
+ * @param p0
580
550
  */
581
- static getAmmoTypeForWeapon2(weaponHash: eWeaponHash): number {
582
- return inv<number>('0xEC97101A8F311282', weaponHash, rai());
551
+ static N_0xC5899C4CD2E2495D(p0: any): void {
552
+ inv<void>('0xC5899C4CD2E2495D', p0);
583
553
  }
584
554
 
585
555
  /**
586
- * this native gets the weapon hash from the default ped weapon collection (see GetDefaultPedWeaponCollection for more info) will randomly return one of it's weapons
556
+ * Returns weaponHash
587
557
  *
588
- * @param weaponCollection
589
- * @param weaponGroup
558
+ * @param weaponGroupHash
559
+ * @param p1
560
+ * @param p2
561
+ * @param p3
590
562
  * @returns
591
563
  */
592
- static getWeaponFromDefaultPedWeaponCollection(weaponCollection: number, weaponGroup: string | number): number {
593
- return (inv<number>('0x9EEFD670F10656D7', weaponCollection, _h(weaponGroup), rai())) & 0xFFFFFFFF;
564
+ static N_0xF8204EF17410BF43(weaponGroupHash: string | number, p1: number, p2: number, p3: any): number {
565
+ return (inv<number>('0xF8204EF17410BF43', _h(weaponGroupHash), f(p1), f(p2), p3, rai())) & 0xFFFFFFFF;
594
566
  }
595
567
 
596
568
  /**
597
- * entity can be a ped or weapon object.
598
- *
599
- * @param entity
600
- * @param componentHash
601
569
  * @param weaponHash Refer to [enum: eWeaponHash]
602
- * @param p3
570
+ * @param ammoHash Refer to [enum: eAmmoType]
571
+ * @returns
603
572
  */
604
- static giveWeaponComponentToEntity(entity: Entity, componentHash: string | number, weaponHash: eWeaponHash, p3: boolean): void {
605
- inv<void>('0x74C9090FDD1BB48E', entity.handle, _h(componentHash), weaponHash, p3);
573
+ static isAmmoTypeValidForWeapon(weaponHash: eWeaponHash, ammoHash: eAmmoType): any {
574
+ return inv<number>('0xC570B881754DF609', weaponHash, ammoHash);
606
575
  }
607
576
 
608
577
  /**
609
578
  * @param p0
610
579
  * @param p1
611
- * @returns
612
580
  */
613
- static N_0xA2091482ED42EF85(p0: any, p1: any): any {
614
- return inv<number>('0xA2091482ED42EF85', p0, p1);
581
+ static N_0x183CE355115B6E75(p0: any, p1: any): void {
582
+ inv<void>('0x183CE355115B6E75', p0, p1);
615
583
  }
616
584
 
617
585
  /**
618
- * @param weapon
619
- * @param addonHash
586
+ * @param p0
587
+ * @param p1
588
+ */
589
+ static N_0x74C9080FDD1BB48F(p0: any, p1: any): void {
590
+ inv<void>('0x74C9080FDD1BB48F', p0, p1);
591
+ }
592
+
593
+ /**
594
+ * @param vehicle
595
+ * @param p1
596
+ * @param minHeading
597
+ * @param maxHeading
620
598
  * @returns
621
599
  */
622
- static hasWeaponGotWeaponComponent(weapon: Prop, addonHash: string | number): boolean {
623
- return inv<boolean>('0x76A18844E743BF91', weapon.handle, _h(addonHash), rai());
600
+ static setVehicleWeaponHeadingLimits2(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): any {
601
+ return inv<number>('0xBF5987E1CDE63501', vehicle.handle, p1, f(minHeading), f(maxHeading));
624
602
  }
625
603
 
626
604
  /**
627
- * @param weaponObject
605
+ * @param p0
606
+ * @param p1
628
607
  * @returns
629
608
  */
630
- static getWeaponSoot(weaponObject: Prop): number {
631
- return inv<number>('0x4BF66F8878F67663', weaponObject.handle, raf());
609
+ static N_0x486C96A0DCD2BC92(p0: any, p1: any): any {
610
+ return inv<number>('0x486C96A0DCD2BC92', p0, p1);
611
+ }
612
+
613
+ /**
614
+ * @param weaponHash Refer to [enum: eWeaponHash]
615
+ * @returns Returns the [enum: eWeaponAttachPoint]
616
+ */
617
+ static getDefaultWeaponAttachPoint(weaponHash: eWeaponHash): number {
618
+ return inv<number>('0x65DC4AC5B96614CB', weaponHash, rai());
632
619
  }
633
620
 
634
621
  /**
635
622
  * Related to weapon visual damage, not actual damage.
636
623
  *
637
624
  * @param weaponObject
638
- * @param level
639
- * @param p2
625
+ * @returns
640
626
  */
641
- static setWeaponDamage(weaponObject: Prop, level: number, p2: boolean): void {
642
- inv<void>('0xE22060121602493B', weaponObject.handle, f(level), p2);
627
+ static getWeaponDamage(weaponObject: Prop): number {
628
+ return inv<number>('0x904103D5D2333977', weaponObject.handle, raf());
643
629
  }
644
630
 
645
631
  /**
646
632
  * @param p0
647
- * @param p1
648
633
  * @returns
649
634
  */
650
- static N_0x74C8000FDD1BB111(p0: any, p1: any): any {
651
- return inv<number>('0x74C8000FDD1BB111', p0, p1);
635
+ static N_0xBC9444F2FF94A9C0(p0: any): any {
636
+ return inv<number>('0xBC9444F2FF94A9C0', p0);
652
637
  }
653
638
 
654
639
  /**
655
- * _IS_WEAPON_CLOSE_RANGE?
656
- * returns true when it's lassos , melee, thrown weapons (matchetes and unarmed return false)
657
- * all guns ,bows and animal weapons return false
658
- *
659
640
  * @param weaponHash Refer to [enum: eWeaponHash]
660
641
  * @returns
661
642
  */
662
- static isWeaponCloseRange(weaponHash: eWeaponHash): any {
663
- return inv<number>('0xEA522F991E120D45', weaponHash);
643
+ static isWeaponValid(weaponHash: eWeaponHash): boolean {
644
+ return inv<boolean>('0x937C71165CF334B3', weaponHash, rai());
664
645
  }
665
646
 
666
647
  /**
667
- * @param weaponHash Refer to [enum: eWeaponHash]
668
- * @returns
648
+ * @param p0
649
+ * @param p1
650
+ * @param p2
669
651
  */
670
- static isWeaponMeleeWeapon(weaponHash: eWeaponHash): any {
671
- return inv<number>('0x959383DCD42040DA', weaponHash);
652
+ static N_0xE9B3FEC825668291(p0: any, p1: any, p2: any): void {
653
+ inv<void>('0xE9B3FEC825668291', p0, p1, p2);
672
654
  }
673
655
 
674
656
  /**
675
- * @param ped
676
- * @param componentHash
677
- * @param p3
678
- * @returns weaponObject
657
+ * Returns true when the weapon passed is either the fishingrod, a lasso, the camera or the binoculars
658
+ * _IS_WEAPON_M* - _IS_WEAPON_P*
659
+ *
660
+ * @param weaponHash Refer to [enum: eWeaponHash]
661
+ * @returns
679
662
  */
680
- static giveWeaponComponentToWeaponObject(ped: Ped, componentHash: string | number, p3: boolean): Prop | null {
681
- const result = inv<number>('0x1A47699E8D533E8F', pvi(), ped.handle, _h(componentHash), p3);
682
- return createFromHandle<Prop>('Prop', result);
663
+ static isWeaponKit2(weaponHash: eWeaponHash): any {
664
+ return inv<number>('0x49E40483948AF062', weaponHash);
683
665
  }
684
666
 
685
667
  /**
686
- * @param ammoHash Refer to [enum: eAmmoType]
668
+ * 0.0: good condition, 1.0: poor condition
669
+ *
670
+ * @param weaponObject
687
671
  * @returns
688
672
  */
689
- static isAmmoSilent(ammoHash: eAmmoType): boolean {
690
- return inv<boolean>('0xD2866CBA797E872E', ammoHash, rai());
673
+ static getWeaponDegradation(weaponObject: Prop): number {
674
+ return inv<number>('0x0D78E1097F89E637', weaponObject.handle, raf());
691
675
  }
692
676
 
693
677
  /**
694
678
  * @param p0
695
679
  * @param p1
680
+ * @returns
696
681
  */
697
- static N_0x641351E9AD103890(p0: any, p1: any): void {
698
- inv<void>('0x641351E9AD103890', p0, p1);
682
+ static N_0xFDCEDFB0577A390D(p0: any, p1: any): any {
683
+ return inv<number>('0xFDCEDFB0577A390D', p0, p1);
699
684
  }
700
685
 
701
686
  /**
702
687
  * @param weaponHash Refer to [enum: eWeaponHash]
703
688
  * @returns
704
689
  */
705
- static getWeaponName2(weaponHash: eWeaponHash): string | null {
706
- return inv<string>('0x6D3AC61694A791C5', weaponHash, ras());
690
+ static isWeaponPistol(weaponHash: eWeaponHash): any {
691
+ return inv<number>('0xDDC64F5E31EEDAB6', weaponHash);
707
692
  }
708
693
 
709
694
  /**
710
- * @param weaponObject
711
- * @param level
712
- * @param p2
695
+ * @param weaponHash Refer to [enum: eWeaponHash]
696
+ * @returns
713
697
  */
714
- static setWeaponDirt(weaponObject: Prop, level: number, p2: boolean): void {
715
- inv<void>('0x812CE61DEBCAB948', weaponObject.handle, f(level), p2);
698
+ static hasWeaponAssetLoaded(weaponHash: eWeaponHash): any {
699
+ return inv<number>('0xFF07CF465F48B830', weaponHash);
716
700
  }
717
701
 
718
702
  /**
719
- * Returns hash where WEAPON_ is replaced with SLOT_
720
- *
721
703
  * @param weaponHash Refer to [enum: eWeaponHash]
722
704
  * @returns
723
705
  */
724
- static getWeapontypeSlot(weaponHash: eWeaponHash): number {
725
- return (inv<number>('0x46F032B8DDF46CDE', weaponHash, rai())) & 0xFFFFFFFF;
706
+ static isWeaponRepeater(weaponHash: eWeaponHash): any {
707
+ return inv<number>('0xDDB2578E95EF7138', weaponHash);
726
708
  }
727
709
 
728
710
  /**
729
- * @param p0
730
- * @param p1
731
- * @param p2
711
+ * @param componentHash
712
+ * @returns
732
713
  */
733
- static N_0xA3716A77DCF17424(p0: any, p1: any, p2: any): void {
734
- inv<void>('0xA3716A77DCF17424', p0, p1, p2);
714
+ static getWeaponComponentTypeModel(componentHash: string | number): number {
715
+ return (inv<number>('0x59DE03442B6C9598', _h(componentHash), rai())) & 0xFFFFFFFF;
735
716
  }
736
717
 
737
718
  /**
738
- * @param weaponCollection
739
- * @param dualwieldVariant
740
- * @returns
719
+ * @param weaponObject
720
+ * @param level
741
721
  */
742
- static N_0xF252A85B8F3F8C58(weaponCollection: string | number, dualwieldVariant: string | number): boolean {
743
- return inv<boolean>('0xF252A85B8F3F8C58', _h(weaponCollection), _h(dualwieldVariant), rai());
722
+ static setWeaponDegradation(weaponObject: Prop, level: number): void {
723
+ inv<void>('0xA7A57E89E965D839', weaponObject.handle, f(level));
744
724
  }
745
725
 
746
726
  /**
747
727
  * @param weaponHash Refer to [enum: eWeaponHash]
748
728
  * @returns
749
729
  */
750
- static isWeaponBinoculars(weaponHash: eWeaponHash): any {
751
- return inv<number>('0xC853230E76A152DF', weaponHash);
730
+ static isWeaponShotgun(weaponHash: eWeaponHash): any {
731
+ return inv<number>('0xC75386174ECE95D5', weaponHash);
752
732
  }
753
733
 
754
734
  /**
755
- * @param p0
756
- * @param p1
735
+ * @param ammoHash Refer to [enum: eAmmoType]
757
736
  * @returns
758
737
  */
759
- static N_0xD2209866B0CB72EA(p0: any, p1: any): any {
760
- return inv<number>('0xD2209866B0CB72EA', p0, p1);
761
- }
762
-
763
- /**
764
- * @param p0
765
- * @param p1
766
- * @param p2
767
- */
768
- static N_0xA769D753922B031B(p0: any, p1: any, p2: any): void {
769
- inv<void>('0xA769D753922B031B', p0, p1, p2);
738
+ static isAmmoValid(ammoHash: eAmmoType): any {
739
+ return inv<number>('0x1F7977C9101F807F', ammoHash);
770
740
  }
771
741
 
772
742
  /**
773
- * @param p0
743
+ * @param ammoHash Refer to [enum: eAmmoType]
744
+ * @returns
774
745
  */
775
- static N_0xECBB26529A737EF6(p0: any): void {
776
- inv<void>('0xECBB26529A737EF6', p0);
746
+ static isAmmoSilent2(ammoHash: eAmmoType): any {
747
+ return inv<number>('0x7EFACC589B98C488', ammoHash);
777
748
  }
778
749
 
779
750
  /**
780
- * turretHash: WEAPON_TURRET_MAXIUM, WEAPON_TURRET_GATLING, WEAPON_TURRET_CANNON, WEAPON_TURRET_REVOLVING_CANNON
781
- *
782
- * @param vehicle
783
- * @param turretHash
784
- * @param ammo
751
+ * @param weaponHash Refer to [enum: eWeaponHash]
752
+ * @param permanentDegradationLevel
753
+ * @returns
785
754
  */
786
- static setAmmoInTurret(vehicle: Vehicle, turretHash: string | number, ammo: number): void {
787
- inv<void>('0xBDDA0C290C228159', vehicle.handle, _h(turretHash), ammo);
755
+ static getWeaponNameWithPermanentDegradation(weaponHash: eWeaponHash, permanentDegradationLevel: number): string | null {
756
+ return inv<string>('0x7A56D66C78D8EF8E', weaponHash, f(permanentDegradationLevel), ras());
788
757
  }
789
758
 
790
759
  /**
@@ -836,56 +805,87 @@ export class WeaponStatics {
836
805
  }
837
806
 
838
807
  /**
808
+ * Related to weapon visual damage, not actual damage.
809
+ *
839
810
  * @param weaponObject
840
811
  * @param level
841
812
  * @param p2
842
813
  */
843
- static setWeaponSoot(weaponObject: Prop, level: number, p2: boolean): void {
844
- inv<void>('0xA9EF4AD10BDDDB57', weaponObject.handle, f(level), p2);
814
+ static setWeaponDamage(weaponObject: Prop, level: number, p2: boolean): void {
815
+ inv<void>('0xE22060121602493B', weaponObject.handle, f(level), p2);
845
816
  }
846
817
 
847
818
  /**
848
- * Returns weaponCollection Hash
849
- * Example: RE_POLICECHASE_MALES_01: Carbine Repeater + Knife, LO_AGRO_PED
819
+ * @param p0
820
+ * @param p1
821
+ * @returns
822
+ */
823
+ static N_0x74C8000FDD1BB111(p0: any, p1: any): any {
824
+ return inv<number>('0x74C8000FDD1BB111', p0, p1);
825
+ }
826
+
827
+ /**
828
+ * _IS_WEAPON_CLOSE_RANGE?
829
+ * returns true when it's lassos , melee, thrown weapons (matchetes and unarmed return false)
830
+ * all guns ,bows and animal weapons return false
850
831
  *
851
- * @param pedModel
832
+ * @param weaponHash Refer to [enum: eWeaponHash]
852
833
  * @returns
853
834
  */
854
- static getDefaultPedWeaponCollection(pedModel: string | number): number {
855
- return (inv<number>('0xD42514C182121C23', _h(pedModel), rai())) & 0xFFFFFFFF;
835
+ static isWeaponCloseRange(weaponHash: eWeaponHash): any {
836
+ return inv<number>('0xEA522F991E120D45', weaponHash);
856
837
  }
857
838
 
858
839
  /**
859
- * @param vehicle
860
- * @param seatIndex Refer to [enum: eVehicleSeat]
861
- * @param heading
840
+ * @param weaponHash Refer to [enum: eWeaponHash]
841
+ * @returns
842
+ */
843
+ static isWeaponMeleeWeapon(weaponHash: eWeaponHash): any {
844
+ return inv<number>('0x959383DCD42040DA', weaponHash);
845
+ }
846
+
847
+ /**
848
+ * @param ped
849
+ * @param componentHash
862
850
  * @param p3
851
+ * @returns weaponObject
863
852
  */
864
- static setVehicleWeaponHeading(vehicle: Vehicle, seatIndex: eVehicleSeat, heading: number, p3: boolean): void {
865
- inv<void>('0x194D877FC5597B7D', vehicle.handle, seatIndex, f(heading), p3);
853
+ static giveWeaponComponentToWeaponObject(ped: Ped, componentHash: string | number, p3: boolean): Prop | null {
854
+ const result = inv<number>('0x1A47699E8D533E8F', pvi(), ped.handle, _h(componentHash), p3);
855
+ return createFromHandle<Prop>('Prop', result);
866
856
  }
867
857
 
868
858
  /**
869
- * @param weaponHash Refer to [enum: eWeaponHash]
859
+ * @param ammoHash Refer to [enum: eAmmoType]
870
860
  * @returns
871
861
  */
872
- static isWeaponLantern(weaponHash: eWeaponHash): any {
873
- return inv<number>('0x79407D33328286C6', weaponHash);
862
+ static isAmmoSilent(ammoHash: eAmmoType): boolean {
863
+ return inv<boolean>('0xD2866CBA797E872E', ammoHash, rai());
864
+ }
865
+
866
+ /**
867
+ * @param p0
868
+ * @param p1
869
+ */
870
+ static N_0x641351E9AD103890(p0: any, p1: any): void {
871
+ inv<void>('0x641351E9AD103890', p0, p1);
874
872
  }
875
873
 
876
874
  /**
877
875
  * @param weaponHash Refer to [enum: eWeaponHash]
878
876
  * @returns
879
877
  */
880
- static isWeaponRevolver(weaponHash: eWeaponHash): any {
881
- return inv<number>('0xC212F1D05A8232BB', weaponHash);
878
+ static getWeaponName2(weaponHash: eWeaponHash): string | null {
879
+ return inv<string>('0x6D3AC61694A791C5', weaponHash, ras());
882
880
  }
883
881
 
884
882
  /**
885
- * @param p0
883
+ * @param weaponObject
884
+ * @param level
885
+ * @param p2
886
886
  */
887
- static N_0x74C90AAACC1DD48F(p0: any): void {
888
- inv<void>('0x74C90AAACC1DD48F', p0);
887
+ static setWeaponDirt(weaponObject: Prop, level: number, p2: boolean): void {
888
+ inv<void>('0x812CE61DEBCAB948', weaponObject.handle, f(level), p2);
889
889
  }
890
890
 
891
891
  /**