@nativewrappers/redm-codegen 0.0.4 → 0.0.5

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 (317) hide show
  1. package/dist/classes/AnimScene.d.ts +96 -96
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +137 -137
  4. package/dist/classes/BaseModel.d.ts +19 -19
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +33 -33
  7. package/dist/classes/BaseTask.d.ts +33 -33
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +40 -40
  10. package/dist/classes/Cam.d.ts +85 -85
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +108 -108
  13. package/dist/classes/Entity.d.ts +288 -283
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +410 -401
  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/ItemSet.d.ts +2 -2
  20. package/dist/classes/ItemSet.d.ts.map +1 -1
  21. package/dist/classes/ItemSet.js +3 -3
  22. package/dist/classes/Ped.d.ts +286 -286
  23. package/dist/classes/Ped.d.ts.map +1 -1
  24. package/dist/classes/Ped.js +425 -425
  25. package/dist/classes/PedModel.d.ts +1 -1
  26. package/dist/classes/PedModel.d.ts.map +1 -1
  27. package/dist/classes/PedModel.js +2 -2
  28. package/dist/classes/PedTask.d.ts +729 -729
  29. package/dist/classes/PedTask.d.ts.map +1 -1
  30. package/dist/classes/PedTask.js +935 -935
  31. package/dist/classes/PersChar.d.ts +13 -13
  32. package/dist/classes/PersChar.d.ts.map +1 -1
  33. package/dist/classes/PersChar.js +19 -19
  34. package/dist/classes/Pickup.d.ts +6 -6
  35. package/dist/classes/Pickup.d.ts.map +1 -1
  36. package/dist/classes/Pickup.js +13 -13
  37. package/dist/classes/Player.d.ts +343 -339
  38. package/dist/classes/Player.d.ts.map +1 -1
  39. package/dist/classes/Player.js +495 -489
  40. package/dist/classes/Prop.d.ts +64 -64
  41. package/dist/classes/Prop.d.ts.map +1 -1
  42. package/dist/classes/Prop.js +94 -94
  43. package/dist/classes/PropSet.d.ts +18 -18
  44. package/dist/classes/PropSet.d.ts.map +1 -1
  45. package/dist/classes/PropSet.js +27 -27
  46. package/dist/classes/Vehicle.d.ts +122 -122
  47. package/dist/classes/Vehicle.d.ts.map +1 -1
  48. package/dist/classes/Vehicle.js +147 -147
  49. package/dist/classes/VehicleModel.d.ts +1 -1
  50. package/dist/classes/VehicleModel.d.ts.map +1 -1
  51. package/dist/classes/VehicleModel.js +2 -2
  52. package/dist/classes/VehicleTask.d.ts +24 -24
  53. package/dist/classes/VehicleTask.d.ts.map +1 -1
  54. package/dist/classes/VehicleTask.js +30 -30
  55. package/dist/classes/Volume.d.ts +44 -44
  56. package/dist/classes/Volume.d.ts.map +1 -1
  57. package/dist/classes/Volume.js +58 -58
  58. package/dist/classes/Weapon.d.ts +351 -351
  59. package/dist/classes/Weapon.d.ts.map +1 -1
  60. package/dist/classes/Weapon.js +486 -486
  61. package/dist/namespaces/Aicoverpoint.d.ts +23 -23
  62. package/dist/namespaces/Aicoverpoint.d.ts.map +1 -1
  63. package/dist/namespaces/Aicoverpoint.js +35 -35
  64. package/dist/namespaces/Aitransport.d.ts +78 -78
  65. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  66. package/dist/namespaces/Aitransport.js +95 -95
  67. package/dist/namespaces/Animscene.d.ts +48 -48
  68. package/dist/namespaces/Animscene.d.ts.map +1 -1
  69. package/dist/namespaces/Animscene.js +65 -65
  70. package/dist/namespaces/Audio.d.ts +476 -476
  71. package/dist/namespaces/Audio.d.ts.map +1 -1
  72. package/dist/namespaces/Audio.js +692 -692
  73. package/dist/namespaces/Bounty.d.ts +57 -57
  74. package/dist/namespaces/Bounty.d.ts.map +1 -1
  75. package/dist/namespaces/Bounty.js +90 -90
  76. package/dist/namespaces/CamStatics.d.ts +432 -432
  77. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  78. package/dist/namespaces/CamStatics.js +606 -606
  79. package/dist/namespaces/Collection.d.ts +78 -78
  80. package/dist/namespaces/Collection.d.ts.map +1 -1
  81. package/dist/namespaces/Collection.js +111 -111
  82. package/dist/namespaces/Companion.d.ts +22 -22
  83. package/dist/namespaces/Companion.d.ts.map +1 -1
  84. package/dist/namespaces/Companion.js +30 -30
  85. package/dist/namespaces/Compapp.js +1 -1
  86. package/dist/namespaces/Compendium.d.ts +58 -58
  87. package/dist/namespaces/Compendium.d.ts.map +1 -1
  88. package/dist/namespaces/Compendium.js +83 -83
  89. package/dist/namespaces/Crashlog.d.ts +10 -10
  90. package/dist/namespaces/Crashlog.d.ts.map +1 -1
  91. package/dist/namespaces/Crashlog.js +21 -21
  92. package/dist/namespaces/Crew.js +4 -4
  93. package/dist/namespaces/Databinding.d.ts +154 -154
  94. package/dist/namespaces/Databinding.d.ts.map +1 -1
  95. package/dist/namespaces/Databinding.js +222 -222
  96. package/dist/namespaces/Datafile.js +4 -4
  97. package/dist/namespaces/Decorator.d.ts +19 -19
  98. package/dist/namespaces/Decorator.d.ts.map +1 -1
  99. package/dist/namespaces/Decorator.js +34 -34
  100. package/dist/namespaces/Dlc.d.ts +5 -5
  101. package/dist/namespaces/Dlc.d.ts.map +1 -1
  102. package/dist/namespaces/Dlc.js +9 -9
  103. package/dist/namespaces/EntityStatics.d.ts +80 -80
  104. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  105. package/dist/namespaces/EntityStatics.js +113 -113
  106. package/dist/namespaces/Event.js +4 -4
  107. package/dist/namespaces/Fire.d.ts +89 -89
  108. package/dist/namespaces/Fire.d.ts.map +1 -1
  109. package/dist/namespaces/Fire.js +115 -115
  110. package/dist/namespaces/Flock.js +2 -2
  111. package/dist/namespaces/Gang.js +2 -2
  112. package/dist/namespaces/GoogleAnalytics.js +2 -2
  113. package/dist/namespaces/Graphics.d.ts +781 -781
  114. package/dist/namespaces/Graphics.d.ts.map +1 -1
  115. package/dist/namespaces/Graphics.js +1207 -1207
  116. package/dist/namespaces/Hud.d.ts +483 -483
  117. package/dist/namespaces/Hud.d.ts.map +1 -1
  118. package/dist/namespaces/Hud.js +678 -678
  119. package/dist/namespaces/Ik.js +1 -1
  120. package/dist/namespaces/Interaction.js +3 -3
  121. package/dist/namespaces/InteriorStatics.d.ts +40 -40
  122. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  123. package/dist/namespaces/InteriorStatics.js +57 -57
  124. package/dist/namespaces/Inventory.d.ts +211 -211
  125. package/dist/namespaces/Inventory.d.ts.map +1 -1
  126. package/dist/namespaces/Inventory.js +291 -291
  127. package/dist/namespaces/Itemdatabase.js +3 -3
  128. package/dist/namespaces/Itemset.js +2 -2
  129. package/dist/namespaces/Law.d.ts +1 -1
  130. package/dist/namespaces/Law.d.ts.map +1 -1
  131. package/dist/namespaces/Law.js +19 -19
  132. package/dist/namespaces/Localization.js +1 -1
  133. package/dist/namespaces/Map.js +3 -3
  134. package/dist/namespaces/Minigame.d.ts +65 -65
  135. package/dist/namespaces/Minigame.d.ts.map +1 -1
  136. package/dist/namespaces/Minigame.js +105 -105
  137. package/dist/namespaces/Misc.d.ts +3 -3
  138. package/dist/namespaces/Misc.d.ts.map +1 -1
  139. package/dist/namespaces/Misc.js +35 -35
  140. package/dist/namespaces/Missiondata.d.ts +15 -15
  141. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  142. package/dist/namespaces/Missiondata.js +24 -24
  143. package/dist/namespaces/Money.js +3 -3
  144. package/dist/namespaces/Netshopping.d.ts +58 -58
  145. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  146. package/dist/namespaces/Netshopping.js +89 -89
  147. package/dist/namespaces/Network.d.ts +1067 -1067
  148. package/dist/namespaces/Network.d.ts.map +1 -1
  149. package/dist/namespaces/Network.js +1586 -1586
  150. package/dist/namespaces/Object.d.ts +231 -231
  151. package/dist/namespaces/Object.d.ts.map +1 -1
  152. package/dist/namespaces/Object.js +337 -337
  153. package/dist/namespaces/Pad.d.ts +42 -42
  154. package/dist/namespaces/Pad.d.ts.map +1 -1
  155. package/dist/namespaces/Pad.js +68 -68
  156. package/dist/namespaces/Pathfind.js +10 -10
  157. package/dist/namespaces/PedStatics.d.ts +2 -2
  158. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  159. package/dist/namespaces/PedStatics.js +10 -10
  160. package/dist/namespaces/Perschar.d.ts +54 -54
  161. package/dist/namespaces/Perschar.d.ts.map +1 -1
  162. package/dist/namespaces/Perschar.js +84 -84
  163. package/dist/namespaces/Physics.d.ts +121 -121
  164. package/dist/namespaces/Physics.d.ts.map +1 -1
  165. package/dist/namespaces/Physics.js +155 -155
  166. package/dist/namespaces/PlayerStatics.d.ts +97 -97
  167. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  168. package/dist/namespaces/PlayerStatics.js +142 -142
  169. package/dist/namespaces/Population.d.ts +11 -11
  170. package/dist/namespaces/Population.d.ts.map +1 -1
  171. package/dist/namespaces/Population.js +15 -15
  172. package/dist/namespaces/Posse.d.ts +33 -33
  173. package/dist/namespaces/Posse.d.ts.map +1 -1
  174. package/dist/namespaces/Posse.js +51 -51
  175. package/dist/namespaces/Propset.d.ts +59 -59
  176. package/dist/namespaces/Propset.d.ts.map +1 -1
  177. package/dist/namespaces/Propset.js +81 -81
  178. package/dist/namespaces/Replay.d.ts +1 -1
  179. package/dist/namespaces/Replay.d.ts.map +1 -1
  180. package/dist/namespaces/Replay.js +2 -2
  181. package/dist/namespaces/Scripts.d.ts +1 -1
  182. package/dist/namespaces/Scripts.d.ts.map +1 -1
  183. package/dist/namespaces/Scripts.js +12 -12
  184. package/dist/namespaces/Shapetest.d.ts +11 -11
  185. package/dist/namespaces/Shapetest.d.ts.map +1 -1
  186. package/dist/namespaces/Shapetest.js +13 -13
  187. package/dist/namespaces/Socialclub.js +8 -8
  188. package/dist/namespaces/Socialclubfeed.js +1 -1
  189. package/dist/namespaces/Spactionproxy.js +4 -4
  190. package/dist/namespaces/Stats.d.ts +191 -191
  191. package/dist/namespaces/Stats.d.ts.map +1 -1
  192. package/dist/namespaces/Stats.js +281 -281
  193. package/dist/namespaces/Streaming.d.ts +84 -84
  194. package/dist/namespaces/Streaming.d.ts.map +1 -1
  195. package/dist/namespaces/Streaming.js +137 -137
  196. package/dist/namespaces/Task.d.ts +347 -347
  197. package/dist/namespaces/Task.d.ts.map +1 -1
  198. package/dist/namespaces/Task.js +488 -488
  199. package/dist/namespaces/Telemetry.d.ts +151 -151
  200. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  201. package/dist/namespaces/Telemetry.js +206 -206
  202. package/dist/namespaces/Txd.js +1 -1
  203. package/dist/namespaces/Uiapps.d.ts +25 -25
  204. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  205. package/dist/namespaces/Uiapps.js +36 -36
  206. package/dist/namespaces/Uievents.js +1 -1
  207. package/dist/namespaces/Uifeed.d.ts +15 -15
  208. package/dist/namespaces/Uifeed.d.ts.map +1 -1
  209. package/dist/namespaces/Uifeed.js +25 -25
  210. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  211. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  212. package/dist/namespaces/Uistickyfeed.js +21 -21
  213. package/dist/namespaces/Unlock.js +5 -5
  214. package/dist/namespaces/VehicleStatics.js +12 -12
  215. package/dist/namespaces/Voice.d.ts +38 -38
  216. package/dist/namespaces/Voice.d.ts.map +1 -1
  217. package/dist/namespaces/Voice.js +61 -61
  218. package/dist/namespaces/VolumeStatics.d.ts +99 -99
  219. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  220. package/dist/namespaces/VolumeStatics.js +137 -137
  221. package/dist/namespaces/WeaponStatics.d.ts +276 -276
  222. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  223. package/dist/namespaces/WeaponStatics.js +371 -371
  224. package/dist/types/NativeAliases.d.ts +3 -1
  225. package/dist/types/NativeAliases.d.ts.map +1 -1
  226. package/dist/types/NativeAliases.js +3 -1
  227. package/package.json +1 -1
  228. package/src/classes/AnimScene.ts +159 -159
  229. package/src/classes/BaseModel.ts +37 -37
  230. package/src/classes/BaseTask.ts +41 -41
  231. package/src/classes/Cam.ts +111 -111
  232. package/src/classes/Entity.ts +422 -411
  233. package/src/classes/Interior.ts +43 -43
  234. package/src/classes/ItemSet.ts +3 -3
  235. package/src/classes/Ped.ts +432 -432
  236. package/src/classes/PedModel.ts +2 -2
  237. package/src/classes/PedTask.ts +957 -957
  238. package/src/classes/PersChar.ts +22 -22
  239. package/src/classes/Pickup.ts +14 -14
  240. package/src/classes/Player.ts +994 -987
  241. package/src/classes/Prop.ts +106 -106
  242. package/src/classes/PropSet.ts +29 -29
  243. package/src/classes/Vehicle.ts +147 -147
  244. package/src/classes/VehicleModel.ts +2 -2
  245. package/src/classes/VehicleTask.ts +31 -31
  246. package/src/classes/Volume.ts +62 -62
  247. package/src/classes/Weapon.ts +511 -511
  248. package/src/namespaces/Aicoverpoint.ts +40 -40
  249. package/src/namespaces/Aitransport.ts +104 -104
  250. package/src/namespaces/Animscene.ts +71 -71
  251. package/src/namespaces/Audio.ts +725 -725
  252. package/src/namespaces/Bounty.ts +102 -102
  253. package/src/namespaces/CamStatics.ts +700 -700
  254. package/src/namespaces/Collection.ts +113 -113
  255. package/src/namespaces/Companion.ts +34 -34
  256. package/src/namespaces/Compapp.ts +1 -1
  257. package/src/namespaces/Compendium.ts +94 -94
  258. package/src/namespaces/Crashlog.ts +23 -23
  259. package/src/namespaces/Crew.ts +4 -4
  260. package/src/namespaces/Databinding.ts +237 -237
  261. package/src/namespaces/Datafile.ts +4 -4
  262. package/src/namespaces/Decorator.ts +37 -37
  263. package/src/namespaces/Dlc.ts +9 -9
  264. package/src/namespaces/EntityStatics.ts +117 -117
  265. package/src/namespaces/Event.ts +4 -4
  266. package/src/namespaces/Fire.ts +127 -127
  267. package/src/namespaces/Flock.ts +2 -2
  268. package/src/namespaces/Gang.ts +2 -2
  269. package/src/namespaces/GoogleAnalytics.ts +2 -2
  270. package/src/namespaces/Graphics.ts +1218 -1218
  271. package/src/namespaces/Hud.ts +696 -696
  272. package/src/namespaces/Ik.ts +1 -1
  273. package/src/namespaces/Interaction.ts +3 -3
  274. package/src/namespaces/InteriorStatics.ts +65 -65
  275. package/src/namespaces/Inventory.ts +294 -294
  276. package/src/namespaces/Itemdatabase.ts +3 -3
  277. package/src/namespaces/Itemset.ts +2 -2
  278. package/src/namespaces/Law.ts +20 -20
  279. package/src/namespaces/Localization.ts +1 -1
  280. package/src/namespaces/Map.ts +3 -3
  281. package/src/namespaces/Minigame.ts +109 -109
  282. package/src/namespaces/Misc.ts +38 -38
  283. package/src/namespaces/Missiondata.ts +28 -28
  284. package/src/namespaces/Money.ts +3 -3
  285. package/src/namespaces/Netshopping.ts +99 -99
  286. package/src/namespaces/Network.ts +1616 -1616
  287. package/src/namespaces/Object.ts +344 -344
  288. package/src/namespaces/Pad.ts +76 -76
  289. package/src/namespaces/Pathfind.ts +10 -10
  290. package/src/namespaces/PedStatics.ts +12 -12
  291. package/src/namespaces/Perschar.ts +86 -86
  292. package/src/namespaces/Physics.ts +171 -171
  293. package/src/namespaces/PlayerStatics.ts +162 -162
  294. package/src/namespaces/Population.ts +17 -17
  295. package/src/namespaces/Posse.ts +54 -54
  296. package/src/namespaces/Propset.ts +92 -92
  297. package/src/namespaces/Replay.ts +3 -3
  298. package/src/namespaces/Scripts.ts +13 -13
  299. package/src/namespaces/Shapetest.ts +14 -14
  300. package/src/namespaces/Socialclub.ts +8 -8
  301. package/src/namespaces/Socialclubfeed.ts +1 -1
  302. package/src/namespaces/Spactionproxy.ts +4 -4
  303. package/src/namespaces/Stats.ts +287 -287
  304. package/src/namespaces/Streaming.ts +159 -159
  305. package/src/namespaces/Task.ts +517 -517
  306. package/src/namespaces/Telemetry.ts +224 -224
  307. package/src/namespaces/Txd.ts +1 -1
  308. package/src/namespaces/Uiapps.ts +43 -43
  309. package/src/namespaces/Uievents.ts +1 -1
  310. package/src/namespaces/Uifeed.ts +28 -28
  311. package/src/namespaces/Uistickyfeed.ts +23 -23
  312. package/src/namespaces/Unlock.ts +5 -5
  313. package/src/namespaces/VehicleStatics.ts +12 -12
  314. package/src/namespaces/Voice.ts +70 -70
  315. package/src/namespaces/VolumeStatics.ts +143 -143
  316. package/src/namespaces/WeaponStatics.ts +383 -383
  317. package/src/types/NativeAliases.ts +6 -1
