UNPKG

anomaly-packer

Version:

Anomaly Packer is a utility package for STALKER Anomaly creators to help them develop addons at speed with TypeScript's type-safety and game-oriented build tools.

249 lines (244 loc) 9.59 kB
/** @noSelfInFile */ interface CGameObject { // NPCs angle(): vector force_set_angle(angle: vector): void get_enable_anomalies_pathfinding(): boolean set_enable_anomalies_pathfinding(enable: boolean): void get_enable_anomalies_damage(): boolean set_enable_anomalies_damage(enable: boolean): void set_enable_movement_collision(enable: boolean): void character_dialogs(): string[] // Actor get_scope_ui(): { name: string uiWindow: CUIWindow statics: CUIStatic[] } set_scope_ui( /** @example 'wpn_crosshair_mosin' */ texture: string ): void get_actor_walk_accel(): number set_actor_walk_accel(accel: number): void get_actor_walk_back_coef(): number set_actor_walk_back_coef(coef: number): void get_actor_lookout_coef(): number set_actor_lookout_coef(coef: number): void set_actor_direction(yaw: number, pitch: number, roll?: number): void set_actor_direction(hpb: vector): void get_artefact_additional_inventory_weight(): number set_artefact_additional_inventory_weight(weight: number): void get_actor_crouch_coef(): number set_actor_crouch_coef(coef: number): void get_actor_climb_coef(): number set_actor_climb_coef(coef: number): void get_actor_walk_strafe_coef(): number set_actor_walk_strafe_coef(coef: number): void get_actor_run_strafe_coef(): number set_actor_run_strafe_coef(coef: number): void get_actor_sprint_strafe_coef(): number set_actor_sprint_strafe_coef(coef: number): void /** Force update of weight */ update_weight(): void get_total_weight_force_update(): number get_talking_npc(): CGameObject | null // Bones get_bone_id(name: string, hud?: boolean): number bone_id(name: string, hud?: boolean): number bone_name(id: number, hud?: boolean): string bone_position(id: string, hud?: boolean): vector bone_position(bone_name: string, hud?: boolean): vector bone_direction(id: string, hud?: boolean): vector bone_direction(bone_name: string, hud?: boolean): vector bone_parent(id: string, hud?: boolean): number bone_parent(bone_name: string, hud?: boolean): number bone_visible(id: string, hud?: boolean): boolean bone_visible(bone_name: string, hud?: boolean): boolean set_bone_visible(id: number, visibile: boolean, recursive: boolean, hud: boolean): void set_bone_visible(name: string, visibile: boolean, recursive: boolean, hud: boolean): void bone_transform(id: number, hud?: boolean): matrix bone_transform(bone_name: string, hud?: boolean): matrix /** @returns list of all bone names of the object */ list_bones(hud?: boolean): TODO /** World-space object transform */ xform(hud?: boolean): matrix bounding_box(hud?: boolean): Fbox // Cover / combat AI affect_cover(): boolean best_cover_invalidate(): void can_kill_enemy(): boolean can_kill_member(): boolean fire_make_sense(): boolean set_aim_params(max_angle: number, min_angle: number, min_speed: number, predict_time: number): void set_vision_speed(value: number): void set_movement_speed(vel: vector): void memory_remove_links(obj: CGameObject): void // Smart cover get_current_smart_cover_name(): string get_current_loophole_id(): string // Restrictor / anomaly force_set_restrictor_type(typ: number): void invalidate_restrictions(): void is_enabled_anomaly(): boolean inside_anomaly(): boolean // Devices (torch etc.) is_device_enabled(): boolean set_device_enabled(enable: boolean): void update_torch(): void // Luminosity / visibility get_object_visible_distance(obj: CGameObject): number get_object_luminocity(obj: CGameObject): number get_actor_ui_luminosity(): number // Ranks / actor looking rank_name(): string get_actor_object_looking_at(): CGameObject | null get_actor_person_looking_at(): CGameObject | null get_actor_default_action_for_object(): string set_actor_box_y_offset(box_num: number, offset: number): void // HUD fire points (weapon in hands) hud_fire_point(): vector hud_fire_point2(): vector hud_fire_point_silencer(): vector set_hud_fire_point(value: vector): void set_hud_fire_point2(value: vector): void set_hud_fire_point_silencer(value: vector): void hud_fire_bone_id(): number hud_fire_bone2_id(): number hud_fire_bone_silencer_id(): number hud_fire_bone_name(): string hud_fire_bone2_name(): string hud_fire_bone_silencer_name(): string set_hud_fire_bone(bone_id: number): void set_hud_fire_bone(bone_name: string): void set_hud_fire_bone2(bone_id: number): void set_hud_fire_bone2(bone_name: string): void set_hud_fire_bone_silencer(bone_id: number): void set_hud_fire_bone_silencer(bone_name: string): void /** @returns fire params table of the weapon in hands (fire point, direction, dispersion, …) */ g_fireParams(): TODO // Shaders / textures get_shaders(hud?: boolean): TODO get_default_shaders(hud?: boolean): TODO set_shader(id: number, shader: string, texture: string, hud?: boolean): void reset_shader(id: number, hud?: boolean): void // Script attachments add_attachment(name: string, model_name: string): ScriptAttachment | null get_attachment(name: string): ScriptAttachment | null remove_attachment(name: string): void remove_attachment(child: ScriptAttachment): void iterate_attachments(functor: (attachment: ScriptAttachment) => boolean | void): void // Holders / casts added by the fork get_stmgun(): CWeaponStatMgun | null get_projector(): CProjector | null cast_Knife(): CWeaponKnife | null cast_Missile(): CMissile | null cast_Explosive(): CExplosive | null } interface CArtefact { m_additional_weight: number } interface CActorCondition { GetAlcohol(): number } /** * Modded exes expose a large tuning surface on {@link CWeapon}: camera dispersion, * per-attachment recoil (PDM = Pitch/Dispersion Model), fire points and strap offsets. * All getters return the current value; setters take a single float unless noted. */ interface CWeapon { ForceSetZoomType(zoom_type: number): void // RPM RealRPM(): number ModeRealRPM(): number SetRealRPM(rpm: number): void SetModeRPM(rpm: number): void SetModeRealRPM(rpm: number): void // Hit SetHitPower(value: number): void SetHitPowerCritical(value: number): void SetHitImpulse(value: number): void // Dispersion / distance / misfire SetFireDispersion(value: number): void SetFireDistance(value: number): void SetFirstBulletDisp(value: number): void SetMisfireStartCondition(value: number): void SetMisfireEndCondition(value: number): void // Camera behaviour (hip) GetCamRelaxSpeed(): number GetCamRelaxSpeed_AI(): number GetCamDispersion(): number GetCamDispersionInc(): number GetCamDispersionFrac(): number GetCamMaxAngleVert(): number GetCamMaxAngleHorz(): number GetCamStepAngleHorz(): number SetCamRelaxSpeed(value: number): void SetCamRelaxSpeed_AI(value: number): void SetCamDispersion(value: number): void SetCamDispersionInc(value: number): void SetCamDispersionFrac(value: number): void SetCamMaxAngleVert(value: number): void SetCamMaxAngleHorz(value: number): void SetCamStepAngleHorz(value: number): void // Camera behaviour (zoom / aim) GetZoomCamRelaxSpeed(): number GetZoomCamRelaxSpeed_AI(): number GetZoomCamDispersion(): number GetZoomCamDispersionInc(): number GetZoomCamDispersionFrac(): number GetZoomCamMaxAngleVert(): number GetZoomCamMaxAngleHorz(): number GetZoomCamStepAngleHorz(): number SetZoomCamRelaxSpeed(value: number): void SetZoomCamRelaxSpeed_AI(value: number): void SetZoomCamDispersion(value: number): void SetZoomCamDispersionInc(value: number): void SetZoomCamDispersionFrac(value: number): void SetZoomCamMaxAngleVert(value: number): void SetZoomCamMaxAngleHorz(value: number): void SetZoomCamStepAngleHorz(value: number): void GetZoomRotateTime(): number SetZoomRotateTime(value: number): void // Crosshair inertion (per attachment) SetCrosshairInertion(value: number): void Set_Silencer_CrosshairInertion(value: number): void Set_Scope_CrosshairInertion(value: number): void Set_Launcher_CrosshairInertion(value: number): void // PDM recoil model base offset Set_PDM_Base(value: number): void Set_Silencer_PDM_Base(value: number): void Set_Scope_PDM_Base(value: number): void Set_Launcher_PDM_Base(value: number): void Set_PDM_BuckShot(value: number): void // PDM recoil model velocity factor Set_PDM_Vel_F(value: number): void Set_Silencer_PDM_Vel(value: number): void Set_Scope_PDM_Vel(value: number): void Set_Launcher_PDM_Vel(value: number): void // PDM recoil model acceleration factor Set_PDM_Accel_F(value: number): void Set_Silencer_PDM_Accel(value: number): void Set_Scope_PDM_Accel(value: number): void Set_Launcher_PDM_Accel(value: number): void // PDM recoil model crouch factors Set_PDM_Crouch(value: number): void Set_PDM_Crouch_NA(value: number): void // Fire points / offsets get_CurrentFirePoint(): vector get_CurrentFirePoint2(): vector get_CurrentFirePointSilencer(): vector Get_mOffset(): matrix Get_mStrapOffset(): matrix Set_mOffset(position: vector, orientation: vector): void Set_mStrapOffset(position: vector, orientation: vector): void Set_mFirePoint(fire_point: vector): void Set_mFirePoint2(fire_point: vector): void Set_mShellPoint(shell_point: vector): void // Strap bones / hands Get_strap_bone0(): string Get_strap_bone1(): string Get_strapped_mode(): boolean /** @returns hand-dependence enum (`EHandDependence`) */ HandDependence(): number }