Skip to content

Thing COG Functions

Function List

WaitForStop

WaitForStop(Thing thing)

WaitForAnimStop

WaitForAnimStop(int animID)

StopThing

StopThing(Thing thing)

DestroyThing

DestroyThing(Thing thing)

GetThingHealth

GetThingHealth(Thing thing) -> float

GetThingMaxHealth

GetThingMaxHealth(Thing thing) -> float

GetHealth

GetHealth(Thing thing) -> float

HealThing

HealThing(Thing thing, float health)

GetThingLight

GetThingLight(Thing thing) -> Vector

SetThingLight

SetThingLight(Thing thing, Vector value, float maxRadius, float timeDelta)

ThingLight

ThingLight(Thing thing, Vector value, float maxRadius, float timeDelta)

ThingLightAnim

ThingLightAnim(Thing thing, Vector startColor, float startRadius, Vector value, float endRadius, float speed) -> int

ThingFadeAnim

ThingFadeAnim(Thing thing, float startAlpha, float endAlpha, float timeDelta, int bLoop) -> int

CreateThing

CreateThing(Template template, Thing refThing) -> int

CreateThingAtPos

CreateThingAtPos(Template template, Sector sector, Vector pos, Vector pyr) -> int

CaptureThing

CaptureThing(Thing thing)

ReleaseThing

ReleaseThing(Thing thing)

SetThingVel

SetThingVel(Thing thing, Vector vel)

AddThingVel

AddThingVel(Thing thing, Vector vel)

ApplyForce

ApplyForce(Thing thing, Vector vec)

DetachThing

DetachThing(Thing thing)

GetAttachFlags

GetAttachFlags(Thing thing) -> int

GetThingAttachFlags

GetThingAttachFlags(Thing thing) -> int

AttachThingToSurf

AttachThingToSurf(Thing thing, Surface surf)

AttachThingToThing

AttachThingToThing(Thing thing, Thing attachThing)

SetArmedMode

SetArmedMode(Thing thing, int armedMode)
Sets puppet armed mode for thing object.
The object needs to have both a model and puppet object assigned.

Parameters: * thing - The game object to set new armed mode. * armedMode - The puppet armed mode number (0-7).

SetThingFlags

SetThingFlags(Thing thing, int flags)

ClearThingFlags

ClearThingFlags(Thing thing, int flags)

TeleportThing

TeleportThing(Thing destThing, Thing srcThing)

SetThingType

SetThingType(Thing thing, int type)

SetCollideType

SetCollideType(Thing thing, int type)

SetHeadLightIntensity

SetHeadLightIntensity(Thing thing, Vector color) -> Vector

GetThingCurLightMode

GetThingCurLightMode(Thing thing) -> int

SetThingCurLightMode

SetThingCurLightMode(Thing thing, int mode)

SetActorExtraSpeed

SetActorExtraSpeed(Thing thing, float speed)

SetThingPosEx

SetThingPosEx(Thing thing, Vector vecPos, Sector sector) -> int

SetThingMaxVel

SetThingMaxVel(Thing thing, float maxSpeed)

SetThingMaxAngVel

SetThingMaxAngVel(Thing thing, float maxRotSpeed)

SetThingJointAngle

SetThingJointAngle(Thing thing, int jointNum, float angle)

SetThingMaxHeadPitch

SetThingMaxHeadPitch(Thing thing, float maxPitch) -> float

SetThingMinHeadPitch

SetThingMinHeadPitch(Thing thing, float minPitch) -> float

GetThingMaxHeadPitch

GetThingMaxHeadPitch(Thing thing) -> float

GetThingMinHeadPitch

GetThingMinHeadPitch(Thing thing) -> float

SetThingMaxHeadYaw

SetThingMaxHeadYaw(Thing thing, float maxYaw) -> float

GetThingMaxHeadYaw

GetThingMaxHeadYaw(Thing thing) -> float

SetThingLVecPYR

SetThingLVecPYR(Thing thing, Vector lvec)

SetActorHeadPYR

SetActorHeadPYR(Thing thing, Vector pyr)

SetThingAirDrag

SetThingAirDrag(Thing thing, float drag)

SetThingMaxRotVel

SetThingMaxRotVel(Thing thing, float vel)

