Skip to content

Class: cse_alife_monster_base

Server object binding for cse_alife_monster_base.

Source

C++ class cse_alife_monster_base : cse_alife_monster_abstract,cse_ph_skeleton

Custom Constructor

cse_alife_monster_base

Extends

Implements

Constructors

Constructor

ts
new cse_alife_monster_base(section: string): cse_alife_monster_base;

Create an ALife object for a spawn section.

Parameters

ParameterTypeDescription
sectionstringSpawn section name.

Returns

cse_alife_monster_base

Inherited from

cse_alife_monster_abstract.constructor

Methods

alive()

ts
alive(): boolean;

Returns

boolean

Whether the creature is alive.

Inherited from

cse_alife_monster_abstract.alive


brain()

ts
brain(): CALifeMonsterBrain;

Returns

CALifeMonsterBrain

ALife brain that drives offline monster behavior.

Throws

If this creature type has no ALife monster brain.

Inherited from

cse_alife_monster_abstract.brain


can_save()

ts
can_save(): boolean;

Returns

boolean

Whether this object should be saved.

Inherited from

cse_alife_monster_abstract.can_save


can_switch_offline()

Call Signature

ts
can_switch_offline(): boolean;
Returns

boolean

Whether this object may switch offline.

Inherited from

cse_alife_monster_abstract.can_switch_offline

Call Signature

ts
can_switch_offline(value: boolean): void;

Allow or block switching offline.

Parameters
ParameterTypeDescription
valuebooleanWhether offline switching is allowed.
Returns

void

Remarks

Sets the object's switch-offline flag; it does not switch the object immediately.

Inherited from

cse_alife_monster_abstract.can_switch_offline


can_switch_online()

Call Signature

ts
can_switch_online(): boolean;
Returns

boolean

Whether this object may switch online.

Inherited from

cse_alife_monster_abstract.can_switch_online

Call Signature

ts
can_switch_online(value: boolean): void;

Allow or block switching online.

Parameters
ParameterTypeDescription
valuebooleanWhether online switching is allowed.
Returns

void

Remarks

Sets the object's switch-online flag; it does not switch the object immediately.

Inherited from

cse_alife_monster_abstract.can_switch_online


clear_smart_terrain()

ts
clear_smart_terrain(): void;

Clear the assigned smart terrain.

Returns

void

Inherited from

cse_alife_monster_abstract.clear_smart_terrain


clsid()

ts
clsid(): TXR_class_id;

Returns

TXR_class_id

Engine class id.

Inherited from

cse_alife_monster_abstract.clsid


community()

ts
community<T>(): T;

Type Parameters

Type ParameterDefault type
T extends stringstring

Returns

T

Object community like monolith, stalker or zombied.

Inherited from

cse_alife_monster_abstract.community


current_level_travel_speed()

Call Signature

ts
current_level_travel_speed(): number;
Returns

number

Travel speed used inside the current level.

Inherited from

cse_alife_monster_abstract.current_level_travel_speed

Call Signature

ts
current_level_travel_speed(value: number): void;

Set travel speed used inside the current level.

Parameters
ParameterTypeDescription
valuenumberNew travel speed.
Returns

void

Inherited from

cse_alife_monster_abstract.current_level_travel_speed


FillProps()

ts
FillProps(pref: string, items: prop_item_vec): void;

Fill editor property rows for this object.

Parameters

ParameterTypeDescription
prefstringProperty prefix.
itemsprop_item_vecProperty collection to populate.

Returns

void

Inherited from

cse_alife_monster_abstract.FillProps


force_set_goodwill()

ts
force_set_goodwill(goodwill: number, npc_id: number): void;

Set goodwill from this creature toward another object.

Parameters

ParameterTypeDescription
goodwillnumberNew goodwill value.
npc_idnumberTarget object id.

Returns

void

Remarks

npc_id must resolve to an ALife object that can store personal goodwill.

Inherited from

cse_alife_monster_abstract.force_set_goodwill


g_group()

ts
g_group(): number;

Returns

number

Game group id.

Inherited from

cse_alife_monster_abstract.g_group


g_squad()

