@nativewrappers/redm-codegen 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/classes/AnimScene.d.ts +101 -101
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +147 -147
  4. package/dist/classes/BaseModel.d.ts +12 -12
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +18 -18
  7. package/dist/classes/BaseTask.d.ts +22 -22
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +29 -29
  10. package/dist/classes/Cam.d.ts +86 -86
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +116 -116
  13. package/dist/classes/Entity.d.ts +426 -425
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +594 -589
  16. package/dist/classes/Interior.d.ts +1 -1
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Ped.d.ts +13 -12
  19. package/dist/classes/Ped.d.ts.map +1 -1
  20. package/dist/classes/Ped.js +5 -0
  21. package/dist/classes/PedTask.d.ts +729 -729
  22. package/dist/classes/PedTask.d.ts.map +1 -1
  23. package/dist/classes/PedTask.js +951 -951
  24. package/dist/classes/PersChar.d.ts +11 -11
  25. package/dist/classes/PersChar.d.ts.map +1 -1
  26. package/dist/classes/PersChar.js +17 -17
  27. package/dist/classes/Pickup.d.ts +3 -3
  28. package/dist/classes/Pickup.d.ts.map +1 -1
  29. package/dist/classes/Pickup.js +7 -7
  30. package/dist/classes/Player.d.ts +164 -164
  31. package/dist/classes/Player.d.ts.map +1 -1
  32. package/dist/classes/Player.js +218 -218
  33. package/dist/classes/Prop.d.ts +87 -86
  34. package/dist/classes/Prop.d.ts.map +1 -1
  35. package/dist/classes/Prop.js +131 -126
  36. package/dist/classes/PropSet.d.ts +18 -18
  37. package/dist/classes/PropSet.d.ts.map +1 -1
  38. package/dist/classes/PropSet.js +25 -25
  39. package/dist/classes/Vehicle.d.ts +1 -0
  40. package/dist/classes/Vehicle.d.ts.map +1 -1
  41. package/dist/classes/Vehicle.js +5 -0
  42. package/dist/classes/VehicleTask.d.ts +18 -18
  43. package/dist/classes/VehicleTask.d.ts.map +1 -1
  44. package/dist/classes/VehicleTask.js +26 -26
  45. package/dist/classes/Volume.d.ts +1 -1
  46. package/dist/classes/Volume.d.ts.map +1 -1
  47. package/dist/classes/Weapon.d.ts +277 -277
  48. package/dist/classes/Weapon.d.ts.map +1 -1
  49. package/dist/classes/Weapon.js +398 -398
  50. package/dist/namespaces/Aitransport.d.ts +77 -77
  51. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  52. package/dist/namespaces/Aitransport.js +94 -94
  53. package/dist/namespaces/Animscene.d.ts +51 -51
  54. package/dist/namespaces/Animscene.d.ts.map +1 -1
  55. package/dist/namespaces/Animscene.js +69 -69
  56. package/dist/namespaces/Audio.d.ts +2 -2
  57. package/dist/namespaces/Audio.d.ts.map +1 -1
  58. package/dist/namespaces/Bounty.d.ts +57 -57
  59. package/dist/namespaces/Bounty.d.ts.map +1 -1
  60. package/dist/namespaces/Bounty.js +90 -90
  61. package/dist/namespaces/Brain.d.ts +15 -15
  62. package/dist/namespaces/Brain.d.ts.map +1 -1
  63. package/dist/namespaces/Brain.js +20 -20
  64. package/dist/namespaces/CamStatics.d.ts +317 -317
  65. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  66. package/dist/namespaces/CamStatics.js +449 -449
  67. package/dist/namespaces/Collection.d.ts +13 -13
  68. package/dist/namespaces/Collection.d.ts.map +1 -1
  69. package/dist/namespaces/Collection.js +8 -8
  70. package/dist/namespaces/Companion.d.ts +22 -22
  71. package/dist/namespaces/Companion.d.ts.map +1 -1
  72. package/dist/namespaces/Companion.js +30 -30
  73. package/dist/namespaces/Compendium.d.ts +60 -60
  74. package/dist/namespaces/Compendium.d.ts.map +1 -1
  75. package/dist/namespaces/Compendium.js +80 -80
  76. package/dist/namespaces/Crashlog.d.ts +10 -10
  77. package/dist/namespaces/Crashlog.d.ts.map +1 -1
  78. package/dist/namespaces/Crashlog.js +14 -14
  79. package/dist/namespaces/Databinding.d.ts +173 -173
  80. package/dist/namespaces/Databinding.d.ts.map +1 -1
  81. package/dist/namespaces/Databinding.js +263 -263
  82. package/dist/namespaces/Dlc.d.ts +5 -5
  83. package/dist/namespaces/Dlc.d.ts.map +1 -1
  84. package/dist/namespaces/Dlc.js +9 -9
  85. package/dist/namespaces/EntityStatics.d.ts +178 -178
  86. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  87. package/dist/namespaces/EntityStatics.js +242 -242
  88. package/dist/namespaces/Event.d.ts +62 -62
  89. package/dist/namespaces/Event.d.ts.map +1 -1
  90. package/dist/namespaces/Event.js +82 -82
  91. package/dist/namespaces/Fire.d.ts +7 -7
  92. package/dist/namespaces/Fire.d.ts.map +1 -1
  93. package/dist/namespaces/Fire.js +9 -9
  94. package/dist/namespaces/Graphics.d.ts +797 -797
  95. package/dist/namespaces/Graphics.d.ts.map +1 -1
  96. package/dist/namespaces/Graphics.js +1095 -1095
  97. package/dist/namespaces/Hud.d.ts +477 -477
  98. package/dist/namespaces/Hud.d.ts.map +1 -1
  99. package/dist/namespaces/Hud.js +721 -721
  100. package/dist/namespaces/InteriorStatics.d.ts +2 -2
  101. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  102. package/dist/namespaces/Inventory.d.ts +216 -216
  103. package/dist/namespaces/Inventory.d.ts.map +1 -1
  104. package/dist/namespaces/Inventory.js +301 -301
  105. package/dist/namespaces/Itemdatabase.d.ts +8 -8
  106. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  107. package/dist/namespaces/Itemdatabase.js +7 -7
  108. package/dist/namespaces/Law.d.ts +2 -2
  109. package/dist/namespaces/Law.d.ts.map +1 -1
  110. package/dist/namespaces/Map.d.ts +65 -65
  111. package/dist/namespaces/Map.d.ts.map +1 -1
  112. package/dist/namespaces/Map.js +91 -91
  113. package/dist/namespaces/Minigame.d.ts +17 -17
  114. package/dist/namespaces/Minigame.d.ts.map +1 -1
  115. package/dist/namespaces/Minigame.js +25 -25
  116. package/dist/namespaces/Misc.d.ts +5 -5
  117. package/dist/namespaces/Misc.d.ts.map +1 -1
  118. package/dist/namespaces/Missiondata.d.ts +3 -3
  119. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  120. package/dist/namespaces/Netshopping.d.ts +1 -1
  121. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  122. package/dist/namespaces/Network.d.ts +1302 -1310
  123. package/dist/namespaces/Network.d.ts.map +1 -1
  124. package/dist/namespaces/Network.js +1910 -1918
  125. package/dist/namespaces/Object.d.ts +170 -170
  126. package/dist/namespaces/Object.d.ts.map +1 -1
  127. package/dist/namespaces/Object.js +232 -232
  128. package/dist/namespaces/Pad.d.ts +103 -103
  129. package/dist/namespaces/Pad.d.ts.map +1 -1
  130. package/dist/namespaces/Pad.js +134 -134
  131. package/dist/namespaces/PedStatics.d.ts +3 -3
  132. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  133. package/dist/namespaces/Perschar.d.ts +71 -71
  134. package/dist/namespaces/Perschar.d.ts.map +1 -1
  135. package/dist/namespaces/Perschar.js +106 -106
  136. package/dist/namespaces/Persistence.d.ts +30 -30
  137. package/dist/namespaces/Persistence.d.ts.map +1 -1
  138. package/dist/namespaces/Persistence.js +42 -42
  139. package/dist/namespaces/PlayerStatics.d.ts +52 -52
  140. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  141. package/dist/namespaces/PlayerStatics.js +71 -71
  142. package/dist/namespaces/Population.d.ts +3 -3
  143. package/dist/namespaces/Population.d.ts.map +1 -1
  144. package/dist/namespaces/Posse.d.ts +28 -28
  145. package/dist/namespaces/Posse.d.ts.map +1 -1
  146. package/dist/namespaces/Posse.js +44 -44
  147. package/dist/namespaces/Propset.d.ts +59 -59
  148. package/dist/namespaces/Propset.d.ts.map +1 -1
  149. package/dist/namespaces/Propset.js +81 -81
  150. package/dist/namespaces/Scripts.d.ts +3 -3
  151. package/dist/namespaces/Scripts.d.ts.map +1 -1
  152. package/dist/namespaces/Socialclub.d.ts +1 -1
  153. package/dist/namespaces/Socialclub.d.ts.map +1 -1
  154. package/dist/namespaces/Stats.d.ts +85 -85
  155. package/dist/namespaces/Stats.d.ts.map +1 -1
  156. package/dist/namespaces/Stats.js +113 -113
  157. package/dist/namespaces/Streaming.d.ts +35 -35
  158. package/dist/namespaces/Streaming.d.ts.map +1 -1
  159. package/dist/namespaces/Streaming.js +53 -53
  160. package/dist/namespaces/Task.d.ts +367 -367
  161. package/dist/namespaces/Task.d.ts.map +1 -1
  162. package/dist/namespaces/Task.js +508 -508
  163. package/dist/namespaces/Telemetry.d.ts +198 -198
  164. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  165. package/dist/namespaces/Telemetry.js +274 -274
  166. package/dist/namespaces/Uiapps.d.ts +24 -24
  167. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  168. package/dist/namespaces/Uiapps.js +33 -33
  169. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  170. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  171. package/dist/namespaces/Uistickyfeed.js +21 -21
  172. package/dist/namespaces/VehicleStatics.d.ts +2 -2
  173. package/dist/namespaces/VehicleStatics.d.ts.map +1 -1
  174. package/dist/namespaces/Water.d.ts +27 -27
  175. package/dist/namespaces/Water.d.ts.map +1 -1
  176. package/dist/namespaces/Water.js +41 -41
  177. package/dist/namespaces/WeaponStatics.d.ts +250 -250
  178. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  179. package/dist/namespaces/WeaponStatics.js +372 -372
  180. package/dist/namespaces/Zone.d.ts +8 -8
  181. package/dist/namespaces/Zone.d.ts.map +1 -1
  182. package/dist/namespaces/Zone.js +9 -9
  183. package/package.json +1 -1
  184. package/src/classes/AnimScene.ts +170 -170
  185. package/src/classes/BaseModel.ts +21 -21
  186. package/src/classes/BaseTask.ts +31 -31
  187. package/src/classes/Cam.ts +124 -124
  188. package/src/classes/Entity.ts +619 -614
  189. package/src/classes/Interior.ts +1 -1
  190. package/src/classes/Ped.ts +17 -12
  191. package/src/classes/PedTask.ts +1011 -1011
  192. package/src/classes/PersChar.ts +19 -19
  193. package/src/classes/Pickup.ts +8 -8
  194. package/src/classes/Player.ts +227 -227
  195. package/src/classes/Prop.ts +146 -141
  196. package/src/classes/PropSet.ts +29 -29
  197. package/src/classes/Vehicle.ts +5 -0
  198. package/src/classes/VehicleTask.ts +30 -30
  199. package/src/classes/Volume.ts +1 -1
  200. package/src/classes/Weapon.ts +414 -414
  201. package/src/namespaces/Aitransport.ts +102 -102
  202. package/src/namespaces/Animscene.ts +78 -78
  203. package/src/namespaces/Audio.ts +2 -2
  204. package/src/namespaces/Bounty.ts +102 -102
  205. package/src/namespaces/Brain.ts +22 -22
  206. package/src/namespaces/CamStatics.ts +501 -501
  207. package/src/namespaces/Collection.ts +16 -16
  208. package/src/namespaces/Companion.ts +34 -34
  209. package/src/namespaces/Compendium.ts +93 -93
  210. package/src/namespaces/Crashlog.ts +16 -16
  211. package/src/namespaces/Databinding.ts +280 -280
  212. package/src/namespaces/Dlc.ts +9 -9
  213. package/src/namespaces/EntityStatics.ts +249 -249
  214. package/src/namespaces/Event.ts +92 -92
  215. package/src/namespaces/Fire.ts +10 -10
  216. package/src/namespaces/Graphics.ts +1155 -1155
  217. package/src/namespaces/Hud.ts +763 -763
  218. package/src/namespaces/InteriorStatics.ts +2 -2
  219. package/src/namespaces/Inventory.ts +321 -321
  220. package/src/namespaces/Itemdatabase.ts +11 -11
  221. package/src/namespaces/Law.ts +2 -2
  222. package/src/namespaces/Map.ts +104 -104
  223. package/src/namespaces/Minigame.ts +29 -29
  224. package/src/namespaces/Misc.ts +5 -5
  225. package/src/namespaces/Missiondata.ts +3 -3
  226. package/src/namespaces/Netshopping.ts +1 -1
  227. package/src/namespaces/Network.ts +1921 -1929
  228. package/src/namespaces/Object.ts +237 -237
  229. package/src/namespaces/Pad.ts +151 -151
  230. package/src/namespaces/PedStatics.ts +3 -3
  231. package/src/namespaces/Perschar.ts +116 -116
  232. package/src/namespaces/Persistence.ts +48 -48
  233. package/src/namespaces/PlayerStatics.ts +75 -75
  234. package/src/namespaces/Population.ts +3 -3
  235. package/src/namespaces/Posse.ts +47 -47
  236. package/src/namespaces/Propset.ts +92 -92
  237. package/src/namespaces/Scripts.ts +3 -3
  238. package/src/namespaces/Socialclub.ts +1 -1
  239. package/src/namespaces/Stats.ts +129 -129
  240. package/src/namespaces/Streaming.ts +62 -62
  241. package/src/namespaces/Task.ts +538 -538
  242. package/src/namespaces/Telemetry.ts +295 -295
  243. package/src/namespaces/Uiapps.ts +39 -39
  244. package/src/namespaces/Uistickyfeed.ts +23 -23
  245. package/src/namespaces/VehicleStatics.ts +2 -2
  246. package/src/namespaces/Water.ts +47 -47
  247. package/src/namespaces/WeaponStatics.ts +394 -394
  248. package/src/namespaces/Zone.ts +11 -11