@@ -27,7 +27,7 @@ export class Entity implements IHandle {
27
27
  /**
28
28
  * @returns
29
29
  */
30
- getIsBird(): any {
30
+ get IsBird(): any {
31
31
  return inv<number>('0xC346A546612C49A9', this.handle);
32
32
  }
33
33
 
@@ -36,7 +36,7 @@ export class Entity implements IHandle {
36
36
  *
37
37
  * @returns
38
38
  */
39
- getForwardVectorYx(): Vector3 {
39
+ get ForwardVectorYx(): Vector3 {
40
40
  return Vector3.fromArray(inv<number[]>('0x935A30AA88FB1014', this.handle, rav()));
41
41
  }
42
42
 
@@ -69,7 +69,7 @@ export class Entity implements IHandle {
69
69
  /**
70
70
  * @param toggle
71
71
  */
72
- setLoadCollisionFlag(toggle: boolean): void {
72
+ set LoadCollisionFlag(toggle: boolean) {
73
73
  inv<void>('0x9B9EE31AED48072E', this.handle, toggle);
74
74
  }
75
75
 
@@ -79,14 +79,14 @@ export class Entity implements IHandle {
79
79
  *
80
80
  * @param type
81
81
  */
82
- setCarcassType(type: string | number): void {
82
+ set CarcassType(type: string | number) {
83
83
  inv<void>('0x399657ED871B3A6C', this.handle, _h(type));
84
84
  }
85
85
 
86
86
  /**
87
87
  * @param toggle
88
88
  */
89
- setHasGravity(toggle: boolean): void {
89
+ set HasGravity(toggle: boolean) {
90
90
  inv<void>('0x0CEDB728A1083FA7', this.handle, toggle);
91
91
  }
92
92
 
@@ -105,27 +105,27 @@ export class Entity implements IHandle {
105
105
  * @returns
106
106
  */
107
107
  hasBeenDamagedByEntity(entity2: Entity, p2: boolean, p3: boolean): boolean {
108
- return inv<boolean>('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
108
+ return !!inv<boolean>('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
109
109
  }
110
110
 
111
111
  /**
112
112
  * @returns
113
113
  */
114
- isFullyLooted(): any {
114
+ get IsFullyLooted(): any {
115
115
  return inv<number>('0x8DE41E9902E85756', this.handle);
116
116
  }
117
117
 
118
118
  /**
119
119
  * @returns
120
120
  */
121
- isOccluded(): boolean {
122
- return inv<boolean>('0x140188E884645624', this.handle, rai());
121
+ get IsOccluded(): boolean {
122
+ return !!inv<boolean>('0x140188E884645624', this.handle, rai());
123
123
  }
124
124
 
125
125
  /**
126
126
  * @param toggle
127
127
  */
128
- setCanBeDamaged(toggle: boolean): void {
128
+ set CanBeDamaged(toggle: boolean) {
129
129
  inv<void>('0x0D06D522B90E861F', this.handle, toggle);
130
130
  }
131
131
 
@@ -147,8 +147,8 @@ export class Entity implements IHandle {
147
147
  /**
148
148
  * @returns
149
149
  */
150
- isDead(): boolean {
151
- return inv<boolean>('0x7D5B1F88E7504BBA', this.handle, rai());
150
+ get IsDead(): boolean {
151
+ return !!inv<boolean>('0x7D5B1F88E7504BBA', this.handle, rai());
152
152
  }
153
153
 
154
154
  /**
@@ -160,7 +160,7 @@ export class Entity implements IHandle {
160
160
  * @returns
161
161
  */
162
162
  isInArea(pos1: Vector3, pos2: Vector3, p7: boolean, p8: boolean, p9: any): boolean {
163
- return inv<boolean>('0x0C2634C40A16193E', this.handle, f(pos1.x), f(pos1.y), f(pos1.z), f(pos2.x), f(pos2.y), f(pos2.z), p7, p8, p9, rai());
163
+ return !!inv<boolean>('0x0C2634C40A16193E', this.handle, f(pos1.x), f(pos1.y), f(pos1.z), f(pos2.x), f(pos2.y), f(pos2.z), p7, p8, p9, rai());
164
164
  }
165
165
 
166
166
  /**
@@ -188,7 +188,7 @@ export class Entity implements IHandle {
188
188
  * @returns
189
189
  */
190
190
  playAnim(animName: string | null, animDict: string | null, p3: number, loop: boolean, stayInAnim: boolean, p6: boolean, delta: number, bitset: any): boolean {
191
- return inv<boolean>('0xDC6D22FAB76D4874', this.handle, animName, animDict, f(p3), loop, stayInAnim, p6, f(delta), bitset, rai());
191
+ return !!inv<boolean>('0xDC6D22FAB76D4874', this.handle, animName, animDict, f(p3), loop, stayInAnim, p6, f(delta), bitset, rai());
192
192
  }
193
193
 
194
194
  /**
@@ -196,7 +196,7 @@ export class Entity implements IHandle {
196
196
  *
197
197
  * @returns lootTable
198
198
  */
199
- getScriptOverrideLootTablePermanent(): [any, number] {
199
+ get ScriptOverrideLootTablePermanent(): [any, number] {
200
200
  const result = inv<[number, number]>('0x1E804EA9B12030A4', this.handle, pvi());
201
201
  return [result[0], result[1]];
202
202
  }
@@ -208,7 +208,7 @@ export class Entity implements IHandle {
208
208
  * @returns
209
209
  */
210
210
  hasAnimFinished(animDict: string | null, animName: string | null, p3: number): boolean {
211
- return inv<boolean>('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
211
+ return !!inv<boolean>('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
212
212
  }
213
213
 
214
214
  /**
@@ -222,7 +222,7 @@ export class Entity implements IHandle {
222
222
  /**
223
223
  * @returns
224
224
  */
225
- getUprightValue(): number {
225
+ get UprightValue(): number {
226
226
  return inv<number>('0x56398BE65160C3BE', this.handle, raf());
227
227
  }
228
228
 
@@ -242,7 +242,7 @@ export class Entity implements IHandle {
242
242
  *
243
243
  * @returns
244
244
  */
245
- getCarryConfig(): number {
245
+ get CarryConfig(): number {
246
246
  return (inv<number>('0x0FD25587BB306C86', this.handle, rai())) & 0xFFFFFFFF;
247
247
  }
248
248
 
@@ -261,7 +261,7 @@ export class Entity implements IHandle {
261
261
  *
262
262
  * @returns
263
263
  */
264
- getHeading(): number {
264
+ get Heading(): number {
265
265
  return inv<number>('0xC230DD956E2F5507', this.handle, raf());
266
266
  }
267
267
 
@@ -270,7 +270,7 @@ export class Entity implements IHandle {
270
270
  *
271
271
  * @returns
272
272
  */
273
- getLodDist(): number {
273
+ get LodDist(): number {
274
274
  return inv<number>('0xDF240D0C2A948683', this.handle, rai());
275
275
  }
276
276
 
@@ -278,21 +278,21 @@ export class Entity implements IHandle {
278
278
  * @returns
279
279
  */
280
280
  doesHaveDrawable(): boolean {
281
- return inv<boolean>('0x20487F0DA9AF164A', this.handle, rai());
281
+ return !!inv<boolean>('0x20487F0DA9AF164A', this.handle, rai());
282
282
  }
283
283
 
284
284
  /**
285
285
  * @param xyzw
286
286
  */
287
- setQuaternion(xyzw: Vector4): void {
287
+ set Quaternion(xyzw: Vector4) {
288
288
  inv<void>('0x100E7007D13E3687', this.handle, f(xyzw.x), f(xyzw.y), f(xyzw.z), f(xyzw.w));
289
289
  }
290
290
 
291
291
  /**
292
292
  * @returns
293
293
  */
294
- isAttachedToAnyObject(): boolean {
295
- return inv<boolean>('0x306C1F6178F01AB3', this.handle, rai());
294
+ get IsAttachedToAnyObject(): boolean {
295
+ return !!inv<boolean>('0x306C1F6178F01AB3', this.handle, rai());
296
296
  }
297
297
 
298
298
  /**
@@ -300,7 +300,7 @@ export class Entity implements IHandle {
300
300
  *
301
301
  * @param toggle
302
302
  */
303
- setInvincible(toggle: boolean): void {
303
+ set Invincible(toggle: boolean) {
304
304
  inv<void>('0xA5C38736C426FCB8', this.handle, toggle);
305
305
  }
306
306
 
@@ -332,7 +332,7 @@ export class Entity implements IHandle {
332
332
  /**
333
333
  * @returns
334
334
  */
335
- getIsAnimal(): any {
335
+ get IsAnimal(): any {
336
336
  return inv<number>('0x9A100F1CF4546629', this.handle);
337
337
  }
338
338
 
@@ -356,7 +356,7 @@ export class Entity implements IHandle {
356
356
  *
357
357
  * @returns
358
358
  */
359
- getCanBeDamaged(): any {
359
+ get CanBeDamaged(): any {
360
360
  return inv<number>('0x75DF9E73F2F005FD', this.handle);
361
361
  }
362
362
 
@@ -382,7 +382,7 @@ export class Entity implements IHandle {
382
382
  *
383
383
  * @returns
384
384
  */
385
- getForwardVector(): Vector3 {
385
+ get ForwardVector(): Vector3 {
386
386
  return Vector3.fromArray(inv<number[]>('0x2412D9C05BB09B97', this.handle, rav()));
387
387
  }
388
388
 
@@ -391,7 +391,7 @@ export class Entity implements IHandle {
391
391
  * @returns
392
392
  */
393
393
  isTouchingModel(modelHash: string | number): boolean {
394
- return inv<boolean>('0x2AE3EBC8DEB9768B', this.handle, _h(modelHash), rai());
394
+ return !!inv<boolean>('0x2AE3EBC8DEB9768B', this.handle, _h(modelHash), rai());
395
395
  }
396
396
 
397
397
  /**
@@ -407,22 +407,22 @@ export class Entity implements IHandle {
407
407
  /**
408
408
  * @param toggle
409
409
  */
410
- setRenderScorched(toggle: boolean): void {
410
+ set RenderScorched(toggle: boolean) {
411
411
  inv<void>('0x85B8A7534E44BC23', this.handle, toggle);
412
412
  }
413
413
 
414
414
  /**
415
415
  * @param heading
416
416
  */
417
- setHeading(heading: number): void {
417
+ set Heading(heading: number) {
418
418
  inv<void>('0xCF2B9C0645C4651B', this.handle, f(heading));
419
419
  }
420
420
 
421
421
  /**
422
422
  * @returns
423
423
  */
424
- getCollisionDisabled(): boolean {
425
- return inv<boolean>('0xAA2FADD30F45A9DA', this.handle, rai());
424
+ get CollisionDisabled(): boolean {
425
+ return !!inv<boolean>('0xAA2FADD30F45A9DA', this.handle, rai());
426
426
  }
427
427
 
428
428
  /**
@@ -431,297 +431,297 @@ export class Entity implements IHandle {
431
431
  *
432
432
  * @returns
433
433
  */
434
- getRoll(): number {
434
+ get Roll(): number {
435
435
  return inv<number>('0xBF966536FA8B6879', this.handle, raf());
436
436
  }
437
437
 
438
438
  /**
439
439
  * @returns
440
440
  */
441
- getNearestParticipantToEntity(): Player | null {
441
+ get NearestParticipantToEntity(): Player | null {
442
442
  return createFromHandle<Player>('Player', inv<number>('0x6888A43C35A5F630', this.handle, rai()));
443
443
  }
444
444
 
445
445
  /**
446
- * @param p1
447
- */
448
- N_0xA48E4801DEBDF7E4(p1: boolean): void {
449
- inv<void>('0xA48E4801DEBDF7E4', this.handle, p1);
450
- }
451
-
452
- /**
453
- * @param toggle
454
- * @param keepPhysics
455
- */
456
- setCompletelyDisableCollision(toggle: boolean, keepPhysics: boolean): void {
457
- inv<void>('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
458
- }
459
-
460
- /**
461
- * @param p1
446
+ * Returns entityType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityType
447
+ *
448
+ * @returns
462
449
  */
463
- N_0xCDB682BB47C02F0A(p1: string | number): void {
464
- inv<void>('0xCDB682BB47C02F0A', this.handle, _h(p1));
450
+ get Type(): number {
451
+ return inv<number>('0x97F696ACA466B4E0', this.handle, rai());
465
452
  }
466
453
 
467
454
  /**
468
- * @param volume
469
- * @param p2
470
- * @param p3
471
455
  * @returns
472
456
  */
473
- isInVolume(volume: number, p2: boolean, p3: number): boolean {
474
- return inv<boolean>('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
457
+ get IsOwnedByPersistenceSystem(): any {
458
+ return inv<number>('0xA7E51B53309EAC97', this.handle);
475
459
  }
476
460
 
477
461
  /**
478
- * @returns rightVector; forwardVector; upVector; position
462
+ * @param animDict
463
+ * @param animName
464
+ * @param animType
465
+ * @returns
479
466
  */
480
- getMatrix(): [Vector3, Vector3, Vector3, Vector3] {
481
- const result = inv<[number[], number[], number[], number[]]>('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
482
- return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
467
+ isPlayingAnim(animDict: string | null, animName: string | null, animType: number): boolean {
468
+ return !!inv<boolean>('0xDEE49D5CA6C49148', this.handle, animDict, animName, animType, rai());
483
469
  }
484
470
 
485
471
  /**
486
- * Called if entity is in water and submerged level is larger than 1f. If CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION is true, it gets disabled as well.
472
+ * Marks the specified entity (ped, vehicle or object) as no longer needed, allowing the game engine to delete it whenever it sees fit.
487
473
  */
488
- N_0x371D179701D9C082(): void {
489
- inv<void>('0x371D179701D9C082', this.handle);
474
+ setAsNoLongerNeeded(): void {
475
+ inv<void>('0x4971D2F8162B9674', this.handle);
490
476
  }
491
477
 
492
478
  /**
493
- * @param p1
494
479
  * @returns
495
480
  */
496
- getMaxHealth(p1: boolean): number {
497
- return inv<number>('0x15D757606D170C3C', this.handle, p1, rai());
481
+ hasBeenDamagedByAnyVehicle(): boolean {
482
+ return !!inv<boolean>('0x695D7C26DE65C423', this.handle, rai());
498
483
  }
499
484
 
500
485
  /**
501
486
  * @param animDict
502
487
  * @param animName
503
- * @param time
504
- */
505
- setAnimCurrentTime(animDict: string | null, animName: string | null, time: number): void {
506
- inv<void>('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
507
- }
508
-
509
- /**
510
- * Gets the current coordinates for a specified entity.
511
- * `entity` = The entity to get the coordinates from.
512
- * `alive` = Unused by the game, potentially used by debug builds in order to assert whether or not an entity was alive. If entity is a ped and it's in a vehicle or on a mount the coords of that entity are returned. Set 'realCoords' to true when you need the true ped coords.
513
- *
514
- * @param alive
515
- * @param realCoords
516
- * @returns
488
+ * @param speedMultiplier
517
489
  */
518
- getCoords(alive?: boolean, realCoords?: boolean): Vector3 {
519
- return Vector3.fromArray(inv<number[]>('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
490
+ setAnimSpeed(animDict: string | null, animName: string | null, speedMultiplier: number): void {
491
+ inv<void>('0xEAA885BA3CEA4E4A', this.handle, animDict, animName, f(speedMultiplier));
520
492
  }
521
493
 
522
- /**
523
- * @returns
524
- */
525
- isAnObject(): boolean {
526
- return inv<boolean>('0x0A27A546A375FDEF', this.handle, rai());
494
+ unpinMapEntity(): void {
495
+ inv<void>('0xD2B9C78537ED5759', this.handle);
527
496
  }
528
497
 
529
498
  /**
499
+ * Get how much of the entity is submerged. 1.0f is whole entity.
500
+ *
530
501
  * @returns
531
502
  */
532
- isUpsidedown(): boolean {
533
- return inv<boolean>('0x109DE3DA41AAD94A', this.handle, rai());
503
+ get SubmergedLevel(): number {
504
+ return inv<number>('0x4A77C3F73FD9E831', this.handle, raf());
534
505
  }
535
506
 
536
507
  /**
537
- * @param p1
538
508
  * @returns
539
509
  */
540
- doesBelongToThisScript(p1: boolean): boolean {
541
- return inv<boolean>('0x622B1980CBE13332', this.handle, p1, rai());
510
+ get IsAttached(): boolean {
511
+ return !!inv<boolean>('0xEE6AD63ABF59C0B7', this.handle, rai());
542
512
  }
543
513
 
544
514
  /**
545
- * Returns a hash of an entity's name. (Alternative Name: _GET_ENTITY_PROMPT_NAME_HASH)
515
+ * SET_ENTITY_A*
546
516
  *
547
- * @returns
517
+ * @param p1
548
518
  */
549
- getCarriableFromEntity(): number {
550
- return (inv<number>('0x31FEF6A20F00B963', this.handle, rai())) & 0xFFFFFFFF;
519
+ N_0xC0EDEF16D90661EE(p1: number): void {
520
+ inv<void>('0xC0EDEF16D90661EE', this.handle, f(p1));
551
521
  }
552
522
 
553
523
  /**
554
- * @param toggle
555
- * @param keepPhysics
524
+ * @param looted
556
525
  */
557
- setCollision(toggle: boolean, keepPhysics: boolean): void {
558
- inv<void>('0xF66F820909453B8C', this.handle, toggle, keepPhysics);
526
+ set FullyLooted(looted: boolean) {
527
+ inv<void>('0x6BCF5F3D8FFE988D', this.handle, looted);
559
528
  }
560
529
 
561
530
  /**
562
- * @param p1
563
531
  * @returns
564
532
  */
565
- placeOnGroundProperly(p1: boolean): any {
566
- return inv<number>('0x9587913B9E772D29', this.handle, p1);
533
+ get IsAttachedToAnyVehicle(): boolean {
534
+ return !!inv<boolean>('0x12DF6E0D2E736749', this.handle, rai());
567
535
  }
568
536
 
569
537
  /**
538
+ * Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
539
+ *
540
+ * @param entity2
541
+ * @param p2
542
+ * @param p3
570
543
  * @returns
571
544
  */
572
- isInWater(): boolean {
573
- return inv<boolean>('0xDDE5C125AC446723', this.handle, rai());
545
+ N_0x3EC28DA1FFAC9DDD(entity2: Entity, p2: any, p3: any): boolean {
546
+ return !!inv<boolean>('0x3EC28DA1FFAC9DDD', this.handle, entity2.handle, p2, p3, rai());
574
547
  }
575
548
 
576
549
  /**
577
- * @returns Returns `true` if the entity exists
550
+ * Must be called from a background script, otherwise it will do nothing.
578
551
  */
579
- doesExist(): boolean {
580
- return inv<boolean>('0xD42BD6EB2E0F1677', this.handle, rai());
552
+ delete2(): void {
553
+ inv<void>('0x5E94EA09E7207C16', this.handle);
581
554
  }
582
555
 
583
556
  /**
557
+ * @param p1
584
558
  * @returns
585
559
  */
586
- getAlpha(): number {
587
- return inv<number>('0x1BB501624FAF2BEA', this.handle, rai());
560
+ isInAir(p1: any): boolean {
561
+ return !!inv<boolean>('0x886E37EC497200B6', this.handle, p1, rai());
588
562
  }
589
563
 
590
564
  /**
591
- * This native only works on `Ped` and `Object` entity types
592
- *
593
- * @param flagId Refer to [enum: eCarryingFlags]
594
565
  * @returns
595
566
  */
596
- getCarryingFlag(flagId: eCarryingFlags): number {
597
- return inv<number>('0x808077647856DE62', this.handle, flagId, rai());
567
+ get IsAMissionEntity(): boolean {
568
+ return !!inv<boolean>('0x138190F64DB4BBD1', this.handle, rai());
598
569
  }
599
570
 
600
571
  /**
601
- * @param p1
572
+ * @returns
602
573
  */
603
- forceAiAndAnimationUpdate(p1: boolean): void {
604
- inv<void>('0x4C9E96473D4F1A88', this.handle, p1);
574
+ get IsAttachedToAnyPed(): boolean {
575
+ return !!inv<boolean>('0xC841153DED2CA89A', this.handle, rai());
605
576
  }
606
577
 
607
578
  /**
608
- * Axis - Invert Axis Flags
609
- *
610
- * @param pos
611
- * @param xAxis
612
- * @param yAxis
613
- * @param zAxis
579
+ * @param to
580
+ * @returns
614
581
  */
615
- setCoordsNoOffset(pos: Vector3, xAxis: boolean, yAxis: boolean, zAxis: boolean): void {
616
- inv<void>('0x239A3351AC1DA385', this.handle, f(pos.x), f(pos.y), f(pos.z), xAxis, yAxis, zAxis);
582
+ isAttachedToEntity(to: Entity): boolean {
583
+ return !!inv<boolean>('0x154A3C529497053E', this.handle, to.handle, rai());
617
584
  }
618
585
 
619
586
  /**
620
- * Returns (CUR_HEALTH / MAX_HEALTH)
621
- *
622
587
  * @returns
623
588
  */
624
- getHealthFloat(): number {
625
- return inv<number>('0x96C638784DB4C815', this.handle, raf());
589
+ hasBeenDamagedByAnyObject(): boolean {
590
+ return !!inv<boolean>('0x73BB763880CD23A6', this.handle, rai());
626
591
  }
627
592
 
628
593
  /**
629
- * LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t).
630
- *
631
- * @param value
594
+ * @param rotationOrder
595
+ * @returns
632
596
  */
633
- setLodDist(value: number): void {
634
- inv<void>('0x5FB407F0A7C877BF', this.handle, value);
597
+ getRotation(rotationOrder: number): Vector3 {
598
+ return Vector3.fromArray(inv<number[]>('0xE09CAF86C32CB48F', this.handle, rotationOrder, rav()));
635
599
  }
636
600
 
637
601
  /**
638
602
  * @param toggle
639
603
  */
640
- setDynamic(toggle: boolean): void {
641
- inv<void>('0xFBFC4473F66CE344', this.handle, toggle);
604
+ set MotionBlur(toggle: boolean) {
605
+ inv<void>('0x516C6ABD18322B63', this.handle, toggle);
606
+ }
607
+
608
+ resetAlpha(): void {
609
+ inv<void>('0x744B9EF44779D9AB', this.handle);
642
610
  }
643
611
 
644
612
  /**
645
- * @param radius
613
+ * Checks if entity is within x/y/zSize distance of x/y/z. Last three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0
614
+ *
615
+ * @param pos
616
+ * @param xSize
617
+ * @param ySize
618
+ * @param zSize
619
+ * @param p7
620
+ * @param p8
621
+ * @param p9
622
+ * @returns
646
623
  */
647
- setCustomPickupRadius(radius: number): void {
648
- inv<void>('0x482D17E45665DA44', this.handle, f(radius));
624
+ isAtCoord(pos: Vector3, xSize: number, ySize: number, zSize: number, p7: boolean, p8: boolean, p9: number): boolean {
625
+ return !!inv<boolean>('0x5E58342602E94718', this.handle, f(pos.x), f(pos.y), f(pos.z), f(xSize), f(ySize), f(zSize), p7, p8, p9, rai());
649
626
  }
650
627
 
651
628
  /**
652
- * @returns
629
+ * @param entity2
630
+ * @param p2
631
+ * @param boneIndex
632
+ * @param offset
633
+ * @param p7
634
+ * @param p8
635
+ * @param p9
636
+ * @param p10
637
+ * @param p11
638
+ * @param p12
639
+ * @param p13
640
+ * @param p14
641
+ * @param p15
642
+ * @param p16
643
+ * @param p17
644
+ * @param p18
645
+ * @param p19
646
+ * @param p20
647
+ * @param p21
653
648
  */
654
- getPopulationType(): number {
655
- return inv<number>('0xADE28862B6D7B85B', this.handle, rai());
649
+ attachToEntityPhysically(entity2: Entity, p2: number, boneIndex: number, offset: Vector3, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number, p13: number, p14: boolean, p15: boolean, p16: boolean, p17: boolean, p18: number, p19: boolean, p20: number, p21: number): void {
650
+ inv<void>('0xB629A43CA1643481', this.handle, entity2.handle, p2, boneIndex, f(offset.x), f(offset.y), f(offset.z), f(p7), f(p8), f(p9), f(p10), f(p11), f(p12), f(p13), p14, p15, p16, p17, p18, p19, f(p20), f(p21));
656
651
  }
657
652
 
658
653
  /**
659
654
  * @returns
660
655
  */
661
- isAVehicle(): boolean {
662
- return inv<boolean>('0xC3D96AF45FCCEC4C', this.handle, rai());
656
+ get HeightAboveGround(): number {
657
+ return inv<number>('0x0D3B5BAEA08F63E9', this.handle, raf());
663
658
  }
664
659
 
665
660
  /**
666
661
  * @param pos
667
- * @param atTop
668
- * @param inWorldCoords
669
- * @returns
662
+ * @param heading
663
+ * @param p5
664
+ * @param p6
670
665
  */
671
- getHeight(pos: Vector3, atTop: boolean, inWorldCoords: boolean): number {
672
- return inv<number>('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
666
+ setCoordsAndHeadingNoOffset(pos: Vector3, heading: number, p5: boolean, p6: boolean): void {
667
+ inv<void>('0x0918E3565C20F03C', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), p5, p6);
673
668
  }
674
669
 
675
670
  /**
676
- * @param pos
671
+ * Creates a spherical cone at origin that extends to surface with the angle specified. Then returns true if the entity is inside the spherical cone Angle is measured in degrees.
672
+ *
673
+ * @param originX
674
+ * @param originY
675
+ * @param originZ
676
+ * @param edgeX
677
+ * @param edgeY
678
+ * @param edgeZ
679
+ * @param angle
680
+ * @param p8
681
+ * @param p9
682
+ * @param p10
677
683
  * @returns
678
684
  */
679
- getOffsetFromGivenWorldCoords(pos: Vector3): Vector3 {
680
- return Vector3.fromArray(inv<number[]>('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
685
+ isInAngledArea(originX: number, originY: number, originZ: number, edgeX: number, edgeY: number, edgeZ: number, angle: number, p8: boolean, p9: boolean, p10: any): boolean {
686
+ return !!inv<boolean>('0xD3151E53134595E5', this.handle, f(originX), f(originY), f(originZ), f(edgeX), f(edgeY), f(edgeZ), f(angle), p8, p9, p10, rai());
681
687
  }
682
688
 
683
- addTrackingTrails(): void {
684
- inv<void>('0x1AD922AB5038DEF3', this.handle);
689
+ clearLastDamageEntity(): void {
690
+ inv<void>('0xBB19AC7D4DCEFD0F', this.handle);
685
691
  }
686
692
 
687
693
  /**
688
694
  * @param toggle
689
695
  */
690
- setCanClimbOnEntity(toggle: boolean): void {
691
- inv<void>('0x24AED2A608F93C4C', this.handle, toggle);
696
+ set AlwaysPrerender(toggle: boolean) {
697
+ inv<void>('0xACAD101E1FB66689', this.handle, toggle);
692
698
  }
693
699
 
694
700
  /**
695
- * @returns minimum; maximum
701
+ * Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
702
+ *
703
+ * @param pos
696
704
  */
697
- getWorldPositionOfDimensions(): [Vector3, Vector3] {
698
- const result = inv<[number[], number[]]>('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
699
- return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
705
+ set Velocity(pos: Vector3) {
706
+ inv<void>('0x1C99BB7B6E96D16F', this.handle, f(pos.x), f(pos.y), f(pos.z));
700
707
  }
701
708
 
702
709
  /**
710
+ * SET_ENTITY_LO*
711
+ *
703
712
  * @param p1
704
- * @returns
705
- */
706
- isUnderwater(p1: boolean): any {
707
- return inv<number>('0xD4E5C1E93C466127', this.handle, p1);
708
- }
709
-
710
- /**
711
- * @param animation
712
- * @param animGroup
713
+ * @param p2
713
714
  * @param p3
714
- * @returns
715
715
  */
716
- stopAnim(animation: string | null, animGroup: string | null, p3: number): any {
717
- return inv<number>('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
716
+ N_0xAF7F3099B9FEB535(p1: number, p2: number, p3: number): void {
717
+ inv<void>('0xAF7F3099B9FEB535', this.handle, f(p1), f(p2), f(p3));
718
718
  }
719
719
 
720
720
  /**
721
721
  * @returns
722
722
  */
723
- hasCollidedWithAnything(): boolean {
724
- return inv<boolean>('0xDF18751EC74F90FF', this.handle, rai());
723
+ N_0xAF72EC7E1B54539B(): Entity | null {
724
+ return createFromHandle<Entity>('Entity', inv<number>('0xAF72EC7E1B54539B', this.handle, rai()));
725
725
  }
726
726
 
727
727
  /**
@@ -729,47 +729,34 @@ export class Entity implements IHandle {
729
729
  *
730
730
  * @returns
731
731
  */
732
- getVehicleIndexFromIndex(): Vehicle | null {
733
- return createFromHandle<Vehicle>('Vehicle', inv<number>('0xDF1E5AAC561AFC59', this.handle, rai()));
734
- }
735
-
736
- /**
737
- * @returns
738
- */
739
- isVisible(): boolean {
740
- return inv<boolean>('0xFFC96ECB7FA404CA', this.handle, rai());
732
+ get ObjectIndexFromIndex(): Prop | null {
733
+ return createFromHandle<Prop>('Prop', inv<number>('0x280BBE5601EAA983', this.handle, rai()));
741
734
  }
742
735
 
743
736
  /**
744
- * SET_ENTITY_LO*
737
+ * Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.
745
738
  *
746
- * @param toggle
739
+ * @param entity2
740
+ * @param traceType
741
+ * @returns
747
742
  */
748
- N_0xFF9965C47FA404DA(toggle: boolean): void {
749
- inv<void>('0xFF9965C47FA404DA', this.handle, toggle);
743
+ hasClearLosToEntityInFront(entity2: Entity, traceType: number): boolean {
744
+ return !!inv<boolean>('0xE88F19660651D566', this.handle, entity2.handle, traceType, rai());
750
745
  }
751
746
 
752
747
  /**
753
- * Valid indices: 0 - 3
754
- * Index 1 always returns a `hogtied` config, doesn't matter the entity.
755
- * It's for humans only and the ped must be resurrected first if it's dead.
756
- *
757
- * @param index
758
748
  * @returns
759
749
  */
760
- getOptimalCarryConfig(index: number): number {
761
- return (inv<number>('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
762
- }
763
-
764
- setFadeIn(): void {
765
- inv<void>('0xA91E6CF94404E8C9', this.handle);
750
+ get IsOnTrainTrack(): any {
751
+ return inv<number>('0x857ACB0AB4BD0D55', this.handle);
766
752
  }
767
753
 
768
754
  /**
755
+ * @param angle
769
756
  * @returns
770
757
  */
771
- hasBeenDamagedByAnyPed(): boolean {
772
- return inv<boolean>('0x9934E9C42D52D87E', this.handle, rai());
758
+ isUpright(angle: number): boolean {
759
+ return !!inv<boolean>('0xF6F6AFD8D4FB2658', this.handle, f(angle), rai());
773
760
  }
774
761
 
775
762
  /**
@@ -777,7 +764,7 @@ export class Entity implements IHandle {
777
764
  * @returns
778
765
  */
779
766
  isTouchingEntity(targetEntity: Entity): boolean {
780
- return inv<boolean>('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
767
+ return !!inv<boolean>('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
781
768
  }
782
769
 
783
770
  deleteCarriable(): void {
@@ -808,21 +795,21 @@ export class Entity implements IHandle {
808
795
  *
809
796
  * @returns
810
797
  */
811
- getSpeed(): number {
798
+ get Speed(): number {
812
799
  return inv<number>('0xFB6BA510A533DF81', this.handle, raf());
813
800
  }
814
801
 
815
802
  /**
816
803
  * @param bOnlyDamagedWhenRunningScript
817
804
  */
818
- setCanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript: boolean): void {
805
+ set CanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript: boolean) {
819
806
  inv<void>('0xFF83AF534156B399', this.handle, bOnlyDamagedWhenRunningScript);
820
807
  }
821
808
 
822
809
  /**
823
810
  * @returns
824
811
  */
825
- isTrackedVisible(): any {
812
+ get IsTrackedVisible(): any {
826
813
  return inv<number>('0xC8CCDB712FBCBA92', this.handle);
827
814
  }
828
815
 
@@ -837,8 +824,8 @@ export class Entity implements IHandle {
837
824
  /**
838
825
  * @returns
839
826
  */
840
- isVisibleToScript(): boolean {
841
- return inv<boolean>('0xF213C724E77F321A', this.handle, rai());
827
+ get IsVisibleToScript(): boolean {
828
+ return !!inv<boolean>('0xF213C724E77F321A', this.handle, rai());
842
829
  }
843
830
 
844
831
  /**
@@ -847,7 +834,7 @@ export class Entity implements IHandle {
847
834
  * @returns
848
835
  */
849
836
  hasClearLosToEntity(entity2: Entity, traceType: number): boolean {
850
- return inv<boolean>('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
837
+ return !!inv<boolean>('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
851
838
  }
852
839
 
853
840
  /**
@@ -876,7 +863,7 @@ export class Entity implements IHandle {
876
863
  *
877
864
  * @returns
878
865
  */
879
- getForwardY(): number {
866
+ get ForwardY(): number {
880
867
  return inv<number>('0x9A5C073ECBDA7EE7', this.handle, raf());
881
868
  }
882
869
 
@@ -914,13 +901,13 @@ export class Entity implements IHandle {
914
901
  * @returns
915
902
  */
916
903
  hasCollisionLoadedAroundEntity(): boolean {
917
- return inv<boolean>('0xBEB1600952B9CF5C', this.handle, rai());
904
+ return !!inv<boolean>('0xBEB1600952B9CF5C', this.handle, rai());
918
905
  }
919
906
 
920
907
  /**
921
908
  * @returns
922
909
  */
923
- getIsCarriablePelt(): any {
910
+ get IsCarriablePelt(): any {
924
911
  return inv<number>('0x255B6DB4E3AD3C3E', this.handle);
925
912
  }
926
913
 
@@ -935,7 +922,7 @@ export class Entity implements IHandle {
935
922
  /**
936
923
  * @param toggle
937
924
  */
938
- setCanAutoVaultOnEntity(toggle: boolean): void {
925
+ set CanAutoVaultOnEntity(toggle: boolean) {
939
926
  inv<void>('0x80646744FA88F9D7', this.handle, toggle);
940
927
  }
941
928
 
@@ -953,7 +940,7 @@ export class Entity implements IHandle {
953
940
  /**
954
941
  * @returns argStruct
955
942
  */
956
- getScript(): [number, number] {
943
+ get Script(): [number, number] {
957
944
  const result = inv<[number, number]>('0x2A08A32B6D49906F', this.handle, pvi(), rai());
958
945
  return [result[0] & 0xFFFFFFFF, result[1]];
959
946
  }
@@ -963,7 +950,7 @@ export class Entity implements IHandle {
963
950
  * @returns
964
951
  */
965
952
  hasAnimEventFired(actionHash: string | number): boolean {
966
- return inv<boolean>('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
953
+ return !!inv<boolean>('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
967
954
  }
968
955
 
969
956
  /**
@@ -978,7 +965,7 @@ export class Entity implements IHandle {
978
965
  *
979
966
  * @returns
980
967
  */
981
- isFrozen(): any {
968
+ get IsFrozen(): any {
982
969
  return inv<number>('0x083D497D57B7400F', this.handle);
983
970
  }
984
971
 
@@ -987,15 +974,15 @@ export class Entity implements IHandle {
987
974
  *
988
975
  * @returns
989
976
  */
990
- getLootingPed(): Ped | null {
977
+ get LootingPed(): Ped | null {
991
978
  return createFromHandle<Ped>('Ped', inv<number>('0xEF2D9ED7CE684F08', this.handle, rai()));
992
979
  }
993
980
 
994
981
  /**
995
982
  * @returns
996
983
  */
997
- isWaitingForWorldCollision(): boolean {
998
- return inv<boolean>('0x5E1CC2E8DC3111DD', this.handle, rai());
984
+ get IsWaitingForWorldCollision(): boolean {
985
+ return !!inv<boolean>('0x5E1CC2E8DC3111DD', this.handle, rai());
999
986
  }
1000
987
 
1001
988
  /**
@@ -1003,29 +990,29 @@ export class Entity implements IHandle {
1003
990
  *
1004
991
  * @returns
1005
992
  */
1006
- getForwardX(): number {
993
+ get ForwardX(): number {
1007
994
  return inv<number>('0xDB0954E9960F6457', this.handle, raf());
1008
995
  }
1009
996
 
1010
997
  /**
1011
998
  * @returns
1012
999
  */
1013
- isAPed(): boolean {
1014
- return inv<boolean>('0xCF8176912DDA4EA5', this.handle, rai());
1000
+ get IsAPed(): boolean {
1001
+ return !!inv<boolean>('0xCF8176912DDA4EA5', this.handle, rai());
1015
1002
  }
1016
1003
 
1017
1004
  /**
1018
1005
  * @returns
1019
1006
  */
1020
- getPitch(): number {
1007
+ get Pitch(): number {
1021
1008
  return inv<number>('0xEF355ABEFF7F5005', this.handle, raf());
1022
1009
  }
1023
1010
 
1024
1011
  /**
1025
1012
  * @returns
1026
1013
  */
1027
- isStatic(): boolean {
1028
- return inv<boolean>('0x86468ADFA0F6B861', this.handle, rai());
1014
+ get IsStatic(): boolean {
1015
+ return !!inv<boolean>('0x86468ADFA0F6B861', this.handle, rai());
1029
1016
  }
1030
1017
 
1031
1018
  /**
@@ -1033,7 +1020,7 @@ export class Entity implements IHandle {
1033
1020
  *
1034
1021
  * @returns
1035
1022
  */
1036
- getModel(): number {
1023
+ get Model(): number {
1037
1024
  return (inv<number>('0xDA76A9F39210D365', this.handle, rai())) & 0xFFFFFFFF;
1038
1025
  }
1039
1026
 
@@ -1067,7 +1054,7 @@ export class Entity implements IHandle {
1067
1054
  /**
1068
1055
  * @param toggle
1069
1056
  */
1070
- setRequiresMoreExpensiveRiverCheck(toggle: boolean): void {
1057
+ set RequiresMoreExpensiveRiverCheck(toggle: boolean) {
1071
1058
  inv<void>('0x850C940EE3E7B8B5', this.handle, toggle);
1072
1059
  }
1073
1060
 
@@ -1088,7 +1075,7 @@ export class Entity implements IHandle {
1088
1075
  *
1089
1076
  * @returns
1090
1077
  */
1091
- getPedIndexFromIndex(): Ped | null {
1078
+ get PedIndexFromIndex(): Ped | null {
1092
1079
  return createFromHandle<Ped>('Ped', inv<number>('0x0F16D042BD640EA3', this.handle, rai()));
1093
1080
  }
1094
1081
 
@@ -1097,15 +1084,15 @@ export class Entity implements IHandle {
1097
1084
  *
1098
1085
  * @param toggle
1099
1086
  */
1100
- setCanBeTargetedWithoutLos(toggle: boolean): void {
1087
+ set CanBeTargetedWithoutLos(toggle: boolean) {
1101
1088
  inv<void>('0x6D09F32E284D0FB7', this.handle, toggle);
1102
1089
  }
1103
1090
 
1104
1091
  /**
1105
1092
  * @returns
1106
1093
  */
1107
- isOnScreen(): boolean {
1108
- return inv<boolean>('0x613C15D5D8DB781F', this.handle, rai());
1094
+ get IsOnScreen(): boolean {
1095
+ return !!inv<boolean>('0x613C15D5D8DB781F', this.handle, rai());
1109
1096
  }
1110
1097
 
1111
1098
  /**
@@ -1113,14 +1100,14 @@ export class Entity implements IHandle {
1113
1100
  *
1114
1101
  * @param toggle
1115
1102
  */
1116
- setNoweapondecals(toggle: boolean): void {
1103
+ set Noweapondecals(toggle: boolean) {
1117
1104
  inv<void>('0xC64E597783BE9A1D', this.handle, toggle);
1118
1105
  }
1119
1106
 
1120
1107
  /**
1121
1108
  * @returns
1122
1109
  */
1123
- getHealth(): number {
1110
+ get Health(): number {
1124
1111
  return inv<number>('0x82368787EA73C0F7', this.handle, rai());
1125
1112
  }
1126
1113
 
@@ -1141,7 +1128,7 @@ export class Entity implements IHandle {
1141
1128
  * @returns
1142
1129
  */
1143
1130
  doesHavePhysics(): boolean {
1144
- return inv<boolean>('0xA512B3F1B2A0B51C', this.handle, rai());
1131
+ return !!inv<boolean>('0xA512B3F1B2A0B51C', this.handle, rai());
1145
1132
  }
1146
1133
 
1147
1134
  /**
@@ -1201,14 +1188,14 @@ export class Entity implements IHandle {
1201
1188
  /**
1202
1189
  * @returns
1203
1190
  */
1204
- getAttachedTo(): Entity | null {
1191
+ get AttachedTo(): Entity | null {
1205
1192
  return createFromHandle<Entity>('Entity', inv<number>('0x56D713888A566481', this.handle, rai()));
1206
1193
  }
1207
1194
 
1208
1195
  /**
1209
1196
  * @param toggle
1210
1197
  */
1211
- setOnlyDamagedByPlayer(toggle: boolean): void {
1198
+ set OnlyDamagedByPlayer(toggle: boolean) {
1212
1199
  inv<void>('0x473598683095D430', this.handle, toggle);
1213
1200
  }
1214
1201
 
@@ -1240,7 +1227,7 @@ export class Entity implements IHandle {
1240
1227
  /**
1241
1228
  * @returns
1242
1229
  */
1243
- getIsPredator(): any {
1230
+ get IsPredator(): any {
1244
1231
  return inv<number>('0x5594AFE9DE0C01B7', this.handle);
1245
1232
  }
1246
1233
 
@@ -1264,14 +1251,14 @@ export class Entity implements IHandle {
1264
1251
  *
1265
1252
  * @returns
1266
1253
  */
1267
- getCarriableState(): number {
1254
+ get CarriableState(): number {
1268
1255
  return inv<number>('0x61914209C36EFDDB', this.handle, rai());
1269
1256
  }
1270
1257
 
1271
1258
  /**
1272
1259
  * @param value
1273
1260
  */
1274
- setMaxHealth(value: number): void {
1261
+ set MaxHealth(value: number) {
1275
1262
  inv<void>('0x166E7CF68597D8B5', this.handle, value);
1276
1263
  }
1277
1264
 
@@ -1282,13 +1269,13 @@ export class Entity implements IHandle {
1282
1269
  * @returns
1283
1270
  */
1284
1271
  isPlayingAnyAnim(p1: number): boolean {
1285
- return inv<boolean>('0x0B7CB1300CBFE19C', this.handle, p1, rai());
1272
+ return !!inv<boolean>('0x0B7CB1300CBFE19C', this.handle, p1, rai());
1286
1273
  }
1287
1274
 
1288
1275
  /**
1289
1276
  * @param enabled
1290
1277
  */
1291
- setLightsEnabled(enabled: boolean): void {
1278
+ set LightsEnabled(enabled: boolean) {
1292
1279
  inv<void>('0xEBDC12861D079ABA', this.handle, enabled);
1293
1280
  }
1294
1281
 
@@ -1317,13 +1304,13 @@ export class Entity implements IHandle {
1317
1304
  * @returns
1318
1305
  */
1319
1306
  isAtEntity(entity2: Entity, xSize: number, ySize: number, zSize: number, p5: boolean, p6: boolean, p7: number): boolean {
1320
- return inv<boolean>('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
1307
+ return !!inv<boolean>('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
1321
1308
  }
1322
1309
 
1323
1310
  /**
1324
1311
  * @param toggle
1325
1312
  */
1326
- setVisible(toggle: boolean): void {
1313
+ set Visible(toggle: boolean) {
1327
1314
  inv<void>('0x1794B4FCC84D812F', this.handle, toggle);
1328
1315
  }
1329
1316
 
@@ -1332,7 +1319,7 @@ export class Entity implements IHandle {
1332
1319
  *
1333
1320
  * @param toggle
1334
1321
  */
1335
- setShouldFreezeWaitingOnCollision(toggle: boolean): void {
1322
+ set ShouldFreezeWaitingOnCollision(toggle: boolean) {
1336
1323
  inv<void>('0x740CB4F3F602C9F4', this.handle, toggle);
1337
1324
  }
1338
1325
 
@@ -1342,7 +1329,7 @@ export class Entity implements IHandle {
1342
1329
  *
1343
1330
  * @returns
1344
1331
  */
1345
- getProofs(): number {
1332
+ get Proofs(): number {
1346
1333
  return inv<number>('0x6CF0DAD7FA1088EA', this.handle, rai());
1347
1334
  }
1348
1335
 
@@ -1353,297 +1340,301 @@ export class Entity implements IHandle {
1353
1340
  * @param alphaLevel
1354
1341
  * @param skin
1355
1342
  */
1356
- setAlpha(alphaLevel: number, skin: boolean): void {
1357
- inv<void>('0x0DF7692B1D9E7BA7', this.handle, alphaLevel, skin);
1343
+ setAlpha(alphaLevel: number, skin: boolean): void {
1344
+ inv<void>('0x0DF7692B1D9E7BA7', this.handle, alphaLevel, skin);
1345
+ }
1346
+
1347
+ /**
1348
+ * @returns
1349
+ */
1350
+ get ThreatTier(): number {
1351
+ return inv<number>('0xE12F56CB25D9CE23', this.handle, rai());
1352
+ }
1353
+
1354
+ /**
1355
+ * @param p1
1356
+ */
1357
+ N_0xA48E4801DEBDF7E4(p1: boolean): void {
1358
+ inv<void>('0xA48E4801DEBDF7E4', this.handle, p1);
1359
+ }
1360
+
1361
+ /**
1362
+ * @param toggle
1363
+ * @param keepPhysics
1364
+ */
1365
+ setCompletelyDisableCollision(toggle: boolean, keepPhysics: boolean): void {
1366
+ inv<void>('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
1367
+ }
1368
+
1369
+ /**
1370
+ * @param p1
1371
+ */
1372
+ N_0xCDB682BB47C02F0A(p1: string | number): void {
1373
+ inv<void>('0xCDB682BB47C02F0A', this.handle, _h(p1));
1374
+ }
1375
+
1376
+ /**
1377
+ * @param volume
1378
+ * @param p2
1379
+ * @param p3
1380
+ * @returns
1381
+ */
1382
+ isInVolume(volume: number, p2: boolean, p3: number): boolean {
1383
+ return !!inv<boolean>('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
1358
1384
  }
1359
1385
 
1360
1386
  /**
1361
- * @returns
1387
+ * @returns rightVector; forwardVector; upVector; position
1362
1388
  */
1363
- getThreatTier(): number {
1364
- return inv<number>('0xE12F56CB25D9CE23', this.handle, rai());
1389
+ get Matrix(): [Vector3, Vector3, Vector3, Vector3] {
1390
+ const result = inv<[number[], number[], number[], number[]]>('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
1391
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
1365
1392
  }
1366
1393
 
1367
1394
  /**
1368
- * Returns entityType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityType
1369
- *
1370
- * @returns
1395
+ * Called if entity is in water and submerged level is larger than 1f. If CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION is true, it gets disabled as well.
1371
1396
  */
1372
- getType(): number {
1373
- return inv<number>('0x97F696ACA466B4E0', this.handle, rai());
1397
+ N_0x371D179701D9C082(): void {
1398
+ inv<void>('0x371D179701D9C082', this.handle);
1374
1399
  }
1375
1400
 
1376
1401
  /**
1402
+ * @param p1
1377
1403
  * @returns
1378
1404
  */
1379
- isOwnedByPersistenceSystem(): any {
1380
- return inv<number>('0xA7E51B53309EAC97', this.handle);
1405
+ getMaxHealth(p1: boolean): number {
1406
+ return inv<number>('0x15D757606D170C3C', this.handle, p1, rai());
1381
1407
  }
1382
1408
 
1383
1409
  /**
1384
1410
  * @param animDict
1385
1411
  * @param animName
1386
- * @param animType
1387
- * @returns
1412
+ * @param time
1388
1413
  */
1389
- isPlayingAnim(animDict: string | null, animName: string | null, animType: number): boolean {
1390
- return inv<boolean>('0xDEE49D5CA6C49148', this.handle, animDict, animName, animType, rai());
1414
+ setAnimCurrentTime(animDict: string | null, animName: string | null, time: number): void {
1415
+ inv<void>('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
1391
1416
  }
1392
1417
 
1393
1418
  /**
1394
- * Marks the specified entity (ped, vehicle or object) as no longer needed, allowing the game engine to delete it whenever it sees fit.
1419
+ * Gets the current coordinates for a specified entity.
1420
+ * `entity` = The entity to get the coordinates from.
1421
+ * `alive` = Unused by the game, potentially used by debug builds in order to assert whether or not an entity was alive. If entity is a ped and it's in a vehicle or on a mount the coords of that entity are returned. Set 'realCoords' to true when you need the true ped coords.
1422
+ *
1423
+ * @param alive
1424
+ * @param realCoords
1425
+ * @returns
1395
1426
  */
1396
- setAsNoLongerNeeded(): void {
1397
- inv<void>('0x4971D2F8162B9674', this.handle);
1427
+ getCoords(alive?: boolean, realCoords?: boolean): Vector3 {
1428
+ return Vector3.fromArray(inv<number[]>('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
1398
1429
  }
1399
1430
 
1400
- /**
1401
- * @returns
1402
- */
1403
- hasBeenDamagedByAnyVehicle(): boolean {
1404
- return inv<boolean>('0x695D7C26DE65C423', this.handle, rai());
1431
+ get Coords(): Vector3 {
1432
+ return this.getCoords();
1405
1433
  }
1406
1434
 
1407
1435
  /**
1408
- * @param animDict
1409
- * @param animName
1410
- * @param speedMultiplier
1436
+ * @returns
1411
1437
  */
1412
- setAnimSpeed(animDict: string | null, animName: string | null, speedMultiplier: number): void {
1413
- inv<void>('0xEAA885BA3CEA4E4A', this.handle, animDict, animName, f(speedMultiplier));
1414
- }
1415
-
1416
- unpinMapEntity(): void {
1417
- inv<void>('0xD2B9C78537ED5759', this.handle);
1438
+ get IsAnObject(): boolean {
1439
+ return !!inv<boolean>('0x0A27A546A375FDEF', this.handle, rai());
1418
1440
  }
1419
1441
 
1420
1442
  /**
1421
- * Get how much of the entity is submerged. 1.0f is whole entity.
1422
- *
1423
1443
  * @returns
1424
1444
  */
1425
- getSubmergedLevel(): number {
1426
- return inv<number>('0x4A77C3F73FD9E831', this.handle, raf());
1445
+ get IsUpsidedown(): boolean {
1446
+ return !!inv<boolean>('0x109DE3DA41AAD94A', this.handle, rai());
1427
1447
  }
1428
1448
 
1429
1449
  /**
1450
+ * @param p1
1430
1451
  * @returns
1431
1452
  */
1432
- isAttached(): boolean {
1433
- return inv<boolean>('0xEE6AD63ABF59C0B7', this.handle, rai());
1453
+ doesBelongToThisScript(p1: boolean): boolean {
1454
+ return !!inv<boolean>('0x622B1980CBE13332', this.handle, p1, rai());
1434
1455
  }
1435
1456
 
1436
1457
  /**
1437
- * SET_ENTITY_A*
1458
+ * Returns a hash of an entity's name. (Alternative Name: _GET_ENTITY_PROMPT_NAME_HASH)
1438
1459
  *
1439
- * @param p1
1460
+ * @returns
1440
1461
  */
1441
- N_0xC0EDEF16D90661EE(p1: number): void {
1442
- inv<void>('0xC0EDEF16D90661EE', this.handle, f(p1));
1462
+ get CarriableFromEntity(): number {
1463
+ return (inv<number>('0x31FEF6A20F00B963', this.handle, rai())) & 0xFFFFFFFF;
1443
1464
  }
1444
1465
 
1445
1466
  /**
1446
- * @param looted
1467
+ * @param toggle
1468
+ * @param keepPhysics
1447
1469
  */
1448
- setFullyLooted(looted: boolean): void {
1449
- inv<void>('0x6BCF5F3D8FFE988D', this.handle, looted);
1470
+ setCollision(toggle: boolean, keepPhysics: boolean): void {
1471
+ inv<void>('0xF66F820909453B8C', this.handle, toggle, keepPhysics);
1450
1472
  }
1451
1473
 
1452
1474
  /**
1475
+ * @param p1
1453
1476
  * @returns
1454
1477
  */
1455
- isAttachedToAnyVehicle(): boolean {
1456
- return inv<boolean>('0x12DF6E0D2E736749', this.handle, rai());
1478
+ placeOnGroundProperly(p1: boolean): any {
1479
+ return inv<number>('0x9587913B9E772D29', this.handle, p1);
1457
1480
  }
1458
1481
 
1459
1482
  /**
1460
- * Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
1461
- *
1462
- * @param entity2
1463
- * @param p2
1464
- * @param p3
1465
1483
  * @returns
1466
1484
  */
1467
- N_0x3EC28DA1FFAC9DDD(entity2: Entity, p2: any, p3: any): boolean {
1468
- return inv<boolean>('0x3EC28DA1FFAC9DDD', this.handle, entity2.handle, p2, p3, rai());
1485
+ get IsInWater(): boolean {
1486
+ return !!inv<boolean>('0xDDE5C125AC446723', this.handle, rai());
1469
1487
  }
1470
1488
 
1471
1489
  /**
1472
- * Must be called from a background script, otherwise it will do nothing.
1490
+ * @returns Returns `true` if the entity exists
1473
1491
  */
1474
- delete2(): void {
1475
- inv<void>('0x5E94EA09E7207C16', this.handle);
1492
+ doesExist(): boolean {
1493
+ return !!inv<boolean>('0xD42BD6EB2E0F1677', this.handle, rai());
1476
1494
  }
1477
1495
 
1478
1496
  /**
1479
- * @param p1
1480
1497
  * @returns
1481
1498
  */
1482
- isInAir(p1: any): boolean {
1483
- return inv<boolean>('0x886E37EC497200B6', this.handle, p1, rai());
1499
+ get Alpha(): number {
1500
+ return inv<number>('0x1BB501624FAF2BEA', this.handle, rai());
1484
1501
  }
1485
1502
 
1486
1503
  /**
1504
+ * This native only works on `Ped` and `Object` entity types
1505
+ *
1506
+ * @param flagId Refer to [enum: eCarryingFlags]
1487
1507
  * @returns
1488
1508
  */
1489
- isAMissionEntity(): boolean {
1490
- return inv<boolean>('0x138190F64DB4BBD1', this.handle, rai());
1509
+ getCarryingFlag(flagId: eCarryingFlags): number {
1510
+ return inv<number>('0x808077647856DE62', this.handle, flagId, rai());
1491
1511
  }
1492
1512
 
1493
1513
  /**
1494
- * @returns
1514
+ * @param p1
1495
1515
  */
1496
- isAttachedToAnyPed(): boolean {
1497
- return inv<boolean>('0xC841153DED2CA89A', this.handle, rai());
1516
+ forceAiAndAnimationUpdate(p1: boolean): void {
1517
+ inv<void>('0x4C9E96473D4F1A88', this.handle, p1);
1498
1518
  }
1499
1519
 
1500
1520
  /**
1501
- * @param to
1502
- * @returns
1521
+ * Axis - Invert Axis Flags
1522
+ *
1523
+ * @param pos
1524
+ * @param xAxis
1525
+ * @param yAxis
1526
+ * @param zAxis
1503
1527
  */
1504
- isAttachedToEntity(to: Entity): boolean {
1505
- return inv<boolean>('0x154A3C529497053E', this.handle, to.handle, rai());
1528
+ setCoordsNoOffset(pos: Vector3, xAxis: boolean, yAxis: boolean, zAxis: boolean): void {
1529
+ inv<void>('0x239A3351AC1DA385', this.handle, f(pos.x), f(pos.y), f(pos.z), xAxis, yAxis, zAxis);
1506
1530
  }
1507
1531
 
1508
1532
  /**
1533
+ * Returns (CUR_HEALTH / MAX_HEALTH)
1534
+ *
1509
1535
  * @returns
1510
1536
  */
1511
- hasBeenDamagedByAnyObject(): boolean {
1512
- return inv<boolean>('0x73BB763880CD23A6', this.handle, rai());
1537
+ get HealthFloat(): number {
1538
+ return inv<number>('0x96C638784DB4C815', this.handle, raf());
1513
1539
  }
1514
1540
 
1515
1541
  /**
1516
- * @param rotationOrder
1517
- * @returns
1542
+ * LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t).
1543
+ *
1544
+ * @param value
1518
1545
  */
1519
- getRotation(rotationOrder: number): Vector3 {
1520
- return Vector3.fromArray(inv<number[]>('0xE09CAF86C32CB48F', this.handle, rotationOrder, rav()));
1546
+ set LodDist(value: number) {
1547
+ inv<void>('0x5FB407F0A7C877BF', this.handle, value);
1521
1548
  }
1522
1549
 
1523
1550
  /**
1524
1551
  * @param toggle
1525
1552
  */
1526
- setMotionBlur(toggle: boolean): void {
1527
- inv<void>('0x516C6ABD18322B63', this.handle, toggle);
1528
- }
1529
-
1530
- resetAlpha(): void {
1531
- inv<void>('0x744B9EF44779D9AB', this.handle);
1553
+ set Dynamic(toggle: boolean) {
1554
+ inv<void>('0xFBFC4473F66CE344', this.handle, toggle);
1532
1555
  }
1533
1556
 
1534
1557
  /**
1535
- * Checks if entity is within x/y/zSize distance of x/y/z. Last three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0
1536
- *
1537
- * @param pos
1538
- * @param xSize
1539
- * @param ySize
1540
- * @param zSize
1541
- * @param p7
1542
- * @param p8
1543
- * @param p9
1544
- * @returns
1558
+ * @param radius
1545
1559
  */
1546
- isAtCoord(pos: Vector3, xSize: number, ySize: number, zSize: number, p7: boolean, p8: boolean, p9: number): boolean {
1547
- return inv<boolean>('0x5E58342602E94718', this.handle, f(pos.x), f(pos.y), f(pos.z), f(xSize), f(ySize), f(zSize), p7, p8, p9, rai());
1560
+ set CustomPickupRadius(radius: number) {
1561
+ inv<void>('0x482D17E45665DA44', this.handle, f(radius));
1548
1562
  }
1549
1563
 
1550
1564
  /**
1551
- * @param entity2
1552
- * @param p2
1553
- * @param boneIndex
1554
- * @param offset
1555
- * @param p7
1556
- * @param p8
1557
- * @param p9
1558
- * @param p10
1559
- * @param p11
1560
- * @param p12
1561
- * @param p13
1562
- * @param p14
1563
- * @param p15
1564
- * @param p16
1565
- * @param p17
1566
- * @param p18
1567
- * @param p19
1568
- * @param p20
1569
- * @param p21
1565
+ * @returns
1570
1566
  */
1571
- attachToEntityPhysically(entity2: Entity, p2: number, boneIndex: number, offset: Vector3, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number, p13: number, p14: boolean, p15: boolean, p16: boolean, p17: boolean, p18: number, p19: boolean, p20: number, p21: number): void {
1572
- inv<void>('0xB629A43CA1643481', this.handle, entity2.handle, p2, boneIndex, f(offset.x), f(offset.y), f(offset.z), f(p7), f(p8), f(p9), f(p10), f(p11), f(p12), f(p13), p14, p15, p16, p17, p18, p19, f(p20), f(p21));
1567
+ get PopulationType(): number {
1568
+ return inv<number>('0xADE28862B6D7B85B', this.handle, rai());
1573
1569
  }
1574
1570
 
1575
1571
  /**
1576
1572
  * @returns
1577
1573
  */
1578
- getHeightAboveGround(): number {
1579
- return inv<number>('0x0D3B5BAEA08F63E9', this.handle, raf());
1574
+ get IsAVehicle(): boolean {
1575
+ return !!inv<boolean>('0xC3D96AF45FCCEC4C', this.handle, rai());
1580
1576
  }
1581
1577
 
1582
1578
  /**
1583
1579
  * @param pos
1584
- * @param heading
1585
- * @param p5
1586
- * @param p6
1580
+ * @param atTop
1581
+ * @param inWorldCoords
1582
+ * @returns
1587
1583
  */
1588
- setCoordsAndHeadingNoOffset(pos: Vector3, heading: number, p5: boolean, p6: boolean): void {
1589
- inv<void>('0x0918E3565C20F03C', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), p5, p6);
1584
+ getHeight(pos: Vector3, atTop: boolean, inWorldCoords: boolean): number {
1585
+ return inv<number>('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
1590
1586
  }
1591
1587
 
1592
1588
  /**
1593
- * Creates a spherical cone at origin that extends to surface with the angle specified. Then returns true if the entity is inside the spherical cone Angle is measured in degrees.
1594
- *
1595
- * @param originX
1596
- * @param originY
1597
- * @param originZ
1598
- * @param edgeX
1599
- * @param edgeY
1600
- * @param edgeZ
1601
- * @param angle
1602
- * @param p8
1603
- * @param p9
1604
- * @param p10
1589
+ * @param pos
1605
1590
  * @returns
1606
1591
  */
1607
- isInAngledArea(originX: number, originY: number, originZ: number, edgeX: number, edgeY: number, edgeZ: number, angle: number, p8: boolean, p9: boolean, p10: any): boolean {
1608
- return inv<boolean>('0xD3151E53134595E5', this.handle, f(originX), f(originY), f(originZ), f(edgeX), f(edgeY), f(edgeZ), f(angle), p8, p9, p10, rai());
1592
+ getOffsetFromGivenWorldCoords(pos: Vector3): Vector3 {
1593
+ return Vector3.fromArray(inv<number[]>('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
1609
1594
  }
1610
1595
 
1611
- clearLastDamageEntity(): void {
1612
- inv<void>('0xBB19AC7D4DCEFD0F', this.handle);
1596
+ addTrackingTrails(): void {
1597
+ inv<void>('0x1AD922AB5038DEF3', this.handle);
1613
1598
  }
1614
1599
 
1615
1600
  /**
1616
1601
  * @param toggle
1617
1602
  */
1618
- setAlwaysPrerender(toggle: boolean): void {
1619
- inv<void>('0xACAD101E1FB66689', this.handle, toggle);
1603
+ set CanClimbOnEntity(toggle: boolean) {
1604
+ inv<void>('0x24AED2A608F93C4C', this.handle, toggle);
1620
1605
  }
1621
1606
 
1622
1607
  /**
1623
- * Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
1624
- *
1625
- * @param pos
1608
+ * @returns minimum; maximum
1626
1609
  */
1627
- setVelocity(pos: Vector3): void {
1628
- inv<void>('0x1C99BB7B6E96D16F', this.handle, f(pos.x), f(pos.y), f(pos.z));
1610
+ get WorldPositionOfDimensions(): [Vector3, Vector3] {
1611
+ const result = inv<[number[], number[]]>('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
1612
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
1629
1613
  }
1630
1614
 
1631
1615
  /**
1632
- * SET_ENTITY_LO*
1633
- *
1634
1616
  * @param p1
1635
- * @param p2
1617
+ * @returns
1618
+ */
1619
+ isUnderwater(p1: boolean): any {
1620
+ return inv<number>('0xD4E5C1E93C466127', this.handle, p1);
1621
+ }
1622
+
1623
+ /**
1624
+ * @param animation
1625
+ * @param animGroup
1636
1626
  * @param p3
1627
+ * @returns
1637
1628
  */
1638
- N_0xAF7F3099B9FEB535(p1: number, p2: number, p3: number): void {
1639
- inv<void>('0xAF7F3099B9FEB535', this.handle, f(p1), f(p2), f(p3));
1629
+ stopAnim(animation: string | null, animGroup: string | null, p3: number): any {
1630
+ return inv<number>('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
1640
1631
  }
1641
1632
 
1642
1633
  /**
1643
1634
  * @returns
1644
1635
  */
1645
- N_0xAF72EC7E1B54539B(): Entity | null {
1646
- return createFromHandle<Entity>('Entity', inv<number>('0xAF72EC7E1B54539B', this.handle, rai()));
1636
+ hasCollidedWithAnything(): boolean {
1637
+ return !!inv<boolean>('0xDF18751EC74F90FF', this.handle, rai());
1647
1638
  }
1648
1639
 
1649
1640
  /**
@@ -1651,36 +1642,56 @@ export class Entity implements IHandle {
1651
1642
  *
1652
1643
  * @returns
1653
1644
  */
1654
- getObjectIndexFromIndex(): Prop | null {
1655
- return createFromHandle<Prop>('Prop', inv<number>('0x280BBE5601EAA983', this.handle, rai()));
1645
+ get VehicleIndexFromIndex(): Vehicle | null {
1646
+ return createFromHandle<Vehicle>('Vehicle', inv<number>('0xDF1E5AAC561AFC59', this.handle, rai()));
1656
1647
  }
1657
1648
 
1658
1649
  /**
1659
- * Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.
1660
- *
1661
- * @param entity2
1662
- * @param traceType
1663
1650
  * @returns
1664
1651
  */
1665
- hasClearLosToEntityInFront(entity2: Entity, traceType: number): boolean {
1666
- return inv<boolean>('0xE88F19660651D566', this.handle, entity2.handle, traceType, rai());
1652
+ get IsVisible(): boolean {
1653
+ return !!inv<boolean>('0xFFC96ECB7FA404CA', this.handle, rai());
1654
+ }
1655
+
1656
+ /**
1657
+ * SET_ENTITY_LO*
1658
+ *
1659
+ * @param toggle
1660
+ */
1661
+ N_0xFF9965C47FA404DA(toggle: boolean): void {
1662
+ inv<void>('0xFF9965C47FA404DA', this.handle, toggle);
1667
1663
  }
1668
1664
 
1669
1665
  /**
1666
+ * Valid indices: 0 - 3
1667
+ * Index 1 always returns a `hogtied` config, doesn't matter the entity.
1668
+ * It's for humans only and the ped must be resurrected first if it's dead.
1669
+ *
1670
+ * @param index
1670
1671
  * @returns
1671
1672
  */
1672
- isOnTrainTrack(): any {
1673
- return inv<number>('0x857ACB0AB4BD0D55', this.handle);
1673
+ getOptimalCarryConfig(index: number): number {
1674
+ return (inv<number>('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
1675
+ }
1676
+
1677
+ setFadeIn(): void {
1678
+ inv<void>('0xA91E6CF94404E8C9', this.handle);
1674
1679
  }
1675
1680
 
1676
1681
  /**
1677
- * @param angle
1678
1682
  * @returns
1679
1683
  */
1680
- isUpright(angle: number): boolean {
1681
- return inv<boolean>('0xF6F6AFD8D4FB2658', this.handle, f(angle), rai());
1684
+ hasBeenDamagedByAnyPed(): boolean {
1685
+ return !!inv<boolean>('0x9934E9C42D52D87E', this.handle, rai());
1682
1686
  }
1683
1687
 
1688
+
1689
+ /**
1690
+ * Gets the network ID of this entity for network synchronization.
1691
+ */
1692
+ get NetworkId(): number {
1693
+ return inv<number>('0xF260AF6F43953316', this.handle, rai());
1694
+ }
1684
1695
  }
1685
1696
 
1686
1697
  registerHandle('Entity', Entity);