Imperivm Modding WikiCKS · FORMATS · GUIDESEspañol
CELTIC KINGS SCRIPTCKS reference

CKS reference

Explore every published signature. Follow types, discover their members and browse functions that accept or return them.

1,523 signatures36 types1,288 with descriptions

Functions and members

1523

Expand a member to read its notes or open its full entry. Page links preserve your filters.

MemberSignature and description
Sleep

Pauses the current script. The duration unit is not documented here.

Open full entry →
Global
void Sleep(int)

Pauses the current script. The duration unit is not documented here.

KillScript

Stops the current script.

Open full entry →
Global
void KillScript()

Stops the current script.

+=

Behavior awaiting documentation.

Open full entry →
Global
int +=(int&, int)Description pending

Description pending.

-=

Behavior awaiting documentation.

Open full entry →
Global
int -=(int&, int)Description pending

Description pending.

&

Behavior awaiting documentation.

Open full entry →
Global
int &(int, int)Description pending

Description pending.

|

Behavior awaiting documentation.

Open full entry →
Global
int |(int, int)Description pending

Description pending.

+

Behavior awaiting documentation.

Open full entry →
Global
int +(int, int)Description pending

Description pending.

-

Behavior awaiting documentation.

Open full entry →
Global
int -(int, int)Description pending

Description pending.

-

Behavior awaiting documentation.

Open full entry →
Global
int -(int)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(int&, int)Description pending

Description pending.

*

Behavior awaiting documentation.

Open full entry →
Global
int *(int, int)Description pending

Description pending.

/

Behavior awaiting documentation.

Open full entry →
Global
int /(int, int)Description pending

Description pending.

%

Behavior awaiting documentation.

Open full entry →
Global
int %(int, int)Description pending

Description pending.

==

Behavior awaiting documentation.

Open full entry →
Global
bool ==(int, int)Description pending

Description pending.

!=

Behavior awaiting documentation.

Open full entry →
Global
bool !=(int, int)Description pending

Description pending.

<

Behavior awaiting documentation.

Open full entry →
Global
bool <(int, int)Description pending

Description pending.

>

Behavior awaiting documentation.

Open full entry →
Global
bool >(int, int)Description pending

Description pending.

<=

Behavior awaiting documentation.

Open full entry →
Global
bool <=(int, int)Description pending

Description pending.

>=

Behavior awaiting documentation.

Open full entry →
Global
bool >=(int, int)Description pending

Description pending.

abs

Returns the absolute value of an integer.

Open full entry →
Global
int abs(int)

Returns the absolute value of an integer.

Write

Consumes four bytes and delegates the integer to format %ld in the shared formatting buffer.

Open full entry →
Global
void Write(int)

Consumes four bytes and delegates the integer to format %ld in the shared formatting buffer.

MIN

Returns the smaller of the two values.

Open full entry →
Global
int MIN(int, int)

Returns the smaller of the two values.

MAX

Returns the larger of the two values.

Open full entry →
Global
int MAX(int, int)

Returns the larger of the two values.

CLAMP

Limits a value to the supplied lower and upper bounds.

Open full entry →
Global
int CLAMP(int, int, int)

Limits a value to the supplied lower and upper bounds.

+

Behavior awaiting documentation.

Open full entry →
Global
float +(float, float)Description pending

Description pending.

-

Behavior awaiting documentation.

Open full entry →
Global
float -(float, float)Description pending

Description pending.

-

Behavior awaiting documentation.

Open full entry →
Global
float -(float)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(float&, float)Description pending

Description pending.

*

Behavior awaiting documentation.

Open full entry →
Global
float *(float, float)Description pending

Description pending.

/

Behavior awaiting documentation.

Open full entry →
Global
float /(float, float)Description pending

Description pending.

==

Behavior awaiting documentation.

Open full entry →
Global
bool ==(float, float)Description pending

Description pending.

!=

Behavior awaiting documentation.

Open full entry →
Global
bool !=(float, float)Description pending

Description pending.

<

Behavior awaiting documentation.

Open full entry →
Global
bool <(float, float)Description pending

Description pending.

>

Behavior awaiting documentation.

Open full entry →
Global
bool >(float, float)Description pending

Description pending.

sqrt

Returns the square root of a value.

Open full entry →
Global
float sqrt(float)

Returns the square root of a value.

Int

Converts the binary64 input to an integer through truncation and retains the 32-bit result.

Open full entry →
Global
int Int(float)

Converts the binary64 input to an integer through truncation and retains the 32-bit result.

Write

Consumes an eight-byte floating-point value and formats it with %f in the shared formatting buffer.

Open full entry →
Global
void Write(float)

Consumes an eight-byte floating-point value and formats it with %f in the shared formatting buffer.

MIN

Returns the smaller of the two values.

Open full entry →
Global
float MIN(float, float)

Returns the smaller of the two values.

MAX

Returns the larger of the two values.

Open full entry →
Global
float MAX(float, float)

Returns the larger of the two values.

CLAMP

Limits a value to the supplied lower and upper bounds.

Open full entry →
Global
float CLAMP(float, float, float)

Limits a value to the supplied lower and upper bounds.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(bool&, bool)Description pending

Description pending.

!

Behavior awaiting documentation.

Open full entry →
Global
bool !(bool)Description pending

Description pending.

&&

Behavior awaiting documentation.

Open full entry →
Global
bool &&(bool, bool)Description pending

Description pending.

||

Behavior awaiting documentation.

Open full entry →
Global
bool ||(bool, bool)Description pending

Description pending.

^

Behavior awaiting documentation.

Open full entry →
Global
bool ^(bool, bool)Description pending

Description pending.

Write

Consumes 256 bytes, copies the packed string, terminates payload at its unsigned length byte, and delegates format %s.

Open full entry →
Global
void Write(pstr)

Consumes 256 bytes, copies the packed string, terminates payload at its unsigned length byte, and delegates format %s.

Write

Consumes the eight-byte managed string cell, delegates its pointer plus four to format %s, then decrements and conditionally releases the reference.

Open full entry →
Global
void Write(str)

Consumes the eight-byte managed string cell, delegates its pointer plus four to format %s, then decrements and conditionally releases the reference.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(pstr&, pstr)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(str&, str)Description pending

Description pending.

StrCmp

Compares two strings. Returns a negative number, zero or a positive number; it is not a boolean equality check.

Open full entry →
Global
int StrCmp(str, str)

Compares two strings. Returns a negative number, zero or a positive number; it is not a boolean equality check.

StrCat

Appends the second string to the first, modifying the first string.

Open full entry →
Global
void StrCat(str&, str)

Appends the second string to the first, modifying the first string.

ParseStr

Splits text at its first comma, returning a trimmed token and updating the output string.

Open full entry →
Global
str ParseStr(str, str&)

Splits text at its first comma, returning a trimmed token and updating the output string.

StrStr

Checks whether a string contains another string.

Open full entry →
Global
bool StrStr(str, str)

Checks whether a string contains another string.

GetFromStr

Parses comma-delimited entries and compares each source key token against the supplied key for the source token length.

Open full entry →
Global
str GetFromStr(str, str)

Parses comma-delimited entries and compares each source key token against the supplied key for the source token length.

GetFromStrToEOL

Finds a named space-delimited entry and returns its comma-terminated remainder as a managed string.

Open full entry →
Global
str GetFromStrToEOL(str, str)

Finds a named space-delimited entry and returns its comma-terminated remainder as a managed string.

+

Behavior awaiting documentation.

Open full entry →
Global
str +(str, str)Description pending

Description pending.

FindChrPos

Returns the position of the first matching character, or -1 if it is not found. The position's indexing convention is not specified here.

Open full entry →
Global
int FindChrPos(str, int)

Returns the position of the first matching character, or -1 if it is not found. The position's indexing convention is not specified here.

GetChr

The final int is popped before the eight-byte str.

Open full entry →
Global
int GetChr(str, int)

The final int is popped before the eight-byte str.

IsNull

Checks whether the string pointer is null. A nonnull string also undergoes reference-count cleanup.

Open full entry →
Global
bool IsNull(str)

Checks whether the string pointer is null. A nonnull string also undergoes reference-count cleanup.

StrLen

Returns the length of a CKS string in bytes.

Open full entry →
Global
int StrLen(str)

Returns the length of a CKS string in bytes.

StrMid

Clamps the requested count with signed comparisons and copies from payload plus the unchanged start index.

Open full entry →
Global
str StrMid(str, int, int)

Clamps the requested count with signed comparisons and copies from payload plus the unchanged start index.

Str2Int

Converts a string to an integer. Conversion edge cases are not described here yet.

Open full entry →
Global
int Str2Int(str)

Converts a string to an integer. Conversion edge cases are not described here yet.

==

Behavior awaiting documentation.

Open full entry →
Global
bool ==(str, str)Description pending

Description pending.

!=

Behavior awaiting documentation.

Open full entry →
Global
bool !=(str, str)Description pending

Description pending.

IsFlagSet

Checks whether the two integer values share any set bits.

Open full entry →
Global
bool IsFlagSet(int, int)

Checks whether the two integer values share any set bits.

SetFlag

Sets or clears the requested bits in an integer passed by reference.

Open full entry →
Global
int SetFlag(int&, int, bool)

Sets or clears the requested bits in an integer passed by reference.

Point

Creates a point from its horizontal coordinate x and vertical coordinate y, in that order.

Open full entry →
Global
point Point(int, int)

Creates a point from its horizontal coordinate x and vertical coordinate y, in that order.

x

Returns the horizontal coordinate of the point.

Open full entry →
point
int& point::x()

Returns the horizontal coordinate of the point.

y

The two shared component adapters retain an eight-byte encoded reference pair, with a zero or four-byte adjustment to its second dword.

Open full entry →
point
int& point::y()

The two shared component adapters retain an eight-byte encoded reference pair, with a zero or four-byte adjustment to its second dword.

x

Returns the horizontal coordinate of the point.

Open full entry →
point
int point::x()

Returns the horizontal coordinate of the point.

y

Returns the vertical coordinate of the point.

Open full entry →
point
int point::y()

Returns the vertical coordinate of the point.

Set

Sets the horizontal and vertical coordinates and returns the updated point.

Open full entry →
point
point point::Set(int, int)

Sets the horizontal and vertical coordinates and returns the updated point.

SetLen

Rescales the point's integer coordinates toward the requested vector length, modifying the point in place. Integer arithmetic and truncation can make the resulting length differ from the requested value.

The argument is the requested length. On the documented calculation path, each coordinate is multiplied by that value and divided with truncation toward zero. Products use 32-bit arithmetic. Behavior with a zero computed divisor, invalid references, or values that cause overflow is not fully documented.

Open full entry →
point
void point::SetLen(int)

Rescales the point's integer coordinates toward the requested vector length, modifying the point in place. Integer arithmetic and truncation can make the resulting length differ from the requested value.

Len

Returns the integer square root of the sum of the squared coordinates.

Open full entry →
point
int point::Len()

Returns the integer square root of the sum of the squared coordinates.

Rot

Rotates a referenced integer point through an integer angle using sine and cosine.

Open full entry →
point
void point::Rot(int)

Rotates a referenced integer point through an integer angle using sine and cosine.

InRect

Checks whether the point lies inside the rectangle, including its boundaries.

Open full entry →
point
bool point::InRect(rect)

Checks whether the point lies inside the rectangle, including its boundaries.

IntoRect

Limits the point's coordinates to the rectangle's boundaries.

Open full entry →
point
void point::IntoRect(rect)

Limits the point's coordinates to the rectangle's boundaries.

Dist

returns the integer square root of dx squared plus dy squared.

Open full entry →
point
int point::Dist(point)

returns the integer square root of dx squared plus dy squared.

+

Behavior awaiting documentation.

Open full entry →
Global
point +(point, point)Description pending

Description pending.

-

Behavior awaiting documentation.

Open full entry →
Global
point -(point, point)Description pending

Description pending.

*

Behavior awaiting documentation.

Open full entry →
Global
point *(point, int)Description pending

Description pending.

/

Behavior awaiting documentation.

Open full entry →
Global
point /(point, int)Description pending

Description pending.

Dist

returns the integer square root of dx squared plus dy squared.

Open full entry →
Global
int Dist(point, point)

returns the integer square root of dx squared plus dy squared.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(point&, point)Description pending

Description pending.

==

Behavior awaiting documentation.

Open full entry →
Global
bool ==(point, point)Description pending

Description pending.

!=

Behavior awaiting documentation.

Open full entry →
Global
bool !=(point, point)Description pending

Description pending.

left

Returns the first dword of a rect value.

Open full entry →
rect
int rect::left()

Returns the first dword of a rect value.

top

Returns the second dword of a rect value.

Open full entry →
rect
int rect::top()

Returns the second dword of a rect value.

right

Returns the third dword of a rect value.

Open full entry →
rect
int rect::right()

Returns the third dword of a rect value.

bottom

Returns the fourth dword of a rect value.

Open full entry →
rect
int rect::bottom()

Returns the fourth dword of a rect value.

width

Returns the inclusive width: right minus left plus one.

Open full entry →
rect
int rect::width()

Returns the inclusive width: right minus left plus one.

height

Returns the height of the rectangle, including its boundaries.

Open full entry →
rect
int rect::height()

Returns the height of the rectangle, including its boundaries.

left

Returns an eight-byte reference pair unchanged for point x and rect left.

Open full entry →
rect
int& rect::left()

Returns an eight-byte reference pair unchanged for point x and rect left.

top

Preserves the first dword of an encoded reference pair and adds four to its second dword for point y and rect top.

Open full entry →
rect
int& rect::top()

Preserves the first dword of an encoded reference pair and adds four to its second dword for point y and rect top.

right

Advances a rect reference address by eight bytes.

Open full entry →
rect
int& rect::right()

Advances a rect reference address by eight bytes.

bottom

Advances a rect reference address by twelve bytes.

Open full entry →
rect
int& rect::bottom()

Advances a rect reference address by twelve bytes.

Set

rect::Set pops four integer coordinates and a rect reference pair, writing them into memory in standard left, top, right, bottom offset order.

Open full entry →
rect
void rect::Set(int, int, int, int)

rect::Set pops four integer coordinates and a rect reference pair, writing them into memory in standard left, top, right, bottom offset order.

Center

Returns the integer center point of the rectangle.

Open full entry →
rect
point rect::Center()

Returns the integer center point of the rectangle.

IntersectRects

IntersectRects returns componentwise signed max,max,min,min of its two four-dword rectangles.

Open full entry →
Global
rect IntersectRects(rect, rect)

IntersectRects returns componentwise signed max,max,min,min of its two four-dword rectangles.

AddRects

Computes the union of two rectangles with signed integer coordinates.

Open full entry →
Global
rect AddRects(rect, rect)

Computes the union of two rectangles with signed integer coordinates.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(rect&, rect)Description pending

Description pending.

==

Behavior awaiting documentation.

Open full entry →
Global
bool ==(rect, rect)Description pending

Description pending.

!=

Behavior awaiting documentation.

Open full entry →
Global
bool !=(rect, rect)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(IntArray&, IntArray&)Description pending

Description pending.

[

Behavior awaiting documentation.

Open full entry →
Global
int& [(IntArray&, int)Description pending

Description pending.

resize

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
IntArray
void IntArray::resize(int)Description pending

Description pending.

size

IntArray size returns -1 for a null begin pointer and otherwise returns the four-byte slot span minus one.

Open full entry →
IntArray
int IntArray::size()

IntArray size returns -1 for a null begin pointer and otherwise returns the four-byte slot span minus one.

find

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
IntArray
int IntArray::find(int)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(StrArray&, StrArray&)Description pending

Description pending.

[

Behavior awaiting documentation.

Open full entry →
Global
str& [(StrArray&, int)Description pending

Description pending.

resize

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
StrArray
void StrArray::resize(int)Description pending

Description pending.

size

StrArray size returns native span count minus one.

Open full entry →
StrArray
int StrArray::size()

StrArray size returns native span count minus one.

find

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
StrArray
int StrArray::find(str)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(StrMap&, StrMap&)Description pending

Description pending.

[

Behavior awaiting documentation.

Open full entry →
Global
str& [(StrMap&, str)Description pending

Description pending.

size

StrMap size returns native count field.

Open full entry →
StrMap
int StrMap::size()

StrMap size returns native count field.

erase

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
StrMap
void StrMap::erase(str)Description pending

Description pending.

exists

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
StrMap
bool StrMap::exists(str)Description pending

Description pending.

DumpStack

Scans the active VM frame bytes and formats them as hexadecimal.

Open full entry →
Global
void DumpStack()

Scans the active VM frame bytes and formats them as hexadecimal.

DumpCode

Walks a local instruction pointer while formatting diagnostics into a shared buffer.

Open full entry →
Global
void DumpCode(int)

Walks a local instruction pointer while formatting diagnostics into a shared buffer.

GetMapSize

GetMapSize pushes the two 32-bit bound differences plus one from the pointer stored at [field].

Open full entry →
Global
point GetMapSize()

GetMapSize pushes the two 32-bit bound differences plus one from the pointer stored at [field].

_RandomTerrain2

Routes a managed filename to a map worker and conditionally reports a nonzero return.

Open full entry →
Global
void _RandomTerrain2(str)

Routes a managed filename to a map worker and conditionally reports a nonzero return.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(Obj&, Obj)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(Item&, Item)Description pending

Description pending.

==

Behavior awaiting documentation.

Open full entry →
Global
bool ==(Obj, Obj)Description pending

Description pending.

!=

Behavior awaiting documentation.

Open full entry →
Global
bool !=(Obj, Obj)Description pending

Description pending.

Clear

Clears the Obj reference held by the variable on which it is called, leaving it without an associated object.

Modifies the reference stored in that variable. The reviewed operation writes a null reference; it does not issue an order to remove the object from the map. Behavior with an invalid reference container has not been checked dynamically.

Open full entry →
Obj
void Obj::Clear()

Clears the Obj reference held by the variable on which it is called, leaving it without an associated object.

AsUnit

Returns a Unit reference when the object has a compatible unit category.

Open full entry →
Obj
Unit Obj::AsUnit()

Returns a Unit reference when the object has a compatible unit category.

AsBuilding

Returns a Building reference when the object has a compatible building category.

Open full entry →
Obj
Building Obj::AsBuilding()

Returns a Building reference when the object has a compatible building category.

AsHero

Returns a Hero reference when the object has the hero category; otherwise returns a null reference.

Open full entry →
Obj
Hero Obj::AsHero()

Returns a Hero reference when the object has the hero category; otherwise returns a null reference.

AsDruid

Resolves the object reference and attempts a dynamic conversion to Druid. Returns a Druid reference on a match or a null reference otherwise.

Open full entry →
Obj
Druid Obj::AsDruid()

Resolves the object reference and attempts a dynamic conversion to Druid. Returns a Druid reference on a match or a null reference otherwise.

AsGhost

Narrows an Obj reference to the Ghost interface and returns its registered reference.

Open full entry →
Obj
Ghost Obj::AsGhost()

Narrows an Obj reference to the Ghost interface and returns its registered reference.

AsTower

returns a narrowed handle only when the resolved object carries category bit [field].

Open full entry →
Obj
Tower Obj::AsTower()

returns a narrowed handle only when the resolved object carries category bit [field].

AsWagon

Casts an Obj reference to the Wagon interface and returns a Wagon reference.

Open full entry →
Obj
Wagon Obj::AsWagon()

Casts an Obj reference to the Wagon interface and returns a Wagon reference.

AsCatapult

Attempts a dynamic conversion of an Obj reference to Catapult and returns a Catapult reference on success.

Open full entry →
Obj
Catapult Obj::AsCatapult()

Attempts a dynamic conversion of an Obj reference to Catapult and returns a Catapult reference on success.

AsItemHolder

Resolves an Obj and queries its ItemHolder interface to build an ItemHolder handle.

Open full entry →
Obj
ItemHolder Obj::AsItemHolder()

Resolves an Obj and queries its ItemHolder interface to build an ItemHolder handle.

AsBarrack

Narrows an Obj reference to the Barrack interface and returns its registered reference.

Open full entry →
Obj
Barrack Obj::AsBarrack()

Narrows an Obj reference to the Barrack interface and returns its registered reference.

AsSacrifice

Resolves an Obj and queries its Sacrifice interface to build a Sacrifice handle.

Open full entry →
Obj
Sacrifice Obj::AsSacrifice()

Resolves an Obj and queries its Sacrifice interface to build a Sacrifice handle.

AsShip

Casts an Obj reference to the Ship interface and returns a Ship reference.

Open full entry →
Obj
Ship Obj::AsShip()

Casts an Obj reference to the Ship interface and returns a Ship reference.

AsFlying

Behavior awaiting documentation.

Open full entry →
Obj
Flying Obj::AsFlying()Description pending

Description pending.

GetClassRace

Returns the resolved named class dword at [field], or -1 when lookup returns null.

Open full entry →
Global
int GetClassRace(str)

Returns the resolved named class dword at [field], or -1 when lookup returns null.

race

Obj::race returns the dword at [field] of the resolved object's template and returns zero for an invalid object.

Open full entry →
Obj
int Obj::race()

Obj::race returns the dword at [field] of the resolved object's template and returns zero for an invalid object.

raceStr

Returns the canonical race key for the resolved object template race, or an empty string for invalid resolution.

Open full entry →
Obj
str Obj::raceStr()

Returns the canonical race key for the resolved object template race, or an empty string for invalid resolution.

raceStrPref

Returns the one-character prefix associated with the object's civilization.

Open full entry →
Obj
str Obj::raceStrPref()

Returns the one-character prefix associated with the object's civilization.

raceStrPrefLow

Returns the civilization prefix in lowercase, or an empty string for an invalid value.

Open full entry →
Obj
str Obj::raceStrPrefLow()

Returns the civilization prefix in lowercase, or an empty string for an invalid value.

GetRaceStr

Converts a race ID to its canonical name and returns it as a CKS string.

Open full entry →
Global
str GetRaceStr(int)

Converts a race ID to its canonical name and returns it as a CKS string.

GetRaceStrPref

Maps race indices zero through seven to one-character strings and returns an empty string otherwise.

Open full entry →
Global
str GetRaceStrPref(int)

Maps race indices zero through seven to one-character strings and returns an empty string otherwise.

GetRaceStrPrefLow

Maps race indices zero through seven to lowercase single-character strings and returns an empty string otherwise.

Open full entry →
Global
str GetRaceStrPrefLow(int)

Maps race indices zero through seven to lowercase single-character strings and returns an empty string otherwise.

armor_slash

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

Open full entry →
Obj
int Obj::armor_slash()

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

armor_pierce

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

Open full entry →
Obj
int Obj::armor_pierce()

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

health

Returns the object's current health, or zero for an invalid object.

Open full entry →
Obj
int Obj::health()

Returns the object's current health, or zero for an invalid object.

stamina

Obj::stamina returns the resolved object's four-byte field at [field] or zero for an invalid handle.

Open full entry →
Obj
int Obj::stamina()

Obj::stamina returns the resolved object's four-byte field at [field] or zero for an invalid handle.

maxhealth

Returns the object's maximum health, or zero for an invalid object.

Open full entry →
Obj
int Obj::maxhealth()

Returns the object's maximum health, or zero for an invalid object.

maxstamina

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

Open full entry →
Obj
int Obj::maxstamina()

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

sight

Obj::sight returns the 32-bit value at resolved object [field] and returns zero for an invalid object.

Open full entry →
Obj
int Obj::sight()

Obj::sight returns the 32-bit value at resolved object [field] and returns zero for an invalid object.

pos

Returns the object's position as a point. An invalid object returns zero coordinates.

Open full entry →
Obj
point Obj::pos()

Returns the object's position as a point. An invalid object returns zero coordinates.

posRH

Resolves an Obj handle and returns an eight-byte point from virtual slot [field].

Open full entry →
Obj
point Obj::posRH()

Resolves an Obj handle and returns an eight-byte point from virtual slot [field].

damage

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

Open full entry →
Obj
int Obj::damage()

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

attack

Shared native accessor that returns object dword [field] for both damage and attack script members.

Open full entry →
Obj
int Obj::attack()

Shared native accessor that returns object dword [field] for both damage and attack script members.

damage_type

Obj::damage_type resolves an Obj, follows its pointer at [field], and returns the dword at [field], with integer 3 as the invalid-object fallback.

Open full entry →
Obj
int Obj::damage_type()

Obj::damage_type resolves an Obj, follows its pointer at [field], and returns the dword at [field], with integer 3 as the invalid-object fallback.

range

Obj::range returns a resolved object's dword at [field] and returns zero for an invalid Obj handle.

Open full entry →
Obj
int Obj::range()

Obj::range returns a resolved object's dword at [field] and returns zero for an invalid Obj handle.

min_range

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

Open full entry →
Obj
int Obj::min_range()

Obj combat accessors return dwords at [field], [field], [field], [field] and [field], with zero on failed resolution.

radius

Obj::radius returns the dword at [field] of the resolved object's template and returns zero for an invalid object.

Open full entry →
Obj
int Obj::radius()

Obj::radius returns the dword at [field] of the resolved object's template and returns zero for an invalid object.

name

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Obj
str Obj::name()Description pending

Description pending.

IsHeirOf

Obj::IsHeirOf delegates class ancestry testing for a resolved Obj.

Open full entry →
Obj
bool Obj::IsHeirOf(str)

Obj::IsHeirOf delegates class ancestry testing for a resolved Obj.

IsSentry

Checks whether the object belongs to the Sentry class or a derived class.

Open full entry →
Obj
bool Obj::IsSentry()

Checks whether the object belongs to the Sentry class or a derived class.

IsGate

Checks whether the object belongs to the Gate class or a derived class.

Open full entry →
Obj
bool Obj::IsGate()

Checks whether the object belongs to the Gate class or a derived class.

IsRam

Tests whether the resolved object class inherits from the cached RamUnit descriptor.

Open full entry →
Obj
bool Obj::IsRam()

Tests whether the resolved object class inherits from the cached RamUnit descriptor.

IsRanged

Resolves an Obj handle and returns a sentinel-based property test.

Open full entry →
Obj
bool Obj::IsRanged()

Resolves an Obj handle and returns a sentinel-based property test.

IsMilitary

Checks whether the object belongs to the Military class or a derived class.

Open full entry →
Obj
bool Obj::IsMilitary()

Checks whether the object belongs to the Military class or a derived class.

IsReligious

Tests whether the resolved object class inherits from the cached BaseMage descriptor.

Open full entry →
Obj
bool Obj::IsReligious()

Tests whether the resolved object class inherits from the cached BaseMage descriptor.

IsPeaceful

Checks whether the object belongs to the Peaceful or Animal class.

Open full entry →
Obj
bool Obj::IsPeaceful()

Checks whether the object belongs to the Peaceful or Animal class.

IsPeasant

Checks whether the object belongs to the Peasant class or a derived class.

Open full entry →
Obj
bool Obj::IsPeasant()

Checks whether the object belongs to the Peasant class or a derived class.

IsPeasantAmbient

Tests whether the resolved object class inherits from the cached PeasantAmbient descriptor.

Open full entry →
Obj
bool Obj::IsPeasantAmbient()

Tests whether the resolved object class inherits from the cached PeasantAmbient descriptor.

SetHealth

Resolves an Obj and forwards an integer to virtual slot [field].

Open full entry →
Obj
void Obj::SetHealth(int)

Resolves an Obj and forwards an integer to virtual slot [field].

SetMaxHealth

SetMaxHealth and SetMaxStamina directly write their integer arguments at object [field] and [field].

Open full entry →
Obj
void Obj::SetMaxHealth(int)

SetMaxHealth and SetMaxStamina directly write their integer arguments at object [field] and [field].

SetStamina

Resolves an Obj handle and delegates an integer stamina value through virtual slot [field].

Open full entry →
Obj
void Obj::SetStamina(int)

Resolves an Obj handle and delegates an integer stamina value through virtual slot [field].

SetMaxStamina

SetMaxHealth and SetMaxStamina directly write their integer arguments at object [field] and [field].

Open full entry →
Obj
void Obj::SetMaxStamina(int)

SetMaxHealth and SetMaxStamina directly write their integer arguments at object [field] and [field].

SetSight

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Obj
void Obj::SetSight(int)Description pending

Description pending.

GetStaminaDecTime

GetStaminaDecTime returns max(signed object [field], zero) after an unguarded field dereference.

Open full entry →
Obj
int Obj::GetStaminaDecTime()

GetStaminaDecTime returns max(signed object [field], zero) after an unguarded field dereference.

CmdCount

Returns the number of commands in the object's queue. Returns zero if the reference cannot be resolved or the object is considered destroyed.

This overload reads the command count without filtering by name. CmdCount(str) is a distinct overload. Zero can also come from an invalid reference or a destroyed object, so it is not sufficient by itself to test object validity. How every special command, such as idle, contributes to the count is not established here.

Open full entry →
Obj
int Obj::CmdCount()

Returns the number of commands in the object's queue. Returns zero if the reference cannot be resolved or the object is considered destroyed.

CmdCount

Counts queued commands with the specified name.

Open full entry →
Obj
int Obj::CmdCount(str)

Counts queued commands with the specified name.

ClearCommands

Clears commands on an eligible resolved object outside the guarded global mode.

Open full entry →
Obj
void Obj::ClearCommands()

Clears commands on an eligible resolved object outside the guarded global mode.

KillCommand

Cancels or updates a valid object's command state when the local gates allow it.

Open full entry →
Obj
void Obj::KillCommand()

Cancels or updates a valid object's command state when the local gates allow it.

AddCommand

creates and enqueues a named command on a target object.

Open full entry →
Obj
void Obj::AddCommand(bool, str)

creates and enqueues a named command on a target object.

AddCommand

Adds a named command with a point as its target.

Open full entry →
Obj
void Obj::AddCommand(bool, str, point)

Adds a named command with a point as its target.

AddCommand

Adds a named command with an object as its target.

Open full entry →
Obj
void Obj::AddCommand(bool, str, Obj)

Adds a named command with an object as its target.

SneakCommand

Creates a named command under local guards, submits two candidates and updates command state.

Open full entry →
Obj
void Obj::SneakCommand(str)

Creates a named command under local guards, submits two candidates and updates command state.

SetCommand

Creates and submits a named command for the object, without an additional target.

Open full entry →
Obj
void Obj::SetCommand(str)

Creates and submits a named command for the object, without an additional target.

SetCommand

Creates and submits a named command for the object with a point as its target.

Open full entry →
Obj
void Obj::SetCommand(str, point)

Creates and submits a named command for the object with a point as its target.

SetCommand

Creates and submits a named command for the object with another object as its target.

Open full entry →
Obj
void Obj::SetCommand(str, Obj)

Creates and submits a named command for the object with another object as its target.

ExecDefaultCmd

Builds a one-receiver packet for default-command dispatch with point, target identifier and normalized flags.

Open full entry →
Obj
void Obj::ExecDefaultCmd(point, Obj, bool, bool)

Builds a one-receiver packet for default-command dispatch with point, target identifier and normalized flags.

ExecCmd

Validates an object and named command, then dispatches it with script arguments.

Open full entry →
Obj
void Obj::ExecCmd(str, point, Obj, bool)

Validates an object and named command, then dispatches it with script arguments.

CmdDisable

Resolves the supplied command name through registry virtual [field] and dispatches nonnegative results through object virtual [field].

Open full entry →
Obj
void Obj::CmdDisable(str)

Resolves the supplied command name through registry virtual [field] and dispatches nonnegative results through object virtual [field].

CmdEnable

Resolves the supplied command name through registry virtual [field] and dispatches nonnegative results through object virtual [field].

Open full entry →
Obj
void Obj::CmdEnable(str)

Resolves the supplied command name through registry virtual [field] and dispatches nonnegative results through object virtual [field].

IsValid

Checks whether the object reference resolves to an available object. This does not describe whether that object is alive.

Open full entry →
Obj
bool Obj::IsValid()

Checks whether the object reference resolves to an available object. This does not describe whether that object is alive.

IsValid

returns true when the handle's registry base plus subobject offset is nonzero, and false when the registry slot is empty.

Open full entry →
Item
bool Item::IsValid()

returns true when the handle's registry base plus subobject offset is nonzero, and false when the registry slot is empty.

DistTo

Obj::DistTo computes distance from an Obj to a point and subtracts its template offset.

Open full entry →
Obj
int Obj::DistTo(point)

Obj::DistTo computes distance from an Obj to a point and subtracts its template offset.

DistTo

Returns the distance between the edges of two objects. The result retains its sign; the distance unit is not specified here.

Open full entry →
Obj
int Obj::DistTo(Obj)

Returns the distance between the edges of two objects. The result retains its sign; the distance unit is not specified here.

IsEnemy

Checks whether the objects belong to enemy players. Returns false for allies or invalid objects.

Open full entry →
Obj
bool Obj::IsEnemy(Obj)

Checks whether the objects belong to enemy players. Returns false for allies or invalid objects.

IsAlive

Evaluates whether an object is alive by querying its virtual destruction slot at [field] and inverting the result.

Open full entry →
Obj
bool Obj::IsAlive()

Evaluates whether an object is alive by querying its virtual destruction slot at [field] and inverting the result.

IsDead

Returns true when the object is dead or the reference cannot be resolved.

Open full entry →
Obj
bool Obj::IsDead()

Returns true when the object is dead or the reference cannot be resolved.

IsValidTarget

Resolves two object handles and tests the target with a receiver virtual predicate.

Open full entry →
Obj
bool Obj::IsValidTarget(Obj)

Resolves two object handles and tests the target with a receiver virtual predicate.

IsValidCaptureTarget

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Obj
bool Obj::IsValidCaptureTarget(Obj)Description pending

Description pending.

SetVisible

Requests a visibility update for the object using the supplied boolean. Conditions that can affect visibility still need a practical explanation.

Open full entry →
Obj
void Obj::SetVisible(bool)

Requests a visibility update for the object using the supplied boolean. Conditions that can affect visibility still need a practical explanation.

IsVisible

Obj::IsVisible returns the inverse of bit 21 in the resolved object's dword at [field], or false when resolution fails.

Open full entry →
Obj
bool Obj::IsVisible()

Obj::IsVisible returns the inverse of bit 21 in the resolved object's dword at [field], or false when resolution fails.

SetMessengerStatus

Resolves an Obj and selects one of two virtual status operations from a boolean argument.

Open full entry →
Obj
void Obj::SetMessengerStatus(bool)

Resolves an Obj and selects one of two virtual status operations from a boolean argument.

CanSee

Obj::CanSee combines a target flag with an observer-mask intersection.

Open full entry →
Obj
bool Obj::CanSee(Obj)

Obj::CanSee combines a target flag with an observer-mask intersection.

CanAttack

Tests the receiver target-eligibility gate and radius-adjusted signed inclusive attack range.

Open full entry →
Obj
bool Obj::CanAttack(Obj)

Tests the receiver target-eligibility gate and radius-adjusted signed inclusive attack range.

Erase

Forwards Obj::Erase to a receiver virtual method.

Open full entry →
Obj
void Obj::Erase()

Forwards Obj::Erase to a receiver virtual method.

player

Obj::player reads the resolved object's owner record index, adds one, and returns minus one for an invalid object.

Open full entry →
Obj
int Obj::player()

Obj::player reads the resolved object's owner record index, adds one, and returns minus one for an invalid object.

SetPlayer

Changes the object's owner. Player numbers start at one.

Open full entry →
Obj
void Obj::SetPlayer(int)

Changes the object's owner. Player numbers start at one.

Damage

Applies a nonnegative damage amount through an object's virtual damage operation after an optional related-object call.

Open full entry →
Obj
bool Obj::Damage(int)

Applies a nonnegative damage amount through an object's virtual damage operation after an optional related-object call.

Heal

Increases health up to the object's maximum health.

Open full entry →
Obj
void Obj::Heal(int)

Increases health up to the object's maximum health.

HealStamina

HealStamina forwards a wrap32 stamina sum bounded by a signed maximum comparison to receiver virtual [field].

Open full entry →
Obj
void Obj::HealStamina(int)

HealStamina forwards a wrap32 stamina sum bounded by a signed maximum comparison to receiver virtual [field].

SetPos

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Obj
void Obj::SetPos(point)Description pending

Description pending.

SetPosSimple

Clamps the supplied point and invokes virtual placement with two true flags.

Open full entry →
Obj
void Obj::SetPosSimple(point)

Clamps the supplied point and invokes virtual placement with two true flags.

SetBlind

Selects one of two virtual operations on a mask according to the supplied boolean.

Open full entry →
Obj
void Obj::SetBlind(bool)

Selects one of two virtual operations on a mask according to the supplied boolean.

Face

Initializes an object command context, sets its facing point and conditionally invokes its command-update virtual method.

Open full entry →
Obj
void Obj::Face(point)

Initializes an object command context, sets its facing point and conditionally invokes its command-update virtual method.

GetDir

Returns two 32-bit components from the resolved Obj. If resolution fails, returns the default vector (0, 1).

Open full entry →
Obj
point Obj::GetDir()

Returns two 32-bit components from the resolved Obj. If resolution fails, returns the default vector (0, 1).

Progress

Implements a VM wait phase around an object's queued command progress.

Open full entry →
Obj
void Obj::Progress()

Implements a VM wait phase around an object's queued command progress.

Progress

Requests a script wait associated with an object's command progress, using the supplied duration. This overload uses the integer argument in the script wait counter and records the progress start and end times.

Training and research scripts commonly obtain the duration from cmddelay, sometimes adjusting it by a percentage. The argument's relationship to real-time units and the details of script resumption are not fully documented.

Open full entry →
Obj
void Obj::Progress(int)

Requests a script wait associated with an object's command progress, using the supplied duration. This overload uses the integer argument in the script wait counter and records the progress start and end times.

cmddelay

Returns the delay-related value read from an object's command queue. Returns zero if the object cannot be resolved or the link to the queried command data is missing.

Game scripts use this value as the duration passed to Progress, for example Progress(cmddelay). Its unit and the full interpretation of the value are not yet documented.

Open full entry →
Obj
int Obj::cmddelay()

Returns the delay-related value read from an object's command queue. Returns zero if the object cannot be resolved or the link to the queried command data is missing.

IsInGroup

Looks up the string key and returns the normalized result of found-group virtual [field] for the resolved Obj.

Open full entry →
Obj
bool Obj::IsInGroup(str)

Looks up the string key and returns the normalized result of found-group virtual [field] for the resolved Obj.

AddToGroup

Adds the object to a named group, creating the group if necessary.

Open full entry →
Obj
void Obj::AddToGroup(str)

Adds the object to a named group, creating the group if necessary.

RemoveFromGroup

Looks up the supplied string key and calls [field] with the found object and resolved Obj when lookup status is zero.

Open full entry →
Obj
void Obj::RemoveFromGroup(str)

Looks up the supplied string key and calls [field] with the found object and resolved Obj when lookup status is zero.

RemoveFromAllGroups

Resolves one Obj reference, visits a temporary query snapshot and invokes a member-removal helper for each snapshot node.

Open full entry →
Obj
void Obj::RemoveFromAllGroups()

Resolves one Obj reference, visits a temporary query snapshot and invokes a member-removal helper for each snapshot node.

SetName

Passes the string payload pointer and the resolved Obj to an implementation operation.

Open full entry →
Obj
void Obj::SetName(str)

Passes the string payload pointer and the resolved Obj to an implementation operation.

Select

Adds an eligible Obj to active-player selection when the supplied player matches the current player.

Open full entry →
Obj
void Obj::Select(int)

Adds an eligible Obj to active-player selection when the supplied player matches the current player.

Deselect

Calls the selection helper with mode one only when the supplied player slot matches game [field].

Open full entry →
Obj
void Obj::Deselect(int)

Calls the selection helper with mode one only when the supplied player slot matches game [field].

Deselect

Removes the object from the selection.

Open full entry →
Obj
void Obj::Deselect()

Removes the object from the selection.

ClearSelection

Clears the selection when the supplied player is the current player.

Open full entry →
Global
void ClearSelection(int)

Clears the selection when the supplied player is the current player.

PlayAnim

Requests a script-object animation and returns the VM suspension code.

Open full entry →
Obj
void Obj::PlayAnim(int, point)

Requests a script-object animation and returns the VM suspension code.

GetAnimTime

GetAnimTime decrements its integer index and reads selected descriptor entry [field], returning zero for missing descriptors.

Open full entry →
Obj
int Obj::GetAnimTime(int)

GetAnimTime decrements its integer index and reads selected descriptor entry [field], returning zero for missing descriptors.

StartAnim

Prepares and requests an animation with an optional target point.

Open full entry →
Obj
void Obj::StartAnim(int, point)

Prepares and requests an animation with an optional target point.

StartDelayedAnim

Normalizes an equal-current point and forwards a decremented animation identifier with a final integer.

Open full entry →
Obj
void Obj::StartDelayedAnim(int, point, int)

Normalizes an equal-current point and forwards a decremented animation identifier with a final integer.

TimeToActionMoment

Wraps an object action-window query and returns the remaining time to its action moment.

Open full entry →
Obj
int Obj::TimeToActionMoment()

Wraps an object action-window query and returns the remaining time to its action moment.

TimeToAnimFinish

Returns the positive difference between animation finish time and the object's clock.

Open full entry →
Obj
int Obj::TimeToAnimFinish()

Returns the positive difference between animation finish time and the object's clock.

GetAnim

Obj::GetAnim returns Obj [field] plus one when nonnegative and zero otherwise.

Open full entry →
Obj
int Obj::GetAnim()

Obj::GetAnim returns Obj [field] plus one when nonnegative and zero otherwise.

SetState

Forwards a decremented state identifier and preserves an anomalous invalid-receiver VM zero push.

Open full entry →
Obj
void Obj::SetState(int)

Forwards a decremented state identifier and preserves an anomalous invalid-receiver VM zero push.

AddItem

Attempts to add an item with the specified name and returns whether it succeeded.

Open full entry →
Obj
bool Obj::AddItem(str)

Attempts to add an item with the specified name and returns whether it succeeded.

GiveItem

Transfers an owned item to another live object. If the destination cannot accept it, the transfer attempts to return it to the source.

⚠ Only partly documented so far.

Open full entry →
Obj
bool Obj::GiveItem(Item, Obj)

Transfers an owned item to another live object. If the destination cannot accept it, the transfer attempts to return it to the source.

OpenItemHolder

Transfers items from a holder into an eligible object's inventory.

Open full entry →
Obj
bool Obj::OpenItemHolder(ItemHolder)

Transfers items from a holder into an eligible object's inventory.

PutItem

Moves an inventory item into the specified item holder.

Open full entry →
Obj
bool Obj::PutItem(Item, ItemHolder)

Moves an inventory item into the specified item holder.

DropItem

Requests that a specified receiver item be dropped at a point while returning false.

Open full entry →
Obj
bool Obj::DropItem(Item, point)

Requests that a specified receiver item be dropped at a point while returning false.

FindItem

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Obj
Item Obj::FindItem(str)Description pending

Description pending.

RemoveItem

RemoveItem int dispatches removal after signed one-based bounds.

Open full entry →
Obj
void Obj::RemoveItem(int)

RemoveItem int dispatches removal after signed one-based bounds.

RemoveItem

RemoveItem str dispatches removal after nonnegative name lookup.

Open full entry →
Obj
void Obj::RemoveItem(str)

RemoveItem str dispatches removal after nonnegative name lookup.

RemoveAllItems

RemoveAllItems repeats virtual removal until count is zero.

Open full entry →
Obj
void Obj::RemoveAllItems()

RemoveAllItems repeats virtual removal until count is zero.

ExchangeItem

ExchangeItem returns true after a gated replacement dispatch.

Open full entry →
Obj
bool Obj::ExchangeItem(Item, str)

ExchangeItem returns true after a gated replacement dispatch.

GetItem

GetItem builds a handle from the virtual lookup result.

Open full entry →
Obj
Item Obj::GetItem(int)

GetItem builds a handle from the virtual lookup result.

RemoveItemsOfType

Removes all inventory items with the specified type name and returns the number removed.

Open full entry →
Obj
int Obj::RemoveItemsOfType(str)

Removes all inventory items with the specified type name and returns the number removed.

GetItemIndex

GetItemIndex increments the virtual index result.

Open full entry →
Obj
int Obj::GetItemIndex(Item)

GetItemIndex increments the virtual index result.

items_count

items_count returns virtual slot [field] or zero.

Open full entry →
Obj
int Obj::items_count()

items_count returns virtual slot [field] or zero.

free_item_slots

free_item_slots subtracts two virtual values without clamping.

Open full entry →
Obj
int Obj::free_item_slots()

free_item_slots subtracts two virtual values without clamping.

item_count

Returns the receiver item count through virtual slot [field], or zero for an invalid handle.

Open full entry →
Obj
int Obj::item_count()

Returns the receiver item count through virtual slot [field], or zero for an invalid handle.

max_items

Returns the resolved object's item-capacity value through virtual slot [field].

Open full entry →
Obj
int Obj::max_items()

Returns the resolved object's item-capacity value through virtual slot [field].

ClipDestToMap

Obj::ClipDestToMap ignores the object handle and clamps the point coordinates to the global map bounding rect at offset [field] of [shared state].

Open full entry →
Obj
point Obj::ClipDestToMap(point)

Obj::ClipDestToMap ignores the object handle and clamps the point coordinates to the global map bounding rect at offset [field] of [shared state].

pr

Formats the supplied HX string under a receiver-field gate and releases it on every normal path.

Open full entry →
Obj
void Obj::pr(str)

Formats the supplied HX string under a receiver-field gate and releases it on every normal path.

pr

Formats the supplied integer through chat dispatch when the receiver field matches the global gate.

Open full entry →
Obj
void Obj::pr(int)

Formats the supplied integer through chat dispatch when the receiver field matches the global gate.

pr

Formats the unresolved payload handle pair when the receiver field matches the global gate.

Open full entry →
Obj
void Obj::pr(Obj)

Formats the unresolved payload handle pair when the receiver field matches the global gate.

GetDebug

GetDebug compares resolved object dword [field] with dword[[field]].

Open full entry →
Obj
bool Obj::GetDebug()

GetDebug compares resolved object dword [field] with dword[[field]].

SetDebug

SetDebug normalizes its byte Boolean to a dword 0/1 and forwards it through object virtual [field].

Open full entry →
Obj
void Obj::SetDebug(bool)

SetDebug normalizes its byte Boolean to a dword 0/1 and forwards it through object virtual [field].

class

Returns a managed copy of a resolved object's class-template name.

Open full entry →
Obj
str Obj::class()

Returns a managed copy of a resolved object's class-template name.

command

Obj::command copies the resolved object's small-string field at [field] into a managed CKS string, or returns an empty string for an invalid handle.

Open full entry →
Obj
str Obj::command()

Obj::command copies the resolved object's small-string field at [field] into a managed CKS string, or returns an empty string for an invalid handle.

command

Returns a queued command's name by index, starting at zero. Returns an empty string for an invalid object or index.

Open full entry →
Obj
str Obj::command(int)

Returns a queued command's name by index, starting at zero. Returns an empty string for an invalid object or index.

cmdparam

cmdparam returns a global command parameter or a fallback active-order string.

Open full entry →
Global
str cmdparam()

cmdparam returns a global command parameter or a fallback active-order string.

cmdwaiting

Returns the current selection's command-waiting string or an empty fallback.

Open full entry →
Global
str cmdwaiting()

Returns the current selection's command-waiting string or an empty fallback.

rollover

Concatenates two selected strings and pushes an owned managed string result.

Open full entry →
Global
str rollover()

Concatenates two selected strings and pushes an owned managed string result.

rollover

Builds command rollover text from an order description, resource costs, and current affordability.

Open full entry →
Global
str rollover(Obj, bool)

Builds command rollover text from an order description, resource costs, and current affordability.

rollover

Builds object rollover text from order costs, class statistics, and optional affordability detail.

Open full entry →
Global
str rollover(Obj, str, bool)

Builds object rollover text from order costs, class statistics, and optional affordability detail.

rollover

Composes rollover text from an order description, a localized supplied key, and a secondary description.

Open full entry →
Global
str rollover(Obj, str)

Composes rollover text from an order description, a localized supplied key, and a secondary description.

rollover_desc

Composes localized rollover text and conditionally appends the secondary order description.

Open full entry →
Global
str rollover_desc(Obj, str, bool)

Composes localized rollover text and conditionally appends the secondary order description.

cmdcost_gold

Returns the cached gold cost or obtains it from the current script command context.

Open full entry →
Global
int cmdcost_gold()

Returns the cached gold cost or obtains it from the current script command context.

cmdcost_food

Returns the current food command cost from the cache or active order.

Open full entry →
Global
int cmdcost_food()

Returns the current food command cost from the cache or active order.

cmdcost_pop

Returns the cached population cost or obtains it from the current script command context.

Open full entry →
Global
int cmdcost_pop()

Returns the cached population cost or obtains it from the current script command context.

cmdcost_stamina

Returns the cached stamina cost or obtains it from the current script command context.

Open full entry →
Global
int cmdcost_stamina()

Returns the cached stamina cost or obtains it from the current script command context.

GetPlayerRace

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int GetPlayerRace(int)Description pending

Description pending.

_LastSelectionTime

Returns a 32-bit field of the resolved object, or the all-bits-set 32-bit sentinel if object resolution fails.

Open full entry →
Obj
int Obj::_LastSelectionTime()

Returns a 32-bit field of the resolved object, or the all-bits-set 32-bit sentinel if object resolution fails.

_GetSelection

Returns the active player's selected objects as an ObjList.

Open full entry →
Global
ObjList _GetSelection()

Returns the active player's selected objects as an ObjList.

ClearDebug

Increments a shared 32-bit value. The implementation reports status zero.

Open full entry →
Global
void ClearDebug()

Increments a shared 32-bit value. The implementation reports status zero.

Place

Creates an object of the named class at a map position for the specified player, when placement is possible.

Open full entry →
Global
Obj Place(str, point, int)

Creates an object of the named class at a map position for the specified player, when placement is possible.

PlaceInHolder

Validates the player and routes a compatible created unit to forced entry in the named holder.

Open full entry →
Global
Obj PlaceInHolder(str, str, int)

Validates the player and routes a compatible created unit to forced entry in the named holder.

_PlaceEx

Clamps a supplied point to map margins and routes placement with an optional script handle.

Open full entry →
Global
Obj _PlaceEx(str, int, int, int)

Clamps a supplied point to map margins and routes placement with an optional script handle.

_PlaceBlockEx

Routes class creation and placement across a signed grid, aborting on factory or template failure.

Open full entry →
Global
void _PlaceBlockEx(str, int, int, int, int, int, int, int)

Routes class creation and placement across a signed grid, aborting on factory or template failure.

_PlaceBlockEx

Prepares a named group and routes compatible grid objects to its insertion virtual.

Open full entry →
Global
void _PlaceBlockEx(str, int, int, int, int, int, int, int, str)

Prepares a named group and routes compatible grid objects to its insertion virtual.

_Summon

Allocates and populates a command-shaped object before game submission.

Open full entry →
Global
void _Summon(str, int, int, int)

Allocates and populates a command-shaped object before game submission.

IsWaterUnit

IsWaterUnit returns whether the dword at object class [field] is nonzero.

Open full entry →
Obj
bool Obj::IsWaterUnit()

IsWaterUnit returns whether the dword at object class [field] is nonzero.

SetCmdEnable

SetCmdEnable writes normalized bool to object [field] only after virtual [field] returns zero.

Open full entry →
Obj
void Obj::SetCmdEnable(bool)

SetCmdEnable writes normalized bool to object [field] only after virtual [field] returns zero.

GetCmdEnable

GetCmdEnable tests object [field] only when virtual [field] returns zero.

Open full entry →
Obj
bool Obj::GetCmdEnable()

GetCmdEnable tests object [field] only when virtual [field] returns zero.

AddToStoreBin

Passes the resolved Obj to the next operation without checking for a null reference.

Open full entry →
Obj
void Obj::AddToStoreBin()

Passes the resolved Obj to the next operation without checking for a null reference.

RemoveFromStoreBin

Passes the resolved Obj to the next operation without checking for a null reference.

Open full entry →
Obj
void Obj::RemoveFromStoreBin()

Passes the resolved Obj to the next operation without checking for a null reference.

IsInState

Returns true when a search of the resolved receiver for a particular state entry finds no match. The meaning of that entry is not documented.

Open full entry →
Obj
bool Obj::IsInState()

Returns true when a search of the resolved receiver for a particular state entry finds no match. The meaning of that entry is not documented.

PlaySound

Adapts script string and object arguments to the spatial sound playback method [field] and releases the string reference.

Open full entry →
Obj
void Obj::PlaySound(str)

Adapts script string and object arguments to the spatial sound playback method [field] and releases the string reference.

ShowFloatText

Submits string payload with a virtual point whose second coordinate is decreased by 120.

Open full entry →
Obj
void Obj::ShowFloatText(str)

Submits string payload with a virtual point whose second coordinate is decreased by 120.

Group

Looks up a named group query and conditionally constructs and registers a replacement before returning its managed Query value.

⚠ Only partly documented so far.

Open full entry →
Global
Query Group(str)

Looks up a named group query and conditionally constructs and registers a replacement before returning its managed Query value.

GetGroupSize

Looks up a named group and returns its list count or zero.

Open full entry →
Global
int GetGroupSize(str)

Looks up a named group and returns its list count or zero.

SpawnGroup

Looks up a named group, processes its live unit members through the world-spawn helper, and returns its resulting ObjList.

Open full entry →
Global
ObjList SpawnGroup(str)

Looks up a named group, processes its live unit members through the world-spawn helper, and returns its resulting ObjList.

SpawnGroupInHolder

Resolves a named group and named holder, forces eligible group units into that holder, and returns the processed-unit ObjList.

Open full entry →
Global
ObjList SpawnGroupInHolder(str, str)

Resolves a named group and named holder, forces eligible group units into that holder, and returns the processed-unit ObjList.

SpawnGroupInHolder

Resolves a named group and an Obj receiver's virtual holder, forces eligible group units into it, and returns the processed-unit ObjList.

Open full entry →
Global
ObjList SpawnGroupInHolder(str, Obj)

Resolves a named group and an Obj receiver's virtual holder, forces eligible group units into it, and returns the processed-unit ObjList.

SpawnNamed

Looks up a named query and routes its current member through spawn and handle allocation.

Open full entry →
Global
Obj SpawnNamed(str)

Looks up a named query and routes its current member through spawn and handle allocation.

ModLevel

Resolves a named group and dispatches one of three level deltas according to the game difficulty value.

Open full entry →
Global
void ModLevel(str, int, int, int)

Resolves a named group and dispatches one of three level deltas according to the game difficulty value.

Union

Creates or reuses a composite Query node of operation code zero for two Query operands.

Open full entry →
Global
Query Union(Query, Query)

Creates or reuses a composite Query node of operation code zero for two Query operands.

Intersect

Builds a composite Query from two resolved handles using selector 1 and returns its handle.

Open full entry →
Global
Query Intersect(Query, Query)

Builds a composite Query from two resolved handles using selector 1 and returns its handle.

Substract

Behavior awaiting documentation.

Open full entry →
Global
Query Substract(Query, Query)Description pending

Description pending.

Subtract

Creates or reuses a composite Query node of operation code two for two Query operands.

Open full entry →
Global
Query Subtract(Query, Query)

Creates or reuses a composite Query node of operation code two for two Query operands.

ClassPlayerAreaObjs

Behavior awaiting documentation.

Open full entry →
Global
Query ClassPlayerAreaObjs(str, int, str)Description pending

Description pending.

ClassPlayerObjs

Validates a player and class name, then returns a cached or newly built player-class Query.

Open full entry →
Global
Query ClassPlayerObjs(str, int)

Validates a player and class name, then returns a cached or newly built player-class Query.

BuildingsInSettlement

Behavior awaiting documentation.

Open full entry →
Global
Query BuildingsInSettlement(str, str)Description pending

Description pending.

UnitsInSettlement

Behavior awaiting documentation.

Open full entry →
Global
Query UnitsInSettlement(str, str)Description pending

Description pending.

UnitsAroundSettlement

Behavior awaiting documentation.

Open full entry →
Global
Query UnitsAroundSettlement(str, str)Description pending

Description pending.

UnitsGuardingSettlement

Behavior awaiting documentation.

Open full entry →
Global
Query UnitsGuardingSettlement(str, str)Description pending

Description pending.

UnitsInSettlement

Behavior awaiting documentation.

Open full entry →
Global
Query UnitsInSettlement(Settlement, str)Description pending

Description pending.

UnitsAroundSettlement

Behavior awaiting documentation.

Open full entry →
Global
Query UnitsAroundSettlement(Settlement, str)Description pending

Description pending.

UnitsGuardingSettlement

Behavior awaiting documentation.

Open full entry →
Global
Query UnitsGuardingSettlement(Settlement, str)Description pending

Description pending.

EnemyObjs

Validates a player and class string, requests a mode-two cached query and returns its managed Query value.

⚠ Only partly documented so far.

Open full entry →
Global
Query EnemyObjs(int, str)

Validates a player and class string, requests a mode-two cached query and returns its managed Query value.

FriendlyObjs

Constructs a class-filtered Query for a specified player.

Open full entry →
Global
Query FriendlyObjs(int, str)

Constructs a class-filtered Query for a specified player.

ControllableObjs

Behavior awaiting documentation.

Open full entry →
Global
Query ControllableObjs(int, str)Description pending

Description pending.

AreaObjs

Returns a query with the objects inside the map area named by its first argument. Works with both rectangular and circular areas.

A rectangle or circle map query is used depending on the area's shape. The meaning of the second string and the exact query filter are not documented here.

Open full entry →
Global
Query AreaObjs(str, str)

Returns a query with the objects inside the map area named by its first argument. Works with both rectangular and circular areas.

ObjsInRect

Builds a query from an inclusive rectangle and a resolved script-class filter.

Open full entry →
Global
Query ObjsInRect(rect, str)

Builds a query from an inclusive rectangle and a resolved script-class filter.

ObjsInCircle

Returns a class-filtered spatial query centered on a point with a supplied radius.

Open full entry →
Global
Query ObjsInCircle(point, int, str)

Returns a class-filtered spatial query centered on a point with a supplied radius.

ObjsInSight

Builds a class-filtered query of objects visible to a resolved object.

Open full entry →
Global
Query ObjsInSight(Obj, str)

Builds a class-filtered query of objects visible to a resolved object.

VisibleObjsInSight

Builds a visibility-mode class-filtered Query around a resolved Obj.

Open full entry →
Global
Query VisibleObjsInSight(Obj, str)

Builds a visibility-mode class-filtered Query around a resolved Obj.

ObjsInRange

Validates an Obj and class name, then returns a cached or newly built object-range Query.

Open full entry →
Global
Query ObjsInRange(Obj, str, int)

Validates an Obj and class name, then returns a cached or newly built object-range Query.

AttachedUnits

Builds a class-filtered query of units attached to a resolved hero.

Open full entry →
Global
Query AttachedUnits(Hero, str)

Builds a class-filtered query of units attached to a resolved hero.

PartyQuery

Pushes a singleton query handle with its owned VM footer.

Open full entry →
Global
Query PartyQuery()

Pushes a singleton query handle with its owned VM footer.

Erase

Invokes a virtual operation on query members that lack a particular object flag. The meaning of that flag is not documented.

Open full entry →
Query
void Query::Erase()

Invokes a virtual operation on query members that lack a particular object flag. The meaning of that flag is not documented.

SetPlayer

Passes the script player value minus one to each live Query member's virtual slot [field].

Open full entry →
Query
void Query::SetPlayer(int)

Passes the script player value minus one to each live Query member's virtual slot [field].

Damage

Calls virtual damage slot [field] on eligible Query members and counts nonzero call results.

Open full entry →
Query
int Query::Damage(int)

Calls virtual damage slot [field] on eligible Query members and counts nonzero call results.

Heal

Adds a signed amount to eligible query members' health and clamps each result to maximum health.

Open full entry →
Query
void Query::Heal(int)

Adds a signed amount to eligible query members' health and clamps each result to maximum health.

HealStamina

Adds an integer amount to eligible Query members' stamina and caps it at each member's maximum.

Open full entry →
Query
void Query::HealStamina(int)

Adds an integer amount to eligible Query members' stamina and caps it at each member's maximum.

AddDefCmd

Resolves Query and optional Obj, passes point, target ID or 65535 and two normalized flags to the default-command dispatch chain.

Open full entry →
Query
void Query::AddDefCmd(point, Obj, bool, bool)

Resolves Query and optional Obj, passes point, target ID or 65535 and two normalized flags to the default-command dispatch chain.

IsValid

Behavior awaiting documentation.

Open full entry →
Query
bool Query::IsValid()Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(Query&, Query)Description pending

Description pending.

count

Returns the result container's count for a resolved Query, or zero for an invalid receiver.

Open full entry →
Query
int Query::count()

Returns the result container's count for a resolved Query, or zero for an invalid receiver.

IsEmpty

Returns whether a resolved Query's virtual emptiness predicate is nonzero, with true for an invalid receiver.

Open full entry →
Query
bool Query::IsEmpty()

Returns whether a resolved Query's virtual emptiness predicate is nonzero, with true for an invalid receiver.

Contains

Passes an Obj value to a resolved Query's membership predicate and returns its boolean result.

Open full entry →
Query
bool Query::Contains(Obj)

Passes an Obj value to a resolved Query's membership predicate and returns its boolean result.

ClearCommands

For each live member of a resolved Query, calls virtual [field] with zero while the global gate is zero.

Open full entry →
Query
void Query::ClearCommands()

For each live member of a resolved Query, calls virtual [field] with zero while the global gate is zero.

KillCommand

For each live Query member, calls [field] with zero while the global gate is zero.

Open full entry →
Query
void Query::KillCommand()

For each live Query member, calls [field] with zero while the global gate is zero.

AddCommand

Dispatches factory mode zero for each live Query member and installs nonnull results with the normalized bool.

Open full entry →
Query
void Query::AddCommand(bool, str)

Dispatches factory mode zero for each live Query member and installs nonnull results with the normalized bool.

AddCommand

Dispatches factory mode one with the unchanged point pair for each live Query member and installs nonnull results.

Open full entry →
Query
void Query::AddCommand(bool, str, point)

Dispatches factory mode one with the unchanged point pair for each live Query member and installs nonnull results.

AddCommand

Dispatches factory mode two with the raw Obj pair after validating its low-word registry slot, installing nonnull results on live Query members.

Open full entry →
Query
void Query::AddCommand(bool, str, Obj)

Dispatches factory mode two with the raw Obj pair after validating its low-word registry slot, installing nonnull results on live Query members.

AddCommandOffset

Transforms each live member position by requested point minus live-member average, then dispatches mode one without local clamping.

Open full entry →
Query
void Query::AddCommandOffset(bool, str, point)

Transforms each live member position by requested point minus live-member average, then dispatches mode one without local clamping.

SetCommand

Calls virtual [field](0) before mode-zero factory dispatch and calls [field](0) after each live member attempt.

Open full entry →
Query
void Query::SetCommand(str)

Calls virtual [field](0) before mode-zero factory dispatch and calls [field](0) after each live member attempt.

SetCommand

Creates and installs the requested point command on each valid object selected by a Query.

Open full entry →
Query
void Query::SetCommand(str, point)

Creates and installs the requested point command on each valid object selected by a Query.

SetCommand

Constructs and installs an object-targeted command for each live member of a resolved Query.

Open full entry →
Query
void Query::SetCommand(str, Obj)

Constructs and installs an object-targeted command for each live member of a resolved Query.

SetCommandOffset

Translates member positions relative to the live-member average and clamps them before factory mode-one dispatch, after virtual [field](0).

Open full entry →
Query
void Query::SetCommandOffset(str, point)

Translates member positions relative to the live-member average and clamps them before factory mode-one dispatch, after virtual [field](0).

GetObjList

Returns a new ObjList copied from a resolved Query object's list-producing virtual method, or an empty list when resolution fails.

Open full entry →
Query
ObjList Query::GetObjList()

Returns a new ObjList copied from a resolved Query object's list-producing virtual method, or an empty list when resolution fails.

DistributeExperience

Divides an unsigned experience amount across query members and adds the remainder to the first registry-live recipient.

Open full entry →
Global
void DistributeExperience(Query, int)

Divides an unsigned experience amount across query members and adds the remainder to the first registry-live recipient.

AttackArea

Routes Query and area name to the shared dispatcher with the advance literal.

Open full entry →
Global
void AttackArea(Query, str)

Routes Query and area name to the shared dispatcher with the advance literal.

MoveToArea

Routes Query and area name to the shared dispatcher with the move literal.

Open full entry →
Global
void MoveToArea(Query, str)

Routes Query and area name to the shared dispatcher with the move literal.

NearestObj

Behavior awaiting documentation.

Open full entry →
Global
Obj NearestObj(Query, point)Description pending

Description pending.

NearestObj

Behavior awaiting documentation.

Open full entry →
Global
Obj NearestObj(Query, Obj)Description pending

Description pending.

NearestObj

Behavior awaiting documentation.

Open full entry →
Query
Obj Query::NearestObj(point)Description pending

Description pending.

NearestObj

Behavior awaiting documentation.

Open full entry →
Query
Obj Query::NearestObj(Obj)Description pending

Description pending.

AddToGroup

Dispatches live query members to the named group collection.

Open full entry →
Query
void Query::AddToGroup(str)

Dispatches live query members to the named group collection.

RemoveFromGroup

Removes each live object in the query from the named group.

Open full entry →
Query
void Query::RemoveFromGroup(str)

Removes each live object in the query from the named group.

RemoveFromAllGroups

Behavior awaiting documentation.

Open full entry →
Query
void Query::RemoveFromAllGroups()Description pending

Description pending.

Face

Applies a face-point command to each live member of a query.

Open full entry →
Query
void Query::Face(point)

Applies a face-point command to each live member of a query.

SetFood

Assigns a nonnegative food value to every unit-compatible live member of a query.

Open full entry →
Query
void Query::SetFood(int)

Assigns a nonnegative food value to every unit-compatible live member of a query.

InHolder

Counts the query's units that are inside the named settlement.

Open full entry →
Query
int Query::InHolder(str)

Counts the query's units that are inside the named settlement.

AddToHolder

Attempts forced holder entry for unit-compatible members of the query.

Open full entry →
Query
void Query::AddToHolder(str)

Attempts forced holder entry for unit-compatible members of the query.

GetAverageDirection

Returns the average direction of the query's objects, or a zero point for an empty or invalid query.

Open full entry →
Query
point Query::GetAverageDirection()

Returns the average direction of the query's objects, or a zero point for an empty or invalid query.

SetParty

Dispatches unit-compatible query members to a Boolean-selected game virtual operation.

Open full entry →
Query
void Query::SetParty(bool)

Dispatches unit-compatible query members to a Boolean-selected game virtual operation.

SetMessengerStatus

Dispatches a mask to eligible script objects through a virtual operation selected by the boolean argument.

Open full entry →
Query
void Query::SetMessengerStatus(bool)

Dispatches a mask to eligible script objects through a virtual operation selected by the boolean argument.

SetFeeding

Sets or clears a unit flag for eligible query members.

Open full entry →
Query
void Query::SetFeeding(bool)

Sets or clears a unit flag for eligible query members.

GetNamedObj

Returns a NamedObj reference for a named query, creating that query if it does not exist yet.

Open full entry →
Global
NamedObj GetNamedObj(str)

Returns a NamedObj reference for a named query, creating that query if it does not exist yet.

IsValid

Behavior awaiting documentation.

Open full entry →
NamedObj
bool NamedObj::IsValid()Description pending

Description pending.

IsDead

Returns true for unresolved NamedObj values or an empty list returned by the query after its first virtual call.

Open full entry →
NamedObj
bool NamedObj::IsDead()

Returns true for unresolved NamedObj values or an empty list returned by the query after its first virtual call.

obj

Returns the first stored handle from a NamedObj result list after invoking virtual [field], or an invalid handle for missing or empty results.

Open full entry →
NamedObj
Obj NamedObj::obj()

Returns the first stored handle from a NamedObj result list after invoking virtual [field], or an invalid handle for missing or empty results.

EnemyInRange

Builds a wrapped bounding rectangle and returns the spatial callback accumulator as a boolean.

Open full entry →
Global
bool EnemyInRange(point, int, Obj)

Builds a wrapped bounding rectangle and returns the spatial callback accumulator as a boolean.

BestTarget

Selects a target from a spatial search around a Building and returns its CKS handle.

Open full entry →
Building
Obj Building::BestTarget()

Selects a target from a spatial search around a Building and returns its CKS handle.

Attack

Executes a guarded, possibly waiting Building attack that spawns an arrow shot on its firing path.

Open full entry →
Building
bool Building::Attack(Obj)

Executes a guarded, possibly waiting Building attack that spawns an arrow shot on its firing path.

GetEnterPoint

calculates the entrance point coordinates of a building relative to an approaching unit.

Open full entry →
Building
point Building::GetEnterPoint(Unit)

calculates the entrance point coordinates of a building relative to an approaching unit.

GetExitPoint

Resolves an exit point from a Building, an Obj template category, and an incoming point.

Open full entry →
Building
point Building::GetExitPoint(Obj, point)

Resolves an exit point from a Building, an Obj template category, and an incoming point.

GetExitPoint

Resolves an exit point from a Building, an incoming point, and a boolean mode.

Open full entry →
Building
point Building::GetExitPoint(point, bool)

Resolves an exit point from a Building, an incoming point, and a boolean mode.

GetPoint

Behavior awaiting documentation.

Open full entry →
Building
point Building::GetPoint(int, int)Description pending

Description pending.

settlement

Resolves a Building's own Settlement-link field into a CKS Settlement reference.

Open full entry →
Building
Settlement Building::settlement()

Resolves a Building's own Settlement-link field into a CKS Settlement reference.

IsBroken

Generic CKS-exposed Building::IsBroken, true when the shared broken-status field equals 3.

Open full entry →
Building
bool Building::IsBroken()

Generic CKS-exposed Building::IsBroken, true when the shared broken-status field equals 3.

IsCentralBuliding

Reads the template-level is_central_building flag through the object's own template pointer.

Open full entry →
Building
bool Building::IsCentralBuliding()

Reads the template-level is_central_building flag through the object's own template pointer.

RRepair

Conditionally repairs a broken Building to a health percentage above the broken threshold and refreshes its damage visuals.

Open full entry →
Building
void Building::RRepair()

Conditionally repairs a broken Building to a health percentage above the broken threshold and refreshes its damage visuals.

GetExitVector

Building GetExitVector returns template dwords at [field] and [field], with (-1,-1) for a sentinel first dword.

Open full entry →
Building
point Building::GetExitVector()

Building GetExitVector returns template dwords at [field] and [field], with (-1,-1) for a sentinel first dword.

PopTransportationUI

Resolves the Building, checks its class descriptor and converts an embedded interface to a town hall interface before passing it to a UI allocation operation.

Open full entry →
Building
void Building::PopTransportationUI()

Resolves the Building, checks its class descriptor and converts an embedded interface to a town hall interface before passing it to a UI allocation operation.

GetGlobalSpell

Looks up the first global-spell vector entry associated with a resolved town hall and pushes its initial dword.

Open full entry →
Building
int Building::GetGlobalSpell()

Looks up the first global-spell vector entry associated with a resolved town hall and pushes its initial dword.

GlobalSpellStart

Starts a global-spell operation for a town hall when the first integer is in the range zero through five.

Open full entry →
Building
void Building::GlobalSpellStart(int, int)

Starts a global-spell operation for a town hall when the first integer is in the range zero through five.

GlobalSpellStart

Starts a global-spell operation for a town hall with three script integers when the first is in the range zero through five.

Open full entry →
Building
void Building::GlobalSpellStart(int, int, int)

Starts a global-spell operation for a town hall with three script integers when the first is in the range zero through five.

GlobalSpellStop

Stops a town hall's global-spell entry by delegating to the global spell manager.

Open full entry →
Building
void Building::GlobalSpellStop()

Stops a town hall's global-spell entry by delegating to the global spell manager.

SetGlobalSpellData

Passes a town hall and an integer to a global-spell vector updater.

Open full entry →
Building
void Building::SetGlobalSpellData(int)

Passes a town hall and an integer to a global-spell vector updater.

WindOfWisdom

Stonehenge-gated Building primitive with two-path candidate collection and capped signed level-to-XP dispatch, retaining concrete storage and override prerequisites.

⚠ Only partly documented so far.

Open full entry →
Building
void Building::WindOfWisdom(int)

Stonehenge-gated Building primitive with two-path candidate collection and capped signed level-to-XP dispatch, retaining concrete storage and override prerequisites.

Starvation

Invokes a rectangle scan that reduces a linked object counter and qualifying wagon food.

Open full entry →
Building
void Building::Starvation()

Invokes a rectangle scan that reduces a linked object counter and qualifying wagon food.

SoothingRain

Scans matching buildings and adds 300 divided by the script argument to linked settlement gold.

Open full entry →
Building
void Building::SoothingRain(int)

Scans matching buildings and adds 300 divided by the script argument to linked settlement gold.

DivineSacrifice

Collects eligible Druid objects for a Stonehenge town hall and invokes their divine-sacrifice operation.

Open full entry →
Building
void Building::DivineSacrifice()

Collects eligible Druid objects for a Stonehenge town hall and invokes their divine-sacrifice operation.

GetSoothingRainObjects

Counts buildings found by the SoothingRain map scan while passing zero to its gold mutator.

Open full entry →
Building
int Building::GetSoothingRainObjects()

Counts buildings found by the SoothingRain map scan while passing zero to its gold mutator.

IsStonehengeControlable

Tests whether a Stonehenge-centered map scan yields a positive counter.

Open full entry →
Building
bool Building::IsStonehengeControlable()

Tests whether a Stonehenge-centered map scan yields a positive counter.

StonehengeNumControllingMages

Returns a counter from a Stonehenge-centered map scan.

Open full entry →
Building
int Building::StonehengeNumControllingMages()

Returns a counter from a Stonehenge-centered map scan.

itemtypes

Returns the Building template string registered as Building::itemtypes.

Open full entry →
Building
str Building::itemtypes()

Returns the Building template string registered as Building::itemtypes.

minlevel

Returns the Building template dword registered as Building::minlevel.

Open full entry →
Building
int Building::minlevel()

Returns the Building template dword registered as Building::minlevel.

levelperitem

Returns the Building template dword registered as Building::levelperitem.

Open full entry →
Building
int Building::levelperitem()

Returns the Building template dword registered as Building::levelperitem.

ClearDamageTaken

Building::ClearDamageTaken writes zero to the resolved Building's dword at [field].

Open full entry →
Building
void Building::ClearDamageTaken()

Building::ClearDamageTaken writes zero to the resolved Building's dword at [field].

CountMages

Returns a count of eligible script objects in a Stonehenge-centered circle.

Open full entry →
Building
int Building::CountMages()

Returns a count of eligible script objects in a Stonehenge-centered circle.

SetUITarget

Building::SetUITarget writes the target object's 16-bit registry slot to Building [field], or 65535 when the target does not resolve.

Open full entry →
Building
void Building::SetUITarget(Obj)

Building::SetUITarget writes the target object's 16-bit registry slot to Building [field], or 65535 when the target does not resolve.

GetUITarget

Building::GetUITarget returns the handle stored at building [field] and returns a null handle when resolution fails.

Open full entry →
Building
Obj Building::GetUITarget()

Building::GetUITarget returns the handle stored at building [field] and returns a null handle when resolution fails.

GetNumSentrySlots

Building::GetNumSentrySlots returns the sentry slot count dword at template [field] and lacks a safe fallback for invalid handles.

Open full entry →
Building
int Building::GetNumSentrySlots()

Building::GetNumSentrySlots returns the sentry slot count dword at template [field] and lacks a safe fallback for invalid handles.

GetSentryClassName

Building::GetSentryClassName returns the Building template string stored at [field].

Open full entry →
Building
str Building::GetSentryClassName()

Building::GetSentryClassName returns the Building template string stored at [field].

Research

Resolves a named command descriptor and invokes research with temporary command-cost context.

Open full entry →
Building
void Building::Research(str)

Resolves a named command descriptor and invokes research with temporary command-cost context.

GetResearchHack

Implements this function, testing the Building research-active interval flag.

Open full entry →
Global
bool GetResearchHack()

Implements this function, testing the Building research-active interval flag.

PlaceCatapult

Routes four script integers through class selection and catapult creation.

Open full entry →
Global
Catapult PlaceCatapult(int, int, int, int)

Routes four script integers through class selection and catapult creation.

IsBuilt

Catapult::IsBuilt pops an 8-byte Catapult handle, validates it through the global unit registry, and pushes a 1-byte boolean indicating whether the 32-bit field at Catapult offset [field] is non-zero.

Open full entry →
Catapult
bool Catapult::IsBuilt()

Catapult::IsBuilt pops an 8-byte Catapult handle, validates it through the global unit registry, and pushes a 1-byte boolean indicating whether the 32-bit field at Catapult offset [field] is non-zero.

SetBuilt

Behavior awaiting documentation.

Open full entry →
Catapult
void Catapult::SetBuilt()Description pending

Description pending.

SetBuildFrame

Behavior awaiting documentation.

Open full entry →
Catapult
void Catapult::SetBuildFrame(int)Description pending

Description pending.

GetCatapultAttackPoint

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
point GetCatapultAttackPoint(point)Description pending

Description pending.

RotateTo

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Catapult
void Catapult::RotateTo(point)Description pending

Description pending.

Attack

Behavior awaiting documentation.

Open full entry →
Catapult
void Catapult::Attack(point)Description pending

Description pending.

BestTarget

Evaluates surrounding targets across the spatial index within the catapult's attack range and returns the best candidate object handle.

Open full entry →
Catapult
Obj Catapult::BestTarget()

Evaluates surrounding targets across the spatial index within the catapult's attack range and returns the best candidate object handle.

GetPointOnTarget

Behavior awaiting documentation.

Open full entry →
Catapult
point Catapult::GetPointOnTarget(Obj)Description pending

Description pending.

InRange

Behavior awaiting documentation.

Open full entry →
Catapult
bool Catapult::InRange(point)Description pending

Description pending.

AttackWait

Behavior awaiting documentation.

Open full entry →
Catapult
int Catapult::AttackWait()Description pending

Description pending.

CalcEscapeDirection

Behavior awaiting documentation.

Open full entry →
Catapult
point Catapult::CalcEscapeDirection()Description pending

Description pending.

GetCurrentTarget

Catapult GetCurrentTarget encodes the stored target word with an unassigned upper halfword and a four-byte invalid result.

Open full entry →
Catapult
Obj Catapult::GetCurrentTarget()

Catapult GetCurrentTarget encodes the stored target word with an unassigned upper halfword and a four-byte invalid result.

SetTarget

Stores a target handle on a catapult and propagates it to associated CatapultTower objects.

Open full entry →
Catapult
void Catapult::SetTarget(Obj)

Stores a target handle on a catapult and propagates it to associated CatapultTower objects.

ClearTarget

Clears a catapult's own target and propagates tower-target clearing to associated catapult towers.

Open full entry →
Catapult
void Catapult::ClearTarget()

Clears a catapult's own target and propagates tower-target clearing to associated catapult towers.

ClearTowerTarget

Clears the stored target on CatapultTower objects associated with a catapult.

Open full entry →
Catapult
void Catapult::ClearTowerTarget()

Clears the stored target on CatapultTower objects associated with a catapult.

speed

Reads the linked speed dword for a Unit handle.

Open full entry →
Unit
int Unit::speed()

Reads the linked speed dword for a Unit handle.

speed_factor

Unit[field] defaults to 100, is exposed by the speed-factor getter/setter, and divides base step duration as a percentage.

Open full entry →
Unit
int Unit::speed_factor()

Unit[field] defaults to 100, is exposed by the speed-factor getter/setter, and divides base step duration as a percentage.

stamina

Reads the stamina dword for a Unit handle.

Open full entry →
Unit
int Unit::stamina()

Reads the stamina dword for a Unit handle.

user

Reads the user dword for a Unit handle.

Open full entry →
Unit
int Unit::user()

Reads the user dword for a Unit handle.

food

Reads the food dword for a Unit handle.

Open full entry →
Unit
int Unit::food()

Reads the food dword for a Unit handle.

maxfood

Reads the linked maximum food dword for a Unit handle.

Open full entry →
Unit
int Unit::maxfood()

Reads the linked maximum food dword for a Unit handle.

maxstamina

Reads the linked maximum stamina dword for a Unit handle.

Open full entry →
Unit
int Unit::maxstamina()

Reads the linked maximum stamina dword for a Unit handle.

experience

Scripting VM bridge reading the cumulative raw experience counter directly from unit [field].

Open full entry →
Unit
int Unit::experience()

Scripting VM bridge reading the cumulative raw experience counter directly from unit [field].

level

Scripting VM bridge calling virtual method vtable[[field]]() to obtain effective unit or hero level.

Open full entry →
Unit
int Unit::level()

Scripting VM bridge calling virtual method vtable[[field]]() to obtain effective unit or hero level.

inherentlevel

Scripting VM bridge computing unit inherent level on-the-fly from raw experience via LevelFromExp.

Open full entry →
Unit
int Unit::inherentlevel()

Scripting VM bridge computing unit inherent level on-the-fly from raw experience via LevelFromExp.

SetSpeedFactor

Stores a speed factor dword on a resolved Unit.

Open full entry →
Unit
void Unit::SetSpeedFactor(int)

Stores a speed factor dword on a resolved Unit.

SetUser

Stores a user dword on a resolved Unit.

Open full entry →
Unit
void Unit::SetUser(int)

Stores a user dword on a resolved Unit.

SetFood

Stores the supplied food value on a resolved Unit and dispatches a value-dependent virtual state update.

Open full entry →
Unit
void Unit::SetFood(int)

Stores the supplied food value on a resolved Unit and dispatches a value-dependent virtual state update.

feeds

Returns the resolved Unit's feeding flag as a byte.

Open full entry →
Unit
bool Unit::feeds()

Returns the resolved Unit's feeding flag as a byte.

SetFeeding

Updates the resolved Unit's feeding flag from a bool argument.

Open full entry →
Unit
void Unit::SetFeeding(bool)

Updates the resolved Unit's feeding flag from a bool argument.

Goto

Clamps the point to map bounds and coordinates a Unit path controller, movement command, wait ticks and terminal bool through native status 0, 1 or 2; its path destination call passes final flag 1.

Open full entry →
Unit
bool Unit::Goto(point, int, int, bool, int)

Clamps the point to map bounds and coordinates a Unit path controller, movement command, wait ticks and terminal bool through native status 0, 1 or 2; its path destination call passes final flag 1.

GotoEnter

Follows the point-route wait and completion branches while passing final flag 0 to the path destination call at [field]; the sibling Goto point handler passes 1.

Open full entry →
Unit
bool Unit::GotoEnter(point, int, int, bool, int)

Follows the point-route wait and completion branches while passing final flag 0 to the path destination call at [field]; the sibling Goto point handler passes 1.

Goto

Resolves an optional Obj and required Unit, clears Unit tracking at [field] when set, then delegates the movement state machine to [field]; invalid Unit pushes false.

Open full entry →
Unit
bool Unit::Goto(Obj, int, int, bool, int)

Resolves an optional Obj and required Unit, clears Unit tracking at [field] when set, then delegates the movement state machine to [field]; invalid Unit pushes false.

GotoAttack

Prepares target tracking and delegates cooperative attack routing.

Open full entry →
Unit
bool Unit::GotoAttack(Obj, int, bool, int)

Prepares target tracking and delegates cooperative attack routing.

GotoStraight

Constructs a path object on the first blocking invocation or reuses its saved pointer, calls its virtual [field] with a calculated step time, and returns native status 1 while a step remains or 0 after destroying the object.

Open full entry →
Unit
void Unit::GotoStraight(point)

Constructs a path object on the first blocking invocation or reuses its saved pointer, calls its virtual [field] with a calculated step time, and returns native status 1 while a step remains or 0 after destroying the object.

Stop

For a nonzero continuation state, clears target tracking and requests an active-path stop with wait status 1, or clears the controller and returns true. For zero state, checks a virtual path operation, returns its boolean outcome and clears a unit flag.

Open full entry →
Unit
bool Unit::Stop(int)

For a nonzero continuation state, clears target tracking and requests an active-path stop with wait status 1, or clears the controller and returns true. For zero state, checks a virtual path operation, returns its boolean outcome and clears a unit flag.

HasPath

Returns false for an invalid Unit or when a unit state field differs from -1. Otherwise checks an implementation operation for hero units with a particular flag, or a unit field for nonhero units. The field meanings are not documented.

Open full entry →
Unit
bool Unit::HasPath()

Returns false for an invalid Unit or when a unit state field differs from -1. Otherwise checks an implementation operation for hero units with a particular flag, or a unit field for nonhero units. The field meanings are not documented.

dest

Returns two signed 16-bit components from path-controller virtual [field] when Unit [field] exists, otherwise from Unit virtual [field]; an invalid Unit returns (-1,-1).

Open full entry →
Unit
point Unit::dest()

Returns two signed 16-bit components from path-controller virtual [field] when Unit [field] exists, otherwise from Unit virtual [field]; an invalid Unit returns (-1,-1).

TimeWithoutWalking

Unit::TimeWithoutWalking returns zero for sentinel -1 at Unit [field], otherwise subtracting it from the dword reached through Unit [field].

Open full entry →
Unit
int Unit::TimeWithoutWalking()

Unit::TimeWithoutWalking returns zero for sentinel -1 at Unit [field], otherwise subtracting it from the dword reached through Unit [field].

InHolder

Checks whether the resolved Unit records a holder reference different from the invalid-reference sentinel.

Open full entry →
Unit
bool Unit::InHolder()

Checks whether the resolved Unit records a holder reference different from the invalid-reference sentinel.

GetHolderSett

Unit::GetHolderSett derives a returned slot word through Unit [field], registry entry [field], and final entry [field].

Open full entry →
Unit
Settlement Unit::GetHolderSett()

Unit::GetHolderSett derives a returned slot word through Unit [field], registry entry [field], and final entry [field].

InShip

Follows the Unit holder handle and a linked registry handle, then returns whether the latter resolves.

Open full entry →
Unit
bool Unit::InShip()

Follows the Unit holder handle and a linked registry handle, then returns whether the latter resolves.

GetShip

Follows the Unit holder object's linked registry handle and returns that object's handle or an invalid Ship handle.

Open full entry →
Unit
Ship Unit::GetShip()

Follows the Unit holder object's linked registry handle and returns that object's handle or an invalid Ship handle.

ExitHolder

CKS-exposed Unit::ExitHolder passes a position to a reserve and movement path that can detach the Unit from its Holder.

Open full entry →
Unit
void Unit::ExitHolder(point)

CKS-exposed Unit::ExitHolder passes a position to a reserve and movement path that can detach the Unit from its Holder.

EnterHolder

CKS-exposed Unit::EnterHolder, resolving a Building argument's Settlement Holder and force-entering it.

Open full entry →
Unit
void Unit::EnterHolder(Obj)

CKS-exposed Unit::EnterHolder, resolving a Building argument's Settlement Holder and force-entering it.

GetUnitsInSameHolder

Returns the objects in the unit's holder as a new ObjList.

Open full entry →
Unit
ObjList Unit::GetUnitsInSameHolder()

Returns the objects in the unit's holder as a new ObjList.

TrainAttack

A Unit training-attack primitive that can start native attack mode 2 and return VM handler status 3.

Open full entry →
Unit
bool Unit::TrainAttack(Obj)

A Unit training-attack primitive that can start native attack mode 2 and return VM handler status 3.

BestTrainingTarget

Searches nearby candidates around a resolved Unit and returns the selected object's handle or an invalid handle.

Open full entry →
Unit
Obj Unit::BestTrainingTarget()

Searches nearby candidates around a resolved Unit and returns the selected object's handle or an invalid handle.

StartTraining

Invokes the flag-setting operation on the resolved Unit for a particular flag.

Open full entry →
Unit
void Unit::StartTraining()

Invokes the flag-setting operation on the resolved Unit for a particular flag.

StopTraining

Invokes the flag-clearing operation on the resolved Unit for a particular flag.

Open full entry →
Unit
void Unit::StopTraining()

Invokes the flag-clearing operation on the resolved Unit for a particular flag.

IsTraining

Unit::IsTraining extracts bit 28 from the resolved Unit object's dword at offset [field] and returns it as a boolean.

Open full entry →
Unit
bool Unit::IsTraining()

Unit::IsTraining extracts bit 28 from the resolved Unit object's dword at offset [field] and returns it as a boolean.

Attack

Implements a cooperative single-target attack sequence using continuation state, eligibility checks, attack dispatch, and wait status.

Open full entry →
Unit
bool Unit::Attack(Obj)

Implements a cooperative single-target attack sequence using continuation state, eligibility checks, attack dispatch, and wait status.

AttackEveryone

Implements a cooperative attack sequence with range and eligibility checks before dispatch.

Open full entry →
Unit
bool Unit::AttackEveryone(Obj)

Implements a cooperative attack sequence with range and eligibility checks before dispatch.

TimeWithoutAttack

Unit::TimeWithoutAttack returns the 32-bit subtraction [[shared state][field]] - [Unit[field]], with zero as the invalid-unit fallback.

Open full entry →
Unit
int Unit::TimeWithoutAttack()

Unit::TimeWithoutAttack returns the 32-bit subtraction [[shared state][field]] - [Unit[field]], with zero as the invalid-unit fallback.

SetLastAttackTime

Unit::SetLastAttackTime copies one 32-bit value from [shared state] offset [field] to the resolved Unit at offset [field].

Open full entry →
Unit
void Unit::SetLastAttackTime()

Unit::SetLastAttackTime copies one 32-bit value from [shared state] offset [field] to the resolved Unit at offset [field].

BestTargetInSquadSightMisZeroDamage

Resolves a Unit, verifies it is alive, and queries the squad sight targeting search engine function, returning the best target object handle.

Open full entry →
Unit
Obj Unit::BestTargetInSquadSightMisZeroDamage()

Resolves a Unit, verifies it is alive, and queries the squad sight targeting search engine function, returning the best target object handle.

BestTargetInSquadSight

Calls the squad-sight target search with zero option arguments after validating the Unit.

Open full entry →
Unit
Obj Unit::BestTargetInSquadSight()

Calls the squad-sight target search with zero option arguments after validating the Unit.

BestNoIndependentTargetInSquadSight

Calls squad-sight target search with the no-independent option set.

Open full entry →
Unit
Obj Unit::BestNoIndependentTargetInSquadSight()

Calls squad-sight target search with the no-independent option set.

BestTargetInSquadSight

Finds the best tactical target within squad sight matching the supplied class filter string.

Open full entry →
Unit
Obj Unit::BestTargetInSquadSight(str)

Finds the best tactical target within squad sight matching the supplied class filter string.

BestTargetInSquadSightExclusive

Calls squad-sight target search with string data and the exclusive option set.

Open full entry →
Unit
Obj Unit::BestTargetInSquadSightExclusive(str)

Calls squad-sight target search with string data and the exclusive option set.

BestTargetInSquadSight_PreferUndiseased

Calls squad-sight target search with the prefer-undiseased option set.

Open full entry →
Unit
Obj Unit::BestTargetInSquadSight_PreferUndiseased()

Calls squad-sight target search with the prefer-undiseased option set.

BestTargetForPos

searches for the best combat target for a unit using its current position and sight radius.

Open full entry →
Unit
Obj Unit::BestTargetForPos()

searches for the best combat target for a unit using its current position and sight radius.

BestTargetInRange

Forwards explicit point coordinates and integer radius to the common target-search helper.

Open full entry →
Unit
Obj Unit::BestTargetInRange(point, int)

Forwards explicit point coordinates and integer radius to the common target-search helper.

IsEnemyInSquadSight

For a valid live unit, returns whether the enemy record associated with its squad contains entries.

Reads an existing record. Captures verified true results for counts of 1 and 2 and false results for a count of 0. They do not establish when the record is refreshed or justify treating this call as a fresh distance, visibility or diplomacy scan. Subsequent behavior with dead units or invalid references is not fully documented.

Open full entry →
Unit
bool Unit::IsEnemyInSquadSight()

For a valid live unit, returns whether the enemy record associated with its squad contains entries.

EnemiesInSight

Builds a diplomacy-filtered spatial query around the Unit and returns whether a matching candidate was found.

Open full entry →
Unit
bool Unit::EnemiesInSight()

Builds a diplomacy-filtered spatial query around the Unit and returns whether a matching candidate was found.

InRange

Checks a resolved target against a resolved Unit using the common attack-range helper.

Open full entry →
Unit
bool Unit::InRange(Obj)

Checks a resolved target against a resolved Unit using the common attack-range helper.

hero

Returns an eight-byte Hero handle containing the resolved Unit's linked Hero slot.

Open full entry →
Unit
Hero Unit::hero()

Returns an eight-byte Hero handle containing the resolved Unit's linked Hero slot.

AttachTo

Resolves Unit and Hero, rejects invalid or virtual [field] positive operands, then returns whether Unit helper [field] accepts the Hero.

Open full entry →
Unit
bool Unit::AttachTo(Hero)

Resolves Unit and Hero, rejects invalid or virtual [field] positive operands, then returns whether Unit helper [field] accepts the Hero.

DetachFrom

After valid/dead checks, calls Unit helper [field] only when Hero [field] matches Unit [field].

Open full entry →
Unit
void Unit::DetachFrom(Hero)

After valid/dead checks, calls Unit helper [field] only when Hero [field] matches Unit [field].

Idle

With nonzero continuation, waits on the special virtual [field] coordinate pair; otherwise dispatches action 4 through [field], clears target tracking and returns native status 3. Zero continuation returns 0.

Open full entry →
Unit
void Unit::Idle(int)

With nonzero continuation, waits on the special virtual [field] coordinate pair; otherwise dispatches action 4 through [field], clears target tracking and returns native status 3. Zero continuation returns 0.

Taunt

With nonzero continuation, waits on the special virtual [field] coordinate pair; otherwise dispatches action 5 through [field], clears target tracking and returns native status 3. Zero continuation returns 0.

Open full entry →
Unit
void Unit::Taunt(int)

With nonzero continuation, waits on the special virtual [field] coordinate pair; otherwise dispatches action 5 through [field], clears target tracking and returns native status 3. Zero continuation returns 0.

SetExperience

Scripting VM bridge writing a raw experience value directly through the shared virtual experience setter.

Open full entry →
Unit
void Unit::SetExperience(int)

Scripting VM bridge writing a raw experience value directly through the shared virtual experience setter.

SetLevel

Scripting VM bridge clamping input level, looking up experience threshold, and calling virtual experience setter.

Open full entry →
Unit
void Unit::SetLevel(int)

Scripting VM bridge clamping input level, looking up experience threshold, and calling virtual experience setter.

IncKills

Adds an integer to the resolved Unit's kill counter field.

Open full entry →
Unit
void Unit::IncKills(int)

Adds an integer to the resolved Unit's kill counter field.

FormAcceptMove

After formation-state checks and possible holder waits, clears target tracking, creates a path controller when absent, passes formation field [field] to controller virtual [field], sets Unit [field] to 3, and returns status 0; ineligible state returns 2.

Open full entry →
Unit
void Unit::FormAcceptMove()

After formation-state checks and possible holder waits, clears target tracking, creates a path controller when absent, passes formation field [field] to controller virtual [field], sets Unit [field] to 3, and returns status 0; ineligible state returns 2.

FormKeepMoving

For nonzero continuation, clears target tracking, sets movement state 3 and a unit flag, stores wait ticks and reports status 1. For zero continuation, may clear a satisfied controller, clears the flag and reports status 0.

Open full entry →
Unit
void Unit::FormKeepMoving(int)

For nonzero continuation, clears target tracking, sets movement state 3 and a unit flag, stores wait ticks and reports status 1. For zero continuation, may clear a satisfied controller, clears the flag and reports status 0.

PathTo

Prepares a point-centered path query for a Unit and returns the native pathfinder result code or a sentinel.

Open full entry →
Unit
int Unit::PathTo(point, int, int)

Prepares a point-centered path query for a Unit and returns the native pathfinder result code or a sentinel.

PathTo

Prepares an object-centered path query for a Unit and returns the native pathfinder result code or a sentinel.

Open full entry →
Unit
int Unit::PathTo(Obj, int, int)

Prepares an object-centered path query for a Unit and returns the native pathfinder result code or a sentinel.

SetParty

Dispatches a resolved Unit to one of two game virtual operations according to a boolean argument.

Open full entry →
Unit
void Unit::SetParty(bool)

Dispatches a resolved Unit to one of two game virtual operations according to a boolean argument.

GetParty

Returns the registered Unit GetParty boolean for this function.

Open full entry →
Unit
bool Unit::GetParty()

Returns the registered Unit GetParty boolean for this function.

GetSacrifice

Invokes a Unit virtual handle provider and returns its first word as a Sacrifice handle.

Open full entry →
Unit
Sacrifice Unit::GetSacrifice()

Invokes a Unit virtual handle provider and returns its first word as a Sacrifice handle.

_OnImpassable

Tests a packed global-map bit at the resolved Unit's virtual position.

Open full entry →
Unit
bool Unit::_OnImpassable()

Tests a packed global-map bit at the resolved Unit's virtual position.

max_train_1_level

max_train_1_level pushes the dword stored at [field].

Open full entry →
Global
int max_train_1_level()

max_train_1_level pushes the dword stored at [field].

GetUnexploredPoint

Returns a random unexplored point near the unit, or the point (-1, -1) when it finds none.

With argument -1 the search window is about four times a unit field (probably its sight), between 512 and 3000 map units square. It can return (-1, -1) while much of the map is still unexplored. The game uses it in the Explore order.

Open full entry →
Unit
point Unit::GetUnexploredPoint(int)

Returns a random unexplored point near the unit, or the point (-1, -1) when it finds none.

HasFreedom

Combines a Unit flag test with a class helper to return a boolean.

Open full entry →
Unit
bool Unit::HasFreedom()

Combines a Unit flag test with a class helper to return a boolean.

GetFlags

Returns the registered Unit GetFlags boolean for this function.

Open full entry →
Unit
bool Unit::GetFlags(int)

Returns the registered Unit GetFlags boolean for this function.

PathLeft

Returns a value from the Unit's [field] controller virtual method, or sentinel 900000000 when unavailable.

Open full entry →
Unit
int Unit::PathLeft()

Returns a value from the Unit's [field] controller virtual method, or sentinel 900000000 when unavailable.

GetShipToBoard

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Unit
Ship Unit::GetShipToBoard()Description pending

Description pending.

GetStaminaDecTime

Returns the nonnegative part of a resolved Unit's signed stamina decrement time field.

Open full entry →
Unit
int Unit::GetStaminaDecTime()

Returns the nonnegative part of a resolved Unit's signed stamina decrement time field.

SameHolderAs

Compares the holder-handle words of two resolved Units.

Open full entry →
Unit
bool Unit::SameHolderAs(Unit)

Compares the holder-handle words of two resolved Units.

SetExperienceModifier

Stores the supplied 32-bit value in a field of the selected player record.

Open full entry →
Global
void SetExperienceModifier(int, int)

Stores the supplied 32-bit value in a field of the selected player record.

GetExperienceModifier

GetExperienceModifier returns the selected player record dword at [field].

Open full entry →
Global
int GetExperienceModifier(int)

GetExperienceModifier returns the selected player record dword at [field].

SetCommanded

Sets or clears bit 19 of a resolved Unit's state flags.

Open full entry →
Unit
void Unit::SetCommanded(bool)

Sets or clears bit 19 of a resolved Unit's state flags.

GetCommanded

Reads bit 19 of a resolved Unit's state flags as a boolean.

Open full entry →
Unit
bool Unit::GetCommanded()

Reads bit 19 of a resolved Unit's state flags as a boolean.

SetEntering

Sets or clears bit 20 of a resolved Unit's state flags.

Open full entry →
Unit
void Unit::SetEntering(bool)

Sets or clears bit 20 of a resolved Unit's state flags.

GetEntering

Reads bit 20 of a resolved Unit's state flags as a boolean.

Open full entry →
Unit
bool Unit::GetEntering()

Reads bit 20 of a resolved Unit's state flags as a boolean.

SetWalkAnim

Selects the unit's walking animation from the supplied index. This call does not issue a movement order.

The integer overload stores the supplied index minus one in a 16-bit selector. In verified captures, SetWalkAnim(13) selected internal index 12. The no-argument overload is distinct. Safe indices for each template and subsequent behavior with out-of-range indices or invalid references are not established.

Open full entry →
Unit
void Unit::SetWalkAnim(int)

Selects the unit's walking animation from the supplied index. This call does not issue a movement order.

SetWalkAnim

Unit[field] is the current zero-based animation index; the no-argument SetWalkAnim selects index zero and the int overload stores argument minus one.

Open full entry →
Unit
void Unit::SetWalkAnim()

Unit[field] is the current zero-based animation index; the no-argument SetWalkAnim selects index zero and the int overload stores argument minus one.

SetCarryWaterAnim

Selects the carry-water animation for recognized ambient-villager templates. The call selects an animation; it does not collect or transfer resources.

The implementation recognizes GWVillagerAmbient, RWVillagerAmbient, MWVillagerAmbient, TWVillagerAmbient, CWVillagerAmbient, IWVillagerAmbient, BWVillagerAmbient and EWVillagerAmbient, selecting internal index 16. A nonmatching template leaves the selector unchanged. Captures verified calls that reached the selection, but did not visually test all eight templates or exercise the nonmatching branch. Invalid references require separate verification.

Open full entry →
Unit
void Unit::SetCarryWaterAnim()

Selects the carry-water animation for recognized ambient-villager templates. The call selects an animation; it does not collect or transfer resources.

SetCarryGoodsAnim

Maps recognized villager ambient template names to one of two carry-goods animation state values.

Open full entry →
Unit
void Unit::SetCarryGoodsAnim()

Maps recognized villager ambient template names to one of two carry-goods animation state values.

DoCarryNothing

Tests whether a resolved Unit's carry animation selector is zero.

Open full entry →
Unit
bool Unit::DoCarryNothing()

Tests whether a resolved Unit's carry animation selector is zero.

Disappear

Clears the unit's command state. In verified calls, it also moved the unit to (-1, -1), away from its map position.

Captured units retained their health, and one visual representation became null. This does not establish death, removal of the reference or automatic restoration. Game scripts use additional operations to save the position and restore it later; that complete sequence was not verified in these captures. Subsequent effects and invalid references remain unresolved.

Open full entry →
Unit
void Unit::Disappear()

Clears the unit's command state. In verified calls, it also moved the unit to (-1, -1), away from its map position.

SetNoselectFlag

Clears Unit [field] bit [field] and sets it when the bool argument is nonzero.

Open full entry →
Unit
void Unit::SetNoselectFlag(bool)

Clears Unit [field] bit [field] and sets it when the bool argument is nonzero.

SetMinimapFlag

Sets or clears the Unit minimap flag from a bool argument.

Open full entry →
Unit
void Unit::SetMinimapFlag(bool)

Sets or clears the Unit minimap flag from a bool argument.

SetNoAIFlag

Clears a unit flag, then sets it if the boolean argument is nonzero.

Open full entry →
Unit
void Unit::SetNoAIFlag(bool)

Clears a unit flag, then sets it if the boolean argument is nonzero.

PathDestFound

When Unit [field] exists and its virtual [field] returns nonzero, returns the point from path virtual [field]; otherwise returns (-1,-1).

Open full entry →
Unit
point Unit::PathDestFound()

When Unit [field] exists and its virtual [field] returns nonzero, returns the point from path virtual [field]; otherwise returns (-1,-1).

ForceIdle

Unit::ForceIdle pops an 8-byte Unit handle, validates it through the global unit registry, and writes 32-bit integer 1 into unit offset [field].

Open full entry →
Unit
void Unit::ForceIdle()

Unit::ForceIdle pops an 8-byte Unit handle, validates it through the global unit registry, and writes 32-bit integer 1 into unit offset [field].

Talk

Passes a resolved Unit to helper [field] and returns native status zero; invalid Unit skips the call.

Open full entry →
Unit
void Unit::Talk()

Passes a resolved Unit to helper [field] and returns native status zero; invalid Unit skips the call.

IsCursed

Reads one Unit flag bit as a CKS bool.

Open full entry →
Unit
bool Unit::IsCursed()

Reads one Unit flag bit as a CKS bool.

IsDiseased

Reads one Unit flag bit as a CKS bool.

Open full entry →
Unit
bool Unit::IsDiseased()

Reads one Unit flag bit as a CKS bool.

GetBestCurseTarget

Configures target filters and delegates curse-target selection to spatial or squad-aware search helpers.

Open full entry →
Unit
Unit Unit::GetBestCurseTarget()

Configures target filters and delegates curse-target selection to spatial or squad-aware search helpers.

GetBuilding

Returns a Building handle containing the resolved Unit's linked Building slot.

Open full entry →
Unit
Building Unit::GetBuilding()

Returns a Building handle containing the resolved Unit's linked Building slot.

SetBuilding

Unit::SetBuilding writes the Building argument's 16-bit registry slot to Unit [field], or 65535 when the Building does not resolve.

Open full entry →
Unit
void Unit::SetBuilding(Building)

Unit::SetBuilding writes the Building argument's 16-bit registry slot to Unit [field], or 65535 when the Building does not resolve.

HasSpecial

Tests an indexed bit in the Unit special mask.

Open full entry →
Unit
bool Unit::HasSpecial(int)

Tests an indexed bit in the Unit special mask.

SetSpecial

For index below 36, a nonzero bool ORs its shifted bit into Unit [field], while false calls [field] to clear it; invalid Unit or out-of-range index is skipped.

Open full entry →
Unit
void Unit::SetSpecial(int, bool)

For index below 36, a nonzero bool ORs its shifted bit into Unit [field], while false calls [field] to clear it; invalid Unit or out-of-range index is skipped.

SpecialName

Builds a script string from a Unit special-name table entry or fallback.

Open full entry →
Unit
str Unit::SpecialName(int)

Builds a script string from a Unit special-name table entry or fallback.

GetParryMode

Unit[field] bit 0 gates parry support, while Unit[field] stores the Boolean mode changed by SetParryMode and returned by GetParryMode.

Open full entry →
Unit
int Unit::GetParryMode()

Unit[field] bit 0 gates parry support, while Unit[field] stores the Boolean mode changed by SetParryMode and returned by GetParryMode.

SetParryMode

Changes parry mode when the Unit capability bit allows it.

Open full entry →
Unit
void Unit::SetParryMode(bool)

Changes parry mode when the Unit capability bit allows it.

Curse

Delegates a resolved Unit to a status-effect helper with mode zero.

Open full entry →
Unit
void Unit::Curse()

Delegates a resolved Unit to a status-effect helper with mode zero.

Bless

Delegates a resolved Unit to a status-effect helper with mode one.

Open full entry →
Unit
void Unit::Bless()

Delegates a resolved Unit to a status-effect helper with mode one.

Disease

Sets a Unit disease flag and creates an effect when its slot is empty.

Open full entry →
Unit
void Unit::Disease()

Sets a Unit disease flag and creates an effect when its slot is empty.

RamBestTarget

Runs a bounded spatial candidate query and emits an Obj handle.

Open full entry →
Unit
Obj Unit::RamBestTarget()

Runs a bounded spatial candidate query and emits an Obj handle.

GetPlayerUnits

Builds an ObjList of units for a one-based player number.

Open full entry →
Global
ObjList GetPlayerUnits(int)

Builds an ObjList of units for a one-based player number.

GetPlayerUnits

Builds an ObjList of a player's units using a resolved script class filter.

Open full entry →
Global
ObjList GetPlayerUnits(int, str)

Builds an ObjList of a player's units using a resolved script class filter.

InvalidateRegenConsts

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void InvalidateRegenConsts()Description pending

Description pending.

Mutate

Resolves a named class template and dispatches Unit mutation or a deferred mutation state.

Open full entry →
Unit
void Unit::Mutate(str)

Resolves a named class template and dispatches Unit mutation or a deferred mutation state.

ExpFromLevel

ExpFromLevel replaces the input dword with the global dword at [field].

Open full entry →
Global
int ExpFromLevel(int)

ExpFromLevel replaces the input dword with the global dword at [field].

LevelFromExp

Converts an experience dword using an inline signed threshold scan and returns the resulting level dword.

Open full entry →
Global
int LevelFromExp(int)

Converts an experience dword using an inline signed threshold scan and returns the resulting level dword.

FormKeepMoving

For nonzero continuation, refreshes formation movement, sets hero state 3 and a flag, stores the integer as VM wait ticks and reports status 1. Zero continuation clears the flag and reports status 0.

Open full entry →
Hero
void Hero::FormKeepMoving(int)

For nonzero continuation, refreshes formation movement, sets hero state 3 and a flag, stores the integer as VM wait ticks and reports status 1. Zero continuation clears the flag and reports status 0.

FormSetupAndMoveTo

After holder-related waits, the point overload clears the Hero path controller, passes the point, two integers, and bool to formation destination change; on success it installs a new controller, enables formation move mode, and sets Hero [field] to 3.

Open full entry →
Hero
void Hero::FormSetupAndMoveTo(point, int, int, bool)

After holder-related waits, the point overload clears the Hero path controller, passes the point, two integers, and bool to formation destination change; on success it installs a new controller, enables formation move mode, and sets Hero [field] to 3.

FormSetupAndMoveTo

After holder-related waits, clears the hero path controller and selects an object destination change or a point destination derived from the object, depending on an object flag. On success, installs a new controller and sets hero state 3.

Open full entry →
Hero
void Hero::FormSetupAndMoveTo(Obj, int, int, bool)

After holder-related waits, clears the hero path controller and selects an object destination change or a point destination derived from the object, depending on an object flag. On success, installs a new controller and sets hero state 3.

TimePastLastAttack

Returns the current game tick value minus the Hero's stored last-attack tick, or the current value when the Hero handle is invalid.

Open full entry →
Hero
int Hero::TimePastLastAttack()

Returns the current game tick value minus the Hero's stored last-attack tick, or the current value when the Hero handle is invalid.

LastAttacker

Hero::LastAttacker copies Hero [field] into a returned object's low word and zeroes result dword 1.

Open full entry →
Hero
Obj Hero::LastAttacker()

Hero::LastAttacker copies Hero [field] into a returned object's low word and zeroes result dword 1.

army

Hero::army returns an ObjList wrapper pointing to the resolved Hero at [field], increments the list reference counter at [field], and uses an empty newly allocated list if receiver resolution fails.

Open full entry →
Hero
ObjList Hero::army()

Hero::army returns an ObjList wrapper pointing to the resolved Hero at [field], increments the list reference counter at [field], and uses an empty newly allocated list if receiver resolution fails.

maxarmy

Reads the Hero army capacity field for this function.

Open full entry →
Hero
int Hero::maxarmy()

Reads the Hero army capacity field for this function.

IsHeroArmyFull

Compares army count and capacity for this function.

Open full entry →
Hero
bool Hero::IsHeroArmyFull()

Compares army count and capacity for this function.

FormRadius

For a valid Hero, FormRadius calls [field] on Hero [field] and pushes its four-byte result; an invalid Hero yields zero.

Open full entry →
Hero
int Hero::FormRadius()

For a valid Hero, FormRadius calls [field] on Hero [field] and pushes its four-byte result; an invalid Hero yields zero.

FormPathLeft

For a valid Hero with a nonnull formation path object at Hero [field] then [field], FormPathLeft returns the result of that object’s virtual method at vtable [field]; otherwise it returns zero.

Open full entry →
Hero
int Hero::FormPathLeft()

For a valid Hero with a nonnull formation path object at Hero [field] then [field], FormPathLeft returns the result of that object’s virtual method at vtable [field]; otherwise it returns zero.

HasArmy

Hero::HasArmy returns whether the resolved Hero dword at offset [field] is nonzero.

Open full entry →
Hero
bool Hero::HasArmy()

Hero::HasArmy returns whether the resolved Hero dword at offset [field] is nonzero.

SetFormation

SetFormation resolves the supplied string in the formation map and, when found and Hero [field] exists, passes the string text to the formation object shape-setting helper; unknown names and invalid Heroes call the error helper.

Open full entry →
Hero
void Hero::SetFormation(str)

SetFormation resolves the supplied string in the formation map and, when found and Hero [field] exists, passes the string text to the formation object shape-setting helper; unknown names and invalid Heroes call the error helper.

formation

For a valid Hero, the formation getter copies the text of the shape object reached through Hero [field] and formation [field] into a VM string result; an invalid Hero returns an empty string.

Open full entry →
Hero
str Hero::formation()

For a valid Hero, the formation getter copies the text of the shape object reached through Hero [field] and formation [field] into a VM string result; an invalid Hero returns an empty string.

DetachArmy

Delegates Hero::DetachArmy to the army cleanup routine.

Open full entry →
Hero
void Hero::DetachArmy()

Delegates Hero::DetachArmy to the army cleanup routine.

GetRandomHeroClass

Passes a class string and decremented player index to a hero selector and returns a new script string.

Open full entry →
Global
str GetRandomHeroClass(str, int)

Passes a class string and decremented player index to a hero selector and returns a new script string.

CancelArmyBoard

Delegates Hero::CancelArmyBoard to a holder and army validation routine.

Open full entry →
Hero
void Hero::CancelArmyBoard()

Delegates Hero::CancelArmyBoard to a holder and army validation routine.

SetFinalPartyOrientation

Stores the transformed orientation request point for this function.

Open full entry →
Hero
void Hero::SetFinalPartyOrientation(point)

Stores the transformed orientation request point for this function.

GetFinalPartyOrientation

Returns the transformed stored orientation point for this function.

Open full entry →
Hero
point Hero::GetFinalPartyOrientation()

Returns the transformed stored orientation point for this function.

HasFinalPartyOrientationRequest

Tests the stored orientation request pair for this function.

Open full entry →
Hero
bool Hero::HasFinalPartyOrientationRequest()

Tests the stored orientation request pair for this function.

HeroSkillId

Consumes a skill-name string and returns the index found by a case-sensitive descriptor-name scan.

Open full entry →
Global
int HeroSkillId(str)

Consumes a skill-name string and returns the index found by a case-sensitive descriptor-name scan.

SetSkill

Resolves the hero reference and delegates the skill-level update.

Open full entry →
Hero
void Hero::SetSkill(int, int)

Resolves the hero reference and delegates the skill-level update.

GetSkill

CKS scripting bridge returning current skill level for a given skill index.

Open full entry →
Hero
int Hero::GetSkill(int)

CKS scripting bridge returning current skill level for a given skill index.

UseSkill

Resolves a Hero handle and returns whether the native Hero skill dispatcher accepted the supplied skill ID.

Open full entry →
Hero
bool Hero::UseSkill(int)

Resolves a Hero handle and returns whether the native Hero skill dispatcher accepted the supplied skill ID.

HeroSkillName

Returns an owned script string from the 25-entry display-name table or an empty-string fallback.

Open full entry →
Global
str HeroSkillName(int)

Returns an owned script string from the 25-entry display-name table or an empty-string fallback.

AvailableSkillPoints

CKS scripting bridge resolving hero pointer and returning unspent available skill points.

Open full entry →
Hero
int Hero::AvailableSkillPoints()

CKS scripting bridge resolving hero pointer and returning unspent available skill points.

SkillInEffect

Resolves a Hero and tests whether an indexed skill-effect slot differs from the -1 sentinel.

Open full entry →
Hero
bool Hero::SkillInEffect(int)

Resolves a Hero and tests whether an indexed skill-effect slot differs from the -1 sentinel.

autocast

Resolves a Hero and reads bit 2 from its flags dword at [field].

Open full entry →
Hero
bool Hero::autocast()

Resolves a Hero and reads bit 2 from its flags dword at [field].

SetAutocast

Clears or sets a flag in the resolved Hero according to the boolean argument.

Open full entry →
Hero
void Hero::SetAutocast(bool)

Clears or sets a flag in the resolved Hero according to the boolean argument.

FindUnitToHeal

Behavior awaiting documentation.

Open full entry →
Druid
Unit Druid::FindUnitToHeal()Description pending

Description pending.

FindUnitToLearn

CKS-exposed AI helper that scans for an ally to apply an experience-gain effect to, sharing the same vision-range/eligibility pattern as the druid's other target-search helpers.

Open full entry →
Druid
Unit Druid::FindUnitToLearn()

CKS-exposed AI helper that scans for an ally to apply an experience-gain effect to, sharing the same vision-range/eligibility pattern as the druid's other target-search helpers.

FindUnitToHide

CKS-exposed AI helper that scans for an ally to apply an invisibility-style effect to, sharing the same vision-range/eligibility pattern as the druid's other target-search helpers.

Open full entry →
Druid
Unit Druid::FindUnitToHide()

CKS-exposed AI helper that scans for an ally to apply an invisibility-style effect to, sharing the same vision-range/eligibility pattern as the druid's other target-search helpers.

GetBestCrippleTarget

CKS target selector that chooses the greatest positive [field] score among eligible candidates from a squad-member traversal or a radius-bounded map traversal.

Open full entry →
Druid
Unit Druid::GetBestCrippleTarget()

CKS target selector that chooses the greatest positive [field] score among eligible candidates from a squad-member traversal or a radius-bounded map traversal.

FindUnitToRevitalize

CKS-exposed AI helper that scans for a drained ally to recharge, sharing the same vision-range/eligibility pattern as the druid's other target-search helpers.

Open full entry →
Druid
Unit Druid::FindUnitToRevitalize()

CKS-exposed AI helper that scans for a drained ally to recharge, sharing the same vision-range/eligibility pattern as the druid's other target-search helpers.

FindUnitBelowILevel

CKS Druid adapter that searches within receiver [field] and validates one spatially selected candidate against a strict experience-derived level threshold.

Open full entry →
Druid
Unit Druid::FindUnitBelowILevel(int)

CKS Druid adapter that searches within receiver [field] and validates one spatially selected candidate against a strict experience-derived level threshold.

FindUnitBelowILevel

Behavior awaiting documentation.

Open full entry →
Druid
Unit Druid::FindUnitBelowILevel(int, int)Description pending

Description pending.

SetStonehenge

Behavior awaiting documentation.

Open full entry →
Druid
void Druid::SetStonehenge(Building)Description pending

Description pending.

GetJupiterAngerTarget

CKS Jupiter Anger target adapter that allocates an output registry slot for an eligible target without clearing the stored target field.

Open full entry →
Druid
Unit Druid::GetJupiterAngerTarget()

CKS Jupiter Anger target adapter that allocates an output registry slot for an eligible target without clearing the stored target field.

SetJupiterAngerTarget

Behavior awaiting documentation.

Open full entry →
Druid
void Druid::SetJupiterAngerTarget(Unit)Description pending

Description pending.

SetSummoningDeath

Behavior awaiting documentation.

Open full entry →
Druid
void Druid::SetSummoningDeath(bool)Description pending

Description pending.

IsSummoningDeath

Behavior awaiting documentation.

Open full entry →
Druid
bool Druid::IsSummoningDeath()Description pending

Description pending.

_ScriptEditor

Allocates an editor object and dispatches construction with the data/subai literal.

Open full entry →
Global
void _ScriptEditor()

Allocates an editor object and dispatches construction with the data/subai literal.

_ScriptEditor

Consumes a managed directory string and dispatches the editor constructor.

Open full entry →
Global
void _ScriptEditor(str)

Consumes a managed directory string and dispatches the editor constructor.

_DialogEditor

Shared no-argument handler for two CKS registrations that allocates and constructs a dialog using the literal EditorIni/ string.

Open full entry →
Global
void _DialogEditor()

Shared no-argument handler for two CKS registrations that allocates and constructs a dialog using the literal EditorIni/ string.

_DialogEditor

Consumes a CKS string and passes its character data to the dialog constructor.

Open full entry →
Global
void _DialogEditor(str)

Consumes a CKS string and passes its character data to the dialog constructor.

_de

Shared no-argument handler for two CKS registrations that allocates and constructs a dialog using the literal EditorIni/ string.

Open full entry →
Global
void _de()

Shared no-argument handler for two CKS registrations that allocates and constructs a dialog using the literal EditorIni/ string.

_Choose

Retains a native dialog pointer until its result text becomes available.

Open full entry →
Global
str _Choose(str, str)

Retains a native dialog pointer until its result text becomes available.

_ListClasses

Dispatches enumeration on the known class-template registry and returns a managed copy.

Open full entry →
Global
str _ListClasses()

Dispatches enumeration on the known class-template registry and returns a managed copy.

_ListFolder

Enumerates a VFS path and returns matching entry names joined by newlines.

Open full entry →
Global
str _ListFolder(str)

Enumerates a VFS path and returns matching entry names joined by newlines.

_ListFolderEx

Filters VFS enumeration names by an ASCII case-insensitive suffix and joins matches with newlines.

Open full entry →
Global
str _ListFolderEx(str, str)

Filters VFS enumeration names by an ASCII case-insensitive suffix and joins matches with newlines.

_ListTerrains

Appends the string member of each terrain record followed by a newline.

Open full entry →
Global
str _ListTerrains()

Appends the string member of each terrain record followed by a newline.

MiniMap

Branches on the minimap holder and either constructs its supporting message/UI objects or invokes close/destruction slots.

Open full entry →
Global
void MiniMap()

Branches on the minimap holder and either constructs its supporting message/UI objects or invokes close/destruction slots.

SetMiniMapRect

Consumes a script rectangle, narrows its coordinates to words, shifts/clamps it against native bounds, and updates an existing minimap.

Open full entry →
Global
void SetMiniMapRect(rect)

Consumes a script rectangle, narrows its coordinates to words, shifts/clamps it against native bounds, and updates an existing minimap.

BuildMiniMap

Consumes a managed script string and forwards a temporary native string to the minimap builder.

Open full entry →
Global
void BuildMiniMap(str)

Consumes a managed script string and forwards a temporary native string to the minimap builder.

ToggleZoomMap

Invokes a virtual operation on the shared zoom-map interface.

Open full entry →
Global
void ToggleZoomMap()

Invokes a virtual operation on the shared zoom-map interface.

ShowZoomMap

Invokes a virtual operation on the shared zoom-map interface.

Open full entry →
Global
void ShowZoomMap()

Invokes a virtual operation on the shared zoom-map interface.

HideZoomMap

Invokes a virtual operation on the shared zoom-map interface.

Open full entry →
Global
void HideZoomMap()

Invokes a virtual operation on the shared zoom-map interface.

_ZoomMapLastShownTime

CKS primitive bound to "_ZoomMapLastShownTime", querying the game tick when the tactical map was last opened.

Open full entry →
Global
int _ZoomMapLastShownTime()

CKS primitive bound to "_ZoomMapLastShownTime", querying the game tick when the tactical map was last opened.

amount

Wagon::amount returns the resolved object's 32-bit field at [field], or zero for an invalid handle.

Open full entry →
Wagon
int Wagon::amount()

Wagon::amount returns the resolved object's 32-bit field at [field], or zero for an invalid handle.

restype

Wagon restype returns the carried resource selector at [field], with zero on invalid resolution.

Open full entry →
Wagon
int Wagon::restype()

Wagon restype returns the carried resource selector at [field], with zero on invalid resolution.

SetFood

Selects the carried resource type and forwards the supplied amount to the wagon amount-update helper.

Open full entry →
Wagon
void Wagon::SetFood(int)

Selects the carried resource type and forwards the supplied amount to the wagon amount-update helper.

SetGold

Selects the carried resource type and forwards the supplied amount to the wagon amount-update helper.

Open full entry →
Wagon
void Wagon::SetGold(int)

Selects the carried resource type and forwards the supplied amount to the wagon amount-update helper.

LoadFood

Adapts Wagon resource loading through a selected pointer, signed capacity arithmetic and resource-store removal.

Open full entry →
Wagon
void Wagon::LoadFood(int)

Adapts Wagon resource loading through a selected pointer, signed capacity arithmetic and resource-store removal.

LoadGold

Adapts Wagon resource loading through a selected pointer, signed capacity arithmetic and resource-store removal.

Open full entry →
Wagon
void Wagon::LoadGold(int)

Adapts Wagon resource loading through a selected pointer, signed capacity arithmetic and resource-store removal.

loyalty

Wagon loyalty returns signed dword [field] divided by ten with truncation toward zero.

Open full entry →
Wagon
int Wagon::loyalty()

Wagon loyalty returns signed dword [field] divided by ten with truncation toward zero.

SetLoyalty

CKS-exposed setter that validates a 0..100 loyalty value and writes it, scaled by ten, to the wagon's loyalty field.

Open full entry →
Wagon
void Wagon::SetLoyalty(int)

CKS-exposed setter that validates a 0..100 loyalty value and writes it, scaled by ten, to the wagon's loyalty field.

DecreaseLoyalty

Behavior awaiting documentation.

Open full entry →
Wagon
void Wagon::DecreaseLoyalty(int)Description pending

Description pending.

StartCapture

Behavior awaiting documentation.

Open full entry →
Wagon
void Wagon::StartCapture()Description pending

Description pending.

StopCapture

Behavior awaiting documentation.

Open full entry →
Wagon
void Wagon::StopCapture()Description pending

Description pending.

==

Behavior awaiting documentation.

Open full entry →
Global
bool ==(Settlement, Settlement)Description pending

Description pending.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(Settlement&, Settlement)Description pending

Description pending.

GetSettlement

Returns the first settlement whose name matches the supplied text.

Open full entry →
Global
Settlement GetSettlement(str)

Returns the first settlement whose name matches the supplied text.

population

Reads the settlement's current population count.

Open full entry →
Settlement
int Settlement::population()

Reads the settlement's current population count.

max_population

Reads the settlement's maximum population capacity.

Open full entry →
Settlement
int Settlement::max_population()

Reads the settlement's maximum population capacity.

name

Copies the selected settlement name bytes into a VM string result with a chained four-byte metadata trailer.

Open full entry →
Settlement
str Settlement::name()

Copies the selected settlement name bytes into a VM string result with a chained four-byte metadata trailer.

ForceAddUnit

CKS-exposed Settlement::ForceAddUnit, adding a unit to the settlement's Holder bypassing capacity.

Open full entry →
Settlement
void Settlement::ForceAddUnit(Unit)

CKS-exposed Settlement::ForceAddUnit, adding a unit to the settlement's Holder bypassing capacity.

AddUnit

CKS-exposed Settlement::AddUnit, adding a unit to the settlement's Holder without bypassing capacity.

Open full entry →
Settlement
bool Settlement::AddUnit(Unit)

CKS-exposed Settlement::AddUnit, adding a unit to the settlement's Holder without bypassing capacity.

IsFull

CKS-exposed Settlement::IsFull, comparing the settlement's Holder occupancy to capacity.

Open full entry →
Settlement
bool Settlement::IsFull()

CKS-exposed Settlement::IsFull, comparing the settlement's Holder occupancy to capacity.

AddUnits

Attempts nonforced holder entry for eligible members of a supplied ObjList and returns the number of successful entries.

Open full entry →
Settlement
int Settlement::AddUnits(ObjList)

Attempts nonforced holder entry for eligible members of a supplied ObjList and returns the number of successful entries.

Units

Returns an ObjList view of a settlement holder's unit collection for the Settlement::Units registration.

Open full entry →
Settlement
ObjList Settlement::Units()

Returns an ObjList view of a settlement holder's unit collection for the Settlement::Units registration.

UnitsCount

CKS-exposed Settlement::UnitsCount, returning the settlement's Holder member count at [field].

Open full entry →
Settlement
int Settlement::UnitsCount()

CKS-exposed Settlement::UnitsCount, returning the settlement's Holder member count at [field].

max_units

Returns the capacity at the Settlement's resolved Holder [field] field.

Open full entry →
Settlement
int Settlement::max_units()

Returns the capacity at the Settlement's resolved Holder [field] field.

health

Settlement::health resolves Settlement[field] and returns the linked Holder health field serialized at [field].

Open full entry →
Settlement
int Settlement::health()

Settlement::health resolves Settlement[field] and returns the linked Holder health field serialized at [field].

max_health

Settlement::max_health resolves Settlement[field] and returns the linked Holder maximum-health field serialized at [field].

Open full entry →
Settlement
int Settlement::max_health()

Settlement::max_health resolves Settlement[field] and returns the linked Holder maximum-health field serialized at [field].

stamina

The registered stamina getter returns a nested registry dword at [field].

Open full entry →
Settlement
int Settlement::stamina()

The registered stamina getter returns a nested registry dword at [field].

max_stamina

The registered max_stamina getter returns a nested registry dword at [field].

Open full entry →
Settlement
int Settlement::max_stamina()

The registered max_stamina getter returns a nested registry dword at [field].

loyalty

Reads raw loyalty and returns it scaled down by 10 for display.

Open full entry →
Settlement
int Settlement::loyalty()

Reads raw loyalty and returns it scaled down by 10 for display.

SetLoyalty

Writes raw loyalty directly from a 0-100 input, bypassing the change accumulator.

Open full entry →
Settlement
void Settlement::SetLoyalty(int)

Writes raw loyalty directly from a 0-100 input, bypassing the change accumulator.

DecreaseLoyalty

Subtracts a scaled non-negative amount from the loyalty change accumulator.

Open full entry →
Settlement
void Settlement::DecreaseLoyalty(int)

Subtracts a scaled non-negative amount from the loyalty change accumulator.

gold

Returns current gold from the settlement's registered resource store.

Open full entry →
Settlement
int Settlement::gold()

Returns current gold from the settlement's registered resource store.

max_gold

Returns maximum gold from the settlement's registered resource store.

Open full entry →
Settlement
int Settlement::max_gold()

Returns maximum gold from the settlement's registered resource store.

food

Returns current food from the settlement's registered resource store.

Open full entry →
Settlement
int Settlement::food()

Returns current food from the settlement's registered resource store.

max_food

Returns maximum food from the settlement's registered resource store.

Open full entry →
Settlement
int Settlement::max_food()

Returns maximum food from the settlement's registered resource store.

SetGold

Sets current gold on the resource store to an absolute value, clamped to the store's maximum gold.

Open full entry →
Settlement
void Settlement::SetGold(int)

Sets current gold on the resource store to an absolute value, clamped to the store's maximum gold.

SetFood

Sets current food on the resource store to an absolute value, clamped to the store's maximum food.

Open full entry →
Settlement
void Settlement::SetFood(int)

Sets current food on the resource store to an absolute value, clamped to the store's maximum food.

SetPopulation

Writes current population, clamped to at most the settlement's maximum population.

Open full entry →
Settlement
void Settlement::SetPopulation(int)

Writes current population, clamped to at most the settlement's maximum population.

AddToPopulation

Applies an unconditional signed delta to current population, with no guard or clamp.

Open full entry →
Settlement
void Settlement::AddToPopulation(int)

Applies an unconditional signed delta to current population, with no guard or clamp.

AddToMaxPopulation

CKS AddToMaxPopulation adapter that adds a dword delta after guarded receiver resolution.

Open full entry →
Settlement
void Settlement::AddToMaxPopulation(int)

CKS AddToMaxPopulation adapter that adds a dword delta after guarded receiver resolution.

player

Converts the settlement's owning PlayerInfo identifier to the one-based scripting player number.

Open full entry →
Settlement
int Settlement::player()

Converts the settlement's owning PlayerInfo identifier to the one-based scripting player number.

SetPlayer

Changes the settlement's owner. When the player differs from the current one, the stored gold moves to the new owner's statistics and every building of the settlement gets the new owner.

An object joining a settlement keeps its owner; only this change of the settlement's owner re-owns its buildings. The loop over the buildings was not checked instruction by instruction.

Open full entry →
Settlement
void Settlement::SetPlayer(int)

Changes the settlement's owner. When the player differs from the current one, the stored gold moves to the new owner's statistics and every building of the settlement gets the new owner.

IsValid

CKS native primitive that tests whether an Obj handle is valid; used generically, including on settlement handles.

Open full entry →
Settlement
bool Settlement::IsValid()

CKS native primitive that tests whether an Obj handle is valid; used generically, including on settlement handles.

loan

CKS loan adapter that performs wrapped signed scaling of settlement offset [field].

Open full entry →
Settlement
int Settlement::loan()

CKS loan adapter that performs wrapped signed scaling of settlement offset [field].

SetLoan

CKS SetLoan adapter that overwrites settlement offset [field] with wrapped signed scaling and calls a helper.

Open full entry →
Settlement
void Settlement::SetLoan(int)

CKS SetLoan adapter that overwrites settlement offset [field] with wrapped signed scaling and calls a helper.

GetCentralBuilding

Returns the registry handle stored in the settlement's central-building field.

Open full entry →
Settlement
Building Settlement::GetCentralBuilding()

Returns the registry handle stored in the settlement's central-building field.

FoodProduction

CKS FoodProduction adapter that reads the settlement dword at offset [field].

Open full entry →
Settlement
int Settlement::FoodProduction()

CKS FoodProduction adapter that reads the settlement dword at offset [field].

GoldProduction

CKS GoldProduction adapter that reads the settlement dword at offset [field].

Open full entry →
Settlement
int Settlement::GoldProduction()

CKS GoldProduction adapter that reads the settlement dword at offset [field].

SetFoodProduction

Writes the settlement's food production rate unconditionally.

Open full entry →
Settlement
void Settlement::SetFoodProduction(int)

Writes the settlement's food production rate unconditionally.

SetGoldProduction

Writes the settlement's gold production rate unconditionally.

Open full entry →
Settlement
void Settlement::SetGoldProduction(int)

Writes the settlement's gold production rate unconditionally.

Buildings

Settlement::Buildings returns an ObjList view at settlement [field], or an allocated empty list for an invalid settlement handle.

Open full entry →
Settlement
ObjList Settlement::Buildings()

Settlement::Buildings returns an ObjList view at settlement [field], or an allocated empty list for an invalid settlement handle.

Find

Find consumes str then Settlement, compares template string bytes and returns the first equal member handle.

Open full entry →
Settlement
Building Settlement::Find(str)

Find consumes str then Settlement, compares template string bytes and returns the first equal member handle.

FirstBldClass

CKS FirstBldClass adapter returning a copy of the Settlement string at [field].

Open full entry →
Settlement
str Settlement::FirstBldClass()

CKS FirstBldClass adapter returning a copy of the Settlement string at [field].

CanBeCaptured

Behavior awaiting documentation.

Open full entry →
Settlement
bool Settlement::CanBeCaptured(Unit)Description pending

Description pending.

AllowCapture

AllowCapture stores the zero-extended argument byte at Settlement [field].

Open full entry →
Settlement
void Settlement::AllowCapture(bool)

AllowCapture stores the zero-extended argument byte at Settlement [field].

ObjectsAround

Builds an ObjList of settlement-associated objects matching a requested script class.

Open full entry →
Settlement
ObjList Settlement::ObjectsAround(str)

Builds an ObjList of settlement-associated objects matching a requested script class.

GetEnterExit

Delegates to a random point lookup using point type 12. The meaning of that type is not documented here.

Open full entry →
Building
point Building::GetEnterExit()

Delegates to a random point lookup using point type 12. The meaning of that type is not documented here.

GetWaterSource

Delegates to a random point lookup using point type 13. The meaning of that type is not documented here.

Open full entry →
Building
point Building::GetWaterSource()

Delegates to a random point lookup using point type 13. The meaning of that type is not documented here.

GetGoodsSource

Delegates to a random point lookup using point type 14. The meaning of that type is not documented here.

Open full entry →
Building
point Building::GetGoodsSource()

Delegates to a random point lookup using point type 14. The meaning of that type is not documented here.

GetFixSite

Delegates to a random point lookup using point type 15. The meaning of that type is not documented here.

Open full entry →
Building
point Building::GetFixSite()

Delegates to a random point lookup using point type 15. The meaning of that type is not documented here.

GetEnterExit

Delegates to a random building with point lookup using point type 12. The meaning of that type is not documented here.

Open full entry →
Settlement
Building Settlement::GetEnterExit()

Delegates to a random building with point lookup using point type 12. The meaning of that type is not documented here.

GetWaterSource

Delegates to a random building with point lookup using point type 13. The meaning of that type is not documented here.

Open full entry →
Settlement
Building Settlement::GetWaterSource()

Delegates to a random building with point lookup using point type 13. The meaning of that type is not documented here.

GetGoodsSource

Delegates to a random building with point lookup using point type 14. The meaning of that type is not documented here.

Open full entry →
Settlement
Building Settlement::GetGoodsSource()

Delegates to a random building with point lookup using point type 14. The meaning of that type is not documented here.

GetFixSite

Delegates to a random building with point lookup using point type 15. The meaning of that type is not documented here.

Open full entry →
Settlement
Building Settlement::GetFixSite()

Delegates to a random building with point lookup using point type 15. The meaning of that type is not documented here.

MostDamagedBuilding

Selects the first eligible settlement member with the greatest strictly positive signed damage accumulator and template mask 4096.

Open full entry →
Settlement
Building Settlement::MostDamagedBuilding()

Selects the first eligible settlement member with the greatest strictly positive signed damage accumulator and template mask 4096.

ClearDamageTaken

ClearDamageTaken writes zero to dword [field] of every iterated settlement member.

Open full entry →
Settlement
void Settlement::ClearDamageTaken()

ClearDamageTaken writes zero to dword [field] of every iterated settlement member.

FindNearEnterExit

Searches settlement type12 points and selects the first strict minimum of a transformed integer distance metric.

Open full entry →
Settlement
point Settlement::FindNearEnterExit(point)

Searches settlement type12 points and selects the first strict minimum of a transformed integer distance metric.

IsCity

Tests whether the settlement's central building's own UnitTemplate name string matches "GTownhall" or "RTownhall", distinguishing a template-name comparison from a class-name identity test.

Open full entry →
Settlement
bool Settlement::IsCity()

Tests whether the settlement's central building's own UnitTemplate name string matches "GTownhall" or "RTownhall", distinguishing a template-name comparison from a class-name identity test.

PopulationDied

Settlement::PopulationDied resolves the settlement handle and returns the integer count at offset [field], returning 0 on failure.

Open full entry →
Settlement
int Settlement::PopulationDied()

Settlement::PopulationDied resolves the settlement handle and returns the integer count at offset [field], returning 0 on failure.

GoldConverted

Adds an amount to a player-level gold-converted accounting counter without mutating the resource store.

Open full entry →
Settlement
void Settlement::GoldConverted(int)

Adds an amount to a player-level gold-converted accounting counter without mutating the resource store.

GoldSpent

CKS GoldSpent adapter that adds an amount to a selected structure's dword at offset [field].

Open full entry →
Settlement
void Settlement::GoldSpent(int)

CKS GoldSpent adapter that adds an amount to a selected structure's dword at offset [field].

GetSentry

GetSentry calls [field] with field [field] minus one when that field is signed positive, returning integer one; otherwise it returns zero.

Open full entry →
Settlement
int Settlement::GetSentry()

GetSentry calls [field] with field [field] minus one when that field is signed positive, returning integer one; otherwise it returns zero.

PutSentry

PutSentry calls [field] with wrapped [field] plus one and then increments dword [field].

Open full entry →
Settlement
void Settlement::PutSentry()

PutSentry calls [field] with wrapped [field] plus one and then increments dword [field].

DelSentry

Decrements one of two settlement sentry counters with a zero floor on the fallback field.

Open full entry →
Settlement
void Settlement::DelSentry()

Decrements one of two settlement sentry counters with a zero floor on the fallback field.

GetNumSentries

GetNumSentries and GetMaxSentries copy the resolved Settlement dwords [field] and [field] respectively, with zero fallback.

Open full entry →
Settlement
int Settlement::GetNumSentries()

GetNumSentries and GetMaxSentries copy the resolved Settlement dwords [field] and [field] respectively, with zero fallback.

AddSentries

AddSentries adds its integer argument modulo 2^32 to [field], then calls [field] with wrapped [field] plus the same argument.

Open full entry →
Settlement
void Settlement::AddSentries(int)

AddSentries adds its integer argument modulo 2^32 to [field], then calls [field] with wrapped [field] plus the same argument.

GetMaxSentries

GetNumSentries and GetMaxSentries copy the resolved Settlement dwords [field] and [field] respectively, with zero fallback.

Open full entry →
Settlement
int Settlement::GetMaxSentries()

GetNumSentries and GetMaxSentries copy the resolved Settlement dwords [field] and [field] respectively, with zero fallback.

AddMaxSentries

Settlement::AddMaxSentries adds its signed integer argument directly to the resolved Settlement's dword at [field].

Open full entry →
Settlement
void Settlement::AddMaxSentries(int)

Settlement::AddMaxSentries adds its signed integer argument directly to the resolved Settlement's dword at [field].

EvalSentries

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
int Settlement::EvalSentries()Description pending

Description pending.

AddItem

Submits a non-null named candidate to virtual slot [field] and returns candidate existence.

Open full entry →
ItemHolder
bool ItemHolder::AddItem(str)

Submits a non-null named candidate to virtual slot [field] and returns candidate existence.

count

Returns receiver virtual slot [field] or zero for an invalid holder.

Open full entry →
ItemHolder
int ItemHolder::count()

Returns receiver virtual slot [field] or zero for an invalid holder.

HasItem

Scans indexed holder entries for exact equality with the supplied string.

Open full entry →
ItemHolder
bool ItemHolder::HasItem(str)

Scans indexed holder entries for exact equality with the supplied string.

RemoveItem

Dispatches virtual removal for the first indexed entry whose derived string equals the supplied name.

Open full entry →
ItemHolder
void ItemHolder::RemoveItem(str)

Dispatches virtual removal for the first indexed entry whose derived string equals the supplied name.

RemoveAll

Repeatedly invokes virtual removal at index zero until the count becomes zero.

Open full entry →
ItemHolder
void ItemHolder::RemoveAll()

Repeatedly invokes virtual removal at index zero until the count becomes zero.

CreateMuleFood

Delegates wagon creation with food mode one and returns a Wagon handle or sentinel.

Open full entry →
Settlement
Wagon Settlement::CreateMuleFood(int)

Delegates wagon creation with food mode one and returns a Wagon handle or sentinel.

CreateMuleGold

Resolves a Settlement and delegates the amount to helper [field], returning a Wagon handle or sentinel.

Open full entry →
Settlement
Wagon Settlement::CreateMuleGold(int)

Resolves a Settlement and delegates the amount to helper [field], returning a Wagon handle or sentinel.

CreateBoatFood

Calls the linked building spawn helper with the script amount and mode values one, one, then returns a Wagon handle or null.

Open full entry →
Settlement
Wagon Settlement::CreateBoatFood(int)

Calls the linked building spawn helper with the script amount and mode values one, one, then returns a Wagon handle or null.

CreateBoatGold

Calls the linked building spawn helper with the script amount and mode values zero, one, then returns a Wagon handle or null.

Open full entry →
Settlement
Wagon Settlement::CreateBoatGold(int)

Calls the linked building spawn helper with the script amount and mode values zero, one, then returns a Wagon handle or null.

CreateShip

CreateShip constructs a class-named object, applies owner and placement calls, attempts forced holder entry, and restores temporary global state on its normal valid-receiver path.

Open full entry →
Settlement
Ship Settlement::CreateShip(str)

CreateShip constructs a class-named object, applies owner and placement calls, attempts forced holder entry, and restores temporary global state on its normal valid-receiver path.

SendMule

SendMule and SendBoat call the same helper with mode zero or one when their linked target passes a relation-bit gate, otherwise clearing that target id.

Open full entry →
Settlement
void Settlement::SendMule()

SendMule and SendBoat call the same helper with mode zero or one when their linked target passes a relation-bit gate, otherwise clearing that target id.

SendBoat

SendMule and SendBoat call the same helper with mode zero or one when their linked target passes a relation-bit gate, otherwise clearing that target id.

Open full entry →
Settlement
void Settlement::SendBoat()

SendMule and SendBoat call the same helper with mode zero or one when their linked target passes a relation-bit gate, otherwise clearing that target id.

StartSupplyFood

Behavior awaiting documentation.

Open full entry →
Settlement
void Settlement::StartSupplyFood(Settlement)Description pending

Description pending.

StopSupply

Behavior awaiting documentation.

Open full entry →
Settlement
void Settlement::StopSupply()Description pending

Description pending.

UnloadWagon

UnloadWagon adds the wagon quantity to the linked settlement resource dword and clamps the wrapping sum by a signed comparison to its capacity.

Open full entry →
Settlement
void Settlement::UnloadWagon(Wagon)

UnloadWagon adds the wagon quantity to the linked settlement resource dword and clamps the wrapping sum by a signed comparison to its capacity.

supplied

Follows a fixed chain of settlement registry references and returns the final settlement handle.

Open full entry →
Settlement
Settlement Settlement::supplied()

Follows a fixed chain of settlement registry references and returns the final settlement handle.

=

Behavior awaiting documentation.

Open full entry →
Global
void =(ObjList&, ObjList)Description pending

Description pending.

count

ObjList::count returns the 32-bit member count at resolved ObjList object offset [field].

Open full entry →
ObjList
int ObjList::count()

ObjList::count returns the 32-bit member count at resolved ObjList object offset [field].

[

Behavior awaiting documentation.

Open full entry →
Global
Obj [(ObjList, int)Description pending

Description pending.

Contains

Tests whether a list contains the low-16-bit slot of an Obj handle.

Open full entry →
ObjList
bool ObjList::Contains(Obj)

Tests whether a list contains the low-16-bit slot of an Obj handle.

Add

Appends an Obj's slot to the list if no matching slot is already present.

Open full entry →
ObjList
void ObjList::Add(Obj)

Appends an Obj's slot to the list if no matching slot is already present.

Remove

Removes the first matching Obj slot from a list.

Open full entry →
ObjList
void ObjList::Remove(Obj)

Removes the first matching Obj slot from a list.

ClearDead

Removes list members lacking a registry object or reporting nonzero at virtual slot [field].

Open full entry →
ObjList
void ObjList::ClearDead()

Removes list members lacking a registry object or reporting nonzero at virtual slot [field].

AddList

Iterates a source object list and appends objects not already present in the destination list.

Open full entry →
ObjList
void ObjList::AddList(ObjList)

Iterates a source object list and appends objects not already present in the destination list.

RemoveList

Removes receiver members matching handles encountered in a second list.

Open full entry →
ObjList
void ObjList::RemoveList(ObjList)

Removes receiver members matching handles encountered in a second list.

Clear

Empties the object list on which it is called. The objects that were listed remain in the game.

Removes entries from the list container and releases its internal storage. The documented effect is to empty the list, not to kill or erase its members or change their commands. This describes a successfully resolved list; it does not guarantee safe behavior for invalid list references.

Open full entry →
ObjList
void ObjList::Clear()

Empties the object list on which it is called. The objects that were listed remain in the game.

AddToGroup

The handler looks up the named group, creates a group object on the nonzero lookup branch, then traverses the receiver list.

Open full entry →
ObjList
void ObjList::AddToGroup(str)

The handler looks up the named group, creates a group object on the nonzero lookup branch, then traverses the receiver list.

RemoveFromGroup

The handler looks up the supplied group name.

Open full entry →
ObjList
void ObjList::RemoveFromGroup(str)

The handler looks up the supplied group name.

RemoveFromAllGroups

Traverses groups and input list members, conditionally erasing matching members from each group.

Open full entry →
ObjList
void ObjList::RemoveFromAllGroups()

Traverses groups and input list members, conditionally erasing matching members from each group.

KillCommand

For each resolved member whose virtual [field] predicate returns zero, invokes [field] with zero to update command state.

Open full entry →
ObjList
void ObjList::KillCommand()

For each resolved member whose virtual [field] predicate returns zero, invokes [field] with zero to update command state.

ClearCommands

Iterates an ObjList and clears commands on members accepted by a virtual eligibility predicate.

Open full entry →
ObjList
void ObjList::ClearCommands()

Iterates an ObjList and clears commands on members accepted by a virtual eligibility predicate.

AddCommand

Creates and enqueues a named command for every eligible object-list member.

Open full entry →
ObjList
void ObjList::AddCommand(bool, str)

Creates and enqueues a named command for every eligible object-list member.

AddCommand

For each resolved eligible member, creates a named point command with selector 1 and submits it through virtual [field] using the supplied Boolean.

Open full entry →
ObjList
void ObjList::AddCommand(bool, str, point)

For each resolved eligible member, creates a named point command with selector 1 and submits it through virtual [field] using the supplied Boolean.

AddCommand

After validating the supplied Obj handle, creates a named object-target command with selector 2 for each eligible member and submits it through virtual [field] using the Boolean.

Open full entry →
ObjList
void ObjList::AddCommand(bool, str, Obj)

After validating the supplied Obj handle, creates a named object-target command with selector 2 for each eligible member and submits it through virtual [field] using the Boolean.

AddCommandOffset

Creates point-targeted commands for object-list members while preserving their offsets from the list center.

Open full entry →
ObjList
void ObjList::AddCommandOffset(bool, str, point)

Creates point-targeted commands for object-list members while preserving their offsets from the list center.

ExecDefaultCmd

Resolves the optional Obj handle to its object identifier at +8 and delegates the list, point, identifier, two Booleans and -1 to [field].

Open full entry →
ObjList
void ObjList::ExecDefaultCmd(point, Obj, bool, bool)

Resolves the optional Obj handle to its object identifier at +8 and delegates the list, point, identifier, two Booleans and -1 to [field].

ExecCmd

Looks up the supplied command string through the command-order registry virtual [field]; on success passes the resolved command and remaining arguments to [field], while the failure path reports an invalid command.

Open full entry →
ObjList
void ObjList::ExecCmd(str, point, Obj, bool)

Looks up the supplied command string through the command-order registry virtual [field]; on success passes the resolved command and remaining arguments to [field], while the failure path reports an invalid command.

SetCommand

For each resolved eligible member, calls virtual [field] with zero, creates the named command with selector 0, submits it through virtual [field] with false, and updates command state.

Open full entry →
ObjList
void ObjList::SetCommand(str)

For each resolved eligible member, calls virtual [field] with zero, creates the named command with selector 0, submits it through virtual [field] with false, and updates command state.

SetCommand

For each resolved eligible member, calls virtual [field] with zero, creates a named point command with selector 1, submits it through virtual [field] with false, and updates command state.

Open full entry →
ObjList
void ObjList::SetCommand(str, point)

For each resolved eligible member, calls virtual [field] with zero, creates a named point command with selector 1, submits it through virtual [field] with false, and updates command state.

SetCommand

After validating the receiver and target Obj, calls virtual [field] with zero on each eligible member, creates an object-target command with selector 2, submits it through virtual [field] with false, and updates command state.

Open full entry →
ObjList
void ObjList::SetCommand(str, Obj)

After validating the receiver and target Obj, calls virtual [field] with zero on each eligible member, creates an object-target command with selector 2, submits it through virtual [field] with false, and updates command state.

SetCommandOffset

Computes the list center, offsets each eligible member position from that center, clamps the translated target to map bounds, then creates and submits a selector-1 point command after virtual [field].

Open full entry →
ObjList
void ObjList::SetCommandOffset(str, point)

Computes the list center, offsets each eligible member position from that center, clamps the translated target to map bounds, then creates and submits a selector-1 point command after virtual [field].

GetCanExecCmd

Allocates a new ObjList, resolves the command through the command-order registry virtual [field], and copies slots of valid source members whose virtual [field] predicate accepts that command.

Open full entry →
ObjList
ObjList ObjList::GetCanExecCmd(str)

Allocates a new ObjList, resolves the command through the command-order registry virtual [field], and copies slots of valid source members whose virtual [field] predicate accepts that command.

FilterClosest

Creates an ObjList through a bounded distance-selection helper using a point and count.

Open full entry →
ObjList
ObjList ObjList::FilterClosest(point, int)

Creates an ObjList through a bounded distance-selection helper using a point and count.

Face

After popping the point and receiver list, the handler traverses member slots.

Open full entry →
ObjList
void ObjList::Face(point)

After popping the point and receiver list, the handler traverses member slots.

SetFood

The handler rejects a negative input.

Open full entry →
ObjList
void ObjList::SetFood(int)

The handler rejects a negative input.

SetPlayer

The handler accepts input player numbers 1 through 16.

Open full entry →
ObjList
void ObjList::SetPlayer(int)

The handler accepts input player numbers 1 through 16.

InHolder

Finds the settlement whose stored name matches the supplied string, then counts list members convertible to Unit whose stored holder identifier matches that settlement.

Open full entry →
ObjList
int ObjList::InHolder(str)

Finds the settlement whose stored name matches the supplied string, then counts list members convertible to Unit whose stored holder identifier matches that settlement.

AddToHolder

Moves compatible units from the list into the named settlement.

Open full entry →
ObjList
void ObjList::AddToHolder(str)

Moves compatible units from the list into the named settlement.

SetVisible

Applies a visibility boolean to an object list and to eligible nested visibility controllers of its members.

Open full entry →
ObjList
void ObjList::SetVisible(bool)

Applies a visibility boolean to an object list and to eligible nested visibility controllers of its members.

ObjPlayer

Builds a new ObjList containing source members owned by the requested script player.

Open full entry →
ObjList
ObjList ObjList::ObjPlayer(int)

Builds a new ObjList containing source members owned by the requested script player.

ObjEnemy

Filters an ObjList using the zero state of a player relation bit.

Open full entry →
ObjList
ObjList ObjList::ObjEnemy(int)

Filters an ObjList using the zero state of a player relation bit.

ObjAlly

Filters an ObjList using the set state of a player relation bit.

Open full entry →
ObjList
ObjList ObjList::ObjAlly(int)

Filters an ObjList using the set state of a player relation bit.

ObjClass

Filters an ObjList by class-template ancestry.

Open full entry →
ObjList
ObjList ObjList::ObjClass(str)

Filters an ObjList by class-template ancestry.

ObjSpecial

Selects ObjList member slots by a numbered special-bit test and constructs an ObjList value.

Open full entry →
ObjList
void ObjList::ObjSpecial(int)

Selects ObjList member slots by a numbered special-bit test and constructs an ObjList value.

ObjInjured

Filters an ObjList by a strict object-field comparison.

Open full entry →
ObjList
ObjList ObjList::ObjInjured()

Filters an ObjList by a strict object-field comparison.

ObjFullStamina

Filters an ObjList by a non-strict object-field comparison.

Open full entry →
ObjList
ObjList ObjList::ObjFullStamina()

Filters an ObjList by a non-strict object-field comparison.

Find

Returns the first live ObjList member matching a resolved class-template ancestry test.

Open full entry →
ObjList
Obj ObjList::Find(str)

Returns the first live ObjList member matching a resolved class-template ancestry test.

FindAlly

Returns the first live class-matching ObjList member with the selected relation bit set.

Open full entry →
ObjList
Obj ObjList::FindAlly(int, str)

Returns the first live class-matching ObjList member with the selected relation bit set.

FindEnemy

Returns the first live class-matching ObjList member with the selected relation bit clear.

Open full entry →
ObjList
Obj ObjList::FindEnemy(int, str)

Returns the first live class-matching ObjList member with the selected relation bit clear.

Init

CKS Conversation Init adapter that replaces a referenced window and delegates named initialization.

Open full entry →
Conversation
void Conversation::Init(str)

CKS Conversation Init adapter that replaces a referenced window and delegates named initialization.

SetActor

Behavior awaiting documentation.

Open full entry →
Conversation
void Conversation::SetActor(str, Unit)Description pending

Description pending.

SetDefActor

Behavior awaiting documentation.

Open full entry →
Conversation
void Conversation::SetDefActor(str, str)Description pending

Description pending.

ActorPresent

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
bool ActorPresent(str)Description pending

Description pending.

ConvResult

Adapts a CKS string through the engine conversion helpers and returns a managed result string.

Open full entry →
Global
str ConvResult(str)

Adapts a CKS string through the engine conversion helpers and returns a managed result string.

ConvSetResult

Behavior awaiting documentation.

Open full entry →
Global
void ConvSetResult(str, str)Description pending

Description pending.

Run

Behavior awaiting documentation.

Open full entry →
Conversation
void Conversation::Run()Description pending

Description pending.

RunConv

CKS native primitive that starts and presents a conversation directly by name.

⚠ Only partly documented so far.

Open full entry →
Global
str RunConv(str)

CKS native primitive that starts and presents a conversation directly by name.

_ListConvs

Concatenates string keys from two native tree containers into a managed result.

Open full entry →
Global
str _ListConvs()

Concatenates string keys from two native tree containers into a managed result.

EnvWriteString

Pops value and key managed strings and delegates their payloads to the environment writer.

Open full entry →
Global
void EnvWriteString(str, str)

Pops value and key managed strings and delegates their payloads to the environment writer.

EnvWriteInt

Behavior awaiting documentation.

Open full entry →
Global
void EnvWriteInt(str, int)Description pending

Description pending.

EnvReadString

Consumes a managed key string, calls the environment string reader and pushes a managed string result.

Open full entry →
Global
str EnvReadString(str)

Consumes a managed key string, calls the environment string reader and pushes a managed string result.

EnvReadInt

Pops a managed key string and pushes the 32-bit result of the environment integer helper.

Open full entry →
Global
int EnvReadInt(str)

Pops a managed key string and pushes the 32-bit result of the environment integer helper.

EnvWriteObj

Encodes a resolved object identifier as decimal marker text and delegates it with the key.

Open full entry →
Global
void EnvWriteObj(str, Obj)

Encodes a resolved object identifier as decimal marker text and delegates it with the key.

EnvReadObj

Delegates key lookup and writes an eight-byte result with initialized low16 identifier and zero offset.

Open full entry →
Global
Obj EnvReadObj(str)

Delegates key lookup and writes an eight-byte result with initialized low16 identifier and zero offset.

EnvWriteString

CKS native primitive that writes a string value under a key into a settlement's Env key-value store.

Open full entry →
Global
void EnvWriteString(Settlement, str, str)

CKS native primitive that writes a string value under a key into a settlement's Env key-value store.

EnvWriteInt

Formats a settlement-scoped environment path and writes a decimal integer value.

Open full entry →
Global
void EnvWriteInt(Settlement, str, int)

Formats a settlement-scoped environment path and writes a decimal integer value.

EnvReadString

Builds a settlement-scoped environment path and returns the string obtained from the environment lookup helper.

Open full entry →
Global
str EnvReadString(Settlement, str)

Builds a settlement-scoped environment path and returns the string obtained from the environment lookup helper.

EnvReadInt

EnvReadInt builds a settlement property path and reads its integer value.

Open full entry →
Global
int EnvReadInt(Settlement, str)

EnvReadInt builds a settlement property path and reads its integer value.

EnvWriteObj

Behavior awaiting documentation.

Open full entry →
Global
void EnvWriteObj(Settlement, str, Obj)Description pending

Description pending.

EnvReadObj

Behavior awaiting documentation.

Open full entry →
Global
Obj EnvReadObj(Settlement, str)Description pending

Description pending.

EnvWriteString

Requests a string write under an environment key scoped to the specified building and its settlement. Arguments are the building, the key and the string.

If the building cannot be resolved, this overload skips the write. The key path includes the game environment, settlement and building. Available dynamic verification covers one specific call; it establishes neither cross-game persistence nor duplicate-key rules. Those storage properties remain unresolved.

Open full entry →
Global
void EnvWriteString(Building, str, str)

Requests a string write under an environment key scoped to the specified building and its settlement. Arguments are the building, the key and the string.

EnvWriteInt

Formats a building-scoped environment path and delegates an integer value as decimal text to the environment writer.

Open full entry →
Global
void EnvWriteInt(Building, str, int)

Formats a building-scoped environment path and delegates an integer value as decimal text to the environment writer.

EnvReadString

Formats a building-scoped environment path and returns a managed string from its reader helper.

Open full entry →
Global
str EnvReadString(Building, str)

Formats a building-scoped environment path and returns a managed string from its reader helper.

EnvReadInt

Formats a building-scoped environment path and returns the integer produced by its reader helper.

Open full entry →
Global
int EnvReadInt(Building, str)

Formats a building-scoped environment path and returns the integer produced by its reader helper.

EnvWriteObj

Formats a building-scoped key and encodes an object identifier for the environment writer.

Open full entry →
Global
void EnvWriteObj(Building, str, Obj)

Formats a building-scoped key and encodes an object identifier for the environment writer.

EnvReadObj

Formats a building-scoped key and writes an Obj result with initialized low16 identifier and zero offset.

Open full entry →
Global
Obj EnvReadObj(Building, str)

Formats a building-scoped key and writes an Obj result with initialized low16 identifier and zero offset.

EnvWriteString

Writes a string under a key in the specified player's environment. Arguments are, in order, the player number, the key, and the string to write.

This overload scopes the key to the specified player. Scripts use it, for example, to record research states. Retention of this data across games and complete player-number validation are not documented.

Open full entry →
Global
void EnvWriteString(int, str, str)

Writes a string under a key in the specified player's environment. Arguments are, in order, the player number, the key, and the string to write.

EnvWriteInt

Formats a player-scoped environment path and writes a decimal integer value.

Open full entry →
Global
void EnvWriteInt(int, str, int)

Formats a player-scoped environment path and writes a decimal integer value.

EnvReadString

Builds a player-scoped environment path and returns the string obtained from the environment lookup helper.

Open full entry →
Global
str EnvReadString(int, str)

Builds a player-scoped environment path and returns the string obtained from the environment lookup helper.

EnvReadInt

Formats a player-scoped environment path and returns the integer reader result.

Open full entry →
Global
int EnvReadInt(int, str)

Formats a player-scoped environment path and returns the integer reader result.

EnvWriteObj

Formats a player-scoped key and encodes an object identifier for the environment writer.

Open full entry →
Global
void EnvWriteObj(int, str, Obj)

Formats a player-scoped key and encodes an object identifier for the environment writer.

EnvReadObj

Behavior awaiting documentation.

Open full entry →
Global
Obj EnvReadObj(int, str)Description pending

Description pending.

EnvList

Behavior awaiting documentation.

Open full entry →
Global
void EnvList(str)Description pending

Description pending.

EnvList

Behavior awaiting documentation.

Open full entry →
Global
void EnvList(Settlement, str)Description pending

Description pending.

EnvFind

Behavior awaiting documentation.

Open full entry →
Global
void EnvFind(str)Description pending

Description pending.

EnvExport

Consumes a filename and dispatches the serializer-produced buffer to a VFS stream.

Open full entry →
Global
void EnvExport(str)

Consumes a filename and dispatches the serializer-produced buffer to a VFS stream.

_ClearEnv

Behavior awaiting documentation.

Open full entry →
Global
void _ClearEnv()Description pending

Description pending.

RegisterSettlementUpgrade

Parses command-definition triples and dispatches settlement property writes.

Open full entry →
Global
void RegisterSettlementUpgrade(Settlement, str)

Parses command-definition triples and dispatches settlement property writes.

RegisterPlayerUpgrade

Gates on research command type and dispatches player property writes from command triples.

Open full entry →
Global
void RegisterPlayerUpgrade(int, str)

Gates on research command type and dispatches player property writes from command triples.

RunSequence

Validates a named sequence and starts the matching sequence when validation succeeds.

Open full entry →
Global
void RunSequence(str)

Validates a named sequence and starts the matching sequence when validation succeeds.

_SequencesStatus

Prints a status line for every registered script sequence.

Open full entry →
Global
void _SequencesStatus()

Prints a status line for every registered script sequence.

IsRunning

IsRunning tests exact provider text Running.

Open full entry →
Global
bool IsRunning(str)

IsRunning tests exact provider text Running.

IsWaiting

IsWaiting tests exact provider text Waiting.

Open full entry →
Global
bool IsWaiting(str)

IsWaiting tests exact provider text Waiting.

IsFinished

IsFinished tests exact provider text Finished.

Open full entry →
Global
bool IsFinished(str)

IsFinished tests exact provider text Finished.

ViewPos

Converts the native viewport midpoint to a world point and pushes it on the CKS VM stack.

Open full entry →
Global
point ViewPos()

Converts the native viewport midpoint to a world point and pushes it on the CKS VM stack.

View

Pops a world point and lock boolean from the CKS VM stack and forwards them to the native camera-centering helper.

Open full entry →
Global
void View(point, bool)

Pops a world point and lock boolean from the CKS VM stack and forwards them to the native camera-centering helper.

PlayMusic

PlayMusic dispatches a guarded named sound request.

Open full entry →
Global
void PlayMusic(str)

PlayMusic dispatches a guarded named sound request.

PlaySound

plays a global 2D non-spatial sound effect via the sound manager.

Open full entry →
Global
void PlaySound(str)

plays a global 2D non-spatial sound effect via the sound manager.

PlaySound

PlaySound player overload gates its request on the local player index.

Open full entry →
Global
void PlaySound(int, str)

PlaySound player overload gates its request on the local player index.

MusicPlaying

MusicPlaying tests the low16 result of a virtual manager query.

Open full entry →
Global
bool MusicPlaying()

MusicPlaying tests the low16 result of a virtual manager query.

SetSpeed

SetSpeed prepares and submits a command when game field230 is zero.

Open full entry →
Global
void SetSpeed(int)

SetSpeed prepares and submits a command when game field230 is zero.

GetSpeed

GetSpeed reads game field1244 with a null fallback.

Open full entry →
Global
int GetSpeed()

GetSpeed reads game field1244 with a null fallback.

TogglePause

TogglePause alternates submitted values between one and saved speed.

Open full entry →
Global
void TogglePause()

TogglePause alternates submitted values between one and saved speed.

_Run

_Run returns true only after both compile and map scheduling helpers return zero.

Open full entry →
Global
bool _Run(str)

_Run returns true only after both compile and map scheduling helpers return zero.

Run

Adapts the verified global Run overload with 0 integer arguments to named script compilation and dispatch.

Open full entry →
Global
void Run(str)

Adapts the verified global Run overload with 0 integer arguments to named script compilation and dispatch.

Run

Adapts the verified global Run overload with 1 integer arguments to named script compilation and dispatch.

Open full entry →
Global
void Run(str, int)

Adapts the verified global Run overload with 1 integer arguments to named script compilation and dispatch.

Run

Adapts the verified global Run overload with 2 integer arguments to named script compilation and dispatch.

Open full entry →
Global
void Run(str, int, int)

Adapts the verified global Run overload with 2 integer arguments to named script compilation and dispatch.

Run

Adapts the verified global Run overload with 3 integer arguments to named script compilation and dispatch.

Open full entry →
Global
void Run(str, int, int, int)

Adapts the verified global Run overload with 3 integer arguments to named script compilation and dispatch.

Run

Adapts the verified global Run overload with 4 integer arguments to named script compilation and dispatch.

Open full entry →
Global
void Run(str, int, int, int, int)

Adapts the verified global Run overload with 4 integer arguments to named script compilation and dispatch.

Run

Adapts the verified global Run overload with 5 integer arguments to named script compilation and dispatch.

Open full entry →
Global
void Run(str, int, int, int, int, int)

Adapts the verified global Run overload with 5 integer arguments to named script compilation and dispatch.

Run

Compiles the requested script with a Settlement argument declaration and dispatches it after successful compilation.

Open full entry →
Settlement
void Settlement::Run(str)

Compiles the requested script with a Settlement argument declaration and dispatches it after successful compilation.

IRun

Adapts the verified global IRun overload with 0 integer arguments to named script compilation and dispatch.

Open full entry →
Global
int IRun(str)

Adapts the verified global IRun overload with 0 integer arguments to named script compilation and dispatch.

IRun

Adapts the verified global IRun overload with 1 integer arguments to named script compilation and dispatch.

Open full entry →
Global
int IRun(str, int)

Adapts the verified global IRun overload with 1 integer arguments to named script compilation and dispatch.

IRun

Adapts the verified global IRun overload with 2 integer arguments to named script compilation and dispatch.

Open full entry →
Global
int IRun(str, int, int)

Adapts the verified global IRun overload with 2 integer arguments to named script compilation and dispatch.

IRun

Adapts the verified global IRun overload with 3 integer arguments to named script compilation and dispatch.

Open full entry →
Global
int IRun(str, int, int, int)

Adapts the verified global IRun overload with 3 integer arguments to named script compilation and dispatch.

IRun

Adapts the verified global IRun overload with 4 integer arguments to named script compilation and dispatch.

Open full entry →
Global
int IRun(str, int, int, int, int)

Adapts the verified global IRun overload with 4 integer arguments to named script compilation and dispatch.

IRun

Adapts the verified global IRun overload with 5 integer arguments to named script compilation and dispatch.

Open full entry →
Global
int IRun(str, int, int, int, int, int)

Adapts the verified global IRun overload with 5 integer arguments to named script compilation and dispatch.

ToggleFPS

ToggleFPS writes the zero test of global [field].

Open full entry →
Global
void ToggleFPS()

ToggleFPS writes the zero test of global [field].

GetConst

Looks up and returns an integer gameplay configuration constant from the global constants table by name string.

Open full entry →
Global
int GetConst(str)

Looks up and returns an integer gameplay configuration constant from the global constants table by name string.

GetConstStr

Looks up a key under GamePlay and returns the resulting string or an empty fallback.

Open full entry →
Global
str GetConstStr(str)

Looks up a key under GamePlay and returns the resulting string or an empty fallback.

rand

rand passes a zero-based bound to the game RNG virtual method.

Open full entry →
Global
int rand(int)

rand passes a zero-based bound to the game RNG virtual method.

BlockUserInput

Dispatches input-block flags and refreshes then destroys the control-group HUD holder.

Open full entry →
Global
void BlockUserInput()

Dispatches input-block flags and refreshes then destroys the control-group HUD holder.

UnblockUserInput

Dispatches input-unblock flags and ensures the control-group HUD exists.

Open full entry →
Global
void UnblockUserInput()

Dispatches input-unblock flags and ensures the control-group HUD exists.

ExploreCircle

Validates a player index and delegates a center and radius to a map exploration helper.

Open full entry →
Global
void ExploreCircle(int, point, int)

Validates a player index and delegates a center and radius to a map exploration helper.

ExploreArea

Gates a named-area reveal call by a signed player index.

Open full entry →
Global
void ExploreArea(int, str)

Gates a named-area reveal call by a signed player index.

Party

Copies the game object's container at [field] into a new ObjList wrapper.

Open full entry →
Global
ObjList Party()

Copies the game object's container at [field] into a new ObjList wrapper.

GetTime

GetTime takes no arguments and pushes the 32-bit game clock counter at [shared state][field], the same field that CKS Clock divides by 1000 to obtain seconds.

Open full entry →
Global
int GetTime()

GetTime takes no arguments and pushes the 32-bit game clock counter at [shared state][field], the same field that CKS Clock divides by 1000 to obtain seconds.

EndGame

Converts a one-based player input to a zero-based index and delegates its address with the lose flag to the game virtual method.

Open full entry →
Global
void EndGame(int, bool)

Converts a one-based player input to a zero-based index and delegates its address with the lose flag to the game virtual method.

IsMultiplayer

IsMultiplayer tests whether the session byte contains any set bit.

Open full entry →
Global
bool IsMultiplayer()

IsMultiplayer tests whether the session byte contains any set bit.

SelAvgLevel

SelAvgLevel averages eligible primary-selection values.

Open full entry →
Global
int SelAvgLevel()

SelAvgLevel averages eligible primary-selection values.

SelAvgFood

Computes a rounded average of the food-related field across eligible selected units and nested members.

Open full entry →
Global
int SelAvgFood()

Computes a rounded average of the food-related field across eligible selected units and nested members.

SelAvgStamina

SelAvgStamina averages eligible direct and nested values.

Open full entry →
Global
int SelAvgStamina()

SelAvgStamina averages eligible direct and nested values.

SelAvgArmor

Computes a rounded average of armor across eligible selected units and nested members.

Open full entry →
Global
int SelAvgArmor()

Computes a rounded average of armor across eligible selected units and nested members.

SelAvgDamage

SelAvgDamage computes an unsigned rounded selection average.

Open full entry →
Global
int SelAvgDamage()

SelAvgDamage computes an unsigned rounded selection average.

SelHealth

Adds together current health values for the selection, including nested objects.

Open full entry →
Global
int SelHealth()

Adds together current health values for the selection, including nested objects.

SelMaxHealth

Adds together maximum health values for the selection, including nested objects.

Open full entry →
Global
int SelMaxHealth()

Adds together maximum health values for the selection, including nested objects.

LockView

LockView sets global [field], the flag read by IsViewLocked and shared with camera-follow activation.

Open full entry →
Global
void LockView()

LockView sets global [field], the flag read by IsViewLocked and shared with camera-follow activation.

UnlockView

UnlockView clears global [field].

Open full entry →
Global
void UnlockView()

UnlockView clears global [field].

IsViewLocked

IsViewLocked returns whether global [field] is nonzero.

Open full entry →
Global
bool IsViewLocked()

IsViewLocked returns whether global [field] is nonzero.

StartViewFollow

StartViewFollow resolves the target unit and activates camera tracking by setting [shared state] at [field] to 1 and storing the unit ID at [field].

Open full entry →
Global
void StartViewFollow(Unit)

StartViewFollow resolves the target unit and activates camera tracking by setting [shared state] at [field] to 1 and storing the unit ID at [field].

StopViewFollow

Writes zero to a shared 32-bit value and the all-bits-set sentinel to a shared 16-bit value.

Open full entry →
Global
void StopViewFollow()

Writes zero to a shared 32-bit value and the all-bits-set sentinel to a shared 16-bit value.

StartViewFollow

Resolves a managed NamedObj packet to a live unit and conditionally installs view-follow state.

Open full entry →
Global
void StartViewFollow(NamedObj)

Resolves a managed NamedObj packet to a live unit and conditionally installs view-follow state.

SetDifficulty

SetDifficulty admits exactly zero one and two.

Open full entry →
Global
void SetDifficulty(int)

SetDifficulty admits exactly zero one and two.

GetDifficulty

GetDifficulty copies the dword at pointer field [field].

Open full entry →
Global
int GetDifficulty()

GetDifficulty copies the dword at pointer field [field].

GetMapRect

Returns the map bounds as a rectangle, in left, top, right, bottom order.

Open full entry →
Global
rect GetMapRect()

Returns the map bounds as a rectangle, in left, top, right, bottom order.

MapName

MapName selects inline or pointed storage at game[field] and pushes an eight-byte managed string.

Open full entry →
Global
str MapName()

MapName selects inline or pointed storage at game[field] and pushes an eight-byte managed string.

ChangeMap

Changes to the map whose map.xml name matches the first string. If several maps share a name, the first folder in string order is used.

The first string is the map name, not the folder number. If no map has that name, "ChangeMap: No map is named …" is logged and nothing changes. The second string is not documented here.

Open full entry →
Global
void ChangeMap(str, str)

Changes to the map whose map.xml name matches the first string. If several maps share a name, the first folder in string order is used.

SetNextSeason

SetNextSeason stores codes3,2,1 only for complete winter,autumn,spring matches.

Open full entry →
Global
void SetNextSeason(str)

SetNextSeason stores codes3,2,1 only for complete winter,autumn,spring matches.

GetTeamMilitaryScore

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int GetTeamMilitaryScore(int)Description pending

Description pending.

GetTeamPowerScore

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int GetTeamPowerScore(int)Description pending

Description pending.

GetTeamAchievementsScore

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int GetTeamAchievementsScore(int)Description pending

Description pending.

GetTeamOverallScore

Calculates and returns the average composite score across all players on a specified team.

Open full entry →
Global
int GetTeamOverallScore(int)

Calculates and returns the average composite score across all players on a specified team.

GetVec

Scales a wrapped integer point difference using signed division by an integer helper return.

Open full entry →
Global
point GetVec(point, point, int)

Scales a wrapped integer point difference using signed division by an integer helper return.

IsPassable

Returns an inverse map bitmap bit after signed bounds checks.

Open full entry →
Global
bool IsPassable(point)

Returns an inverse map bitmap bit after signed bounds checks.

IsPassable3x3

Tests a point and its eight surrounding offsets through a map passability bitmap helper.

Open full entry →
Global
bool IsPassable3x3(point)

Tests a point and its eight surrounding offsets through a map passability bitmap helper.

BlockMiniMap

Passes an inverted script boolean to a UI control helper and stores the original byte at Game[field].

Open full entry →
Global
void BlockMiniMap(bool)

Passes an inverted script boolean to a UI control helper and stores the original byte at Game[field].

IsExplored

Forwards a point and decremented player value to the exploration receiver.

Open full entry →
Global
bool IsExplored(point, int)

Forwards a point and decremented player value to the exploration receiver.

SelectionGold

SelectionGold sums selected wagon subtype-zero amounts.

Open full entry →
Global
int SelectionGold()

SelectionGold sums selected wagon subtype-zero amounts.

SelectionFood

SelectionFood sums selected wagon subtype-one amounts.

Open full entry →
Global
int SelectionFood()

SelectionFood sums selected wagon subtype-one amounts.

NoTents

NoTents negates an object predicate over the map vector.

Open full entry →
Global
bool NoTents()

NoTents negates an object predicate over the map vector.

RandomOffset

RandomOffset calls virtual slot [field] twice on Game[field] with the pair (-r,r), then writes (second,first).

Open full entry →
Global
point RandomOffset(int)

RandomOffset calls virtual slot [field] twice on Game[field] with the pair (-r,r), then writes (second,first).

RandomPointInCircle

Constructs a point from radial and angular samples and clamps it to map bounds.

Open full entry →
Global
point RandomPointInCircle(point, int)

Constructs a point from radial and angular samples and clamps it to map bounds.

PlayMovie

PlayMovie returns the saved movie helper result as a bool.

Open full entry →
Global
bool PlayMovie(str)

PlayMovie returns the saved movie helper result as a bool.

Translate

Translate resolves a string through primary and fallback translation tables.

Open full entry →
Global
str Translate(str)

Translate resolves a string through primary and fallback translation tables.

Translatef

Selects a translation table and formats one string value against a key.

Open full entry →
Global
str Translatef(str, str)

Selects a translation table and formats one string value against a key.

Translatef

Translatef chooses a translation table and formats a key with two strings.

Open full entry →
Global
str Translatef(str, str, str)

Translatef chooses a translation table and formats a key with two strings.

Translatef

Resolves a translation key and formats it with three string arguments.

Open full entry →
Global
str Translatef(str, str, str, str)

Resolves a translation key and formats it with three string arguments.

SaveAdventure

SaveAdventure builds profile[field] slash payload dot-adv and forwards it on the initial phase.

Open full entry →
Global
void SaveAdventure(str)

SaveAdventure builds profile[field] slash payload dot-adv and forwards it on the initial phase.

WasSelectionAssigned

WasSelectionAssigned group overload tests the stored assignment mask.

Open full entry →
Global
bool WasSelectionAssigned(int, int)

WasSelectionAssigned group overload tests the stored assignment mask.

WasSelectionAssigned

WasSelectionAssigned player overload tests any stored assignment bit.

Open full entry →
Global
bool WasSelectionAssigned(int)

WasSelectionAssigned player overload tests any stored assignment bit.

IsSelectionAssigned

Validates player and selection indices and reports whether the selected selection contains any units.

Open full entry →
Global
bool IsSelectionAssigned(int, int)

Validates player and selection indices and reports whether the selected selection contains any units.

IsSelectionAssigned

IsSelectionAssigned player overload scans ten live counts.

Open full entry →
Global
bool IsSelectionAssigned(int)

IsSelectionAssigned player overload scans ten live counts.

SetGlobalBloodlust

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetGlobalBloodlust(bool)Description pending

Description pending.

RevealHiddenEnemyUnits

Behavior awaiting documentation.

Open full entry →
Global
void RevealHiddenEnemyUnits(point, int, int)Description pending

Description pending.

InvalidateDamageFormulaParams

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void InvalidateDamageFormulaParams()Description pending

Description pending.

SwapSelectedObj

Behavior awaiting documentation.

Open full entry →
Global
void SwapSelectedObj(Obj, Obj)Description pending

Description pending.

Crash

Crash attempts an absolute zero-address dword write before its normal status-zero tail.

Open full entry →
Global
void Crash()

Crash attempts an absolute zero-address dword write before its normal status-zero tail.

AreaCenter

Returns area coordinates selected by its geometry mode field.

Open full entry →
Global
point AreaCenter(str)

Returns area coordinates selected by its geometry mode field.

DisableArea

Clears a resolved area state field before a conditional thread request.

Open full entry →
Global
void DisableArea(str)

Clears a resolved area state field before a conditional thread request.

EnableArea

Dispatches a successfully resolved area to an enable helper.

Open full entry →
Global
void EnableArea(str)

Dispatches a successfully resolved area to an enable helper.

GetRandomPointInArea

Returns a helper point or a fixed pair when area lookup fails.

Open full entry →
Global
point GetRandomPointInArea(str)

Returns a helper point or a fixed pair when area lookup fails.

AreaDistTo

Computes a nonnegative area distance value after name resolution.

Open full entry →
Global
int AreaDistTo(point, str)

Computes a nonnegative area distance value after name resolution.

_AdvPlaceAreaRect

Spawns an AdvArea and forwards rectangle, name and string setup.

Open full entry →
Global
void _AdvPlaceAreaRect(str, rect, str, str)

Spawns an AdvArea and forwards rectangle, name and string setup.

_AdvPlaceAreaCirc

Spawns and configures a circular adventure area from script arguments.

Open full entry →
Global
void _AdvPlaceAreaCirc(str, point, int, str, str)

Spawns and configures a circular adventure area from script arguments.

AddDruid

For a nonnull Sacrifice, passes the resolved Druid and a wrapping 32-bit sum of an existing receiver value and the integer argument to an operation, then returns whether its result is nonzero. Returns false for a null Sacrifice.

Open full entry →
Sacrifice
bool Sacrifice::AddDruid(Druid, int)

For a nonnull Sacrifice, passes the resolved Druid and a wrapping 32-bit sum of an existing receiver value and the integer argument to an operation, then returns whether its result is nonzero. Returns false for a null Sacrifice.

RemoveDruid

Consumes the Druid and Sacrifice references. For a nonnull Sacrifice, passes the receiver and resolved Druid to an implementation operation.

Open full entry →
Sacrifice
void Sacrifice::RemoveDruid(Druid)

Consumes the Druid and Sacrifice references. For a nonnull Sacrifice, passes the receiver and resolved Druid to an implementation operation.

Consume

At entry cursor S, Consume returns native status 1 without changing the cursor when both bytes S-1 and S-2 are nonzero, after storing dword[S-6] through global pointer [field].

Open full entry →
Sacrifice
int Sacrifice::Consume(int, int, bool)

At entry cursor S, Consume returns native status 1 without changing the cursor when both bytes S-1 and S-2 are nonzero, after storing dword[S-6] through global pointer [field].

IsEmpty

Sacrifice IsEmpty pushes receiver dword[field] != 0 for a resolved receiver and pushes true when receiver resolution is null.

Open full entry →
Sacrifice
bool Sacrifice::IsEmpty()

Sacrifice IsEmpty pushes receiver dword[field] != 0 for a resolved receiver and pushes true when receiver resolution is null.

MistAction

Processes a temporary collection, accepting nonnull entries only when they carry a particular flag and their registered reference is null or matches the resolved receiver.

Open full entry →
Sacrifice
void Sacrifice::MistAction(int)

Processes a temporary collection, accepting nonnull entries only when they carry a particular flag and their registered reference is null or matches the resolved receiver.

IsInvisibility

For a resolved Sacrifice, IsInvisibility selects the string at descriptor+8 from receiver[field] and pushes whether case-insensitive comparison with Hide returns zero; null resolution pushes false.

Open full entry →
Sacrifice
bool Sacrifice::IsInvisibility()

For a resolved Sacrifice, IsInvisibility selects the string at descriptor+8 from receiver[field] and pushes whether case-insensitive comparison with Hide returns zero; null resolution pushes false.

Druids

Copies the Sacrifice object's linked-list member handles into a new ObjList.

Open full entry →
Sacrifice
ObjList Sacrifice::Druids()

Copies the Sacrifice object's linked-list member handles into a new ObjList.

UpdateCoverOfMercy

Consumes one reference and queries an interface derived from the receiver. If that query is nonnull, invokes the corresponding operation on the returned interface.

Open full entry →
Sacrifice
void Sacrifice::UpdateCoverOfMercy()

Consumes one reference and queries an interface derived from the receiver. If that query is nonnull, invokes the corresponding operation on the returned interface.

GiveNote

Shows the player the map objective whose id matches the text, as defined in the map's Notes.xml.

In play it shows a notice with an icon and the objective title. An unknown id shows nothing. The objectives window and the minimap marker were not checked.

Open full entry →
Global
void GiveNote(str)

Shows the player the map objective whose id matches the text, as defined in the map's Notes.xml.

RemoveNote

Converts the script name to a native string and dispatches to the note-manager removal helper.

Open full entry →
Global
void RemoveNote(str)

Converts the script name to a native string and dispatches to the note-manager removal helper.

ShowNotes

Dispatches a zero argument to the notes-dialog helper and returns normally.

Open full entry →
Global
void ShowNotes()

Dispatches a zero argument to the notes-dialog helper and returns normally.

ClearNotes

Dispatches note-tree erasure and resets its header links and logical count to the empty state.

Open full entry →
Global
void ClearNotes()

Dispatches note-tree erasure and resets its header links and logical count to the empty state.

IsNoteActive

Returns whether the input name has an exact case-sensitive key in the note-manager tree.

Open full entry →
Global
bool IsNoteActive(str)

Returns whether the input name has an exact case-sensitive key in the note-manager tree.

CreateFeedback

Resolves a Unit and a feedback class name, looks up its class template, and spawns the feedback visual/audio effect.

Open full entry →
Global
void CreateFeedback(str, Unit)

Resolves a Unit and a feedback class name, looks up its class template, and spawns the feedback visual/audio effect.

CreateFeedback

Resolves a unit and named class and dispatches feedback construction with the supplied duration integer.

Open full entry →
Global
void CreateFeedback(str, Unit, int)

Resolves a unit and named class and dispatches feedback construction with the supplied duration integer.

CreateFeedback

Constructs named feedback at a supplied point and initializes its scheduling field from the current game field.

Open full entry →
Global
void CreateFeedback(str, point)

Constructs named feedback at a supplied point and initializes its scheduling field from the current game field.

CreateFeedback

Constructs named feedback at a supplied point and initializes its scheduling field with the integer offset.

Open full entry →
Global
void CreateFeedback(str, point, int)

Constructs named feedback at a supplied point and initializes its scheduling field with the integer offset.

DiplCeaseFire

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void DiplCeaseFire(int, int, bool)Description pending

Description pending.

DiplShareView

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void DiplShareView(int, int, bool)Description pending

Description pending.

DiplShareControl

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void DiplShareControl(int, int, bool)Description pending

Description pending.

DiplShareSupport

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void DiplShareSupport(int, int, bool)Description pending

Description pending.

DiplGetCeaseFire

Evaluates whether player 1 has a ceasefire with player 2 by querying bit 0 of the player's diplomacy record.

Open full entry →
Global
bool DiplGetCeaseFire(int, int)

Evaluates whether player 1 has a ceasefire with player 2 by querying bit 0 of the player's diplomacy record.

DiplGetShareView

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
bool DiplGetShareView(int, int)Description pending

Description pending.

DiplGetShareControl

Evaluates whether player 1 has granted shared control to player 2 by querying bit 5 of the player's diplomacy record.

Open full entry →
Global
bool DiplGetShareControl(int, int)

Evaluates whether player 1 has granted shared control to player 2 by querying bit 5 of the player's diplomacy record.

DiplGetShareSupport

inspects diplomacy mask bit 2 to determine if two players share support.

Open full entry →
Global
bool DiplGetShareSupport(int, int)

inspects diplomacy mask bit 2 to determine if two players share support.

ClearDiplomacy

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void ClearDiplomacy()Description pending

Description pending.

RecreateExploration

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void RecreateExploration()Description pending

Description pending.

AsGate

Queries the resolved Obj for its Gate component and returns a Gate reference or an invalid-reference sentinel.

Open full entry →
Obj
Gate Obj::AsGate()

Queries the resolved Obj for its Gate component and returns a Gate reference or an invalid-reference sentinel.

IsOpened

Returns true only when the gate is open and its opening animation has finished.

While the gate is still opening it returns false. The result for an object that is not a valid gate has not been re-checked.

Open full entry →
Gate
bool Gate::IsOpened()

Returns true only when the gate is open and its opening animation has finished.

IsClosed

CKS Gate::IsClosed tests the resolved gate state and animation frame, with false on an invalid receiver.

Open full entry →
Gate
bool Gate::IsClosed()

CKS Gate::IsClosed tests the resolved gate state and animation frame, with false on an invalid receiver.

AreEnemiesAround

Gate around predicates test cached dwords.

Open full entry →
Gate
bool Gate::AreEnemiesAround()

Gate around predicates test cached dwords.

AreFriendsAround

Gate around predicates test cached dwords.

Open full entry →
Gate
bool Gate::AreFriendsAround()

Gate around predicates test cached dwords.

LookAround

Resets gate proximity cache and runs a bounded native circle scan.

Open full entry →
Gate
void Gate::LookAround(int)

Resets gate proximity cache and runs a bounded native circle scan.

OpenNow

CKS-exposed Gate::OpenNow, setting the target state to open and resetting the timer, guarded by broken status and current state.

Open full entry →
Gate
void Gate::OpenNow()

CKS-exposed Gate::OpenNow, setting the target state to open and resetting the timer, guarded by broken status and current state.

CloseNow

Closes the gate at once if it is not already closed and not destroyed.

A gate in its highest damage state is not affected. The gate's movement after closing is not documented here.

Open full entry →
Gate
void Gate::CloseNow()

Closes the gate at once if it is not already closed and not destroyed.

AsTeleport

Resolves an Obj and queries its Teleport interface to build a Teleport handle.

Open full entry →
Obj
Teleport Obj::AsTeleport()

Resolves an Obj and queries its Teleport interface to build a Teleport handle.

destination

Teleport::destination copies Teleport [field] into the low word of an 8-byte result and zeroes its second dword, while leaving the first dword's upper word unspecified.

Open full entry →
Teleport
Teleport Teleport::destination()

Teleport::destination copies Teleport [field] into the low word of an 8-byte result and zeroes its second dword, while leaving the first dword's upper word unspecified.

exit_vector

Teleport exit_vector copies two dwords.

Open full entry →
Teleport
point Teleport::exit_vector()

Teleport exit_vector copies two dwords.

Traverse

Teleport::Traverse ORs the dword at an indexed player record [field] into the resolved Teleport dword [field].

Open full entry →
Teleport
void Teleport::Traverse(int)

Teleport::Traverse ORs the dword at an indexed player record [field] into the resolved Teleport dword [field].

ShowBuildAnimation

Slides an already created ship from the shipyard exit along the given vector over about 800 milliseconds, like a launch. It is not a construction sequence.

The game data only calls it from the shipyard script, after CreateShip and with the central building's exit vector. The position is updated during the slide. The visual result was not captured.

Open full entry →
Ship
void Ship::ShowBuildAnimation(point)

Slides an already created ship from the shipyard exit along the given vector over about 800 milliseconds, like a launch. It is not a construction sequence.

NotifyBoardUnit

Resolves Ship and Unit references and conditionally invokes the native boarding notification admission helper.

⚠ Only partly documented so far.

Open full entry →
Ship
void Ship::NotifyBoardUnit(Unit)

Resolves Ship and Unit references and conditionally invokes the native boarding notification admission helper.

AreUnitsToBoard

Cleans invalid or destroyed entries from a ship boarding list and reports whether any remain.

Open full entry →
Ship
bool Ship::AreUnitsToBoard()

Cleans invalid or destroyed entries from a ship boarding list and reports whether any remain.

BestCandidateToBoard

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Ship
Unit Ship::BestCandidateToBoard()Description pending

Description pending.

BoardUnit

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Ship
bool Ship::BoardUnit(Unit)Description pending

Description pending.

NotifyBoardUnitCancel

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Ship
void Ship::NotifyBoardUnitCancel(Unit)Description pending

Description pending.

NotifyShipBoardingCancel

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Ship
void Ship::NotifyShipBoardingCancel()Description pending

Description pending.

UnboardUnits

Selects candidate positions and dispatches a reserve and movement routine for matching ObjList members.

Open full entry →
Ship
void Ship::UnboardUnits(ObjList)

Selects candidate positions and dispatches a reserve and movement routine for matching ObjList members.

UnboardAllUnits

Resolves the Ship, builds a filtered position vector and repeatedly dispatches its first matching member while candidates and the saved-container count remain.

Open full entry →
Ship
void Ship::UnboardAllUnits()

Resolves the Ship, builds a filtered position vector and repeatedly dispatches its first matching member while candidates and the saved-container count remain.

IsPointInWater

Evaluates whether a given map coordinate corresponds to a water terrain tile by querying the global map terrain grid.

Open full entry →
Global
bool IsPointInWater(point)

Evaluates whether a given map coordinate corresponds to a water terrain tile by querying the global map terrain grid.

FindPointToStay

FindPointToStay tries up to 100 points offset by two separate [-500,500] draws, requiring matching LSA, a clear occupancy bit and a nonzero clearance-helper result.

Open full entry →
Ship
point Ship::FindPointToStay()

FindPointToStay tries up to 100 points offset by two separate [-500,500] draws, requiring matching LSA, a clear occupancy bit and a nonzero clearance-helper result.

UnitsCount

Ship[field] is a Holder handle, and this function returns that Holder's current occupancy at [field].

Open full entry →
Ship
int Ship::UnitsCount()

Ship[field] is a Holder handle, and this function returns that Holder's current occupancy at [field].

UnitsMax

Ship[field] is a Holder handle, and this function returns that Holder's capacity at [field].

Open full entry →
Ship
int Ship::UnitsMax()

Ship[field] is a Holder handle, and this function returns that Holder's capacity at [field].

Idle

Initializes ship idle state when necessary and returns the VM blocking status.

Open full entry →
Ship
void Ship::Idle()

Initializes ship idle state when necessary and returns the VM blocking status.

HasAiTransport

HasAiTransport returns whether the resolved ship's string at [field] has nonzero length at [field].

Open full entry →
Ship
bool Ship::HasAiTransport()

HasAiTransport returns whether the resolved ship's string at [field] has nonzero length at [field].

GetUnitsOnBoard

Copies the container at [field] of the object selected by the Ship's [field] handle.

Open full entry →
Ship
ObjList Ship::GetUnitsOnBoard()

Copies the container at [field] of the object selected by the Ship's [field] handle.

ApplyAiTransport

Behavior awaiting documentation.

⚠ Only partly documented so far.

Open full entry →
Ship
void Ship::ApplyAiTransport()Description pending

Description pending.

ClearAiTransport

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Ship
void Ship::ClearAiTransport()Description pending

Description pending.

GetTransPt

Returns two 32-bit components from the resolved Ship as a point.

Open full entry →
Ship
point Ship::GetTransPt()

Returns two 32-bit components from the resolved Ship as a point.

IsBuilding

Ship::IsBuilding returns the one-byte predicate signed_dword(Ship[field])>0 for a resolved Ship and false for an unresolved handle.

Open full entry →
Ship
bool Ship::IsBuilding()

Ship::IsBuilding returns the one-byte predicate signed_dword(Ship[field])>0 for a resolved Ship and false for an unresolved handle.

NumUnitsToBoard

Ship::NumUnitsToBoard returns the dword at resolved Ship[field], the count component of its [field] pending container, or zero when the handle cannot resolve.

Open full entry →
Ship
int Ship::NumUnitsToBoard()

Ship::NumUnitsToBoard returns the dword at resolved Ship[field], the count component of its [field] pending container, or zero when the handle cannot resolve.

RecalcBonuses

Calls a resolved Unit's virtual bonus recalculation slot.

Open full entry →
Unit
void Unit::RecalcBonuses()

Calls a resolved Unit's virtual bonus recalculation slot.

AddBonus

Builds a bonus descriptor, adds it to a Unit-linked collection, and recalculates bonuses.

Open full entry →
Unit
void Unit::AddBonus(int, int, int, int, int)

Builds a bonus descriptor, adds it to a Unit-linked collection, and recalculates bonuses.

RemoveBonus

Subtracts a bonus descriptor from a Unit-linked collection and recalculates bonuses.

Open full entry →
Unit
void Unit::RemoveBonus(int, int, int, int, int)

Subtracts a bonus descriptor from a Unit-linked collection and recalculates bonuses.

ItemUsed

Deducts a script-supplied amount from a registry object's dword and invokes its virtual slot zero when nonpositive.

Open full entry →
Global
void ItemUsed(int)

Deducts a script-supplied amount from a registry object's dword and invokes its virtual slot zero when nonpositive.

GetUseCount

Returns a field from the active item's script context or zero when context resolution fails.

Open full entry →
Global
int GetUseCount()

Returns a field from the active item's script context or zero when context resolution fails.

use_count

Item::use_count resolves an Item, resolves the registry slot stored at Item [field], and returns the secondary object's dword at [field].

Open full entry →
Item
int Item::use_count()

Item::use_count resolves an Item, resolves the registry slot stored at Item [field], and returns the secondary object's dword at [field].

custom_data

Item::custom_data re-resolves the Item wrapper's registered base object through [field] and returns its dword at [field].

Open full entry →
Item
int Item::custom_data()

Item::custom_data re-resolves the Item wrapper's registered base object through [field] and returns its dword at [field].

id

Builds a VM string from the registered item base descriptor first string.

Open full entry →
Item
str Item::id()

Builds a VM string from the registered item base descriptor first string.

name

Builds a VM string from the same descriptor string selected by Item id.

Open full entry →
Item
str Item::name()

Builds a VM string from the same descriptor string selected by Item id.

display_name

Builds a VM string from the descriptor second string at [field].

Open full entry →
Item
str Item::display_name()

Builds a VM string from the descriptor second string at [field].

Use

Resolves the registered Item base and forwards it to the immediate use helper.

Open full entry →
Item
void Item::Use()

Resolves the registered Item base and forwards it to the immediate use helper.

Use

Forwards a target object handle to the targeted use helper after resolving the Item base.

Open full entry →
Item
void Item::Use(Obj)

Forwards a target object handle to the targeted use helper after resolving the Item base.

Use

Clamps a point to signed map bounds and forwards it to the positional use helper.

Open full entry →
Item
void Item::Use(point)

Clamps a point to signed map bounds and forwards it to the positional use helper.

SetCustomData

Behavior awaiting documentation.

Open full entry →
Item
void Item::SetCustomData(int)Description pending

Description pending.

GetThis

Returns the item reference stored by the current item script while its registry entry remains nonnull.

Open full entry →
Global
Item GetThis()

Returns the item reference stored by the current item script while its registry entry remains nonnull.

PlayAnim

Validates and starts a Flying animation, then suspends the VM.

Open full entry →
Flying
void Flying::PlayAnim(int, point, int)

Validates and starts a Flying animation, then suspends the VM.

IsInAir

Flying::IsInAir extracts bit 22 from the resolved Flying object's dword at offset [field] and returns it as a boolean.

Open full entry →
Flying
bool Flying::IsInAir()

Flying::IsInAir extracts bit 22 from the resolved Flying object's dword at offset [field] and returns it as a boolean.

IsLanding

Returns true when a particular object flag is set and a stored 32-bit field is nonzero. The field meanings are not documented.

Open full entry →
Flying
bool Flying::IsLanding()

Returns true when a particular object flag is set and a stored 32-bit field is nonzero. The field meanings are not documented.

z

Resolves a Flying handle and returns the associated height calculation.

Open full entry →
Flying
int Flying::z()

Resolves a Flying handle and returns the associated height calculation.

PickFlyingPoint

Picks a flight point at roughly the distance given by the argument. It follows the heading of a nearby moving unit of the same class; otherwise it tries twelve directions and chooses the least crowded one closest to the current heading.

A small random offset is added to the resulting point. An invalid object returns the point (0, 0). Based on static reading only.

Open full entry →
Flying
point Flying::PickFlyingPoint(int)

Picks a flight point at roughly the distance given by the argument. It follows the heading of a nearby moving unit of the same class; otherwise it tries twelve directions and chooses the least crowded one closest to the current heading.

PickLandingPoint

Behavior awaiting documentation.

Open full entry →
Flying
point Flying::PickLandingPoint(int)Description pending

Description pending.

FindNearBird

Returns the first nonself spatial candidate with the exact receiver template inside a fixed search circle.

Open full entry →
Flying
Flying Flying::FindNearBird()

Returns the first nonself spatial candidate with the exact receiver template inside a fixed search circle.

AdjustFlyDir

Conditionally transforms a referenced point outside an inset rectangle using object vector fields and quadrant rotations.

Open full entry →
Flying
void Flying::AdjustFlyDir(point&)

Conditionally transforms a referenced point outside an inset rectangle using object vector fields and quadrant rotations.

GetTerrainHeight

Clamps a world point to map bounds and samples terrain height there.

Open full entry →
Global
int GetTerrainHeight(point)

Clamps a world point to map bounds and samples terrain height there.

GetVecByDir

Scales an input point vector to a requested integer magnitude.

Open full entry →
Global
point GetVecByDir(point, int)

Scales an input point vector to a requested integer magnitude.

GetAngleByDir

GetAngleByDir forms a wrapped unsigned squared length and applies a finite-path asin/quadrant pipeline before low-dword integer conversion.

Open full entry →
Global
int GetAngleByDir(point)

GetAngleByDir forms a wrapped unsigned squared length and applies a finite-path asin/quadrant pipeline before low-dword integer conversion.

GetDirByAngle

Handler for this function, point GetDirByAngle(int): returns cosine and sine of a degree angle scaled by 100.

Open full entry →
Global
point GetDirByAngle(int)

Handler for this function, point GetDirByAngle(int): returns cosine and sine of a degree angle scaled by 100.

MapSize

Implements this function, returning the global map maximum X bound.

Open full entry →
Global
int MapSize()

Implements this function, returning the global map maximum X bound.

GetAnimDuration

Behavior awaiting documentation.

Open full entry →
Unit
int Unit::GetAnimDuration(int)Description pending

Description pending.

dir

Returns two 32-bit components from the resolved Unit as a point.

Open full entry →
Unit
point Unit::dir()

Returns two 32-bit components from the resolved Unit as a point.

OnLeft

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
bool OnLeft(point, point)Description pending

Description pending.

NumSquads

NumSquads returns a per-player squad pointer-span length divided by four for input IDs 1 through 16 and zero otherwise.

Open full entry →
Global
int NumSquads(int)

NumSquads returns a per-player squad pointer-span length divided by four for input IDs 1 through 16 and zero otherwise.

GetSquad

Handler for this function, Squad GetSquad(int, int): packs player and index into a 4-byte Squad value.

Open full entry →
Global
Squad GetSquad(int, int)

Handler for this function, Squad GetSquad(int, int): packs player and index into a 4-byte Squad value.

GetSquad

Returns the zero-extended squad word linked from a resolved Unit.

Open full entry →
Unit
Squad Unit::GetSquad()

Returns the zero-extended squad word linked from a resolved Unit.

Player

Handler for this function, int Squad::Player(Squad): decodes the player from the Squad value.

Open full entry →
Squad
int Squad::Player()

Handler for this function, int Squad::Player(Squad): decodes the player from the Squad value.

No

Squad No returns the twelve-bit packed squad index.

Open full entry →
Squad
int Squad::No()

Squad No returns the twelve-bit packed squad index.

Eval

CKS scripting bridge returning the cached combat evaluation sum of a squad from offset [field].

Open full entry →
Squad
int Squad::Eval()

CKS scripting bridge returning the cached combat evaluation sum of a squad from offset [field].

State

Returns the squad's numeric state code as an integer obtained from an unsigned 16-bit value.

Scripts compare this result with state constants such as SS_Approach and SS_ApproachWait. This entry does not enumerate the meaning of every code. Behavior with an invalid squad reference is not yet documented.

Open full entry →
Squad
int Squad::State()

Returns the squad's numeric state code as an integer obtained from an unsigned 16-bit value.

SetState

updates a squad's internal state code and records the transition timestamp.

Open full entry →
Squad
void Squad::SetState(int)

updates a squad's internal state code and records the transition timestamp.

StateTime

Squad StateTime returns game [field] minus resolved squad record [field].

Open full entry →
Squad
int Squad::StateTime()

Squad StateTime returns game [field] minus resolved squad record [field].

Size

CKS scripting bridge and internal accessor returning the active unit count of a squad from offset [field].

Open full entry →
Squad
int Squad::Size()

CKS scripting bridge and internal accessor returning the active unit count of a squad from offset [field].

SrcGAIKA

The SrcGAIKA and DestGAIKA handlers return the squad record's 16-bit fields at [field] and [field], respectively.

Open full entry →
Squad
GAIKA Squad::SrcGAIKA()

The SrcGAIKA and DestGAIKA handlers return the squad record's 16-bit fields at [field] and [field], respectively.

DestGAIKA

The SrcGAIKA and DestGAIKA handlers return the squad record's 16-bit fields at [field] and [field], respectively.

Open full entry →
Squad
GAIKA Squad::DestGAIKA()

The SrcGAIKA and DestGAIKA handlers return the squad record's 16-bit fields at [field] and [field], respectively.

GAIKAIn

Squad::GAIKAIn resolves the packed Squad value and returns the zero-extended 16-bit field at squad record [field].

Open full entry →
Squad
GAIKA Squad::GAIKAIn()

Squad::GAIKAIn resolves the packed Squad value and returns the zero-extended 16-bit field at squad record [field].

Leader

CKS scripting bridge resolving a squad's leading unit handle from the head of its member collection.

Open full entry →
Squad
Unit Squad::Leader()

CKS scripting bridge resolving a squad's leading unit handle from the head of its member collection.

Units

Copies the Squad record's [field] member container into a new ObjList.

Open full entry →
Squad
ObjList Squad::Units()

Copies the Squad record's [field] member container into a new ObjList.

SetState

Updates state, masked flags and a game-clock snapshot for a resolved Squad.

Open full entry →
Squad
void Squad::SetState(int, int, int)

Updates state, masked flags and a game-clock snapshot for a resolved Squad.

ClrCmd

Updates a squad command state and notifies member units.

Open full entry →
Squad
void Squad::ClrCmd(int, int, int)

Updates a squad command state and notifies member units.

SetCmd

Updates squad state and flags and submits named zero-argument commands to member units.

Open full entry →
Squad
void Squad::SetCmd(int, int, int, str)

Updates squad state and flags and submits named zero-argument commands to member units.

SetCmd

Resolves the squad reference and delegates a command operation with target point coordinates.

Open full entry →
Squad
void Squad::SetCmd(int, int, int, str, point)

Resolves the squad reference and delegates a command operation with target point coordinates.

SetCmd

Updates squad command state and submits an object-target command to eligible member units.

Open full entry →
Squad
void Squad::SetCmd(int, int, int, str, Obj)

Updates squad command state and submits an object-target command to eligible member units.

Siege

The handler pops two integers and two object handles.

Open full entry →
ObjList
void ObjList::Siege(Obj, int, int)

The handler pops two integers and two object handles.

Siege

Stores the final state argument before validating the target and delegates member siege planning.

Open full entry →
Squad
void Squad::Siege(Obj, int, int, int)

Stores the final state argument before validating the target and delegates member siege planning.

SendTo

Validates a packed Squad handle and delegates a destination command for an active squad.

Open full entry →
Squad
void Squad::SendTo(GAIKA, int)

Validates a packed Squad handle and delegates a destination command for an active squad.

AIDest

Returns a squad's AI destination identifier with a stored-field fallback.

Open full entry →
Squad
GAIKA Squad::AIDest()

Returns a squad's AI destination identifier with a stored-field fallback.

OrderDest

Resolves a Squad record and returns the order destination selected by a record helper.

Open full entry →
Squad
GAIKA Squad::OrderDest()

Resolves a Squad record and returns the order destination selected by a record helper.

DelOrder

Delegates a packed squad index to the player AI order-release helper.

Open full entry →
Squad
void Squad::DelOrder()

Delegates a packed squad index to the player AI order-release helper.

GetFlags

Behavior awaiting documentation.

Open full entry →
Squad
int Squad::GetFlags()Description pending

Description pending.

TestFlags

Tests whether a squad satisfies all bits in a specified bitmask against its internal flags at offset [field].

Open full entry →
Squad
bool Squad::TestFlags(int)

Tests whether a squad satisfies all bits in a specified bitmask against its internal flags at offset [field].

SetFlags

Behavior awaiting documentation.

Open full entry →
Squad
void Squad::SetFlags(int, int)Description pending

Description pending.

Lock

Behavior awaiting documentation.

Open full entry →
Squad
void Squad::Lock()Description pending

Description pending.

Unlock

Behavior awaiting documentation.

Open full entry →
Squad
void Squad::Unlock()Description pending

Description pending.

LastFightTime

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Squad
int Squad::LastFightTime()Description pending

Description pending.

InHolder

Scans squad members and rejects non-null entries with holder word FFFF.

Open full entry →
Squad
bool Squad::InHolder()

Scans squad members and rejects non-null entries with holder word FFFF.

pos

Resolves a squad leader and returns its point or (-1,-1).

Open full entry →
Squad
point Squad::pos()

Resolves a squad leader and returns its point or (-1,-1).

health

Computes current health by summing the [field] dword of each non-null registry object in the resolved squad member traversal.

Open full entry →
Squad
int Squad::health()

Computes current health by summing the [field] dword of each non-null registry object in the resolved squad member traversal.

maxhealth

Computes maximum health by summing the [field] dword of each non-null registry object in the resolved squad member traversal.

Open full entry →
Squad
int Squad::maxhealth()

Computes maximum health by summing the [field] dword of each non-null registry object in the resolved squad member traversal.

food

Sums food dwords of resolved squad members.

Open full entry →
Squad
int Squad::food()

Sums food dwords of resolved squad members.

FoodComing

Sums food amounts of player wagons whose command target belongs to the requested squad.

Open full entry →
Squad
int Squad::FoodComing()

Sums food amounts of player wagons whose command target belongs to the requested squad.

SendFoodWagon

Selects an eligible nearby food wagon (scanning existing wagons and buildings that can spawn one) and constructs/enqueues a "follow" command targeting a hero; its own selection algorithm is substantially richer than a simple nearby-wagon scan.

Open full entry →
Squad
bool Squad::SendFoodWagon(int, int)

Selects an eligible nearby food wagon (scanning existing wagons and buildings that can spawn one) and constructs/enqueues a "follow" command targeting a hero; its own selection algorithm is substantially richer than a simple nearby-wagon scan.

EvalAttach

Scores a candidate unit using squad size, affiliation equality and its virtual level result.

Open full entry →
Squad
int Squad::EvalAttach(Unit, int)

Scores a candidate unit using squad size, affiliation equality and its virtual level result.

Count

Counts squad members whose class template matches a named ancestry chain.

Open full entry →
Squad
int Squad::Count(str)

Counts squad members whose class template matches a named ancestry chain.

HasFreedom

Scans members for a particular object flag or a nonzero class-query result.

Open full entry →
Squad
bool Squad::HasFreedom()

Scans members for a particular object flag or a nonzero class-query result.

GAIKACount

Returns the number of GAIKA records in the shared AI record range.

Open full entry →
Global
int GAIKACount()

Returns the number of GAIKA records in the shared AI record range.

GetGAIKA

Leaves the four-byte argument slot unchanged so that its value becomes the GAIKA result.

Open full entry →
Global
GAIKA GetGAIKA(int)

Leaves the four-byte argument slot unchanged so that its value becomes the GAIKA result.

GetGAIKA

Resolves an Obj handle and pushes the zero-extended low word returned by its object-position GAIKA helper.

Open full entry →
Global
GAIKA GetGAIKA(Obj)

Resolves an Obj handle and pushes the zero-extended low word returned by its object-position GAIKA helper.

GetGAIKA

Obtains the GAIKA value associated with the point's coordinates in the AI map. Returns zero if that AI map is unavailable.

The result is obtained from an unsigned 16-bit value. Zero is a default return value in the case described, but it has not been established as a universally invalid GAIKA. Map topology and complete behavior for coordinates outside its bounds are not documented here.

Open full entry →
Global
GAIKA GetGAIKA(point)

Obtains the GAIKA value associated with the point's coordinates in the AI map. Returns zero if that AI map is unavailable.

GetGAIKA

Resolves two integer coordinates through the global AI map and returns a zero-extended 16-bit GAIKA value.

Open full entry →
Global
GAIKA GetGAIKA(int, int)

Resolves two integer coordinates through the global AI map and returns a zero-extended 16-bit GAIKA value.

LAIKA

Returns the first 16-bit value of the selected AI entry after checked player and index lookup, or zero on failure.

Open full entry →
Global
GAIKA LAIKA(int, int)

Returns the first 16-bit value of the selected AI entry after checked player and index lookup, or zero on failure.

ID

Leaves the four-byte GAIKA receiver slot unchanged so that its value becomes the integer result.

Open full entry →
GAIKA
int GAIKA::ID()

Leaves the four-byte GAIKA receiver slot unchanged so that its value becomes the integer result.

Empty

GAIKA::Empty returns whether the selected global GAIKA record dword [field] is zero, with true on explicit resolution failure.

Open full entry →
GAIKA
bool GAIKA::Empty()

GAIKA::Empty returns whether the selected global GAIKA record dword [field] is zero, with true on explicit resolution failure.

Type

GAIKA::Type returns integer 0 or 1 according to whether global GAIKA record dword [field] is nonzero.

Open full entry →
GAIKA
int GAIKA::Type()

GAIKA::Type returns integer 0 or 1 according to whether global GAIKA record dword [field] is nonzero.

Center

GAIKA::Center copies dwords +8 and +12 from a resolved GAIKA record, returning a zero point if no record resolves.

Open full entry →
GAIKA
point GAIKA::Center()

GAIKA::Center copies dwords +8 and +12 from a resolved GAIKA record, returning a zero point if no record resolves.

GetDestPoint

Returns a stored destination or derives an approach point for selected building configurations.

Open full entry →
GAIKA
point GAIKA::GetDestPoint(Unit)

Returns a stored destination or derives an approach point for selected building configurations.

settlement

Returns the settlement handle attached to a GAIKA record, or a null handle.

Open full entry →
GAIKA
Settlement GAIKA::settlement()

Returns the settlement handle attached to a GAIKA record, or a null handle.

GetSquads

The two-argument GetSquads replaces its referenced list with a fresh list of every packed squad ID in record [field].

Open full entry →
GAIKA
void GAIKA::GetSquads(SquadList&)

The two-argument GetSquads replaces its referenced list with a fresh list of every packed squad ID in record [field].

GetSquads

The three-argument GetSquads replaces the referenced list and appends squad IDs whose nonzero [field] and computed category intersect its mask.

Open full entry →
GAIKA
void GAIKA::GetSquads(SquadList&, int)

The three-argument GetSquads replaces the referenced list and appends squad IDs whose nonzero [field] and computed category intersect its mask.

GetSquads

The four-argument GetSquads requires relation mask 1 before applying the category mask and rebuilding the output list.

Open full entry →
GAIKA
void GAIKA::GetSquads(SquadList&, int, int)

The four-argument GetSquads requires relation mask 1 before applying the category mask and rebuilding the output list.

GetSquads

Builds a SquadList from GAIKA squads filtered by relation and destination masks.

Open full entry →
GAIKA
void GAIKA::GetSquads(SquadList&, int, int, int)

Builds a SquadList from GAIKA squads filtered by relation and destination masks.

Eval

The two-argument Eval adds squad [field] values selected by category mask, with a separately gated attached-settlement contribution.

Open full entry →
GAIKA
int GAIKA::Eval(int)

The two-argument Eval adds squad [field] values selected by category mask, with a separately gated attached-settlement contribution.

Eval

The three-argument Eval gates category-matching cached evaluation sums on relation mask 1 for the selected player.

Open full entry →
GAIKA
int GAIKA::Eval(int, int)

The three-argument Eval gates category-matching cached evaluation sums on relation mask 1 for the selected player.

Eval

Evaluates cached squad and conditional guard contributions under presence, player and relation controls.

Open full entry →
GAIKA
int GAIKA::Eval(int, int, int)

Evaluates cached squad and conditional guard contributions under presence, player and relation controls.

Eval

Accumulates three relation buckets and a conditional fourth squad subset into four referenced integers.

Open full entry →
GAIKA
void GAIKA::Eval(int, int, int&, int&, int&, int&)

Accumulates three relation buckets and a conditional fourth squad subset into four referenced integers.

EvalNeighbors

Traverses neighboring GAIKA records, filters them, and accumulates three referenced evaluation outputs.

Open full entry →
GAIKA
void GAIKA::EvalNeighbors(int, int, int&, int&, int&, bool)

Traverses neighboring GAIKA records, filters them, and accumulates three referenced evaluation outputs.

Count

The seven-argument Count fills four referenced accumulators selected by category mask and relation codes, leaving its fourth output unchanged on missing GAIKA.

Open full entry →
GAIKA
void GAIKA::Count(int, int, int&, int&, int&, int&)

The seven-argument Count fills four referenced accumulators selected by category mask and relation codes, leaving its fourth output unchanged on missing GAIKA.

GetPriority

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
GAIKA
int GAIKA::GetPriority(int)Description pending

Description pending.

GetLAIKA

GetLAIKA returns the zero-extended mapping word indexed by low16 GAIKA in the selected player's AI table, with zero for locally rejected cases.

Open full entry →
GAIKA
int GAIKA::GetLAIKA(int)

GetLAIKA returns the zero-extended mapping word indexed by low16 GAIKA in the selected player's AI table, with zero for locally rejected cases.

CalcPriority

Calls a selected priority script with a temporary referenced integer and returns its nonnegative contribution under the native dispatch gate.

Open full entry →
GAIKA
int GAIKA::CalcPriority(int)

Calls a selected priority script with a temporary referenced integer and returns its nonnegative contribution under the native dispatch gate.

SetPriority

SetPriority resolves low16 GAIKA through a player AI word mapping and calls the mapped-priority helper with the supplied priority.

Open full entry →
GAIKA
void GAIKA::SetPriority(int, int)

SetPriority resolves low16 GAIKA through a player AI word mapping and calls the mapped-priority helper with the supplied priority.

Prioritized

Looks up the selected AI table entry and returns bit zero of its stored 16-bit value.

Open full entry →
GAIKA
bool GAIKA::Prioritized(int)

Looks up the selected AI table entry and returns bit zero of its stored 16-bit value.

Explored

Resolves a player's GAIKA-related AI record and returns a mode-dependent explored predicate.

Open full entry →
GAIKA
bool GAIKA::Explored(int)

Resolves a player's GAIKA-related AI record and returns a mode-dependent explored predicate.

Explore

Sets or clears bit 1 in a validated per-player GAIKA record.

Open full entry →
GAIKA
void GAIKA::Explore(int, bool)

Sets or clears bit 1 in a validated per-player GAIKA record.

CanExplore

Selects adjacent or object-derived per-player descriptors passing a native exploration predicate.

Open full entry →
GAIKA
bool GAIKA::CanExplore(int)

Selects adjacent or object-derived per-player descriptors passing a native exploration predicate.

Revealed

Resolves a player GAIKA record and delegates a mode-dependent Boolean predicate.

Open full entry →
GAIKA
bool GAIKA::Revealed(int)

Resolves a player GAIKA record and delegates a mode-dependent Boolean predicate.

LastSeen

GAIKA::LastSeen returns dword [field] of the mapped player record, or integer zero on explicit resolution failure.

Open full entry →
GAIKA
int GAIKA::LastSeen(int)

GAIKA::LastSeen returns dword [field] of the mapped player record, or integer zero on explicit resolution failure.

NoAttack

Reads the no-attack mask in a byte of the resolved GAIKA record.

Open full entry →
GAIKA
bool GAIKA::NoAttack(int)

Reads the no-attack mask in a byte of the resolved GAIKA record.

SetNoAttack

Updates the no-attack mask in a byte of the resolved GAIKA record.

Open full entry →
GAIKA
void GAIKA::SetNoAttack(int, bool)

Updates the no-attack mask in a byte of the resolved GAIKA record.

NoRecruit

Reads the no-recruit mask in a byte of the mapped player record.

Open full entry →
GAIKA
bool GAIKA::NoRecruit(int)

Reads the no-recruit mask in a byte of the mapped player record.

SetNoRecruit

Updates the no-recruit mask in a byte of the mapped player record.

Open full entry →
GAIKA
void GAIKA::SetNoRecruit(int, bool)

Updates the no-recruit mask in a byte of the mapped player record.

GetDistToPlayers

Scans town halls and reports minimum weighted distances for three diplomatic relation categories.

Open full entry →
GAIKA
void GAIKA::GetDistToPlayers(int, int&, int&, int&)

Scans town halls and reports minimum weighted distances for three diplomatic relation categories.

GetDistToArmies

Reduces helper distances over qualifying squads from sixteen player slots, with a 32000 initial cap.

Open full entry →
GAIKA
int GAIKA::GetDistToArmies(int)

Reduces helper distances over qualifying squads from sixteen player slots, with a 32000 initial cap.

Count

The string Count returns the number of selected squad members whose class template inherits from the requested class descriptor, with a gated Sentry contribution.

Open full entry →
GAIKA
int GAIKA::Count(int, int, str)

The string Count returns the number of selected squad members whose class template inherits from the requested class descriptor, with a gated Sentry contribution.

MinNeed

Scales a scripted army-need value by an AI table divisor.

Open full entry →
GAIKA
int GAIKA::MinNeed(int, int, int, int)

Scales a scripted army-need value by an AI table divisor.

MaxNeed

Scales a helper result by the selected per-player GAIKA divisor with unsigned division and a minimum nonzero quotient.

Open full entry →
GAIKA
int GAIKA::MaxNeed(int, int, int, int)

Scales a helper result by the selected per-player GAIKA divisor with unsigned division and a minimum nonzero quotient.

Recruit

Behavior awaiting documentation.

Open full entry →
GAIKA
int GAIKA::Recruit(int, int, int, int)Description pending

Description pending.

GetStrat

Delegates a GAIKA value and player index to a strategy-script helper and returns its low-word result.

Open full entry →
GAIKA
int GAIKA::GetStrat(int)

Delegates a GAIKA value and player index to a strategy-script helper and returns its low-word result.

StratRunning

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
GAIKA
int GAIKA::StratRunning(int)Description pending

Description pending.

RunStrat

Resolves a per-player AI strategy context and delegates a GAIKA strategy assignment.

Open full entry →
GAIKA
void GAIKA::RunStrat(int, int)

Resolves a per-player AI strategy context and delegates a GAIKA strategy assignment.

AllEnemiesInHolder

Reports the negation of an accumulator set by qualifying squads with a nonempty [field] member and leader word[field] equal to FFFF.

Open full entry →
GAIKA
bool GAIKA::AllEnemiesInHolder(int)

Reports the negation of an accumulator set by qualifying squads with a nonempty [field] member and leader word[field] equal to FFFF.

MilitaryPresence

Returns true for a selected squad with clear flag bit4 or for qualifying positive holder guard count.

Open full entry →
GAIKA
bool GAIKA::MilitaryPresence(int)

Returns true for a selected squad with clear flag bit4 or for qualifying positive holder guard count.

Neighbors

GAIKA::Neighbors returns global GAIKA record word [field] as a four-byte integer, or zero on explicit resolution failure.

Open full entry →
GAIKA
int GAIKA::Neighbors()

GAIKA::Neighbors returns global GAIKA record word [field] as a four-byte integer, or zero on explicit resolution failure.

Neighbor

GAIKA::Neighbor reads a neighbor word for signed index from zero through the stored count inclusive.

Open full entry →
GAIKA
GAIKA GAIKA::Neighbor(int)

GAIKA::Neighbor reads a neighbor word for signed index from zero through the stored count inclusive.

SetNoAttack

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetNoAttack(str, int, bool)Description pending

Description pending.

SetNoRecruit

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetNoRecruit(str, int, bool)Description pending

Description pending.

AreaAINoRecruit

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AreaAINoRecruit(str, int, bool)Description pending

Description pending.

AreaAINoAttack

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AreaAINoAttack(str, int, bool)Description pending

Description pending.

AreaAIMaxPriority

Applies priority 100 or -1 to player AI records whose points lie inside a named area.

Open full entry →
Global
void AreaAIMaxPriority(str, int, bool)

Applies priority 100 or -1 to player AI records whose points lie inside a named area.

AreaAISetAttackOptimism

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AreaAISetAttackOptimism(str, int, int)Description pending

Description pending.

SetMAIKA

Validates three distinct GAIKA identifiers and delegates a relation update to the global AI context.

Open full entry →
Global
void SetMAIKA(GAIKA, GAIKA, GAIKA)

Validates three distinct GAIKA identifiers and delegates a relation update to the global AI context.

DumpMAIKA

DumpMAIKA filters and visits six-byte route records.

Open full entry →
Global
void DumpMAIKA(int, int, int)

DumpMAIKA filters and visits six-byte route records.

UnitsInHolderEval

Sums a native evaluation value across live members of the settlement holder.

Open full entry →
Settlement
int Settlement::UnitsInHolderEval()

Sums a native evaluation value across live members of the settlement holder.

IsValid

Returns whether the signed SquadList index resolves within the native list-entry table.

Open full entry →
SquadList
bool SquadList::IsValid()

Returns whether the signed SquadList index resolves within the native list-entry table.

EOL

Tests whether a squad-list iterator is at its end.

Open full entry →
SquadList
bool SquadList::EOL()

Tests whether a squad-list iterator is at its end.

Rewind

Resolves a SquadList and resets its cursor to the start, returning whether an element is available.

Open full entry →
SquadList
bool SquadList::Rewind()

Resolves a SquadList and resets its cursor to the start, returning whether an element is available.

Next

Resolves a SquadList value and returns whether its cursor advance helper finds another element.

Open full entry →
SquadList
bool SquadList::Next()

Resolves a SquadList value and returns whether its cursor advance helper finds another element.

Cur

Resolves a SquadList cursor and returns the current packed Squad value from its chunked storage.

Open full entry →
SquadList
Squad SquadList::Cur()

Resolves a SquadList cursor and returns the current packed Squad value from its chunked storage.

Size

Returns the backing collection count for a resolved active SquadList cursor, otherwise zero.

Open full entry →
SquadList
int SquadList::Size()

Returns the backing collection count for a resolved active SquadList cursor, otherwise zero.

Eval

Returns the native evaluation helper result for a resolved active list, otherwise zero.

Open full entry →
SquadList
int SquadList::Eval()

Returns the native evaluation helper result for a resolved active list, otherwise zero.

Lock

Sets bit 3 on every squad record referenced by a resolved SquadList.

Open full entry →
SquadList
void SquadList::Lock()

Sets bit 3 on every squad record referenced by a resolved SquadList.

Unlock

Clears bit 3 on every squad record referenced by a resolved SquadList.

Open full entry →
SquadList
void SquadList::Unlock()

Clears bit 3 on every squad record referenced by a resolved SquadList.

Add

Creates a list entry when necessary and passes the supplied Squad low word to its append helper.

Open full entry →
SquadList
void SquadList::Add(Squad)

Creates a list entry when necessary and passes the supplied Squad low word to its append helper.

Select

Reconciles the current player selection and adds resolved members of the supplied squad list.

Open full entry →
SquadList
void SquadList::Select(int)

Reconciles the current player selection and adds resolved members of the supplied squad list.

Train

Partitions squad members and forwards train and enter state arguments to separate regrouping calls.

Open full entry →
SquadList
int SquadList::Train(int, int, int, int, Obj)

Partitions squad members and forwards train and enter state arguments to separate regrouping calls.

NumTowers

Counts settlement members whose class inherits from Tower.

Open full entry →
Settlement
int Settlement::NumTowers()

Counts settlement members whose class inherits from Tower.

NumTowersBroken

NumTowersBroken counts live Tower descendants whose broken-state field equals 3.

Open full entry →
Settlement
int Settlement::NumTowersBroken()

NumTowersBroken counts live Tower descendants whose broken-state field equals 3.

NumGates

Counts live settlement members that can be converted to Gate.

Open full entry →
Settlement
int Settlement::NumGates()

Counts live settlement members that can be converted to Gate.

NumGatesBroken

Counts settlement members convertible to Gate whose original-object broken state is 3.

Open full entry →
Settlement
int Settlement::NumGatesBroken()

Counts settlement members convertible to Gate whose original-object broken state is 3.

EvalDefences

EvalDefences computes a presence score of 300 or 1000 for towers plus 4000 for gates.

Open full entry →
Settlement
int Settlement::EvalDefences()

EvalDefences computes a presence score of 300 or 1000 for towers plus 4000 for gates.

FindCatapultSpot

CKS adapter with unreconciled twenty-byte native input consumption that forwards an extra selector to class lookup and cached point selection.

⚠ Only partly documented so far.

Open full entry →
Settlement
point Settlement::FindCatapultSpot(point)

CKS adapter with unreconciled twenty-byte native input consumption that forwards an extra selector to class lookup and cached point selection.

BestGate

BestGate selects the first Gate with a strictly smaller native position score plus signed field [field] divided by five.

Open full entry →
Settlement
Gate Settlement::BestGate(point)

BestGate selects the first Gate with a strictly smaller native position score plus signed field [field] divided by five.

OpenAllGates

OpenAllGates traverses gate members and submits opengate commands for gates whose target-state field is not 1.

Open full entry →
Settlement
void Settlement::OpenAllGates()

OpenAllGates traverses gate members and submits opengate commands for gates whose target-state field is not 1.

IdleAllGates

IdleAllGates invokes gate virtual slot [field] with argument 1 when its current string does not equal idle.

Open full entry →
Settlement
void Settlement::IdleAllGates()

IdleAllGates invokes gate virtual slot [field] with argument 1 when its current string does not equal idle.

IsVeryBroken

Building::IsVeryBroken returns true when current health is below integer maximum health divided by twenty.

Open full entry →
Building
bool Building::IsVeryBroken()

Building::IsVeryBroken returns true when current health is below integer maximum health divided by twenty.

CanBeCaptured

Behavior awaiting documentation.

Open full entry →
Settlement
bool Settlement::CanBeCaptured()Description pending

Description pending.

IsStronghold

Calls the BaseTownhall-family predicate on a resolved settlement.

Open full entry →
Settlement
bool Settlement::IsStronghold()

Calls the BaseTownhall-family predicate on a resolved settlement.

IsVillage

Returns the village-class predicate for a valid Settlement.

Open full entry →
Settlement
bool Settlement::IsVillage()

Returns the village-class predicate for a valid Settlement.

IsOutpost

Tests whether the supplied settlement object inherits from the Outpost script class.

Open full entry →
Settlement
bool Settlement::IsOutpost()

Tests whether the supplied settlement object inherits from the Outpost script class.

IsTTent

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
bool Settlement::IsTTent()Description pending

Description pending.

IsShipyard

Returns whether the linked object template inherits BaseShipyard, including the ordinary first-use literal lookup and cache path.

Open full entry →
Settlement
bool Settlement::IsShipyard()

Returns whether the linked object template inherits BaseShipyard, including the ordinary first-use literal lookup and cache path.

IsAlly

Settlement IsAlly resolves the settlement owner and tests bit zero of the indexed player-relation table entry.

Open full entry →
Settlement
bool Settlement::IsAlly(int)

Settlement IsAlly resolves the settlement owner and tests bit zero of the indexed player-relation table entry.

IsEnemy

Returns the inverse low-bit predicate from a player relation table for a valid settlement.

Open full entry →
Settlement
bool Settlement::IsEnemy(int)

Returns the inverse low-bit predicate from a player relation table for a valid settlement.

IsOwn

Settlement::IsOwn returns true only when a valid Settlement owner's zero-based index equals idPlayer minus one.

Open full entry →
Settlement
bool Settlement::IsOwn(int)

Settlement::IsOwn returns true only when a valid Settlement owner's zero-based index equals idPlayer minus one.

IsIndependent

Returns true when the resolved settlement has linked owner code 14 or 15.

Open full entry →
Settlement
bool Settlement::IsIndependent()

Returns true when the resolved settlement has linked owner code 14 or 15.

IsIndependentGuarded

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
bool Settlement::IsIndependentGuarded()Description pending

Description pending.

GetRel

Returns a numeric relation code from the associated owner index and the queried player matrix bit.

Open full entry →
Settlement
int Settlement::GetRel(int)

Returns a numeric relation code from the associated owner index and the queried player matrix bit.

MaxPopulation

Settlement::MaxPopulation resolves a Settlement and returns its dword at [field], with zero as the invalid-object fallback.

Open full entry →
Settlement
int Settlement::MaxPopulation()

Settlement::MaxPopulation resolves a Settlement and returns its dword at [field], with zero as the invalid-object fallback.

SupplyCount

Counts same-owner buildings of a requested class that are associated with the specified settlement.

Open full entry →
Settlement
int Settlement::SupplyCount(str)

Counts same-owner buildings of a requested class that are associated with the specified settlement.

BestToSupply

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
Settlement Settlement::BestToSupply()Description pending

Description pending.

SettlementCount

SettlementCount counts class-matching settlements below a strict unsigned metric threshold.

Open full entry →
Global
int SettlementCount(point, int, str)

SettlementCount counts class-matching settlements below a strict unsigned metric threshold.

FindRuins

Scans settlement slots and returns the last randomly accepted matching ruins handle.

Open full entry →
Global
Obj FindRuins(point, int, int)

Scans settlement slots and returns the last randomly accepted matching ruins handle.

AttackSetForTraining

Selects a prioritized nearby training target and queues approach and engagement commands.

Open full entry →
Global
bool AttackSetForTraining(Obj, point, int)

Selects a prioritized nearby training target and queues approach and engagement commands.

BestTargetInGAIKA

Returns a target object handle selected by the GAIKA target search helper for a resolved Unit.

Open full entry →
Unit
Obj Unit::BestTargetInGAIKA()

Returns a target object handle selected by the GAIKA target search helper for a resolved Unit.

AI

Queries whether a unit is controlled by AI by verifying player AI state and checking the squad record's active AI flag.

Open full entry →
Unit
bool Unit::AI()

Queries whether a unit is controlled by AI by verifying player AI state and checking the squad record's active AI flag.

AIRun

Starts a named AI script task in the current player context and returns its task identifier or -1.

Open full entry →
Global
int AIRun(str)

Starts a named AI script task in the current player context and returns its task identifier or -1.

AIRun

Starts a typed AI script task in the current script player's AI context and returns its task identifier.

Open full entry →
Global
int AIRun(str, Settlement, ObjList, Obj, int)

Starts a typed AI script task in the current script player's AI context and returns its task identifier.

AIRun

Attempts to start an AI script task for the supplied one-based player and returns its task identifier or -1.

Open full entry →
Global
int AIRun(int, str, Settlement, ObjList, Obj, int)

Attempts to start an AI script task for the supplied one-based player and returns its task identifier or -1.

AIBreakScript

Checks the current script player's AI context and delegates the input script ID to an AI break helper.

Open full entry →
Global
void AIBreakScript(int)

Checks the current script player's AI context and delegates the input script ID to an AI break helper.

AIBreakScript

Routes an interruption request for the identified script to the specified player's AI system. Arguments are the player number followed by the script ID.

The request is routed when the corresponding AI context exists. Immediate interruption and effects on pending scripts or tasks are not documented. The player-number check does not cover every invalid value; use valid player numbers.

Open full entry →
Global
void AIBreakScript(int, int)

Routes an interruption request for the identified script to the specified player's AI system. Arguments are the player number followed by the script ID.

AIExecCmd

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AIExecCmd(Obj, str)Description pending

Description pending.

IsAIShow

IsAIShow physically pushes one equality byte.

Open full entry →
Global
void IsAIShow()

IsAIShow physically pushes one equality byte.

ScrollTo

Uses a persistent blocking frame to interpolate a projected viewport center and schedule retries.

Open full entry →
Global
void ScrollTo(point, int)

Uses a persistent blocking frame to interpolate a projected viewport center and schedule retries.

BestBarrack

Selects an eligible barracks in the settlement with the lowest score accepted by its selection procedure. Returns an invalid reference if no candidate is selected.

Selection filters settlement members and excludes barracks in a particular state. The exact meaning of that state, the score, and the integer argument is not fully documented; this entry does not identify them as distance, level, or unit count.

Open full entry →
Settlement
Barrack Settlement::BestBarrack(int)

Selects an eligible barracks in the settlement with the lowest score accepted by its selection procedure. Returns an invalid reference if no candidate is selected.

GetGaikaCenter

Returns the point fields of a record selected by the low 16 bits of the input.

Open full entry →
Global
point GetGaikaCenter(int)

Returns the point fields of a record selected by the low 16 bits of the input.

GetSquadCenter

Averages resolved squad-member coordinates using unsigned division by the stored total count.

Open full entry →
Global
point GetSquadCenter(int, int)

Averages resolved squad-member coordinates using unsigned division by the stored total count.

FindBuilding

Returns the first settlement member whose template derives from a requested class name.

Open full entry →
Settlement
Building Settlement::FindBuilding(str)

Returns the first settlement member whose template derives from a requested class name.

FindResearchLab

Finds a unit linked to a named research descriptor and returns its Building handle.

Open full entry →
Settlement
Building Settlement::FindResearchLab(str)

Finds a unit linked to a named research descriptor and returns its Building handle.

IsBarrack

Evaluates a Building through the native barracks-family class predicate and returns a VM boolean.

Open full entry →
Building
bool Building::IsBarrack()

Evaluates a Building through the native barracks-family class predicate and returns a VM boolean.

SetToIdx

SetToIdx reads the resolved Settlement slot-index field.

Open full entry →
Global
int SetToIdx(Settlement)

SetToIdx reads the resolved Settlement slot-index field.

IdxToSet

IdxToSet returns the handle ID from an indexed global-map settlement pointer, or a null handle for an invalid or empty slot.

Open full entry →
Global
Settlement IdxToSet(int)

IdxToSet returns the handle ID from an indexed global-map settlement pointer, or a null handle for an invalid or empty slot.

MaxSetIdx

Handler for this function, int MaxSetIdx(): returns the number of settlement slots.

Open full entry →
Global
int MaxSetIdx()

Handler for this function, int MaxSetIdx(): returns the number of settlement slots.

AIH_UnitBuilt

Resolves the Unit operand and dispatches the resulting pointer to a native AI hook.

Open full entry →
Global
void AIH_UnitBuilt(Unit)

Resolves the Unit operand and dispatches the resulting pointer to a native AI hook.

AIGetPlayer

Returns the current script AI player index plus one.

Open full entry →
Global
int AIGetPlayer()

Returns the current script AI player index plus one.

AIO_SendSquad

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AIO_SendSquad(int, int, int)Description pending

Description pending.

AIO_Train

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AIO_Train(int, str, int, int)Description pending

Description pending.

ViewSlot

Returns viewport midpoint coordinates divided by128 while discarding the terrain-conversion output.

Open full entry →
Global
point ViewSlot()

Returns viewport midpoint coordinates divided by128 while discarding the terrain-conversion output.

Squadize

CKS scripting primitive wrapper exposing Squadize(ObjList ol, SquadList *sl, int nState) to scenario and AI scripts.

Open full entry →
Global
void Squadize(ObjList, SquadList, int)

CKS scripting primitive wrapper exposing Squadize(ObjList ol, SquadList *sl, int nState) to scenario and AI scripts.

IsResearched

CKS scripting primitive evaluating whether a technology or upgrade has been researched, supporting both settlement-anchored and player-direct overloads.

Open full entry →
Global
bool IsResearched(Settlement, str)

CKS scripting primitive evaluating whether a technology or upgrade has been researched, supporting both settlement-anchored and player-direct overloads.

IsResearched

CKS scripting primitive evaluating whether a technology or upgrade has been researched, supporting both settlement-anchored and player-direct overloads.

Open full entry →
Global
bool IsResearched(int, str)

CKS scripting primitive evaluating whether a technology or upgrade has been researched, supporting both settlement-anchored and player-direct overloads.

IsResearching

CKS scripting primitive reporting whether a technology or upgrade is currently in the "researching" state, with a settlement-anchored overload and a player-direct overload.

Open full entry →
Global
bool IsResearching(Settlement, str)

CKS scripting primitive reporting whether a technology or upgrade is currently in the "researching" state, with a settlement-anchored overload and a player-direct overload.

IsResearching

CKS scripting primitive reporting whether a technology or upgrade is currently in the "researching" state, with a settlement-anchored overload and a player-direct overload.

Open full entry →
Global
bool IsResearching(int, str)

CKS scripting primitive reporting whether a technology or upgrade is currently in the "researching" state, with a settlement-anchored overload and a player-direct overload.

GetCmdCost

Looks up a named command and writes its gold and food cost fields to output references.

Open full entry →
Global
bool GetCmdCost(str, int, int)

Looks up a named command and writes its gold and food cost fields to output references.

GetCmdStaminaCost

Resolves the order descriptor for a command name string and returns its required stamina cost from offset [field].

Open full entry →
Global
int GetCmdStaminaCost(str)

Resolves the order descriptor for a command name string and returns its required stamina cost from offset [field].

CanAfford

Tests positive signed resource quotients after subtracting the keyed reservation from available gold.

Open full entry →
Settlement
bool Settlement::CanAfford(int, int)

Tests positive signed resource quotients after subtracting the keyed reservation from available gold.

CanAfford

Resolves a Settlement and named command, then returns whether a cost check succeeds.

Open full entry →
Settlement
bool Settlement::CanAfford(str)

Resolves a Settlement and named command, then returns whether a cost check succeeds.

CanAfford

Compares the requested count with the signed native command affordability count.

Open full entry →
Settlement
bool Settlement::CanAfford(str, int)

Compares the requested count with the signed native command affordability count.

MaxAffordCount

Returns the signed native command affordability count after selecting reservation treatment.

Open full entry →
Settlement
int Settlement::MaxAffordCount(str)

Returns the signed native command affordability count after selecting reservation treatment.

CanResearch

CKS scripting primitive reporting whether a settlement is permitted to begin researching an upgrade that is not already researched or in progress.

Open full entry →
Settlement
bool Settlement::CanResearch(str)

CKS scripting primitive reporting whether a settlement is permitted to begin researching an upgrade that is not already researched or in progress.

Research

Resolves a Settlement and named upgrade, then conditionally submits a research command.

Open full entry →
Settlement
void Settlement::Research(str)

Resolves a Settlement and named upgrade, then conditionally submits a research command.

Reserve

Returns a signed percentage of army expenditure since the reservation snapshot.

Open full entry →
Settlement
int Settlement::Reserve()

Returns a signed percentage of army expenditure since the reservation snapshot.

StopReserving

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
void Settlement::StopReserving()Description pending

Description pending.

ReserveFor

Updates keyed reservation percent and command, preserving or initializing the army snapshot by branch.

Open full entry →
Settlement
bool Settlement::ReserveFor(str, int)

Updates keyed reservation percent and command, preserving or initializing the army snapshot by branch.

GoldSpentOnArmy

Returns the parsed army expenditure key on a valid receiver and omits the integer output on an invalid one.

Open full entry →
Settlement
int Settlement::GoldSpentOnArmy()

Returns the parsed army expenditure key on a valid receiver and omits the integer output on an invalid one.

SpentGoldOnArmy

Accumulates an amount in a per-game, per-settlement and per-player persistent army-spending counter.

Open full entry →
Settlement
void Settlement::SpentGoldOnArmy(int)

Accumulates an amount in a per-game, per-settlement and per-player persistent army-spending counter.

GoldSpentOnTech

Returns the parsed technology expenditure key on a valid receiver and omits the integer output on an invalid one.

Open full entry →
Settlement
int Settlement::GoldSpentOnTech()

Returns the parsed technology expenditure key on a valid receiver and omits the integer output on an invalid one.

SpentGoldOnTech

Adds a signed amount with 32-bit wrap to the keyed technology expenditure value.

Open full entry →
Settlement
void Settlement::SpentGoldOnTech(int)

Adds a signed amount with 32-bit wrap to the keyed technology expenditure value.

CheckTechBudget

Tests technology expenditure plus adjusted command cost against a signed percentage budget.

Open full entry →
Settlement
bool Settlement::CheckTechBudget(str, int)

Tests technology expenditure plus adjusted command cost against a signed percentage budget.

WaterLsa

Settlement WaterLsa and LandLsa return unsigned linked-object words at [field] or [field] when its template inherits BaseShipyard, otherwise returning zero.

Open full entry →
Settlement
int Settlement::WaterLsa()

Settlement WaterLsa and LandLsa return unsigned linked-object words at [field] or [field] when its template inherits BaseShipyard, otherwise returning zero.

LandLsa

Settlement WaterLsa and LandLsa return unsigned linked-object words at [field] or [field] when its template inherits BaseShipyard, otherwise returning zero.

Open full entry →
Settlement
int Settlement::LandLsa()

Settlement WaterLsa and LandLsa return unsigned linked-object words at [field] or [field] when its template inherits BaseShipyard, otherwise returning zero.

MilUnits

Counts eligible military units for a one-based player through the squad collection helper.

Open full entry →
Global
int MilUnits(int)

Counts eligible military units for a one-based player through the squad collection helper.

HeroArmiesFullPerc

Computes a signed ratio from the second and third outputs of the player collection helper.

Open full entry →
Global
int HeroArmiesFullPerc(int)

Computes a signed ratio from the second and third outputs of the player collection helper.

MilEval

Returns a masked collection sum of squad dwords at [field].

Open full entry →
Global
int MilEval(int)

Returns a masked collection sum of squad dwords at [field].

AllyMilUnits

Sums the unit helper across player slots whose relation result is not four.

Open full entry →
Global
int AllyMilUnits(int)

Sums the unit helper across player slots whose relation result is not four.

AllyMilEval

Sums squad evaluation dwords across player slots whose relation result is not four.

Open full entry →
Global
int AllyMilEval(int)

Sums squad evaluation dwords across player slots whose relation result is not four.

EnemyMilUnits

Sums the unit helper across player slots whose relation result equals four.

Open full entry →
Global
int EnemyMilUnits(int)

Sums the unit helper across player slots whose relation result equals four.

EnemyMilEval

Sums squad evaluation dwords across player slots whose relation result equals four.

Open full entry →
Global
int EnemyMilEval(int)

Sums squad evaluation dwords across player slots whose relation result equals four.

EnemyPlayersEval

EnemyPlayersEval initializes and conditionally writes three outputs.

Open full entry →
Global
int EnemyPlayersEval(int, int, int, int)

EnemyPlayersEval initializes and conditionally writes three outputs.

Strongholds

Strongholds counts same-owner settlements with BaseTownhall central buildings.

Open full entry →
Global
int Strongholds(int)

Strongholds counts same-owner settlements with BaseTownhall central buildings.

AllyStrongholds

AllyStrongholds counts BaseTownhall settlements with numeric relation different from four.

Open full entry →
Global
int AllyStrongholds(int)

AllyStrongholds counts BaseTownhall settlements with numeric relation different from four.

EnemyStrongholds

Counts hostile town halls for a requested player while excluding owner id fourteen.

Open full entry →
Global
int EnemyStrongholds(int)

Counts hostile town halls for a requested player while excluding owner id fourteen.

Villages

Villages counts same-owner settlements with BaseVillage central buildings.

Open full entry →
Global
int Villages(int)

Villages counts same-owner settlements with BaseVillage central buildings.

AllyVillages

AllyVillages counts BaseVillage settlements with numeric relation different from four.

Open full entry →
Global
int AllyVillages(int)

AllyVillages counts BaseVillage settlements with numeric relation different from four.

EnemyVillages

EnemyVillages counts BaseVillage settlements with relation four and owner different from fourteen.

Open full entry →
Global
int EnemyVillages(int)

EnemyVillages counts BaseVillage settlements with relation four and owner different from fourteen.

Outposts

Counts live Outpost-class map objects, optionally filtered by player.

Open full entry →
Global
int Outposts(int)

Counts live Outpost-class map objects, optionally filtered by player.

AllyOutposts

AllyOutposts counts Outpost settlements with numeric relation different from four.

Open full entry →
Global
int AllyOutposts(int)

AllyOutposts counts Outpost settlements with numeric relation different from four.

EnemyOutposts

EnemyOutposts counts Outpost settlements with relation four and owner different from fourteen.

Open full entry →
Global
int EnemyOutposts(int)

EnemyOutposts counts Outpost settlements with relation four and owner different from fourteen.

Count

Count looks up a class count in a player's indexed collection.

Open full entry →
Global
int Count(int, str)

Count looks up a class count in a player's indexed collection.

AllyCount

AllyCount sums class counts for relation codes other than four.

Open full entry →
Global
int AllyCount(int, str)

AllyCount sums class counts for relation codes other than four.

EnemyCount

EnemyCount sums class counts for relation code four.

Open full entry →
Global
int EnemyCount(int, str)

EnemyCount sums class counts for relation code four.

LSA

Maps a GAIKA identifier to a 16-bit LSA value through an AI record helper.

Open full entry →
GAIKA
int GAIKA::LSA()

Maps a GAIKA identifier to a 16-bit LSA value through an AI record helper.

LSA

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int LSA(int, int)Description pending

Description pending.

LSA

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int LSA(point)Description pending

Description pending.

LSA

Obj::LSA resolves a handle and forwards the full helper result.

Open full entry →
Obj
int Obj::LSA()

Obj::LSA resolves a handle and forwards the full helper result.

CheckLsaPath

Checks whether there is a path between two search areas (LSA) for a player. Returns 1 when both LSAs are the same and 0 when they are of different types.

The third argument is the player number counted from 1. The result for two different LSAs of the same type has not been observed.

Open full entry →
Global
int CheckLsaPath(int, int, int)

Checks whether there is a path between two search areas (LSA) for a player. Returns 1 when both LSAs are the same and 0 when they are of different types.

Ships

Reads a 32-bit value from the AI table using the LSA and player indices. The value meaning is not documented.

Open full entry →
Global
int Ships(int, int)

Reads a 32-bit value from the AI table using the LSA and player indices. The value meaning is not documented.

EnemyShips

Returns the relation-four sum of the selected AI row's sixteen dword cells.

Open full entry →
Global
int EnemyShips(int, int)

Returns the relation-four sum of the selected AI row's sixteen dword cells.

AllyShips

Returns the relation-two sum of the selected AI row's sixteen dword cells.

Open full entry →
Global
int AllyShips(int, int)

Returns the relation-two sum of the selected AI row's sixteen dword cells.

ShipNeeds

Reads a 32-bit value from the AI table using the LSA and player indices. The value meaning is not documented.

Open full entry →
Global
int ShipNeeds(int, int)

Reads a 32-bit value from the AI table using the LSA and player indices. The value meaning is not documented.

ClrShipNeeds

ClrShipNeeds writes zero to the global-AI ship-needs cell selected by lsa and player indices.

Open full entry →
Global
void ClrShipNeeds(int, int)

ClrShipNeeds writes zero to the global-AI ship-needs cell selected by lsa and player indices.

IncShipNeeds

IncShipNeeds increments the global-AI ship-needs cell selected by lsa and player indices.

Open full entry →
Global
void IncShipNeeds(int, int)

IncShipNeeds increments the global-AI ship-needs cell selected by lsa and player indices.

IsWaterLsa

Handler for this function, bool IsWaterLsa(int lsa): tests whether an lsa region is water-majority.

Open full entry →
Global
bool IsWaterLsa(int)

Handler for this function, bool IsWaterLsa(int lsa): tests whether an lsa region is water-majority.

AIAssist

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AIAssist()Description pending

Description pending.

AIStart

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AIStart(int)Description pending

Description pending.

AIStart

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AIStart(int, str)Description pending

Description pending.

AIStart

Validates a player, AI profile, and difficulty before replacing that player's AI controller.

Open full entry →
Global
void AIStart(int, str, int)

Validates a player, AI profile, and difficulty before replacing that player's AI controller.

AIStop

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void AIStop(int)Description pending

Description pending.

NearestHospital

Scores eligible friendly hospital strongholds for a squad and returns the best GAIKA index.

Open full entry →
Global
GAIKA NearestHospital(Squad)

Scores eligible friendly hospital strongholds for a squad and returns the best GAIKA index.

NearestStronghold

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
Settlement NearestStronghold(point, int, int)Description pending

Description pending.

NearestStronghold

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
Settlement NearestStronghold(point, int)Description pending

Description pending.

NearestStronghold

NearestStronghold point overload selects the unfiltered BaseTownhall search.

Open full entry →
Global
Settlement NearestStronghold(point)

NearestStronghold point overload selects the unfiltered BaseTownhall search.

NearestSet

NearestSet four-argument overload forwards the class, decremented player and supplied relation mask.

Open full entry →
Global
Settlement NearestSet(point, str, int, int)

NearestSet four-argument overload forwards the class, decremented player and supplied relation mask.

NearestSet

NearestSet three-argument overload forwards the class, decremented player and fixed mask one.

Open full entry →
Global
Settlement NearestSet(point, str, int)

NearestSet three-argument overload forwards the class, decremented player and fixed mask one.

NearestSet

NearestSet point overload searches the Building central-building class without player filtering.

Open full entry →
Global
Settlement NearestSet(point)

NearestSet point overload searches the Building central-building class without player filtering.

GetSettlements

Builds an ObjList of map settlements selected by owner and central-building class.

Open full entry →
Global
ObjList GetSettlements(str, int)

Builds an ObjList of map settlements selected by owner and central-building class.

GetEconomyScript

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
int Settlement::GetEconomyScript(int)Description pending

Description pending.

RunEconomyScript

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
void Settlement::RunEconomyScript(int)Description pending

Description pending.

EconomyScript

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Settlement
int Settlement::EconomyScript()Description pending

Description pending.

GetTacticScript

CKS handler that invokes the tactic-selection script for a Settlement and player index.

Open full entry →
Settlement
int Settlement::GetTacticScript(int)

CKS handler that invokes the tactic-selection script for a Settlement and player index.

RunTacticScript

CKS handler that forwards a tactic ID and resolved settlement to the player-AI tactic-task starter.

Open full entry →
Settlement
void Settlement::RunTacticScript(int)

CKS handler that forwards a tactic ID and resolved settlement to the player-AI tactic-task starter.

TacticScript

CKS property handler that returns the settlement's current tactic ID after checking whether its task slot remains active.

Open full entry →
Settlement
int Settlement::TacticScript()

CKS property handler that returns the settlement's current tactic ID after checking whether its task slot remains active.

GetGaika

Returns the global AI table word associated with a Settlement.

Open full entry →
Settlement
GAIKA Settlement::GetGaika()

Returns the global AI table word associated with a Settlement.

CancelSupply

CancelSupply resolves stoptribute by name and forwards a seven-dword packet beginning with a partially initialized linked-object id to the native dispatch helper.

Open full entry →
Settlement
void Settlement::CancelSupply()

CancelSupply resolves stoptribute by name and forwards a seven-dword packet beginning with a partially initialized linked-object id to the native dispatch helper.

Inside

Tests a native gate/member path predicate universally over squad members.

Open full entry →
Gate
bool Gate::Inside(Squad)

Tests a native gate/member path predicate universally over squad members.

Outside

Tests the zero-result gate/member path predicate universally over squad members.

Open full entry →
Gate
bool Gate::Outside(Squad)

Tests the zero-result gate/member path predicate universally over squad members.

UpgradeBestBarrack

Behavior awaiting documentation.

Open full entry →
Settlement
bool Settlement::UpgradeBestBarrack(int)Description pending

Description pending.

RepairAll

Scans eligible settlement members and requests one repair command for each member that provides that command and passes the admission checks.

For each considered member, the first command named repair is used. Preliminary calculations determine whether a request is admitted; an admitted request submits one command. The name RepairAll does not guarantee admission of every building or immediate completion. The complete meaning of the costs, timing and subsequent effects remains unresolved.

Open full entry →
Settlement
void Settlement::RepairAll()

Scans eligible settlement members and requests one repair command for each member that provides that command and passes the admission checks.

PrepareAiTransportShip

PrepareAiTransportShip conditionally builds an eight-byte handle result.

Open full entry →
Global
Ship PrepareAiTransportShip(int, int, int, str, point)

PrepareAiTransportShip conditionally builds an eight-byte handle result.

CheckLP

CheckLP calls the graph helper with fixed node indices 3 and 1, mode 1, an empty string and two minus-one values, then discards its result.

⚠ Only partly documented so far.

Open full entry →
Global
void CheckLP()

CheckLP calls the graph helper with fixed node indices 3 and 1, mode 1, an empty string and two minus-one values, then discards its result.

SendSquadToLsaX

SendSquadToLsaX retains a selected-unit pointer as a sixth order operand.

Open full entry →
Global
void SendSquadToLsaX()

SendSquadToLsaX retains a selected-unit pointer as a sixth order operand.

GetMouseXY

Prints widened signed mouse coordinates after calling a terrain conversion whose output is unused.

Open full entry →
Global
void GetMouseXY()

Prints widened signed mouse coordinates after calling a terrain conversion whose output is unused.

RUType

Maps a class-name string to its zero-based entry in a race-specific six-name recruitable-unit table.

Open full entry →
Global
int RUType(str, int)

Maps a class-name string to its zero-based entry in a race-specific six-name recruitable-unit table.

UType

Looks up a managed unit-type string by type and race indices.

Open full entry →
Global
str UType(int, int)

Looks up a managed unit-type string by type and race indices.

UTech

Selects a string from a race-indexed technology table and returns it as a managed CKS string.

Open full entry →
Global
str UTech(int, int)

Selects a string from a race-indexed technology table and returns it as a managed CKS string.

UTrainCmd

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
str UTrainCmd(int, int)Description pending

Description pending.

UEnabled

Handler for this function, bool UEnabled(int mask, int bit): tests one bit of a mask.

Open full entry →
Global
bool UEnabled(int, int)

Handler for this function, bool UEnabled(int mask, int bit): tests one bit of a mask.

CheckUEnabled

CheckUEnabled updates an output bit mask from a unit-class count and threshold.

Open full entry →
Global
bool CheckUEnabled(int, int, int, int, int)

CheckUEnabled updates an output bit mask from a unit-class count and threshold.

CalcGoAround

Chooses an intermediate GAIKA waypoint and reissues squad-member commands to route around an obstruction.

Open full entry →
Squad
bool Squad::CalcGoAround()

Chooses an intermediate GAIKA waypoint and reissues squad-member commands to route around an obstruction.

TakeNearbyItems

Selects an item holder near the squad leader and issues a getitems command.

Open full entry →
Squad
bool Squad::TakeNearbyItems(int)

Selects an item holder near the squad leader and issues a getitems command.

HasItem

Calls a resolved object's virtual item-name lookup and returns whether its integer result is nonnegative.

Open full entry →
Obj
bool Obj::HasItem(str)

Calls a resolved object's virtual item-name lookup and returns whether its integer result is nonnegative.

UseItem

Finds a named item on an Obj and runs its OnUse script when present.

Open full entry →
Obj
bool Obj::UseItem(str)

Finds a named item on an Obj and runs its OnUse script when present.

FindTeleport

Finds the shortest usable teleport connection between source and destination regions for a player.

Open full entry →
Global
Obj FindTeleport(int, point, point)

Finds the shortest usable teleport connection between source and destination regions for a player.

UseTeleport

Stores squad state/time and submits teleport plus point commands for live members.

Open full entry →
Squad
bool Squad::UseTeleport(Obj, int, str, point)

Stores squad state/time and submits teleport plus point commands for live members.

InvadeThroughGate

Behavior awaiting documentation.

Open full entry →
Squad
void Squad::InvadeThroughGate(Obj, int)Description pending

Description pending.

Eval

Resolves three referenced output integers, delegates a spatial query, and writes its three results.

Open full entry →
Global
void Eval(int, point, int, int, int, int)

Resolves three referenced output integers, delegates a spatial query, and writes its three results.

EvalGroup

Adds up the evaluation of the live units in the group named by the text. Returns 0 if the group does not exist, without creating it.

Only objects still on the map count. The meaning of the evaluation value is not documented here.

Open full entry →
Global
int EvalGroup(str)

Adds up the evaluation of the live units in the group named by the text. Returns 0 if the group does not exist, without creating it.

BestMDPos

Ranks filtered hostile squad leaders by a circle relation count with optional friendly penalties and a distance bonus.

Open full entry →
Unit
point Unit::BestMDPos(int, int, int, int, bool)

Ranks filtered hostile squad leaders by a circle relation count with optional friendly penalties and a distance bonus.

BestProtPos

Scores hostile squad leader neighborhoods by relation-count balance and a product, preferring a normal leader result over a same-player sacrifice override.

Open full entry →
Unit
Obj Unit::BestProtPos(int, int, int, int)

Scores hostile squad leader neighborhoods by relation-count balance and a product, preferring a normal leader result over a same-player sacrifice override.

IsProtected

IsProtected clamps coordinates and normalizes a local query flag.

Open full entry →
Global
bool IsProtected(int, point, str)

IsProtected clamps coordinates and normalizes a local query flag.

NeedTraining

Compares a player's sampled unit-level average with a threshold derived from allied players' sampled armies.

Open full entry →
Global
bool NeedTraining(int)

Compares a player's sampled unit-level average with a threshold derived from allied players' sampled armies.

GetCounterUnits

Tries indexed AI candidates and dispatches a settlement fallback into the resolved integer-array destination.

Open full entry →
Global
void GetCounterUnits(Settlement, IntArray)

Tries indexed AI candidates and dispatches a settlement fallback into the resolved integer-array destination.

GetClassHealt

Looks up a class by name and returns its class health value. Returns 0 when no class has that name.

The name is spelled "Healt". A result of 0 tells that a class is not loaded; for example, a script can check that a hero class exists before changing maps. It is not a general class-lookup API, and the full health computation is not documented.

Open full entry →
Global
int GetClassHealt(str)

Looks up a class by name and returns its class health value. Returns 0 when no class has that name.

GetTrainGold

Resolves a unit class name through the command order registry and returns the training gold cost at [field].

Open full entry →
Global
int GetTrainGold(str)

Resolves a unit class name through the command order registry and returns the training gold cost at [field].

IsAIPlayer

IsAIPlayer returns true for player ids 1 through 16 whose selected player record has a non-null AI pointer, otherwise false.

Open full entry →
Global
bool IsAIPlayer(int)

IsAIPlayer returns true for player ids 1 through 16 whose selected player record has a non-null AI pointer, otherwise false.

AIGetSkillToDevelop

Initializes two output references, evaluates 25 Hero skill slots through mutable target and weight references, and scans a virtual draw against admitted weights.

Open full entry →
Hero
void Hero::AIGetSkillToDevelop(int&, int&)

Initializes two output references, evaluates 25 Hero skill slots through mutable target and weight references, and scans a virtual draw against admitted weights.

SetNoAIFlag

The handler traverses the supplied ObjList.

Open full entry →
Global
void SetNoAIFlag(ObjList, bool)

The handler traverses the supplied ObjList.

GetAIControlledUnits

Builds an ObjList of eligible units controlled by a selected GAIKA record under class, relation and limit filters.

Open full entry →
GAIKA
ObjList GAIKA::GetAIControlledUnits(str, int, int, bool)

Builds an ObjList of eligible units controlled by a selected GAIKA record under class, relation and limit filters.

TSRecruitArmy

Builds an ObjList and delegates Settlement tactical recruitment through TSH_RecruitArmy.vs and the universal command path.

Open full entry →
Settlement
ObjList Settlement::TSRecruitArmy(str, int)

Builds an ObjList and delegates Settlement tactical recruitment through TSH_RecruitArmy.vs and the universal command path.

TSGetAllBarracks

Filters settlement building handles into an ObjList of barracks candidates.

Open full entry →
Settlement
ObjList Settlement::TSGetAllBarracks()

Filters settlement building handles into an ObjList of barracks candidates.

TSGetAllArenae

Filters settlement building handles into an ObjList of arena candidates.

Open full entry →
Settlement
ObjList Settlement::TSGetAllArenae()

Filters settlement building handles into an ObjList of arena candidates.

TSGetAllTemples

Builds an ObjList of eligible settlement members derived from the race-specific temple class.

Open full entry →
Settlement
ObjList Settlement::TSGetAllTemples()

Builds an ObjList of eligible settlement members derived from the race-specific temple class.

BestArena

Selects a settlement member derived from BaseArena by the minimum unsigned adjusted score stored in an implementation field.

Open full entry →
Settlement
Building Settlement::BestArena()

Selects a settlement member derived from BaseArena by the minimum unsigned adjusted score stored in an implementation field.

ArenaTrainCmd

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

Open full entry →
Global
str ArenaTrainCmd(int)

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

TSArenaRecruit

Builds an ObjList and delegates Settlement tactical recruitment through TSH_ArenaRecruit.vs and the universal command path.

Open full entry →
Settlement
ObjList Settlement::TSArenaRecruit(int)

Builds an ObjList and delegates Settlement tactical recruitment through TSH_ArenaRecruit.vs and the universal command path.

ArenaUTech

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

Open full entry →
Global
str ArenaUTech(int)

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

ArenaUType

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

Open full entry →
Global
str ArenaUType(int)

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

TSRecruitHero

Dispatches a hero recruitment strategy script for a Settlement.

Open full entry →
Settlement
Hero Settlement::TSRecruitHero()

Dispatches a hero recruitment strategy script for a Settlement.

TSResearch

Applies a TSH_Research command script with a Settlement, research name and temporary result reference.

Open full entry →
Settlement
bool Settlement::TSResearch(str)

Applies a TSH_Research command script with a Settlement, research name and temporary result reference.

TSTempleRecruit

Builds an ObjList and delegates Settlement tactical recruitment through TSH_TempleRecruit.vs and the universal command path.

Open full entry →
Settlement
ObjList Settlement::TSTempleRecruit(int)

Builds an ObjList and delegates Settlement tactical recruitment through TSH_TempleRecruit.vs and the universal command path.

BestTemple

Chooses the lowest-scoring eligible race-specific temple in a settlement.

Open full entry →
Settlement
Building Settlement::BestTemple()

Chooses the lowest-scoring eligible race-specific temple in a settlement.

TempleUType

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

Open full entry →
Global
str TempleUType(int)

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

TempleUTrain

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

Open full entry →
Global
str TempleUTrain(int)

Selects a native string pointer by a signed index and builds an eight-byte managed script-string result.

TSAdvHeroSkills

Converts two IntArray references to temporary handles and invokes the player-specific TSH_HeroSkills.vs universal command.

Open full entry →
Hero
void Hero::TSAdvHeroSkills(IntArray&, IntArray&)

Converts two IntArray references to temporary handles and invokes the player-specific TSH_HeroSkills.vs universal command.

SelSquad

SelSquad without arguments submits the primary objects squad members.

Open full entry →
Global
void SelSquad()

SelSquad without arguments submits the primary objects squad members.

SelSquad

SelSquad player-index overload submits resolved squad members.

Open full entry →
Global
void SelSquad(int, int)

SelSquad player-index overload submits resolved squad members.

SelSquadLeader

SelSquadLeader submits the resolved first squad member.

Open full entry →
Global
void SelSquadLeader()

SelSquadLeader submits the resolved first squad member.

Dump

Dumps spatial coordinates, settlement type, squad counts, and AI player status for a specified GAIKA identifier to in-game chat and logs.

Open full entry →
GAIKA
void GAIKA::Dump()

Dumps spatial coordinates, settlement type, squad counts, and AI player status for a specified GAIKA identifier to in-game chat and logs.

Dump

Delegates a nonzero packed squad value to a diagnostic formatter.

Open full entry →
Squad
void Squad::Dump()

Delegates a nonzero packed squad value to a diagnostic formatter.

Dump

Prints diagnostics for list elements from the active cursor and advances that cursor to its end.

Open full entry →
SquadList
void SquadList::Dump()

Prints diagnostics for list elements from the active cursor and advances that cursor to its end.

Breakpoint

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

Open full entry →
Global
void Breakpoint()

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

PrGAIKAStrat

PrGAIKAStrat formats the named strategy query result.

Open full entry →
Global
void PrGAIKAStrat(GAIKA, int)

PrGAIKAStrat formats the named strategy query result.

ViewGAIKA

ViewGAIKA queries the converted viewport midpoint.

Open full entry →
Global
GAIKA ViewGAIKA()

ViewGAIKA queries the converted viewport midpoint.

vg

vg requests camera centering and diagnostics for a narrowed GAIKA.

Open full entry →
Global
void vg(int)

vg requests camera centering and diagnostics for a narrowed GAIKA.

SS_STR

SS_STR allocates a string for a signed state selector.

Open full entry →
Global
str SS_STR(int)

SS_STR allocates a string for a signed state selector.

GS_STR

GS_STR allocates a string for a signed strategy selector.

Open full entry →
Global
str GS_STR(int)

GS_STR allocates a string for a signed strategy selector.

IsTeutonTent

Compares an associated settlement object's string to TTent and returns a one-byte boolean.

Open full entry →
Settlement
bool Settlement::IsTeutonTent()

Compares an associated settlement object's string to TTent and returns a one-byte boolean.

AIV

AIV integer overload passes a decremented player and empty prefix.

Open full entry →
Global
void AIV(int)

AIV integer overload passes a decremented player and empty prefix.

AIV

AIV string overload unlinks and releases its prefix operand.

Open full entry →
Global
void AIV(int, str)

AIV string overload unlinks and releases its prefix operand.

DbgAI

DbgAI formats an AI profile under an upper-only player gate.

Open full entry →
Global
void DbgAI(int)

DbgAI formats an AI profile under an upper-only player gate.

DbgArmy

DbgArmy queries fifty class names and prints nonzero results.

Open full entry →
Global
void DbgArmy(int)

DbgArmy queries fifty class names and prints nonzero results.

dp

Emits priority notifications for a bounded prefix of the local player's AI records.

Open full entry →
Global
void dp(int)

Emits priority notifications for a bounded prefix of the local player's AI records.

LsaStr

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
str LsaStr(int)Description pending

Description pending.

AIVar

AIVar returns the selected player AI variable when its player, index, record and table checks pass, otherwise zero.

Open full entry →
Global
int AIVar(int, int)

AIVar returns the selected player AI variable when its player, index, record and table checks pass, otherwise zero.

AIVar

Three-argument AIVar returns whether a selected bit is set in an indexed AI variable word after guarded player and variable lookup.

Open full entry →
Global
bool AIVar(int, int, int)

Three-argument AIVar returns whether a selected bit is set in an indexed AI variable word after guarded player and variable lookup.

SetAIVar

SetAIVar updates the selected player AI variable when its player, index, record and table checks pass, discarding the write otherwise.

Open full entry →
Global
void SetAIVar(int, int, int)

SetAIVar updates the selected player AI variable when its player, index, record and table checks pass, discarding the write otherwise.

SetAIVar

SetAIVar sets or clears bit (bit argument modulo 32) in an indexed dword reached through the selected player record.

Open full entry →
Global
void SetAIVar(int, int, int, bool)

SetAIVar sets or clears bit (bit argument modulo 32) in an indexed dword reached through the selected player record.

AIRun

Native adapter for this function resolving a player script and dispatching 0 integer arguments.

Open full entry →
Global
void AIRun(int, str)

Native adapter for this function resolving a player script and dispatching 0 integer arguments.

AIRun

Native adapter for this function resolving a player script and dispatching 1 integer arguments.

Open full entry →
Global
void AIRun(int, str, int)

Native adapter for this function resolving a player script and dispatching 1 integer arguments.

AIRun

Native adapter for this function resolving a player script and dispatching 2 integer arguments.

Open full entry →
Global
void AIRun(int, str, int, int)

Native adapter for this function resolving a player script and dispatching 2 integer arguments.

AIRun

Native adapter for this function resolving a player script and dispatching 3 integer arguments.

Open full entry →
Global
void AIRun(int, str, int, int, int)

Native adapter for this function resolving a player script and dispatching 3 integer arguments.

AIRun

Native adapter for this function resolving a player script and dispatching 4 integer arguments.

Open full entry →
Global
void AIRun(int, str, int, int, int, int)

Native adapter for this function resolving a player script and dispatching 4 integer arguments.

AIRun

Native adapter for this function resolving a player script and dispatching 5 integer arguments.

Open full entry →
Global
void AIRun(int, str, int, int, int, int, int)

Native adapter for this function resolving a player script and dispatching 5 integer arguments.

AIIRun

Native adapter for this function resolving a player script and dispatching 0 integer arguments.

Open full entry →
Global
int AIIRun(int, str)

Native adapter for this function resolving a player script and dispatching 0 integer arguments.

AIIRun

Native adapter for this function resolving a player script and dispatching 1 integer arguments.

Open full entry →
Global
int AIIRun(int, str, int)

Native adapter for this function resolving a player script and dispatching 1 integer arguments.

AIIRun

Native adapter for this function resolving a player script and dispatching 2 integer arguments.

Open full entry →
Global
int AIIRun(int, str, int, int)

Native adapter for this function resolving a player script and dispatching 2 integer arguments.

AIIRun

Native adapter for this function resolving a player script and dispatching 3 integer arguments.

Open full entry →
Global
int AIIRun(int, str, int, int, int)

Native adapter for this function resolving a player script and dispatching 3 integer arguments.

AIIRun

Native adapter for this function resolving a player script and dispatching 4 integer arguments.

Open full entry →
Global
int AIIRun(int, str, int, int, int, int)

Native adapter for this function resolving a player script and dispatching 4 integer arguments.

AIIRun

Native adapter for this function resolving a player script and dispatching 5 integer arguments.

Open full entry →
Global
int AIIRun(int, str, int, int, int, int, int)

Native adapter for this function resolving a player script and dispatching 5 integer arguments.

AIRun

Looks up the named AI script in the owning player's context and, if found, invokes it with the settlement as its context.

The argument is the name used to resolve the AI script path. The reviewed path directly invokes execution with a temporary context representing the same settlement. A missing script produces a diagnostic. Use a valid settlement. Resumption of scripts that wait and their subsequent effects are outside this entry.

Open full entry →
Settlement
void Settlement::AIRun(str)

Looks up the named AI script in the owning player's context and, if found, invokes it with the settlement as its context.

AIRun

Resolves a player script name and dispatches it as a registered command when found.

Open full entry →
GAIKA
void GAIKA::AIRun(str, int)

Resolves a player script name and dispatches it as a registered command when found.

AIRun

Forwards a packed squad value to a resolved registered script command.

Open full entry →
Squad
void Squad::AIRun(str)

Forwards a packed squad value to a resolved registered script command.

AppendFile

Retries opening a filename and dispatches content through stream virtual methods.

Open full entry →
Global
void AppendFile(str, str)

Retries opening a filename and dispatches content through stream virtual methods.

pr

Displays the supplied text in the in-game message log and chat window.

Open full entry →
Global
void pr(str)

Displays the supplied text in the in-game message log and chat window.

pr

Displays an integer as a decimal number in the game's chat.

Open full entry →
Global
void pr(int)

Displays an integer as a decimal number in the game's chat.

pr

Displays true or false in the game's chat.

Open full entry →
Global
void pr(bool)

Displays true or false in the game's chat.

cls

Invokes a clearing operation on a field of the game state.

Open full entry →
Global
void cls()

Invokes a clearing operation on a field of the game state.

quit

Dispatches game vtable slot [field] and returns normal interpreter status if the call returns.

Open full entry →
Global
void quit()

Dispatches game vtable slot [field] and returns normal interpreter status if the call returns.

switch

Requests the editor test transition through a helper that writes one to its flag.

Open full entry →
Global
void switch()

Requests the editor test transition through a helper that writes one to its flag.

_Black

Sets one global dword and dispatches two UI virtual operations.

Open full entry →
Global
void _Black()

Sets one global dword and dispatches two UI virtual operations.

_Place

Routes class creation, template validation and player-zero placement from console arguments.

Open full entry →
Global
void _Place(str, int, int)

Routes class creation, template validation and player-zero placement from console arguments.

_InvalidateAllToggle

Invalidation toggle primitives normalize their dword globals by a zero test.

Open full entry →
Global
void _InvalidateAllToggle()

Invalidation toggle primitives normalize their dword globals by a zero test.

_ToggleInvRects

Invalidation toggle primitives normalize their dword globals by a zero test.

Open full entry →
Global
void _ToggleInvRects()

Invalidation toggle primitives normalize their dword globals by a zero test.

_SetCursor

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void _SetCursor(str)Description pending

Description pending.

ProfileStart

ProfileStart forwards the profiling start request.

Open full entry →
Global
void ProfileStart()

ProfileStart forwards the profiling start request.

ProfileStop

ProfileStop forwards the profiling stop request.

Open full entry →
Global
void ProfileStop()

ProfileStop forwards the profiling stop request.

PerlinTest

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

Open full entry →
Global
void PerlinTest()

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

ShrinkEntities

ShrinkEntities invokes one worker and returns status zero.

Open full entry →
Global
void ShrinkEntities()

ShrinkEntities invokes one worker and returns status zero.

ReloadConstIni

ReloadConstIni delegates two operations with the constant filename.

Open full entry →
Global
void ReloadConstIni()

ReloadConstIni delegates two operations with the constant filename.

BuildSPF

Calls [field] and returns native status zero without accessing the VM cursor.

Open full entry →
Global
void BuildSPF()

Calls [field] and returns native status zero without accessing the VM cursor.

BuildRLEMMap

Calls [field] and returns native status zero without accessing the VM cursor.

Open full entry →
Global
void BuildRLEMMap()

Calls [field] and returns native status zero without accessing the VM cursor.

PrintMemStats

PrintMemStats formats current and saved counters.

Open full entry →
Global
void PrintMemStats()

PrintMemStats formats current and saved counters.

DumpObj

DumpObj preserves a five-byte modal packet while returning one.

Open full entry →
Global
void DumpObj()

DumpObj preserves a five-byte modal packet while returning one.

ConvTerrains

Rewrites packed terrain cells across the map through a fixed sixteen-entry conversion table.

Open full entry →
Global
void ConvTerrains()

Rewrites packed terrain cells across the map through a fixed sixteen-entry conversion table.

CheckClasses

CheckClasses dispatches the class registry and diagnostic callback.

Open full entry →
Global
void CheckClasses()

CheckClasses dispatches the class registry and diagnostic callback.

MakePassable

Clears one packed map bit per sixteen-unit interior coordinate and returns native status zero.

Open full entry →
Global
void MakePassable()

Clears one packed map bit per sixteen-unit interior coordinate and returns native status zero.

SetPlayer

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetPlayer(int)Description pending

Description pending.

CurPlayer

Behavior awaiting documentation.

Open full entry →
Global
int CurPlayer()Description pending

Description pending.

ToggleFog

Constructs a twelve-byte fog command and sends it through the game command entry.

Open full entry →
Global
void ToggleFog()

Constructs a twelve-byte fog command and sends it through the game command entry.

SetFog

Normalizes one VM boolean into a sixteen-byte command payload.

Open full entry →
Global
void SetFog(bool)

Normalizes one VM boolean into a sixteen-byte command payload.

ExploreAll

Forwards the map subobject at [field] to one engine call.

Open full entry →
Global
void ExploreAll()

Forwards the map subobject at [field] to one engine call.

Invalidate

Behavior awaiting documentation.

Open full entry →
Global
void Invalidate()Description pending

Description pending.

Render

Invokes virtual slot [field] on the global view receiver.

Open full entry →
Global
void Render()

Invokes virtual slot [field] on the global view receiver.

ScreenShot

Behavior awaiting documentation.

Open full entry →
Global
void ScreenShot()Description pending

Description pending.

ActivateScreenShots

ActivateScreenShots preserves a nine-byte retry packet until stop.

Open full entry →
Global
void ActivateScreenShots(int)

ActivateScreenShots preserves a nine-byte retry packet until stop.

ToggleScreenShots

ToggleScreenShots requests stop or compiles an activation call.

Open full entry →
Global
void ToggleScreenShots(int)

ToggleScreenShots requests stop or compiles an activation call.

DebugSelected

DebugSelected formats selection and script diagnostics.

Open full entry →
Global
void DebugSelected()

DebugSelected formats selection and script diagnostics.

Save

The no-argument Save and Load adapters construct test.svg and route it to distinct helpers.

Open full entry →
Global
void Save()

The no-argument Save and Load adapters construct test.svg and route it to distinct helpers.

ExportObjs

Selects a filename and routes a temporary map context to the object export worker.

Open full entry →
Global
void ExportObjs(str)

Selects a filename and routes a temporary map context to the object export worker.

ExportTerrain

Selects a filename and routes a temporary map context to the terrain save wrapper.

Open full entry →
Global
void ExportTerrain(str)

Selects a filename and routes a temporary map context to the terrain save wrapper.

Load

The no-argument Save and Load adapters construct test.svg and route it to distinct helpers.

Open full entry →
Global
void Load()

The no-argument Save and Load adapters construct test.svg and route it to distinct helpers.

Save

Named Save and Load prefix Scenarios/ under a nonzero global or append.svg when no dot is present.

Open full entry →
Global
void Save(str)

Named Save and Load prefix Scenarios/ under a nonzero global or append.svg when no dot is present.

Load

Named Save and Load prefix Scenarios/ under a nonzero global or append.svg when no dot is present.

Open full entry →
Global
void Load(str)

Named Save and Load prefix Scenarios/ under a nonzero global or append.svg when no dot is present.

ChMap

ChMap consumes its script string and forwards its unchanged payload to [field].

Open full entry →
Global
void ChMap(str)

ChMap consumes its script string and forwards its unchanged payload to [field].

MousePos

Prints the signed word pair from the input-interface position query.

Open full entry →
Global
void MousePos()

Prints the signed word pair from the input-interface position query.

Conv

Allocates a conversation object and passes the fixed test name to its setup worker.

Open full entry →
Global
void Conv()

Allocates a conversation object and passes the fixed test name to its setup worker.

ToggleVis

Selects one of two receiver calls and normalizes the selector to its zero test.

Open full entry →
Global
void ToggleVis()

Selects one of two receiver calls and normalizes the selector to its zero test.

Spawn

Attempts independent argument-sized square grids for players zero and one, then centers a terrain-adjusted point.

Open full entry →
Global
void Spawn(int, int)

Attempts independent argument-sized square grids for players zero and one, then centers a terrain-adjusted point.

RemoveDecors

Routes a calculated packed-grid extent to zero fill and then processes the viewport refresh path.

Open full entry →
Global
void RemoveDecors()

Routes a calculated packed-grid extent to zero fill and then processes the viewport refresh path.

Explorer

Selects complementary mask2 argument triples for the control style helper.

Open full entry →
Global
void Explorer()

Selects complementary mask2 argument triples for the control style helper.

Dlg

Constructs a menu object and routes a managed name plus fixed layout arguments to virtual calls.

Open full entry →
Global
void Dlg(str)

Constructs a menu object and routes a managed name plus fixed layout arguments to virtual calls.

DumpStats

DumpStats resolves an Obj and formats its unit statistics.

Open full entry →
Global
void DumpStats(Obj)

DumpStats resolves an Obj and formats its unit statistics.

sel

Returns an ObjList refreshed from the selection source selected by global state.

Open full entry →
Global
ObjList sel()

Returns an ObjList refreshed from the selection source selected by global state.

selo

Selects a candidate, checks that it supports the script-object interface and returns its encoded object reference.

Open full entry →
Global
Obj selo()

Selects a candidate, checks that it supports the script-object interface and returns its encoded object reference.

selu

Returns the currently selected unit handle, or the null handle when the selected object is not a unit.

Open full entry →
Global
Unit selu()

Returns the currently selected unit handle, or the null handle when the selected object is not a unit.

selh

Selects a candidate with a particular flag and returns its encoded hero reference.

Open full entry →
Global
Hero selh()

Selects a candidate with a particular flag and returns its encoded hero reference.

selb

Selects a candidate with a particular flag and returns its encoded building reference.

Open full entry →
Global
Building selb()

Selects a candidate with a particular flag and returns its encoded building reference.

sels

Returns the settlement associated with the currently selected settlement object, or the null handle.

Open full entry →
Global
Settlement sels()

Returns the settlement associated with the currently selected settlement object, or the null handle.

selsq

Selects a candidate with a particular flag and returns its squad selector extended with zero bits.

Open full entry →
Global
Squad selsq()

Selects a candidate with a particular flag and returns its squad selector extended with zero bits.

selg

Routes a selected candidate through direct GAIKA helpers or coordinate fallback and pushes a narrowed selector.

Open full entry →
Global
GAIKA selg()

Routes a selected candidate through direct GAIKA helpers or coordinate fallback and pushes a narrowed selector.

Desync

Desync passes a diagnostic file object through two virtual calls.

Open full entry →
Global
void Desync()

Desync passes a diagnostic file object through two virtual calls.

PFPersist

Consumes one boolean byte and selects two helper sequences around active-pathfinder virtual slot [field].

Open full entry →
Global
void PFPersist(bool)

Consumes one boolean byte and selects two helper sequences around active-pathfinder virtual slot [field].

AddFD

Inserts a callback into a global list and refreshes the current render-target rectangle.

Open full entry →
Global
void AddFD()

Inserts a callback into a global list and refreshes the current render-target rectangle.

RemFD

Behavior awaiting documentation.

Open full entry →
Global
void RemFD()Description pending

Description pending.

RebuildPass

Invokes the map passability-mask rebuild routine for the current map bounds.

Open full entry →
Global
void RebuildPass()

Invokes the map passability-mask rebuild routine for the current map bounds.

Splash

executes a modal introductory splash video/image sequence from INI configuration.

Open full entry →
Global
void Splash(str, str)

executes a modal introductory splash video/image sequence from INI configuration.

F5

Behavior awaiting documentation.

Open full entry →
Global
void F5()Description pending

Description pending.

FlatTerrain

Zeroes the global packed height surface, rebuilds the derived slope surface, and processes the pending viewport rectangle.

Open full entry →
Global
void FlatTerrain()

Zeroes the global packed height surface, rebuilds the derived slope surface, and processes the pending viewport rectangle.

Pause

Pause calls game virtual slot54 with one.

Open full entry →
Global
void Pause()

Pause calls game virtual slot54 with one.

TestLoad

TestLoad calls [field] and returns status zero without a VM packet operation.

Open full entry →
Global
void TestLoad()

TestLoad calls [field] and returns status zero without a VM packet operation.

TestSave

Sequentially executes explorer dialog state serialization followed by dialog list cleanup and heap deallocation.

Open full entry →
Global
void TestSave()

Sequentially executes explorer dialog state serialization followed by dialog list cleanup and heap deallocation.

sd

sd delegates without a semantic incoming-register argument.

Open full entry →
Global
void sd()

sd delegates without a semantic incoming-register argument.

_RedrawAll

Dispatches the two UI virtual operations also used after the _Black global store.

Open full entry →
Global
void _RedrawAll()

Dispatches the two UI virtual operations also used after the _Black global store.

InsDecor

Writes an unmasked shifted decor value into the selected packed-grid word and dispatches a callback.

Open full entry →
Global
void InsDecor(int, int, int)

Writes an unmasked shifted decor value into the selected packed-grid word and dispatches a callback.

DelDecor

Clears the selected 16-bit halfword of a packed-grid dword and dispatches a callback.

Open full entry →
Global
void DelDecor(int, int)

Clears the selected 16-bit halfword of a packed-grid dword and dispatches a callback.

PreLit

Dispatches a full-extent light worker with fixed constants before printing its completion label.

Open full entry →
Global
void PreLit()

Dispatches a full-extent light worker with fixed constants before printing its completion label.

DeepWater

Forwards three VM integers and the full terrain rectangle to one worker.

Open full entry →
Global
void DeepWater(int, int, int)

Forwards three VM integers and the full terrain rectangle to one worker.

RayOfLight

Gates on signed X and forwards all four VM integers to a six-argument worker.

Open full entry →
Global
void RayOfLight(int, int, int, int)

Gates on signed X and forwards all four VM integers to a six-argument worker.

DumpFuncToXML

Dispatches the fixed XML filename and announces completion without checking the result.

Open full entry →
Global
void DumpFuncToXML()

Dispatches the fixed XML filename and announces completion without checking the result.

USR

Prints the running-script name for every currently selected unit, or a no-selection message.

Open full entry →
Global
void USR()

Prints the running-script name for every currently selected unit, or a no-selection message.

ToggleLD

Toggles one rendering callback in a global callback list and requests viewport redraw processing.

Open full entry →
Global
void ToggleLD()

Toggles one rendering callback in a global callback list and requests viewport redraw processing.

ChangeFormation

Routes a managed shape name to a selected registry object form pointer.

Open full entry →
Global
void ChangeFormation(str)

Routes a managed shape name to a selected registry object form pointer.

UndoMemory

UndoMemory prints a sampled field or an unavailable diagnostic.

Open full entry →
Global
void UndoMemory()

UndoMemory prints a sampled field or an unavailable diagnostic.

AdvExplorer

Behavior awaiting documentation.

Open full entry →
Global
void AdvExplorer()Description pending

Description pending.

ae

Behavior awaiting documentation.

Open full entry →
Global
void ae()Description pending

Description pending.

TTest

Resolves a translation key and prints the input and translated value to chat.

Open full entry →
Global
void TTest(str)

Resolves a translation key and prints the input and translated value to chat.

TTestf

TTestf passes fixed variadic test operands to the formatter.

Open full entry →
Global
void TTestf()

TTestf passes fixed variadic test operands to the formatter.

SaveEdit

Dispatches a fixed scenario path through the game object virtual slot [field].

Open full entry →
Global
void SaveEdit()

Dispatches a fixed scenario path through the game object virtual slot [field].

EdgeOfForever

Prints a TLS-derived pointer with the literal ScopeStack format.

Open full entry →
Global
void EdgeOfForever()

Prints a TLS-derived pointer with the literal ScopeStack format.

TestAdventure

Initiates an integrity audit of the current adventure map set, reporting errors and warnings to the in-game message console.

Open full entry →
Global
void TestAdventure()

Initiates an integrity audit of the current adventure map set, reporting errors and warnings to the in-game message console.

TestAdventureDebug

audits adventure integrity and outputs results via the debug stream logger.

Open full entry →
Global
void TestAdventureDebug()

audits adventure integrity and outputs results via the debug stream logger.

SettlementCount

SettlementCount prints vector length and each stored building field.

Open full entry →
Global
void SettlementCount()

SettlementCount prints vector length and each stored building field.

LSA

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void LSA()Description pending

Description pending.

GAIKAFD

GAIKAFD toggles a callback and forwards a bitmap filename.

Open full entry →
Global
void GAIKAFD()

GAIKAFD toggles a callback and forwards a bitmap filename.

ESG

ESG filters packed squad entries and prints a local accumulator.

Open full entry →
Global
void ESG(int, int)

ESG filters packed squad entries and prints a local accumulator.

GS

GS prints a viewport cell identifier and a registered symbol.

Open full entry →
Global
void GS(int)

GS prints a viewport cell identifier and a registered symbol.

cvar1

Pops an integer and forwards it with /cvar1 to the property setter helper.

Open full entry →
Global
void cvar1(int)

Pops an integer and forwards it with /cvar1 to the property setter helper.

cvar1

Passes /cvar1 to a property lookup operation and returns its 32-bit result.

Open full entry →
Global
int cvar1()

Passes /cvar1 to a property lookup operation and returns its 32-bit result.

cvar2

Pops an integer and forwards it with /cvar2 to the property setter helper.

Open full entry →
Global
void cvar2(int)

Pops an integer and forwards it with /cvar2 to the property setter helper.

cvar2

Passes /cvar2 to a property lookup operation and returns its 32-bit result.

Open full entry →
Global
int cvar2()

Passes /cvar2 to a property lookup operation and returns its 32-bit result.

TogglePtDraw

Toggles a native mask bit and sends the viewport rectangle to the dirty-rect marker.

Open full entry →
Global
void TogglePtDraw(int)

Toggles a native mask bit and sends the viewport rectangle to the dirty-rect marker.

DisablePtDraw

Clears the native draw mask and sends the viewport rectangle to the dirty-rect marker.

Open full entry →
Global
void DisablePtDraw()

Clears the native draw mask and sends the viewport rectangle to the dirty-rect marker.

EnablePtDraw

Sets every native draw-mask bit and sends the viewport rectangle to the dirty-rect marker.

Open full entry →
Global
void EnablePtDraw()

Sets every native draw-mask bit and sends the viewport rectangle to the dirty-rect marker.

GetAnimState

Maps the resolved Unit's [field] state integer according to a global animation mode predicate.

Open full entry →
Unit
int Unit::GetAnimState()

Maps the resolved Unit's [field] state integer according to a global animation mode predicate.

ClearDecors

Clears every packed 16-bit decor-grid sample across the global map dimensions.

Open full entry →
Global
void ClearDecors()

Clears every packed 16-bit decor-grid sample across the global map dimensions.

GenTransTables

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

Open full entry →
Global
void GenTransTables()

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

GetItem

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void GetItem(str)Description pending

Description pending.

_PlayersAlly

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void _PlayersAlly(int, int)Description pending

Description pending.

_PlayersShareControl

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void _PlayersShareControl(int, int)Description pending

Description pending.

_PlayersShareView

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void _PlayersShareView(int, int)Description pending

Description pending.

_PlayersShareSupport

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void _PlayersShareSupport(int, int)Description pending

Description pending.

_PlayersMakeEnemies

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void _PlayersMakeEnemies(int, int)Description pending

Description pending.

_chs

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void _chs(str)Description pending

Description pending.

_SetNextSeason

_SetNextSeason stores the parser result even when it is zero.

Open full entry →
Global
void _SetNextSeason(str)

_SetNextSeason stores the parser result even when it is zero.

IngameDebugSelected

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

Open full entry →
Global
void IngameDebugSelected()

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

gmp

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void gmp()Description pending

Description pending.

GenHelpCmdIcons

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void GenHelpCmdIcons()Description pending

Description pending.

_EnableAllSkills

Resolves a Hero and zeroes its 25 skill-level bytes directly.

Open full entry →
Hero
void Hero::_EnableAllSkills()

Resolves a Hero and zeroes its 25 skill-level bytes directly.

gdb

Behavior awaiting documentation.

Open full entry →
Global
void gdb()Description pending

Description pending.

_handles

_handles prints two initialized counter outputs behind pointer gates.

Open full entry →
Global
void _handles()

_handles prints two initialized counter outputs behind pointer gates.

GetFormDsc

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
str GetFormDsc(str)Description pending

Description pending.

SetPlayerSettRace

Behavior awaiting documentation.

Open full entry →
Global
void SetPlayerSettRace(int, int)Description pending

Description pending.

SetSettRace

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetSettRace(str, int)Description pending

Description pending.

SetShortcutSel

Native CKS binding writing eligible units from an ObjList into a numbered control group, validating the full 0..9 range.

Open full entry →
Global
void SetShortcutSel(int, int, ObjList)

Native CKS binding writing eligible units from an ObjList into a numbered control group, validating the full 0..9 range.

GetShortcutSel

Native CKS binding exporting a numbered control group's primary unit list to a new ObjList, validating the full 0..9 range.

Open full entry →
Global
ObjList GetShortcutSel(int, int)

Native CKS binding exporting a numbered control group's primary unit list to a new ObjList, validating the full 0..9 range.

UIShowTab

Consumes the requested tab integer but uses it only as a guard for a selection refresh helper.

Open full entry →
Global
void UIShowTab(int)

Consumes the requested tab integer but uses it only as a guard for a selection refresh helper.

UITabShown

Pushes the tab-holder global dword read by a native getter.

Open full entry →
Global
int UITabShown()

Pushes the tab-holder global dword read by a native getter.

BlurTerrain

Narrows its integer to signed sixteen bits before terrain processing and refresh dispatch.

Open full entry →
Global
void BlurTerrain(int)

Narrows its integer to signed sixteen bits before terrain processing and refresh dispatch.

ShowFlatTerrain

Runs a terrain worker followed by slope-grid rebuild and viewport processing.

Open full entry →
Global
void ShowFlatTerrain()

Runs a terrain worker followed by slope-grid rebuild and viewport processing.

clock

Formats the game counter at [field] as an hours-minutes-seconds string and returns a CKS string value.

Open full entry →
Global
str clock()

Formats the game counter at [field] as an hours-minutes-seconds string and returns a CKS string value.

_DbgSel

Modifies a selected related unit descriptor, prints native values and conditionally creates feedback for a point command.

Open full entry →
Global
void _DbgSel()

Modifies a selected related unit descriptor, prints native values and conditionally creates feedback for a point command.

WaitIdle

Implements the registered WaitIdle blocking predicate and timeout paths.

Open full entry →
Global
bool WaitIdle(Query, int)

Implements the registered WaitIdle blocking predicate and timeout paths.

WaitObjInQuery

Implements the registered WaitObjInQuery blocking predicate and timeout paths.

Open full entry →
Global
bool WaitObjInQuery(Obj, Query, int)

Implements the registered WaitObjInQuery blocking predicate and timeout paths.

WaitQueryCountBetween

Implements the registered WaitQueryCountBetween blocking predicate and timeout paths.

Open full entry →
Global
bool WaitQueryCountBetween(Query, int, int, int)

Implements the registered WaitQueryCountBetween blocking predicate and timeout paths.

WaitCommonObjects

Implements a blocking wait condition over two queries and schedules a retry interval when required.

Open full entry →
Global
bool WaitCommonObjects(Query, Query, int)

Implements a blocking wait condition over two queries and schedules a retry interval when required.

WaitHealthBetween

Implements the registered WaitHealthBetween blocking predicate and timeout paths.

Open full entry →
Global
bool WaitHealthBetween(Query, int, int, int)

Implements the registered WaitHealthBetween blocking predicate and timeout paths.

WaitSettlementCapture

Implements the registered WaitSettlementCapture blocking predicate and timeout paths.

Open full entry →
Global
bool WaitSettlementCapture(str, int, int)

Implements the registered WaitSettlementCapture blocking predicate and timeout paths.

WaitSettlementAllied

Waits until a named settlement is not allied with a requested player or a finite timeout expires.

Open full entry →
Global
bool WaitSettlementAllied(str, int, int)

Waits until a named settlement is not allied with a requested player or a finite timeout expires.

WaitEnvStringEqual

Implements the registered WaitEnvStringEqual blocking predicate and timeout paths.

Open full entry →
Global
bool WaitEnvStringEqual(str, str, int)

Implements the registered WaitEnvStringEqual blocking predicate and timeout paths.

WaitEnvIntBetween

Implements the registered WaitEnvIntBetween blocking predicate and timeout paths.

Open full entry →
Global
bool WaitEnvIntBetween(str, int, int, int)

Implements the registered WaitEnvIntBetween blocking predicate and timeout paths.

WaitAddNote

Suspends a VM thread until a named note exists or the requested timeout expires.

Open full entry →
Global
bool WaitAddNote(str, int)

Suspends a VM thread until a named note exists or the requested timeout expires.

WaitRemoveNote

Suspends a VM thread while a named note remains active, subject to the requested timeout.

Open full entry →
Global
bool WaitRemoveNote(str, int)

Suspends a VM thread while a named note remains active, subject to the requested timeout.

WaitConvRequest

Behavior awaiting documentation.

Open full entry →
Global
bool WaitConvRequest(Query, Query, int, Obj&, Obj&)Description pending

Description pending.

WaitUnitsInArea

WaitUnitsInArea tests a nonempty query collection using the area acceptance helper.

Open full entry →
Global
bool WaitUnitsInArea(Query, str, int)

WaitUnitsInArea tests a nonempty query collection using the area acceptance helper.

WaitIdleUnitsInArea

WaitIdleUnitsInArea tests idle names in a nonempty area-filtered collection.

Open full entry →
Global
bool WaitIdleUnitsInArea(Query, str, int)

WaitIdleUnitsInArea tests idle names in a nonempty area-filtered collection.

WaitEmptyQuery

WaitEmptyQuery completes true when query virtual slot [field] returns nonzero.

Open full entry →
Global
bool WaitEmptyQuery(Query, int)

WaitEmptyQuery completes true when query virtual slot [field] returns nonzero.

WaitNonEmptyQuery

WaitNonEmptyQuery completes true when query virtual slot [field] returns zero.

Open full entry →
Global
bool WaitNonEmptyQuery(Query, int)

WaitNonEmptyQuery completes true when query virtual slot [field] returns zero.

WaitConvRequest

Behavior awaiting documentation.

Open full entry →
Global
bool WaitConvRequest(Obj, Obj, int)Description pending

Description pending.

EndConvSetup

Behavior awaiting documentation.

Open full entry →
Global
void EndConvSetup(Obj, Obj)Description pending

Description pending.

WaitPlayerChat

WaitPlayerChat copies and removes a matching-stamp chat entry into output references.

Open full entry →
Global
void WaitPlayerChat(int&, str&, int)

WaitPlayerChat copies and removes a matching-stamp chat entry into output references.

ShowLastNotificationPos

Projects the stored notification target and submits a scene viewport center request.

Open full entry →
Global
void ShowLastNotificationPos()

Projects the stored notification target and submits a scene viewport center request.

UserNotification

Triggers a notification from two script strings and a point when the requested player matches the active player.

Open full entry →
Global
void UserNotification(str, str, point, int)

Triggers a notification from two script strings and a point when the requested player matches the active player.

HasStarvingArmy

Tests whether the notifications manager contains the named army-starving notification.

Open full entry →
Global
bool HasStarvingArmy()

Tests whether the notifications manager contains the named army-starving notification.

HasStarvingArmy

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
bool HasStarvingArmy(int)Description pending

Description pending.

StarvingArmyPos

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
Obj StarvingArmyPos(int)Description pending

Description pending.

RunAIHelper

Consumes 2 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str)

Consumes 2 script strings and forwards their character data to the global AI helper invocation routine.

RunAIHelper

Consumes 3 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str, str)

Consumes 3 script strings and forwards their character data to the global AI helper invocation routine.

RunAIHelper

Consumes 4 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str, str, str)

Consumes 4 script strings and forwards their character data to the global AI helper invocation routine.

RunAIHelper

Consumes 5 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str, str, str, str)

Consumes 5 script strings and forwards their character data to the global AI helper invocation routine.

RunAIHelper

Consumes 6 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str, str, str, str, str)

Consumes 6 script strings and forwards their character data to the global AI helper invocation routine.

RunAIHelper

Consumes 7 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str, str, str, str, str, str)

Consumes 7 script strings and forwards their character data to the global AI helper invocation routine.

RunAIHelper

Consumes 8 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str, str, str, str, str, str, str)

Consumes 8 script strings and forwards their character data to the global AI helper invocation routine.

RunAIHelper

Consumes 9 script strings and forwards their character data to the global AI helper invocation routine.

Open full entry →
Global
void RunAIHelper(str, str, str, str, str, str, str, str, str)

Consumes 9 script strings and forwards their character data to the global AI helper invocation routine.

StopAIHelper

Consumes a helper-name string and forwards a named task cancellation request.

Open full entry →
Global
void StopAIHelper(str)

Consumes a helper-name string and forwards a named task cancellation request.

IsAIHelperRunning

Consumes a helper-name string and returns the helper name-table membership result.

Open full entry →
Global
bool IsAIHelperRunning(str)

Consumes a helper-name string and returns the helper name-table membership result.

pfd

Alternates destruction and allocation of the object pointer at [field].

Open full entry →
Global
void pfd()

Alternates destruction and allocation of the object pointer at [field].

testpf

Calls [field] only when the diagnostic object pointer is nonzero.

Open full entry →
Global
void testpf()

Calls [field] only when the diagnostic object pointer is nonzero.

SPFDone

Restores the active pathfinder from task offset zero, releases the task and clears its global pointer.

Open full entry →
Global
void SPFDone()

Restores the active pathfinder from task offset zero, releases the task and clears its global pointer.

SPFFindAreas_Quant

Advances one SPF area-finding step and returns a boolean continuation value to CKS.

Open full entry →
Global
bool SPFFindAreas_Quant()

Advances one SPF area-finding step and returns a boolean continuation value to CKS.

SPFInitData

Passes the current SPF task to an implementation operation. The implementation reports zero.

Open full entry →
Global
void SPFInitData()

Passes the current SPF task to an implementation operation. The implementation reports zero.

SPFInitDirectionData

Delegates direction-map initialization from the current SPF build task.

Open full entry →
Global
void SPFInitDirectionData()

Delegates direction-map initialization from the current SPF build task.

SPFInitPointToAreaData

Delegates point-to-area connection data initialization from the current SPF build task.

Open full entry →
Global
void SPFInitPointToAreaData()

Delegates point-to-area connection data initialization from the current SPF build task.

SPFInitConnectData

Initializes five counters in the current SPF build task from a nested size value.

Open full entry →
Global
void SPFInitConnectData()

Initializes five counters in the current SPF build task from a nested size value.

SPFCalcConnectHighRes_Quant

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
bool SPFCalcConnectHighRes_Quant()Description pending

Description pending.

SPFIncreaseConnect

Routes three arguments from the SPF task to [field] and then zeros task [field].

Open full entry →
Global
void SPFIncreaseConnect()

Routes three arguments from the SPF task to [field] and then zeros task [field].

SPFIncreaseConnect_Quant

Pushes one boolean byte for the nonzero result of [field] on the current SPF task.

Open full entry →
Global
bool SPFIncreaseConnect_Quant()

Pushes one boolean byte for the nonzero result of [field] on the current SPF task.

GetInnState

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int GetInnState(str, str)Description pending

Description pending.

SetInnState

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetInnState(str, str, int)Description pending

Description pending.

GetInnState

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
int GetInnState(Obj)Description pending

Description pending.

SetInnState

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetInnState(Obj, int)Description pending

Description pending.

GenTransGame

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void GenTransGame(str)Description pending

Description pending.

MousePtm

MousePtm pushes the dwords at receiver[field] and [field] from [[field]].

Open full entry →
Global
point MousePtm()

MousePtm pushes the dwords at receiver[field] and [field] from [[field]].

GetGAIKA

Shared handler for GetGAIKA and point::GetGAIKA that resolves a point through the global AI map.

Open full entry →
point
GAIKA point::GetGAIKA()

Shared handler for GetGAIKA and point::GetGAIKA that resolves a point through the global AI map.

Goto

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void Goto(int, int)Description pending

Description pending.

ToggleFD

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void ToggleFD()Description pending

Description pending.

Catch

Shared address-taken handler that decrements the VM cursor by eight bytes and returns zero.

Open full entry →
Global
void Catch(Obj)

Shared address-taken handler that decrements the VM cursor by eight bytes and returns zero.

ClampToMap

point::ClampToMap clamps each coordinate to zero through its map dimension minus one when a global map exists.

Open full entry →
point
point point::ClampToMap()

point::ClampToMap clamps each coordinate to zero through its map dimension minus one when a global map exists.

RemakeVis

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void RemakeVis()Description pending

Description pending.

HeroStats

Builds a local statistics context, invokes collection and reporting workers, then cleans its stored output handle.

Open full entry →
Global
void HeroStats()

Builds a local statistics context, invokes collection and reporting workers, then cleans its stored output handle.

EqualHeroes

Routes a pointer to a local byte to the class-registry worker.

Open full entry →
Global
void EqualHeroes()

Routes a pointer to a local byte to the class-registry worker.

_ui

Allocates and constructs a unit-import adapter object under a nonzero global gate.

Open full entry →
Global
void _ui()

Allocates and constructs a unit-import adapter object under a nonzero global gate.

_di

Allocates and constructs a decor-import adapter object under a nonzero global gate.

Open full entry →
Global
void _di()

Allocates and constructs a decor-import adapter object under a nonzero global gate.

_bi

Allocates and constructs a building-import adapter object under a nonzero global gate.

Open full entry →
Global
void _bi()

Allocates and constructs a building-import adapter object under a nonzero global gate.

_itools

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

Open full entry →
Global
void _itools()

The implementation performs no additional work and reports zero internally. This void signature exposes no return value to the script.

StartPlayerScript

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void StartPlayerScript(int, str)Description pending

Description pending.

StopPlayerScript

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void StopPlayerScript(int, str)Description pending

Description pending.

GetPlayerScriptsCount

Registered handler that overwrites its integer argument slot with the constant eight.

Open full entry →
Global
int GetPlayerScriptsCount(int)

Registered handler that overwrites its integer argument slot with the constant eight.

GetPlayerScript

Returns one of eight stored script strings for a validated one-based player number.

Open full entry →
Global
str GetPlayerScript(int, int)

Returns one of eight stored script strings for a validated one-based player number.

ShowAnnouncement

Consumes two VM string arguments and calls the announcement table helper using receiver [field].

Open full entry →
Global
void ShowAnnouncement(str, str)

Consumes two VM string arguments and calls the announcement table helper using receiver [field].

HideAnnouncement

Consumes a key string, looks it up in the table at [field], and sets a matched node field[field] to1.

Open full entry →
Global
void HideAnnouncement(str)

Consumes a key string, looks it up in the table at [field], and sets a matched node field[field] to1.

ShowAnnouncement

Consumes two strings and an integer selector. Calls the announcement operation for selectors from 1 to 16 using the corresponding receiver.

Open full entry →
Global
void ShowAnnouncement(int, str, str)

Consumes two strings and an integer selector. Calls the announcement operation for selectors from 1 to 16 using the corresponding receiver.

HideAnnouncement

Consumes a key and selector, and invokes the matched-node flag helper for a nonnull key and selectors1..16.

Open full entry →
Global
void HideAnnouncement(int, str)

Consumes a key and selector, and invokes the matched-node flag helper for a nonnull key and selectors1..16.

SetPlayerStatus

Forwards a player, key, string and importance flag to a global status store.

Open full entry →
Global
void SetPlayerStatus(int, int, str, bool)

Forwards a player, key, string and importance flag to a global status store.

SetPlayerStatus

Forwards a player, key, and importance bool to the global player-status store when present.

Open full entry →
Global
void SetPlayerStatus(int, int, bool)

Forwards a player, key, and importance bool to the global player-status store when present.

ShowNotification

Consumes three strings, an integer and an Obj, resolves two strings and conditionally forwards the packet with mode 2 before pushing the helper result.

Open full entry →
Global
int ShowNotification(str, str, int, str, Obj)

Consumes three strings, an integer and an Obj, resolves two strings and conditionally forwards the packet with mode 2 before pushing the helper result.

ShowHint

Consumes two strings and an Obj, resolves both strings under a manager gate and submits mode 1 before pushing the helper result.

Open full entry →
Global
int ShowHint(str, str, Obj)

Consumes two strings and an Obj, resolves both strings under a manager gate and submits mode 1 before pushing the helper result.

ShowTutorial

Consumes two strings and an Obj, applies an additional native gate and submits translated strings with mode 0 before pushing the helper result.

Open full entry →
Global
int ShowTutorial(str, str, Obj)

Consumes two strings and an Obj, applies an additional native gate and submits translated strings with mode 0 before pushing the helper result.

HideNotification

Consumes an integer and conditionally forwards it to the notification helper.

Open full entry →
Global
void HideNotification(int)

Consumes an integer and conditionally forwards it to the notification helper.

TutorialActive

Registered handler that pushes a zero Boolean without reading tutorial state.

Open full entry →
Global
bool TutorialActive()

Registered handler that pushes a zero Boolean without reading tutorial state.

HintsActive

Checks whether a 32-bit field reached through a shared pointer is nonzero.

Open full entry →
Global
bool HintsActive()

Checks whether a 32-bit field reached through a shared pointer is nonzero.

EnableHintsAndTutorials

Hints and tutorials setters conditionally write pointer field [field].

Open full entry →
Global
void EnableHintsAndTutorials()

Hints and tutorials setters conditionally write pointer field [field].

DisableHintsAndTutorials

Hints and tutorials setters conditionally write pointer field [field].

Open full entry →
Global
void DisableHintsAndTutorials()

Hints and tutorials setters conditionally write pointer field [field].

AreHintsAndTutorialsEnabled

Hints and tutorials query returns pointer field [field] nonzero or false.

Open full entry →
Global
bool AreHintsAndTutorialsEnabled()

Hints and tutorials query returns pointer field [field] nonzero or false.

MistAction

Processes a temporary collection, accepting nonnull entries only when they carry a particular flag and their registered reference is null or matches the resolved receiver.

Open full entry →
Obj
void Obj::MistAction(int)

Processes a temporary collection, accepting nonnull entries only when they carry a particular flag and their registered reference is null or matches the resolved receiver.

MagicActionEnd

For a nonnull resolved Obj, MagicActionEnd forwards the word at receiver[field] to helper [field]; null resolution skips dispatch.

Open full entry →
Obj
void Obj::MagicActionEnd()

For a nonnull resolved Obj, MagicActionEnd forwards the word at receiver[field] to helper [field]; null resolution skips dispatch.

CoverOfMercyAction

Consumes one reference and queries an interface derived from the receiver. If that query is nonnull, invokes the corresponding operation on the returned interface.

Open full entry →
Obj
void Obj::CoverOfMercyAction()

Consumes one reference and queries an interface derived from the receiver. If that query is nonnull, invokes the corresponding operation on the returned interface.

GetDefenderCls

Building::GetDefenderCls returns one of two Building strings for Outpost descendants according to selector 1 or 2.

Open full entry →
Building
str Building::GetDefenderCls(int)

Building::GetDefenderCls returns one of two Building strings for Outpost descendants according to selector 1 or 2.

GetDefendersMax

Building::GetDefendersMax returns Building field [field] or [field] for Outpost descendants and selectors 1 or 2.

Open full entry →
Building
int Building::GetDefendersMax(int)

Building::GetDefendersMax returns Building field [field] or [field] for Outpost descendants and selectors 1 or 2.

GetDefendersOut

Returns one of two defender-out counters for buildings whose associated object derives from Outpost.

Open full entry →
Building
int Building::GetDefendersOut(int)

Returns one of two defender-out counters for buildings whose associated object derives from Outpost.

GetStartLevel

Building::GetStartLevel returns Building field [field] or [field] for Outpost descendants and selectors 1 or 2.

Open full entry →
Building
int Building::GetStartLevel(int)

Building::GetStartLevel returns Building field [field] or [field] for Outpost descendants and selectors 1 or 2.

GetEndLevel

Building::GetEndLevel returns Building field [field] or [field] for Outpost descendants and selectors 1 or 2.

Open full entry →
Building
int Building::GetEndLevel(int)

Building::GetEndLevel returns Building field [field] or [field] for Outpost descendants and selectors 1 or 2.

GetOutpostFood

Building::GetOutpostFood returns Building field [field] for Outpost descendants and zero otherwise.

Open full entry →
Building
int Building::GetOutpostFood()

Building::GetOutpostFood returns Building field [field] for Outpost descendants and zero otherwise.

PrintMsg

Consumes a managed string and player selector, conditionally printing its characters without releasing the payload.

Open full entry →
Global
void PrintMsg(int, str)

Consumes a managed string and player selector, conditionally printing its characters without releasing the payload.

_cr

Routes an empty native string to the report worker.

Open full entry →
Global
void _cr()

Routes an empty native string to the report worker.

GetTerritoryState

Resolves a named territory and returns its stored state value, with a default of two.

Open full entry →
Global
int GetTerritoryState(str)

Resolves a named territory and returns its stored state value, with a default of two.

SetTerritoryState

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void SetTerritoryState(str, int)Description pending

Description pending.

ConquestBonus

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
str ConquestBonus()Description pending

Description pending.

FormDescription

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
str FormDescription(str)Description pending

Description pending.

SetControlFlag

GAIKA::SetControlFlag sets or clears byte +2 mask 32 in the mapped player record.

Open full entry →
GAIKA
void GAIKA::SetControlFlag(int, bool)

GAIKA::SetControlFlag sets or clears byte +2 mask 32 in the mapped player record.

GetControlFlag

GAIKA::GetControlFlag returns whether mask 32 is set in byte [field] after bounded GAIKA record resolution.

Open full entry →
GAIKA
bool GAIKA::GetControlFlag(int)

GAIKA::GetControlFlag returns whether mask 32 is set in byte [field] after bounded GAIKA record resolution.

ControlledNeighbors

Counts neighboring global GAIKA records matching the wrapped player index through an attached-object field chain.

Open full entry →
GAIKA
int GAIKA::ControlledNeighbors(int)

Counts neighboring global GAIKA records matching the wrapped player index through an attached-object field chain.

SetFreedom

Applies a bool argument to the Unit freedom state bit.

Open full entry →
Unit
void Unit::SetFreedom(bool)

Applies a bool argument to the Unit freedom state bit.

EndGame

The three-argument EndGame stores its message only when the decremented player matches the computed local index.

Open full entry →
Global
void EndGame(int, bool, str)

The three-argument EndGame stores its message only when the decremented player matches the computed local index.

IsArmyOutside

Returns whether the hero army list lacks a resolvable member with an active holder field.

Open full entry →
Hero
bool Hero::IsArmyOutside()

Returns whether the hero army list lacks a resolvable member with an active holder field.

RandomPathCast

Behavior awaiting documentation.

The extension records this primitive, but does not yet provide a description of its behavior.

Open full entry →
Global
void RandomPathCast()Description pending

Description pending.

DiplAreAllied

Checks whether two players have a reciprocal diplomatic alliance. Returns false if either player number is outside the range 1 to 16, and true when both valid numbers identify the same player.

For distinct players, the relationship is checked in both directions along with an additional condition in each player's state. The full meaning of that additional condition is not yet documented.

Open full entry →
Global
bool DiplAreAllied(int, int)

Checks whether two players have a reciprocal diplomatic alliance. Returns false if either player number is outside the range 1 to 16, and true when both valid numbers identify the same player.

GetLastAttacker

Behavior awaiting documentation.

Open full entry →
Squad
Obj Squad::GetLastAttacker()Description pending

Description pending.

ApproachingSquads

ApproachingSquads adds cached squad evaluation for squads targeting the requested GAIKA whose leader-distance metric is below its threshold.

Open full entry →
GAIKA
int GAIKA::ApproachingSquads(int, int)

ApproachingSquads adds cached squad evaluation for squads targeting the requested GAIKA whose leader-distance metric is below its threshold.

SetUseCount

Behavior awaiting documentation.

Open full entry →
Global
void SetUseCount(int)Description pending

Description pending.

SetUseCount

Stores the supplied 32-bit value in a base item field.

Open full entry →
Item
void Item::SetUseCount(int)

Stores the supplied 32-bit value in a base item field.

WaitForMapChange

WaitForMapChange waits while a cached adventure field equals the current field.

Open full entry →
Global
void WaitForMapChange()

WaitForMapChange waits while a cached adventure field equals the current field.

Type index

Coverage and limits

235 signatures have no description. Undocumented parameter meanings, units and effects remain unresolved.

Coverage follows the public CKS extension catalog. Each description and example belongs to its exact signature.