ts
g_squad(): number;

Returns

number

Game squad id.

Inherited from

cse_alife_monster_abstract.g_squad


g_team()

ts
g_team(): number;

Returns

number

Game team id.

Inherited from

cse_alife_monster_abstract.g_team


has_detector()

ts
has_detector(): boolean;

Returns

boolean

Whether the creature has a detector.

Inherited from

cse_alife_monster_abstract.has_detector


health()

ts
health(): number;

Returns

number

Current creature health.

Inherited from

cse_alife_monster_abstract.health


init()

ts
init(): cse_abstract;

Initialize the ALife object and return its abstract base.

Returns

cse_abstract

Initialized abstract entity.

Inherited from

cse_alife_monster_abstract.init


interactive()

ts
interactive(): boolean;

Returns

boolean

Whether the object is interactive.

Inherited from

cse_alife_monster_abstract.interactive


keep_saved_data_anyway()

ts
keep_saved_data_anyway(): boolean;

Check whether client data should survive regular cleanup.

Returns

boolean

Whether saved data should be kept even when regular cleanup would remove it.

Source

src/xrGame/alife_object.cpp, CSE_ALifeObject::keep_saved_data_anyway.

Source

src/xrGame/alife_dynamic_object.cpp, CSE_ALifeDynamicObject::clear_client_data.

Remarks

Most objects return false, so client_data is cleared when switching offline or after a failed switch online. Classes can override this to keep saved client data across cleanup.

Inherited from

cse_alife_monster_abstract.keep_saved_data_anyway


kill()

ts
kill(): void;

Kill the server-side creature.

Returns

void

Remarks

Intended for creature server objects managed by ALife.

Inherited from

cse_alife_monster_abstract.kill


move_offline()

Call Signature

ts
move_offline(): boolean;
Returns

boolean

Whether the object should move while offline.

Inherited from

cse_alife_monster_abstract.move_offline

Call Signature

ts
move_offline(value?: boolean): void;

Set whether the object should move while offline.

Parameters
ParameterTypeDescription
value?booleanWhether offline movement is enabled.
Returns

void

Inherited from

cse_alife_monster_abstract.move_offline


name()

ts
name<T>(): T;

Type Parameters

Type ParameterDefault type
T extends stringstring

Returns

T

Runtime object name.

Inherited from

cse_alife_monster_abstract.name


o_torso()

ts
o_torso(): rotation;

Returns

rotation

Torso rotation state.

Inherited from

cse_alife_monster_abstract.o_torso


on_before_register()

ts
on_before_register(): void;

Prepare for registration in the ALife registry.

Returns

void

Source

src/xrGame/alife_simulator_base2.cpp, CALifeSimulatorBase::register_object.

Remarks

Uses the same registration path as on_register. During savegame load it runs before the final on_register pass for all restored objects, so avoid cross-object links that need every object fully registered.

Inherited from

cse_alife_monster_abstract.on_before_register


on_death()

ts
on_death(killer: cse_alife_object): void;

Notify the server object that this creature died.

Parameters

ParameterTypeDescription
killercse_alife_objectServer object that killed this creature.

Returns

void

Remarks

Marks server-side health as dead and records death time. It is not a general damage method.

Inherited from

cse_alife_monster_abstract.on_death


on_register()

ts
on_register(): void;

Handle registration in the ALife registry.

Returns

void

Source

src/xrGame/alife_simulator_base2.cpp, CALifeSimulatorBase::register_object.

Source

src/xrGame/alife_storage_manager.cpp, CALifeStorageManager::load.

Source

src/xrGame/alife_update_manager.cpp, CALifeUpdateManager::update.

Remarks

This is a repeatable registry hook, not first-spawn-only logic. Savegame load registers restored objects with callbacks disabled, then calls on_register for each restored object. Keep handlers idempotent and pair cleanup with on_unregister.

Inherited from

cse_alife_monster_abstract.on_register


on_spawn()

ts
on_spawn(): void;

Handle initial server-object spawn.

Returns

void

Source

src/xrGame/alife_simulator_base.cpp, CALifeSimulatorBase::create.