SetThingMaxHeadVel

SetThingMaxHeadVel(Thing thing, float vel)

ResetThing

ResetThing(Thing thing)

MoveThing

MoveThing(Thing thing, Vector vecDirection, float moveDist, float timeDelta) -> int

MoveThingToPos

MoveThingToPos(Thing thing, Vector pos, float time) -> int

GetThingType

GetThingType(Thing thing) -> int

IsThingMoving

IsThingMoving(Thing thing) -> int

IsMoving

IsMoving(Thing thing) -> int

GetCurFrame

GetCurFrame(Thing thing) -> int

GetGoalFrame

GetGoalFrame(Thing thing) -> int

GetThingParent

GetThingParent(Thing thing) -> int

GetThingSector

GetThingSector(Thing thing) -> int

GetThingPos

GetThingPos(Thing thing) -> Vector

SetThingPos

SetThingPos(Thing thing, Vector newPos) -> int

GetThingVel

GetThingVel(Thing thing) -> Vector

GetThingUVec

GetThingUVec(Thing thing) -> Vector

GetThingLVec

GetThingLVec(Thing thing) -> Vector

GetThingRVec

GetThingRVec(Thing thing) -> Vector

GetThingFlags

GetThingFlags(Thing thing) -> int

GetCollideType

GetCollideType(Thing thing) -> int

GetHeadLightIntensity

GetHeadLightIntensity(Thing thing, Vector color) -> Vector

IsThingVisible

IsThingVisible(Thing thing) -> int

GetThingGuid

GetThingGuid(Thing thing) -> int

GetGuidThing

GetGuidThing(int guid) -> int

GetThingMaxVel

GetThingMaxVel(Thing thing) -> float

GetThingMaxAngVel

GetThingMaxAngVel(Thing thing) -> float

GetThingJointAngle

GetThingJointAngle(Thing thing, int jointNum) -> float

InterpolatePYR

InterpolatePYR(Vector axisX, Vector axisY, Vector axisZ, float angle) -> Vector

GetThingLVecPYR

GetThingLVecPYR(Thing thing) -> Vector

GetActorHeadPYR

GetActorHeadPYR(Thing thing) -> Vector

GetThingJointPos

GetThingJointPos(Thing thing, int jointNum) -> Vector

IsThingModelName

IsThingModelName(Thing thing, string modelName) -> int

GetThingMaxRotVel

GetThingMaxRotVel(Thing thing) -> float

GetThingMaxHeadVel

GetThingMaxHeadVel(Thing thing) -> float

CopyOrient

CopyOrient(Thing srcThing, Thing destThing)

CopyOrientAndPos

CopyOrientAndPos(Thing srcThing, Thing dstThing)

GetThingInsertOffset

GetThingInsertOffset(Thing thing) -> Vector

SetThingInsertOffset

SetThingInsertOffset(Thing thing, Vector offset) -> Vector

GetThingEyeOffset

GetThingEyeOffset(Thing thing) -> Vector

SetThingPulse

SetThingPulse(Thing thing, float secPulse)

SetThingTimer

SetThingTimer(Thing thing, float secTimer)

GetInv

GetInv(Thing thing, int typeId) -> float

SetInv

SetInv(Thing thing, int typeId, float amount)

ChangeInv

ChangeInv(Thing thing, int typeId, float amount) -> float

GetInvCog

GetInvCog(Thing thing, int typeId) -> int

GetInvMin

GetInvMin(Thing thing, int bin) -> float

GetInvMax

GetInvMax(Thing thing, int bin) -> float

PlayKey

PlayKey(Thing thing, Keyframe key, int lowPriority, int playFlags, int bWait) -> int
Plays puppet key animation for thing object.
The object needs to have both a model and puppet object assigned.

Parameters: * thing - The game object to play the key animation. The object has to have model and puppet set. * key - The keyframe animation to play. * lowPriority- The low-priority value of puppet animated joints with low priority.
The high priority is set to lowPriority + 2. * playFlags - The puppet track flags. * bWait - If 1 - True wait for the animation to finish playing.

Return
Returns the track number where the key is being played.

PlayKeyEx

PlayKeyEx(Thing thing, Keyframe key, int lowPriority, int highPriority, int playFlags, int bWait) -> int
Plays puppet key animation for thing object.
The object needs to have both a model and puppet object assigned.

