import type { Entity } from '../classes/Entity'; import type { Ped } from '../classes/Ped'; import type { ScrHandle } from '../types/NativeAliases'; import { Vector2 } from '../types/Vector2'; import { Vector3 } from '../types/Vector3'; import { Vector4 } from '../types/Vector4'; import { Color } from '../types/Color'; import { createFromHandle } from '../types/HandleRegistry'; import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f, int, uint, float, Hash, u8, u16, u32, u64, i8, i16, i32, i64 } from '../types/NativeAliases'; export class Flock { /** * @param p0 * @param p1 * @param p2 */ static N_0xFA821997794F48E7(p0: any, p1: any, p2: any): void { inv('0xFA821997794F48E7', p0, p1, p2); } /** * @param p0 * @returns */ static N_0x34B9C4D86DF2C2F3(p0: any): any { return inv('0x34B9C4D86DF2C2F3', p0); } /** * @param p0 */ static N_0x706B434FEFAD6A24(p0: any): void { inv('0x706B434FEFAD6A24', p0); } /** * @param p0 * @returns */ static N_0x1DA6CB02071055D5(p0: any): Vector3 { return Vector3.fromArray(inv('0x1DA6CB02071055D5', p0, rav())); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @returns */ static N_0x09EE00B8F858E0BE(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): any { return inv('0x09EE00B8F858E0BE', p0, p1, p2, p3, p4, p5, p6); } /** * @param p0 * @param p1 */ static N_0x1520626FFAFFFA8F(p0: any, p1: any): void { inv('0x1520626FFAFFFA8F', p0, p1); } /** * Ped (horse) will run away from players and mounting will trigger them to buck until disabled. * Used for: REL_DOMESTICATED_ANIMAL * * @param ped * @returns */ static getAnimalIsWild(ped: Ped): any { return inv('0x3B005FF0538ED2A9', ped.handle); } /** * @param p0 * @param p1 * @param p2 * @param p3 */ static setSpeciesTuningFloatParam(p0: string | number, p1: int, p2: int, p3: float): void { inv('0x963240B6C252BA49', _h(p0), p1, p2, f(p3)); } /** * @param animal * @param index * @param value */ static setAnimalTuningBoolParam(animal: Ped, index: int, value: boolean): void { inv('0x9FF1E042FA597187', animal.handle, index, value); } /** * @param p0 * @param p1 * @returns */ static N_0x19870C40C7EE15BE(p0: any, p1: any): any { return inv('0x19870C40C7EE15BE', p0, p1); } /** * @param p0 * @param p1 */ static N_0xFF1E339CE40EAAAF(p0: any, p1: any): void { inv('0xFF1E339CE40EAAAF', p0, p1); } /** * @param p0 * @param p1 */ static N_0x6C57BEA886A20C6B(p0: any, p1: any): void { inv('0x6C57BEA886A20C6B', p0, p1); } /** * Clear the herd. * * @param herd */ static clearHerd(herd: Entity): void { inv('0x67A43EA3F6FE0076', herd.handle); } /** * @param p0 * @param p1 * @param p2 */ static N_0xFDB008B3BCF5992F(p0: any, p1: any, p2: any): void { inv('0xFDB008B3BCF5992F', p0, p1, p2); } /** * @param ped * @param rarityLevel Refer to {@link eAnimalRarityLevel} */ static setAnimalRarity(ped: Ped, rarityLevel: int): void { inv('0x8B6F0F59B1B99801', ped.handle, rarityLevel); } /** * @param p0 * @param p1 * @param p2 */ static N_0xCC6B5AAFC87BFC7B(p0: any, p1: any, p2: any): void { inv('0xCC6B5AAFC87BFC7B', p0, p1, p2); } /** * @param p0 * @param p1 */ static N_0x2DF3D457D86F8E57(p0: any, p1: any): void { inv('0x2DF3D457D86F8E57', p0, p1); } /** * @param animal * @param index */ static resetAnimalTuningFloatParam(animal: Ped, index: int): void { inv('0xE776A195488FC520', animal.handle, index); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 */ static N_0xE36D2CB540597EF7(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any): void { inv('0xE36D2CB540597EF7', p0, p1, p2, p3, p4, p5, p6, p7); } /** * @param ped * @returns Refer to {@link eAnimalRarityLevel} */ static getAnimalRarity(ped: Ped): int { return inv('0xF8B48A361DC388AE', ped.handle, rai()); } /** * @param herdHandle * @returns */ static isHerdValid(herdHandle: number): boolean { return !!inv('0x8D913E493BAFE0A3', herdHandle, rai()); } /** * @param p0 * @param p1 * @param p2 * @param p3 */ static setSpeciesTuningBoolParam(p0: string | number, p1: int, p2: int, p3: boolean): void { inv('0x6D1D94C2459B42EE', _h(p0), p1, p2, p3); } /** * Return whether the ped is in the herd. * * @param herd * @param ped * @returns */ static isPedInHerd(herd: Entity, ped: Ped): boolean { return !!inv('0x9E13ACC38BA8F9C3', herd.handle, ped.handle, rai()); } /** * @param p0 * @param p1 * @param p2 * @returns */ static getSpeciesTuningFloatParam(p0: string | number, p1: int, p2: int): float { return inv('0xE108489621422F91', _h(p0), p1, p2, raf()); } /** * @param p0 * @param ped */ static addPedToFlock(p0: any, ped: Ped): void { inv('0x933E5D31A7D13069', p0, ped.handle); } /** * @param animal * @param index */ static resetAnimalTuningBoolParam(animal: Ped, index: int): void { inv('0x96AA1304D30E6BC3', animal.handle, index); } /** * Remove the ped from a herd. * * @param herd * @param ped */ static removeHerdPed(herd: Entity, ped: Ped): void { inv('0x408D1149C5E39C1E', herd.handle, ped.handle); } /** * @param p0 * @param p1 * @param p2 * @param p3 */ static N_0x0816C31480764AB0(p0: any, p1: any, p2: any, p3: any): void { inv('0x0816C31480764AB0', p0, p1, p2, p3); } /** * index: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimalTuningFloats * https://github.com/femga/rdr3_discoveries/tree/master/AI/ANIMAL_TUNING_FLOAT_PARAMS * * @param animal * @param index * @returns */ static getAnimalTuningFloatParam(animal: Ped, index: int): float { return inv('0x4BC3ECFDA0297E27', animal.handle, index, raf()); } /** * @param p0 * @param p1 * @param p2 * @param p3 */ static N_0xC72CE37081DAE625(p0: any, p1: any, p2: any, p3: any): void { inv('0xC72CE37081DAE625', p0, p1, p2, p3); } /** * @param animal * @param index * @param value */ static setAnimalTuningFloatParam(animal: Ped, index: int, value: float): void { inv('0xCBDA22C87977244F', animal.handle, index, f(value)); } /** * @param p0 * @param p1 * @returns */ static N_0xD95F04A4E73BE85E(p0: any, p1: any): any { return inv('0xD95F04A4E73BE85E', p0, p1); } /** * index: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimalTuningBools * https://github.com/femga/rdr3_discoveries/tree/master/AI/ANIMAL_TUNING_BOOL_PARAMS * * @param animal * @param index * @returns */ static getAnimalTuningBoolParam(animal: Ped, index: int): boolean { return !!inv('0x1C1993824A396603', animal.handle, index, rai()); } /** * @param p0 * @param p1 */ static N_0xC3D581A34BC0A1F0(p0: any, p1: any): void { inv('0xC3D581A34BC0A1F0', p0, p1); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 * @param p8 * @returns */ static N_0xE93415B3307208E5(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any): any { return inv('0xE93415B3307208E5', p0, p1, p2, p3, p4, p5, p6, p7, p8); } /** * @param p0 * @param p1 * @param p2 */ static N_0x17E3E5C46ECCD308(p0: any, p1: any, p2: any): void { inv('0x17E3E5C46ECCD308', p0, p1, p2); } /** * species: SPECIES_BIRD_CROW * * @param species * @param pos1 * @param pos2 * @param x3 * @param y3 * @param z3 * @param p10 * @param p11 * @param p12 * @param p13 */ static N_0xF2CCA7B68CFAB2B9(species: string | number, pos1: Vector3, pos2: Vector3, x3: float, y3: float, z3: float, p10: float, p11: float, p12: float, p13: float): void { inv('0xF2CCA7B68CFAB2B9', _h(species), f(pos1.x), f(pos1.y), f(pos1.z), f(pos2.x), f(pos2.y), f(pos2.z), f(x3), f(y3), f(z3), f(p10), f(p11), f(p12), f(p13)); } /** * Delete and invalidate the herd. * * @param herd */ static deleteHerd(herd: Entity): void { inv('0xE0961AED72642B80', herd.handle); } /** * @param p0 * @returns */ static N_0x53187E563F938E76(p0: any): any { return inv('0x53187E563F938E76', p0); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @returns */ static N_0x8049B17BEC937662(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): any { return inv('0x8049B17BEC937662', p0, p1, p2, p3, p4, p5, p6); } /** * @param p0 */ static N_0xFB16F08F47B83B4C(p0: any): void { inv('0xFB16F08F47B83B4C', p0); } /** * @param p0 * @returns */ static N_0x36486AF7DA93A464(p0: any): any { return inv('0x36486AF7DA93A464', p0); } /** * @param p0 * @param p1 * @param p2 * @param p3 */ static N_0xC95611869E14F8AF(p0: any, p1: any, p2: any, p3: any): void { inv('0xC95611869E14F8AF', p0, p1, p2, p3); } /** * @returns */ static createHerd(): number { return inv('0xCB4EF7EDAE2E16F1', rai()); } /** * @param p0 */ static N_0xA881F5C77A560906(p0: any): void { inv('0xA881F5C77A560906', p0); } /** * @param ped * @param toggle */ static setAnimalIsWild(ped: Ped, toggle: boolean): void { inv('0xAEB97D84CDF3C00B', ped.handle, toggle); } }