Source

src/xrGame/alife_storage_manager.cpp, CALifeStorageManager::load.

Remarks

This is a server-object creation hook. ALife create paths call it after registration and supply spawning. Savegame load does not call it for restored objects; restored objects receive on_register instead.

Inherited from

cse_alife_monster_abstract.on_spawn


on_unregister()

ts
on_unregister(): void;

Handle removal from the ALife registry.

Returns

void

Source

src/xrGame/alife_simulator_base2.cpp, CALifeSimulatorBase::unregister_object.

Remarks

Pair this with on_register to remove registry links, scheduler state, story mappings, or similar state.

Inherited from

cse_alife_monster_abstract.on_unregister


rank()

ts
rank(): number;

Returns

number

Creature rank.

Inherited from

cse_alife_monster_abstract.rank


section_name()

ts
section_name<T>(): T;

Type Parameters

Type ParameterDefault type
T extends stringstring

Returns

T

Spawn section name.

Inherited from

cse_alife_monster_abstract.section_name


set_yaw()

ts
set_yaw(yaw: number): void;

Set object yaw.

Parameters

ParameterTypeDescription
yawnumberYaw angle.

Returns

void

Inherited from

cse_alife_monster_abstract.set_yaw


smart_terrain_id()

ts
smart_terrain_id(): number;

Returns

number

Assigned smart terrain id, or 65535 when none is assigned.

Inherited from

cse_alife_monster_abstract.smart_terrain_id


smart_terrain_task_activate()

ts
smart_terrain_task_activate(): void;

Works for CSE_ALifeMonsterAbstract, marks smart terrain as reached and switches logic to terrain task.

Returns

void

Remarks

Only meaningful for monsters assigned to a smart terrain task.

Inherited from

cse_alife_monster_abstract.smart_terrain_task_activate


smart_terrain_task_deactivate()

ts
smart_terrain_task_deactivate(): void;

Mark the current smart terrain task as not reached.

Returns

void

Inherited from

cse_alife_monster_abstract.smart_terrain_task_deactivate


spawn_ini()

ts
spawn_ini(): Nullable<ini_file>;

Returns

Nullable<ini_file>

Spawn ini attached to this object, if any.

Inherited from

cse_alife_monster_abstract.spawn_ini


STATE_Read()

ts
STATE_Read(packet: net_packet, size: number): void;

Read a state packet into this object.

Parameters

ParameterTypeDescription
packetnet_packetSource network packet.
sizenumberSerialized state size.

Returns

void

Remarks

Use only with packets written for the same server object class and state format.

Inherited from

cse_alife_monster_abstract.STATE_Read


STATE_Write()

ts
STATE_Write(packet: net_packet): void;

Write a state packet from this object.

Parameters

ParameterTypeDescription
packetnet_packetTarget network packet.

Returns

void

Inherited from

cse_alife_monster_abstract.STATE_Write


switch_offline()

ts
switch_offline(): void;

Mark the server object offline.

Returns

void

Source

src/xrGame/alife_dynamic_object.cpp, CSE_ALifeDynamicObject::switch_offline.

Remarks

Requires the object to be online. The base implementation marks it offline, removes it from the online ALife set, and clears client data unless keep_saved_data_anyway() returns true.

Inherited from

cse_alife_monster_abstract.switch_offline


switch_online()

ts
switch_online(): void;

Mark the server object online.

Returns

void

Source

src/xrGame/alife_dynamic_object.cpp, CSE_ALifeDynamicObject::switch_online.

Remarks

Requires the object to be offline. The base implementation marks it online and adds it to the online ALife set. Use the simulator switch manager for normal distance-based switching.

Inherited from

cse_alife_monster_abstract.switch_online


travel_speed()

Call Signature

ts
travel_speed(): number;
Returns

number

Travel speed used for graph movement.

Inherited from

cse_alife_monster_abstract.travel_speed

Call Signature

ts
travel_speed(value: number): void;

Set travel speed used for graph movement.

Parameters
ParameterTypeDescription
valuenumberNew travel speed.
Returns

void

Inherited from

cse_alife_monster_abstract.travel_speed


