@nativewrappers/redm-codegen 0.0.3 → 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 (313) hide show
  1. package/dist/classes/AnimScene.d.ts +135 -135
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +208 -208
  4. package/dist/classes/BaseModel.d.ts +21 -21
  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 +23 -23
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +27 -27
  10. package/dist/classes/Cam.d.ts +98 -98
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +134 -134
  13. package/dist/classes/Entity.d.ts +385 -380
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +498 -489
  16. package/dist/classes/Interior.d.ts +5 -5
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +8 -8
  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 +336 -336
  23. package/dist/classes/Ped.d.ts.map +1 -1
  24. package/dist/classes/Ped.js +495 -495
  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 +255 -255
  29. package/dist/classes/PedTask.d.ts.map +1 -1
  30. package/dist/classes/PedTask.js +345 -345
  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 +29 -29
  34. package/dist/classes/Pickup.d.ts +8 -8
  35. package/dist/classes/Pickup.d.ts.map +1 -1
  36. package/dist/classes/Pickup.js +15 -15
  37. package/dist/classes/Player.d.ts +713 -709
  38. package/dist/classes/Player.d.ts.map +1 -1
  39. package/dist/classes/Player.js +979 -973
  40. package/dist/classes/Prop.d.ts +115 -115
  41. package/dist/classes/Prop.d.ts.map +1 -1
  42. package/dist/classes/Prop.js +160 -160
  43. package/dist/classes/PropSet.d.ts +5 -5
  44. package/dist/classes/PropSet.d.ts.map +1 -1
  45. package/dist/classes/PropSet.js +6 -6
  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 +9 -9
  53. package/dist/classes/VehicleTask.d.ts.map +1 -1
  54. package/dist/classes/VehicleTask.js +12 -12
  55. package/dist/classes/Volume.d.ts +56 -56
  56. package/dist/classes/Volume.d.ts.map +1 -1
  57. package/dist/classes/Volume.js +84 -84
  58. package/dist/classes/Weapon.d.ts +354 -354
  59. package/dist/classes/Weapon.d.ts.map +1 -1
  60. package/dist/classes/Weapon.js +464 -464
  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 +49 -49
  68. package/dist/namespaces/Animscene.d.ts.map +1 -1
  69. package/dist/namespaces/Animscene.js +67 -67
  70. package/dist/namespaces/Audio.d.ts +447 -447
  71. package/dist/namespaces/Audio.d.ts.map +1 -1
  72. package/dist/namespaces/Audio.js +635 -635
  73. package/dist/namespaces/CamStatics.d.ts +441 -441
  74. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  75. package/dist/namespaces/CamStatics.js +675 -675
  76. package/dist/namespaces/Collection.d.ts +6 -6
  77. package/dist/namespaces/Collection.d.ts.map +1 -1
  78. package/dist/namespaces/Collection.js +11 -11
  79. package/dist/namespaces/Companion.d.ts +22 -22
  80. package/dist/namespaces/Companion.d.ts.map +1 -1
  81. package/dist/namespaces/Companion.js +30 -30
  82. package/dist/namespaces/Compapp.js +1 -1
  83. package/dist/namespaces/Compendium.d.ts +82 -82
  84. package/dist/namespaces/Compendium.d.ts.map +1 -1
  85. package/dist/namespaces/Compendium.js +115 -115
  86. package/dist/namespaces/Crashlog.js +9 -9
  87. package/dist/namespaces/Crew.js +4 -4
  88. package/dist/namespaces/Databinding.d.ts +164 -164
  89. package/dist/namespaces/Databinding.d.ts.map +1 -1
  90. package/dist/namespaces/Databinding.js +232 -232
  91. package/dist/namespaces/Datafile.js +4 -4
  92. package/dist/namespaces/Decorator.d.ts +19 -19
  93. package/dist/namespaces/Decorator.d.ts.map +1 -1
  94. package/dist/namespaces/Decorator.js +34 -34
  95. package/dist/namespaces/Dlc.d.ts +5 -5
  96. package/dist/namespaces/Dlc.d.ts.map +1 -1
  97. package/dist/namespaces/Dlc.js +9 -9
  98. package/dist/namespaces/EntityStatics.d.ts +119 -119
  99. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  100. package/dist/namespaces/EntityStatics.js +164 -164
  101. package/dist/namespaces/Event.js +4 -4
  102. package/dist/namespaces/Fire.d.ts +89 -89
  103. package/dist/namespaces/Fire.d.ts.map +1 -1
  104. package/dist/namespaces/Fire.js +115 -115
  105. package/dist/namespaces/Flock.js +2 -2
  106. package/dist/namespaces/Gang.js +2 -2
  107. package/dist/namespaces/GoogleAnalytics.js +2 -2
  108. package/dist/namespaces/Graphics.d.ts +375 -375
  109. package/dist/namespaces/Graphics.d.ts.map +1 -1
  110. package/dist/namespaces/Graphics.js +569 -569
  111. package/dist/namespaces/Hud.d.ts +507 -507
  112. package/dist/namespaces/Hud.d.ts.map +1 -1
  113. package/dist/namespaces/Hud.js +706 -706
  114. package/dist/namespaces/Ik.js +1 -1
  115. package/dist/namespaces/Interaction.js +3 -3
  116. package/dist/namespaces/InteriorStatics.js +2 -2
  117. package/dist/namespaces/Inventory.d.ts +159 -159
  118. package/dist/namespaces/Inventory.d.ts.map +1 -1
  119. package/dist/namespaces/Inventory.js +214 -214
  120. package/dist/namespaces/Itemdatabase.d.ts +5 -5
  121. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  122. package/dist/namespaces/Itemdatabase.js +10 -10
  123. package/dist/namespaces/Itemset.js +2 -2
  124. package/dist/namespaces/Law.d.ts +1 -1
  125. package/dist/namespaces/Law.d.ts.map +1 -1
  126. package/dist/namespaces/Law.js +19 -19
  127. package/dist/namespaces/Localization.js +1 -1
  128. package/dist/namespaces/Map.d.ts +173 -173
  129. package/dist/namespaces/Map.d.ts.map +1 -1
  130. package/dist/namespaces/Map.js +240 -240
  131. package/dist/namespaces/Minigame.d.ts +17 -17
  132. package/dist/namespaces/Minigame.d.ts.map +1 -1
  133. package/dist/namespaces/Minigame.js +25 -25
  134. package/dist/namespaces/Misc.d.ts +3 -3
  135. package/dist/namespaces/Misc.d.ts.map +1 -1
  136. package/dist/namespaces/Misc.js +35 -35
  137. package/dist/namespaces/Missiondata.d.ts +15 -15
  138. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  139. package/dist/namespaces/Missiondata.js +24 -24
  140. package/dist/namespaces/Money.js +3 -3
  141. package/dist/namespaces/Netshopping.d.ts +58 -58
  142. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  143. package/dist/namespaces/Netshopping.js +89 -89
  144. package/dist/namespaces/Network.d.ts +694 -694
  145. package/dist/namespaces/Network.d.ts.map +1 -1
  146. package/dist/namespaces/Network.js +1129 -1129
  147. package/dist/namespaces/Object.d.ts +142 -142
  148. package/dist/namespaces/Object.d.ts.map +1 -1
  149. package/dist/namespaces/Object.js +195 -195
  150. package/dist/namespaces/Pad.d.ts +101 -101
  151. package/dist/namespaces/Pad.d.ts.map +1 -1
  152. package/dist/namespaces/Pad.js +142 -142
  153. package/dist/namespaces/Pathfind.js +10 -10
  154. package/dist/namespaces/PedStatics.d.ts +20 -20
  155. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  156. package/dist/namespaces/PedStatics.js +36 -36
  157. package/dist/namespaces/Perschar.d.ts +49 -49
  158. package/dist/namespaces/Perschar.d.ts.map +1 -1
  159. package/dist/namespaces/Perschar.js +76 -76
  160. package/dist/namespaces/Physics.d.ts +89 -89
  161. package/dist/namespaces/Physics.d.ts.map +1 -1
  162. package/dist/namespaces/Physics.js +125 -125
  163. package/dist/namespaces/PlayerStatics.d.ts +139 -139
  164. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  165. package/dist/namespaces/PlayerStatics.js +200 -200
  166. package/dist/namespaces/Population.d.ts +75 -75
  167. package/dist/namespaces/Population.d.ts.map +1 -1
  168. package/dist/namespaces/Population.js +101 -101
  169. package/dist/namespaces/Posse.d.ts +54 -54
  170. package/dist/namespaces/Posse.d.ts.map +1 -1
  171. package/dist/namespaces/Posse.js +86 -86
  172. package/dist/namespaces/Replay.d.ts +1 -1
  173. package/dist/namespaces/Replay.d.ts.map +1 -1
  174. package/dist/namespaces/Replay.js +2 -2
  175. package/dist/namespaces/Scripts.d.ts +1 -1
  176. package/dist/namespaces/Scripts.d.ts.map +1 -1
  177. package/dist/namespaces/Scripts.js +12 -12
  178. package/dist/namespaces/Socialclub.js +8 -8
  179. package/dist/namespaces/Socialclubfeed.js +1 -1
  180. package/dist/namespaces/Spactionproxy.js +4 -4
  181. package/dist/namespaces/Stats.d.ts +197 -197
  182. package/dist/namespaces/Stats.d.ts.map +1 -1
  183. package/dist/namespaces/Stats.js +285 -285
  184. package/dist/namespaces/Streaming.d.ts +46 -46
  185. package/dist/namespaces/Streaming.d.ts.map +1 -1
  186. package/dist/namespaces/Streaming.js +79 -79
  187. package/dist/namespaces/Task.d.ts +138 -138
  188. package/dist/namespaces/Task.d.ts.map +1 -1
  189. package/dist/namespaces/Task.js +204 -204
  190. package/dist/namespaces/Telemetry.d.ts +212 -212
  191. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  192. package/dist/namespaces/Telemetry.js +308 -308
  193. package/dist/namespaces/Txd.js +1 -1
  194. package/dist/namespaces/Uiapps.d.ts +25 -25
  195. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  196. package/dist/namespaces/Uiapps.js +36 -36
  197. package/dist/namespaces/Uievents.js +1 -1
  198. package/dist/namespaces/Uifeed.d.ts +15 -15
  199. package/dist/namespaces/Uifeed.d.ts.map +1 -1
  200. package/dist/namespaces/Uifeed.js +25 -25
  201. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  202. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  203. package/dist/namespaces/Uistickyfeed.js +21 -21
  204. package/dist/namespaces/Unlock.js +5 -5
  205. package/dist/namespaces/VehicleStatics.js +12 -12
  206. package/dist/namespaces/Voice.d.ts +38 -38
  207. package/dist/namespaces/Voice.d.ts.map +1 -1
  208. package/dist/namespaces/Voice.js +61 -61
  209. package/dist/namespaces/VolumeStatics.d.ts +161 -161
  210. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  211. package/dist/namespaces/VolumeStatics.js +217 -217
  212. package/dist/namespaces/Water.d.ts +27 -27
  213. package/dist/namespaces/Water.d.ts.map +1 -1
  214. package/dist/namespaces/Water.js +41 -41
  215. package/dist/namespaces/WeaponStatics.d.ts +274 -274
  216. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  217. package/dist/namespaces/WeaponStatics.js +390 -390
  218. package/dist/namespaces/Zone.d.ts +7 -7
  219. package/dist/namespaces/Zone.d.ts.map +1 -1
  220. package/dist/namespaces/Zone.js +9 -9
  221. package/dist/types/NativeAliases.d.ts +3 -1
  222. package/dist/types/NativeAliases.d.ts.map +1 -1
  223. package/dist/types/NativeAliases.js +3 -1
  224. package/package.json +1 -1
  225. package/src/classes/AnimScene.ts +227 -227
  226. package/src/classes/BaseModel.ts +36 -36
  227. package/src/classes/BaseTask.ts +29 -29
  228. package/src/classes/Cam.ts +143 -143
  229. package/src/classes/Entity.ts +517 -506
  230. package/src/classes/Interior.ts +8 -8
  231. package/src/classes/ItemSet.ts +3 -3
  232. package/src/classes/Ped.ts +512 -512
  233. package/src/classes/PedModel.ts +2 -2
  234. package/src/classes/PedTask.ts +429 -429
  235. package/src/classes/PersChar.ts +35 -35
  236. package/src/classes/Pickup.ts +16 -16
  237. package/src/classes/Player.ts +995 -988
  238. package/src/classes/Prop.ts +177 -177
  239. package/src/classes/PropSet.ts +6 -6
  240. package/src/classes/Vehicle.ts +147 -147
  241. package/src/classes/VehicleModel.ts +2 -2
  242. package/src/classes/VehicleTask.ts +13 -13
  243. package/src/classes/Volume.ts +91 -91
  244. package/src/classes/Weapon.ts +489 -489
  245. package/src/namespaces/Aicoverpoint.ts +40 -40
  246. package/src/namespaces/Aitransport.ts +104 -104
  247. package/src/namespaces/Animscene.ts +74 -74
  248. package/src/namespaces/Audio.ts +647 -647
  249. package/src/namespaces/CamStatics.ts +768 -768
  250. package/src/namespaces/Collection.ts +12 -12
  251. package/src/namespaces/Companion.ts +34 -34
  252. package/src/namespaces/Compapp.ts +1 -1
  253. package/src/namespaces/Compendium.ts +120 -120
  254. package/src/namespaces/Crashlog.ts +9 -9
  255. package/src/namespaces/Crew.ts +4 -4
  256. package/src/namespaces/Databinding.ts +249 -249
  257. package/src/namespaces/Datafile.ts +4 -4
  258. package/src/namespaces/Decorator.ts +37 -37
  259. package/src/namespaces/Dlc.ts +9 -9
  260. package/src/namespaces/EntityStatics.ts +172 -172
  261. package/src/namespaces/Event.ts +4 -4
  262. package/src/namespaces/Fire.ts +127 -127
  263. package/src/namespaces/Flock.ts +2 -2
  264. package/src/namespaces/Gang.ts +2 -2
  265. package/src/namespaces/GoogleAnalytics.ts +2 -2
  266. package/src/namespaces/Graphics.ts +583 -583
  267. package/src/namespaces/Hud.ts +741 -741
  268. package/src/namespaces/Ik.ts +1 -1
  269. package/src/namespaces/Interaction.ts +3 -3
  270. package/src/namespaces/InteriorStatics.ts +2 -2
  271. package/src/namespaces/Inventory.ts +236 -236
  272. package/src/namespaces/Itemdatabase.ts +11 -11
  273. package/src/namespaces/Itemset.ts +2 -2
  274. package/src/namespaces/Law.ts +20 -20
  275. package/src/namespaces/Localization.ts +1 -1
  276. package/src/namespaces/Map.ts +256 -256
  277. package/src/namespaces/Minigame.ts +29 -29
  278. package/src/namespaces/Misc.ts +38 -38
  279. package/src/namespaces/Missiondata.ts +28 -28
  280. package/src/namespaces/Money.ts +3 -3
  281. package/src/namespaces/Netshopping.ts +99 -99
  282. package/src/namespaces/Network.ts +1165 -1165
  283. package/src/namespaces/Object.ts +214 -214
  284. package/src/namespaces/Pad.ts +150 -150
  285. package/src/namespaces/Pathfind.ts +10 -10
  286. package/src/namespaces/PedStatics.ts +42 -42
  287. package/src/namespaces/Perschar.ts +78 -78
  288. package/src/namespaces/Physics.ts +141 -141
  289. package/src/namespaces/PlayerStatics.ts +228 -228
  290. package/src/namespaces/Population.ts +114 -114
  291. package/src/namespaces/Posse.ts +87 -87
  292. package/src/namespaces/Replay.ts +3 -3
  293. package/src/namespaces/Scripts.ts +13 -13
  294. package/src/namespaces/Socialclub.ts +8 -8
  295. package/src/namespaces/Socialclubfeed.ts +1 -1
  296. package/src/namespaces/Spactionproxy.ts +4 -4
  297. package/src/namespaces/Stats.ts +293 -293
  298. package/src/namespaces/Streaming.ts +93 -93
  299. package/src/namespaces/Task.ts +228 -228
  300. package/src/namespaces/Telemetry.ts +322 -322
  301. package/src/namespaces/Txd.ts +1 -1
  302. package/src/namespaces/Uiapps.ts +43 -43
  303. package/src/namespaces/Uievents.ts +1 -1
  304. package/src/namespaces/Uifeed.ts +28 -28
  305. package/src/namespaces/Uistickyfeed.ts +23 -23
  306. package/src/namespaces/Unlock.ts +5 -5
  307. package/src/namespaces/VehicleStatics.ts +12 -12
  308. package/src/namespaces/Voice.ts +70 -70
  309. package/src/namespaces/VolumeStatics.ts +222 -222
  310. package/src/namespaces/Water.ts +47 -47
  311. package/src/namespaces/WeaponStatics.ts +402 -402
  312. package/src/namespaces/Zone.ts +10 -10
  313. package/src/types/NativeAliases.ts +6 -1
