etqw-sdk/base/script/events.script

2099 lines
83 KiB
Text
Raw Normal View History

2008-05-29 00:00:00 +00:00
/***********************************************************************
events.script
Defines game events available to script.
***********************************************************************/
/***********************************************************************
all entities
***********************************************************************/
// Removes this entity from the game.
scriptEvent void remove();
// Checks the entity's type
scriptEvent float isClass( float typeHandle );
// Returns the name of this entity.
scriptEvent string getName();
//
scriptEvent entity getMaster();
// Activates this entity as if it was activated by a trigger.
// Activator is the entity that caused the action (usually the player).
scriptEvent void activate( entity activator );
// Fixes this entity's position and orientation relative to another entity,
// such that when the master entity moves, so does this entity.
scriptEvent void bind( entity master );
scriptEvent void enableAxisBind( boolean loop );
// Fixes this entity's position (but not orientation) relative to another entity,
// such that when the master entity moves, so does this entity.
scriptEvent void bindPosition( entity master );
// Fixes this entity's position and orientation relative to a bone on another entity,
// such that when the master's bone moves, so does this entity.
scriptEvent void bindToJoint( entity master, string boneName, boolean rotateWithMaster );
// Detaches this entity from its master.
scriptEvent void unbind();
// Removes all attached entities from the game.
scriptEvent void removeBinds();
// Sets the model this entity uses.
scriptEvent void setModel( string modelName );
// Sets the skin this entity uses. Set to "" to turn off the skin.
scriptEvent void setSkin( string skinName );
scriptEvent void setCoverage( float v );
scriptEvent vector getWorldAxis( float index );
scriptEvent void setWorldAxis( vector fwd, vector right, vector up );
scriptEvent vector getGravityNormal();
// Returns the current worldspace position of this entity (regardless of any bind parent).
scriptEvent vector getWorldOrigin();
// Sets the current position of this entity (regardless of any bind parent).
scriptEvent void setWorldOrigin( vector origin );
// Returns the current position of this entity (relative to bind parent if any).
scriptEvent vector getOrigin();
// Sets the current position of this entity (relative to it's bind parent if any).
scriptEvent void setOrigin( vector origin );
// Returns the current orientation of this entity (relative to bind parent if any).
scriptEvent vector getAngles();
// Sets the current orientation of this entity (relative to bind parent if any).
scriptEvent void setAngles( vector angles );
// Sets the gravity activating on this entity
scriptEvent void setGravity( vector gravity );
scriptEvent void alignToAxis( vector vec, float axis );
// Gets the current linear velocity of this entity. The linear velocity of a physics
// object is a vector that defines the translation of the center of mass in units per second.
scriptEvent vector getLinearVelocity();
// Sets the current linear velocity of this entity in units per second. The linear velocity of
// a physics object is a vector that defines the translation of the center of mass in units per second.
scriptEvent void setLinearVelocity( vector velocity );
// Gets the current angular velocity of this entity. The angular velocity of
// a physics object is a vector that passes through the center of mass. The
// direction of this vector defines the axis of rotation and the magnitude
// defines the rate of rotation about the axis in radians per second.
scriptEvent vector getAngularVelocity();
// Sets the current angular velocity of this entity. The angular velocity of
// a physics object is a vector that passes through the center of mass. The
// direction of this vector defines the axis of rotation and the magnitude
// defines the rate of rotation about the axis in radians per second.
scriptEvent void setAngularVelocity( vector velocity );
// Gets the mass of this entity
scriptEvent float getMass();
// Gets the center of mass of this entity
scriptEvent vector getCenterOfMass();
// Sets the friction of this entity if it is a rigid body
scriptEvent void setFriction( float linear, float angular, float contact );
// Gets the size of this entity's bounding box.
scriptEvent vector getSize();
// Sets the size of this entity's bounding box.
scriptEvent void setSize( vector mins, vector maxs );
// Gets the corners of this entity's bounding box
scriptEvent vector getMins();
scriptEvent vector getMaxs();
// Gets the corners of this entity's absolute (world-space) bounding box
scriptEvent vector getAbsMins();
scriptEvent vector getAbsMaxs();
// Gets the corners of this entity's render entity bounding box
scriptEvent vector getRenderMins();
scriptEvent vector getRenderMaxs();
// Overrides the generated render entity bounds
scriptEvent void setRenderBounds( vector mins, vector maxs );
// checks if the entity's model is invisible.
scriptEvent boolean isHidden();
// Makes this entity invisible.
scriptEvent void hide();
// Makes this entity visible if it has a model.
scriptEvent void show();
// Returns true if this entity touches the other entity.
scriptEvent boolean touches( entity other, boolean ignoreNonTrace );
// Returns true if this entity touches the other entity. Using clip models.
scriptEvent boolean touchesBounds( entity other );
// Gets the value of the specified shader parm.
scriptEvent float getShaderParm( float parm );
// Sets the value of the specified shader parm.
scriptEvent void setShaderParm( float parm, float value );
// Sets shader parms Parm0, Parm1, Parm2, and Parm3 (red, green, blue, and alpha respectively).
scriptEvent void setShaderParms( float parm0, float parm1, float parm2, float parm3 );
// Sets the RGB color of this entity (shader parms Parm0, Parm1, Parm2).
scriptEvent void setColor( float red, float green, float blue );
// Gets the color of this entity (shader parms Parm0, Parm1, Parm2).
scriptEvent vector getColor();
// Stops a specific sound shader on the channel.
scriptEvent void stopSound( float channel );
// Plays the sound specified by the snd_* key/value pair on the channel and returns
// the length of the sound. This is the preferred method for playing sounds on an
// entity since it ensures that the sound is precached.
scriptEvent float startSound( string sound, float channel );
// Fades the sound on this entity to a new level over a period of time. Use SND_ANY for all currently playing sounds.
scriptEvent void fadeSound( float channel, float newLevel, float fadeTime );
// specify pitch shifting for a channel
scriptEvent void setChannelPitchShift( float channel, float shift );
// override sound shader flags for a channel
scriptEvent void setChannelFlags( float channel, float flags );
scriptEvent void clearChannelFlags( float channel, float flags );
// searches for the name of a spawn arg that matches the prefix. for example,
// passing in "attack_target" matches "attack_target1", "attack_targetx", "attack_target_enemy",
// etc. The returned string is the name of the key which can then be passed into
// functions like getKey() to lookup the value of that spawn arg. This
// is usefull for when you have multiple values to look up, like when you
// target multiple objects. To find the next matching key, pass in the previous
// result and the next key returned will be the first one that matches after
// the previous result. pass in "" to get the first match. returns "" when no
// more keys match. Note to coders: this is the same as MatchPrefix in the game code.
scriptEvent string getNextKey( string prefix, string lastMatch );
// Sets a key on this entity's spawn args. Note that most spawn args are evaluated when
// this entity spawns in, so this will not change the entity's behavior in most cases.
// This is chiefly for saving data the script needs in an entity for later retrieval.
scriptEvent void setKey( string key, string value );
// Retrieves the value of a specific spawn arg.
scriptEvent string getKey( string key );
// Retrieves the integer value of a specific spawn arg.
scriptEvent float getIntKey( string key );
// Retrieves the floating point value of a specific spawn arg.
scriptEvent float getFloatKey( string key );
// Retrieves the vector value of a specific spawn arg.
scriptEvent vector getVectorKey( string key );
// Retrieves the entity specified by the spawn arg.
scriptEvent entity getEntityKey( string key );
// Retrieves the value of a specific spawn arg, returning defaultValue if the key is not found.
scriptEvent string getKeyWithDefault( string key, string defaultValue );
// Retrieves the integer value of a specific spawn arg, returning defaultValue if the key is not found.
scriptEvent float getIntKeyWithDefault( string key, float defaultValue );
// Retrieves the floating point value of a specific spawn arg, returning defaultValue if the key is not found.
scriptEvent float getFloatKeyWithDefault( string key, float defaultValue );
// Retrieves the vector value of a specific spawn arg, returning defaultValue if the key is not found.
scriptEvent vector getVectorKeyWithDefault( string key, vector defaultValue );
// Retrieves the value of a specific spawn arg stored as playerClass data
scriptEvent string getClassKey( string key );
// Returns the distance of this entity to another entity.
scriptEvent float distanceTo( entity other );
// Returns the distance of this entity to a point.
scriptEvent float distanceToPoint( vector point );
// Suspends execution of the current thread for the given number of seconds.
scriptEvent void wait( float time );
scriptEvent void disablePhysics();
scriptEvent void enablePhysics();
scriptEvent float entitiesInTranslation( vector start, vector end, float contentMask, entity passEntity );
scriptEvent float entitiesInBounds( vector mins, vector maxs, float contentMask, boolean absoluteCoords );
scriptEvent float entitiesInLocalBounds( vector mins, vector maxs, float contentMask );
scriptEvent float entitiesInRadius( vector centre, float radius, float contentMask, boolean absoluteCoords );
scriptEvent float entitiesOfType( float typeHandle );
scriptEvent float entitiesOfClass( float typeHandle, boolean additive );
scriptEvent float entitiesOfCollection( string name );
scriptEvent float filterEntitiesByRadius( vector origin, float radius, boolean inclusive );
scriptEvent float filterEntitiesByClass( string typeName, boolean inclusive );
scriptEvent float filterEntitiesByAllegiance( float allegianceFlags, boolean inclusive );
scriptEvent float filterEntitiesByDisguiseAllegiance( float allegianceFlags, boolean inclusive );
scriptEvent float filterEntitiesByFilter( float filterIndex, boolean inclusive );
scriptEvent float filterEntitiesByTouching( boolean inclusive );
scriptEvent float getBoundsCacheCount();
scriptEvent entity getBoundsCacheEntity( float index );
scriptEvent float getSavedCacheCount( float index );
scriptEvent entity getSavedCacheEntity( float index, float entityIndex );
scriptEvent float saveCachedEntities();
scriptEvent void freeSavedCache( float index );
scriptEvent float getEntityAllegiance( entity other );
scriptEvent boolean inCollection( string name );
scriptEvent float getEntityContents();
scriptEvent float getMaskedEntityContents( float mask );
scriptEvent boolean takesDamage();
scriptEvent void setTakesDamage( boolean value );
scriptEvent void applyDamage( entity inflictor, entity attacker, vector dir, float damageIndex, float damageScale, object traceObject );
scriptEvent void setNetworkSynced( boolean value );
scriptEvent float hasAbility( string abilityName );
scriptEvent void sync( string fieldName );
scriptEvent void syncBroadcast( string fieldName );
scriptEvent void syncCallback( string fieldName, string syncFuncName );
scriptEvent handle playMaterialEffect( string effectname, vector color, string jointname, string materialType, boolean loop );
scriptEvent handle playJointEffect( string effectname, float jointHandle, boolean loop );
scriptEvent handle playJointEffectViewSuppress( string effectname, float jointHandle, boolean loop, boolean suppress );
scriptEvent handle playEffect( string effectname, string jointname, boolean loop );
scriptEvent handle playOriginEffect( string effectname, string materialType, vector origin, vector forward, boolean loop );
scriptEvent handle playEffectMaxVisDist( string effectname, string jointname, boolean loop, float maxVisDist, boolean isStatic );
scriptEvent handle playOriginEffectMaxVisDist( string effectname, string materialType, vector origin, vector forward, boolean loop, float maxVisDist, boolean isStatic );
scriptEvent handle playBeamEffect( string effectname, string materialType, vector origin, vector endOrigin, boolean loop );
scriptEvent string lookupEffect( string effectname, string materialType );
scriptEvent void stopEffect( string effectname );
scriptEvent void killEffect( string effectname ); // Will destroy all of the current particles as well
scriptEvent void stopEffectHandle( handle effectHandle );
scriptEvent void unBindEffectHandle( handle effectHandle );
scriptEvent void setEffectAttenuation( handle effectHandle, float attenuation );
scriptEvent void setEffectRenderBounds( handle effectHandle, boolean loop );
scriptEvent void setEffectColor( handle effectHandle, vector color, float alpha );
scriptEvent void setEffectOrigin( handle effectHandle, vector origin );
scriptEvent void setEffectAngles( handle effectHandle, vector angles );
scriptEvent vector getEffectOrigin( handle effectHandle );
scriptEvent vector getEffectEndOrigin( handle effectHandle );
scriptEvent void stopAllEffects();
scriptEvent void detachRotationBind( handle effectHandle );
scriptEvent void clearContacts();
scriptEvent void setContents( float contents );
scriptEvent void setClipmask( float clipmask );
scriptEvent void putToRest();
scriptEvent boolean hasForceDisableClip();
scriptEvent void forceDisableClip();
scriptEvent void forceEnableClip();
scriptEvent boolean hasGroundContacts();
scriptEvent void disableGravity( boolean disable );
scriptEvent void setComeToRest( boolean enabled );
scriptEvent void applyImpulse( vector point, vector impulse );
scriptEvent void addForce( vector force );
scriptEvent void addForceAt( vector force, vector pos );
scriptEvent void addTorque( vector torque );
scriptEvent void activatePhysics();
// returns true if object is not moving
scriptEvent boolean isAtRest();
// returns true if object is bound
scriptEvent boolean isBound();
scriptEvent void turnTowards( vector dir, float maxAngularSpeed );
scriptEvent object getGameTeam();
scriptEvent void setGameTeam( object team );
scriptEvent entity launchMissileSimple( entity owner, entity owner2, entity enemy, float projectileDefIndex, float projectileDefIndex, float spread, vector origin, vector velocity );
scriptEvent void launchBullet( entity owner, entity ignoreEntity, float projectileDefIndex, float spread, vector origin, vector direction, float tracer, boolean useAntiLag ); // hit scan
scriptEvent vector getBulletTracerStart();
scriptEvent vector getBulletTracerEnd();
scriptEvent entity getLocalPlayer();
scriptEvent entity getLocalViewPlayer();
scriptEvent float getGUI( string name );
scriptEvent void setGUITheme( float guiHandle, string name );
scriptEvent void guiPostNamedEvent( float guiHandle, string window, string eventName );
scriptEvent boolean pointInRadar( vector point, float type, boolean ignoreJammers );
scriptEvent void disableImpact();
scriptEvent void enableImpact();
scriptEvent void disableKnockback();
scriptEvent void enableKnockback();
scriptEvent void sendNetworkCommand( string message );
scriptEvent void sendNetworkEvent( float clientIndex, boolean isRepeaterClient, string message );
scriptEvent void preventDeployment( boolean prevent );
scriptEvent float allocBeam( string shader );
scriptEvent void updateBeam( float beamHandle, vector start, vector end, vector color, float alpha, float width );
scriptEvent void freeBeam( float beamHandle );
scriptEvent void freeAllBeams();
scriptEvent entity getNextTeamEntity();
// smaller values are drawn after larger values
scriptEvent float allocHudModule( string name, float sort, boolean allowInhibit );
scriptEvent void freeHudModule( float handle );
scriptEvent boolean requestDeployment( entity p, float deployObjectIndex, vector position, float yaw, float delay );
scriptEvent boolean requestCheckedDeployment( entity p, float deployObjectIndex, float yaw, float delay );
scriptEvent vector getWorldMins();
scriptEvent vector getWorldMaxs();
scriptEvent void setDeploymentObject( float deployObjectIndex );
scriptEvent void setDeploymentState( float deployObjectState );
scriptEvent void setDeploymentMode( boolean mode );
scriptEvent boolean getDeploymentMode();
scriptEvent float getDeploymentRotation();
scriptEvent boolean allowDeploymentRotation();
scriptEvent float getDefaultFov();
scriptEvent void setHealth( float health );
scriptEvent float getHealth();
scriptEvent void setMaxHealth( float health );
scriptEvent float getMaxHealth();
scriptEvent entity getEnemy();
scriptEvent void setCanCollideWithTeam( boolean canCollide );
// creates an OBJECT and returns a reference to it
scriptEvent entity spawnClientEffect( string classname );
scriptEvent entity spawnClientCrawlEffect( string classname, entity ent, float crawlTime );
scriptEvent void setEffectEndOrigin( vector endPos );
scriptEvent void setEffectLooping( boolean looping );
scriptEvent void endEffect( boolean destroyParticles );
// returns the spawn ID of the entity as a hex-encoded string
scriptEvent string getSpawnID();
scriptEvent float isSpotted();
scriptEvent void setSpotted( entity spotter );
scriptEvent void forceNetworkUpdate();
scriptEvent float getEntityNumber();
scriptEvent void disableCrosshairTrace( boolean value );
scriptEvent float isInWater();
scriptEvent float getDamageScale();
scriptEvent string getDefaultSurfaceType();
/***********************************************************************
system events (called via 'sys.')
***********************************************************************/
scriptEvent void addCheapDecal( entity attachTo, vector origin, vector normal, string decalKeyName, string surfaceTypeName );
scriptEvent object createMaskEditSession();
scriptEvent string handleToString( handle h );
scriptEvent handle stringToHandle( string s );
scriptEvent wstring toWStr( string str );
// Pushes a localization argument for formatting
scriptEvent void pushLocString( wstring str );
scriptEvent void pushLocStringIndex( handle index );
// Returns a localized string for the current language, formatting in any
// arguments pushed via pushLocString
scriptEvent wstring localizeStringIndexArgs( handle index );
scriptEvent wstring localizeStringArgs( string str );
// Returns a localized string handle
scriptEvent handle localizeString( string str );
// Terminates a thread.
scriptEvent void terminate( float threadNumber );
// Suspends execution of the current thread for the given number of seconds.
scriptEvent void wait( float time );
// Suspends execution for one game frame.
scriptEvent void waitFrame();
// Prints the given string to the console.
scriptEvent void print( string text );
// Prints the given line to the console.
scriptEvent void println( string text );
// Prints the script stack trace to the console.
scriptEvent void stackTrace();
// Breaks if the condition is zero. (Only works in debug builds.)
scriptEvent void assert( boolean condition );
// Returns a wrapper object for a cvar.
scriptEvent object getCVar( string name, string defaultValue );
// Returns a random value X where 0 <= X < range.
scriptEvent float random( float range );
// Returns the current game time in seconds.
scriptEvent float getTime();
// Returns the time converted to GUI time.
scriptEvent float toGuiTime( float time );
// Kills all threads with the specified name
scriptEvent void killThread( string threadName );
// Sets the name of the current thread.
scriptEvent void threadName( string name );
// Returns a reference to the entity with the specified hex-encoded spawn ID.
scriptEvent entity getEntityByID( string id );
// Returns a reference to the entity with the specified name.
scriptEvent entity getEntity( string name );
// Creates an entity of the specified classname and returns a reference to the entity.
scriptEvent entity spawn( string classname );
// Creates a client entity of the specified classname and returns a reference to it.
scriptEvent entity spawnClient( string classname );
// Creates an entity of the specified class type index and returns a reference to the entity.
scriptEvent entity spawnType( float entityDefIndex );
// Returns a forward vector for the given Euler angles.
scriptEvent vector angToForward( vector angles );
// Returns a right vector for the given Euler angles.
scriptEvent vector angToRight( vector angles );
// Returns an up vector for the given Euler angles.
scriptEvent vector angToUp( vector angles );
// Returns the sine of the given angle in degrees.
scriptEvent float sin( float degrees );
// Returns the inverse sine of the given value in degrees.
scriptEvent float asin( float a );
// Returns the cosine of the given angle in degrees.
scriptEvent float cos( float degrees );
// Returns the angle in degrees of the given dot.
scriptEvent float acos( float dot );
scriptEvent float atan( float a );
scriptEvent float atan2( float a1, float a2 );
scriptEvent float getRoot( float index );
scriptEvent float solveRoots( float a, float b, float c );
// Returns an angle in the range -180 -> 180
scriptEvent float angleNormalize180( float angle );
// Returns the absolute value of a number
scriptEvent float fabs( float value );
// Returns the floor of a number
scriptEvent float floor( float value );
// Returns the ceil of a number
scriptEvent float ceil( float value );
// Returns value % modulus
scriptEvent float mod( float value, float modulus ); // integer mod
scriptEvent float fmod( float value, float modulus ); // floating point mod
// Returns the square root of the given number.
scriptEvent float sqrt( float square );
// Returns the normalized version of the given vector.
scriptEvent vector vecNormalize( vector vec );
// Returns the length of the given vector.
scriptEvent float vecLength( vector vec );
scriptEvent float vecLengthSquared( vector vec );
// Returns the cross product of the two vectors.
scriptEvent vector crossProduct( vector vec1, vector vec2 );
// Returns Euler angles for the given direction.
scriptEvent vector vecToAngles( vector vec );
// Rotates a vector by a set of angles
scriptEvent vector rotateVecByAngles( vector vec, vector angles );
// Rotates a one set of angles by another set of angles
scriptEvent vector rotateAngles( vector ang1, vector ang2 );
// Rotates a vector about an axis
scriptEvent vector rotateVec( vector vec, vector axis, float angle );
// Transforms a vector into the local space of an entity
scriptEvent vector toLocalSpace( vector vec, entity ent );
// Transforms a vector from the local space of an entity to world space
scriptEvent vector toWorldSpace( vector vec, entity ent );
// Returns the contents in the bounds specified by mins & maxs & origin, based on the mask
// The 'passEntity' is considered non-solid for the check.
scriptEvent float checkContents( vector origin, vector mins, vector maxs, float contents_mask, object passEntity );
// Returns the fraction of movement completed before the box from 'mins' to 'maxs' hits solid geometry
// when moving from 'start' to 'end'. The 'passEntity' is considered non-solid during the move.
scriptEvent float trace( vector start, vector end, vector mins, vector maxs, float contents_mask, object passEntity );
// Returns the fraction of movement completed before the trace hits solid geometry
// when moving from 'start' to 'end'. The 'passEntity' is considered non-solid during the move.
scriptEvent float tracePoint( vector start, vector end, float contents_mask, object passEntity );
// Returns the fraction of movement completed before the box from 'mins' to 'maxs' at 'angles' hits solid geometry
// when moving from 'start' to 'end'. The 'passEntity' is considered non-solid during the move.
scriptEvent float traceOriented( vector start, vector end, vector mins, vector maxs, vector angles, float contents_mask, object passEntity );
scriptEvent object saveTrace();
scriptEvent void freeTrace( object index );
// Returns the fraction of movement completed during the last call to trace or tracePoint.
scriptEvent float getTraceFraction();
// Returns the position the trace stopped due to a collision with solid geometry during the last call to trace or tracePoint
scriptEvent vector getTraceEndPos();
// Returns the collision point from a collision with solid geometry during the last call to trace or tracePoint
scriptEvent vector getTracePoint();
// Returns the normal of the hit plane during the last call to trace or tracePoint
scriptEvent vector getTraceNormal();
// Returns a reference to the entity which was hit during the last call to trace or tracePoint
scriptEvent entity getTraceEntity();
// Returns the flags of the surface type hit during the last call to trace
scriptEvent float getTraceSurfaceFlags();
// Returns the name of the surface type hit during the last call to trace
scriptEvent string getTraceSurfaceType();
// Returns the color of the surface type hit during the last call to trace
scriptEvent vector getTraceSurfaceColor();
// Returns the number of the skeletal joint closest to the location on the entity which was hit
// during the last call to trace or tracePoint
scriptEvent string getTraceJoint();
// Returns the number of the body part of the entity which was hit during the last call to trace or tracePoint
scriptEvent string getTraceBody();
// Starts playing background music.
scriptEvent void music( string shaderName );
// Plays a sound on the local player head, on the specified channel
scriptEvent void startSoundDirect( string shaderName, float channel );
// Issues an error.
scriptEvent void error( string text );
// Issues a warning.
scriptEvent void warning( string text );
// Returns the number of characters in the string
scriptEvent float strLength( string text );
// Returns a string composed of the first num characters
scriptEvent string strLeft( string text, float num );
// Returns a string composed of the last num characters
scriptEvent string strRight( string text, float num );
// Returns the string following the first num characters
scriptEvent string strSkip( string text, float num );
// Returns a string composed of the characters from start to start + num
scriptEvent string strMid( string text, float start, float num );
// Returns the numeric value of a string
scriptEvent float strToFloat( string text );
// networking - checks for client
scriptEvent boolean isClient();
// networking - are you running a server? ( listen or dedicated )
scriptEvent boolean isServer();
// networking - running a demo or have a local client.
scriptEvent boolean doClientSideStuff();
// returns the length of time between game frames. this is not related to renderer frame rate.
scriptEvent float getFrameTime();
// returns the number of game frames per second. this is not related to renderer frame rate.
scriptEvent float getTicsPerSecond();
// line drawing for debug visualization. lifetime of 0 == 1 frame.
scriptEvent void debugLine( vector color, vector start, vector end, float lifetime );
scriptEvent void debugArrow( vector color, vector start, vector end, float size, float lifetime );
scriptEvent void debugCircle( vector color, vector origin, vector dir, float radius, float numSteps, float lifetime );
scriptEvent void debugBounds( vector color, vector mins, vector maxs, float lifetime );
// Command map icon stuff
scriptEvent float allocCMIcon( entity owner, float sort );
scriptEvent void freeCMIcon( entity owner, float iconHandle );
scriptEvent void setCMIconSize( float iconHandle, float size );
scriptEvent void setCMIconUnknownSize( float iconHandle, float size );
scriptEvent void setCMIconSize2d( float iconHandle, float sizeX, float sizeY );
scriptEvent void setCMIconUnknownSize2d( float iconHandle, float sizeX, float sizeY );
scriptEvent void setCMIconSizeMode( float iconHandle, float mode );
scriptEvent void setCMIconPositionMode( float iconHandle, float mode );
scriptEvent void setCMIconOrigin( float iconHandle, vector origin );
scriptEvent void setCMIconColor( float iconHandle, vector color, float alpha );
scriptEvent void setCMIconColorMode( float iconHandle, float mode );
scriptEvent void setCMIconDrawMode( float iconHandle, float mode );
scriptEvent void setCMIconAngle( float iconHandle, float angle );
scriptEvent void setCMIconSides( float iconHandle, float sides );
scriptEvent void showCMIcon( float iconHandle );
scriptEvent void hideCMIcon( float iconHandle );
scriptEvent void addCMIconRequirement( float iconHandle, string requirement );
scriptEvent void setCMIconMaterial( float iconHandle, float material );
scriptEvent void setCMIconUnknownMaterial( float iconHandle, float material );
scriptEvent void setCMIconFireteamMaterial( float iconHandle, float material );
scriptEvent void setCMIconGuiMessage( float iconHandle, string message );
scriptEvent void setCMIconFlag( float iconHandle, float flag );
scriptEvent void clearCMIconFlag( float iconHandle, float flag );
scriptEvent void setCMIconArcAngle( float iconHandle, float arcAngle );
scriptEvent void setCMIconShaderParm( float iconHandle, float index, float value );
scriptEvent float getCMIconFlags( float iconHandle );
scriptEvent void flashCMIcon( float iconHandle, float materialIndex, float seconds, float setFlags );
// text drawing for debugging. align can be 0-left, 1-center, 2-right. lifetime of 0 == 1 frame.
scriptEvent void drawText( string text, vector origin, float scale, vector color, float align, float lifetime );
scriptEvent void broadcastToolTip( float toolTipIndex, entity other, wstring str1, wstring str2, wstring str3, wstring str4 );
scriptEvent float getDeclType( string name );
scriptEvent float getDeclCount( float declType );
scriptEvent float getDeclIndex( float declType, string name );
scriptEvent string getDeclName( float declType, float declIndex );
scriptEvent void applyRadiusDamage( vector org, entity inflictor, entity attacker, entity ignore, entity ignorePush, float damageIndex, float damageScale, float radiusScale );
scriptEvent boolean filterEntity( float filterIndex, entity other );
scriptEvent float getTableCount( float tableIndex );
scriptEvent float getTableValue( float tableIndex, float valueIndex );
scriptEvent float getTableValueExact( float tableIndex, float valueIndex );
scriptEvent float allocDecal( string materialName );
scriptEvent void projectDecal( float decalHandle, vector origin, vector direction, float depth, boolean parallel, vector size, float angle, vector color );
scriptEvent void freeDecal( float decalHandle );
scriptEvent void resetDecal( float decalHandle );
// Gets a type handle for a type name
scriptEvent float getTypeHandle( string typename );
scriptEvent float argc();
scriptEvent string argv( float index );
scriptEvent float argvf( float index );
scriptEvent void setActionCommand( string message );
// Play an effect in the world. Effect name is an actual string,
// not a dict entry. Make sure to precache the effect. Also note that these can't loop.
scriptEvent void playWorldEffect ( string effectName, vector color, vector org, vector forward );
scriptEvent void playWorldEffectRotate ( string effectName, vector color, vector org, vector forward, vector rot );
scriptEvent void playWorldEffectRotateAlign ( string effectName, vector color, vector org, vector forward, vector rot, entity ent );
scriptEvent void playWorldBeamEffect( string effectname, vector color, vector origin, vector endOrigin );
scriptEvent void setGUIFloat( float guiHandle, string name, float value );
scriptEvent void setGUIHandle( float guiHandle, string name, handle value );
scriptEvent void setGUIVec2( float guiHandle, string name, float x, float y );
scriptEvent void setGUIVec3( float guiHandle, string name, float x, float y, float z );
scriptEvent void setGUIVec4( float guiHandle, string name, float x, float y, float z, float w );
scriptEvent void setGUIString( float guiHandle, string name, string value );
scriptEvent void setGUIWString( float guiHandle, string name, wstring value );
scriptEvent float getGUIFloat( float guiHandle, string name );
//scriptEvent float addNotifyIcon( float guiHandle, string window, string material );
//scriptEvent void removeNotifyIcon( float guiHandle, string window, float handle );
//scriptEvent void bumpNotifyIcon( float guiHandle, string window, float handle );
scriptEvent void clearDeployRequest( float deployIndex );
scriptEvent float getDeployMask( string name );
scriptEvent float checkDeployMask( vector mins, vector maxs, float deployMaskHandle );
scriptEvent float getWorldPlayZoneIndex( vector point );
scriptEvent float allocTargetTimer( string name );
scriptEvent float getTargetTimerValue( float targetTimerHandle, entity p );
scriptEvent void setTargetTimerValue( float targetTimerHandle, entity p, float value );
scriptEvent string getEntityDefKey( float entityDefIndex, string key );
scriptEvent float getEntityDefIntKey( float entityDefIndex, string key );
scriptEvent float getEntityDefFloatKey( float entityDefIndex, string key );
scriptEvent vector getEntityDefVectorKey( float entityDefIndex, string key );
scriptEvent float getMaxClients();
scriptEvent entity getClient( float index );
scriptEvent entity getTerritoryForPoint( vector point, object team, boolean requireTeam, boolean requireActive );
scriptEvent float getMatchTimeRemaining();
scriptEvent float getMatchState(); // see GS_* defines
// stats
scriptEvent handle getStat( string name );
scriptEvent handle allocStatInt( string name );
scriptEvent handle allocStatFloat( string name );
scriptEvent void increaseStatInt( handle h, float playerIndex, float count );
scriptEvent void increaseStatFloat( handle h, float playerIndex, float count );
scriptEvent float getStatValue( handle h, float playerIndex );
scriptEvent float getStatDelta( handle h, float playerIndex );
scriptEvent void setStatBaseLine( float playerIndex );
scriptEvent string getClimateSkin( string key );
// both sender and recipient can be null, sender == null = high command message, recipient == null = team or global message
scriptEvent void sendQuickChat( entity sender, float quickChatIndex, entity recipient );
scriptEvent entity getContextEntity();
scriptEvent void setEndGameStatValue( float statIndex, entity p, float value );
scriptEvent void setEndGameStatWinner( float statIndex, entity p );
scriptEvent float allocEndGameStat();
scriptEvent void sendEndGameStats();
// a very approximate point trace using the heightmap - great for really really rough approximations
scriptEvent float heightMapTrace( vector start, vector end );
scriptEvent void enableBotReachability (string name, float team, boolean enable);
scriptEvent float getNextBotActionIndex( float statIndex, float type );
scriptEvent vector getBotActionOrigin( float index );
scriptEvent float getBotActionDeployableType( float index );
scriptEvent float getBotActionBaseGoalType( float index, object team );
scriptEvent void enablePlayerHeadModels();
scriptEvent void disablePlayerHeadModels();
/***********************************************************************
rules
***********************************************************************/
scriptEvent object getTeam( string name );
scriptEvent void setWinningTeam( object team );
scriptEvent void endGame();
scriptEvent void setEndGameCamera( entity other );
// get key suffix for game mode
scriptEvent string getKeySuffix();
/***********************************************************************
lights
***********************************************************************/
// Turns the light/speaker on.
scriptEvent void turnOn();
// Turns the light/speaker off.
scriptEvent void turnOff();
/***********************************************************************
func_forcefield
***********************************************************************/
// Turns the forcefield on and off.
scriptEvent void toggle();
/***********************************************************************
func_animate
***********************************************************************/
// Switches to a ragdoll taking over the animation.
scriptEvent void startRagdoll();
/***********************************************************************
func_movers
***********************************************************************/
scriptEvent void setToggle( boolean toggle );
/***********************************************************************
doors
***********************************************************************/
// Enables the door.
scriptEvent void enable();
// Disables the door.
scriptEvent void disable();
// Opens the door.
scriptEvent void open();
// Closes the door.
scriptEvent void close();
// Door state queries
scriptEvent boolean isOpen();
scriptEvent boolean isClosed();
scriptEvent boolean isOpening();
scriptEvent boolean isClosing();
// Gets the master entity of a door chain
scriptEvent entity getMoveMaster();
// Gets the next entity in the door chain
scriptEvent entity getNextSlave();
/***********************************************************************
func_moveable
***********************************************************************/
// Makes the moveable non-solid for other entities.
scriptEvent void becomeNonSolid();
// enable/disable damage
scriptEvent void enableDamage( boolean enable );
/***********************************************************************
sdGeneralMover
***********************************************************************/
// start the entity moving specifying the duration of the move
scriptEvent void startTimedMove( float from, float to, float seconds );
// move directly to the position
scriptEvent void setPosition( float index );
// gets the number of positions available for use
scriptEvent float getNumPositions();
// add a position to the end of the list, dir should be normalised or zero (to not change dir)
scriptEvent float addPosition( vector pos, vector dir );
// get the state of the entity
scriptEvent float getMoverState();
// whether or not to apply damage (using damage_mover_crush) to the blocking entity (on by default)
scriptEvent void killBlockingEntity( boolean kill );
/***********************************************************************
skeletal animation (weapons, players, ai, func_animated)
***********************************************************************/
// Looks up the number of the specified joint. Returns INVALID_JOINT if the joint is not found.
scriptEvent float getJointHandle( string jointname );
// Removes any custom transforms on all joints.
scriptEvent void clearAllJoints();
// Removes any custom transforms on the specified joint.
scriptEvent void clearJoint( float jointnum );
// Modifies the position of the joint based on the transform type.
scriptEvent void setJointPos( float jointnum, float transform_type, vector pos );
// Modifies the orientation of the joint based on the transform type.
scriptEvent void setJointAngle( float jointnum, float transform_type, vector angles );
// returns the position of the joint in world space
scriptEvent vector getJointPos( float jointnum );
// returns the position of the joint in model space
scriptEvent vector getLocalJointPos( float jointnum );
//
scriptEvent vector getJointAxis( float jointnum, float index );
// returns the angular orientation of the joint in world space
scriptEvent vector getJointAngle( float jointnum );
// plays an anim, which will be sent across the network
scriptEvent float playAnim( float channel, string animName );
scriptEvent boolean isAnimating();
scriptEvent string getAnimatingOnChannel( float channelHandle );
scriptEvent string animationName( float animIndex );
scriptEvent boolean isAnimatingOnChannel( float channelHandle );
scriptEvent vector jointToWorldSpace( float jointHandle, vector dir );
scriptEvent vector worldToModelSpace( vector point );
scriptEvent void hideSurface( float index );
scriptEvent void showSurface( float index );
scriptEvent float getSurfaceId( string surfaceName );
scriptEvent boolean isSurfaceHidden( float index );
/***********************************************************************
weapons
***********************************************************************/
scriptEvent entity getOwner();
scriptEvent void nextWeapon();
scriptEvent void weaponState( string stateFunction, float blendFrames );
scriptEvent string getWeaponState();
scriptEvent void addToClip( float modIndex, float amount );
scriptEvent float ammoInClip( float modIndex );
scriptEvent float ammoAvailable( float modIndex );
scriptEvent float clipSize( float modIndex );
scriptEvent float ammoRequired( float modIndex );
scriptEvent float ammoType( float modIndex );
scriptEvent void useAmmo( float ammoType, float amount );
// let the owner know that the weapon was fired
scriptEvent void fired();
// Plays the given animation on the given channel. Returns false if anim doesn't exist.
// NOTE: weapons only use ANIMCHANNEL_ALL
scriptEvent float playAnim( float channel, string animName );
// Continuously repeats the given animation on the given channel. Returns false if anim doesn't exist.
// NOTE: weapons only use ANIMCHANNEL_ALL
scriptEvent float playCycle( float channel, string animName );
// Returns true if the animation playing on the given channel
// is completed considering a number of blend frames.
// NOTE: weapons only use ANIMCHANNEL_ALL
scriptEvent boolean animDone( float channel, float blendOutFrames );
// Sets the number of frames to blend between animations on the given channel.
// NOTE: weapons only use ANIMCHANNEL_ALL
scriptEvent void setBlendFrames( float channel, float blendFrame );
// Returns the number of frames to blend between animations on the given channel.
// NOTE: weapons only use ANIMCHANNEL_ALL
scriptEvent float getBlendFrames( float channel );
scriptEvent void weaponReady();
scriptEvent void weaponReloading();
scriptEvent void weaponHolstered();
scriptEvent void weaponRising();
scriptEvent void weaponLowering();
scriptEvent void launchProjectiles( float numProjectiles, float projectileIndex, float spread, float fuseOffset, float launchPower, float dmgPower );
scriptEvent entity createProjectile( float mod_index );
scriptEvent void doProjectileTracer( float projectileIndex, vector start, vector end );
scriptEvent boolean melee( float contentMask, float distance, boolean ignoreOwner, boolean useAntiLag );
scriptEvent boolean meleeAttack( float damageScale );
scriptEvent object saveMeleeTrace();
scriptEvent float getMeleeFraction();
scriptEvent vector getMeleeEndPos();
scriptEvent vector getMeleePoint();
scriptEvent vector getMeleeNormal();
scriptEvent entity getMeleeEntity();
scriptEvent float getMeleeSurfaceFlags();
scriptEvent string getMeleeSurfaceType();
scriptEvent vector getMeleeSurfaceColor();
scriptEvent string getMeleeJoint();
scriptEvent string getMeleeBody();
scriptEvent void enableTargetLock( boolean enable );
scriptEvent void setFovStart( float startFov, float endFov, float startTime, float duration );
scriptEvent void setFov( float startFov, float endFov, float duration );
scriptEvent void clearFov();
scriptEvent float getFov();
scriptEvent void enableClamp( vector baseAngles );
scriptEvent void disableClamp();
scriptEvent float getCurrentSpread();
scriptEvent void increaseSpread();
scriptEvent void setSpreadModifier( float modifier );
scriptEvent object getWorldModel( float index );
scriptEvent void setDriftScale( float scale );
scriptEvent void resetTracerCounter();
scriptEvent handle getLastTracer();
scriptEvent void setupAnimClass( string prefix );
scriptEvent void enableSway( boolean enable );
scriptEvent void setStatName( string name );
scriptEvent void sendTracerMessage( vector start, vector end, float strength );
/***********************************************************************
projectiles
***********************************************************************/
scriptEvent float getDamagePower();
scriptEvent entity getOwner();
scriptEvent void setOwner( entity owner );
scriptEvent float getLaunchTime();
scriptEvent void launch( vector velocity );
scriptEvent void addOwner( entity other );
scriptEvent void setEnemy( entity other );
scriptEvent boolean isOwner( entity other );
/***********************************************************************
actors (players and AI)
***********************************************************************/
// Stops the animation currently playing on the given channel over the given number of frames.
scriptEvent void stopAnim( float channel, float frames );
// Plays the given animation on the given channel. Returns false if anim doesn't exist. and the time the animation takes
scriptEvent float playAnim( float channel, string animName );
// Plays the given animation on the given channel. Returns false if anim doesn't exist. Blends with current animation.
scriptEvent float playAnimBlended( float channel, string animName, float blendTime );
scriptEvent float getAnimLength( string animname );
// Continuously repeats the given animation on the given channel. Returns false if anim doesn't exist.
scriptEvent float playCycle( float channel, string animName );
// Plays the given idle animation on the given channel. Returns false if anim doesn't exist.
scriptEvent boolean idleAnim( float channel, string animName );
// Sets the number of frames to blend between animations on the given channel.
scriptEvent void setBlendFrames( float channel, float blendFrame );
// Returns the number of frames to blend between animations on the given channel.
scriptEvent float getBlendFrames( float channel );
// Sets a new animation state script function for the given channel.
scriptEvent void animState( float channel, string stateFunction, float blendFrame );
// Returns the name of the current animation state script function used for the given channel.
scriptEvent string getAnimState( float channel );
// Returns true if the given animation state script function is currently used for the given channel.
scriptEvent boolean inAnimState( float channel, string stateFunc );
// Returns true if the animation playing on the given channel
// is completed considering a number of blend frames.
scriptEvent boolean animDone( float channel, float blendOutFrames );
// Disables the animation currently playing on the given channel and syncs
// the animation with the animation of the nearest animating channel.
scriptEvent void overrideAnim( float channel );
// Enables animation on the given channel.
scriptEvent void enableAnim( float channel, float blendFrames );
// Set the various animation prefixes
scriptEvent void setPrefix( float animChannel, float prefixType, string prefix );
// Returns true when an entity has a specific animation.
scriptEvent boolean hasAnim( float channel, string animName );
// Returns true when a weapon entity has a specific animation.
scriptEvent boolean hasWeaponAnim( string animName );
// sets the next state and goes to it immediately
scriptEvent void setState( string stateFunc );
scriptEvent string getState();
scriptEvent void syncAnim( float channel, float toChannel, float blendFrames );
scriptEvent float getDeployResult( float deployObjectIndex );
/***********************************************************************
players
***********************************************************************/
// Returns the button state from the current user command.
scriptEvent boolean getButton( float key );
// Returns the movement relative to the player's view angles from the current user command.
// vector_x = forward, vector_y = right, vector_z = up
scriptEvent vector getMove();
scriptEvent vector getUserCmdAngles();
// Returns the player view angles (relative to a bunch of things)
scriptEvent vector getViewAngles();
// Sets the player view angles (may not be reliable in all cases)
scriptEvent void setViewAngles( vector angles );
// Returns the player's remote camera view angles.
scriptEvent vector getCameraViewAngles();
// Returns the player's render view angles (relative to the world)
scriptEvent vector getRenderViewAngles();
// Returns the player view origin.
scriptEvent vector getViewOrigin();
// Returns the entity for the player's weapon
scriptEvent entity getWeaponEntity();
scriptEvent void freeze( boolean enabled );
scriptEvent void freezeTurning( boolean enabled );
scriptEvent void setRemoteCamera( entity other );
scriptEvent entity getRemoteCamera();
// sets an offset from the remote camera to be used when viewing a remote camera
scriptEvent void setRemoteCameraViewOffset( vector offset );
// get the entity from which the player is currently viewing (e.g. themselves, a remote camera...)
scriptEvent entity getViewingEntity();
// ui_showGun value for this player
scriptEvent boolean isGunHidden();
scriptEvent void giveProficiency( float index, float scale, object task, string reason );
scriptEvent void giveClassProficiency( float count, string reason );
scriptEvent float getProficiency( float type );
scriptEvent float getXP( float type, boolean fromBase );
scriptEvent float heal( float count );
scriptEvent float unheal( float count );
scriptEvent void makeInvulnerable( float len );
scriptEvent void giveClass( string classname );
scriptEvent boolean givePackage( string packageName );
scriptEvent void setClassOption( float optionIndex, float itemIndex );
scriptEvent void sendToolTip( float index );
scriptEvent void cancelToolTips();
scriptEvent void selectBestWeapon( boolean allowCurrent );
scriptEvent void setWeapon( string weaponName, boolean instant );
scriptEvent string getCurrentWeapon();
scriptEvent boolean hasWeapon( string weaponName );
scriptEvent entity getVehicle();
scriptEvent float getAmmoFraction();
scriptEvent string getUserName();
scriptEvent string getCleanUserName();
scriptEvent string getClassName();
scriptEvent string getCachedClassName();
scriptEvent float getPlayerClass();
scriptEvent handle getRankName();
scriptEvent handle getShortRankName();
scriptEvent float getMaxHealth();
scriptEvent entity getCrosshairEntity();
scriptEvent float getCrosshairDistance( boolean needValidInfo );
scriptEvent vector getCrosshairEndPos();
scriptEvent float getCrosshairStartTime();
scriptEvent void enterDeploymentMode();
scriptEvent void exitDeploymentMode();
scriptEvent boolean getDeploymentActive();
scriptEvent void setSpawnPoint( entity other );
scriptEvent entity getSpawnPoint();
scriptEvent void setSpeedModifier( float value );
scriptEvent void setSprintScale( float value );
scriptEvent boolean needsRevive();
scriptEvent boolean isInvulnerable();
scriptEvent void revive( entity other, float healthScale );
scriptEvent void setProxyEntity( entity proxy, float positionId );
scriptEvent entity getProxyEntity();
scriptEvent boolean getProxyAllowWeapon();
scriptEvent void setSniperAOR( boolean enabled );
scriptEvent float getKilledTime();
scriptEvent void forceRespawn();
// should only be called from OnUsed
scriptEvent void enter( entity toEnter );
scriptEvent float createIcon( string material, float priority, float timeout );
scriptEvent void freeIcon( float iconHandle );
scriptEvent float getAmmo( float ammoType );
scriptEvent float getMaxAmmo( float ammoType );
scriptEvent void setAmmo( float ammoType, float amount );
scriptEvent void setMaxAmmo( float ammoType, float amount );
scriptEvent void setTargetTimeScale( float scale );
scriptEvent void disableSprint( boolean disable );
scriptEvent void disableRun( boolean disable ); // disabling run also disables sprint
scriptEvent void disableFootsteps( boolean disable );
scriptEvent void disableFallingDamage( boolean disable );
scriptEvent void disguise( entity other );
scriptEvent void setSpectateClient( entity other );
scriptEvent entity getDisguiseClient();
scriptEvent boolean isDisguised();
scriptEvent void setViewSkin( string enh ); //Name of skin decl to apply for the whole view
scriptEvent string getViewSkin();
scriptEvent void setGUIClipIndex( float index );
scriptEvent float getDeploymentRequest();
scriptEvent vector getDeploymentPosition();
scriptEvent object getActiveTask();
scriptEvent void binAdd( entity other );
scriptEvent entity binGet( float index );
scriptEvent float binGetSize();
scriptEvent void binRemove( entity other );
scriptEvent void disableShadows( boolean value );
scriptEvent void inhibitGuis( boolean inhibit );
scriptEvent boolean getPostArmFindBestWeapon();
scriptEvent boolean sameFireTeam( entity other );
scriptEvent boolean isFireTeamLeader();
scriptEvent boolean isLocalPlayer();
scriptEvent boolean isToolTipPlaying();
scriptEvent boolean isSinglePlayerToolTipPlaying();
scriptEvent void resetTargetLock();
scriptEvent boolean isLocking();
scriptEvent void enableClientModelSights( string name );
scriptEvent void disableClientModelSights();
scriptEvent wstring getCrosshairTitle( boolean allowDisguise );
scriptEvent void adjustDeathYaw( float adjust );
scriptEvent void setCarryingObjective( boolean isCarrying );
scriptEvent void addDamageEvent( float time, float angle, float damage, boolean updateDirection );
scriptEvent boolean isInLimbo();
/***********************************************************************
bots interface for players
***********************************************************************/
//mal: some bot functions to access HE/Plasma Charge info....
scriptEvent void setPlayerChargeOrigin( entity self );
scriptEvent void setPlayerChargeArmed( boolean chargeArmed, entity self );
//mal: a function to track the dropping of player packs ( health/ammo/supply/etc ).
scriptEvent void setPlayerItemState( entity self, boolean destroy );
//mal: some functions to track player grenade info....
scriptEvent void setPlayerGrenadeState( entity self, boolean destroy );
//mal: track the player's landmines.
scriptEvent void setPlayerMineState( entity self, boolean destroy, boolean spotted );
scriptEvent void setPlayerMineArmed( boolean chargeArmed, entity self, boolean isVisible );
//mal: track the player's supply crates
scriptEvent void setPlayerSupplyCrateState( entity self, boolean destroy );
//mal: track the player's airstrikes
scriptEvent void setPlayerAirstrikeState( entity self, boolean destroy, boolean strikeOnWay );
//mal: track the player's hives/third eye cameras
scriptEvent void setPlayerCovertToolState( entity self, boolean destroy );
//mal: track the player's created spawnhosts.
scriptEvent void setPlayerSpawnHostState( entity self, boolean destroy );
//mal: track the player's smoke grenades
scriptEvent void setSmokeNadeState( entity self );
//mal: track the player's arty attacks
scriptEvent void setArtyAttackLocation( vector vec, float artyType );
//mal: track the player's repair requests
scriptEvent void setPlayerRepairTarget( entity repairTarget );
//mal: track the player's kill requests
scriptEvent void setPlayerKillTarget( entity killTarget );
//mal: track the player's pickup requests
scriptEvent void setPlayerPickupRequestTime( entity pickupTarget );
//mal: track the player's command requests
scriptEvent void setPlayerCommandRequestTime();
//mal: track the player's teleporters
scriptEvent void setTeleporterState( boolean destroy );
//mal: track the player's repair drones
scriptEvent void setRepairDroneState( boolean destroy );
//mal: is the player a bot?
scriptEvent boolean isBot();
//mal: the player wants a specific bot to follow him - let the bot know.
scriptEvent void setBotEscort( entity botEscort );
//mal: track the GDF player's spawnhost targets
scriptEvent void setPlayerSpawnHostTarget( entity spawnHostTarget );
/***********************************************************************
atmosphere
***********************************************************************/
scriptEvent void resetPostProcess();
scriptEvent float getDefaultPostProcessSaturation();
scriptEvent float getDefaultPostProcessGlareSourceBrightness();
scriptEvent float getDefaultPostProcessGlareBlurBrightness();
scriptEvent float getDefaultPostProcessGlareBrightnessThreshold();
scriptEvent float getDefaultPostProcessGlareThresholdDependency();
scriptEvent void setPostProcessTint( vector tint );
scriptEvent void setPostProcessSaturation( float saturation );
scriptEvent void setPostProcessContrast( float contrast );
scriptEvent void setPostProcessGlareParms( float sourceBrightness, float blurBrightness, float brightnessThreshold, float thresholdDep );
scriptEvent boolean isNight();
/***********************************************************************
walker
***********************************************************************/
scriptEvent void groundPound( float force, float damageScale, float shockWaveRange );
/***********************************************************************
transports
***********************************************************************/
scriptEvent float repair( float repairCount );
scriptEvent vector getLastRepairOrigin();
scriptEvent void inputSetPlayer( entity p );
scriptEvent float inputGetCollective();
scriptEvent entity getDriver();
scriptEvent boolean isEmpty();
scriptEvent void updateEngine( boolean off );
scriptEvent void setLightsEnabled( float group, boolean enabled ); // group = -1 implies all groups
scriptEvent void disableSuspension( boolean disable );
scriptEvent wstring getPassengerNames();
scriptEvent void lock( boolean _lock );
scriptEvent void kickPlayer( float index, float flags );
scriptEvent void disableTimeout( boolean disable );
scriptEvent float getSteerAngle();
scriptEvent void destroyParts( float mask );
scriptEvent void decayParts( float mask );
scriptEvent void decayLeftWheels();
scriptEvent void decayRightWheels();
scriptEvent void decayNonWheels();
scriptEvent void resetDecayTime();
scriptEvent boolean hasHiddenParts();
scriptEvent void disableModel( boolean disable );
scriptEvent void swapPosition( entity p );
scriptEvent float getNumPositions();
scriptEvent float getNumOccupiedPositions();
scriptEvent entity getPositionPlayer( float index );
scriptEvent string getSurfaceType();
scriptEvent void selectVehicleWeapon( entity p, string name );
scriptEvent object getObject( string objectName );
// Thruster component
scriptEvent void setThrust( float thrust );
// Scripted part
scriptEvent string getJoint();
scriptEvent entity getParent();
scriptEvent void setDeathThroeHealth( float amount );
scriptEvent float getMinDisplayHealth();
scriptEvent boolean isEMPed();
scriptEvent boolean isWeaponEMPed();
scriptEvent boolean applyEMPDamage( float time, float weaponTime );
scriptEvent float getRemainingEMP();
scriptEvent boolean isWeaponDisabled();
scriptEvent void setWeaponDisabled( boolean disabled );
scriptEvent void setLockAlarmActive( boolean active );
scriptEvent void setImmobilized( boolean immobile );
scriptEvent boolean getLandingGearDown();
scriptEvent boolean inSiegeMode();
scriptEvent float getArmor();
scriptEvent void setArmor( float value );
scriptEvent float getNumVehicleWeapons();
scriptEvent object getVehicleWeapon( float index );
scriptEvent void setTrackerEntity( entity ent );
scriptEvent boolean isPlayerBanned( entity p );
scriptEvent void banPlayer( entity p, float time );
scriptEvent void clearLastAttacker();
scriptEvent void enablePart( string partName );
scriptEvent void disablePart( string partName );
scriptEvent float destructionTime();
scriptEvent boolean directionWarning();
scriptEvent boolean isTeleporting();
/***********************************************************************
vehicle_rigidbody
***********************************************************************/
scriptEvent void setDamageDealtScale( float scale );
/***********************************************************************
Vehicle weapons
***********************************************************************/
scriptEvent entity getPlayer();
scriptEvent void setTarget( vector target, boolean enabled );
/***********************************************************************
Jump Jets
***********************************************************************/
scriptEvent float getChargeFraction();
/***********************************************************************
script entities
***********************************************************************/
scriptEvent void addHelper( float stringMapIndex );
scriptEvent entity getBoundPlayer( float index );
scriptEvent void removeBoundPlayer( entity other );
scriptEvent void chSetNumLines( float count );
scriptEvent float chAddLine();
scriptEvent float chGetDistance();
scriptEvent void chSetLineText( float index, wstring text );
scriptEvent void chSetLineTextIndex( float index, handle textIndex );
scriptEvent void chSetLineMaterial( float index, string material );
scriptEvent void chSetLineColor( float index, vector color, float alpha );
scriptEvent void chSetLineSize( float index, float x, float y );
scriptEvent void chSetLineFraction( float index, float fraction );
scriptEvent void chSetLineType( float index, float type );
scriptEvent void freeLayers();
scriptEvent float allocRadarLayer();
scriptEvent float allocJammerLayer();
scriptEvent void radarSetLayerRange( float index, float range );
scriptEvent void radarSetLayerMaxAngle( float index, float maxAngle );
scriptEvent void radarSetLayerMask( float index, float mask );
scriptEvent void setRemoteViewAngles( vector angles, entity refEntity );
scriptEvent vector getRemoteViewAngles( entity refEntity );
scriptEvent void pathFind( string pathName, vector target, float startTime, float direction, float cornerX, float cornerY, float heightOffset, boolean append );
scriptEvent float pathFindVampire( vector runStart, vector runEnd, float runHeight );
scriptEvent void pathLevel( float maxSlopeAngle, float startIndex, float endIndex );
scriptEvent void pathStraighten();
scriptEvent float pathGetNumPoints();
scriptEvent vector pathGetPoint( float index );
scriptEvent float pathGetLength();
scriptEvent vector pathGetPosition( float position );
scriptEvent vector pathGetDirection( float position );
scriptEvent vector pathGetAngles( float position );
scriptEvent float getVampireBombPosition( vector targetPos, float gravity, float pathSpeed, float stepDist, float pathLength );
scriptEvent vector getVampireBombAcceleration();
scriptEvent float getVampireBombFallTime();
scriptEvent void forceRunPhysics();
scriptEvent void setGroundPosition( vector position );
scriptEvent void setXPShareInfo( entity sharer, float scale );
scriptEvent void setBoxClipModel( vector mins, vector maxs, float mass );
scriptEvent float getTeamDamageDone();
scriptEvent void setTeamDamageDone( float value );
scriptEvent void forceAnimUpdate( boolean value );
scriptEvent void setIKTarget( entity other, float index );
scriptEvent void hideInLocalView();
scriptEvent void showInLocalView();
scriptEvent void setClipOriented( boolean oriented );
scriptEvent void setIconMaterial( string materialName );
scriptEvent void setIconSize( float width, float height );
scriptEvent void setIconColorMode( float colorMode );
scriptEvent void setIconPosition( float position );
scriptEvent void setIconEnabled( boolean enabled );
scriptEvent void setIconCutoff( float distance );
scriptEvent void setIconAlphaScale( float alphaScale );
scriptEvent void enableCollisionPush();
scriptEvent void disableCollisionPush();
/***********************************************************************
objective manager
***********************************************************************/
scriptEvent void setObjectiveState( object team, float objectiveIndex, float state );
scriptEvent void setObjectiveIcon( object team, float objectiveIndex, string icon );
scriptEvent float getObjectiveState( object team, float objectiveIndex );
scriptEvent void setNextObjective( object team, float objectiveIndex );
scriptEvent float getNextObjective( object team );
scriptEvent void setShortDescription( object team, float objectiveIndex, handle description );
scriptEvent handle getShortDescription( object team, float objectiveIndex );
scriptEvent object createMapScript();
scriptEvent void logObjectiveCompletion( float objectiveIndex );
/***********************************************************************
bots objective manager - interface to the bots action system
***********************************************************************/
scriptEvent void deactivateBotActionGroup( float actionGroupNum );
scriptEvent void activateBotActionGroup( float actionGroupNum );
scriptEvent void setBotActionStateForEvent( float actionState, entity triggerEntity );
scriptEvent void deactivateBotAction( string actionName );
scriptEvent void activateBotAction( string actionName );
scriptEvent void setBotCriticalClass( float playerTeam, float criticalClassType );
scriptEvent void botUpdateForEvent( float playerTeamLimiter, float playerClassType, float eventType ); //mal: eventType will usually == ACTION_STATE_NULL for events that were completed!
scriptEvent void setAttackingTeam( float playerTeam );
scriptEvent void setPrimaryTeamAction( float playerTeam, string actionName );
scriptEvent void setSecondaryTeamAction( float playerTeam, string actionName );
scriptEvent void setTeamNeededClass( float playerTeam, float neededClass, float sampleClass, float minNeeded, boolean priority, boolean storeRequest );
scriptEvent void setBotSightDist( float sightDist );
scriptEvent void disableRouteGroup( float routeGroupNum );
scriptEvent void enableRouteGroup( float routeGroupNum );
scriptEvent void enableRoute( string routeName );
scriptEvent void disableRoute( string routeName );
scriptEvent void setMapHasMCPGoal( boolean hasMCP );
scriptEvent void setSpawnActionOwner( float playerTeam, entity self );
scriptEvent void setActionObjState( float objectiveState, float ownerTeam, entity self, entity carrier );
scriptEvent void enableNode( string nodeName );
scriptEvent void disableNode( string nodeName );
scriptEvent void setNodeTeam( string nodeName, float playerTeam );
scriptEvent void teamSuicideIfNotNearAction( string actionName, float requiredDist, float playerTeam );
scriptEvent float isActionGroupActive( float actionGroupNum );
scriptEvent float isActionActive( string actionName );
scriptEvent void switchTeamWeapons( float playerTeam, float playerClass, float curWeapType, float desiredWeapType, boolean randomly );
scriptEvent void killBotActionGroup( float actionGroupNum );
scriptEvent void killBotAction( string actionName );
scriptEvent void setTeamUseRearSpawn( float playerTeam, boolean useSpawn );
scriptEvent void setTeamUseRearSpawnPercentage( float playerTeam, float percentageUsed );
scriptEvent float getNumBotsOnTeam( float playerTeam );
scriptEvent void setActionPriority( string actionName, boolean isPriority );
scriptEvent void setTeamAttacksDeployables ( float playerTeam, boolean attacksDeployables );
scriptEvent void setActionHumanGoal( string actionName, float humanGoal );
scriptEvent void setActionStroggGoal( string actionName, float stroggGoal );
scriptEvent void clearTeamBotBoundEntities( float playerTeam );
scriptEvent void setBotTeamRetreatTime( float playerTeam, float retreatTime );
scriptEvent void setTeamMinePlantIsPriority( float playerTeam, boolean isPriority );
scriptEvent void setBotActionVehicleType( string actionName, float vehicleType );
scriptEvent void setBotActionGroupVehicleType( float actionGroupNum, float vehicleType );
scriptEvent void disableAASAreaInLocation( float aasType, vector location );
scriptEvent float getBotCriticalClass( float playerTeam );
scriptEvent float getNumClassPlayers( float playerTeam, float playerClass );
/***********************************************************************
bots training objective manager
***********************************************************************/
scriptEvent void gameIsOnFinalObjective();
scriptEvent void mapIsTraingingMap();
scriptEvent void setActorPrimaryAction( string actionName, boolean isDeployableMission, float goalPauseTime );
scriptEvent void setBriefingPauseTime( float pauseTime );
scriptEvent void setPlayerIsOnFinalMission();
scriptEvent void setTrainingBotsCanGrabForwardSpawns();
/***********************************************************************
territories
***********************************************************************/
scriptEvent void setActive( boolean active );
/***********************************************************************
animated client entities
***********************************************************************/
scriptEvent void setAnimFrame( string anim, float channel, float frame );
scriptEvent float getNumFrames( string anim );
scriptEvent void dispose(); // better than remove, will free up any assets, and schedule removal, client entity only atm
/***********************************************************************
traces!
***********************************************************************/
scriptEvent float getTraceFraction();
scriptEvent vector getTraceEndPos();
scriptEvent vector getTracePoint();
scriptEvent vector getTraceNormal();
scriptEvent entity getTraceEntity();
scriptEvent float getTraceSurfaceFlags();
scriptEvent string getTraceSurfaceType();
scriptEvent vector getTraceSurfaceColor();
scriptEvent string getTraceJoint();
scriptEvent string getTraceBody();
/***********************************************************************
teams
***********************************************************************/
scriptEvent string getName();
scriptEvent handle getTitle();
scriptEvent void registerDeployable( entity other );
scriptEvent void unRegisterDeployable( entity other );
scriptEvent void registerSpawnPoint( entity other );
scriptEvent void unRegisterSpawnPoint( entity other );
/***********************************************************************
bot team related stuff
***********************************************************************/
scriptEvent void setTeamRearSpawn( entity teamRearSpawn ); //mal: wheres our spawn at?
/***********************************************************************
tasks
***********************************************************************/
// taskmanager
scriptEvent object allocEntityTask( float taskIndex, entity o );
// task
scriptEvent void complete();
scriptEvent void setTimeout( float duration );
scriptEvent void free();
scriptEvent entity getTaskEntity();
scriptEvent void setUserCreated();
scriptEvent boolean isUserCreated();
scriptEvent void setLocation( float index, vector position );
scriptEvent void setWayPointState( float index, boolean state );
scriptEvent string getKey( string key );
scriptEvent float getIntKey( string key );
scriptEvent float getFloatKey( string key );
scriptEvent vector getVectorKey( string key );
scriptEvent entity getEntityKey( string key );
scriptEvent string getKeyWithDefault( string key, string defaultValue );
scriptEvent float getIntKeyWithDefault( string key, float defaultValue );
scriptEvent float getFloatKeyWithDefault( string key, float defaultValue );
scriptEvent vector getVectorKeyWithDefault( string key, vector defaultValue );
scriptEvent void giveObjectiveProficiency( float count, string reason );
scriptEvent void flashWorldIcon( float time );
/***********************************************************************
teleporters
***********************************************************************/
scriptEvent void enableTeam( string name );
scriptEvent void disableTeam( string name );
/***********************************************************************
repair drone
***********************************************************************/
scriptEvent void setTargetPosition( vector newOrigin, float timeDelta );
scriptEvent void setEffectOrigins( vector start, vector end, boolean active );
scriptEvent void setEntities( entity repair, entity owner );
scriptEvent entity getRepairTarget();
scriptEvent entity getOwnerEntity();
scriptEvent void hideThrusters();
/***********************************************************************
parachute
***********************************************************************/
scriptEvent void setOwner( entity owner );
scriptEvent void setDeployStart( float t );
scriptEvent boolean isMovingTooSlow();
/***********************************************************************
***********************************************************************/
scriptEvent void setForceShieldState( boolean v, entity p );
/***********************************************************************
mask edit session
***********************************************************************/
scriptEvent void openMask( string maskName );
scriptEvent void updateProjection( vector position );
scriptEvent void setDecalMaterial( string materialName );
scriptEvent void setStampSize( float size );
scriptEvent boolean stamp( vector position, boolean save, boolean state );
scriptEvent void saveAll();
/***********************************************************************
cvar
***********************************************************************/
scriptEvent float getFloatValue();
scriptEvent string getStringValue();
scriptEvent float getIntValue();
scriptEvent boolean getBoolValue();
scriptEvent vector getVectorValue();
scriptEvent void setFloatValue( float value );
scriptEvent void setStringValue( string value );
scriptEvent void setIntValue( float value );
scriptEvent void setBoolValue( boolean value );
scriptEvent void setVectorValue( vector value );
scriptEvent void setCallback( string value );
/***********************************************************************
defence turrets
***********************************************************************/
scriptEvent void setDisabled( boolean value );
scriptEvent boolean isDisabled();
scriptEvent vector getTargetPosition( entity other );
scriptEvent entity getEnemy();
scriptEvent void setTurretEnemy( entity other, float turnDelay );
/***********************************************************************
delivery vehicles
***********************************************************************/
scriptEvent void startJotunDelivery( float startTime, float pathSpeed, float leadTime );
scriptEvent void startJotunReturn( float startTime, float pathSpeed, float leadTime );
scriptEvent void startMagogDelivery( float startTime, float pathSpeed, float leadTime, vector endPoint, float itemRotation );
scriptEvent void startMagogReturn( float startTime, float pathSpeed, float leadTime, vector endPoint );
/***********************************************************************
Virtual Functions
***********************************************************************/
virtual void vArm( entity p );
virtual void vHack( entity p );
virtual void vPossess( entity p );
virtual void vOnShowOverlay( entity p );
virtual void vOnHideOverlay( entity p, entity mcp );
virtual void vOnDeploy();
virtual void vOnUnDeploy();
virtual void vDoneDeploy();
virtual void vSetManualDeploy();
virtual void vSetDeploymentParms( float deploymentItemIndex, float playerIndex, vector target, float rotation );
virtual void vApplyEmpDamage( entity attacker, float time, float weaponTime );
virtual void vSetTargetEntity( entity other );
virtual void vSetParent( entity p );
virtual void vSetOwner( entity o );
virtual entity vGetOwner();
virtual void vConstruct( entity p );
virtual void vSetConstructionState( float newState );
virtual void vLock();
virtual void vUnlock();
virtual void vRepair( float count, entity p );
virtual vector vGetLastRepairOrigin();
virtual void vDismantle( entity p );
virtual boolean vCustomOrbitRadius();
virtual float vGetOrbitRadius();
virtual boolean vOrbitUnderneath();
virtual boolean vRepairDroneIgnoreHidden();
// used by vehicles to indicate they need repaired, landmines that need armed, etc
virtual boolean vCheckActionCode( entity p, float actionCode );
virtual void vOnCaptured( entity p );
virtual entity vGetCurrentTarget();
virtual void vSetNewTarget( entity newTarget );
virtual void vTargetLockAlarm( entity other );
virtual void vStopTargetLockAlarm( entity other );
virtual void vTargetLockAttack( entity other );
virtual float vGetTargetLockCount();
virtual float vGetTargetLockCountBasedefence();
virtual boolean vTargetLockDisabled();
virtual boolean vNeedsRevive( entity p );
virtual boolean vRevive( entity p, float healthScale );
virtual boolean vShouldCreateSpawnHost( entity p );
virtual void vForceRespawn();
virtual boolean vCreateSpawnHost( entity other, string hostName );
virtual void vSetSpawnHostSpawned();
virtual float vGetPliersProgressBarValue( float action ); // range [0,1]
virtual boolean vTargetPlayerEligible( entity p );
virtual boolean vTargetGetValid( vector pos );
virtual void vTargetSetTarget( vector targetPos, entity targetEnt );
virtual void vFinishObjective();
virtual void vStartObjective();
virtual boolean vIsDeployed();
virtual void vStartMagogDrop();
virtual entity vGetDeployableOwner();
virtual void vSetDeployableOwner( entity other );
virtual boolean vIgnoreMagogCollsion();
virtual void vSetCurrentObjective( float objectiveIndex );
virtual void vObjectiveSuccess( float objectiveIndex, object team );
virtual void vHideNormalChargeBar( boolean h );
virtual entity vGetCarrier();
virtual entity vGetItem();
virtual void vOnItemDeployed( float itemIndex, entity item );
virtual void vMakeSticky( entity collisionEnt, vector collisionNormal, string surfaceType, boolean allowTripmine, string joint );
virtual boolean vChargePlaced( entity charge, entity other );
virtual void vChargeExploded( entity charge, entity other );
virtual void vChargeDisarmed( entity charge, entity other );
virtual void vBomberAttack( vector target, vector attackDir, float attackHeight, entity attacker );
virtual void vActivateTeleportation();
virtual void vCancelTeleportation();
virtual boolean vIsTeleporting();
virtual void vSetCharge( float amount );
virtual boolean vSelectActionItem( float code );
virtual boolean vHasActionItem( float code );
virtual string vGetActionItem( float code );
virtual string vGetActionIcon( float code );
virtual float vGetSteerScale();
virtual void vSetActive( boolean a );
virtual void vSetConstructed( boolean a );
virtual void vSetState( float newState );
virtual void vOnPassengerPain( entity inflictor, entity attacker, float damage, vector direction, float location );
virtual boolean vFireScud( entity firer, entity target );
virtual void vSetDelay( float time );
virtual void vOnVehicleDestroyed();
virtual void vSetDeployer( entity other );
virtual void vSetScopeState( boolean up );
virtual void vCheckProficiency();
virtual void vOnTargetDestroyed();
virtual boolean vTriggerTripmine();
virtual float vGetMineCreationTime();
virtual void vForceStayOpen( boolean force );
virtual void vCancelFire();
virtual void vCancelDeployForPlayer( float playerIndex );
virtual target_marker vCreateTargetMarker();
virtual boolean vIsDestructibleObjective();
virtual void vOnBindMasterDestroyed();
virtual void vBindToEntity( entity ent );
virtual boolean vSkipDeployDrop();
virtual void vOnContextKill( entity p );
virtual void vOnContextRepair( entity p );
virtual void vOnContextSpawnHost( entity p );
virtual void vOnContextDisarm( entity p );
virtual void vOnContextDestroy( entity p );
virtual void vOnContextNeedPassenger( entity p );
virtual void vOnContextConstruct( entity p );
virtual void vOnContextDefend( entity p );
virtual void vOnContextHack( entity p );
virtual void vOnRemovePlayersKillTask( entity p );
virtual void vMakePrimaryObjective( boolean value );
virtual float vGetFuseRemaining();
virtual float vGetFuseLength();
virtual void vSetDestroyed();
virtual boolean vGetDestroyed();
virtual boolean vDisablePlantCharge();
virtual boolean vGetIsSelfArm();
virtual void vSetSpotTime( float time );
virtual void vStartRegenThread();
virtual void vStartBoundsKillThread();
virtual void vCallDrop( vector location, vector angles );
virtual void vSetGoalMarker( entity _goalMarker );
virtual void vSetPathTargets( vector start, vector end );
virtual void vSetObjectiveString( string message );
virtual string vGetObjectiveString();
virtual void vSetObjectiveReminderTime( float time );
virtual float vGetDestroyProficiency();
virtual float vGetDisarmProficiency();
virtual void vGiveSpotProficiency();
virtual void vOnSpawnWavePassed();
virtual void vOnLocalTeamChanged();
virtual void vOnLocalMapRestart();
virtual void vOnEndGame();
virtual void vCreateMission();
virtual void vFreeMission();
virtual void vCompleteMission();
virtual void vCompleteSubMission( entity other );
virtual void vInitDefendMission( object missionTask );
virtual void vRemoveObject();
virtual boolean vDisablePlant();
virtual void vTriggerParticleEffect( float index );
virtual void vOnPlayerKilled( entity p );
virtual boolean vIsSupplyDrop();
virtual float vGetSupplyDropCreationTime();
virtual entity vGetCarryableItem();
virtual string vGetQuickChatString( entity p );
virtual void vCancel();
virtual float vGetVehicleCredit();
virtual void vUseVehicleCredit( float fraction );
virtual float vGetFireSupportMode();
virtual float vGetTimerState();
virtual float vGetFiringStatus( object traceObject );
virtual void vUpdateFiringStatusObject( entity localPlayer );
virtual void vDelayDeployment( float delay );
virtual void vOnCockpitCreated();
virtual void vOnCockpitDestroyed();
virtual void vPlayFFWarning( string sound, float nextPlayTime );
virtual void vSetBody( entity body );
virtual boolean vIsPrimaryObjective();
virtual boolean vBlockVehicleSpawn();
virtual float vGetTransmitProgress();
virtual boolean vDropItemTrace( vector tStart, vector tEnd, entity passEntity, vector targetPos );
virtual boolean vAllowDrop();
virtual float vGetChargeTime();
virtual void vCaptured();
virtual boolean vInhibitStats();
virtual boolean vDecayBody();
virtual entity vGetSpectateEntity();
virtual boolean vIsObjectiveComplete();