Parameters: * thing - The game object to play the key animation. * key - The keyframe animation to play. * lowPriority- The low-priority value of puppet animated joints with low priority. * highPriority- The heigh-priority value of puppet animated joints with high priority. * playFlags - The puppet track flags. * bWait - If 1 - True wait for the animation to finish playing.

Return
Returns the track number where the key is being played.

StopKey

StopKey(Thing thing, int trackNum, float fadeTime)
Stops the playback of the animation track for the thing object.

Parameters: * thing - The game object to stop the track animation. The object has to have model and puppet set. * trackNum - Puppet track number to stop playing. * fadeTime - Animation stop fade-out time in seconds. Must be greater than or equal to 0.

PauseKey

PauseKey(Thing thing, int trackNum) -> int
Pauses thing's puppet track animation.

Parameters: * thing - The game object to pause the track animation. * trackNum - Puppet track number to pause playing.

Return
On success 1 is returned, otherwise -1.

ResumeKey

ResumeKey(Thing thing, int trackNum) -> int
Resumes paused thing puppet track animation.

Parameters: * thing - The game object to resume the track animation. * trackNum - Puppet track number to resume playing.

Return
On success 1 is returned, otherwise -1.

SetThingModel

SetThingModel(Thing thing, Model model) -> int

GetThingModel

GetThingModel(Thing thing) -> int

PlayMode

PlayMode(Thing thing, int submode, int bWait) -> int
Plays puppet submode animation for thing object.
The object needs to have both a model and puppet object assigned.

Parameters: * thing - The game object to play the submode track. * submode- The puppet submode number to play. * bWait - If 1 - True wait for the submode animation to finish playing.

Return
Returns the track number where the submode animation is being played.

StopMode

StopMode(Thing thing, int submode, float fadeTime)
Stops playing puppet submode track for thing object.

Parameters: * thing - The game object to stop the submode track. * submode - The puppet submode number to stop playing. * fadeTime - Animation stop fade-out time in seconds. Must be greater than or equal to 0.

SynchMode

SynchMode(Thing thing, int oldMode, int newMode, float unknown/unused, int bReverse)
Synchronizes puppet submode track from old to new for thing object.
That is, stops playing old submode track and starts playing the new submode track at the same animation frame where the old was stopped.

Synchronizes the puppet submode track track from the old mode to the new mode for the thing object. This stops playing the old submode track track and starts playing the new submode track track from the same animation frame where the old track was stopped.

Parameters: * thing - The game object to play the submode track. * oldMode - The puppet submode number to sync from. * newMode - The puppet submode number to sync to. * unused - Not used * bReversed

IsModePlaying

IsModePlaying(Thing thing, int submode) -> int
Checks if puppet submode track is playing at the moment for the thing.

Parameters: * thing - The game object to check the submode track. The object has to have model and puppet set. * submode - The puppet submode number to check.

Return
Returns 0 if submode track is not playing, 1 if submode track is playing and 2 if submode track is paused. On error -1 is returned.

PauseMode

PauseMode(Thing thing, int submode) -> int
Pauses the puppet submode track for thing.

Parameters: * thing - The game object to pause the submode track. The object has to have model and puppet set. * submode - The puppet submode number to pause playing.

Return
Returns 0 if submode track is not playing, 1 if submode track was paused and 2 if submode track is already paused. On error -1 is returned.

ResumeMode

ResumeMode(Thing thing, int submode) -> int
Resumes playing puppet submode track animation for thing object.

Parameters: * thing - The game object to resume playing the submode track. * submode - The puppet submode number to resume playing.

Return - 0 if submode track is not playing - 1 if submode track is resumed to play - 2 if submode track is not paused

On error -1 is returned.

TrackToMode

TrackToMode(Thing thing, int trackNum) -> int
Returns the puppet submode number of the thing object for the specified track number.

Parameters: * thing - Playing track number to retrieve submode. * trackNum - Track number of the playing track from which to retrieve the submode.

Return
On success puppet submode number is returned.
On error -1 is returned e.g. invalid track number.

WaitMode

WaitMode(Thing thing, int submode) -> int
Waits for the puppet submode track to finish playing.