@@ -16,7 +16,7 @@ export class Entity {
16
16
  /**
17
17
  * @returns
18
18
  */
19
- getIsBird() {
19
+ get IsBird() {
20
20
  return inv('0xC346A546612C49A9', this.handle);
21
21
  }
22
22
  /**
@@ -24,7 +24,7 @@ export class Entity {
24
24
  *
25
25
  * @returns
26
26
  */
27
- getForwardVectorYx() {
27
+ get ForwardVectorYx() {
28
28
  return Vector3.fromArray(inv('0x935A30AA88FB1014', this.handle, rav()));
29
29
  }
30
30
  /**
@@ -53,7 +53,7 @@ export class Entity {
53
53
  /**
54
54
  * @param toggle
55
55
  */
56
- setLoadCollisionFlag(toggle) {
56
+ set LoadCollisionFlag(toggle) {
57
57
  inv('0x9B9EE31AED48072E', this.handle, toggle);
58
58
  }
59
59
  /**
@@ -62,13 +62,13 @@ export class Entity {
62
62
  *
63
63
  * @param type
64
64
  */
65
- setCarcassType(type) {
65
+ set CarcassType(type) {
66
66
  inv('0x399657ED871B3A6C', this.handle, _h(type));
67
67
  }
68
68
  /**
69
69
  * @param toggle
70
70
  */
71
- setHasGravity(toggle) {
71
+ set HasGravity(toggle) {
72
72
  inv('0x0CEDB728A1083FA7', this.handle, toggle);
73
73
  }
74
74
  /**
@@ -85,24 +85,24 @@ export class Entity {
85
85
  * @returns
86
86
  */
87
87
  hasBeenDamagedByEntity(entity2, p2, p3) {
88
- return inv('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
88
+ return !!inv('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
89
89
  }
90
90
  /**
91
91
  * @returns
92
92
  */
93
- isFullyLooted() {
93
+ get IsFullyLooted() {
94
94
  return inv('0x8DE41E9902E85756', this.handle);
95
95
  }
96
96
  /**
97
97
  * @returns
98
98
  */
99
- isOccluded() {
100
- return inv('0x140188E884645624', this.handle, rai());
99
+ get IsOccluded() {
100
+ return !!inv('0x140188E884645624', this.handle, rai());
101
101
  }
102
102
  /**
103
103
  * @param toggle
104
104
  */
105
- setCanBeDamaged(toggle) {
105
+ set CanBeDamaged(toggle) {
106
106
  inv('0x0D06D522B90E861F', this.handle, toggle);
107
107
  }
108
108
  /**
@@ -122,210 +122,144 @@ export class Entity {
122
122
  /**
123
123
  * @returns
124
124
  */
125
- isDead() {
126
- return inv('0x7D5B1F88E7504BBA', this.handle, rai());
125
+ get IsDead() {
126
+ return !!inv('0x7D5B1F88E7504BBA', this.handle, rai());
127
127
  }
128
128
  /**
129
- * @param playerPedToIgnore
130
- * @param flags
129
+ * @param pos1
130
+ * @param pos2
131
+ * @param p7
132
+ * @param p8
133
+ * @param p9
131
134
  * @returns
132
135
  */
133
- getNearestPlayerToEntity(playerPedToIgnore, flags) {
134
- return createFromHandle('Player', inv('0x990E294FC387FB88', this.handle, playerPedToIgnore.handle, flags, rai()));
136
+ isInArea(pos1, pos2, p7, p8, p9) {
137
+ return !!inv('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());
135
138
  }
136
139
  /**
137
- * Gets the Y-component of the entity's forward vector.
140
+ * Returns the coordinates of an entity-bone.
141
+ * https://github.com/femga/rdr3_discoveries/tree/master/boneNames
138
142
  *
143
+ * @param boneIndex
139
144
  * @returns
140
145
  */
141
- getForwardY() {
142
- return inv('0x9A5C073ECBDA7EE7', this.handle, raf());
143
- }
144
- /**
145
- * @param pitch
146
- * @param roll
147
- * @param yaw
148
- * @param rotationOrder
149
- * @param p5
150
- */
151
- setRotation(pitch, roll, yaw, rotationOrder, p5) {
152
- inv('0x9CC8314DFEDE441E', this.handle, f(pitch), f(roll), f(yaw), rotationOrder, p5);
153
- }
154
- /**
155
- * @param p1
156
- * @param relationshipGroup
157
- */
158
- setOnlyDamagedByRelationshipGroup(p1, relationshipGroup) {
159
- inv('0x6C1F6AA2F0ADD104', this.handle, p1, _h(relationshipGroup));
146
+ getWorldPositionOfBone(boneIndex) {
147
+ return Vector3.fromArray(inv('0x82CFA50E34681CA5', this.handle, boneIndex, rav()));
160
148
  }
161
149
  /**
162
- * https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS
163
- * 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
150
+ * https://github.com/femga/rdr3_discoveries/tree/master/animations
164
151
  *
165
- * @param proofsBitset
166
- * @param specialFlag
167
- */
168
- setProofs(proofsBitset, specialFlag) {
169
- inv('0xFAEE099C6F890BB8', this.handle, proofsBitset, specialFlag);
170
- }
171
- /**
172
- * @returns
173
- */
174
- hasCollisionLoadedAroundEntity() {
175
- return inv('0xBEB1600952B9CF5C', this.handle, rai());
176
- }
177
- /**
178
- * @returns
179
- */
180
- getIsCarriablePelt() {
181
- return inv('0x255B6DB4E3AD3C3E', this.handle);
182
- }
183
- /**
184
- * @param p1
152
+ * @param animName
153
+ * @param animDict
154
+ * @param p3
155
+ * @param loop
156
+ * @param stayInAnim
157
+ * @param p6
158
+ * @param delta
159
+ * @param bitset
185
160
  * @returns
186
161
  */
187
- getVelocity(p1) {
188
- return Vector3.fromArray(inv('0x4805D2B1D8CF94A9', this.handle, p1, rav()));
189
- }
190
- /**
191
- * @param toggle
192
- */
193
- setCanAutoVaultOnEntity(toggle) {
194
- inv('0x80646744FA88F9D7', this.handle, toggle);
162
+ playAnim(animName, animDict, p3, loop, stayInAnim, p6, delta, bitset) {
163
+ return !!inv('0xDC6D22FAB76D4874', this.handle, animName, animDict, f(p3), loop, stayInAnim, p6, f(delta), bitset, rai());
195
164
  }
196
165
  /**
197
- * 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.
198
- * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua
166
+ * Returns false if entity is not a ped or object.
199
167
  *
200
- * @param lootTable
201
- * @returns
202
- */
203
- scriptOverrideLootTablePermanent(lootTable) {
204
- return inv('0x8C03CD6B5E0E85E8', this.handle, _h(lootTable));
205
- }
206
- /**
207
- * @returns argStruct
168
+ * @returns lootTable
208
169
  */
209
- getScript() {
210
- const result = inv('0x2A08A32B6D49906F', this.handle, pvi(), rai());
211
- return [result[0] & 0xFFFFFFFF, result[1]];
170
+ get ScriptOverrideLootTablePermanent() {
171
+ const result = inv('0x1E804EA9B12030A4', this.handle, pvi());
172
+ return [result[0], result[1]];
212
173
  }
213
174
  /**
214
- * @param actionHash
175
+ * @param animDict
176
+ * @param animName
177
+ * @param p3
215
178
  * @returns
216
179
  */
217
- hasAnimEventFired(actionHash) {
218
- return inv('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
219
- }
220
- /**
221
- * @param p1
222
- */
223
- N_0xEF259AA1E097E0AD(p1) {
224
- inv('0xEF259AA1E097E0AD', this.handle, p1);
180
+ hasAnimFinished(animDict, animName, p3) {
181
+ return !!inv('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
225
182
  }
226
183
  /**
227
- * Getter for FREEZE_ENTITY_POSITION
228
- *
229
- * @returns
184
+ * @param bCanBeDamaged
185
+ * @param relGroup
230
186
  */
231
- isFrozen() {
232
- return inv('0x083D497D57B7400F', this.handle);
187
+ setCanBeDamagedByRelationshipGroup(bCanBeDamaged, relGroup) {
188
+ inv('0x0EF1AFB18649E015', this.handle, bCanBeDamaged, _h(relGroup));
233
189
  }
234
190
  /**
235
- * Returns the entity that is looting a ped but only while the looting is active
236
- *
237
191
  * @returns
238
192
  */
239
- getLootingPed() {
240
- return createFromHandle('Ped', inv('0xEF2D9ED7CE684F08', this.handle, rai()));
193
+ get UprightValue() {
194
+ return inv('0x56398BE65160C3BE', this.handle, raf());
241
195
  }
242
196
  /**
243
- * @returns
197
+ * @param pos
198
+ * @param heading
199
+ * @param xAxis
200
+ * @param yAxis
201
+ * @param zAxis
244
202
  */
245
- isWaitingForWorldCollision() {
246
- return inv('0x5E1CC2E8DC3111DD', this.handle, rai());
203
+ setCoordsAndHeading(pos, heading, xAxis, yAxis, zAxis) {
204
+ inv('0x203BEFFDBE12E96A', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), xAxis, yAxis, zAxis);
247
205
  }
248
206
  /**
249
- * Gets the X-component of the entity's forward vector.
207
+ * Returns zero if the entity is not a carriable
250
208
  *
251
209
  * @returns
252
210
  */
253
- getForwardX() {
254
- return inv('0xDB0954E9960F6457', this.handle, raf());
255
- }
256
- /**
257
- * @returns
258
- */
259
- isAPed() {
260
- return inv('0xCF8176912DDA4EA5', this.handle, rai());
261
- }
262
- /**
263
- * @returns
264
- */
265
- getPitch() {
266
- return inv('0xEF355ABEFF7F5005', this.handle, raf());
267
- }
268
- /**
269
- * @returns
270
- */
271
- isStatic() {
272
- return inv('0x86468ADFA0F6B861', this.handle, rai());
211
+ get CarryConfig() {
212
+ return (inv('0x0FD25587BB306C86', this.handle, rai())) & 0xFFFFFFFF;
273
213
  }
274
214
  /**
275
- * Returns the model hash from the entity
215
+ * tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
276
216
  *
277
- * @returns
278
- */
279
- getModel() {
280
- return (inv('0xDA76A9F39210D365', this.handle, rai())) & 0xFFFFFFFF;
281
- }
282
- /**
283
- * Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
217
+ * @param tier
218
+ * @param p2
284
219
  */
285
- deleteEntity() {
286
- inv('0x4CD38C78BD19A497', this.handle);
220
+ setThreatTier(tier, p2) {
221
+ inv('0x4B436BAC8CBE9B07', this.handle, tier, p2);
287
222
  }
288
223
  /**
289
- * @param team
290
- * @param playerPedToIgnore
291
- * @param flags
224
+ * Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
225
+ *
292
226
  * @returns
293
227
  */
294
- getNearestPlayerToOnTeam(team, playerPedToIgnore, flags) {
295
- return createFromHandle('Player', inv('0xB2C30C3B4AFF718C', this.handle, team, playerPedToIgnore.handle, flags, rai()));
228
+ get Heading() {
229
+ return inv('0xC230DD956E2F5507', this.handle, raf());
296
230
  }
297
231
  /**
298
232
  * Returns the LOD distance of an entity.
299
233
  *
300
234
  * @returns
301
235
  */
302
- getLodDist() {
236
+ get LodDist() {
303
237
  return inv('0xDF240D0C2A948683', this.handle, rai());
304
238
  }
305
239
  /**
306
240
  * @returns
307
241
  */
308
242
  doesHaveDrawable() {
309
- return inv('0x20487F0DA9AF164A', this.handle, rai());
243
+ return !!inv('0x20487F0DA9AF164A', this.handle, rai());
310
244
  }
311
245
  /**
312
246
  * @param xyzw
313
247
  */
314
- setQuaternion(xyzw) {
248
+ set Quaternion(xyzw) {
315
249
  inv('0x100E7007D13E3687', this.handle, f(xyzw.x), f(xyzw.y), f(xyzw.z), f(xyzw.w));
316
250
  }
317
251
  /**
318
252
  * @returns
319
253
  */
320
- isAttachedToAnyObject() {
321
- return inv('0x306C1F6178F01AB3', this.handle, rai());
254
+ get IsAttachedToAnyObject() {
255
+ return !!inv('0x306C1F6178F01AB3', this.handle, rai());
322
256
  }
323
257
  /**
324
258
  * Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.
325
259
  *
326
260
  * @param toggle
327
261
  */
328
- setInvincible(toggle) {
262
+ set Invincible(toggle) {
329
263
  inv('0xA5C38736C426FCB8', this.handle, toggle);
330
264
  }
331
265
  /**
@@ -355,7 +289,7 @@ export class Entity {
355
289
  /**
356
290
  * @returns
357
291
  */
358
- getIsAnimal() {
292
+ get IsAnimal() {
359
293
  return inv('0x9A100F1CF4546629', this.handle);
360
294
  }
361
295
  /**
@@ -377,7 +311,7 @@ export class Entity {
377
311
  *
378
312
  * @returns
379
313
  */
380
- getCanBeDamaged() {
314
+ get CanBeDamaged() {
381
315
  return inv('0x75DF9E73F2F005FD', this.handle);
382
316
  }
383
317
  /**
@@ -400,7 +334,7 @@ export class Entity {
400
334
  *
401
335
  * @returns
402
336
  */
403
- getForwardVector() {
337
+ get ForwardVector() {
404
338
  return Vector3.fromArray(inv('0x2412D9C05BB09B97', this.handle, rav()));
405
339
  }
406
340
  /**
@@ -408,7 +342,7 @@ export class Entity {
408
342
  * @returns
409
343
  */
410
344
  isTouchingModel(modelHash) {
411
- return inv('0x2AE3EBC8DEB9768B', this.handle, _h(modelHash), rai());
345
+ return !!inv('0x2AE3EBC8DEB9768B', this.handle, _h(modelHash), rai());
412
346
  }
413
347
  /**
414
348
  * 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
@@ -422,20 +356,20 @@ export class Entity {
422
356
  /**
423
357
  * @param toggle
424
358
  */
425
- setRenderScorched(toggle) {
359
+ set RenderScorched(toggle) {
426
360
  inv('0x85B8A7534E44BC23', this.handle, toggle);
427
361
  }
428
362
  /**
429
363
  * @param heading
430
364
  */
431
- setHeading(heading) {
365
+ set Heading(heading) {
432
366
  inv('0xCF2B9C0645C4651B', this.handle, f(heading));
433
367
  }
434
368
  /**
435
369
  * @returns
436
370
  */
437
- getCollisionDisabled() {
438
- return inv('0xAA2FADD30F45A9DA', this.handle, rai());
371
+ get CollisionDisabled() {
372
+ return !!inv('0xAA2FADD30F45A9DA', this.handle, rai());
439
373
  }
440
374
  /**
441
375
  * Displays the current ROLL axis of the entity [-180.0000/180.0000+]
@@ -443,13 +377,13 @@ export class Entity {
443
377
  *
444
378
  * @returns
445
379
  */
446
- getRoll() {
380
+ get Roll() {
447
381
  return inv('0xBF966536FA8B6879', this.handle, raf());
448
382
  }
449
383
  /**
450
384
  * @returns
451
385
  */
452
- getNearestParticipantToEntity() {
386
+ get NearestParticipantToEntity() {
453
387
  return createFromHandle('Player', inv('0x6888A43C35A5F630', this.handle, rai()));
454
388
  }
455
389
  /**
@@ -457,13 +391,13 @@ export class Entity {
457
391
  *
458
392
  * @returns
459
393
  */
460
- getType() {
394
+ get Type() {
461
395
  return inv('0x97F696ACA466B4E0', this.handle, rai());
462
396
  }
463
397
  /**
464
398
  * @returns
465
399
  */
466
- isOwnedByPersistenceSystem() {
400
+ get IsOwnedByPersistenceSystem() {
467
401
  return inv('0xA7E51B53309EAC97', this.handle);
468
402
  }
469
403
  /**
@@ -473,7 +407,7 @@ export class Entity {
473
407
  * @returns
474
408
  */
475
409
  isPlayingAnim(animDict, animName, animType) {
476
- return inv('0xDEE49D5CA6C49148', this.handle, animDict, animName, animType, rai());
410
+ return !!inv('0xDEE49D5CA6C49148', this.handle, animDict, animName, animType, rai());
477
411
  }
478
412
  /**
479
413
  * Marks the specified entity (ped, vehicle or object) as no longer needed, allowing the game engine to delete it whenever it sees fit.
@@ -485,7 +419,7 @@ export class Entity {
485
419
  * @returns
486
420
  */
487
421
  hasBeenDamagedByAnyVehicle() {
488
- return inv('0x695D7C26DE65C423', this.handle, rai());
422
+ return !!inv('0x695D7C26DE65C423', this.handle, rai());
489
423
  }
490
424
  /**
491
425
  * @param animDict
@@ -503,14 +437,14 @@ export class Entity {
503
437
  *
504
438
  * @returns
505
439
  */
506
- getSubmergedLevel() {
440
+ get SubmergedLevel() {
507
441
  return inv('0x4A77C3F73FD9E831', this.handle, raf());
508
442
  }
509
443
  /**
510
444
  * @returns
511
445
  */
512
- isAttached() {
513
- return inv('0xEE6AD63ABF59C0B7', this.handle, rai());
446
+ get IsAttached() {
447
+ return !!inv('0xEE6AD63ABF59C0B7', this.handle, rai());
514
448
  }
515
449
  /**
516
450
  * SET_ENTITY_A*
@@ -523,223 +457,222 @@ export class Entity {
523
457
  /**
524
458
  * @param looted
525
459
  */
526
- setFullyLooted(looted) {
460
+ set FullyLooted(looted) {
527
461
  inv('0x6BCF5F3D8FFE988D', this.handle, looted);
528
462
  }
529
463
  /**
530
464
  * @returns
531
465
  */
532
- isAttachedToAnyVehicle() {
533
- return inv('0x12DF6E0D2E736749', this.handle, rai());
466
+ get IsAttachedToAnyVehicle() {
467
+ return !!inv('0x12DF6E0D2E736749', this.handle, rai());
534
468
  }
535
469
  /**
536
- * @param p1
537
- */
538
- N_0xA48E4801DEBDF7E4(p1) {
539
- inv('0xA48E4801DEBDF7E4', this.handle, p1);
540
- }
541
- /**
542
- * @param toggle
543
- * @param keepPhysics
544
- */
545
- setCompletelyDisableCollision(toggle, keepPhysics) {
546
- inv('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
547
- }
548
- /**
549
- * @param p1
550
- */
551
- N_0xCDB682BB47C02F0A(p1) {
552
- inv('0xCDB682BB47C02F0A', this.handle, _h(p1));
553
- }
554
- /**
555
- * @param volume
470
+ * Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
471
+ *
472
+ * @param entity2
556
473
  * @param p2
557
474
  * @param p3
558
475
  * @returns
559
476
  */
560
- isInVolume(volume, p2, p3) {
561
- return inv('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
477
+ N_0x3EC28DA1FFAC9DDD(entity2, p2, p3) {
478
+ return !!inv('0x3EC28DA1FFAC9DDD', this.handle, entity2.handle, p2, p3, rai());
562
479
  }
563
480
  /**
564
- * @returns rightVector; forwardVector; upVector; position
481
+ * Must be called from a background script, otherwise it will do nothing.
565
482
  */
566
- getMatrix() {
567
- const result = inv('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
568
- return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
483
+ delete2() {
484
+ inv('0x5E94EA09E7207C16', this.handle);
569
485
  }
570
486
  /**
571
- * 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.
487
+ * @param p1
488
+ * @returns
572
489
  */
573
- N_0x371D179701D9C082() {
574
- inv('0x371D179701D9C082', this.handle);
490
+ isInAir(p1) {
491
+ return !!inv('0x886E37EC497200B6', this.handle, p1, rai());
575
492
  }
576
493
  /**
577
- * @param p1
578
494
  * @returns
579
495
  */
580
- getMaxHealth(p1) {
581
- return inv('0x15D757606D170C3C', this.handle, p1, rai());
496
+ get IsAMissionEntity() {
497
+ return !!inv('0x138190F64DB4BBD1', this.handle, rai());
582
498
  }
583
499
  /**
584
- * @param animDict
585
- * @param animName
586
- * @param time
500
+ * @returns
587
501
  */
588
- setAnimCurrentTime(animDict, animName, time) {
589
- inv('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
502
+ get IsAttachedToAnyPed() {
503
+ return !!inv('0xC841153DED2CA89A', this.handle, rai());
590
504
  }
591
505
  /**
592
- * Gets the current coordinates for a specified entity.
593
- * `entity` = The entity to get the coordinates from.
594
- * `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.
595
- *
596
- * @param alive
597
- * @param realCoords
506
+ * @param to
598
507
  * @returns
599
508
  */
600
- getCoords(alive, realCoords) {
601
- return Vector3.fromArray(inv('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
509
+ isAttachedToEntity(to) {
510
+ return !!inv('0x154A3C529497053E', this.handle, to.handle, rai());
602
511
  }
603
512
  /**
604
513
  * @returns
605
514
  */
606
- isAnObject() {
607
- return inv('0x0A27A546A375FDEF', this.handle, rai());
515
+ hasBeenDamagedByAnyObject() {
516
+ return !!inv('0x73BB763880CD23A6', this.handle, rai());
608
517
  }
609
518
  /**
610
- * 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).
611
- *
612
- * @param value
519
+ * @param rotationOrder
520
+ * @returns
613
521
  */
614
- setLodDist(value) {
615
- inv('0x5FB407F0A7C877BF', this.handle, value);
522
+ getRotation(rotationOrder) {
523
+ return Vector3.fromArray(inv('0xE09CAF86C32CB48F', this.handle, rotationOrder, rav()));
616
524
  }
617
525
  /**
618
526
  * @param toggle
619
527
  */
620
- setDynamic(toggle) {
621
- inv('0xFBFC4473F66CE344', this.handle, toggle);
528
+ set MotionBlur(toggle) {
529
+ inv('0x516C6ABD18322B63', this.handle, toggle);
530
+ }
531
+ resetAlpha() {
532
+ inv('0x744B9EF44779D9AB', this.handle);
622
533
  }
623
534
  /**
624
- * @param radius
535
+ * 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
536
+ *
537
+ * @param pos
538
+ * @param xSize
539
+ * @param ySize
540
+ * @param zSize
541
+ * @param p7
542
+ * @param p8
543
+ * @param p9
544
+ * @returns
625
545
  */
626
- setCustomPickupRadius(radius) {
627
- inv('0x482D17E45665DA44', this.handle, f(radius));
546
+ isAtCoord(pos, xSize, ySize, zSize, p7, p8, p9) {
547
+ return !!inv('0x5E58342602E94718', this.handle, f(pos.x), f(pos.y), f(pos.z), f(xSize), f(ySize), f(zSize), p7, p8, p9, rai());
628
548
  }
629
549
  /**
630
- * @returns
550
+ * @param entity2
551
+ * @param p2
552
+ * @param boneIndex
553
+ * @param offset
554
+ * @param p7
555
+ * @param p8
556
+ * @param p9
557
+ * @param p10
558
+ * @param p11
559
+ * @param p12
560
+ * @param p13
561
+ * @param p14
562
+ * @param p15
563
+ * @param p16
564
+ * @param p17
565
+ * @param p18
566
+ * @param p19
567
+ * @param p20
568
+ * @param p21
631
569
  */
632
- getPopulationType() {
633
- return inv('0xADE28862B6D7B85B', this.handle, rai());
570
+ attachToEntityPhysically(entity2, p2, boneIndex, offset, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) {
571
+ inv('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));
634
572
  }
635
573
  /**
636
574
  * @returns
637
575
  */
638
- isAVehicle() {
639
- return inv('0xC3D96AF45FCCEC4C', this.handle, rai());
576
+ get HeightAboveGround() {
577
+ return inv('0x0D3B5BAEA08F63E9', this.handle, raf());
640
578
  }
641
579
  /**
642
580
  * @param pos
643
- * @param atTop
644
- * @param inWorldCoords
645
- * @returns
581
+ * @param heading
582
+ * @param p5
583
+ * @param p6
646
584
  */
647
- getHeight(pos, atTop, inWorldCoords) {
648
- return inv('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
585
+ setCoordsAndHeadingNoOffset(pos, heading, p5, p6) {
586
+ inv('0x0918E3565C20F03C', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), p5, p6);
649
587
  }
650
588
  /**
651
- * @param pos
589
+ * 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.
590
+ *
591
+ * @param originX
592
+ * @param originY
593
+ * @param originZ
594
+ * @param edgeX
595
+ * @param edgeY
596
+ * @param edgeZ
597
+ * @param angle
598
+ * @param p8
599
+ * @param p9
600
+ * @param p10
652
601
  * @returns
653
602
  */
654
- getOffsetFromGivenWorldCoords(pos) {
655
- return Vector3.fromArray(inv('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
603
+ isInAngledArea(originX, originY, originZ, edgeX, edgeY, edgeZ, angle, p8, p9, p10) {
604
+ return !!inv('0xD3151E53134595E5', this.handle, f(originX), f(originY), f(originZ), f(edgeX), f(edgeY), f(edgeZ), f(angle), p8, p9, p10, rai());
656
605
  }
657
- addTrackingTrails() {
658
- inv('0x1AD922AB5038DEF3', this.handle);
606
+ clearLastDamageEntity() {
607
+ inv('0xBB19AC7D4DCEFD0F', this.handle);
659
608
  }
660
609
  /**
661
610
  * @param toggle
662
611
  */
663
- setCanClimbOnEntity(toggle) {
664
- inv('0x24AED2A608F93C4C', this.handle, toggle);
612
+ set AlwaysPrerender(toggle) {
613
+ inv('0xACAD101E1FB66689', this.handle, toggle);
665
614
  }
666
615
  /**
667
- * @returns minimum; maximum
616
+ * Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
617
+ *
618
+ * @param pos
668
619
  */
669
- getWorldPositionOfDimensions() {
670
- const result = inv('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
671
- return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
620
+ set Velocity(pos) {
621
+ inv('0x1C99BB7B6E96D16F', this.handle, f(pos.x), f(pos.y), f(pos.z));
672
622
  }
673
623
  /**
624
+ * SET_ENTITY_LO*
625
+ *
674
626
  * @param p1
675
- * @returns
676
- */
677
- isUnderwater(p1) {
678
- return inv('0xD4E5C1E93C466127', this.handle, p1);
679
- }
680
- /**
681
- * @param animation
682
- * @param animGroup
627
+ * @param p2
683
628
  * @param p3
684
- * @returns
685
629
  */
686
- stopAnim(animation, animGroup, p3) {
687
- return inv('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
630
+ N_0xAF7F3099B9FEB535(p1, p2, p3) {
631
+ inv('0xAF7F3099B9FEB535', this.handle, f(p1), f(p2), f(p3));
688
632
  }
689
633
  /**
690
634
  * @returns
691
635
  */
692
- hasCollidedWithAnything() {
693
- return inv('0xDF18751EC74F90FF', this.handle, rai());
636
+ N_0xAF72EC7E1B54539B() {
637
+ return createFromHandle('Entity', inv('0xAF72EC7E1B54539B', this.handle, rai()));
694
638
  }
695
639
  /**
696
640
  * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
697
641
  *
698
642
  * @returns
699
643
  */
700
- getVehicleIndexFromIndex() {
701
- return createFromHandle('Vehicle', inv('0xDF1E5AAC561AFC59', this.handle, rai()));
702
- }
703
- /**
704
- * @returns
705
- */
706
- isVisible() {
707
- return inv('0xFFC96ECB7FA404CA', this.handle, rai());
644
+ get ObjectIndexFromIndex() {
645
+ return createFromHandle('Prop', inv('0x280BBE5601EAA983', this.handle, rai()));
708
646
  }
709
647
  /**
710
- * SET_ENTITY_LO*
648
+ * Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.
711
649
  *
712
- * @param toggle
650
+ * @param entity2
651
+ * @param traceType
652
+ * @returns
713
653
  */
714
- N_0xFF9965C47FA404DA(toggle) {
715
- inv('0xFF9965C47FA404DA', this.handle, toggle);
654
+ hasClearLosToEntityInFront(entity2, traceType) {
655
+ return !!inv('0xE88F19660651D566', this.handle, entity2.handle, traceType, rai());
716
656
  }
717
657
  /**
718
- * Valid indices: 0 - 3
719
- * Index 1 always returns a `hogtied` config, doesn't matter the entity.
720
- * It's for humans only and the ped must be resurrected first if it's dead.
721
- *
722
- * @param index
723
658
  * @returns
724
659
  */
725
- getOptimalCarryConfig(index) {
726
- return (inv('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
727
- }
728
- setFadeIn() {
729
- inv('0xA91E6CF94404E8C9', this.handle);
660
+ get IsOnTrainTrack() {
661
+ return inv('0x857ACB0AB4BD0D55', this.handle);
730
662
  }
731
663
  /**
664
+ * @param angle
732
665
  * @returns
733
666
  */
734
- hasBeenDamagedByAnyPed() {
735
- return inv('0x9934E9C42D52D87E', this.handle, rai());
667
+ isUpright(angle) {
668
+ return !!inv('0xF6F6AFD8D4FB2658', this.handle, f(angle), rai());
736
669
  }
737
670
  /**
738
671
  * @param targetEntity
739
672
  * @returns
740
673
  */
741
674
  isTouchingEntity(targetEntity) {
742
- return inv('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
675
+ return !!inv('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
743
676
  }
744
677
  deleteCarriable() {
745
678
  inv('0x0D0DB2B6AF19A987', this.handle);
@@ -766,19 +699,19 @@ export class Entity {
766
699
  *
767
700
  * @returns
768
701
  */
769
- getSpeed() {
702
+ get Speed() {
770
703
  return inv('0xFB6BA510A533DF81', this.handle, raf());
771
704
  }
772
705
  /**
773
706
  * @param bOnlyDamagedWhenRunningScript
774
707
  */
775
- setCanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript) {
708
+ set CanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript) {
776
709
  inv('0xFF83AF534156B399', this.handle, bOnlyDamagedWhenRunningScript);
777
710
  }
778
711
  /**
779
712
  * @returns
780
713
  */
781
- isTrackedVisible() {
714
+ get IsTrackedVisible() {
782
715
  return inv('0xC8CCDB712FBCBA92', this.handle);
783
716
  }
784
717
  /**
@@ -791,8 +724,8 @@ export class Entity {
791
724
  /**
792
725
  * @returns
793
726
  */
794
- isVisibleToScript() {
795
- return inv('0xF213C724E77F321A', this.handle, rai());
727
+ get IsVisibleToScript() {
728
+ return !!inv('0xF213C724E77F321A', this.handle, rai());
796
729
  }
797
730
  /**
798
731
  * @param entity2
@@ -800,7 +733,7 @@ export class Entity {
800
733
  * @returns
801
734
  */
802
735
  hasClearLosToEntity(entity2, traceType) {
803
- return inv('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
736
+ return !!inv('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
804
737
  }
805
738
  /**
806
739
  * Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED
@@ -814,107 +747,173 @@ export class Entity {
814
747
  return inv('0x8E46E18AA828334F', this.handle, animDict, animClip, raf());
815
748
  }
816
749
  /**
817
- * @param pos1
818
- * @param pos2
819
- * @param p7
820
- * @param p8
821
- * @param p9
750
+ * @param playerPedToIgnore
751
+ * @param flags
822
752
  * @returns
823
753
  */
824
- isInArea(pos1, pos2, p7, p8, p9) {
825
- return inv('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());
754
+ getNearestPlayerToEntity(playerPedToIgnore, flags) {
755
+ return createFromHandle('Player', inv('0x990E294FC387FB88', this.handle, playerPedToIgnore.handle, flags, rai()));
826
756
  }
827
757
  /**
828
- * Returns the coordinates of an entity-bone.
829
- * https://github.com/femga/rdr3_discoveries/tree/master/boneNames
758
+ * Gets the Y-component of the entity's forward vector.
830
759
  *
831
- * @param boneIndex
832
760
  * @returns
833
761
  */
834
- getWorldPositionOfBone(boneIndex) {
835
- return Vector3.fromArray(inv('0x82CFA50E34681CA5', this.handle, boneIndex, rav()));
762
+ get ForwardY() {
763
+ return inv('0x9A5C073ECBDA7EE7', this.handle, raf());
836
764
  }
837
765
  /**
838
- * https://github.com/femga/rdr3_discoveries/tree/master/animations
766
+ * @param pitch
767
+ * @param roll
768
+ * @param yaw
769
+ * @param rotationOrder
770
+ * @param p5
771
+ */
772
+ setRotation(pitch, roll, yaw, rotationOrder, p5) {
773
+ inv('0x9CC8314DFEDE441E', this.handle, f(pitch), f(roll), f(yaw), rotationOrder, p5);
774
+ }
775
+ /**
776
+ * @param p1
777
+ * @param relationshipGroup
778
+ */
779
+ setOnlyDamagedByRelationshipGroup(p1, relationshipGroup) {
780
+ inv('0x6C1F6AA2F0ADD104', this.handle, p1, _h(relationshipGroup));
781
+ }
782
+ /**
783
+ * https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS
784
+ * 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
785
+ *
786
+ * @param proofsBitset
787
+ * @param specialFlag
788
+ */
789
+ setProofs(proofsBitset, specialFlag) {
790
+ inv('0xFAEE099C6F890BB8', this.handle, proofsBitset, specialFlag);
791
+ }
792
+ /**
793
+ * @returns
794
+ */
795
+ hasCollisionLoadedAroundEntity() {
796
+ return !!inv('0xBEB1600952B9CF5C', this.handle, rai());
797
+ }
798
+ /**
799
+ * @returns
800
+ */
801
+ get IsCarriablePelt() {
802
+ return inv('0x255B6DB4E3AD3C3E', this.handle);
803
+ }
804
+ /**
805
+ * @param p1
806
+ * @returns
807
+ */
808
+ getVelocity(p1) {
809
+ return Vector3.fromArray(inv('0x4805D2B1D8CF94A9', this.handle, p1, rav()));
810
+ }
811
+ /**
812
+ * @param toggle
813
+ */
814
+ set CanAutoVaultOnEntity(toggle) {
815
+ inv('0x80646744FA88F9D7', this.handle, toggle);
816
+ }
817
+ /**
818
+ * 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.
819
+ * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua
820
+ *
821
+ * @param lootTable
822
+ * @returns
823
+ */
824
+ scriptOverrideLootTablePermanent(lootTable) {
825
+ return inv('0x8C03CD6B5E0E85E8', this.handle, _h(lootTable));
826
+ }
827
+ /**
828
+ * @returns argStruct
829
+ */
830
+ get Script() {
831
+ const result = inv('0x2A08A32B6D49906F', this.handle, pvi(), rai());
832
+ return [result[0] & 0xFFFFFFFF, result[1]];
833
+ }
834
+ /**
835
+ * @param actionHash
836
+ * @returns
837
+ */
838
+ hasAnimEventFired(actionHash) {
839
+ return !!inv('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
840
+ }
841
+ /**
842
+ * @param p1
843
+ */
844
+ N_0xEF259AA1E097E0AD(p1) {
845
+ inv('0xEF259AA1E097E0AD', this.handle, p1);
846
+ }
847
+ /**
848
+ * Getter for FREEZE_ENTITY_POSITION
849
+ *
850
+ * @returns
851
+ */
852
+ get IsFrozen() {
853
+ return inv('0x083D497D57B7400F', this.handle);
854
+ }
855
+ /**
856
+ * Returns the entity that is looting a ped but only while the looting is active
839
857
  *
840
- * @param animName
841
- * @param animDict
842
- * @param p3
843
- * @param loop
844
- * @param stayInAnim
845
- * @param p6
846
- * @param delta
847
- * @param bitset
848
858
  * @returns
849
859
  */
850
- playAnim(animName, animDict, p3, loop, stayInAnim, p6, delta, bitset) {
851
- return inv('0xDC6D22FAB76D4874', this.handle, animName, animDict, f(p3), loop, stayInAnim, p6, f(delta), bitset, rai());
860
+ get LootingPed() {
861
+ return createFromHandle('Ped', inv('0xEF2D9ED7CE684F08', this.handle, rai()));
852
862
  }
853
863
  /**
854
- * Returns false if entity is not a ped or object.
855
- *
856
- * @returns lootTable
864
+ * @returns
857
865
  */
858
- getScriptOverrideLootTablePermanent() {
859
- const result = inv('0x1E804EA9B12030A4', this.handle, pvi());
860
- return [result[0], result[1]];
866
+ get IsWaitingForWorldCollision() {
867
+ return !!inv('0x5E1CC2E8DC3111DD', this.handle, rai());
861
868
  }
862
869
  /**
863
- * @param animDict
864
- * @param animName
865
- * @param p3
870
+ * Gets the X-component of the entity's forward vector.
871
+ *
866
872
  * @returns
867
873
  */
868
- hasAnimFinished(animDict, animName, p3) {
869
- return inv('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
874
+ get ForwardX() {
875
+ return inv('0xDB0954E9960F6457', this.handle, raf());
870
876
  }
871
877
  /**
872
- * @param bCanBeDamaged
873
- * @param relGroup
878
+ * @returns
874
879
  */
875
- setCanBeDamagedByRelationshipGroup(bCanBeDamaged, relGroup) {
876
- inv('0x0EF1AFB18649E015', this.handle, bCanBeDamaged, _h(relGroup));
880
+ get IsAPed() {
881
+ return !!inv('0xCF8176912DDA4EA5', this.handle, rai());
877
882
  }
878
883
  /**
879
884
  * @returns
880
885
  */
881
- getUprightValue() {
882
- return inv('0x56398BE65160C3BE', this.handle, raf());
886
+ get Pitch() {
887
+ return inv('0xEF355ABEFF7F5005', this.handle, raf());
883
888
  }
884
889
  /**
885
- * @param pos
886
- * @param heading
887
- * @param xAxis
888
- * @param yAxis
889
- * @param zAxis
890
+ * @returns
890
891
  */
891
- setCoordsAndHeading(pos, heading, xAxis, yAxis, zAxis) {
892
- inv('0x203BEFFDBE12E96A', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), xAxis, yAxis, zAxis);
892
+ get IsStatic() {
893
+ return !!inv('0x86468ADFA0F6B861', this.handle, rai());
893
894
  }
894
895
  /**
895
- * Returns zero if the entity is not a carriable
896
+ * Returns the model hash from the entity
896
897
  *
897
898
  * @returns
898
899
  */
899
- getCarryConfig() {
900
- return (inv('0x0FD25587BB306C86', this.handle, rai())) & 0xFFFFFFFF;
900
+ get Model() {
901
+ return (inv('0xDA76A9F39210D365', this.handle, rai())) & 0xFFFFFFFF;
901
902
  }
902
903
  /**
903
- * tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
904
- *
905
- * @param tier
906
- * @param p2
904
+ * Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
907
905
  */
908
- setThreatTier(tier, p2) {
909
- inv('0x4B436BAC8CBE9B07', this.handle, tier, p2);
906
+ deleteEntity() {
907
+ inv('0x4CD38C78BD19A497', this.handle);
910
908
  }
911
909
  /**
912
- * Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
913
- *
910
+ * @param team
911
+ * @param playerPedToIgnore
912
+ * @param flags
914
913
  * @returns
915
914
  */
916
- getHeading() {
917
- return inv('0xC230DD956E2F5507', this.handle, raf());
915
+ getNearestPlayerToOnTeam(team, playerPedToIgnore, flags) {
916
+ return createFromHandle('Player', inv('0xB2C30C3B4AFF718C', this.handle, team, playerPedToIgnore.handle, flags, rai()));
918
917
  }
919
918
  /**
920
919
  * Seems to return true if entity is burned / scorched
@@ -928,7 +927,7 @@ export class Entity {
928
927
  /**
929
928
  * @param toggle
930
929
  */
931
- setRequiresMoreExpensiveRiverCheck(toggle) {
930
+ set RequiresMoreExpensiveRiverCheck(toggle) {
932
931
  inv('0x850C940EE3E7B8B5', this.handle, toggle);
933
932
  }
934
933
  /**
@@ -946,7 +945,7 @@ export class Entity {
946
945
  *
947
946
  * @returns
948
947
  */
949
- getPedIndexFromIndex() {
948
+ get PedIndexFromIndex() {
950
949
  return createFromHandle('Ped', inv('0x0F16D042BD640EA3', this.handle, rai()));
951
950
  }
952
951
  /**
@@ -954,27 +953,27 @@ export class Entity {
954
953
  *
955
954
  * @param toggle
956
955
  */
957
- setCanBeTargetedWithoutLos(toggle) {
956
+ set CanBeTargetedWithoutLos(toggle) {
958
957
  inv('0x6D09F32E284D0FB7', this.handle, toggle);
959
958
  }
960
959
  /**
961
960
  * @returns
962
961
  */
963
- isOnScreen() {
964
- return inv('0x613C15D5D8DB781F', this.handle, rai());
962
+ get IsOnScreen() {
963
+ return !!inv('0x613C15D5D8DB781F', this.handle, rai());
965
964
  }
966
965
  /**
967
966
  * Old name: _SET_ENTITY_DECALS_DISABLED
968
967
  *
969
968
  * @param toggle
970
969
  */
971
- setNoweapondecals(toggle) {
970
+ set Noweapondecals(toggle) {
972
971
  inv('0xC64E597783BE9A1D', this.handle, toggle);
973
972
  }
974
973
  /**
975
974
  * @returns
976
975
  */
977
- getHealth() {
976
+ get Health() {
978
977
  return inv('0x82368787EA73C0F7', this.handle, rai());
979
978
  }
980
979
  /**
@@ -993,7 +992,7 @@ export class Entity {
993
992
  * @returns
994
993
  */
995
994
  doesHavePhysics() {
996
- return inv('0xA512B3F1B2A0B51C', this.handle, rai());
995
+ return !!inv('0xA512B3F1B2A0B51C', this.handle, rai());
997
996
  }
998
997
  /**
999
998
  * Returns true if calling script owns specified entity
@@ -1047,13 +1046,13 @@ export class Entity {
1047
1046
  /**
1048
1047
  * @returns
1049
1048
  */
1050
- getAttachedTo() {
1049
+ get AttachedTo() {
1051
1050
  return createFromHandle('Entity', inv('0x56D713888A566481', this.handle, rai()));
1052
1051
  }
1053
1052
  /**
1054
1053
  * @param toggle
1055
1054
  */
1056
- setOnlyDamagedByPlayer(toggle) {
1055
+ set OnlyDamagedByPlayer(toggle) {
1057
1056
  inv('0x473598683095D430', this.handle, toggle);
1058
1057
  }
1059
1058
  /**
@@ -1081,7 +1080,7 @@ export class Entity {
1081
1080
  /**
1082
1081
  * @returns
1083
1082
  */
1084
- getIsPredator() {
1083
+ get IsPredator() {
1085
1084
  return inv('0x5594AFE9DE0C01B7', this.handle);
1086
1085
  }
1087
1086
  /**
@@ -1104,13 +1103,13 @@ export class Entity {
1104
1103
  *
1105
1104
  * @returns
1106
1105
  */
1107
- getCarriableState() {
1106
+ get CarriableState() {
1108
1107
  return inv('0x61914209C36EFDDB', this.handle, rai());
1109
1108
  }
1110
1109
  /**
1111
1110
  * @param value
1112
1111
  */
1113
- setMaxHealth(value) {
1112
+ set MaxHealth(value) {
1114
1113
  inv('0x166E7CF68597D8B5', this.handle, value);
1115
1114
  }
1116
1115
  /**
@@ -1120,12 +1119,12 @@ export class Entity {
1120
1119
  * @returns
1121
1120
  */
1122
1121
  isPlayingAnyAnim(p1) {
1123
- return inv('0x0B7CB1300CBFE19C', this.handle, p1, rai());
1122
+ return !!inv('0x0B7CB1300CBFE19C', this.handle, p1, rai());
1124
1123
  }
1125
1124
  /**
1126
1125
  * @param enabled
1127
1126
  */
1128
- setLightsEnabled(enabled) {
1127
+ set LightsEnabled(enabled) {
1129
1128
  inv('0xEBDC12861D079ABA', this.handle, enabled);
1130
1129
  }
1131
1130
  /**
@@ -1152,12 +1151,12 @@ export class Entity {
1152
1151
  * @returns
1153
1152
  */
1154
1153
  isAtEntity(entity2, xSize, ySize, zSize, p5, p6, p7) {
1155
- return inv('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
1154
+ return !!inv('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
1156
1155
  }
1157
1156
  /**
1158
1157
  * @param toggle
1159
1158
  */
1160
- setVisible(toggle) {
1159
+ set Visible(toggle) {
1161
1160
  inv('0x1794B4FCC84D812F', this.handle, toggle);
1162
1161
  }
1163
1162
  /**
@@ -1165,7 +1164,7 @@ export class Entity {
1165
1164
  *
1166
1165
  * @param toggle
1167
1166
  */
1168
- setShouldFreezeWaitingOnCollision(toggle) {
1167
+ set ShouldFreezeWaitingOnCollision(toggle) {
1169
1168
  inv('0x740CB4F3F602C9F4', this.handle, toggle);
1170
1169
  }
1171
1170
  /**
@@ -1174,7 +1173,7 @@ export class Entity {
1174
1173
  *
1175
1174
  * @returns
1176
1175
  */
1177
- getProofs() {
1176
+ get Proofs() {
1178
1177
  return inv('0x6CF0DAD7FA1088EA', this.handle, rai());
1179
1178
  }
1180
1179
  /**
@@ -1190,108 +1189,105 @@ export class Entity {
1190
1189
  /**
1191
1190
  * @returns
1192
1191
  */
1193
- getThreatTier() {
1192
+ get ThreatTier() {
1194
1193
  return inv('0xE12F56CB25D9CE23', this.handle, rai());
1195
1194
  }
1196
1195
  /**
1197
- * Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
1198
- *
1199
- * @param entity2
1200
- * @param p2
1201
- * @param p3
1202
- * @returns
1196
+ * @param p1
1203
1197
  */
1204
- N_0x3EC28DA1FFAC9DDD(entity2, p2, p3) {
1205
- return inv('0x3EC28DA1FFAC9DDD', this.handle, entity2.handle, p2, p3, rai());
1198
+ N_0xA48E4801DEBDF7E4(p1) {
1199
+ inv('0xA48E4801DEBDF7E4', this.handle, p1);
1206
1200
  }
1207
1201
  /**
1208
- * Must be called from a background script, otherwise it will do nothing.
1202
+ * @param toggle
1203
+ * @param keepPhysics
1209
1204
  */
1210
- delete2() {
1211
- inv('0x5E94EA09E7207C16', this.handle);
1205
+ setCompletelyDisableCollision(toggle, keepPhysics) {
1206
+ inv('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
1212
1207
  }
1213
1208
  /**
1214
1209
  * @param p1
1215
- * @returns
1216
1210
  */
1217
- isInAir(p1) {
1218
- return inv('0x886E37EC497200B6', this.handle, p1, rai());
1211
+ N_0xCDB682BB47C02F0A(p1) {
1212
+ inv('0xCDB682BB47C02F0A', this.handle, _h(p1));
1219
1213
  }
1220
1214
  /**
1215
+ * @param volume
1216
+ * @param p2
1217
+ * @param p3
1221
1218
  * @returns
1222
1219
  */
1223
- isAMissionEntity() {
1224
- return inv('0x138190F64DB4BBD1', this.handle, rai());
1220
+ isInVolume(volume, p2, p3) {
1221
+ return !!inv('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
1225
1222
  }
1226
1223
  /**
1227
- * @returns
1224
+ * @returns rightVector; forwardVector; upVector; position
1228
1225
  */
1229
- isAttachedToAnyPed() {
1230
- return inv('0xC841153DED2CA89A', this.handle, rai());
1226
+ get Matrix() {
1227
+ const result = inv('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
1228
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
1231
1229
  }
1232
1230
  /**
1233
- * @param to
1234
- * @returns
1231
+ * 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.
1235
1232
  */
1236
- isAttachedToEntity(to) {
1237
- return inv('0x154A3C529497053E', this.handle, to.handle, rai());
1233
+ N_0x371D179701D9C082() {
1234
+ inv('0x371D179701D9C082', this.handle);
1238
1235
  }
1239
1236
  /**
1237
+ * @param p1
1240
1238
  * @returns
1241
1239
  */
1242
- hasBeenDamagedByAnyObject() {
1243
- return inv('0x73BB763880CD23A6', this.handle, rai());
1240
+ getMaxHealth(p1) {
1241
+ return inv('0x15D757606D170C3C', this.handle, p1, rai());
1244
1242
  }
1245
1243
  /**
1246
- * @param rotationOrder
1247
- * @returns
1244
+ * @param animDict
1245
+ * @param animName
1246
+ * @param time
1248
1247
  */
1249
- getRotation(rotationOrder) {
1250
- return Vector3.fromArray(inv('0xE09CAF86C32CB48F', this.handle, rotationOrder, rav()));
1248
+ setAnimCurrentTime(animDict, animName, time) {
1249
+ inv('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
1251
1250
  }
1252
1251
  /**
1253
- * @param toggle
1252
+ * Gets the current coordinates for a specified entity.
1253
+ * `entity` = The entity to get the coordinates from.
1254
+ * `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.
1255
+ *
1256
+ * @param alive
1257
+ * @param realCoords
1258
+ * @returns
1254
1259
  */
1255
- setMotionBlur(toggle) {
1256
- inv('0x516C6ABD18322B63', this.handle, toggle);
1260
+ getCoords(alive, realCoords) {
1261
+ return Vector3.fromArray(inv('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
1257
1262
  }
1258
- resetAlpha() {
1259
- inv('0x744B9EF44779D9AB', this.handle);
1263
+ get Coords() {
1264
+ return this.getCoords();
1260
1265
  }
1261
1266
  /**
1262
- * 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
1263
- *
1264
- * @param pos
1265
- * @param xSize
1266
- * @param ySize
1267
- * @param zSize
1268
- * @param p7
1269
- * @param p8
1270
- * @param p9
1271
1267
  * @returns
1272
1268
  */
1273
- isAtCoord(pos, xSize, ySize, zSize, p7, p8, p9) {
1274
- return inv('0x5E58342602E94718', this.handle, f(pos.x), f(pos.y), f(pos.z), f(xSize), f(ySize), f(zSize), p7, p8, p9, rai());
1269
+ get IsAnObject() {
1270
+ return !!inv('0x0A27A546A375FDEF', this.handle, rai());
1275
1271
  }
1276
1272
  /**
1277
1273
  * @returns
1278
1274
  */
1279
- isUpsidedown() {
1280
- return inv('0x109DE3DA41AAD94A', this.handle, rai());
1275
+ get IsUpsidedown() {
1276
+ return !!inv('0x109DE3DA41AAD94A', this.handle, rai());
1281
1277
  }
1282
1278
  /**
1283
1279
  * @param p1
1284
1280
  * @returns
1285
1281
  */
1286
1282
  doesBelongToThisScript(p1) {
1287
- return inv('0x622B1980CBE13332', this.handle, p1, rai());
1283
+ return !!inv('0x622B1980CBE13332', this.handle, p1, rai());
1288
1284
  }
1289
1285
  /**
1290
1286
  * Returns a hash of an entity's name. (Alternative Name: _GET_ENTITY_PROMPT_NAME_HASH)
1291
1287
  *
1292
1288
  * @returns
1293
1289
  */
1294
- getCarriableFromEntity() {
1290
+ get CarriableFromEntity() {
1295
1291
  return (inv('0x31FEF6A20F00B963', this.handle, rai())) & 0xFFFFFFFF;
1296
1292
  }
1297
1293
  /**
@@ -1311,19 +1307,19 @@ export class Entity {
1311
1307
  /**
1312
1308
  * @returns
1313
1309
  */
1314
- isInWater() {
1315
- return inv('0xDDE5C125AC446723', this.handle, rai());
1310
+ get IsInWater() {
1311
+ return !!inv('0xDDE5C125AC446723', this.handle, rai());
1316
1312
  }
1317
1313
  /**
1318
1314
  * @returns Returns `true` if the entity exists
1319
1315
  */
1320
1316
  doesExist() {
1321
- return inv('0xD42BD6EB2E0F1677', this.handle, rai());
1317
+ return !!inv('0xD42BD6EB2E0F1677', this.handle, rai());
1322
1318
  }
1323
1319
  /**
1324
1320
  * @returns
1325
1321
  */
1326
- getAlpha() {
1322
+ get Alpha() {
1327
1323
  return inv('0x1BB501624FAF2BEA', this.handle, rai());
1328
1324
  }
1329
1325
  /**
@@ -1357,129 +1353,142 @@ export class Entity {
1357
1353
  *
1358
1354
  * @returns
1359
1355
  */
1360
- getHealthFloat() {
1356
+ get HealthFloat() {
1361
1357
  return inv('0x96C638784DB4C815', this.handle, raf());
1362
1358
  }
1363
1359
  /**
1364
- * @param entity2
1365
- * @param p2
1366
- * @param boneIndex
1367
- * @param offset
1368
- * @param p7
1369
- * @param p8
1370
- * @param p9
1371
- * @param p10
1372
- * @param p11
1373
- * @param p12
1374
- * @param p13
1375
- * @param p14
1376
- * @param p15
1377
- * @param p16
1378
- * @param p17
1379
- * @param p18
1380
- * @param p19
1381
- * @param p20
1382
- * @param p21
1360
+ * 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).
1361
+ *
1362
+ * @param value
1383
1363
  */
1384
- attachToEntityPhysically(entity2, p2, boneIndex, offset, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) {
1385
- inv('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));
1364
+ set LodDist(value) {
1365
+ inv('0x5FB407F0A7C877BF', this.handle, value);
1366
+ }
1367
+ /**
1368
+ * @param toggle
1369
+ */
1370
+ set Dynamic(toggle) {
1371
+ inv('0xFBFC4473F66CE344', this.handle, toggle);
1372
+ }
1373
+ /**
1374
+ * @param radius
1375
+ */
1376
+ set CustomPickupRadius(radius) {
1377
+ inv('0x482D17E45665DA44', this.handle, f(radius));
1386
1378
  }
1387
1379
  /**
1388
1380
  * @returns
1389
1381
  */
1390
- getHeightAboveGround() {
1391
- return inv('0x0D3B5BAEA08F63E9', this.handle, raf());
1382
+ get PopulationType() {
1383
+ return inv('0xADE28862B6D7B85B', this.handle, rai());
1384
+ }
1385
+ /**
1386
+ * @returns
1387
+ */
1388
+ get IsAVehicle() {
1389
+ return !!inv('0xC3D96AF45FCCEC4C', this.handle, rai());
1392
1390
  }
1393
1391
  /**
1394
1392
  * @param pos
1395
- * @param heading
1396
- * @param p5
1397
- * @param p6
1393
+ * @param atTop
1394
+ * @param inWorldCoords
1395
+ * @returns
1398
1396
  */
1399
- setCoordsAndHeadingNoOffset(pos, heading, p5, p6) {
1400
- inv('0x0918E3565C20F03C', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), p5, p6);
1397
+ getHeight(pos, atTop, inWorldCoords) {
1398
+ return inv('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
1401
1399
  }
1402
1400
  /**
1403
- * 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.
1404
- *
1405
- * @param originX
1406
- * @param originY
1407
- * @param originZ
1408
- * @param edgeX
1409
- * @param edgeY
1410
- * @param edgeZ
1411
- * @param angle
1412
- * @param p8
1413
- * @param p9
1414
- * @param p10
1401
+ * @param pos
1415
1402
  * @returns
1416
1403
  */
1417
- isInAngledArea(originX, originY, originZ, edgeX, edgeY, edgeZ, angle, p8, p9, p10) {
1418
- return inv('0xD3151E53134595E5', this.handle, f(originX), f(originY), f(originZ), f(edgeX), f(edgeY), f(edgeZ), f(angle), p8, p9, p10, rai());
1404
+ getOffsetFromGivenWorldCoords(pos) {
1405
+ return Vector3.fromArray(inv('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
1419
1406
  }
1420
- clearLastDamageEntity() {
1421
- inv('0xBB19AC7D4DCEFD0F', this.handle);
1407
+ addTrackingTrails() {
1408
+ inv('0x1AD922AB5038DEF3', this.handle);
1422
1409
  }
1423
1410
  /**
1424
1411
  * @param toggle
1425
1412
  */
1426
- setAlwaysPrerender(toggle) {
1427
- inv('0xACAD101E1FB66689', this.handle, toggle);
1413
+ set CanClimbOnEntity(toggle) {
1414
+ inv('0x24AED2A608F93C4C', this.handle, toggle);
1428
1415
  }
1429
1416
  /**
1430
- * Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
1431
- *
1432
- * @param pos
1417
+ * @returns minimum; maximum
1433
1418
  */
1434
- setVelocity(pos) {
1435
- inv('0x1C99BB7B6E96D16F', this.handle, f(pos.x), f(pos.y), f(pos.z));
1419
+ get WorldPositionOfDimensions() {
1420
+ const result = inv('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
1421
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
1436
1422
  }
1437
1423
  /**
1438
- * SET_ENTITY_LO*
1439
- *
1440
1424
  * @param p1
1441
- * @param p2
1425
+ * @returns
1426
+ */
1427
+ isUnderwater(p1) {
1428
+ return inv('0xD4E5C1E93C466127', this.handle, p1);
1429
+ }
1430
+ /**
1431
+ * @param animation
1432
+ * @param animGroup
1442
1433
  * @param p3
1434
+ * @returns
1443
1435
  */
1444
- N_0xAF7F3099B9FEB535(p1, p2, p3) {
1445
- inv('0xAF7F3099B9FEB535', this.handle, f(p1), f(p2), f(p3));
1436
+ stopAnim(animation, animGroup, p3) {
1437
+ return inv('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
1446
1438
  }
1447
1439
  /**
1448
1440
  * @returns
1449
1441
  */
1450
- N_0xAF72EC7E1B54539B() {
1451
- return createFromHandle('Entity', inv('0xAF72EC7E1B54539B', this.handle, rai()));
1442
+ hasCollidedWithAnything() {
1443
+ return !!inv('0xDF18751EC74F90FF', this.handle, rai());
1452
1444
  }
1453
1445
  /**
1454
1446
  * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
1455
1447
  *
1456
1448
  * @returns
1457
1449
  */
1458
- getObjectIndexFromIndex() {
1459
- return createFromHandle('Prop', inv('0x280BBE5601EAA983', this.handle, rai()));
1450
+ get VehicleIndexFromIndex() {
1451
+ return createFromHandle('Vehicle', inv('0xDF1E5AAC561AFC59', this.handle, rai()));
1460
1452
  }
1461
1453
  /**
1462
- * Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.
1463
- *
1464
- * @param entity2
1465
- * @param traceType
1466
1454
  * @returns
1467
1455
  */
1468
- hasClearLosToEntityInFront(entity2, traceType) {
1469
- return inv('0xE88F19660651D566', this.handle, entity2.handle, traceType, rai());
1456
+ get IsVisible() {
1457
+ return !!inv('0xFFC96ECB7FA404CA', this.handle, rai());
1458
+ }
1459
+ /**
1460
+ * SET_ENTITY_LO*
1461
+ *
1462
+ * @param toggle
1463
+ */
1464
+ N_0xFF9965C47FA404DA(toggle) {
1465
+ inv('0xFF9965C47FA404DA', this.handle, toggle);
1470
1466
  }
1471
1467
  /**
1468
+ * Valid indices: 0 - 3
1469
+ * Index 1 always returns a `hogtied` config, doesn't matter the entity.
1470
+ * It's for humans only and the ped must be resurrected first if it's dead.
1471
+ *
1472
+ * @param index
1472
1473
  * @returns
1473
1474
  */
1474
- isOnTrainTrack() {
1475
- return inv('0x857ACB0AB4BD0D55', this.handle);
1475
+ getOptimalCarryConfig(index) {
1476
+ return (inv('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
1477
+ }
1478
+ setFadeIn() {
1479
+ inv('0xA91E6CF94404E8C9', this.handle);
1476
1480
  }
1477
1481
  /**
1478
- * @param angle
1479
1482
  * @returns
1480
1483
  */
1481
- isUpright(angle) {
1482
- return inv('0xF6F6AFD8D4FB2658', this.handle, f(angle), rai());
1484
+ hasBeenDamagedByAnyPed() {
1485
+ return !!inv('0x9934E9C42D52D87E', this.handle, rai());
1486
+ }
1487
+ /**
1488
+ * Gets the network ID of this entity for network synchronization.
1489
+ */
1490
+ get NetworkId() {
1491
+ return inv('0xF260AF6F43953316', this.handle, rai());
1483
1492
  }
1484
1493
  }
1485
1494
  registerHandle('Entity', Entity);