import { Entity } from '../entities/entity.js'; import { Vec3 } from '@quake2ts/shared'; import { EntitySystem } from '../entities/system.js'; /** * Predictive calculator * target is who you want to shoot * start is where the shot comes from * bolt_speed is how fast the shot is (or 0 for hitscan) * eye_height is a boolean to say whether or not to adjust to targets eye_height * offset is how much time to miss by * aimdir is the resulting aim direction * aimpoint is the resulting aimpoint */ export declare function PredictAim(context: EntitySystem, self: Entity, target: Entity, start: Vec3, bolt_speed: number, eye_height: boolean, offset: number): { aimdir: Vec3; aimpoint: Vec3; }; /** * [Paril-KEX] find a pitch that will at some point land on or near the player. * very approximate. aim will be adjusted to the correct aim vector. * Returns true if a valid pitch was found and updates `aim` vector in place (by returning it). */ export declare function M_CalculatePitchToFire(context: EntitySystem, self: Entity, target: Vec3, start: Vec3, speed: number, time_remaining: number, mortar: boolean, destroy_on_touch?: boolean, gravity?: number): { aimDir: Vec3; } | null; export declare enum BlockedJumpResult { NO_JUMP = 0, JUMP_TURN = 1, JUMP_JUMP_UP = 2, JUMP_JUMP_DOWN = 3 } export declare function blocked_checkplat(context: EntitySystem, self: Entity, dist: number): boolean; export declare function monster_jump_start(context: EntitySystem, self: Entity): void; export declare function monster_jump_finished(context: EntitySystem, self: Entity): boolean; export declare function blocked_checkjump(context: EntitySystem, self: Entity, dist: number, dropHeightInput?: number, jumpHeightInput?: number): BlockedJumpResult; //# sourceMappingURL=rogue.d.ts.map