@@ -8,253 +8,311 @@ export class Entity {
8
8
  static fromHandle(handle) {
9
9
  return handle === 0 ? null : new Entity(handle);
10
10
  }
11
+ static fromNetworkId(netId) {
12
+ if (!inv('0x38CE16C96BD11F2C', netId, rai()))
13
+ return null;
14
+ return Entity.fromHandle(inv('0x5B912C3F653822E6', netId, rai()));
15
+ }
11
16
  /**
12
- * @param targetEntity
13
17
  * @returns
14
18
  */
15
- isTouchingEntity(targetEntity) {
16
- return inv('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
17
- }
18
- deleteCarriable() {
19
- inv('0x0D0DB2B6AF19A987', this.handle);
19
+ getIsBird() {
20
+ return inv('0xC346A546612C49A9', this.handle);
20
21
  }
21
22
  /**
22
- * Returns a normalized value between 0.0f and 1.0f. You can get the actual anim time by multiplying this by GET_ANIM_DURATION
23
+ * Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR
23
24
  *
24
- * @param animDict
25
- * @param animName
26
25
  * @returns
27
26
  */
28
- getAnimCurrentTime(animDict, animName) {
29
- return inv('0x627520389E288A73', this.handle, animDict, animName, raf());
27
+ getForwardVectorYx() {
28
+ return Vector3.fromArray(inv('0x935A30AA88FB1014', this.handle, rav()));
30
29
  }
31
30
  /**
32
- * @param entity2
33
- * @param thisFrameOnly
31
+ * @param pos
32
+ * @param xAxis
33
+ * @param yAxis
34
+ * @param zAxis
35
+ * @param clearArea
34
36
  */
35
- setNoCollisionEntity(entity2, thisFrameOnly) {
36
- inv('0xE037BF068223C38D', this.handle, entity2.handle, thisFrameOnly);
37
+ setCoords(pos, xAxis, yAxis, zAxis, clearArea) {
38
+ inv('0x06843DA7060A026B', this.handle, f(pos.x), f(pos.y), f(pos.z), xAxis, yAxis, zAxis, clearArea);
37
39
  }
38
40
  /**
39
- * Result is in meters per second (m/s)
40
- *
41
+ * @param boneName
41
42
  * @returns
42
43
  */
43
- getSpeed() {
44
- return inv('0xFB6BA510A533DF81', this.handle, raf());
44
+ getBoneIndexByName(boneName) {
45
+ return inv('0xBACA8FE9C76C124E', this.handle, boneName, rai());
45
46
  }
46
47
  /**
47
- * @param bOnlyDamagedWhenRunningScript
48
+ * @param pause
48
49
  */
49
- setCanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript) {
50
- inv('0xFF83AF534156B399', this.handle, bOnlyDamagedWhenRunningScript);
50
+ pauseTracking(pause) {
51
+ inv('0x36EB4D34D4A092C5', this.handle, pause);
51
52
  }
52
53
  /**
53
- * @returns
54
+ * @param toggle
54
55
  */
55
- isTrackedVisible() {
56
- return inv('0xC8CCDB712FBCBA92', this.handle);
56
+ setLoadCollisionFlag(toggle) {
57
+ inv('0x9B9EE31AED48072E', this.handle, toggle);
57
58
  }
58
59
  /**
59
- * @param p1
60
- * @param collision
60
+ * Changes type and quality of skins
61
+ * type hashes: https://pastebin.com/C1WvQjCy
62
+ *
63
+ * @param type
61
64
  */
62
- detachEntity(p1, collision) {
63
- inv('0x64CDE9D6BF8ECAD3', this.handle, p1, collision);
65
+ setCarcassType(type) {
66
+ inv('0x399657ED871B3A6C', this.handle, _h(type));
64
67
  }
65
68
  /**
66
- * @returns
69
+ * @param toggle
67
70
  */
68
- isVisibleToScript() {
69
- return inv('0xF213C724E77F321A', this.handle, rai());
71
+ setHasGravity(toggle) {
72
+ inv('0x0CEDB728A1083FA7', this.handle, toggle);
70
73
  }
71
74
  /**
72
- * @param entity2
73
- * @param traceType
75
+ * @param relative
74
76
  * @returns
75
77
  */
76
- hasClearLosToEntity(entity2, traceType) {
77
- return inv('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
78
+ getSpeedVector(relative) {
79
+ return Vector3.fromArray(inv('0xF2DB09816A419DC5', this.handle, relative, rav()));
78
80
  }
79
81
  /**
80
- * Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED
81
- * *GET_ENTITY**
82
- *
83
- * @param animDict
84
- * @param animClip
82
+ * @param entity2
83
+ * @param p2
84
+ * @param p3
85
85
  * @returns
86
86
  */
87
- N_0x8E46E18AA828334F(animDict, animClip) {
88
- return inv('0x8E46E18AA828334F', this.handle, animDict, animClip, raf());
87
+ hasBeenDamagedByEntity(entity2, p2, p3) {
88
+ return inv('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
89
89
  }
90
90
  /**
91
- * @param playerPedToIgnore
92
- * @param flags
93
91
  * @returns
94
92
  */
95
- getNearestPlayerToEntity(playerPedToIgnore, flags) {
96
- return createFromHandle('Player', inv('0x990E294FC387FB88', this.handle, playerPedToIgnore.handle, flags, rai()));
93
+ isFullyLooted() {
94
+ return inv('0x8DE41E9902E85756', this.handle);
97
95
  }
98
96
  /**
99
- * Gets the Y-component of the entity's forward vector.
100
- *
101
97
  * @returns
102
98
  */
103
- getForwardY() {
104
- return inv('0x9A5C073ECBDA7EE7', this.handle, raf());
99
+ isOccluded() {
100
+ return inv('0x140188E884645624', this.handle, rai());
105
101
  }
106
102
  /**
107
- * @param pitch
108
- * @param roll
109
- * @param yaw
110
- * @param rotationOrder
111
- * @param p5
103
+ * @param toggle
112
104
  */
113
- setRotation(pitch, roll, yaw, rotationOrder, p5) {
114
- inv('0x9CC8314DFEDE441E', this.handle, f(pitch), f(roll), f(yaw), rotationOrder, p5);
105
+ setCanBeDamaged(toggle) {
106
+ inv('0x0D06D522B90E861F', this.handle, toggle);
115
107
  }
116
108
  /**
117
- * @param p1
118
- * @param relationshipGroup
109
+ * @param forceFlags
110
+ * @param pos
111
+ * @param offset
112
+ * @param boneIndex
113
+ * @param isDirectionRel
114
+ * @param ignoreUpVec
115
+ * @param isForceRel
116
+ * @param p12
117
+ * @param p13
119
118
  */
120
- setOnlyDamagedByRelationshipGroup(p1, relationshipGroup) {
121
- inv('0x6C1F6AA2F0ADD104', this.handle, p1, _h(relationshipGroup));
119
+ applyForceToEntity(forceFlags, pos, offset, boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13) {
120
+ inv('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);
122
121
  }
123
122
  /**
124
- * https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS
125
- * 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
126
- *
127
- * @param proofsBitset
128
- * @param specialFlag
123
+ * @returns
129
124
  */
130
- setProofs(proofsBitset, specialFlag) {
131
- inv('0xFAEE099C6F890BB8', this.handle, proofsBitset, specialFlag);
125
+ isDead() {
126
+ return inv('0x7D5B1F88E7504BBA', this.handle, rai());
132
127
  }
133
128
  /**
129
+ * @param pos1
130
+ * @param pos2
131
+ * @param p7
132
+ * @param p8
133
+ * @param p9
134
134
  * @returns
135
135
  */
136
- hasCollisionLoadedAroundEntity() {
137
- return inv('0xBEB1600952B9CF5C', this.handle, 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());
138
138
  }
139
139
  /**
140
+ * Returns the coordinates of an entity-bone.
141
+ * https://github.com/femga/rdr3_discoveries/tree/master/boneNames
142
+ *
143
+ * @param boneIndex
140
144
  * @returns
141
145
  */
142
- getIsCarriablePelt() {
143
- return inv('0x255B6DB4E3AD3C3E', this.handle);
146
+ getWorldPositionOfBone(boneIndex) {
147
+ return Vector3.fromArray(inv('0x82CFA50E34681CA5', this.handle, boneIndex, rav()));
144
148
  }
145
149
  /**
146
- * @param p1
150
+ * https://github.com/femga/rdr3_discoveries/tree/master/animations
151
+ *
152
+ * @param animName
153
+ * @param animDict
154
+ * @param p3
155
+ * @param loop
156
+ * @param stayInAnim
157
+ * @param p6
158
+ * @param delta
159
+ * @param bitset
147
160
  * @returns
148
161
  */
149
- getVelocity(p1) {
150
- return Vector3.fromArray(inv('0x4805D2B1D8CF94A9', this.handle, p1, rav()));
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());
151
164
  }
152
165
  /**
153
- * @param toggle
166
+ * Returns false if entity is not a ped or object.
167
+ *
168
+ * @returns lootTable
154
169
  */
155
- setCanAutoVaultOnEntity(toggle) {
156
- inv('0x80646744FA88F9D7', this.handle, toggle);
170
+ getScriptOverrideLootTablePermanent() {
171
+ const result = inv('0x1E804EA9B12030A4', this.handle, pvi());
172
+ return [result[0], result[1]];
157
173
  }
158
174
  /**
159
- * 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.
160
- * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua
161
- *
162
- * @param lootTable
175
+ * @param animDict
176
+ * @param animName
177
+ * @param p3
163
178
  * @returns
164
179
  */
165
- scriptOverrideLootTablePermanent(lootTable) {
166
- return inv('0x8C03CD6B5E0E85E8', this.handle, _h(lootTable));
180
+ hasAnimFinished(animDict, animName, p3) {
181
+ return inv('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
167
182
  }
168
183
  /**
169
- * @returns argStruct
184
+ * @param bCanBeDamaged
185
+ * @param relGroup
170
186
  */
171
- getScript() {
172
- const result = inv('0x2A08A32B6D49906F', this.handle, pvi(), rai());
173
- return [result[0] & 0xFFFFFFFF, result[1]];
187
+ setCanBeDamagedByRelationshipGroup(bCanBeDamaged, relGroup) {
188
+ inv('0x0EF1AFB18649E015', this.handle, bCanBeDamaged, _h(relGroup));
174
189
  }
175
190
  /**
176
- * @param actionHash
177
191
  * @returns
178
192
  */
179
- hasAnimEventFired(actionHash) {
180
- return inv('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
193
+ getUprightValue() {
194
+ return inv('0x56398BE65160C3BE', this.handle, raf());
181
195
  }
182
196
  /**
183
- * @param p1
197
+ * @param pos
198
+ * @param heading
199
+ * @param xAxis
200
+ * @param yAxis
201
+ * @param zAxis
184
202
  */
185
- N_0xEF259AA1E097E0AD(p1) {
186
- inv('0xEF259AA1E097E0AD', this.handle, p1);
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);
187
205
  }
188
206
  /**
189
- * Getter for FREEZE_ENTITY_POSITION
207
+ * Returns zero if the entity is not a carriable
190
208
  *
191
209
  * @returns
192
210
  */
193
- isFrozen() {
194
- return inv('0x083D497D57B7400F', this.handle);
211
+ getCarryConfig() {
212
+ return (inv('0x0FD25587BB306C86', this.handle, rai())) & 0xFFFFFFFF;
195
213
  }
196
214
  /**
197
- * Returns the entity that is looting a ped but only while the looting is active
215
+ * tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
198
216
  *
199
- * @returns
217
+ * @param tier
218
+ * @param p2
200
219
  */
201
- getLootingPed() {
202
- return createFromHandle('Ped', inv('0xEF2D9ED7CE684F08', this.handle, rai()));
220
+ setThreatTier(tier, p2) {
221
+ inv('0x4B436BAC8CBE9B07', this.handle, tier, p2);
203
222
  }
204
223
  /**
224
+ * Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
225
+ *
205
226
  * @returns
206
227
  */
207
- isWaitingForWorldCollision() {
208
- return inv('0x5E1CC2E8DC3111DD', this.handle, rai());
228
+ getHeading() {
229
+ return inv('0xC230DD956E2F5507', this.handle, raf());
209
230
  }
210
231
  /**
211
- * Gets the X-component of the entity's forward vector.
232
+ * Returns the LOD distance of an entity.
212
233
  *
213
234
  * @returns
214
235
  */
215
- getForwardX() {
216
- return inv('0xDB0954E9960F6457', this.handle, raf());
236
+ getLodDist() {
237
+ return inv('0xDF240D0C2A948683', this.handle, rai());
217
238
  }
218
239
  /**
219
240
  * @returns
220
241
  */
221
- isAPed() {
222
- return inv('0xCF8176912DDA4EA5', this.handle, rai());
242
+ doesHaveDrawable() {
243
+ return inv('0x20487F0DA9AF164A', this.handle, rai());
223
244
  }
224
245
  /**
225
- * @returns
246
+ * @param xyzw
226
247
  */
227
- getPitch() {
228
- return inv('0xEF355ABEFF7F5005', this.handle, raf());
248
+ setQuaternion(xyzw) {
249
+ inv('0x100E7007D13E3687', this.handle, f(xyzw.x), f(xyzw.y), f(xyzw.z), f(xyzw.w));
229
250
  }
230
251
  /**
231
252
  * @returns
232
253
  */
233
- isStatic() {
234
- return inv('0x86468ADFA0F6B861', this.handle, rai());
254
+ isAttachedToAnyObject() {
255
+ return inv('0x306C1F6178F01AB3', this.handle, rai());
235
256
  }
236
257
  /**
237
- * Returns the model hash from the entity
258
+ * Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.
238
259
  *
260
+ * @param toggle
261
+ */
262
+ setInvincible(toggle) {
263
+ inv('0xA5C38736C426FCB8', this.handle, toggle);
264
+ }
265
+ /**
266
+ * 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.
267
+ * https://github.com/femga/rdr3_discoveries/tree/master/boneNames useSoftPinning - if set to false attached entity will not detach when fixed
268
+ * collision - controls collision between the two entities (FALSE disables collision).
269
+ * isPed - pitch doesn't work when false and roll will only work on negative numbers (only peds)
270
+ * vertexIndex - position of vertex
271
+ * fixedRot - if false it ignores entity vector
272
+ *
273
+ * @param entity2
274
+ * @param boneIndex
275
+ * @param pos
276
+ * @param rot
277
+ * @param p9
278
+ * @param useSoftPinning
279
+ * @param collision
280
+ * @param isPed
281
+ * @param vertexIndex
282
+ * @param fixedRot
283
+ * @param p15
284
+ * @param p16
285
+ */
286
+ attachToEntity(entity2, boneIndex, pos, rot, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16) {
287
+ inv('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);
288
+ }
289
+ /**
239
290
  * @returns
240
291
  */
241
- getModel() {
242
- return (inv('0xDA76A9F39210D365', this.handle, rai())) & 0xFFFFFFFF;
292
+ getIsAnimal() {
293
+ return inv('0x9A100F1CF4546629', this.handle);
243
294
  }
244
295
  /**
245
- * Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
296
+ * p6/relative - makes the xyz force not relative to world coords, but to something else
297
+ * p7/highForce - setting false will make the force really low
298
+ *
299
+ * @param forceType
300
+ * @param pos
301
+ * @param component
302
+ * @param isDirectionRel
303
+ * @param isForceRel
304
+ * @param p8
246
305
  */
247
- deleteEntity() {
248
- inv('0x4CD38C78BD19A497', this.handle);
306
+ applyForceToCenterOfMass(forceType, pos, component, isDirectionRel, isForceRel, p8) {
307
+ inv('0x31DA7CEC5334DB37', this.handle, forceType, f(pos.x), f(pos.y), f(pos.z), component, isDirectionRel, isForceRel, p8);
249
308
  }
250
309
  /**
251
- * @param team
252
- * @param playerPedToIgnore
253
- * @param flags
310
+ * Old name: _GET_ENTITY_CAN_BE_DAMAGED
311
+ *
254
312
  * @returns
255
313
  */
256
- getNearestPlayerToOnTeam(team, playerPedToIgnore, flags) {
257
- return createFromHandle('Player', inv('0xB2C30C3B4AFF718C', this.handle, team, playerPedToIgnore.handle, flags, rai()));
314
+ getCanBeDamaged() {
315
+ return inv('0x75DF9E73F2F005FD', this.handle);
258
316
  }
259
317
  /**
260
318
  * @param p1
@@ -329,113 +387,78 @@ export class Entity {
329
387
  return createFromHandle('Player', inv('0x6888A43C35A5F630', this.handle, rai()));
330
388
  }
331
389
  /**
332
- * enum eCarriableState
333
- * {
334
- * CARRIABLE_STATE_NONE,
335
- * CARRIABLE_STATE_TRANSITIONING_TO_HOGTIED,
336
- * CARRIABLE_STATE_CARRIABLE_INTRO,
337
- * CARRIABLE_STATE_CARRIABLE,
338
- * CARRIABLE_STATE_BEING_PICKED_UP_FROM_GROUND,
339
- * CARRIABLE_STATE_CARRIED_BY_HUMAN,
340
- * CARRIABLE_STATE_BEING_PLACED_ON_GROUND,
341
- * CARRIABLE_STATE_CARRIED_BY_MOUNT,
342
- * CARRIABLE_STATE_BEING_PLACED_ON_MOUNT,
343
- * CARRIABLE_STATE_BEING_PICKED_UP_FROM_MOUNT,
344
- * CARRIABLE_STATE_BEING_CUT_FREE,
345
- * CARRIABLE_STATE_BEING_PLACED_ON_GROUND_ESCAPE,
346
- * CARRIABLE_STATE_BEING_PLACED_IN_VEHICLE
347
- * };
348
- *
349
- * @returns
390
+ * @param p1
350
391
  */
351
- getCarriableState() {
352
- return inv('0x61914209C36EFDDB', this.handle, rai());
392
+ N_0xA48E4801DEBDF7E4(p1) {
393
+ inv('0xA48E4801DEBDF7E4', this.handle, p1);
353
394
  }
354
395
  /**
355
- * @param value
396
+ * @param toggle
397
+ * @param keepPhysics
356
398
  */
357
- setMaxHealth(value) {
358
- inv('0x166E7CF68597D8B5', this.handle, value);
399
+ setCompletelyDisableCollision(toggle, keepPhysics) {
400
+ inv('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
359
401
  }
360
402
  /**
361
- * Params: p1 (probably animType) = 1, 0
362
- *
363
403
  * @param p1
364
- * @returns
365
404
  */
366
- isPlayingAnyAnim(p1) {
367
- return inv('0x0B7CB1300CBFE19C', this.handle, p1, rai());
368
- }
369
- /**
370
- * @param enabled
371
- */
372
- setLightsEnabled(enabled) {
373
- inv('0xEBDC12861D079ABA', this.handle, enabled);
405
+ N_0xCDB682BB47C02F0A(p1) {
406
+ inv('0xCDB682BB47C02F0A', this.handle, _h(p1));
374
407
  }
375
408
  /**
376
- * Offset values are relative to the entity. x = left/right
377
- * y = forward/backward
378
- * z = up/down
379
- *
380
- * @param offset
409
+ * @param volume
410
+ * @param p2
411
+ * @param p3
381
412
  * @returns
382
413
  */
383
- getOffsetFromInWorldCoords(offset) {
384
- return Vector3.fromArray(inv('0x1899F328B0E12848', this.handle, f(offset.x), f(offset.y), f(offset.z), rav()));
414
+ isInVolume(volume, p2, p3) {
415
+ return inv('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
385
416
  }
386
417
  /**
387
- * 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
388
- *
389
- * @param entity2
390
- * @param xSize
391
- * @param ySize
392
- * @param zSize
393
- * @param p5
394
- * @param p6
395
- * @param p7
396
- * @returns
418
+ * @returns rightVector; forwardVector; upVector; position
397
419
  */
398
- isAtEntity(entity2, xSize, ySize, zSize, p5, p6, p7) {
399
- return inv('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
420
+ getMatrix() {
421
+ const result = inv('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
422
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
400
423
  }
401
424
  /**
402
- * @param toggle
425
+ * 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.
403
426
  */
404
- setVisible(toggle) {
405
- inv('0x1794B4FCC84D812F', this.handle, toggle);
427
+ N_0x371D179701D9C082() {
428
+ inv('0x371D179701D9C082', this.handle);
406
429
  }
407
430
  /**
408
- * Old name: _SET_ENTITY_CLEANUP_BY_ENGINE
409
- *
410
- * @param toggle
431
+ * @param p1
432
+ * @returns
411
433
  */
412
- setShouldFreezeWaitingOnCollision(toggle) {
413
- inv('0x740CB4F3F602C9F4', this.handle, toggle);
434
+ getMaxHealth(p1) {
435
+ return inv('0x15D757606D170C3C', this.handle, p1, rai());
414
436
  }
415
437
  /**
416
- * Note: this native was removed in 1232 but added back in 1311
417
- * Old name: _GET_ENTITY_PROOFS
418
- *
419
- * @returns
438
+ * @param animDict
439
+ * @param animName
440
+ * @param time
420
441
  */
421
- getProofs() {
422
- return inv('0x6CF0DAD7FA1088EA', this.handle, rai());
442
+ setAnimCurrentTime(animDict, animName, time) {
443
+ inv('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
423
444
  }
424
445
  /**
425
- * skin - everything alpha except skin
426
- * Set entity alpha level. Ranging from 0 to 255 but changes occur after every 20 percent (after every 51).
446
+ * Gets the current coordinates for a specified entity.
447
+ * `entity` = The entity to get the coordinates from.
448
+ * `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.
427
449
  *
428
- * @param alphaLevel
429
- * @param skin
450
+ * @param alive
451
+ * @param realCoords
452
+ * @returns
430
453
  */
431
- setAlpha(alphaLevel, skin) {
432
- inv('0x0DF7692B1D9E7BA7', this.handle, alphaLevel, skin);
454
+ getCoords(alive, realCoords) {
455
+ return Vector3.fromArray(inv('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
433
456
  }
434
457
  /**
435
458
  * @returns
436
459
  */
437
- getThreatTier() {
438
- return inv('0xE12F56CB25D9CE23', this.handle, rai());
460
+ isAnObject() {
461
+ return inv('0x0A27A546A375FDEF', this.handle, rai());
439
462
  }
440
463
  /**
441
464
  * @returns
@@ -524,306 +547,381 @@ export class Entity {
524
547
  getHealthFloat() {
525
548
  return inv('0x96C638784DB4C815', this.handle, raf());
526
549
  }
550
+ /**
551
+ * 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).
552
+ *
553
+ * @param value
554
+ */
555
+ setLodDist(value) {
556
+ inv('0x5FB407F0A7C877BF', this.handle, value);
557
+ }
558
+ /**
559
+ * @param toggle
560
+ */
561
+ setDynamic(toggle) {
562
+ inv('0xFBFC4473F66CE344', this.handle, toggle);
563
+ }
564
+ /**
565
+ * @param radius
566
+ */
567
+ setCustomPickupRadius(radius) {
568
+ inv('0x482D17E45665DA44', this.handle, f(radius));
569
+ }
527
570
  /**
528
571
  * @returns
529
572
  */
530
- getIsBird() {
531
- return inv('0xC346A546612C49A9', this.handle);
573
+ getPopulationType() {
574
+ return inv('0xADE28862B6D7B85B', this.handle, rai());
532
575
  }
533
576
  /**
534
- * Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR
535
- *
536
577
  * @returns
537
578
  */
538
- getForwardVectorYx() {
539
- return Vector3.fromArray(inv('0x935A30AA88FB1014', this.handle, rav()));
579
+ isAVehicle() {
580
+ return inv('0xC3D96AF45FCCEC4C', this.handle, rai());
540
581
  }
541
582
  /**
542
583
  * @param pos
543
- * @param xAxis
544
- * @param yAxis
545
- * @param zAxis
546
- * @param clearArea
584
+ * @param atTop
585
+ * @param inWorldCoords
586
+ * @returns
547
587
  */
548
- setCoords(pos, xAxis, yAxis, zAxis, clearArea) {
549
- inv('0x06843DA7060A026B', this.handle, f(pos.x), f(pos.y), f(pos.z), xAxis, yAxis, zAxis, clearArea);
588
+ getHeight(pos, atTop, inWorldCoords) {
589
+ return inv('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
550
590
  }
551
591
  /**
552
- * @param boneName
592
+ * @param pos
553
593
  * @returns
554
594
  */
555
- getBoneIndexByName(boneName) {
556
- return inv('0xBACA8FE9C76C124E', this.handle, boneName, rai());
595
+ getOffsetFromGivenWorldCoords(pos) {
596
+ return Vector3.fromArray(inv('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
597
+ }
598
+ addTrackingTrails() {
599
+ inv('0x1AD922AB5038DEF3', this.handle);
557
600
  }
558
601
  /**
559
- * @param pause
602
+ * @param toggle
560
603
  */
561
- pauseTracking(pause) {
562
- inv('0x36EB4D34D4A092C5', this.handle, pause);
604
+ setCanClimbOnEntity(toggle) {
605
+ inv('0x24AED2A608F93C4C', this.handle, toggle);
563
606
  }
564
607
  /**
565
- * @param toggle
608
+ * @returns minimum; maximum
566
609
  */
567
- setLoadCollisionFlag(toggle) {
568
- inv('0x9B9EE31AED48072E', this.handle, toggle);
610
+ getWorldPositionOfDimensions() {
611
+ const result = inv('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
612
+ return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
569
613
  }
570
614
  /**
571
- * Changes type and quality of skins
572
- * type hashes: https://pastebin.com/C1WvQjCy
615
+ * @param p1
616
+ * @returns
617
+ */
618
+ isUnderwater(p1) {
619
+ return inv('0xD4E5C1E93C466127', this.handle, p1);
620
+ }
621
+ /**
622
+ * @param animation
623
+ * @param animGroup
624
+ * @param p3
625
+ * @returns
626
+ */
627
+ stopAnim(animation, animGroup, p3) {
628
+ return inv('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
629
+ }
630
+ /**
631
+ * @returns
632
+ */
633
+ hasCollidedWithAnything() {
634
+ return inv('0xDF18751EC74F90FF', this.handle, rai());
635
+ }
636
+ /**
637
+ * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
573
638
  *
574
- * @param type
639
+ * @returns
575
640
  */
576
- setCarcassType(type) {
577
- inv('0x399657ED871B3A6C', this.handle, _h(type));
641
+ getVehicleIndexFromIndex() {
642
+ return createFromHandle('Vehicle', inv('0xDF1E5AAC561AFC59', this.handle, rai()));
643
+ }
644
+ /**
645
+ * @returns
646
+ */
647
+ isVisible() {
648
+ return inv('0xFFC96ECB7FA404CA', this.handle, rai());
578
649
  }
579
650
  /**
651
+ * SET_ENTITY_LO*
652
+ *
580
653
  * @param toggle
581
654
  */
582
- setHasGravity(toggle) {
583
- inv('0x0CEDB728A1083FA7', this.handle, toggle);
655
+ N_0xFF9965C47FA404DA(toggle) {
656
+ inv('0xFF9965C47FA404DA', this.handle, toggle);
584
657
  }
585
658
  /**
586
- * @param relative
659
+ * Valid indices: 0 - 3
660
+ * Index 1 always returns a `hogtied` config, doesn't matter the entity.
661
+ * It's for humans only and the ped must be resurrected first if it's dead.
662
+ *
663
+ * @param index
587
664
  * @returns
588
665
  */
589
- getSpeedVector(relative) {
590
- return Vector3.fromArray(inv('0xF2DB09816A419DC5', this.handle, relative, rav()));
666
+ getOptimalCarryConfig(index) {
667
+ return (inv('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
668
+ }
669
+ setFadeIn() {
670
+ inv('0xA91E6CF94404E8C9', this.handle);
591
671
  }
592
672
  /**
593
- * @param entity2
594
- * @param p2
595
- * @param p3
596
673
  * @returns
597
674
  */
598
- hasBeenDamagedByEntity(entity2, p2, p3) {
599
- return inv('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
675
+ hasBeenDamagedByAnyPed() {
676
+ return inv('0x9934E9C42D52D87E', this.handle, rai());
600
677
  }
601
678
  /**
679
+ * @param targetEntity
602
680
  * @returns
603
681
  */
604
- isFullyLooted() {
605
- return inv('0x8DE41E9902E85756', this.handle);
682
+ isTouchingEntity(targetEntity) {
683
+ return inv('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
684
+ }
685
+ deleteCarriable() {
686
+ inv('0x0D0DB2B6AF19A987', this.handle);
606
687
  }
607
688
  /**
689
+ * Returns a normalized value between 0.0f and 1.0f. You can get the actual anim time by multiplying this by GET_ANIM_DURATION
690
+ *
691
+ * @param animDict
692
+ * @param animName
608
693
  * @returns
609
694
  */
610
- isOccluded() {
611
- return inv('0x140188E884645624', this.handle, rai());
695
+ getAnimCurrentTime(animDict, animName) {
696
+ return inv('0x627520389E288A73', this.handle, animDict, animName, raf());
612
697
  }
613
698
  /**
614
- * @param toggle
699
+ * @param entity2
700
+ * @param thisFrameOnly
615
701
  */
616
- setCanBeDamaged(toggle) {
617
- inv('0x0D06D522B90E861F', this.handle, toggle);
702
+ setNoCollisionEntity(entity2, thisFrameOnly) {
703
+ inv('0xE037BF068223C38D', this.handle, entity2.handle, thisFrameOnly);
618
704
  }
619
705
  /**
620
- * @param forceFlags
621
- * @param pos
622
- * @param offset
623
- * @param boneIndex
624
- * @param isDirectionRel
625
- * @param ignoreUpVec
626
- * @param isForceRel
627
- * @param p12
628
- * @param p13
706
+ * Result is in meters per second (m/s)
707
+ *
708
+ * @returns
629
709
  */
630
- applyForceToEntity(forceFlags, pos, offset, boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13) {
631
- inv('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);
710
+ getSpeed() {
711
+ return inv('0xFB6BA510A533DF81', this.handle, raf());
712
+ }
713
+ /**
714
+ * @param bOnlyDamagedWhenRunningScript
715
+ */
716
+ setCanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript) {
717
+ inv('0xFF83AF534156B399', this.handle, bOnlyDamagedWhenRunningScript);
632
718
  }
633
719
  /**
634
720
  * @returns
635
721
  */
636
- isDead() {
637
- return inv('0x7D5B1F88E7504BBA', this.handle, rai());
722
+ isTrackedVisible() {
723
+ return inv('0xC8CCDB712FBCBA92', this.handle);
724
+ }
725
+ /**
726
+ * @param p1
727
+ * @param collision
728
+ */
729
+ detachEntity(p1, collision) {
730
+ inv('0x64CDE9D6BF8ECAD3', this.handle, p1, collision);
638
731
  }
639
732
  /**
640
- * @param pos1
641
- * @param pos2
642
- * @param p7
643
- * @param p8
644
- * @param p9
645
733
  * @returns
646
734
  */
647
- isInArea(pos1, pos2, p7, p8, p9) {
648
- 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());
735
+ isVisibleToScript() {
736
+ return inv('0xF213C724E77F321A', this.handle, rai());
649
737
  }
650
738
  /**
651
- * Returns the coordinates of an entity-bone.
652
- * https://github.com/femga/rdr3_discoveries/tree/master/boneNames
653
- *
654
- * @param boneIndex
739
+ * @param entity2
740
+ * @param traceType
655
741
  * @returns
656
742
  */
657
- getWorldPositionOfBone(boneIndex) {
658
- return Vector3.fromArray(inv('0x82CFA50E34681CA5', this.handle, boneIndex, rav()));
743
+ hasClearLosToEntity(entity2, traceType) {
744
+ return inv('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
659
745
  }
660
746
  /**
661
- * https://github.com/femga/rdr3_discoveries/tree/master/animations
747
+ * Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED
748
+ * *GET_ENTITY**
662
749
  *
663
- * @param animName
664
750
  * @param animDict
665
- * @param p3
666
- * @param loop
667
- * @param stayInAnim
668
- * @param p6
669
- * @param delta
670
- * @param bitset
751
+ * @param animClip
671
752
  * @returns
672
753
  */
673
- playAnim(animName, animDict, p3, loop, stayInAnim, p6, delta, bitset) {
674
- return inv('0xDC6D22FAB76D4874', this.handle, animName, animDict, f(p3), loop, stayInAnim, p6, f(delta), bitset, rai());
754
+ N_0x8E46E18AA828334F(animDict, animClip) {
755
+ return inv('0x8E46E18AA828334F', this.handle, animDict, animClip, raf());
756
+ }
757
+ /**
758
+ * @param playerPedToIgnore
759
+ * @param flags
760
+ * @returns
761
+ */
762
+ getNearestPlayerToEntity(playerPedToIgnore, flags) {
763
+ return createFromHandle('Player', inv('0x990E294FC387FB88', this.handle, playerPedToIgnore.handle, flags, rai()));
764
+ }
765
+ /**
766
+ * Gets the Y-component of the entity's forward vector.
767
+ *
768
+ * @returns
769
+ */
770
+ getForwardY() {
771
+ return inv('0x9A5C073ECBDA7EE7', this.handle, raf());
772
+ }
773
+ /**
774
+ * @param pitch
775
+ * @param roll
776
+ * @param yaw
777
+ * @param rotationOrder
778
+ * @param p5
779
+ */
780
+ setRotation(pitch, roll, yaw, rotationOrder, p5) {
781
+ inv('0x9CC8314DFEDE441E', this.handle, f(pitch), f(roll), f(yaw), rotationOrder, p5);
782
+ }
783
+ /**
784
+ * @param p1
785
+ * @param relationshipGroup
786
+ */
787
+ setOnlyDamagedByRelationshipGroup(p1, relationshipGroup) {
788
+ inv('0x6C1F6AA2F0ADD104', this.handle, p1, _h(relationshipGroup));
675
789
  }
676
790
  /**
677
- * Returns false if entity is not a ped or object.
791
+ * https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS
792
+ * 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
678
793
  *
679
- * @returns lootTable
794
+ * @param proofsBitset
795
+ * @param specialFlag
680
796
  */
681
- getScriptOverrideLootTablePermanent() {
682
- const result = inv('0x1E804EA9B12030A4', this.handle, pvi());
683
- return [result[0], result[1]];
797
+ setProofs(proofsBitset, specialFlag) {
798
+ inv('0xFAEE099C6F890BB8', this.handle, proofsBitset, specialFlag);
684
799
  }
685
800
  /**
686
- * @param animDict
687
- * @param animName
688
- * @param p3
689
801
  * @returns
690
802
  */
691
- hasAnimFinished(animDict, animName, p3) {
692
- return inv('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
803
+ hasCollisionLoadedAroundEntity() {
804
+ return inv('0xBEB1600952B9CF5C', this.handle, rai());
693
805
  }
694
806
  /**
695
- * @param bCanBeDamaged
696
- * @param relGroup
807
+ * @returns
697
808
  */
698
- setCanBeDamagedByRelationshipGroup(bCanBeDamaged, relGroup) {
699
- inv('0x0EF1AFB18649E015', this.handle, bCanBeDamaged, _h(relGroup));
809
+ getIsCarriablePelt() {
810
+ return inv('0x255B6DB4E3AD3C3E', this.handle);
700
811
  }
701
812
  /**
813
+ * @param p1
702
814
  * @returns
703
815
  */
704
- getUprightValue() {
705
- return inv('0x56398BE65160C3BE', this.handle, raf());
816
+ getVelocity(p1) {
817
+ return Vector3.fromArray(inv('0x4805D2B1D8CF94A9', this.handle, p1, rav()));
706
818
  }
707
819
  /**
708
- * @param pos
709
- * @param heading
710
- * @param xAxis
711
- * @param yAxis
712
- * @param zAxis
820
+ * @param toggle
713
821
  */
714
- setCoordsAndHeading(pos, heading, xAxis, yAxis, zAxis) {
715
- inv('0x203BEFFDBE12E96A', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), xAxis, yAxis, zAxis);
822
+ setCanAutoVaultOnEntity(toggle) {
823
+ inv('0x80646744FA88F9D7', this.handle, toggle);
716
824
  }
717
825
  /**
718
- * Returns zero if the entity is not a carriable
826
+ * 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.
827
+ * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua
719
828
  *
829
+ * @param lootTable
720
830
  * @returns
721
831
  */
722
- getCarryConfig() {
723
- return (inv('0x0FD25587BB306C86', this.handle, rai())) & 0xFFFFFFFF;
832
+ scriptOverrideLootTablePermanent(lootTable) {
833
+ return inv('0x8C03CD6B5E0E85E8', this.handle, _h(lootTable));
724
834
  }
725
835
  /**
726
- * tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
727
- *
728
- * @param tier
729
- * @param p2
836
+ * @returns argStruct
730
837
  */
731
- setThreatTier(tier, p2) {
732
- inv('0x4B436BAC8CBE9B07', this.handle, tier, p2);
838
+ getScript() {
839
+ const result = inv('0x2A08A32B6D49906F', this.handle, pvi(), rai());
840
+ return [result[0] & 0xFFFFFFFF, result[1]];
733
841
  }
734
842
  /**
735
- * Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
736
- *
843
+ * @param actionHash
737
844
  * @returns
738
845
  */
739
- getHeading() {
740
- return inv('0xC230DD956E2F5507', this.handle, raf());
846
+ hasAnimEventFired(actionHash) {
847
+ return inv('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
741
848
  }
742
849
  /**
743
- * Returns the LOD distance of an entity.
850
+ * @param p1
851
+ */
852
+ N_0xEF259AA1E097E0AD(p1) {
853
+ inv('0xEF259AA1E097E0AD', this.handle, p1);
854
+ }
855
+ /**
856
+ * Getter for FREEZE_ENTITY_POSITION
744
857
  *
745
858
  * @returns
746
859
  */
747
- getLodDist() {
748
- return inv('0xDF240D0C2A948683', this.handle, rai());
860
+ isFrozen() {
861
+ return inv('0x083D497D57B7400F', this.handle);
749
862
  }
750
863
  /**
864
+ * Returns the entity that is looting a ped but only while the looting is active
865
+ *
751
866
  * @returns
752
867
  */
753
- doesHaveDrawable() {
754
- return inv('0x20487F0DA9AF164A', this.handle, rai());
868
+ getLootingPed() {
869
+ return createFromHandle('Ped', inv('0xEF2D9ED7CE684F08', this.handle, rai()));
755
870
  }
756
871
  /**
757
- * @param xyzw
872
+ * @returns
758
873
  */
759
- setQuaternion(xyzw) {
760
- inv('0x100E7007D13E3687', this.handle, f(xyzw.x), f(xyzw.y), f(xyzw.z), f(xyzw.w));
874
+ isWaitingForWorldCollision() {
875
+ return inv('0x5E1CC2E8DC3111DD', this.handle, rai());
761
876
  }
762
877
  /**
878
+ * Gets the X-component of the entity's forward vector.
879
+ *
763
880
  * @returns
764
881
  */
765
- isAttachedToAnyObject() {
766
- return inv('0x306C1F6178F01AB3', this.handle, rai());
882
+ getForwardX() {
883
+ return inv('0xDB0954E9960F6457', this.handle, raf());
767
884
  }
768
885
  /**
769
- * Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.
770
- *
771
- * @param toggle
886
+ * @returns
772
887
  */
773
- setInvincible(toggle) {
774
- inv('0xA5C38736C426FCB8', this.handle, toggle);
888
+ isAPed() {
889
+ return inv('0xCF8176912DDA4EA5', this.handle, rai());
775
890
  }
776
891
  /**
777
- * 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.
778
- * https://github.com/femga/rdr3_discoveries/tree/master/boneNames useSoftPinning - if set to false attached entity will not detach when fixed
779
- * collision - controls collision between the two entities (FALSE disables collision).
780
- * isPed - pitch doesn't work when false and roll will only work on negative numbers (only peds)
781
- * vertexIndex - position of vertex
782
- * fixedRot - if false it ignores entity vector
783
- *
784
- * @param entity2
785
- * @param boneIndex
786
- * @param pos
787
- * @param rot
788
- * @param p9
789
- * @param useSoftPinning
790
- * @param collision
791
- * @param isPed
792
- * @param vertexIndex
793
- * @param fixedRot
794
- * @param p15
795
- * @param p16
892
+ * @returns
796
893
  */
797
- attachToEntity(entity2, boneIndex, pos, rot, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16) {
798
- inv('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);
894
+ getPitch() {
895
+ return inv('0xEF355ABEFF7F5005', this.handle, raf());
799
896
  }
800
897
  /**
801
898
  * @returns
802
899
  */
803
- getIsAnimal() {
804
- return inv('0x9A100F1CF4546629', this.handle);
900
+ isStatic() {
901
+ return inv('0x86468ADFA0F6B861', this.handle, rai());
805
902
  }
806
903
  /**
807
- * p6/relative - makes the xyz force not relative to world coords, but to something else
808
- * p7/highForce - setting false will make the force really low
904
+ * Returns the model hash from the entity
809
905
  *
810
- * @param forceType
811
- * @param pos
812
- * @param component
813
- * @param isDirectionRel
814
- * @param isForceRel
815
- * @param p8
906
+ * @returns
816
907
  */
817
- applyForceToCenterOfMass(forceType, pos, component, isDirectionRel, isForceRel, p8) {
818
- inv('0x31DA7CEC5334DB37', this.handle, forceType, f(pos.x), f(pos.y), f(pos.z), component, isDirectionRel, isForceRel, p8);
908
+ getModel() {
909
+ return (inv('0xDA76A9F39210D365', this.handle, rai())) & 0xFFFFFFFF;
819
910
  }
820
911
  /**
821
- * Old name: _GET_ENTITY_CAN_BE_DAMAGED
822
- *
912
+ * Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
913
+ */
914
+ deleteEntity() {
915
+ inv('0x4CD38C78BD19A497', this.handle);
916
+ }
917
+ /**
918
+ * @param team
919
+ * @param playerPedToIgnore
920
+ * @param flags
823
921
  * @returns
824
922
  */
825
- getCanBeDamaged() {
826
- return inv('0x75DF9E73F2F005FD', this.handle);
923
+ getNearestPlayerToOnTeam(team, playerPedToIgnore, flags) {
924
+ return createFromHandle('Player', inv('0xB2C30C3B4AFF718C', this.handle, team, playerPedToIgnore.handle, flags, rai()));
827
925
  }
828
926
  /**
829
927
  * Seems to return true if entity is burned / scorched
@@ -950,48 +1048,157 @@ export class Entity {
950
1048
  * @param weaponHash Refer to [enum: eWeaponHash]
951
1049
  * @returns
952
1050
  */
953
- changeHealth(amount, entity2, weaponHash) {
954
- return inv('0x835F131E7DC8F97A', this.handle, f(amount), entity2.handle, weaponHash);
1051
+ changeHealth(amount, entity2, weaponHash) {
1052
+ return inv('0x835F131E7DC8F97A', this.handle, f(amount), entity2.handle, weaponHash);
1053
+ }
1054
+ /**
1055
+ * @returns
1056
+ */
1057
+ getAttachedTo() {
1058
+ return createFromHandle('Entity', inv('0x56D713888A566481', this.handle, rai()));
1059
+ }
1060
+ /**
1061
+ * @param toggle
1062
+ */
1063
+ setOnlyDamagedByPlayer(toggle) {
1064
+ inv('0x473598683095D430', this.handle, toggle);
1065
+ }
1066
+ /**
1067
+ * @param p1
1068
+ * @param p2
1069
+ */
1070
+ setIsTargetPriority(p1, p2) {
1071
+ inv('0x0A5D170C44CB2189', this.handle, p1, f(p2));
1072
+ }
1073
+ /**
1074
+ * @param pos
1075
+ * @param flags
1076
+ * @returns
1077
+ */
1078
+ hasClearLosToCoord(pos, flags) {
1079
+ return inv('0x0C9DBF48C6BA6E4C', this.handle, f(pos.x), f(pos.y), f(pos.z), flags);
1080
+ }
1081
+ /**
1082
+ * @param flagId Refer to [enum: eCarryingFlags]
1083
+ * @param value
1084
+ */
1085
+ setCarryingFlag(flagId, value) {
1086
+ inv('0x18FF3110CF47115D', this.handle, flagId, value);
1087
+ }
1088
+ /**
1089
+ * @returns
1090
+ */
1091
+ getIsPredator() {
1092
+ return inv('0x5594AFE9DE0C01B7', this.handle);
1093
+ }
1094
+ /**
1095
+ * enum eCarriableState
1096
+ * {
1097
+ * CARRIABLE_STATE_NONE,
1098
+ * CARRIABLE_STATE_TRANSITIONING_TO_HOGTIED,
1099
+ * CARRIABLE_STATE_CARRIABLE_INTRO,
1100
+ * CARRIABLE_STATE_CARRIABLE,
1101
+ * CARRIABLE_STATE_BEING_PICKED_UP_FROM_GROUND,
1102
+ * CARRIABLE_STATE_CARRIED_BY_HUMAN,
1103
+ * CARRIABLE_STATE_BEING_PLACED_ON_GROUND,
1104
+ * CARRIABLE_STATE_CARRIED_BY_MOUNT,
1105
+ * CARRIABLE_STATE_BEING_PLACED_ON_MOUNT,
1106
+ * CARRIABLE_STATE_BEING_PICKED_UP_FROM_MOUNT,
1107
+ * CARRIABLE_STATE_BEING_CUT_FREE,
1108
+ * CARRIABLE_STATE_BEING_PLACED_ON_GROUND_ESCAPE,
1109
+ * CARRIABLE_STATE_BEING_PLACED_IN_VEHICLE
1110
+ * };
1111
+ *
1112
+ * @returns
1113
+ */
1114
+ getCarriableState() {
1115
+ return inv('0x61914209C36EFDDB', this.handle, rai());
1116
+ }
1117
+ /**
1118
+ * @param value
1119
+ */
1120
+ setMaxHealth(value) {
1121
+ inv('0x166E7CF68597D8B5', this.handle, value);
1122
+ }
1123
+ /**
1124
+ * Params: p1 (probably animType) = 1, 0
1125
+ *
1126
+ * @param p1
1127
+ * @returns
1128
+ */
1129
+ isPlayingAnyAnim(p1) {
1130
+ return inv('0x0B7CB1300CBFE19C', this.handle, p1, rai());
1131
+ }
1132
+ /**
1133
+ * @param enabled
1134
+ */
1135
+ setLightsEnabled(enabled) {
1136
+ inv('0xEBDC12861D079ABA', this.handle, enabled);
1137
+ }
1138
+ /**
1139
+ * Offset values are relative to the entity. x = left/right
1140
+ * y = forward/backward
1141
+ * z = up/down
1142
+ *
1143
+ * @param offset
1144
+ * @returns
1145
+ */
1146
+ getOffsetFromInWorldCoords(offset) {
1147
+ return Vector3.fromArray(inv('0x1899F328B0E12848', this.handle, f(offset.x), f(offset.y), f(offset.z), rav()));
955
1148
  }
956
1149
  /**
1150
+ * 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
1151
+ *
1152
+ * @param entity2
1153
+ * @param xSize
1154
+ * @param ySize
1155
+ * @param zSize
1156
+ * @param p5
1157
+ * @param p6
1158
+ * @param p7
957
1159
  * @returns
958
1160
  */
959
- getAttachedTo() {
960
- return createFromHandle('Entity', inv('0x56D713888A566481', this.handle, rai()));
1161
+ isAtEntity(entity2, xSize, ySize, zSize, p5, p6, p7) {
1162
+ return inv('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
961
1163
  }
962
1164
  /**
963
1165
  * @param toggle
964
1166
  */
965
- setOnlyDamagedByPlayer(toggle) {
966
- inv('0x473598683095D430', this.handle, toggle);
1167
+ setVisible(toggle) {
1168
+ inv('0x1794B4FCC84D812F', this.handle, toggle);
967
1169
  }
968
1170
  /**
969
- * @param p1
970
- * @param p2
1171
+ * Old name: _SET_ENTITY_CLEANUP_BY_ENGINE
1172
+ *
1173
+ * @param toggle
971
1174
  */
972
- setIsTargetPriority(p1, p2) {
973
- inv('0x0A5D170C44CB2189', this.handle, p1, f(p2));
1175
+ setShouldFreezeWaitingOnCollision(toggle) {
1176
+ inv('0x740CB4F3F602C9F4', this.handle, toggle);
974
1177
  }
975
1178
  /**
976
- * @param pos
977
- * @param flags
1179
+ * Note: this native was removed in 1232 but added back in 1311
1180
+ * Old name: _GET_ENTITY_PROOFS
1181
+ *
978
1182
  * @returns
979
1183
  */
980
- hasClearLosToCoord(pos, flags) {
981
- return inv('0x0C9DBF48C6BA6E4C', this.handle, f(pos.x), f(pos.y), f(pos.z), flags);
1184
+ getProofs() {
1185
+ return inv('0x6CF0DAD7FA1088EA', this.handle, rai());
982
1186
  }
983
1187
  /**
984
- * @param flagId Refer to [enum: eCarryingFlags]
985
- * @param value
1188
+ * skin - everything alpha except skin
1189
+ * Set entity alpha level. Ranging from 0 to 255 but changes occur after every 20 percent (after every 51).
1190
+ *
1191
+ * @param alphaLevel
1192
+ * @param skin
986
1193
  */
987
- setCarryingFlag(flagId, value) {
988
- inv('0x18FF3110CF47115D', this.handle, flagId, value);
1194
+ setAlpha(alphaLevel, skin) {
1195
+ inv('0x0DF7692B1D9E7BA7', this.handle, alphaLevel, skin);
989
1196
  }
990
1197
  /**
991
1198
  * @returns
992
1199
  */
993
- getIsPredator() {
994
- return inv('0x5594AFE9DE0C01B7', this.handle);
1200
+ getThreatTier() {
1201
+ return inv('0xE12F56CB25D9CE23', this.handle, rai());
995
1202
  }
996
1203
  /**
997
1204
  * Returns entityType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityType
@@ -1073,80 +1280,6 @@ export class Entity {
1073
1280
  isAttachedToAnyVehicle() {
1074
1281
  return inv('0x12DF6E0D2E736749', this.handle, rai());
1075
1282
  }
1076
- /**
1077
- * @param p1
1078
- */
1079
- N_0xA48E4801DEBDF7E4(p1) {
1080
- inv('0xA48E4801DEBDF7E4', this.handle, p1);
1081
- }
1082
- /**
1083
- * @param toggle
1084
- * @param keepPhysics
1085
- */
1086
- setCompletelyDisableCollision(toggle, keepPhysics) {
1087
- inv('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
1088
- }
1089
- /**
1090
- * @param p1
1091
- */
1092
- N_0xCDB682BB47C02F0A(p1) {
1093
- inv('0xCDB682BB47C02F0A', this.handle, _h(p1));
1094
- }
1095
- /**
1096
- * @param volume
1097
- * @param p2
1098
- * @param p3
1099
- * @returns
1100
- */
1101
- isInVolume(volume, p2, p3) {
1102
- return inv('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
1103
- }
1104
- /**
1105
- * @returns rightVector; forwardVector; upVector; position
1106
- */
1107
- getMatrix() {
1108
- const result = inv('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
1109
- return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
1110
- }
1111
- /**
1112
- * 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.
1113
- */
1114
- N_0x371D179701D9C082() {
1115
- inv('0x371D179701D9C082', this.handle);
1116
- }
1117
- /**
1118
- * @param p1
1119
- * @returns
1120
- */
1121
- getMaxHealth(p1) {
1122
- return inv('0x15D757606D170C3C', this.handle, p1, rai());
1123
- }
1124
- /**
1125
- * @param animDict
1126
- * @param animName
1127
- * @param time
1128
- */
1129
- setAnimCurrentTime(animDict, animName, time) {
1130
- inv('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
1131
- }
1132
- /**
1133
- * Gets the current coordinates for a specified entity.
1134
- * `entity` = The entity to get the coordinates from.
1135
- * `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.
1136
- *
1137
- * @param alive
1138
- * @param realCoords
1139
- * @returns
1140
- */
1141
- getCoords(alive, realCoords) {
1142
- return Vector3.fromArray(inv('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
1143
- }
1144
- /**
1145
- * @returns
1146
- */
1147
- isAnObject() {
1148
- return inv('0x0A27A546A375FDEF', this.handle, rai());
1149
- }
1150
1283
  /**
1151
1284
  * Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
1152
1285
  *
@@ -1227,92 +1360,6 @@ export class Entity {
1227
1360
  isAtCoord(pos, xSize, ySize, zSize, p7, p8, p9) {
1228
1361
  return inv('0x5E58342602E94718', this.handle, f(pos.x), f(pos.y), f(pos.z), f(xSize), f(ySize), f(zSize), p7, p8, p9, rai());
1229
1362
  }
1230
- /**
1231
- * 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).
1232
- *
1233
- * @param value
1234
- */
1235
- setLodDist(value) {
1236
- inv('0x5FB407F0A7C877BF', this.handle, value);
1237
- }
1238
- /**
1239
- * @param toggle
1240
- */
1241
- setDynamic(toggle) {
1242
- inv('0xFBFC4473F66CE344', this.handle, toggle);
1243
- }
1244
- /**
1245
- * @param radius
1246
- */
1247
- setCustomPickupRadius(radius) {
1248
- inv('0x482D17E45665DA44', this.handle, f(radius));
1249
- }
1250
- /**
1251
- * @returns
1252
- */
1253
- getPopulationType() {
1254
- return inv('0xADE28862B6D7B85B', this.handle, rai());
1255
- }
1256
- /**
1257
- * @returns
1258
- */
1259
- isAVehicle() {
1260
- return inv('0xC3D96AF45FCCEC4C', this.handle, rai());
1261
- }
1262
- /**
1263
- * @param pos
1264
- * @param atTop
1265
- * @param inWorldCoords
1266
- * @returns
1267
- */
1268
- getHeight(pos, atTop, inWorldCoords) {
1269
- return inv('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
1270
- }
1271
- /**
1272
- * @param pos
1273
- * @returns
1274
- */
1275
- getOffsetFromGivenWorldCoords(pos) {
1276
- return Vector3.fromArray(inv('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
1277
- }
1278
- addTrackingTrails() {
1279
- inv('0x1AD922AB5038DEF3', this.handle);
1280
- }
1281
- /**
1282
- * @param toggle
1283
- */
1284
- setCanClimbOnEntity(toggle) {
1285
- inv('0x24AED2A608F93C4C', this.handle, toggle);
1286
- }
1287
- /**
1288
- * @returns minimum; maximum
1289
- */
1290
- getWorldPositionOfDimensions() {
1291
- const result = inv('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
1292
- return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
1293
- }
1294
- /**
1295
- * @param p1
1296
- * @returns
1297
- */
1298
- isUnderwater(p1) {
1299
- return inv('0xD4E5C1E93C466127', this.handle, p1);
1300
- }
1301
- /**
1302
- * @param animation
1303
- * @param animGroup
1304
- * @param p3
1305
- * @returns
1306
- */
1307
- stopAnim(animation, animGroup, p3) {
1308
- return inv('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
1309
- }
1310
- /**
1311
- * @returns
1312
- */
1313
- hasCollidedWithAnything() {
1314
- return inv('0xDF18751EC74F90FF', this.handle, rai());
1315
- }
1316
1363
  /**
1317
1364
  * @param entity2
1318
1365
  * @param p2
@@ -1434,47 +1481,5 @@ export class Entity {
1434
1481
  isUpright(angle) {
1435
1482
  return inv('0xF6F6AFD8D4FB2658', this.handle, f(angle), rai());
1436
1483
  }
1437
- /**
1438
- * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
1439
- *
1440
- * @returns
1441
- */
1442
- getVehicleIndexFromIndex() {
1443
- return createFromHandle('Vehicle', inv('0xDF1E5AAC561AFC59', this.handle, rai()));
1444
- }
1445
- /**
1446
- * @returns
1447
- */
1448
- isVisible() {
1449
- return inv('0xFFC96ECB7FA404CA', this.handle, rai());
1450
- }
1451
- /**
1452
- * SET_ENTITY_LO*
1453
- *
1454
- * @param toggle
1455
- */
1456
- N_0xFF9965C47FA404DA(toggle) {
1457
- inv('0xFF9965C47FA404DA', this.handle, toggle);
1458
- }
1459
- /**
1460
- * Valid indices: 0 - 3
1461
- * Index 1 always returns a `hogtied` config, doesn't matter the entity.
1462
- * It's for humans only and the ped must be resurrected first if it's dead.
1463
- *
1464
- * @param index
1465
- * @returns
1466
- */
1467
- getOptimalCarryConfig(index) {
1468
- return (inv('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
1469
- }
1470
- setFadeIn() {
1471
- inv('0xA91E6CF94404E8C9', this.handle);
1472
- }
1473
- /**
1474
- * @returns
1475
- */
1476
- hasBeenDamagedByAnyPed() {
1477
- return inv('0x9934E9C42D52D87E', this.handle, rai());
1478
- }
1479
1484
  }
1480
1485
  registerHandle('Entity', Entity);