update()

ts
update(): void;

Run the server-side ALife update for this object.

Returns

void

Inherited from

cse_alife_monster_abstract.update


UPDATE_Read()

ts
UPDATE_Read(packet: net_packet): void;

Read an update packet into this object.

Parameters

ParameterTypeDescription
packetnet_packetSource network packet.

Returns

void

Remarks

Use only with packets written for the same server object class and update format.

Inherited from

cse_alife_monster_abstract.UPDATE_Read


UPDATE_Write()

ts
UPDATE_Write(packet: net_packet): void;

Write an update packet from this object.

Parameters

ParameterTypeDescription
packetnet_packetTarget network packet.

Returns

void

Inherited from

cse_alife_monster_abstract.UPDATE_Write


use_ai_locations()

ts
use_ai_locations(value: boolean): void;

Enable or disable AI location graph use.

Parameters

ParameterTypeDescription
valuebooleanWhether AI locations should be used.

Returns

void

Inherited from

cse_alife_monster_abstract.use_ai_locations


used_ai_locations()

ts
used_ai_locations(): boolean;

Returns

boolean

Whether the object uses AI location graph data.

Inherited from

cse_alife_monster_abstract.used_ai_locations


visible_for_map()

Call Signature

ts
visible_for_map(): boolean;
Returns

boolean

Whether the object is visible on the map.

Inherited from

cse_alife_monster_abstract.visible_for_map

Call Signature

ts
visible_for_map(value: boolean): void;

Set whether the object is visible on the map.

Parameters
ParameterTypeDescription
valuebooleanWhether the object should be shown on the map.
Returns

void

Inherited from

cse_alife_monster_abstract.visible_for_map

Properties

__name

ts
readonly __name: string;

LuaBind instance constructor name.

Inherited from

cse_alife_monster_abstract.__name


angle

ts
angle: vector;

Server-side orientation angles.

Inherited from

cse_alife_monster_abstract.angle


group

ts
group: number;

Game group id.

Inherited from

cse_alife_monster_abstract.group


group_id

ts
group_id: number;

Object squad id, maximal u16 (65535) if no squad assigned.

Inherited from

cse_alife_monster_abstract.group_id


id

ts
readonly id: number;

Server object id.

Inherited from

cse_alife_monster_abstract.id


m_game_vertex_id

ts
readonly m_game_vertex_id: number;

Game graph vertex used by ALife simulation.

Inherited from

cse_alife_monster_abstract.m_game_vertex_id


m_level_vertex_id

ts
readonly m_level_vertex_id: number;

Level graph vertex used by ALife simulation.

Inherited from

cse_alife_monster_abstract.m_level_vertex_id


m_smart_terrain_id

ts
m_smart_terrain_id: number;

Assigned smart terrain id, or 65535 when none is assigned.

Inherited from

cse_alife_monster_abstract.m_smart_terrain_id


m_story_id

ts
readonly m_story_id: number;

Always numeric value. Returns maximal u32 (4294967295) value if object has no story id.

Inherited from

cse_alife_monster_abstract.m_story_id


online

ts
readonly online: boolean;

Whether server object has client representation and is in online mode.

Inherited from

cse_alife_monster_abstract.online


parent_id

ts
readonly parent_id: number;

Parent server object id, or 65535 when there is no parent.

Inherited from

cse_alife_monster_abstract.parent_id


position

ts
position: vector;

Server-side world position.

Inherited from

cse_alife_monster_abstract.position


script_version

ts
readonly script_version: number;

Script data version stored with this object.

Inherited from

cse_alife_monster_abstract.script_version


squad

ts
squad: number;

Squad identifier that links squad and parent smart terrain.

Inherited from

cse_alife_monster_abstract.squad


team

ts
team: number;

Team (community) of the object. Defined in game_relations.ltx -> [game_relations] -> [communities].

Example: 8 is monster, 9 is stalker, 0 is actor, 4 is freedom.

Inherited from

cse_alife_monster_abstract.team


__name

ts
readonly static __name: string;

LuaBind class constructor name.

Inherited from

cse_alife_monster_abstract.__name