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.

82 lines (80 loc) 4.7 kB
// AUTO-GENERATED addon pack for `xlib` by `anomaly-packer gen-addon`. Lua API of xsmart_spawn.script. // Refine `TODO` (= any) by hand where the mod gave no type. /** @noSelf */ declare const xsmart_spawn: { /** Faction -> generic simulation squad sections (novice, advanced, veteran). Copy of smart_terrain.script:16-29. */ SQUADS_BY_FACTION: AnyTable /** Species -> single-species simulation squad section (species-pure for infest/conquest). See doc/library/xray/api/squad-factions.md. */ SQUADS_BY_SPECIES: AnyTable /** * Clear exclusive spawn from smart terrain, restoring original LTX spawning * Clears faction_controlled (deactivates faction gate), reverts faction to default, * removes the exclusive entry. Original LTX entries resume on next try_respawn. * @scope global - mutates server-entity fields directly * @safety SAFE - pure Lua table writes on smart terrain object * @cost O(1) | 0 luabind * @src anomaly/smart_terrain.script(246-267,1665-1672) * @param smart Smart terrain to revert * @param key Respawn_params key to remove * @returns True if cleared */ clear_exclusive_spawn(smart: TODO, key: string): boolean /** * Remove shared spawn entry from smart terrain * @scope global - mutates server-entity respawn_params directly * @safety SAFE - pure Lua table writes on smart terrain object * @cost O(1) | 0 luabind * @param smart Smart terrain to revert * @param key Respawn_params key to remove * @returns True if cleared */ clear_shared_spawn(smart: TODO, key: string): boolean /** * Reset population and re-seed world from simulation preset * Resets spawn counters, clears start_position_filled flag, calls fill_start_position * @scope global - mutates SIMBOARD and triggers fill_start_position * @safety SAFE - delegates to engine's fill_start_position (runs on every new game start) * @cost O(n) smarts for reset + fill_start_position cost | 0 luabind for reset_spawns; fill_start_position is engine-side spawn injection (heavy per smart, mostly server-entity field writes) * @src anomaly/se_actor.script(14), anomaly/sim_board.script(284) * @returns True if repopulate ran */ repopulate(): boolean /** * Reset all smart terrain spawn counters to zero * Zeros already_spawned[k].num and clears last_respawn_update on all respawn-capable smarts * @scope global - iterates SIMBOARD.smarts and mutates server-entity fields * @safety SAFE - pure Lua field writes on smart terrain objects, nil-guarded * @cost O(n) smarts * O(k) spawn sections | 0 luabind (SIMBOARD.smarts holds direct refs to server entities; field writes via pairs are pure Lua) * @src anomaly/smart_terrain.script(251,886,1625), anomaly/sim_board.script(302) * @returns Count of smarts reset */ reset_spawns(): number /** * Set exclusive spawn on smart terrain (suppresses original LTX entries via faction filter) * Sets faction_controlled + one entry with .faction; monster factions need periodic re-apply (check_smart_faction ignores monsters; see @src line 1209-1236). * @scope global - mutates server-entity fields directly; faction_controlled gate evaluates in try_respawn * @safety SAFE - pure Lua table writes on smart terrain object * @cost O(1) | 0 luabind (parse_condlist is pure Lua) * @src anomaly/smart_terrain.script(246-267,1209-1236,1665-1672) * @param smart Smart terrain to mutate * @param key Unique respawn_params key (e.g. "ap_infest") * @param identity Stalker faction or mutant species (_SQUADS_BY_IDENTITY lookup) * @param spawn_num Max squads for this entry (default 1) * @returns True if applied */ set_exclusive_spawn(smart: TODO, key: string, identity: string, spawn_num: number | undefined): boolean /** * Add shared spawn entry to smart terrain respawn_params (additive, originals keep spawning) * No faction_controlled -- engine filter stays in "spawn all" mode, both LTX and injected entries fire * @scope global - mutates server-entity fields directly; respawn evaluates in try_respawn (cse_alife_schedulable tick, runs offline) * @safety SAFE - pure Lua table writes on smart terrain object * @cost O(1) | 0 luabind (parse_condlist is pure Lua) * @src anomaly/smart_terrain.script(1665-1716) * @param smart Smart terrain to inject into * @param key Unique respawn_params key (e.g. "ap_conquest") * @param identity Stalker faction or mutant species (_SQUADS_BY_IDENTITY lookup) * @param spawn_num Max squads for this entry (default 1) * @returns True if applied */ set_shared_spawn(smart: TODO, key: string, identity: string, spawn_num: number | undefined): boolean }