@nativewrappers/redm-codegen 0.0.2

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 (642) hide show
  1. package/README.md +41 -0
  2. package/dist/classes/AnimScene.d.ts +361 -0
  3. package/dist/classes/AnimScene.d.ts.map +1 -0
  4. package/dist/classes/AnimScene.js +511 -0
  5. package/dist/classes/BaseModel.d.ts +108 -0
  6. package/dist/classes/BaseModel.d.ts.map +1 -0
  7. package/dist/classes/BaseModel.js +158 -0
  8. package/dist/classes/BaseTask.d.ts +102 -0
  9. package/dist/classes/BaseTask.d.ts.map +1 -0
  10. package/dist/classes/BaseTask.js +129 -0
  11. package/dist/classes/Cam.d.ts +217 -0
  12. package/dist/classes/Cam.d.ts.map +1 -0
  13. package/dist/classes/Cam.js +295 -0
  14. package/dist/classes/Entity.d.ts +1101 -0
  15. package/dist/classes/Entity.d.ts.map +1 -0
  16. package/dist/classes/Entity.js +1480 -0
  17. package/dist/classes/Interior.d.ts +65 -0
  18. package/dist/classes/Interior.d.ts.map +1 -0
  19. package/dist/classes/Interior.js +96 -0
  20. package/dist/classes/ItemSet.d.ts +18 -0
  21. package/dist/classes/ItemSet.d.ts.map +1 -0
  22. package/dist/classes/ItemSet.js +32 -0
  23. package/dist/classes/Ped.d.ts +4230 -0
  24. package/dist/classes/Ped.d.ts.map +1 -0
  25. package/dist/classes/Ped.js +5712 -0
  26. package/dist/classes/PedModel.d.ts +9 -0
  27. package/dist/classes/PedModel.d.ts.map +1 -0
  28. package/dist/classes/PedModel.js +13 -0
  29. package/dist/classes/PedTask.d.ts +2563 -0
  30. package/dist/classes/PedTask.d.ts.map +1 -0
  31. package/dist/classes/PedTask.js +3276 -0
  32. package/dist/classes/PersChar.d.ts +39 -0
  33. package/dist/classes/PersChar.d.ts.map +1 -0
  34. package/dist/classes/PersChar.js +69 -0
  35. package/dist/classes/Pickup.d.ts +30 -0
  36. package/dist/classes/Pickup.d.ts.map +1 -0
  37. package/dist/classes/Pickup.js +45 -0
  38. package/dist/classes/Player.d.ts +1309 -0
  39. package/dist/classes/Player.d.ts.map +1 -0
  40. package/dist/classes/Player.js +1808 -0
  41. package/dist/classes/Prop.d.ts +253 -0
  42. package/dist/classes/Prop.d.ts.map +1 -0
  43. package/dist/classes/Prop.js +362 -0
  44. package/dist/classes/PropSet.d.ts +46 -0
  45. package/dist/classes/PropSet.d.ts.map +1 -0
  46. package/dist/classes/PropSet.js +67 -0
  47. package/dist/classes/Vehicle.d.ts +1188 -0
  48. package/dist/classes/Vehicle.d.ts.map +1 -0
  49. package/dist/classes/Vehicle.js +1652 -0
  50. package/dist/classes/VehicleModel.d.ts +11 -0
  51. package/dist/classes/VehicleModel.d.ts.map +1 -0
  52. package/dist/classes/VehicleModel.js +15 -0
  53. package/dist/classes/VehicleTask.d.ts +87 -0
  54. package/dist/classes/VehicleTask.d.ts.map +1 -0
  55. package/dist/classes/VehicleTask.js +118 -0
  56. package/dist/classes/Volume.d.ts +142 -0
  57. package/dist/classes/Volume.d.ts.map +1 -0
  58. package/dist/classes/Volume.js +194 -0
  59. package/dist/classes/Weapon.d.ts +690 -0
  60. package/dist/classes/Weapon.d.ts.map +1 -0
  61. package/dist/classes/Weapon.js +934 -0
  62. package/dist/enums/eActionDisableFlags.d.ts +38 -0
  63. package/dist/enums/eActionDisableFlags.d.ts.map +1 -0
  64. package/dist/enums/eActionDisableFlags.js +38 -0
  65. package/dist/enums/eAddItemReason.d.ts +20 -0
  66. package/dist/enums/eAddItemReason.d.ts.map +1 -0
  67. package/dist/enums/eAddItemReason.js +20 -0
  68. package/dist/enums/eAmmoType.d.ts +88 -0
  69. package/dist/enums/eAmmoType.d.ts.map +1 -0
  70. package/dist/enums/eAmmoType.js +88 -0
  71. package/dist/enums/eAnimalRarityLevel.d.ts +7 -0
  72. package/dist/enums/eAnimalRarityLevel.d.ts.map +1 -0
  73. package/dist/enums/eAnimalRarityLevel.js +7 -0
  74. package/dist/enums/eAttributeCore.d.ts +6 -0
  75. package/dist/enums/eAttributeCore.d.ts.map +1 -0
  76. package/dist/enums/eAttributeCore.js +6 -0
  77. package/dist/enums/eCarryingFlags.d.ts +43 -0
  78. package/dist/enums/eCarryingFlags.d.ts.map +1 -0
  79. package/dist/enums/eCarryingFlags.js +43 -0
  80. package/dist/enums/eCrimeType.d.ts +61 -0
  81. package/dist/enums/eCrimeType.d.ts.map +1 -0
  82. package/dist/enums/eCrimeType.js +61 -0
  83. package/dist/enums/eDispatchType.d.ts +20 -0
  84. package/dist/enums/eDispatchType.d.ts.map +1 -0
  85. package/dist/enums/eDispatchType.js +20 -0
  86. package/dist/enums/eDoorId.d.ts +16 -0
  87. package/dist/enums/eDoorId.d.ts.map +1 -0
  88. package/dist/enums/eDoorId.js +16 -0
  89. package/dist/enums/eEnterExitVehicleFlags.d.ts +32 -0
  90. package/dist/enums/eEnterExitVehicleFlags.d.ts.map +1 -0
  91. package/dist/enums/eEnterExitVehicleFlags.js +32 -0
  92. package/dist/enums/eEulerRotationOrder.d.ts +9 -0
  93. package/dist/enums/eEulerRotationOrder.d.ts.map +1 -0
  94. package/dist/enums/eEulerRotationOrder.js +9 -0
  95. package/dist/enums/eExplosionTag.d.ts +40 -0
  96. package/dist/enums/eExplosionTag.d.ts.map +1 -0
  97. package/dist/enums/eExplosionTag.js +40 -0
  98. package/dist/enums/eFleeStyle.d.ts +16 -0
  99. package/dist/enums/eFleeStyle.d.ts.map +1 -0
  100. package/dist/enums/eFleeStyle.js +16 -0
  101. package/dist/enums/eIkControlFlags.d.ts +34 -0
  102. package/dist/enums/eIkControlFlags.d.ts.map +1 -0
  103. package/dist/enums/eIkControlFlags.js +34 -0
  104. package/dist/enums/eInventoryItemSound.d.ts +6 -0
  105. package/dist/enums/eInventoryItemSound.d.ts.map +1 -0
  106. package/dist/enums/eInventoryItemSound.js +6 -0
  107. package/dist/enums/eLookIntensity.d.ts +7 -0
  108. package/dist/enums/eLookIntensity.d.ts.map +1 -0
  109. package/dist/enums/eLookIntensity.js +7 -0
  110. package/dist/enums/eLookReturnAnimation.d.ts +6 -0
  111. package/dist/enums/eLookReturnAnimation.d.ts.map +1 -0
  112. package/dist/enums/eLookReturnAnimation.js +6 -0
  113. package/dist/enums/eLootingFlags.d.ts +32 -0
  114. package/dist/enums/eLootingFlags.d.ts.map +1 -0
  115. package/dist/enums/eLootingFlags.js +32 -0
  116. package/dist/enums/eMetaPedExpressions.d.ts +118 -0
  117. package/dist/enums/eMetaPedExpressions.d.ts.map +1 -0
  118. package/dist/enums/eMetaPedExpressions.js +118 -0
  119. package/dist/enums/eMotivationState.d.ts +14 -0
  120. package/dist/enums/eMotivationState.d.ts.map +1 -0
  121. package/dist/enums/eMotivationState.js +14 -0
  122. package/dist/enums/ePedAttribute.d.ts +26 -0
  123. package/dist/enums/ePedAttribute.d.ts.map +1 -0
  124. package/dist/enums/ePedAttribute.js +26 -0
  125. package/dist/enums/ePedCombatAbility.d.ts +7 -0
  126. package/dist/enums/ePedCombatAbility.d.ts.map +1 -0
  127. package/dist/enums/ePedCombatAbility.js +7 -0
  128. package/dist/enums/ePedCombatMovement.d.ts +8 -0
  129. package/dist/enums/ePedCombatMovement.d.ts.map +1 -0
  130. package/dist/enums/ePedCombatMovement.js +8 -0
  131. package/dist/enums/ePedCombatRange.d.ts +9 -0
  132. package/dist/enums/ePedCombatRange.d.ts.map +1 -0
  133. package/dist/enums/ePedCombatRange.js +9 -0
  134. package/dist/enums/ePedDamageCleanliness.d.ts +6 -0
  135. package/dist/enums/ePedDamageCleanliness.d.ts.map +1 -0
  136. package/dist/enums/ePedDamageCleanliness.js +6 -0
  137. package/dist/enums/ePedMood.d.ts +13 -0
  138. package/dist/enums/ePedMood.d.ts.map +1 -0
  139. package/dist/enums/ePedMood.js +13 -0
  140. package/dist/enums/ePedQuality.d.ts +8 -0
  141. package/dist/enums/ePedQuality.d.ts.map +1 -0
  142. package/dist/enums/ePedQuality.js +8 -0
  143. package/dist/enums/ePedScriptConfigFlags.d.ts +604 -0
  144. package/dist/enums/ePedScriptConfigFlags.d.ts.map +1 -0
  145. package/dist/enums/ePedScriptConfigFlags.js +604 -0
  146. package/dist/enums/ePlacementFlag.d.ts +27 -0
  147. package/dist/enums/ePlacementFlag.d.ts.map +1 -0
  148. package/dist/enums/ePlacementFlag.js +27 -0
  149. package/dist/enums/eRagdollBlockingFlags.d.ts +23 -0
  150. package/dist/enums/eRagdollBlockingFlags.d.ts.map +1 -0
  151. package/dist/enums/eRagdollBlockingFlags.js +23 -0
  152. package/dist/enums/eRemoveItemReason.d.ts +19 -0
  153. package/dist/enums/eRemoveItemReason.d.ts.map +1 -0
  154. package/dist/enums/eRemoveItemReason.js +19 -0
  155. package/dist/enums/eSavegameType.d.ts +16 -0
  156. package/dist/enums/eSavegameType.d.ts.map +1 -0
  157. package/dist/enums/eSavegameType.js +16 -0
  158. package/dist/enums/eScenarioBlockingFlags.d.ts +11 -0
  159. package/dist/enums/eScenarioBlockingFlags.d.ts.map +1 -0
  160. package/dist/enums/eScenarioBlockingFlags.js +11 -0
  161. package/dist/enums/eScriptedAnimFlags.d.ts +35 -0
  162. package/dist/enums/eScriptedAnimFlags.d.ts.map +1 -0
  163. package/dist/enums/eScriptedAnimFlags.js +35 -0
  164. package/dist/enums/eSessionFlags.d.ts +16 -0
  165. package/dist/enums/eSessionFlags.d.ts.map +1 -0
  166. package/dist/enums/eSessionFlags.js +16 -0
  167. package/dist/enums/eTargetingMode.d.ts +8 -0
  168. package/dist/enums/eTargetingMode.d.ts.map +1 -0
  169. package/dist/enums/eTargetingMode.js +8 -0
  170. package/dist/enums/eUIFeedChannel.d.ts +18 -0
  171. package/dist/enums/eUIFeedChannel.d.ts.map +1 -0
  172. package/dist/enums/eUIFeedChannel.js +18 -0
  173. package/dist/enums/eUiRpgStatusEffect.d.ts +19 -0
  174. package/dist/enums/eUiRpgStatusEffect.d.ts.map +1 -0
  175. package/dist/enums/eUiRpgStatusEffect.js +19 -0
  176. package/dist/enums/eVehicleSeat.d.ts +15 -0
  177. package/dist/enums/eVehicleSeat.d.ts.map +1 -0
  178. package/dist/enums/eVehicleSeat.js +15 -0
  179. package/dist/enums/eWeaponAttachPoint.d.ts +36 -0
  180. package/dist/enums/eWeaponAttachPoint.d.ts.map +1 -0
  181. package/dist/enums/eWeaponAttachPoint.js +36 -0
  182. package/dist/enums/eWeaponHash.d.ts +175 -0
  183. package/dist/enums/eWeaponHash.d.ts.map +1 -0
  184. package/dist/enums/eWeaponHash.js +175 -0
  185. package/dist/enums/naSpeechEventType.d.ts +57 -0
  186. package/dist/enums/naSpeechEventType.d.ts.map +1 -0
  187. package/dist/enums/naSpeechEventType.js +57 -0
  188. package/dist/index.d.ts +156 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +158 -0
  191. package/dist/namespaces/Aicoverpoint.d.ts +95 -0
  192. package/dist/namespaces/Aicoverpoint.d.ts.map +1 -0
  193. package/dist/namespaces/Aicoverpoint.js +131 -0
  194. package/dist/namespaces/Aitransport.d.ts +197 -0
  195. package/dist/namespaces/Aitransport.d.ts.map +1 -0
  196. package/dist/namespaces/Aitransport.js +246 -0
  197. package/dist/namespaces/Animscene.d.ts +174 -0
  198. package/dist/namespaces/Animscene.d.ts.map +1 -0
  199. package/dist/namespaces/Animscene.js +222 -0
  200. package/dist/namespaces/Attribute.d.ts +171 -0
  201. package/dist/namespaces/Attribute.d.ts.map +1 -0
  202. package/dist/namespaces/Attribute.js +222 -0
  203. package/dist/namespaces/Audio.d.ts +1255 -0
  204. package/dist/namespaces/Audio.d.ts.map +1 -0
  205. package/dist/namespaces/Audio.js +1695 -0
  206. package/dist/namespaces/Badsport.d.ts +8 -0
  207. package/dist/namespaces/Badsport.d.ts.map +1 -0
  208. package/dist/namespaces/Badsport.js +11 -0
  209. package/dist/namespaces/Bounty.d.ts +154 -0
  210. package/dist/namespaces/Bounty.d.ts.map +1 -0
  211. package/dist/namespaces/Bounty.js +248 -0
  212. package/dist/namespaces/Brain.d.ts +75 -0
  213. package/dist/namespaces/Brain.d.ts.map +1 -0
  214. package/dist/namespaces/Brain.js +98 -0
  215. package/dist/namespaces/Builtin.d.ts +137 -0
  216. package/dist/namespaces/Builtin.d.ts.map +1 -0
  217. package/dist/namespaces/Builtin.js +180 -0
  218. package/dist/namespaces/CamStatics.d.ts +972 -0
  219. package/dist/namespaces/CamStatics.d.ts.map +1 -0
  220. package/dist/namespaces/CamStatics.js +1360 -0
  221. package/dist/namespaces/Clock.d.ts +108 -0
  222. package/dist/namespaces/Clock.d.ts.map +1 -0
  223. package/dist/namespaces/Clock.js +149 -0
  224. package/dist/namespaces/Collection.d.ts +201 -0
  225. package/dist/namespaces/Collection.d.ts.map +1 -0
  226. package/dist/namespaces/Collection.js +263 -0
  227. package/dist/namespaces/Companion.d.ts +143 -0
  228. package/dist/namespaces/Companion.d.ts.map +1 -0
  229. package/dist/namespaces/Companion.js +191 -0
  230. package/dist/namespaces/Compapp.d.ts +34 -0
  231. package/dist/namespaces/Compapp.d.ts.map +1 -0
  232. package/dist/namespaces/Compapp.js +44 -0
  233. package/dist/namespaces/Compendium.d.ts +195 -0
  234. package/dist/namespaces/Compendium.d.ts.map +1 -0
  235. package/dist/namespaces/Compendium.js +261 -0
  236. package/dist/namespaces/Crashlog.d.ts +63 -0
  237. package/dist/namespaces/Crashlog.d.ts.map +1 -0
  238. package/dist/namespaces/Crashlog.js +88 -0
  239. package/dist/namespaces/Crew.d.ts +85 -0
  240. package/dist/namespaces/Crew.d.ts.map +1 -0
  241. package/dist/namespaces/Crew.js +127 -0
  242. package/dist/namespaces/Databinding.d.ts +500 -0
  243. package/dist/namespaces/Databinding.d.ts.map +1 -0
  244. package/dist/namespaces/Databinding.js +667 -0
  245. package/dist/namespaces/Datafile.d.ts +344 -0
  246. package/dist/namespaces/Datafile.d.ts.map +1 -0
  247. package/dist/namespaces/Datafile.js +495 -0
  248. package/dist/namespaces/Debug.d.ts +21 -0
  249. package/dist/namespaces/Debug.d.ts.map +1 -0
  250. package/dist/namespaces/Debug.js +27 -0
  251. package/dist/namespaces/Decorator.d.ts +105 -0
  252. package/dist/namespaces/Decorator.d.ts.map +1 -0
  253. package/dist/namespaces/Decorator.js +134 -0
  254. package/dist/namespaces/Dlc.d.ts +20 -0
  255. package/dist/namespaces/Dlc.d.ts.map +1 -0
  256. package/dist/namespaces/Dlc.js +28 -0
  257. package/dist/namespaces/EntityStatics.d.ts +520 -0
  258. package/dist/namespaces/EntityStatics.d.ts.map +1 -0
  259. package/dist/namespaces/EntityStatics.js +679 -0
  260. package/dist/namespaces/Event.d.ts +267 -0
  261. package/dist/namespaces/Event.d.ts.map +1 -0
  262. package/dist/namespaces/Event.js +340 -0
  263. package/dist/namespaces/Fire.d.ts +233 -0
  264. package/dist/namespaces/Fire.d.ts.map +1 -0
  265. package/dist/namespaces/Fire.js +288 -0
  266. package/dist/namespaces/Flock.d.ts +306 -0
  267. package/dist/namespaces/Flock.d.ts.map +1 -0
  268. package/dist/namespaces/Flock.js +396 -0
  269. package/dist/namespaces/Gang.d.ts +211 -0
  270. package/dist/namespaces/Gang.d.ts.map +1 -0
  271. package/dist/namespaces/Gang.js +297 -0
  272. package/dist/namespaces/GoogleAnalytics.d.ts +23 -0
  273. package/dist/namespaces/GoogleAnalytics.d.ts.map +1 -0
  274. package/dist/namespaces/GoogleAnalytics.js +31 -0
  275. package/dist/namespaces/Graphics.d.ts +1598 -0
  276. package/dist/namespaces/Graphics.d.ts.map +1 -0
  277. package/dist/namespaces/Graphics.js +2131 -0
  278. package/dist/namespaces/Hud.d.ts +1058 -0
  279. package/dist/namespaces/Hud.d.ts.map +1 -0
  280. package/dist/namespaces/Hud.js +1443 -0
  281. package/dist/namespaces/Ik.d.ts +33 -0
  282. package/dist/namespaces/Ik.d.ts.map +1 -0
  283. package/dist/namespaces/Ik.js +44 -0
  284. package/dist/namespaces/Interaction.d.ts +40 -0
  285. package/dist/namespaces/Interaction.d.ts.map +1 -0
  286. package/dist/namespaces/Interaction.js +52 -0
  287. package/dist/namespaces/InteriorStatics.d.ts +97 -0
  288. package/dist/namespaces/InteriorStatics.d.ts.map +1 -0
  289. package/dist/namespaces/InteriorStatics.js +129 -0
  290. package/dist/namespaces/Inventory.d.ts +597 -0
  291. package/dist/namespaces/Inventory.d.ts.map +1 -0
  292. package/dist/namespaces/Inventory.js +807 -0
  293. package/dist/namespaces/Itemdatabase.d.ts +526 -0
  294. package/dist/namespaces/Itemdatabase.d.ts.map +1 -0
  295. package/dist/namespaces/Itemdatabase.js +739 -0
  296. package/dist/namespaces/Itemset.d.ts +39 -0
  297. package/dist/namespaces/Itemset.d.ts.map +1 -0
  298. package/dist/namespaces/Itemset.js +50 -0
  299. package/dist/namespaces/Law.d.ts +756 -0
  300. package/dist/namespaces/Law.d.ts.map +1 -0
  301. package/dist/namespaces/Law.js +1007 -0
  302. package/dist/namespaces/Localization.d.ts +42 -0
  303. package/dist/namespaces/Localization.d.ts.map +1 -0
  304. package/dist/namespaces/Localization.js +50 -0
  305. package/dist/namespaces/Map.d.ts +473 -0
  306. package/dist/namespaces/Map.d.ts.map +1 -0
  307. package/dist/namespaces/Map.js +641 -0
  308. package/dist/namespaces/Minigame.d.ts +245 -0
  309. package/dist/namespaces/Minigame.d.ts.map +1 -0
  310. package/dist/namespaces/Minigame.js +342 -0
  311. package/dist/namespaces/Misc.d.ts +1704 -0
  312. package/dist/namespaces/Misc.d.ts.map +1 -0
  313. package/dist/namespaces/Misc.js +2302 -0
  314. package/dist/namespaces/Missiondata.d.ts +100 -0
  315. package/dist/namespaces/Missiondata.d.ts.map +1 -0
  316. package/dist/namespaces/Missiondata.js +136 -0
  317. package/dist/namespaces/Money.d.ts +43 -0
  318. package/dist/namespaces/Money.d.ts.map +1 -0
  319. package/dist/namespaces/Money.js +58 -0
  320. package/dist/namespaces/Netshopping.d.ts +154 -0
  321. package/dist/namespaces/Netshopping.d.ts.map +1 -0
  322. package/dist/namespaces/Netshopping.js +216 -0
  323. package/dist/namespaces/Network.d.ts +3022 -0
  324. package/dist/namespaces/Network.d.ts.map +1 -0
  325. package/dist/namespaces/Network.js +4230 -0
  326. package/dist/namespaces/Object.d.ts +594 -0
  327. package/dist/namespaces/Object.d.ts.map +1 -0
  328. package/dist/namespaces/Object.js +780 -0
  329. package/dist/namespaces/Pad.d.ts +249 -0
  330. package/dist/namespaces/Pad.d.ts.map +1 -0
  331. package/dist/namespaces/Pad.js +328 -0
  332. package/dist/namespaces/Pathfind.d.ts +545 -0
  333. package/dist/namespaces/Pathfind.d.ts.map +1 -0
  334. package/dist/namespaces/Pathfind.js +704 -0
  335. package/dist/namespaces/PedStatics.d.ts +1738 -0
  336. package/dist/namespaces/PedStatics.d.ts.map +1 -0
  337. package/dist/namespaces/PedStatics.js +2296 -0
  338. package/dist/namespaces/Perschar.d.ts +179 -0
  339. package/dist/namespaces/Perschar.d.ts.map +1 -0
  340. package/dist/namespaces/Perschar.js +251 -0
  341. package/dist/namespaces/Persistence.d.ts +116 -0
  342. package/dist/namespaces/Persistence.d.ts.map +1 -0
  343. package/dist/namespaces/Persistence.js +158 -0
  344. package/dist/namespaces/Physics.d.ts +491 -0
  345. package/dist/namespaces/Physics.d.ts.map +1 -0
  346. package/dist/namespaces/Physics.js +637 -0
  347. package/dist/namespaces/PlayerStatics.d.ts +850 -0
  348. package/dist/namespaces/PlayerStatics.d.ts.map +1 -0
  349. package/dist/namespaces/PlayerStatics.js +1147 -0
  350. package/dist/namespaces/Population.d.ts +188 -0
  351. package/dist/namespaces/Population.d.ts.map +1 -0
  352. package/dist/namespaces/Population.js +247 -0
  353. package/dist/namespaces/Posse.d.ts +168 -0
  354. package/dist/namespaces/Posse.d.ts.map +1 -0
  355. package/dist/namespaces/Posse.js +230 -0
  356. package/dist/namespaces/Propset.d.ts +196 -0
  357. package/dist/namespaces/Propset.d.ts.map +1 -0
  358. package/dist/namespaces/Propset.js +249 -0
  359. package/dist/namespaces/Queue.d.ts +12 -0
  360. package/dist/namespaces/Queue.d.ts.map +1 -0
  361. package/dist/namespaces/Queue.js +16 -0
  362. package/dist/namespaces/Recording.d.ts +7 -0
  363. package/dist/namespaces/Recording.d.ts.map +1 -0
  364. package/dist/namespaces/Recording.js +9 -0
  365. package/dist/namespaces/Replay.d.ts +32 -0
  366. package/dist/namespaces/Replay.d.ts.map +1 -0
  367. package/dist/namespaces/Replay.js +42 -0
  368. package/dist/namespaces/Save.d.ts +122 -0
  369. package/dist/namespaces/Save.d.ts.map +1 -0
  370. package/dist/namespaces/Save.js +178 -0
  371. package/dist/namespaces/Scripts.d.ts +506 -0
  372. package/dist/namespaces/Scripts.d.ts.map +1 -0
  373. package/dist/namespaces/Scripts.js +716 -0
  374. package/dist/namespaces/Shapetest.d.ts +87 -0
  375. package/dist/namespaces/Shapetest.d.ts.map +1 -0
  376. package/dist/namespaces/Shapetest.js +105 -0
  377. package/dist/namespaces/Socialclub.d.ts +188 -0
  378. package/dist/namespaces/Socialclub.d.ts.map +1 -0
  379. package/dist/namespaces/Socialclub.js +262 -0
  380. package/dist/namespaces/Socialclubfeed.d.ts +13 -0
  381. package/dist/namespaces/Socialclubfeed.d.ts.map +1 -0
  382. package/dist/namespaces/Socialclubfeed.js +17 -0
  383. package/dist/namespaces/Spactionproxy.d.ts +29 -0
  384. package/dist/namespaces/Spactionproxy.d.ts.map +1 -0
  385. package/dist/namespaces/Spactionproxy.js +43 -0
  386. package/dist/namespaces/Stats.d.ts +537 -0
  387. package/dist/namespaces/Stats.d.ts.map +1 -0
  388. package/dist/namespaces/Stats.js +740 -0
  389. package/dist/namespaces/Streaming.d.ts +356 -0
  390. package/dist/namespaces/Streaming.d.ts.map +1 -0
  391. package/dist/namespaces/Streaming.js +531 -0
  392. package/dist/namespaces/Task.d.ts +1506 -0
  393. package/dist/namespaces/Task.d.ts.map +1 -0
  394. package/dist/namespaces/Task.js +2024 -0
  395. package/dist/namespaces/Telemetry.d.ts +507 -0
  396. package/dist/namespaces/Telemetry.d.ts.map +1 -0
  397. package/dist/namespaces/Telemetry.js +670 -0
  398. package/dist/namespaces/Txd.d.ts +41 -0
  399. package/dist/namespaces/Txd.d.ts.map +1 -0
  400. package/dist/namespaces/Txd.js +57 -0
  401. package/dist/namespaces/Uiapps.d.ts +88 -0
  402. package/dist/namespaces/Uiapps.d.ts.map +1 -0
  403. package/dist/namespaces/Uiapps.js +126 -0
  404. package/dist/namespaces/Uidebug.d.ts +23 -0
  405. package/dist/namespaces/Uidebug.d.ts.map +1 -0
  406. package/dist/namespaces/Uidebug.js +27 -0
  407. package/dist/namespaces/Uievents.d.ts +37 -0
  408. package/dist/namespaces/Uievents.d.ts.map +1 -0
  409. package/dist/namespaces/Uievents.js +47 -0
  410. package/dist/namespaces/Uifeed.d.ts +178 -0
  411. package/dist/namespaces/Uifeed.d.ts.map +1 -0
  412. package/dist/namespaces/Uifeed.js +252 -0
  413. package/dist/namespaces/Uilog.d.ts +161 -0
  414. package/dist/namespaces/Uilog.d.ts.map +1 -0
  415. package/dist/namespaces/Uilog.js +221 -0
  416. package/dist/namespaces/Uipinning.d.ts +8 -0
  417. package/dist/namespaces/Uipinning.d.ts.map +1 -0
  418. package/dist/namespaces/Uipinning.js +10 -0
  419. package/dist/namespaces/Uistatemachine.d.ts +63 -0
  420. package/dist/namespaces/Uistatemachine.d.ts.map +1 -0
  421. package/dist/namespaces/Uistatemachine.js +88 -0
  422. package/dist/namespaces/Uistickyfeed.d.ts +55 -0
  423. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -0
  424. package/dist/namespaces/Uistickyfeed.js +75 -0
  425. package/dist/namespaces/Uitutorial.d.ts +38 -0
  426. package/dist/namespaces/Uitutorial.d.ts.map +1 -0
  427. package/dist/namespaces/Uitutorial.js +44 -0
  428. package/dist/namespaces/Unlock.d.ts +49 -0
  429. package/dist/namespaces/Unlock.d.ts.map +1 -0
  430. package/dist/namespaces/Unlock.js +68 -0
  431. package/dist/namespaces/VehicleStatics.d.ts +925 -0
  432. package/dist/namespaces/VehicleStatics.d.ts.map +1 -0
  433. package/dist/namespaces/VehicleStatics.js +1241 -0
  434. package/dist/namespaces/Voice.d.ts +110 -0
  435. package/dist/namespaces/Voice.d.ts.map +1 -0
  436. package/dist/namespaces/Voice.js +158 -0
  437. package/dist/namespaces/VolumeStatics.d.ts +393 -0
  438. package/dist/namespaces/VolumeStatics.d.ts.map +1 -0
  439. package/dist/namespaces/VolumeStatics.js +506 -0
  440. package/dist/namespaces/Water.d.ts +115 -0
  441. package/dist/namespaces/Water.d.ts.map +1 -0
  442. package/dist/namespaces/Water.js +151 -0
  443. package/dist/namespaces/WeaponStatics.d.ts +638 -0
  444. package/dist/namespaces/WeaponStatics.d.ts.map +1 -0
  445. package/dist/namespaces/WeaponStatics.js +848 -0
  446. package/dist/namespaces/Zone.d.ts +39 -0
  447. package/dist/namespaces/Zone.d.ts.map +1 -0
  448. package/dist/namespaces/Zone.js +42 -0
  449. package/dist/structs/BufferedClass.d.ts +6 -0
  450. package/dist/structs/BufferedClass.d.ts.map +1 -0
  451. package/dist/structs/BufferedClass.js +12 -0
  452. package/dist/structs/HorsePeltIn.d.ts +17 -0
  453. package/dist/structs/HorsePeltIn.d.ts.map +1 -0
  454. package/dist/structs/HorsePeltIn.js +24 -0
  455. package/dist/structs/HorsePeltOut.d.ts +9 -0
  456. package/dist/structs/HorsePeltOut.d.ts.map +1 -0
  457. package/dist/structs/HorsePeltOut.js +16 -0
  458. package/dist/types/BufferedClass.d.ts +6 -0
  459. package/dist/types/BufferedClass.d.ts.map +1 -0
  460. package/dist/types/BufferedClass.js +12 -0
  461. package/dist/types/Color.d.ts +12 -0
  462. package/dist/types/Color.d.ts.map +1 -0
  463. package/dist/types/Color.js +24 -0
  464. package/dist/types/HandleRegistry.d.ts +7 -0
  465. package/dist/types/HandleRegistry.d.ts.map +1 -0
  466. package/dist/types/HandleRegistry.js +8 -0
  467. package/dist/types/IHandle.d.ts +4 -0
  468. package/dist/types/IHandle.d.ts.map +1 -0
  469. package/dist/types/IHandle.js +1 -0
  470. package/dist/types/NativeAliases.d.ts +21 -0
  471. package/dist/types/NativeAliases.d.ts.map +1 -0
  472. package/dist/types/NativeAliases.js +12 -0
  473. package/dist/types/Vector2.d.ts +14 -0
  474. package/dist/types/Vector2.d.ts.map +1 -0
  475. package/dist/types/Vector2.js +33 -0
  476. package/dist/types/Vector3.d.ts +15 -0
  477. package/dist/types/Vector3.d.ts.map +1 -0
  478. package/dist/types/Vector3.js +34 -0
  479. package/dist/types/Vector4.d.ts +16 -0
  480. package/dist/types/Vector4.d.ts.map +1 -0
  481. package/dist/types/Vector4.js +35 -0
  482. package/package.json +37 -0
  483. package/src/classes/AnimScene.ts +595 -0
  484. package/src/classes/BaseModel.ts +189 -0
  485. package/src/classes/BaseTask.ts +154 -0
  486. package/src/classes/Cam.ts +342 -0
  487. package/src/classes/Entity.ts +1681 -0
  488. package/src/classes/Interior.ts +115 -0
  489. package/src/classes/ItemSet.ts +44 -0
  490. package/src/classes/Ped.ts +6472 -0
  491. package/src/classes/PedModel.ts +20 -0
  492. package/src/classes/PedTask.ts +3644 -0
  493. package/src/classes/PersChar.ts +92 -0
  494. package/src/classes/Pickup.ts +58 -0
  495. package/src/classes/Player.ts +2063 -0
  496. package/src/classes/Prop.ts +423 -0
  497. package/src/classes/PropSet.ts +84 -0
  498. package/src/classes/Vehicle.ts +1894 -0
  499. package/src/classes/VehicleModel.ts +22 -0
  500. package/src/classes/VehicleTask.ts +143 -0
  501. package/src/classes/Volume.ts +225 -0
  502. package/src/classes/Weapon.ts +1063 -0
  503. package/src/enums/eActionDisableFlags.ts +37 -0
  504. package/src/enums/eAddItemReason.ts +19 -0
  505. package/src/enums/eAmmoType.ts +87 -0
  506. package/src/enums/eAnimalRarityLevel.ts +6 -0
  507. package/src/enums/eAttributeCore.ts +5 -0
  508. package/src/enums/eCarryingFlags.ts +42 -0
  509. package/src/enums/eCrimeType.ts +60 -0
  510. package/src/enums/eDispatchType.ts +19 -0
  511. package/src/enums/eDoorId.ts +15 -0
  512. package/src/enums/eEnterExitVehicleFlags.ts +31 -0
  513. package/src/enums/eEulerRotationOrder.ts +8 -0
  514. package/src/enums/eExplosionTag.ts +39 -0
  515. package/src/enums/eFleeStyle.ts +15 -0
  516. package/src/enums/eIkControlFlags.ts +33 -0
  517. package/src/enums/eInventoryItemSound.ts +5 -0
  518. package/src/enums/eLookIntensity.ts +6 -0
  519. package/src/enums/eLookReturnAnimation.ts +5 -0
  520. package/src/enums/eLootingFlags.ts +31 -0
  521. package/src/enums/eMetaPedExpressions.ts +117 -0
  522. package/src/enums/eMotivationState.ts +13 -0
  523. package/src/enums/ePedAttribute.ts +25 -0
  524. package/src/enums/ePedCombatAbility.ts +6 -0
  525. package/src/enums/ePedCombatMovement.ts +7 -0
  526. package/src/enums/ePedCombatRange.ts +8 -0
  527. package/src/enums/ePedDamageCleanliness.ts +5 -0
  528. package/src/enums/ePedMood.ts +12 -0
  529. package/src/enums/ePedQuality.ts +7 -0
  530. package/src/enums/ePedScriptConfigFlags.ts +603 -0
  531. package/src/enums/ePlacementFlag.ts +26 -0
  532. package/src/enums/eRagdollBlockingFlags.ts +22 -0
  533. package/src/enums/eRemoveItemReason.ts +18 -0
  534. package/src/enums/eSavegameType.ts +15 -0
  535. package/src/enums/eScenarioBlockingFlags.ts +10 -0
  536. package/src/enums/eScriptedAnimFlags.ts +34 -0
  537. package/src/enums/eSessionFlags.ts +15 -0
  538. package/src/enums/eTargetingMode.ts +7 -0
  539. package/src/enums/eUIFeedChannel.ts +17 -0
  540. package/src/enums/eUiRpgStatusEffect.ts +18 -0
  541. package/src/enums/eVehicleSeat.ts +14 -0
  542. package/src/enums/eWeaponAttachPoint.ts +35 -0
  543. package/src/enums/eWeaponHash.ts +174 -0
  544. package/src/enums/naSpeechEventType.ts +56 -0
  545. package/src/index.ts +164 -0
  546. package/src/namespaces/Aicoverpoint.ts +157 -0
  547. package/src/namespaces/Aitransport.ts +278 -0
  548. package/src/namespaces/Animscene.ts +255 -0
  549. package/src/namespaces/Attribute.ts +258 -0
  550. package/src/namespaces/Audio.ts +1925 -0
  551. package/src/namespaces/Badsport.ts +18 -0
  552. package/src/namespaces/Bounty.ts +289 -0
  553. package/src/namespaces/Brain.ts +115 -0
  554. package/src/namespaces/Builtin.ts +208 -0
  555. package/src/namespaces/CamStatics.ts +1563 -0
  556. package/src/namespaces/Clock.ts +174 -0
  557. package/src/namespaces/Collection.ts +299 -0
  558. package/src/namespaces/Companion.ts +224 -0
  559. package/src/namespaces/Compapp.ts +55 -0
  560. package/src/namespaces/Compendium.ts +302 -0
  561. package/src/namespaces/Crashlog.ts +107 -0
  562. package/src/namespaces/Crew.ts +151 -0
  563. package/src/namespaces/Databinding.ts +756 -0
  564. package/src/namespaces/Datafile.ts +559 -0
  565. package/src/namespaces/Debug.ts +36 -0
  566. package/src/namespaces/Decorator.ts +156 -0
  567. package/src/namespaces/Dlc.ts +38 -0
  568. package/src/namespaces/EntityStatics.ts +769 -0
  569. package/src/namespaces/Event.ts +388 -0
  570. package/src/namespaces/Fire.ts +325 -0
  571. package/src/namespaces/Flock.ts +450 -0
  572. package/src/namespaces/Gang.ts +345 -0
  573. package/src/namespaces/GoogleAnalytics.ts +41 -0
  574. package/src/namespaces/Graphics.ts +2412 -0
  575. package/src/namespaces/Hud.ts +1648 -0
  576. package/src/namespaces/Ik.ts +56 -0
  577. package/src/namespaces/Interaction.ts +64 -0
  578. package/src/namespaces/InteriorStatics.ts +153 -0
  579. package/src/namespaces/Inventory.ts +902 -0
  580. package/src/namespaces/Itemdatabase.ts +829 -0
  581. package/src/namespaces/Itemset.ts +64 -0
  582. package/src/namespaces/Law.ts +1142 -0
  583. package/src/namespaces/Localization.ts +60 -0
  584. package/src/namespaces/Map.ts +736 -0
  585. package/src/namespaces/Minigame.ts +396 -0
  586. package/src/namespaces/Misc.ts +2603 -0
  587. package/src/namespaces/Missiondata.ts +160 -0
  588. package/src/namespaces/Money.ts +73 -0
  589. package/src/namespaces/Netshopping.ts +248 -0
  590. package/src/namespaces/Network.ts +4813 -0
  591. package/src/namespaces/Object.ts +881 -0
  592. package/src/namespaces/Pad.ts +374 -0
  593. package/src/namespaces/Pathfind.ts +788 -0
  594. package/src/namespaces/PedStatics.ts +2584 -0
  595. package/src/namespaces/Perschar.ts +295 -0
  596. package/src/namespaces/Persistence.ts +187 -0
  597. package/src/namespaces/Physics.ts +717 -0
  598. package/src/namespaces/PlayerStatics.ts +1306 -0
  599. package/src/namespaces/Population.ts +287 -0
  600. package/src/namespaces/Posse.ts +267 -0
  601. package/src/namespaces/Propset.ts +285 -0
  602. package/src/namespaces/Queue.ts +24 -0
  603. package/src/namespaces/Recording.ts +16 -0
  604. package/src/namespaces/Replay.ts +53 -0
  605. package/src/namespaces/Save.ts +208 -0
  606. package/src/namespaces/Scripts.ts +816 -0
  607. package/src/namespaces/Shapetest.ts +119 -0
  608. package/src/namespaces/Socialclub.ts +301 -0
  609. package/src/namespaces/Socialclubfeed.ts +25 -0
  610. package/src/namespaces/Spactionproxy.ts +55 -0
  611. package/src/namespaces/Stats.ts +843 -0
  612. package/src/namespaces/Streaming.ts +628 -0
  613. package/src/namespaces/Task.ts +2290 -0
  614. package/src/namespaces/Telemetry.ts +755 -0
  615. package/src/namespaces/Txd.ts +71 -0
  616. package/src/namespaces/Uiapps.ts +151 -0
  617. package/src/namespaces/Uidebug.ts +36 -0
  618. package/src/namespaces/Uievents.ts +57 -0
  619. package/src/namespaces/Uifeed.ts +285 -0
  620. package/src/namespaces/Uilog.ts +257 -0
  621. package/src/namespaces/Uipinning.ts +17 -0
  622. package/src/namespaces/Uistatemachine.ts +106 -0
  623. package/src/namespaces/Uistickyfeed.ts +89 -0
  624. package/src/namespaces/Uitutorial.ts +53 -0
  625. package/src/namespaces/Unlock.ts +83 -0
  626. package/src/namespaces/VehicleStatics.ts +1410 -0
  627. package/src/namespaces/Voice.ts +189 -0
  628. package/src/namespaces/VolumeStatics.ts +569 -0
  629. package/src/namespaces/Water.ts +175 -0
  630. package/src/namespaces/WeaponStatics.ts +968 -0
  631. package/src/namespaces/Zone.ts +50 -0
  632. package/src/structs/BufferedClass.ts +14 -0
  633. package/src/structs/HorsePeltIn.ts +26 -0
  634. package/src/structs/HorsePeltOut.ts +21 -0
  635. package/src/types/BufferedClass.ts +14 -0
  636. package/src/types/Color.ts +32 -0
  637. package/src/types/HandleRegistry.ts +12 -0
  638. package/src/types/IHandle.ts +3 -0
  639. package/src/types/NativeAliases.ts +36 -0
  640. package/src/types/Vector2.ts +40 -0
  641. package/src/types/Vector3.ts +41 -0
  642. package/src/types/Vector4.ts +42 -0