Parameters: * thing - The game object for which to wait until the track has finished playing. * submode - The puppet submode number.

Return
If submode is playing 1 is returned, otherwise 0.
On error -1 is returned.

GetMajorMode

GetMajorMode(Thing thing) -> int
Returns the current major mode for the object's puppet.

Parameters: * thing - The game object to retrieve the current major mode. The object has to have model and puppet set.

Return
On success current major mode number is returned. On error -1 is returned.

FirstThingInSector

FirstThingInSector(Sector thing) -> int

NextThingInSector

NextThingInSector(Thing thing) -> int

PrevThingInSector

PrevThingInSector(Thing thing) -> int

MoveToFrame

MoveToFrame(Thing thing, int frame, float speed)

SkipToFrame

SkipToFrame(Thing thing, int frame, float speed)

JumpToFrame

JumpToFrame(Thing thing, int frame, Sector sector)

PathMovePause

PathMovePause(Thing thing) -> int

PathMoveResume

PathMoveResume(Thing thing) -> int

Rotate

Rotate(Thing thing, float degrees, int axis, float rotTime)

RotatePivot

RotatePivot(Thing thing, int frame, float v7)

RotateToPYR

RotateToPYR(Thing thing, Vector pyr, float time)

GetThingTemplate

GetThingTemplate(Thing thing) -> int

DamageThing

DamageThing(Thing victim, float damage, int damageclass, Thing source) -> float
Damages victim game object.

Parameters: * victim - The game object to damage. * damage - The amount of damage to apply to victim. * damageclass - The damage class type to use for damage. * source - The game object that inflicted the damage.

Return
Returns the amount of actual damage applied to victim.

SetLifeLeft

SetLifeLeft(Thing thing, float secLeft)
Sets the time to live for a game object.

Parameters: * thing - The game object whose life left is being set. * secLeft - The number of seconds the object will live for.

GetLifeLeft

GetLifeLeft(Thing thing) -> float
Gets the remaining time to live for a game object.

Parameters: * thing - The game object whose remaining life time is being retrieved.

Return
The number of seconds the object has left to live.

SetThingThrust

SetThingThrust(Thing thing, Vector thrust) -> Vector

GetThingThrust

GetThingThrust(Thing thing) -> Vector

SetThingHealth

SetThingHealth(Thing thing, float health)

SetHealth

SetHealth(Thing thing, float health)

AmputateJoint

AmputateJoint(Thing thing, int joint)

SetActorWeapon

SetActorWeapon(Thing actor, Template weapon)

GetActorWeapon

GetActorWeapon(Thing actor) -> int

GetPhysicsFlags

GetPhysicsFlags(Thing thing) -> int

SetPhysicsFlags

SetPhysicsFlags(Thing thing, int physflags)

ClearPhysicsFlags

ClearPhysicsFlags(Thing thing, int physflags)

ParseArg

ParseArg(Thing thing, string args)

GetThingRotVel

GetThingRotVel(Thing thing) -> Vector

SetThingRotVel

SetThingRotVel(Thing thing, Vector vel)

GetThingRotThrust

GetThingRotThrust(Thing thing) -> Vector

SetThingRotThrust

SetThingRotThrust(Thing thing, Vector vec)

SetThingLook

SetThingLook(Thing thing, Vector look)

SetThingHeadLookPos

SetThingHeadLookPos(Thing thing, Vector look)

SetThingHeadLookThing

SetThingHeadLookThing(Thing thing, Thing lookThing)

IsThingCrouching

IsThingCrouching(Thing thing) -> int

IsCrouching

IsCrouching(Thing thing) -> int

GetThingClassCog

GetThingClassCog(Thing thing) -> int

SetThingClassCog

SetThingClassCog(Thing thing, cog thingCog)

GetThingCaptureCog

GetThingCaptureCog(Thing thing) -> int

SetThingCaptureCog

SetThingCaptureCog(Thing thing, cog captureCog)

GetThingRespawn

GetThingRespawn(Thing thing) -> float

GetThingSignature

GetThingSignature(Thing thing) -> int

SetThingAttachFlags

SetThingAttachFlags(Thing thing, int attflags)

ClearThingAttachFlags

ClearThingAttachFlags(Thing thing, int attflags)

