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.
89 lines (83 loc) • 4.68 kB
TypeScript
/** @noSelfInFile */
import type { Section } from 'anomaly-packer'
declare global {
namespace itms_manager {
export const ini_manager: system_ini
export const ini_container: system_ini
export const ini_parts: system_ini
export const ini_craft: system_ini
export const ini_death: system_ini
export const ini_reward: system_ini
/** Artefact-container definitions collected from `ini_container`. */
export const itms_arty_container: AnyTable
export const n: number
export const item_rewards: AnyTable
export const item_combine: AnyTable
export function relocate_item_to_actor(actor: CGameObject, npc: CGameObject, section: Section.Item, count: number): void
export function relocate_item_from_actor(actor: CGameObject, npc: CGameObject, section: Section.Item, amount: number): void
export function on_game_start(): void
export function actor_on_item_before_use(obj: CGameObject, flags: AnyTable): void
export function actor_on_first_update(): void
export function actor_on_item_drop(obj: CGameObject): void
export function actor_on_item_use(obj: CGameObject): void
export function actor_on_item_take(obj: CGameObject): void
export function dropdrop_ArtyContainer(obj_1: CGameObject, obj_2: CGameObject, sec_1: string, sec_2: string): void
export function dropdrop_Basic_Combination(obj_1: CGameObject, obj_2: CGameObject, sec_1: string, sec_2: string): void
export function ActorMenu_on_item_drag_drop(obj_1: CGameObject, obj_2: CGameObject, slot_from: number, slot_to: number): void
export function ActorMenu_on_item_focus_receive(obj: CGameObject): void
export function save_state(m_data: AnyTable): boolean
/** Inventory context-menu label (translated string). */
export function menu_open(itm: CGameObject): string
export function menu_unpack(itm: CGameObject): string
export function menu_play(itm: CGameObject): string
export function menu_place(obj: CGameObject): string
export function use_package(obj: CGameObject): void
export function use_package_random(obj: CGameObject): void
export function use_deployable_mgun(obj: CGameObject): void
export function use_guitar(obj: CGameObject): void
export function use_harmonica(obj: CGameObject): void
export function use_arty_container(obj: CGameObject): void
export function use_watch(obj: CGameObject): void
export function use_place(obj: CGameObject): void
export function actor_on_trade(obj: CGameObject, sell_bye: boolean, money: number): void
export function actor_item_take(obj: CGameObject): void
export function npc_on_item_take_from_box(npc: CGameObject, box: CGameObject, item: CGameObject): void
export function new_game_equippment(): boolean
export function bolt_manager(): boolean
export function give_item_reward(num_of_items: number): boolean
export function send_itm_msg(sec: Section.Item): void
export function extract_upgr_tools(t1: AnyTable, current_grp: string): void
export function play_item_sound(item: CGameObject, vol: number): void
export function get_item_processor(): ItemProcessor
export function process_item(...args: any[]): void
/** Spawns an item; returns the created server object(s), or `nil`. */
export function create_item(...args: any[]): CseAbstract | AnyTable | undefined
export function generate_boosters_list(): void
}
/**
* Deferred item spawner/processor (`itms_manager.get_item_processor()`).
* @customConstructor ItemProcessor
*/
class ItemProcessor {
Ammo: TODO // @generated field — refine type
Cond: TODO // @generated field — refine type
Cycles: number // @generated field — refine type
Debug: boolean // @generated field — refine type
Remove: TODO // @generated field — refine type
Uses: TODO // @generated field — refine type
constructor()
update(): void
/** @returns the created server object(s), or `nil` */
Create_Item(section: Section.Item, owner?: CGameObject, t?: AnyTable): CseAbstract | AnyTable | undefined
Process_Item(section: Section.Item, id: number, t?: AnyTable): void
Remove_Process(id: number, mark?: any, str?: string): void
Random_Choice(arg: any[]): any
Random_Condition(arg: number[]): number
Extract_Uses(sec_d: string): LuaMultiReturn<[string, number]>
}
namespace itms_manager {
/** Anomaly `class "ItemProcessor"` is also reachable on the `itms_manager` script namespace; typed as
* the instance so its methods can be captured/overridden (`itms_manager.ItemProcessor.Method = ...`). */
export const ItemProcessor: ItemProcessor
}
}