Difference between revisions of "Character Script External Code"
From Wolfire Games Wiki
(→Constants) |
|||
Line 19: | Line 19: | ||
== Constants == | == Constants == | ||
− | <pre style="white-space: pre-wrap;">enum AnimationFlags : uint8;</pre> | + | <pre style="white-space: pre-wrap;">enum AnimationFlags : uint8 { |
− | <pre style="white-space: pre-wrap;">enum AttackerDirectionType : int;</pre> | + | _ANM_FROM_START, |
− | <pre style="white-space: pre-wrap;">enum AttackerHeightType : int;</pre> | + | _ANM_MIRRORED, |
− | <pre style="white-space: pre-wrap;">enum CollisionSides;</pre> | + | _ANM_MOBILE, |
− | <pre style="white-space: pre-wrap;">enum NavPathFlag;</pre> | + | _ANM_SUPER_MOBILE, |
− | <pre style="white-space: pre-wrap;">enum SamplePolyFlag;</pre> | + | _ANM_SWAP, |
+ | };</pre> | ||
+ | <pre style="white-space: pre-wrap;">enum AttackerDirectionType : int { | ||
+ | _front, | ||
+ | _left, | ||
+ | _right, | ||
+ | };</pre> | ||
+ | <pre style="white-space: pre-wrap;">enum AttackerHeightType : int { | ||
+ | _high, | ||
+ | _low, | ||
+ | _medium, | ||
+ | };</pre> | ||
+ | <pre style="white-space: pre-wrap;">enum CollisionSides { | ||
+ | DOUBLE_SIDED, | ||
+ | SINGLE_SIDED, | ||
+ | };</pre> | ||
+ | <pre style="white-space: pre-wrap;">enum NavPathFlag { | ||
+ | DT_STRAIGHTPATH_START, | ||
+ | DT_STRAIGHTPATH_END, | ||
+ | DT_STRAIGHTPATH_OFFMESH_CONNECTION, | ||
+ | };</pre> | ||
+ | <pre style="white-space: pre-wrap;">enum SamplePolyFlag { | ||
+ | POLYFLAGS_NONE, | ||
+ | POLYFLAGS_WALK, | ||
+ | POLYFLAGS_SWIM, | ||
+ | POLYFLAGS_DOOR, | ||
+ | POLYFLAGS_JUMP1, | ||
+ | POLYFLAGS_JUMP2, | ||
+ | POLYFLAGS_JUMP3, | ||
+ | POLYFLAGS_JUMP4, | ||
+ | POLYFLAGS_JUMP5, | ||
+ | POLYFLAGS_JUMP_ALL, | ||
+ | POLYFLAGS_DISABLED, | ||
+ | POLYFLAGS_ALL, | ||
+ | };</pre> | ||
== Global Functions == | == Global Functions == |
Revision as of 12:21, 4 November 2017
This is a list of the external code that is only available to be used inside a character script - variables, functions, and classes that "magically" exist.
To see a list of external code that is available to all scripts, please see this page - Common Script External Code
This list is pulled from the ~/Documents/Wolfire/Overgrowth/aschar_docs.h file, which is automatically generated by the game.
See this page to find the location for the Wolfire/Overgrowth folder on each OS - How to clear the game's cache
TODO: These can be documented individually, possibly on their own pages
Global Variables
ASCollisions col; // Used to access collision functions
ScriptParams params;
ReactionScriptGetter reaction_getter;
SphereCollision sphere_col; // Stores results of collision functions
MovementObject this_mo;
Constants
enum AnimationFlags : uint8 { _ANM_FROM_START, _ANM_MIRRORED, _ANM_MOBILE, _ANM_SUPER_MOBILE, _ANM_SWAP, };
enum AttackerDirectionType : int { _front, _left, _right, };
enum AttackerHeightType : int { _high, _low, _medium, };
enum CollisionSides { DOUBLE_SIDED, SINGLE_SIDED, };
enum NavPathFlag { DT_STRAIGHTPATH_START, DT_STRAIGHTPATH_END, DT_STRAIGHTPATH_OFFMESH_CONNECTION, };
enum SamplePolyFlag { POLYFLAGS_NONE, POLYFLAGS_WALK, POLYFLAGS_SWIM, POLYFLAGS_DOOR, POLYFLAGS_JUMP1, POLYFLAGS_JUMP2, POLYFLAGS_JUMP3, POLYFLAGS_JUMP4, POLYFLAGS_JUMP5, POLYFLAGS_JUMP_ALL, POLYFLAGS_DISABLED, POLYFLAGS_ALL, };
Global Functions
float GetAnimationEventTime( string &in anim_path, string &in event_label );
NavPoint GetNavPoint(vec3);
vec3 GetNavPointPos(vec3);
NavPath GetPath(vec3 start, vec3 end);
NavPath GetPath(vec3 start, vec3 end, uint16 include_poly_flags, uint16 exclude_poly_flags);
vec3 LineLineIntersect(vec3 start_a, vec3 end_a, vec3 start_b, vec3 end_b); // Get closest point between two line segments
vec3 NavRaycast(vec3 start, vec3 end);
vec3 NavRaycastSlide(vec3 start, vec3 end, int depth);
Classes
class ASCollisions;
class AttackScriptGetter;
class CollisionPoint;
class NavPath;
class NavPoint;
class ReactionScriptGetter;
class SphereCollision;