GetParticleSize

GetParticleSize(Thing thing) -> float

SetParticleSize

SetParticleSize(Thing thing, float size)

GetParticleGrowthSpeed

GetParticleGrowthSpeed(Thing thing) -> float

SetParticleGrowthSpeed

SetParticleGrowthSpeed(Thing thing, float speed)

GetParticleTimeoutRate

GetParticleTimeoutRate(Thing thing) -> float

SetParticleTimeoutRate

SetParticleTimeoutRate(Thing thing, float timeoutRate)

GetTypeFlags

GetTypeFlags(Thing thing) -> int

SetTypeFlags

SetTypeFlags(Thing thing, int flags)

ClearTypeFlags

ClearTypeFlags(Thing thing, int flags)

GetActorFlags

GetActorFlags(Thing thing) -> int

SetActorFlags

SetActorFlags(Thing thing, int flags)

ClearActorFlags

ClearActorFlags(Thing thing, int flags)

GetWeaponFlags

GetWeaponFlags(Thing thing) -> int

SetWeaponFlags

SetWeaponFlags(Thing thing, int flags)

ClearWeaponFlags

ClearWeaponFlags(Thing thing, int flags)

GetExplosionFlags

GetExplosionFlags(Thing thing) -> int

SetExplosionFlags

SetExplosionFlags(Thing thing, int flags)

ClearExplosionFlags

ClearExplosionFlags(Thing thing, int flags)

GetItemFlags

GetItemFlags(Thing thing) -> int

SetItemFlags

SetItemFlags(Thing thing, int flags)

ClearItemFlags

ClearItemFlags(Thing thing, int flags)

GetParticleFlags

GetParticleFlags(Thing thing) -> int

SetParticleFlags

SetParticleFlags(Thing thing, int flags)

ClearParticleFlags

ClearParticleFlags(Thing thing, int flags)

TakeItem

TakeItem(Thing item, Thing thing)

HasLOS

HasLOS(Thing viewer, Thing target) -> int

GetThingFireOffset

GetThingFireOffset(Thing thing) -> Vector

SetThingFireOffset

SetThingFireOffset(Thing thing, Vector offset)

GetThingUserData

GetThingUserData(Thing thing) -> float

SetThingUserData

SetThingUserData(Thing thing, float userval)

GetThingCollideSize

GetThingCollideSize(Thing thing) -> float

SetThingCollideSize

SetThingCollideSize(Thing thing, float size)

GetThingMoveSize

GetThingMoveSize(Thing thing) -> float

SetThingMoveSize

SetThingMoveSize(Thing thing, float movesize)

GetThingMass

GetThingMass(Thing thing) -> float

SetThingMass

SetThingMass(Thing thing, float mass)

SyncThingPos

SyncThingPos(Thing thing)

SyncThingAttachment

SyncThingAttachment(Thing thing)

SyncThingState

SyncThingState(Thing thing)

AttachThingToThingEx

AttachThingToThingEx(Thing thing, Thing attachThing, int attflags)

GetThingAttachedThing

GetThingAttachedThing(Thing thing, int attype) -> int

GetMeshByName

GetMeshByName(Thing thing, string meshName) -> int

GetNodeByName

GetNodeByName(Thing thing, string nodeName) -> int

AttachThingToThingMesh

AttachThingToThingMesh(Thing attachThing, Template template, int meshNum) -> int

DetachThingMesh

DetachThingMesh(Thing thing)

SetThingMesh

SetThingMesh(Thing thing, int meshNum, Model model, int meshNumSrc) -> int

RestoreThingMesh

RestoreThingMesh(Thing thing, int refnum)

GetThingAlpha

GetThingAlpha(Thing thing) -> float

SetThingAlpha

SetThingAlpha(Thing thing, float alpha) -> float

GetCameraFOV

GetCameraFOV() -> float

SetCameraFOV

SetCameraFOV(float fov, int bInterp, float timeDelta)

ResetCameraFOV

ResetCameraFOV(int bInterp, float time)

SetCameraLookInterp

SetCameraLookInterp(int camNum, int bEnable)

SetCameraPosInterp

SetCameraPosInterp(int camNum, int bDollyMode)

SetCameraInterpSpeed

SetCameraInterpSpeed(int camNum, float speed)