@@ -0,0 +1,1681 @@
1
+ import type { eCarryingFlags } from '../enums/eCarryingFlags';
2
+ import type { eWeaponHash } from '../enums/eWeaponHash';
3
+ import type { Ped } from '../classes/Ped';
4
+ import type { Player } from '../classes/Player';
5
+ import type { Prop } from '../classes/Prop';
6
+ import type { Vehicle } from '../classes/Vehicle';
7
+ import { Vector2 } from '../types/Vector2';
8
+ import { Vector3 } from '../types/Vector3';
9
+ import { Vector4 } from '../types/Vector4';
10
+ import { Color } from '../types/Color';
11
+ import { IHandle } from '../types/IHandle';
12
+ import { registerHandle, createFromHandle } from '../types/HandleRegistry';
13
+ import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../types/NativeAliases';
14
+
15
+ export class Entity implements IHandle {
16
+ constructor(public handle: number) {}
17
+
18
+ static fromHandle(handle: number): Entity | null {
19
+ return handle === 0 ? null : new Entity(handle);
20
+ }
21
+
22
+ /**
23
+ * @param targetEntity
24
+ * @returns
25
+ */
26
+ isTouchingEntity(targetEntity: Entity): boolean {
27
+ return inv<boolean>('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
28
+ }
29
+
30
+ deleteCarriable(): void {
31
+ inv<void>('0x0D0DB2B6AF19A987', this.handle);
32
+ }
33
+
34
+ /**
35
+ * Returns a normalized value between 0.0f and 1.0f. You can get the actual anim time by multiplying this by GET_ANIM_DURATION
36
+ *
37
+ * @param animDict
38
+ * @param animName
39
+ * @returns
40
+ */
41
+ getAnimCurrentTime(animDict: string | null, animName: string | null): number {
42
+ return inv<number>('0x627520389E288A73', this.handle, animDict, animName, raf());
43
+ }
44
+
45
+ /**
46
+ * @param entity2
47
+ * @param thisFrameOnly
48
+ */
49
+ setNoCollisionEntity(entity2: Entity, thisFrameOnly: boolean): void {
50
+ inv<void>('0xE037BF068223C38D', this.handle, entity2.handle, thisFrameOnly);
51
+ }
52
+
53
+ /**
54
+ * Result is in meters per second (m/s)
55
+ *
56
+ * @returns
57
+ */
58
+ getSpeed(): number {
59
+ return inv<number>('0xFB6BA510A533DF81', this.handle, raf());
60
+ }
61
+
62
+ /**
63
+ * @param bOnlyDamagedWhenRunningScript
64
+ */
65
+ setCanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript: boolean): void {
66
+ inv<void>('0xFF83AF534156B399', this.handle, bOnlyDamagedWhenRunningScript);
67
+ }
68
+
69
+ /**
70
+ * @returns
71
+ */
72
+ isTrackedVisible(): any {
73
+ return inv<number>('0xC8CCDB712FBCBA92', this.handle);
74
+ }
75
+
76
+ /**
77
+ * @param p1
78
+ * @param collision
79
+ */
80
+ detachEntity(p1: boolean, collision: boolean): void {
81
+ inv<void>('0x64CDE9D6BF8ECAD3', this.handle, p1, collision);
82
+ }
83
+
84
+ /**
85
+ * @returns
86
+ */
87
+ isVisibleToScript(): boolean {
88
+ return inv<boolean>('0xF213C724E77F321A', this.handle, rai());
89
+ }
90
+
91
+ /**
92
+ * @param entity2
93
+ * @param traceType
94
+ * @returns
95
+ */
96
+ hasClearLosToEntity(entity2: Entity, traceType: number): boolean {
97
+ return inv<boolean>('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
98
+ }
99
+
100
+ /**
101
+ * Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED
102
+ * *GET_ENTITY**
103
+ *
104
+ * @param animDict
105
+ * @param animClip
106
+ * @returns
107
+ */
108
+ N_0x8E46E18AA828334F(animDict: string | null, animClip: string | null): number {
109
+ return inv<number>('0x8E46E18AA828334F', this.handle, animDict, animClip, raf());
110
+ }
111
+
112
+ /**
113
+ * @param playerPedToIgnore
114
+ * @param flags
115
+ * @returns
116
+ */
117
+ getNearestPlayerToEntity(playerPedToIgnore: Ped, flags: number): Player | null {
118
+ return createFromHandle<Player>('Player', inv<number>('0x990E294FC387FB88', this.handle, playerPedToIgnore.handle, flags, rai()));
119
+ }
120
+
121
+ /**
122
+ * Gets the Y-component of the entity's forward vector.
123
+ *
124
+ * @returns
125
+ */
126
+ getForwardY(): number {
127
+ return inv<number>('0x9A5C073ECBDA7EE7', this.handle, raf());
128
+ }
129
+
130
+ /**
131
+ * @param pitch
132
+ * @param roll
133
+ * @param yaw
134
+ * @param rotationOrder
135
+ * @param p5
136
+ */
137
+ setRotation(pitch: number, roll: number, yaw: number, rotationOrder: number, p5: boolean): void {
138
+ inv<void>('0x9CC8314DFEDE441E', this.handle, f(pitch), f(roll), f(yaw), rotationOrder, p5);
139
+ }
140
+
141
+ /**
142
+ * @param p1
143
+ * @param relationshipGroup
144
+ */
145
+ setOnlyDamagedByRelationshipGroup(p1: boolean, relationshipGroup: string | number): void {
146
+ inv<void>('0x6C1F6AA2F0ADD104', this.handle, p1, _h(relationshipGroup));
147
+ }
148
+
149
+ /**
150
+ * https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS
151
+ * BOOL p2: handles an additional special proofs flag, so it simply indicates whether it should be enabled or disabled, not sure what exactly it proofs the entity from though
152
+ *
153
+ * @param proofsBitset
154
+ * @param specialFlag
155
+ */
156
+ setProofs(proofsBitset: number, specialFlag: boolean): void {
157
+ inv<void>('0xFAEE099C6F890BB8', this.handle, proofsBitset, specialFlag);
158
+ }
159
+
160
+ /**
161
+ * @returns
162
+ */
163
+ hasCollisionLoadedAroundEntity(): boolean {
164
+ return inv<boolean>('0xBEB1600952B9CF5C', this.handle, rai());
165
+ }
166
+
167
+ /**
168
+ * @returns
169
+ */
170
+ getIsCarriablePelt(): any {
171
+ return inv<number>('0x255B6DB4E3AD3C3E', this.handle);
172
+ }
173
+
174
+ /**
175
+ * @param p1
176
+ * @returns
177
+ */
178
+ getVelocity(p1: number): Vector3 {
179
+ return Vector3.fromArray(inv<number[]>('0x4805D2B1D8CF94A9', this.handle, p1, rav()));
180
+ }
181
+
182
+ /**
183
+ * @param toggle
184
+ */
185
+ setCanAutoVaultOnEntity(toggle: boolean): void {
186
+ inv<void>('0x80646744FA88F9D7', this.handle, toggle);
187
+ }
188
+
189
+ /**
190
+ * Sets the loot table an entity will carry. Returns true if loot table has been successfully set. Returns false if entity is not a ped or object.
191
+ * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua
192
+ *
193
+ * @param lootTable
194
+ * @returns
195
+ */
196
+ scriptOverrideLootTablePermanent(lootTable: string | number): any {
197
+ return inv<number>('0x8C03CD6B5E0E85E8', this.handle, _h(lootTable));
198
+ }
199
+
200
+ /**
201
+ * @returns argStruct
202
+ */
203
+ getScript(): [string | number, number] {
204
+ const result = inv<[number, number]>('0x2A08A32B6D49906F', this.handle, pvi(), rai());
205
+ return [result[0] & 0xFFFFFFFF, result[1]];
206
+ }
207
+
208
+ /**
209
+ * @param actionHash
210
+ * @returns
211
+ */
212
+ hasAnimEventFired(actionHash: string | number): boolean {
213
+ return inv<boolean>('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
214
+ }
215
+
216
+ /**
217
+ * @param p1
218
+ */
219
+ N_0xEF259AA1E097E0AD(p1: any): void {
220
+ inv<void>('0xEF259AA1E097E0AD', this.handle, p1);
221
+ }
222
+
223
+ /**
224
+ * Getter for FREEZE_ENTITY_POSITION
225
+ *
226
+ * @returns
227
+ */
228
+ isFrozen(): any {
229
+ return inv<number>('0x083D497D57B7400F', this.handle);
230
+ }
231
+
232
+ /**
233
+ * Returns the entity that is looting a ped but only while the looting is active
234
+ *
235
+ * @returns
236
+ */
237
+ getLootingPed(): Ped | null {
238
+ return createFromHandle<Ped>('Ped', inv<number>('0xEF2D9ED7CE684F08', this.handle, rai()));
239
+ }
240
+
241
+ /**
242
+ * @returns
243
+ */
244
+ isWaitingForWorldCollision(): boolean {
245
+ return inv<boolean>('0x5E1CC2E8DC3111DD', this.handle, rai());
246
+ }
247
+
248
+ /**
249
+ * Gets the X-component of the entity's forward vector.
250
+ *
251
+ * @returns
252
+ */
253
+ getForwardX(): number {
254
+ return inv<number>('0xDB0954E9960F6457', this.handle, raf());
255
+ }
256
+
257
+ /**
258
+ * @returns
259
+ */
260
+ isAPed(): boolean {
261
+ return inv<boolean>('0xCF8176912DDA4EA5', this.handle, rai());
262
+ }
263
+
264
+ /**
265
+ * @returns
266
+ */
267
+ getPitch(): number {
268
+ return inv<number>('0xEF355ABEFF7F5005', this.handle, raf());
269
+ }
270
+
271
+ /**
272
+ * @returns
273
+ */
274
+ isStatic(): boolean {
275
+ return inv<boolean>('0x86468ADFA0F6B861', this.handle, rai());
276
+ }
277
+
278
+ /**
279
+ * Returns the model hash from the entity
280
+ *
281
+ * @returns
282
+ */
283
+ getModel(): string | number {
284
+ return (inv<number>('0xDA76A9F39210D365', this.handle, rai())) & 0xFFFFFFFF;
285
+ }
286
+
287
+ /**
288
+ * Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
289
+ */
290
+ deleteEntity(): void {
291
+ inv<void>('0x4CD38C78BD19A497', this.handle);
292
+ }
293
+
294
+ /**
295
+ * @param team
296
+ * @param playerPedToIgnore
297
+ * @param flags
298
+ * @returns
299
+ */
300
+ getNearestPlayerToOnTeam(team: number, playerPedToIgnore: Ped, flags: number): Player | null {
301
+ return createFromHandle<Player>('Player', inv<number>('0xB2C30C3B4AFF718C', this.handle, team, playerPedToIgnore.handle, flags, rai()));
302
+ }
303
+
304
+ /**
305
+ * @param p1
306
+ */
307
+ N_0x80FDEB3A9E9AA578(p1: boolean): void {
308
+ inv<void>('0x80FDEB3A9E9AA578', this.handle, p1);
309
+ }
310
+
311
+ /**
312
+ * Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine.
313
+ *
314
+ * @param p1
315
+ * @param p2
316
+ */
317
+ setAsMissionEntity(p1: boolean, p2: boolean): void {
318
+ inv<void>('0xDC19C288082E586E', this.handle, p1, p2);
319
+ }
320
+
321
+ /**
322
+ * Gets the entity's forward vector in XY(Z) eulers.
323
+ *
324
+ * @returns
325
+ */
326
+ getForwardVector(): Vector3 {
327
+ return Vector3.fromArray(inv<number[]>('0x2412D9C05BB09B97', this.handle, rav()));
328
+ }
329
+
330
+ /**
331
+ * @param modelHash
332
+ * @returns
333
+ */
334
+ isTouchingModel(modelHash: string | number): boolean {
335
+ return inv<boolean>('0x2AE3EBC8DEB9768B', this.handle, _h(modelHash), rai());
336
+ }
337
+
338
+ /**
339
+ * Sets the entity's health. healthAmount sets the health value to that, and sets the maximum health core value. Setting healthAmount to 0 will kill the entity. entityKilledBy parameter can also be 0
340
+ *
341
+ * @param healthAmount
342
+ * @param entityKilledBy
343
+ */
344
+ setHealth(healthAmount: number, entityKilledBy: Entity): void {
345
+ inv<void>('0xAC2767ED8BDFAB15', this.handle, healthAmount, entityKilledBy.handle);
346
+ }
347
+
348
+ /**
349
+ * @param toggle
350
+ */
351
+ setRenderScorched(toggle: boolean): void {
352
+ inv<void>('0x85B8A7534E44BC23', this.handle, toggle);
353
+ }
354
+
355
+ /**
356
+ * @param heading
357
+ */
358
+ setHeading(heading: number): void {
359
+ inv<void>('0xCF2B9C0645C4651B', this.handle, f(heading));
360
+ }
361
+
362
+ /**
363
+ * @returns
364
+ */
365
+ getCollisionDisabled(): boolean {
366
+ return inv<boolean>('0xAA2FADD30F45A9DA', this.handle, rai());
367
+ }
368
+
369
+ /**
370
+ * Displays the current ROLL axis of the entity [-180.0000/180.0000+]
371
+ * (Sideways Roll) such as a vehicle tipped on its side
372
+ *
373
+ * @returns
374
+ */
375
+ getRoll(): number {
376
+ return inv<number>('0xBF966536FA8B6879', this.handle, raf());
377
+ }
378
+
379
+ /**
380
+ * @returns
381
+ */
382
+ getNearestParticipantToEntity(): Player | null {
383
+ return createFromHandle<Player>('Player', inv<number>('0x6888A43C35A5F630', this.handle, rai()));
384
+ }
385
+
386
+ /**
387
+ * enum eCarriableState
388
+ * {
389
+ * CARRIABLE_STATE_NONE,
390
+ * CARRIABLE_STATE_TRANSITIONING_TO_HOGTIED,
391
+ * CARRIABLE_STATE_CARRIABLE_INTRO,
392
+ * CARRIABLE_STATE_CARRIABLE,
393
+ * CARRIABLE_STATE_BEING_PICKED_UP_FROM_GROUND,
394
+ * CARRIABLE_STATE_CARRIED_BY_HUMAN,
395
+ * CARRIABLE_STATE_BEING_PLACED_ON_GROUND,
396
+ * CARRIABLE_STATE_CARRIED_BY_MOUNT,
397
+ * CARRIABLE_STATE_BEING_PLACED_ON_MOUNT,
398
+ * CARRIABLE_STATE_BEING_PICKED_UP_FROM_MOUNT,
399
+ * CARRIABLE_STATE_BEING_CUT_FREE,
400
+ * CARRIABLE_STATE_BEING_PLACED_ON_GROUND_ESCAPE,
401
+ * CARRIABLE_STATE_BEING_PLACED_IN_VEHICLE
402
+ * };
403
+ *
404
+ * @returns
405
+ */
406
+ getCarriableState(): number {
407
+ return inv<number>('0x61914209C36EFDDB', this.handle, rai());
408
+ }
409
+
410
+ /**
411
+ * @param value
412
+ */
413
+ setMaxHealth(value: number): void {
414
+ inv<void>('0x166E7CF68597D8B5', this.handle, value);
415
+ }
416
+
417
+ /**
418
+ * Params: p1 (probably animType) = 1, 0
419
+ *
420
+ * @param p1
421
+ * @returns
422
+ */
423
+ isPlayingAnyAnim(p1: number): boolean {
424
+ return inv<boolean>('0x0B7CB1300CBFE19C', this.handle, p1, rai());
425
+ }
426
+
427
+ /**
428
+ * @param enabled
429
+ */
430
+ setLightsEnabled(enabled: boolean): void {
431
+ inv<void>('0xEBDC12861D079ABA', this.handle, enabled);
432
+ }
433
+
434
+ /**
435
+ * Offset values are relative to the entity. x = left/right
436
+ * y = forward/backward
437
+ * z = up/down
438
+ *
439
+ * @param offset
440
+ * @returns
441
+ */
442
+ getOffsetFromInWorldCoords(offset: Vector3): Vector3 {
443
+ return Vector3.fromArray(inv<number[]>('0x1899F328B0E12848', this.handle, f(offset.x), f(offset.y), f(offset.z), rav()));
444
+ }
445
+
446
+ /**
447
+ * Checks if entity1 is within the box defined by x/y/zSize of entity2. Last three parameters are almost always p5 = 0, p6 = 1, p7 = 0
448
+ *
449
+ * @param entity2
450
+ * @param xSize
451
+ * @param ySize
452
+ * @param zSize
453
+ * @param p5
454
+ * @param p6
455
+ * @param p7
456
+ * @returns
457
+ */
458
+ isAtEntity(entity2: Entity, xSize: number, ySize: number, zSize: number, p5: boolean, p6: boolean, p7: number): boolean {
459
+ return inv<boolean>('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
460
+ }
461
+
462
+ /**
463
+ * @param toggle
464
+ */
465
+ setVisible(toggle: boolean): void {
466
+ inv<void>('0x1794B4FCC84D812F', this.handle, toggle);
467
+ }
468
+
469
+ /**
470
+ * Old name: _SET_ENTITY_CLEANUP_BY_ENGINE
471
+ *
472
+ * @param toggle
473
+ */
474
+ setShouldFreezeWaitingOnCollision(toggle: boolean): void {
475
+ inv<void>('0x740CB4F3F602C9F4', this.handle, toggle);
476
+ }
477
+
478
+ /**
479
+ * Note: this native was removed in 1232 but added back in 1311
480
+ * Old name: _GET_ENTITY_PROOFS
481
+ *
482
+ * @returns
483
+ */
484
+ getProofs(): number {
485
+ return inv<number>('0x6CF0DAD7FA1088EA', this.handle, rai());
486
+ }
487
+
488
+ /**
489
+ * skin - everything alpha except skin
490
+ * Set entity alpha level. Ranging from 0 to 255 but changes occur after every 20 percent (after every 51).
491
+ *
492
+ * @param alphaLevel
493
+ * @param skin
494
+ */
495
+ setAlpha(alphaLevel: number, skin: boolean): void {
496
+ inv<void>('0x0DF7692B1D9E7BA7', this.handle, alphaLevel, skin);
497
+ }
498
+
499
+ /**
500
+ * @returns
501
+ */
502
+ getThreatTier(): number {
503
+ return inv<number>('0xE12F56CB25D9CE23', this.handle, rai());
504
+ }
505
+
506
+ /**
507
+ * @returns
508
+ */
509
+ isUpsidedown(): boolean {
510
+ return inv<boolean>('0x109DE3DA41AAD94A', this.handle, rai());
511
+ }
512
+
513
+ /**
514
+ * @param p1
515
+ * @returns
516
+ */
517
+ doesBelongToThisScript(p1: boolean): boolean {
518
+ return inv<boolean>('0x622B1980CBE13332', this.handle, p1, rai());
519
+ }
520
+
521
+ /**
522
+ * Returns a hash of an entity's name. (Alternative Name: _GET_ENTITY_PROMPT_NAME_HASH)
523
+ *
524
+ * @returns
525
+ */
526
+ getCarriableFromEntity(): string | number {
527
+ return (inv<number>('0x31FEF6A20F00B963', this.handle, rai())) & 0xFFFFFFFF;
528
+ }
529
+
530
+ /**
531
+ * @param toggle
532
+ * @param keepPhysics
533
+ */
534
+ setCollision(toggle: boolean, keepPhysics: boolean): void {
535
+ inv<void>('0xF66F820909453B8C', this.handle, toggle, keepPhysics);
536
+ }
537
+
538
+ /**
539
+ * @param p1
540
+ * @returns
541
+ */
542
+ placeOnGroundProperly(p1: boolean): any {
543
+ return inv<number>('0x9587913B9E772D29', this.handle, p1);
544
+ }
545
+
546
+ /**
547
+ * @returns
548
+ */
549
+ isInWater(): boolean {
550
+ return inv<boolean>('0xDDE5C125AC446723', this.handle, rai());
551
+ }
552
+
553
+ /**
554
+ * @returns Returns `true` if the entity exists
555
+ */
556
+ doesExist(): boolean {
557
+ return inv<boolean>('0xD42BD6EB2E0F1677', this.handle, rai());
558
+ }
559
+
560
+ /**
561
+ * @returns
562
+ */
563
+ getAlpha(): number {
564
+ return inv<number>('0x1BB501624FAF2BEA', this.handle, rai());
565
+ }
566
+
567
+ /**
568
+ * This native only works on `Ped` and `Object` entity types
569
+ *
570
+ * @param flagId Refer to [enum: eCarryingFlags]
571
+ * @returns
572
+ */
573
+ getCarryingFlag(flagId: eCarryingFlags): number {
574
+ return inv<number>('0x808077647856DE62', this.handle, flagId, rai());
575
+ }
576
+
577
+ /**
578
+ * @param p1
579
+ */
580
+ forceAiAndAnimationUpdate(p1: boolean): void {
581
+ inv<void>('0x4C9E96473D4F1A88', this.handle, p1);
582
+ }
583
+
584
+ /**
585
+ * Axis - Invert Axis Flags
586
+ *
587
+ * @param pos
588
+ * @param xAxis
589
+ * @param yAxis
590
+ * @param zAxis
591
+ */
592
+ setCoordsNoOffset(pos: Vector3, xAxis: boolean, yAxis: boolean, zAxis: boolean): void {
593
+ inv<void>('0x239A3351AC1DA385', this.handle, f(pos.x), f(pos.y), f(pos.z), xAxis, yAxis, zAxis);
594
+ }
595
+
596
+ /**
597
+ * Returns (CUR_HEALTH / MAX_HEALTH)
598
+ *
599
+ * @returns
600
+ */
601
+ getHealthFloat(): number {
602
+ return inv<number>('0x96C638784DB4C815', this.handle, raf());
603
+ }
604
+
605
+ /**
606
+ * @returns
607
+ */
608
+ getIsBird(): any {
609
+ return inv<number>('0xC346A546612C49A9', this.handle);
610
+ }
611
+
612
+ /**
613
+ * Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR
614
+ *
615
+ * @returns
616
+ */
617
+ getForwardVectorYx(): Vector3 {
618
+ return Vector3.fromArray(inv<number[]>('0x935A30AA88FB1014', this.handle, rav()));
619
+ }
620
+
621
+ /**
622
+ * @param pos
623
+ * @param xAxis
624
+ * @param yAxis
625
+ * @param zAxis
626
+ * @param clearArea
627
+ */
628
+ setCoords(pos: Vector3, xAxis: boolean, yAxis: boolean, zAxis: boolean, clearArea: boolean): void {
629
+ inv<void>('0x06843DA7060A026B', this.handle, f(pos.x), f(pos.y), f(pos.z), xAxis, yAxis, zAxis, clearArea);
630
+ }
631
+
632
+ /**
633
+ * @param boneName
634
+ * @returns
635
+ */
636
+ getBoneIndexByName(boneName: string | null): number {
637
+ return inv<number>('0xBACA8FE9C76C124E', this.handle, boneName, rai());
638
+ }
639
+
640
+ /**
641
+ * @param pause
642
+ */
643
+ pauseTracking(pause: boolean): void {
644
+ inv<void>('0x36EB4D34D4A092C5', this.handle, pause);
645
+ }
646
+
647
+ /**
648
+ * @param toggle
649
+ */
650
+ setLoadCollisionFlag(toggle: boolean): void {
651
+ inv<void>('0x9B9EE31AED48072E', this.handle, toggle);
652
+ }
653
+
654
+ /**
655
+ * Changes type and quality of skins
656
+ * type hashes: https://pastebin.com/C1WvQjCy
657
+ *
658
+ * @param type
659
+ */
660
+ setCarcassType(type: string | number): void {
661
+ inv<void>('0x399657ED871B3A6C', this.handle, _h(type));
662
+ }
663
+
664
+ /**
665
+ * @param toggle
666
+ */
667
+ setHasGravity(toggle: boolean): void {
668
+ inv<void>('0x0CEDB728A1083FA7', this.handle, toggle);
669
+ }
670
+
671
+ /**
672
+ * @param relative
673
+ * @returns
674
+ */
675
+ getSpeedVector(relative: boolean): Vector3 {
676
+ return Vector3.fromArray(inv<number[]>('0xF2DB09816A419DC5', this.handle, relative, rav()));
677
+ }
678
+
679
+ /**
680
+ * @param entity2
681
+ * @param p2
682
+ * @param p3
683
+ * @returns
684
+ */
685
+ hasBeenDamagedByEntity(entity2: Entity, p2: boolean, p3: boolean): boolean {
686
+ return inv<boolean>('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
687
+ }
688
+
689
+ /**
690
+ * @returns
691
+ */
692
+ isFullyLooted(): any {
693
+ return inv<number>('0x8DE41E9902E85756', this.handle);
694
+ }
695
+
696
+ /**
697
+ * @returns
698
+ */
699
+ isOccluded(): boolean {
700
+ return inv<boolean>('0x140188E884645624', this.handle, rai());
701
+ }
702
+
703
+ /**
704
+ * @param toggle
705
+ */
706
+ setCanBeDamaged(toggle: boolean): void {
707
+ inv<void>('0x0D06D522B90E861F', this.handle, toggle);
708
+ }
709
+
710
+ /**
711
+ * @param forceFlags
712
+ * @param pos
713
+ * @param offset
714
+ * @param boneIndex
715
+ * @param isDirectionRel
716
+ * @param ignoreUpVec
717
+ * @param isForceRel
718
+ * @param p12
719
+ * @param p13
720
+ */
721
+ applyForceToEntity(forceFlags: number, pos: Vector3, offset: Vector3, boneIndex: number, isDirectionRel: boolean, ignoreUpVec: boolean, isForceRel: boolean, p12: boolean, p13: boolean): void {
722
+ inv<void>('0xF15E8F5D333F09C4', this.handle, forceFlags, f(pos.x), f(pos.y), f(pos.z), f(offset.x), f(offset.y), f(offset.z), boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13);
723
+ }
724
+
725
+ /**
726
+ * @returns
727
+ */
728
+ isDead(): boolean {
729
+ return inv<boolean>('0x7D5B1F88E7504BBA', this.handle, rai());
730
+ }
731
+
732
+ /**
733
+ * @param pos1
734
+ * @param pos2
735
+ * @param p7
736
+ * @param p8
737
+ * @param p9
738
+ * @returns
739
+ */
740
+ isInArea(pos1: Vector3, pos2: Vector3, p7: boolean, p8: boolean, p9: any): boolean {
741
+ 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());
742
+ }
743
+
744
+ /**
745
+ * Returns the coordinates of an entity-bone.
746
+ * https://github.com/femga/rdr3_discoveries/tree/master/boneNames
747
+ *
748
+ * @param boneIndex
749
+ * @returns
750
+ */
751
+ getWorldPositionOfBone(boneIndex: number): Vector3 {
752
+ return Vector3.fromArray(inv<number[]>('0x82CFA50E34681CA5', this.handle, boneIndex, rav()));
753
+ }
754
+
755
+ /**
756
+ * https://github.com/femga/rdr3_discoveries/tree/master/animations
757
+ *
758
+ * @param animName
759
+ * @param animDict
760
+ * @param p3
761
+ * @param loop
762
+ * @param stayInAnim
763
+ * @param p6
764
+ * @param delta
765
+ * @param bitset
766
+ * @returns
767
+ */
768
+ playAnim(animName: string | null, animDict: string | null, p3: number, loop: boolean, stayInAnim: boolean, p6: boolean, delta: number, bitset: any): boolean {
769
+ return inv<boolean>('0xDC6D22FAB76D4874', this.handle, animName, animDict, f(p3), loop, stayInAnim, p6, f(delta), bitset, rai());
770
+ }
771
+
772
+ /**
773
+ * Returns false if entity is not a ped or object.
774
+ *
775
+ * @returns lootTable
776
+ */
777
+ getScriptOverrideLootTablePermanent(): [any, number] {
778
+ const result = inv<[number, number]>('0x1E804EA9B12030A4', this.handle, pvi());
779
+ return [result[0], result[1]];
780
+ }
781
+
782
+ /**
783
+ * @param animDict
784
+ * @param animName
785
+ * @param p3
786
+ * @returns
787
+ */
788
+ hasAnimFinished(animDict: string | null, animName: string | null, p3: number): boolean {
789
+ return inv<boolean>('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
790
+ }
791
+
792
+ /**
793
+ * @param bCanBeDamaged
794
+ * @param relGroup
795
+ */
796
+ setCanBeDamagedByRelationshipGroup(bCanBeDamaged: boolean, relGroup: string | number): void {
797
+ inv<void>('0x0EF1AFB18649E015', this.handle, bCanBeDamaged, _h(relGroup));
798
+ }
799
+
800
+ /**
801
+ * @returns
802
+ */
803
+ getUprightValue(): number {
804
+ return inv<number>('0x56398BE65160C3BE', this.handle, raf());
805
+ }
806
+
807
+ /**
808
+ * @param pos
809
+ * @param heading
810
+ * @param xAxis
811
+ * @param yAxis
812
+ * @param zAxis
813
+ */
814
+ setCoordsAndHeading(pos: Vector3, heading: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): void {
815
+ inv<void>('0x203BEFFDBE12E96A', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), xAxis, yAxis, zAxis);
816
+ }
817
+
818
+ /**
819
+ * Returns zero if the entity is not a carriable
820
+ *
821
+ * @returns
822
+ */
823
+ getCarryConfig(): string | number {
824
+ return (inv<number>('0x0FD25587BB306C86', this.handle, rai())) & 0xFFFFFFFF;
825
+ }
826
+
827
+ /**
828
+ * tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
829
+ *
830
+ * @param tier
831
+ * @param p2
832
+ */
833
+ setThreatTier(tier: number, p2: boolean): void {
834
+ inv<void>('0x4B436BAC8CBE9B07', this.handle, tier, p2);
835
+ }
836
+
837
+ /**
838
+ * Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
839
+ *
840
+ * @returns
841
+ */
842
+ getHeading(): number {
843
+ return inv<number>('0xC230DD956E2F5507', this.handle, raf());
844
+ }
845
+
846
+ /**
847
+ * Returns the LOD distance of an entity.
848
+ *
849
+ * @returns
850
+ */
851
+ getLodDist(): number {
852
+ return inv<number>('0xDF240D0C2A948683', this.handle, rai());
853
+ }
854
+
855
+ /**
856
+ * @returns
857
+ */
858
+ doesHaveDrawable(): boolean {
859
+ return inv<boolean>('0x20487F0DA9AF164A', this.handle, rai());
860
+ }
861
+
862
+ /**
863
+ * @param xyzw
864
+ */
865
+ setQuaternion(xyzw: Vector4): void {
866
+ inv<void>('0x100E7007D13E3687', this.handle, f(xyzw.x), f(xyzw.y), f(xyzw.z), f(xyzw.w));
867
+ }
868
+
869
+ /**
870
+ * @returns
871
+ */
872
+ isAttachedToAnyObject(): boolean {
873
+ return inv<boolean>('0x306C1F6178F01AB3', this.handle, rai());
874
+ }
875
+
876
+ /**
877
+ * Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.
878
+ *
879
+ * @param toggle
880
+ */
881
+ setInvincible(toggle: boolean): void {
882
+ inv<void>('0xA5C38736C426FCB8', this.handle, toggle);
883
+ }
884
+
885
+ /**
886
+ * Attaches entity1 to bone (boneIndex) of entity2. boneIndex - this is different to boneID, use GET_PED_BONE_INDEX to get the index from the ID. use the index for attaching to specific bones. entity1 will be attached to entity2's centre if bone index given doesn't correspond to bone indexes for that entity type.
887
+ * https://github.com/femga/rdr3_discoveries/tree/master/boneNames useSoftPinning - if set to false attached entity will not detach when fixed
888
+ * collision - controls collision between the two entities (FALSE disables collision).
889
+ * isPed - pitch doesn't work when false and roll will only work on negative numbers (only peds)
890
+ * vertexIndex - position of vertex
891
+ * fixedRot - if false it ignores entity vector
892
+ *
893
+ * @param entity2
894
+ * @param boneIndex
895
+ * @param pos
896
+ * @param rot
897
+ * @param p9
898
+ * @param useSoftPinning
899
+ * @param collision
900
+ * @param isPed
901
+ * @param vertexIndex
902
+ * @param fixedRot
903
+ * @param p15
904
+ * @param p16
905
+ */
906
+ attachToEntity(entity2: Entity, boneIndex: number, pos: Vector3, rot: Vector3, p9: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number, fixedRot: boolean, p15: boolean, p16: boolean): void {
907
+ inv<void>('0x6B9BBD38AB0796DF', this.handle, entity2.handle, boneIndex, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16);
908
+ }
909
+
910
+ /**
911
+ * @returns
912
+ */
913
+ getIsAnimal(): any {
914
+ return inv<number>('0x9A100F1CF4546629', this.handle);
915
+ }
916
+
917
+ /**
918
+ * p6/relative - makes the xyz force not relative to world coords, but to something else
919
+ * p7/highForce - setting false will make the force really low
920
+ *
921
+ * @param forceType
922
+ * @param pos
923
+ * @param component
924
+ * @param isDirectionRel
925
+ * @param isForceRel
926
+ * @param p8
927
+ */
928
+ applyForceToCenterOfMass(forceType: number, pos: Vector3, component: number, isDirectionRel: boolean, isForceRel: boolean, p8: boolean): void {
929
+ inv<void>('0x31DA7CEC5334DB37', this.handle, forceType, f(pos.x), f(pos.y), f(pos.z), component, isDirectionRel, isForceRel, p8);
930
+ }
931
+
932
+ /**
933
+ * Old name: _GET_ENTITY_CAN_BE_DAMAGED
934
+ *
935
+ * @returns
936
+ */
937
+ getCanBeDamaged(): any {
938
+ return inv<number>('0x75DF9E73F2F005FD', this.handle);
939
+ }
940
+
941
+ /**
942
+ * Seems to return true if entity is burned / scorched
943
+ * *GET_ENTITY**
944
+ *
945
+ * @returns
946
+ */
947
+ N_0x37B01666BAE8F7EF(): any {
948
+ return inv<number>('0x37B01666BAE8F7EF', this.handle);
949
+ }
950
+
951
+ /**
952
+ * @param toggle
953
+ */
954
+ setRequiresMoreExpensiveRiverCheck(toggle: boolean): void {
955
+ inv<void>('0x850C940EE3E7B8B5', this.handle, toggle);
956
+ }
957
+
958
+ /**
959
+ * @param boneIndex
960
+ * @returns Returns the offset from the entity for the selected bone index.
961
+ */
962
+ getOffsetFromBone(boneIndex: number): Vector3 {
963
+ return Vector3.fromArray(inv<number[]>('0x5E214112806591EA', this.handle, boneIndex, rav()));
964
+ }
965
+
966
+ N_0x9C6906EF8CB20C5F(): void {
967
+ inv<void>('0x9C6906EF8CB20C5F', this.handle);
968
+ }
969
+
970
+ /**
971
+ * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
972
+ *
973
+ * @returns
974
+ */
975
+ getPedIndexFromIndex(): Ped | null {
976
+ return createFromHandle<Ped>('Ped', inv<number>('0x0F16D042BD640EA3', this.handle, rai()));
977
+ }
978
+
979
+ /**
980
+ * Sets whether the entity can be targeted without being in line-of-sight.
981
+ *
982
+ * @param toggle
983
+ */
984
+ setCanBeTargetedWithoutLos(toggle: boolean): void {
985
+ inv<void>('0x6D09F32E284D0FB7', this.handle, toggle);
986
+ }
987
+
988
+ /**
989
+ * @returns
990
+ */
991
+ isOnScreen(): boolean {
992
+ return inv<boolean>('0x613C15D5D8DB781F', this.handle, rai());
993
+ }
994
+
995
+ /**
996
+ * Old name: _SET_ENTITY_DECALS_DISABLED
997
+ *
998
+ * @param toggle
999
+ */
1000
+ setNoweapondecals(toggle: boolean): void {
1001
+ inv<void>('0xC64E597783BE9A1D', this.handle, toggle);
1002
+ }
1003
+
1004
+ /**
1005
+ * @returns
1006
+ */
1007
+ getHealth(): number {
1008
+ return inv<number>('0x82368787EA73C0F7', this.handle, rai());
1009
+ }
1010
+
1011
+ /**
1012
+ * sets the fill in state for some objects like for the stew, coffee mug ,poker chips, jugs ? P1 is either 0 or 2 p2 seems to be a label/name p3 is the fill in state, max seems to be for some 3.0 (most is 1.0) - 0.0
1013
+ * heres some of the labels/names found
1014
+ * tumbler_fill, Canvas, Stew_Fill, from Chip01_Ctrl to Chip10_Ctrl, from empty_jug01_Ctrl to empty_jug20_Ctrl, from full_jug01_Ctrl to full_jug20_Ctrl, CTRL_cupFill, Food_DOF_Fill, from WhiteChip_Ctrl_0 to WhiteChip_Ctrl_10, from BlueChip_Ctrl_0 to BlueChip_Ctrl_10, from BlackChip_Ctrl_0 to BlackChip_Ctrl_10, from RedChip_Ctrl_0 to RedChip_Ctrl_10,
1015
+ *
1016
+ * @param p1
1017
+ * @param p2
1018
+ * @param fill
1019
+ */
1020
+ setFillInStateForEntity(p1: number, p2: string | null, fill: number): void {
1021
+ inv<void>('0x669655FFB29EF1A9', this.handle, p1, p2, f(fill));
1022
+ }
1023
+
1024
+ /**
1025
+ * @returns
1026
+ */
1027
+ doesHavePhysics(): boolean {
1028
+ return inv<boolean>('0xA512B3F1B2A0B51C', this.handle, rai());
1029
+ }
1030
+
1031
+ /**
1032
+ * Returns true if calling script owns specified entity
1033
+ *
1034
+ * @returns
1035
+ */
1036
+ doesThreadOwnThisEntity(): any {
1037
+ return inv<number>('0x88AD6CC10D8D35B2', this.handle);
1038
+ }
1039
+
1040
+ /**
1041
+ * Attach an entity to coordinates physically better name may be perfered? seems to be used with boats `p_skiff02x` ? The last 6 params are always 0 everywhere in the base code. p7 = 500.0 some kind of time? p8 =1
1042
+ *
1043
+ * @param pos
1044
+ * @param offset
1045
+ * @param p7
1046
+ * @param p8
1047
+ * @param p9
1048
+ * @param p10
1049
+ * @param p11
1050
+ * @param p12
1051
+ * @param p13
1052
+ * @param p14
1053
+ */
1054
+ attachToCoordsPhysically(pos: Vector3, offset: Vector3, p7: number, p8: boolean, p9: number, p10: number, p11: number, p12: number, p13: number, p14: number): void {
1055
+ inv<void>('0x445D7D8EA66E373E', this.handle, f(pos.x), f(pos.y), f(pos.z), f(offset.x), f(offset.y), f(offset.z), f(p7), p8, p9, p10, p11, p12, p13, p14);
1056
+ }
1057
+
1058
+ /**
1059
+ * *REMOVE_DECALS** - _REMOVE_FORCED*
1060
+ */
1061
+ N_0x5826EFD6D73C4DE5(): void {
1062
+ inv<void>('0x5826EFD6D73C4DE5', this.handle);
1063
+ }
1064
+
1065
+ /**
1066
+ * @param toggle
1067
+ */
1068
+ freezePosition(toggle: boolean): void {
1069
+ inv<void>('0x7D9EFB7AD6B19754', this.handle, toggle);
1070
+ }
1071
+
1072
+ /**
1073
+ * Alters entity's health by 'amount'. Can be negative (to drain health).
1074
+ * In the scripts entity2 and weaponHash are unused (zero).
1075
+ *
1076
+ * @param amount
1077
+ * @param entity2
1078
+ * @param weaponHash Refer to [enum: eWeaponHash]
1079
+ * @returns
1080
+ */
1081
+ changeHealth(amount: number, entity2: Entity, weaponHash: eWeaponHash): any {
1082
+ return inv<number>('0x835F131E7DC8F97A', this.handle, f(amount), entity2.handle, weaponHash);
1083
+ }
1084
+
1085
+ /**
1086
+ * @returns
1087
+ */
1088
+ getAttachedTo(): Entity | null {
1089
+ return createFromHandle<Entity>('Entity', inv<number>('0x56D713888A566481', this.handle, rai()));
1090
+ }
1091
+
1092
+ /**
1093
+ * @param toggle
1094
+ */
1095
+ setOnlyDamagedByPlayer(toggle: boolean): void {
1096
+ inv<void>('0x473598683095D430', this.handle, toggle);
1097
+ }
1098
+
1099
+ /**
1100
+ * @param p1
1101
+ * @param p2
1102
+ */
1103
+ setIsTargetPriority(p1: boolean, p2: number): void {
1104
+ inv<void>('0x0A5D170C44CB2189', this.handle, p1, f(p2));
1105
+ }
1106
+
1107
+ /**
1108
+ * @param pos
1109
+ * @param flags
1110
+ * @returns
1111
+ */
1112
+ hasClearLosToCoord(pos: Vector3, flags: number): any {
1113
+ return inv<number>('0x0C9DBF48C6BA6E4C', this.handle, f(pos.x), f(pos.y), f(pos.z), flags);
1114
+ }
1115
+
1116
+ /**
1117
+ * @param flagId Refer to [enum: eCarryingFlags]
1118
+ * @param value
1119
+ */
1120
+ setCarryingFlag(flagId: eCarryingFlags, value: boolean): void {
1121
+ inv<void>('0x18FF3110CF47115D', this.handle, flagId, value);
1122
+ }
1123
+
1124
+ /**
1125
+ * @returns
1126
+ */
1127
+ getIsPredator(): any {
1128
+ return inv<number>('0x5594AFE9DE0C01B7', this.handle);
1129
+ }
1130
+
1131
+ /**
1132
+ * Returns entityType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityType
1133
+ *
1134
+ * @returns
1135
+ */
1136
+ getType(): number {
1137
+ return inv<number>('0x97F696ACA466B4E0', this.handle, rai());
1138
+ }
1139
+
1140
+ /**
1141
+ * @returns
1142
+ */
1143
+ isOwnedByPersistenceSystem(): any {
1144
+ return inv<number>('0xA7E51B53309EAC97', this.handle);
1145
+ }
1146
+
1147
+ /**
1148
+ * @param animDict
1149
+ * @param animName
1150
+ * @param animType
1151
+ * @returns
1152
+ */
1153
+ isPlayingAnim(animDict: string | null, animName: string | null, animType: number): boolean {
1154
+ return inv<boolean>('0xDEE49D5CA6C49148', this.handle, animDict, animName, animType, rai());
1155
+ }
1156
+
1157
+ /**
1158
+ * Marks the specified entity (ped, vehicle or object) as no longer needed, allowing the game engine to delete it whenever it sees fit.
1159
+ */
1160
+ setAsNoLongerNeeded(): void {
1161
+ inv<void>('0x4971D2F8162B9674', this.handle);
1162
+ }
1163
+
1164
+ /**
1165
+ * @returns
1166
+ */
1167
+ hasBeenDamagedByAnyVehicle(): boolean {
1168
+ return inv<boolean>('0x695D7C26DE65C423', this.handle, rai());
1169
+ }
1170
+
1171
+ /**
1172
+ * @param animDict
1173
+ * @param animName
1174
+ * @param speedMultiplier
1175
+ */
1176
+ setAnimSpeed(animDict: string | null, animName: string | null, speedMultiplier: number): void {
1177
+ inv<void>('0xEAA885BA3CEA4E4A', this.handle, animDict, animName, f(speedMultiplier));
1178
+ }
1179
+
1180
+ unpinMapEntity(): void {
1181
+ inv<void>('0xD2B9C78537ED5759', this.handle);
1182
+ }
1183
+
1184
+ /**
1185
+ * Get how much of the entity is submerged. 1.0f is whole entity.
1186
+ *
1187
+ * @returns
1188
+ */
1189
+ getSubmergedLevel(): number {
1190
+ return inv<number>('0x4A77C3F73FD9E831', this.handle, raf());
1191
+ }
1192
+
1193
+ /**
1194
+ * @returns
1195
+ */
1196
+ isAttached(): boolean {
1197
+ return inv<boolean>('0xEE6AD63ABF59C0B7', this.handle, rai());
1198
+ }
1199
+
1200
+ /**
1201
+ * SET_ENTITY_A*
1202
+ *
1203
+ * @param p1
1204
+ */
1205
+ N_0xC0EDEF16D90661EE(p1: number): void {
1206
+ inv<void>('0xC0EDEF16D90661EE', this.handle, f(p1));
1207
+ }
1208
+
1209
+ /**
1210
+ * @param looted
1211
+ */
1212
+ setFullyLooted(looted: boolean): void {
1213
+ inv<void>('0x6BCF5F3D8FFE988D', this.handle, looted);
1214
+ }
1215
+
1216
+ /**
1217
+ * @returns
1218
+ */
1219
+ isAttachedToAnyVehicle(): boolean {
1220
+ return inv<boolean>('0x12DF6E0D2E736749', this.handle, rai());
1221
+ }
1222
+
1223
+ /**
1224
+ * @param p1
1225
+ */
1226
+ N_0xA48E4801DEBDF7E4(p1: boolean): void {
1227
+ inv<void>('0xA48E4801DEBDF7E4', this.handle, p1);
1228
+ }
1229
+
1230
+ /**
1231
+ * @param toggle
1232
+ * @param keepPhysics
1233
+ */
1234
+ setCompletelyDisableCollision(toggle: boolean, keepPhysics: boolean): void {
1235
+ inv<void>('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
1236
+ }
1237
+
1238
+ /**
1239
+ * @param p1
1240
+ */
1241
+ N_0xCDB682BB47C02F0A(p1: string | number): void {
1242
+ inv<void>('0xCDB682BB47C02F0A', this.handle, _h(p1));
1243
+ }
1244
+
1245
+ /**
1246
+ * @param volume
1247
+ * @param p2
1248
+ * @param p3
1249
+ * @returns
1250
+ */
1251
+ isInVolume(volume: number, p2: boolean, p3: number): boolean {
1252
+ return inv<boolean>('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
1253
+ }
1254
+
1255
+ /**
1256
+ * @returns rightVector; forwardVector; upVector; position
1257
+ */
1258
+ getMatrix(): [Vector3, Vector3, Vector3, Vector3] {
1259
+ const result = inv<[number[], number[], number[], number[]]>('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
1260
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
1261
+ }
1262
+
1263
+ /**
1264
+ * 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.
1265
+ */
1266
+ N_0x371D179701D9C082(): void {
1267
+ inv<void>('0x371D179701D9C082', this.handle);
1268
+ }
1269
+
1270
+ /**
1271
+ * @param p1
1272
+ * @returns
1273
+ */
1274
+ getMaxHealth(p1: boolean): number {
1275
+ return inv<number>('0x15D757606D170C3C', this.handle, p1, rai());
1276
+ }
1277
+
1278
+ /**
1279
+ * @param animDict
1280
+ * @param animName
1281
+ * @param time
1282
+ */
1283
+ setAnimCurrentTime(animDict: string | null, animName: string | null, time: number): void {
1284
+ inv<void>('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
1285
+ }
1286
+
1287
+ /**
1288
+ * Gets the current coordinates for a specified entity.
1289
+ * `entity` = The entity to get the coordinates from.
1290
+ * `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.
1291
+ *
1292
+ * @param alive
1293
+ * @param realCoords
1294
+ * @returns
1295
+ */
1296
+ getCoords(alive: boolean, realCoords: boolean): Vector3 {
1297
+ return Vector3.fromArray(inv<number[]>('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
1298
+ }
1299
+
1300
+ /**
1301
+ * @returns
1302
+ */
1303
+ isAnObject(): boolean {
1304
+ return inv<boolean>('0x0A27A546A375FDEF', this.handle, rai());
1305
+ }
1306
+
1307
+ /**
1308
+ * Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
1309
+ *
1310
+ * @param entity2
1311
+ * @param p2
1312
+ * @param p3
1313
+ * @returns
1314
+ */
1315
+ N_0x3EC28DA1FFAC9DDD(entity2: Entity, p2: any, p3: any): boolean {
1316
+ return inv<boolean>('0x3EC28DA1FFAC9DDD', this.handle, entity2.handle, p2, p3, rai());
1317
+ }
1318
+
1319
+ /**
1320
+ * Must be called from a background script, otherwise it will do nothing.
1321
+ */
1322
+ delete2(): void {
1323
+ inv<void>('0x5E94EA09E7207C16', this.handle);
1324
+ }
1325
+
1326
+ /**
1327
+ * @param p1
1328
+ * @returns
1329
+ */
1330
+ isInAir(p1: any): boolean {
1331
+ return inv<boolean>('0x886E37EC497200B6', this.handle, p1, rai());
1332
+ }
1333
+
1334
+ /**
1335
+ * @returns
1336
+ */
1337
+ isAMissionEntity(): boolean {
1338
+ return inv<boolean>('0x138190F64DB4BBD1', this.handle, rai());
1339
+ }
1340
+
1341
+ /**
1342
+ * @returns
1343
+ */
1344
+ isAttachedToAnyPed(): boolean {
1345
+ return inv<boolean>('0xC841153DED2CA89A', this.handle, rai());
1346
+ }
1347
+
1348
+ /**
1349
+ * @param to
1350
+ * @returns
1351
+ */
1352
+ isAttachedToEntity(to: Entity): boolean {
1353
+ return inv<boolean>('0x154A3C529497053E', this.handle, to.handle, rai());
1354
+ }
1355
+
1356
+ /**
1357
+ * @returns
1358
+ */
1359
+ hasBeenDamagedByAnyObject(): boolean {
1360
+ return inv<boolean>('0x73BB763880CD23A6', this.handle, rai());
1361
+ }
1362
+
1363
+ /**
1364
+ * @param rotationOrder
1365
+ * @returns
1366
+ */
1367
+ getRotation(rotationOrder: number): Vector3 {
1368
+ return Vector3.fromArray(inv<number[]>('0xE09CAF86C32CB48F', this.handle, rotationOrder, rav()));
1369
+ }
1370
+
1371
+ /**
1372
+ * @param toggle
1373
+ */
1374
+ setMotionBlur(toggle: boolean): void {
1375
+ inv<void>('0x516C6ABD18322B63', this.handle, toggle);
1376
+ }
1377
+
1378
+ resetAlpha(): void {
1379
+ inv<void>('0x744B9EF44779D9AB', this.handle);
1380
+ }
1381
+
1382
+ /**
1383
+ * 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
1384
+ *
1385
+ * @param pos
1386
+ * @param xSize
1387
+ * @param ySize
1388
+ * @param zSize
1389
+ * @param p7
1390
+ * @param p8
1391
+ * @param p9
1392
+ * @returns
1393
+ */
1394
+ isAtCoord(pos: Vector3, xSize: number, ySize: number, zSize: number, p7: boolean, p8: boolean, p9: number): boolean {
1395
+ 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());
1396
+ }
1397
+
1398
+ /**
1399
+ * 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).
1400
+ *
1401
+ * @param value
1402
+ */
1403
+ setLodDist(value: number): void {
1404
+ inv<void>('0x5FB407F0A7C877BF', this.handle, value);
1405
+ }
1406
+
1407
+ /**
1408
+ * @param toggle
1409
+ */
1410
+ setDynamic(toggle: boolean): void {
1411
+ inv<void>('0xFBFC4473F66CE344', this.handle, toggle);
1412
+ }
1413
+
1414
+ /**
1415
+ * @param radius
1416
+ */
1417
+ setCustomPickupRadius(radius: number): void {
1418
+ inv<void>('0x482D17E45665DA44', this.handle, f(radius));
1419
+ }
1420
+
1421
+ /**
1422
+ * @returns
1423
+ */
1424
+ getPopulationType(): number {
1425
+ return inv<number>('0xADE28862B6D7B85B', this.handle, rai());
1426
+ }
1427
+
1428
+ /**
1429
+ * @returns
1430
+ */
1431
+ isAVehicle(): boolean {
1432
+ return inv<boolean>('0xC3D96AF45FCCEC4C', this.handle, rai());
1433
+ }
1434
+
1435
+ /**
1436
+ * @param pos
1437
+ * @param atTop
1438
+ * @param inWorldCoords
1439
+ * @returns
1440
+ */
1441
+ getHeight(pos: Vector3, atTop: boolean, inWorldCoords: boolean): number {
1442
+ return inv<number>('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
1443
+ }
1444
+
1445
+ /**
1446
+ * @param pos
1447
+ * @returns
1448
+ */
1449
+ getOffsetFromGivenWorldCoords(pos: Vector3): Vector3 {
1450
+ return Vector3.fromArray(inv<number[]>('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
1451
+ }
1452
+
1453
+ addTrackingTrails(): void {
1454
+ inv<void>('0x1AD922AB5038DEF3', this.handle);
1455
+ }
1456
+
1457
+ /**
1458
+ * @param toggle
1459
+ */
1460
+ setCanClimbOnEntity(toggle: boolean): void {
1461
+ inv<void>('0x24AED2A608F93C4C', this.handle, toggle);
1462
+ }
1463
+
1464
+ /**
1465
+ * @returns minimum; maximum
1466
+ */
1467
+ getWorldPositionOfDimensions(): [Vector3, Vector3] {
1468
+ const result = inv<[number[], number[]]>('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
1469
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
1470
+ }
1471
+
1472
+ /**
1473
+ * @param p1
1474
+ * @returns
1475
+ */
1476
+ isUnderwater(p1: boolean): any {
1477
+ return inv<number>('0xD4E5C1E93C466127', this.handle, p1);
1478
+ }
1479
+
1480
+ /**
1481
+ * @param animation
1482
+ * @param animGroup
1483
+ * @param p3
1484
+ * @returns
1485
+ */
1486
+ stopAnim(animation: string | null, animGroup: string | null, p3: number): any {
1487
+ return inv<number>('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
1488
+ }
1489
+
1490
+ /**
1491
+ * @returns
1492
+ */
1493
+ hasCollidedWithAnything(): boolean {
1494
+ return inv<boolean>('0xDF18751EC74F90FF', this.handle, rai());
1495
+ }
1496
+
1497
+ /**
1498
+ * @param entity2
1499
+ * @param p2
1500
+ * @param boneIndex
1501
+ * @param offset
1502
+ * @param p7
1503
+ * @param p8
1504
+ * @param p9
1505
+ * @param p10
1506
+ * @param p11
1507
+ * @param p12
1508
+ * @param p13
1509
+ * @param p14
1510
+ * @param p15
1511
+ * @param p16
1512
+ * @param p17
1513
+ * @param p18
1514
+ * @param p19
1515
+ * @param p20
1516
+ * @param p21
1517
+ */
1518
+ 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 {
1519
+ 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));
1520
+ }
1521
+
1522
+ /**
1523
+ * @returns
1524
+ */
1525
+ getHeightAboveGround(): number {
1526
+ return inv<number>('0x0D3B5BAEA08F63E9', this.handle, raf());
1527
+ }
1528
+
1529
+ /**
1530
+ * @param pos
1531
+ * @param heading
1532
+ * @param p5
1533
+ * @param p6
1534
+ */
1535
+ setCoordsAndHeadingNoOffset(pos: Vector3, heading: number, p5: boolean, p6: boolean): void {
1536
+ inv<void>('0x0918E3565C20F03C', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), p5, p6);
1537
+ }
1538
+
1539
+ /**
1540
+ * 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.
1541
+ *
1542
+ * @param originX
1543
+ * @param originY
1544
+ * @param originZ
1545
+ * @param edgeX
1546
+ * @param edgeY
1547
+ * @param edgeZ
1548
+ * @param angle
1549
+ * @param p8
1550
+ * @param p9
1551
+ * @param p10
1552
+ * @returns
1553
+ */
1554
+ isInAngledArea(originX: number, originY: number, originZ: number, edgeX: number, edgeY: number, edgeZ: number, angle: number, p8: boolean, p9: boolean, p10: any): boolean {
1555
+ return inv<boolean>('0xD3151E53134595E5', this.handle, f(originX), f(originY), f(originZ), f(edgeX), f(edgeY), f(edgeZ), f(angle), p8, p9, p10, rai());
1556
+ }
1557
+
1558
+ clearLastDamageEntity(): void {
1559
+ inv<void>('0xBB19AC7D4DCEFD0F', this.handle);
1560
+ }
1561
+
1562
+ /**
1563
+ * @param toggle
1564
+ */
1565
+ setAlwaysPrerender(toggle: boolean): void {
1566
+ inv<void>('0xACAD101E1FB66689', this.handle, toggle);
1567
+ }
1568
+
1569
+ /**
1570
+ * Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
1571
+ *
1572
+ * @param pos
1573
+ */
1574
+ setVelocity(pos: Vector3): void {
1575
+ inv<void>('0x1C99BB7B6E96D16F', this.handle, f(pos.x), f(pos.y), f(pos.z));
1576
+ }
1577
+
1578
+ /**
1579
+ * SET_ENTITY_LO*
1580
+ *
1581
+ * @param p1
1582
+ * @param p2
1583
+ * @param p3
1584
+ */
1585
+ N_0xAF7F3099B9FEB535(p1: number, p2: number, p3: number): void {
1586
+ inv<void>('0xAF7F3099B9FEB535', this.handle, f(p1), f(p2), f(p3));
1587
+ }
1588
+
1589
+ /**
1590
+ * @returns
1591
+ */
1592
+ N_0xAF72EC7E1B54539B(): Entity | null {
1593
+ return createFromHandle<Entity>('Entity', inv<number>('0xAF72EC7E1B54539B', this.handle, rai()));
1594
+ }
1595
+
1596
+ /**
1597
+ * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
1598
+ *
1599
+ * @returns
1600
+ */
1601
+ getObjectIndexFromIndex(): Prop | null {
1602
+ return createFromHandle<Prop>('Prop', inv<number>('0x280BBE5601EAA983', this.handle, rai()));
1603
+ }
1604
+
1605
+ /**
1606
+ * Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.
1607
+ *
1608
+ * @param entity2
1609
+ * @param traceType
1610
+ * @returns
1611
+ */
1612
+ hasClearLosToEntityInFront(entity2: Entity, traceType: number): boolean {
1613
+ return inv<boolean>('0xE88F19660651D566', this.handle, entity2.handle, traceType, rai());
1614
+ }
1615
+
1616
+ /**
1617
+ * @returns
1618
+ */
1619
+ isOnTrainTrack(): any {
1620
+ return inv<number>('0x857ACB0AB4BD0D55', this.handle);
1621
+ }
1622
+
1623
+ /**
1624
+ * @param angle
1625
+ * @returns
1626
+ */
1627
+ isUpright(angle: number): boolean {
1628
+ return inv<boolean>('0xF6F6AFD8D4FB2658', this.handle, f(angle), rai());
1629
+ }
1630
+
1631
+ /**
1632
+ * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
1633
+ *
1634
+ * @returns
1635
+ */
1636
+ getVehicleIndexFromIndex(): Vehicle | null {
1637
+ return createFromHandle<Vehicle>('Vehicle', inv<number>('0xDF1E5AAC561AFC59', this.handle, rai()));
1638
+ }
1639
+
1640
+ /**
1641
+ * @returns
1642
+ */
1643
+ isVisible(): boolean {
1644
+ return inv<boolean>('0xFFC96ECB7FA404CA', this.handle, rai());
1645
+ }
1646
+
1647
+ /**
1648
+ * SET_ENTITY_LO*
1649
+ *
1650
+ * @param toggle
1651
+ */
1652
+ N_0xFF9965C47FA404DA(toggle: boolean): void {
1653
+ inv<void>('0xFF9965C47FA404DA', this.handle, toggle);
1654
+ }
1655
+
1656
+ /**
1657
+ * Valid indices: 0 - 3
1658
+ * Index 1 always returns a `hogtied` config, doesn't matter the entity.
1659
+ * It's for humans only and the ped must be resurrected first if it's dead.
1660
+ *
1661
+ * @param index
1662
+ * @returns
1663
+ */
1664
+ getOptimalCarryConfig(index: number): string | number {
1665
+ return (inv<number>('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
1666
+ }
1667
+
1668
+ setFadeIn(): void {
1669
+ inv<void>('0xA91E6CF94404E8C9', this.handle);
1670
+ }
1671
+
1672
+ /**
1673
+ * @returns
1674
+ */
1675
+ hasBeenDamagedByAnyPed(): boolean {
1676
+ return inv<boolean>('0x9934E9C42D52D87E', this.handle, rai());
1677
+ }
1678
+
1679
+ }
1680
+
1681
+ registerHandle('Entity', Entity);