SetCameraPosition

SetCameraPosition(int camNum, Vector vec)

AnimateSpriteSize

AnimateSpriteSize(Thing sprite, Vector vecStart, Vector vecEnd, float deltaTime) -> int

GetCameraPosition

GetCameraPosition(int camNum) -> Vector

SetCameraFadeThing

SetCameraFadeThing(int camNum, Thing fadeThing, Thing camPosThing, int bWhiteFade)
Sets fade thing for camera at camNum. Parameters: - camNum - The camera number for which to set the fade thing for. - fadeThing - The fade plate thing - camPosThing - The thing to be used as camera postition thing (primary thing).
The thing position and orientation will be changed to the camera pose. Can be daynamic thinf created in script. - bWhiteFade - If true the white side of the fade plate will face the camera.

SetExtCamOffset

SetExtCamOffset(Vector vec)

SetExtCamOffsetToThing

SetExtCamOffsetToThing(Thing thing)

SetExtCamLookOffsetToThing

SetExtCamLookOffsetToThing(Thing thing)

SetExtCamLookOffset

SetExtCamLookOffset(Vector vec)

RestoreExtCam

RestoreExtCam()

PlayForceMoveMode

PlayForceMoveMode(Thing thing, int submode) -> int

IsThingAutoAiming

IsThingAutoAiming()
Not used.

GetMoveStatus

GetMoveStatus(Thing thing) -> int

CreateLaser

CreateLaser(Thing srcThing, Vector offset, Vector endPos, float baseRadius, float tipRadius, float duration) -> int

CreateLightning

CreateLightning(Thing sourceThing, Vector offset, Vector endPos, float baseRadius, float tipRadius, float duration) -> int

MakeFairyDust

MakeFairyDust(Thing thing, Vector pos)

MakeFairyDustDeluxe

MakeFairyDustDeluxe(Thing thing, Vector pos)

SetPuppetModeFPS

SetPuppetModeFPS(Thing thing, int mode, int submode, float fps) -> float
Sets a new FPS for the puppet mode and puppet submode animation track of the thing object.

Parameters: * thing - The game object to set the keyframe FPS. * mode - The puppet mode number. * submode - The puppet submode number. * fps - The new keyframe FPS

Return
Returns previous track FPS.

SetMoveMode

SetMoveMode(Thing thing, int newMode) -> int
Sets puppet move mode for thing object.
The object needs to have both a model and puppet object assigned.

Parameters: * thing - The game object to set new move mode. * moveMode - The puppet move mode number (0-2).

Return
On success 0 is returned, otherwise -1.

CheckFloorDistance

CheckFloorDistance(Thing thing) -> float

CheckPathToPoint

CheckPathToPoint(Thing viewer, Vector vecTarget, int bDetectThings, int bSkipFloor) -> float

SetThingStateChange

SetThingStateChange(Thing thing, int state, int armModeState)

CreatePolylineThing

CreatePolylineThing(Thing srcThing, Optional[Thing] destThing, Vector endPos, Material material, float baseRadius, float tipRadius, float duration) -> int

StartQuetzAnim

StartQuetzAnim(Thing thing, int mode) -> int

BoardVehicle

BoardVehicle(Thing thing) -> int

FadeInTrack

FadeInTrack(Thing thing, int trackNum, float speed) -> int
Causes the track animation to fade-in for the thing object.
The object needs to have both a model and puppet object assigned.

Parameters: * thing - The game object to fade-in puppet track animation. * trackNum - Puppet track number to play fade-in mode. * fadeTime - Track fade-in speed. Should be greater than 0, else 1 is set.

Return
On success 1 is returned, otherwise -1.

IsGhostVisible

IsGhostVisible(Thing thing, Thing ghostThing, float angle) -> int

MakeCamera2LikeCamera1

MakeCamera2LikeCamera1(Thing cam1Pos, Thing cam1Look) -> int
Assigns the position and focus of camera 1 aka external camera (3rd person) to the cam1Pos and can1Look objects.

Parameters: * cam1Pos - The game object to which camera 1's position is assigned. Must be a valid, non-free object. * cam1Look - The game object to which camera 1's focus is assigned. Must be a valid, non-free object.

Return
On success 1 is returned, otherwise -1.