BehemothProgrammer

TurokEX Script API

Nov 7th, 2017 (edited)
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 37.41 KB | None | 0 0
  1. //------------------------------------------------------------------------------------------------------------------------
  2. | Execution Order of ScriptObject Events:
  3. //------------------------------------------------------------------------------------------------------------------------
  4. .ctor               <-- (actor properties from def are assigned here and Origin, Yaw and SectorIndex are set here)
  5. ---
  6. OnSpawn
  7. OnBeginLevel        <--- (ALL actor properties from map are not setup until this point)
  8. OnRestore
  9. *Map Script 0       <--- (Called on PlayLoop tick 0)
  10. OnPostBeginLevel
  11.     (*Note: Any spawned actor created after each of these events will not be called for that spawned actor.
  12.             If spawned before/during then it will/might be called.)
  13. ---
  14. OnSleep
  15. OnWake
  16. OnTouch
  17. OnCollide
  18. OnTick              <--- called only when awake
  19. ---
  20. OnActivate          <--- called immediately after World.TriggerActorsByTID and when player enters event sector area only if AF_ACTIVATED is Off
  21. ---
  22. OnDeath             <--- called only when actor dies. The actors Target TID is automatically used to trigger actors at this point.
  23. OnDamage            <--- always called when damaged even after death
  24. ---
  25. OnEndLevel          <--- Can not call any map scripts at this point
  26.    
  27. ScriptObject
  28. void OnSpawn() - Required for all ScriptObject
  29. void OnBeginLevel()
  30. void OnRestore()
  31. void OnPostBeginLevel()
  32. void OnSleep()
  33. void OnWake()
  34. void OnTouch(kActor @theActorThatTouchedMe) //called even if alseep
  35. void OnCollide(kCModel@) //called even if alseep
  36. void OnTick() - Required for all ScriptObject
  37. void OnActivate()
  38. void OnDeactivate() //Never used
  39. void OnDeath(kActor @killer, kDictMem @damageDef) //called only when actor dies
  40. void OnDamage(kActor @instigator, kDictMem @damageDef, const int damage) //always called even after death
  41. void OnEndLevel()
  42.  
  43. ScriptObjectWeapon
  44. void OnBeginFire()
  45. void OnFire()
  46. void OnEndFire()
  47. void OnLower()
  48. void OnRaise()
  49. void OnHoldster()
  50.  
  51. ScriptObjectPlayer
  52. void OnPickup(kActor @pickup)
  53. void OnArmorDamage(kActor @instigator, kDictMem @damageDef, const int damage)
  54. void OnEnterWater()
  55.  
  56. kAnimState
  57. void Blend(const int animID, float speed, float blend, int AnimStateFlags)
  58. void Set(const int animID, float speed, int AnimStateFlags)
  59. const int CurrentFrame(void)
  60. const int NumFrames(void)
  61. const float PlayTime(void)
  62. const float TrackTime(void)
  63. bool IsPlaying(const int animID)
  64. bool CheckAnimID(const int animID) - checks if animID exists
  65. const int PlayingID(void)
  66. void Stop(void)
  67. void Pause(void)
  68. void Resume(void)
  69. const bool Stopped(void)
  70. const bool Blending(void)
  71. const bool Looping(void)
  72. const bool CycleCompleted(void)
  73. void ChangeSpeed(const float speed)
  74. void SetLastFrame(const bool execActions = false) //if execActions is true, runs all key frame actions in the animation
  75.  
  76. kRenderModel
  77. void SetModel(const kStr &in modelPath, const kStr &in modelAnimPath)
  78. void SetRotationOffset(const int nodeIndex, const float rads, const float x, const float y, const float z)
  79. void SetRotationOffset(const int nodeIndex, const kQuat &in rotation)
  80. void SetTexture(const int section, const int textureID)
  81. void SetVisibility(const int node, const bool visible)
  82. void HideSection(const int node, const int section, const bool hide)
  83. void AddTrailEffect(const kStr &in trailName, const int nodeIndex)
  84. void RemoveTrailEffect(void) //removes all trail effects
  85. const int GetNumAttachedTrails(void)
  86. kVec3 &Offset(void)
  87.  
  88. kScriptObject
  89. ref &obj;
  90.  
  91. kActor, kPuppet, kWeapon, kAI
  92. const bool IsStale() - Is the object removed
  93. kAngle &Yaw()
  94. kAngle &Pitch()
  95. kAngle &Roll()
  96. kVec3 &Origin()
  97. kVec3 &Scale()
  98. kVec3 &PrevOrigin()
  99. void SetTarget(kActor@)
  100. kActor @GetTarget(void)
  101. void SetSector(const uint sectorIndex)
  102. void Remove(void)
  103. kVec3 &Velocity(void)
  104. kVec3 &Movement(void)
  105. kQuat &Rotation(void)
  106. int16 &Health(void)
  107. int &Type(void)
  108. int &ImpactType(void)
  109. int &ModelVariation(void)
  110. uint &Flags(void)
  111. const uint SpawnFlags1(void)
  112. const uint SpawnFlags2(void)
  113. const uint SpawnFlags3(void)
  114. const int TID(void)
  115. float &Radius(void)
  116. float &Height(void)
  117. float &StepHeight(void)
  118. float &WallRadius(void)
  119. float &Gravity(void)
  120. float &Friction(void)
  121. float &AnimSpeed(void)
  122. float &BounceDamp(void)
  123. float &FloorHeight(void)
  124. float &CeilingHeight(void)
  125. const int SectorIndex(void)
  126. const int AreaID(void)
  127. bool InstanceOf(const kStr &in className)
  128. void PlaySound(const kStr &in soundPath)
  129. void PlaySoundWithLookupID(const int soundID)
  130. void StopSound(void)
  131. void StopLoopingSounds(void)
  132. const int GameTicks(void)
  133. kAnimState &AnimState(void)
  134. kRenderModel @RenderModel(void)
  135. const bool InWater(void)
  136. bool CheckPosition(const kVec3 &in location) //checks if the actor can move to this location
  137. bool CheckPosition(const float angle, const float distance) //call CheckPosition(kVec3 location) with location being: Actor.Origin() + (angle*distance*actor.Radius())
  138. float GetTurnYaw(const kVec3 &in lookAtLocation)
  139. float GetAvoidanceAngle(const kVec3 &in lookAtLocation, const float distance)
  140. const float GetWaterHeight(void)
  141. const bool CanSee(kActor@ actor, const uint excludeClipFlags = 0) //excludeClipFlags to ignore/disable
  142. uint &ClipFlags(void)
  143. kDictMem @Definition(void)
  144. bool OnGround(void)
  145. const int GetWaterLevel(void)
  146. kActor @CastToActor(void)
  147. kAI @CastToAI(void)
  148. void SpawnProjectile(const kStr &in fxPath, const kVec3 &in location, const kVec3 &in targetLocation, const float maxAngle)
  149. void MeleeObject(const kStr &in damageType, const kVec3 &in offset, const float radius)
  150. void SpawnFx(const kStr &in fxPath, const kVec3 &in position)
  151. void SpawnFx(const kStr &in fxPath, const kVec3 &in position, const kQuat &in rotation)
  152. kVec3 GetTransformedVector(const kVec3 &in vector)
  153. float DistanceToPoint(const kVec3 &in point) //calls DistanceToPoint(x,y,z)
  154. float DistanceToPoint(const float x, const float y, const float z) //actors point is in the center
  155. void InflictGenericDamage(kActor@ inflictor, const int damage)
  156. void InteractActorsAtPosition(const kVec3 &in pos, const kStr &in callbackFunc, const float arg1 = 0, const float arg2 = 0, const float arg3 = 0, const float arg4 = 0)
  157. kScriptObject @ScriptObject(void)
  158. void MoveToPosition(const float x, const float y)
  159. bool RandomDecision(const int randomBit)
  160. void SetPosition(const kVec3 &in position)
  161. const int16 SpawnParams(const int paramID)
  162.     //(0) Target ID -32768..32767
  163.     //(1) Trigger Anim 0..255
  164.     //(2) Health -32768..32767
  165.     //(3) Max Regenerations -32768..32767
  166.     //(4) Attach Chance 0..255
  167.     //(5) Texture -128..127
  168.     //(6) Params 2 -128..127
  169.     //(7) Params 1 -128..127
  170. const float GetCeilingHeight(void)
  171. const float GetFloorHeight(void)
  172. void RunFxEvent(const kStr &in fxEventName)
  173. const int GetSectorIndexAtLocation(const kVec3 &in position, uint excludeClipFlags = 0)
  174. void MarkPersistentBit(const bool clear)
  175. const bool IsPersistentMarked(void)
  176. void SetHeadTrackTarget(kActor@ actor)
  177. kVec3 TransformToOwnerPosition(void)
  178. kVec3 TransformToOwnerPosition(const kVec3 &in vector)
  179. void FireProjectile(const kStr &in fxPath, const float x, const float y, const float z, const bool adjustToPerspective = false)
  180. const bool CanSee(kPuppet@ puppet, const uint excludeClipFlags = 0)
  181. float &ViewHeight(void)
  182. float &RecoilPitch(void)
  183. const float LandingViewOffset(void)
  184. uint &PlayerFlags(void)
  185. void QuietNoiseAlert(void)
  186. void LoudNoiseAlert(void)
  187.  
  188. kAI
  189. uint &AIFlags(void)
  190.  
  191. EnumAnimStateFlags
  192. ANF_BLEND = 1
  193. ANF_LOOP = 2
  194. ANF_STOPPED = 4
  195. ANF_NOINTERRUPT = 8
  196. ANF_ROOTMOTION = 16
  197. ANF_PAUSED = 32
  198. ANF_CYCLECOMPLETED = 64
  199. ANF_LINEARBLEND = 128
  200.  
  201. EnumActorFlags
  202. AF_SOLID               = (1 << 0)  // can be collided
  203. AF_DORMANT             = (1 << 1)  // if on then is asleep (won't be updated onTick) else is awake
  204. AF_SNAPTOFLOOR         = (1 << 2)  // adjust z-axis to floor on spawn
  205. AF_CLIMBWALLS          = (1 << 3)  // allows entering of wall sectors
  206. AF_WOUNDEDMORTALLY     = (1 << 4)  // special case for spawning special items
  207. AF_CASTSHADOW          = (1 << 5)  //
  208. AF_TRIGGERSTUFF        = (1 << 6)  // allow triggering of event sectors
  209. AF_HIDDEN              = (1 << 7)  // don't draw but continue updating. can't be collided
  210. AF_ACTIVATED           = (1 << 8)  // was triggered
  211. AF_DISABLED            = (1 << 9)  // don't update animations
  212. AF_ENTEREDAREAEVENT    = (1 << 10) // just entered a trigger sector
  213. AF_REMOVEONCOMPLETION  = (1 << 11) // remove after finishing a special animation
  214. AF_NOBLOOD             = (1 << 12) //
  215. AF_AVOIDWATER          = (1 << 13) // clip against edges linking to water sectors
  216. AF_FLOATINWATERONDEATH = (1 << 14) // rise to the surface while dead
  217. AF_DEAD                = (1 << 15) // actor is dead
  218. AF_STATIONARY          = (1 << 16) // sniper
  219. AF_ALIGNTOFLOOR        = (1 << 17) // rotate along slopes
  220. AF_NODRAW              = (1 << 18) //
  221. AF_NONSHOOTABLE        = (1 << 19) //
  222. AF_FULLVOLUME          = (1 << 20) // all sounds coming from this actor will be heard at full volume
  223. AF_CANBETOUCHED        = (1 << 21) // allow invoking the OnTouch callback
  224. AF_IGNORESOUNDEVENTS   = (1 << 22)
  225. AF_TRIGGERANIMATION    = (1 << 23) // play special animation on trigger/spawn
  226. AF_HOLDTRIGGERANIM     = (1 << 24) // pause special animation until triggered (is also invincible)
  227. AF_TRIGGERNAIMDELAY    = (1 << 25) // delay a bit before starting special animation
  228. AF_STAYINWATER         = (1 << 26) // can't exit water sectors
  229. AF_ALWAYSACTIVE        = (1 << 27) // never sleep or go dormant
  230. AF_COLLIDEDWITHWALL    = (1 << 28) // collided with an edge. cleared at every OnTick call
  231. AF_INVINCIBLE          = (1 << 29) //OnDamage and OnDeath are never called
  232. AF_ALLOWTINYENEMYCHEAT = (1 << 30)
  233. AF_NOMOVEMENT          = (1 << 31) // will not do collision movement
  234.  
  235. EnumPlayerFlags
  236. PF_NOCLIP = 1
  237. PF_FLY = 2
  238. PF_DEAD = 4
  239. PF_GOD = 8
  240. PF_JUMPING = 16
  241. PF_HASJUMPED = 32
  242. PF_INWARPAREA = 64
  243. PF_CLIMBTHRUST = 128
  244. PF_NOAIRFRICTION = 256
  245. PF_CRAWLING = 512
  246. PF_PREVENTDEATHCAM = 1024
  247. PF_FIREDPROJECTILE = 2048
  248. PF_DEATHPITFALL = 4096
  249.  
  250. EnumAIFlags
  251. AIF_ATTACKING = (1 << 0), //Already defined // playing an attacking animation
  252. AIF_WASSOLID = (1 << 1), //Already defined
  253. AIF_FIRSTATTACK = (1 << 2),
  254. AIF_HEARDLOUDNOISE = (1 << 3),
  255. AIF_BLOWNAWAY = (1 << 4), //Already defined // being blown away by explosion
  256. AIF_GOBACKTOLEASH = (1 << 5),
  257. AIF_RESURRECT = (1 << 6),
  258. AIF_FEIGNDEATH = (1 << 7),
  259. AIF_REGENERATE = (1 << 8),
  260. AIF_SEETARGET = (1 << 9),
  261. AIF_NOCHASE = (1 << 10), //Already defined // disable chase logic
  262. AIF_REGENERATEANIM = (1 << 11),
  263. AIF_NOTHINK = (1 << 12), //Already defined // don't run ai logic
  264. AIF_RUNNING = (1 << 13), //Already defined // Is playing running animation
  265. AIF_GETATTENTION = (1 << 14),
  266. AIF_REGENANIMDELAY = (1 << 15),
  267. AIF_HEARDQUIETNOISE = (1 << 16),
  268. AIF_AWAYFROMLEASH = (1 << 17),
  269. AIF_TELEPORTAWAY = (1 << 18), // playing teleport out animation
  270. AIF_TELEPORTMOVESLOW = (1 << 19), // chasing while underground
  271. AIF_TELEPORTING = (1 << 20), //Already defined // in teleport state. ignore all chase logic
  272. AIF_TELEPORTIN = (1 << 21), // playing teleport in animation
  273. AIF_WAITFORCYCLE = (1 << 22), // prevent other animations from interrupting until the current one finishes
  274. AIF_DAMAGEPANIC = (1 << 23) // become aggressive when target is outside it's active threshold (good for forcing AI to attack their target)
  275.  
  276. EnumImpactType
  277. IT_DEFAULT
  278. IT_WATER
  279. IT_METAL
  280. IT_STONE
  281. IT_FLESH_HUMAN
  282. IT_FLESH_CREATURE
  283. IT_FLESH_UNDEAD //AKA IT_FLESH_WATER
  284. IT_LAVA
  285. IT_SLIME
  286. IT_FORCEFIELD
  287.  
  288. kDict
  289. void Add(const kStr &in, const kStr &in)
  290. void Empty(void)
  291. void SetValue(const kStr &in, const kStr &in)
  292. const bool HasKey(const kStr &in)
  293. bool GetFloat(const kStr &in, float &out, const float defaultValue = 0)
  294. bool GetInt(const kStr &in, int &out, const int defaultValue = 0)
  295. bool GetBool(const kStr &in, bool &out, const bool defaultValue = false)
  296. bool GetString(const kStr &in, kStr &out)
  297. bool GetVector(const kStr &in, kVec3 &out)
  298.  
  299. kDictMem
  300. bool GetFloat(const kStr &in, float &out, const float defaultValue = 0)
  301. bool GetInt(const kStr &in, int &out, const int defaultValue = 0)
  302. bool GetBool(const kStr &in, bool &out, const bool defaultValue = false)
  303. bool GetString(const kStr &in, kStr &out)
  304. bool GetVector(const kStr &in, kVec3 &out)
  305.  
  306. kSelectionListInt
  307. void AddItem(int item, const int weight)
  308. int& Select(const bool useSystemRand = false)
  309. void Reset(void)
  310. const uint GetNumEntries(void)
  311. &opAssign(const kSelectionListInt &in otherSelectionListInt)
  312.  
  313. kSelectionListFloat
  314. &opAssign(const kSelectionListFloat &in otherSelectionListFloat)
  315.  
  316. GameVariables
  317. void GetInt(const kStr &in, int &out, int defaultValue = 0);
  318. void GetFloat(const kStr &in, float &out, float defaultValue = 0.0f);
  319. void GetBool(const kStr &in, bool &out, bool defaultValue = false);
  320. void GetVector(const kStr &in, kVec3 &out);
  321. void SetValue(const kStr &in, const kStr &in);
  322.  
  323. Game
  324. void StartTimer(void)
  325. void StopTimer(void)
  326. void RemoveTimer(void)
  327. void CallDelayedMapScript(const kStr &in funcName, kActor @instigator, const float delay)
  328. void CallDelayedMapScript(const int scriptID, kActor @instigator, const float delay)
  329. void HaltMapScript(const int scriptID)
  330. void PlayMusic(const kStr &in path, const bool loop)
  331. void StopMusic(void)
  332. void Restart(void)
  333. void PrintLine(const kStr &in text, const int lineNumber, const int visibleFrameTime = 120)
  334. void PrintHelp(const kStr &in localizedKey, const bool endGame = false)
  335. void ChangeMap(const kStr &in path)
  336. void ShowMainMenu(void)
  337. const int GetMapNumberFromName(const kStr &in mapName)
  338. const int GetCurrentMapID(void)
  339. const int GetDifficulty(void) //calls gameVariables.GetInt("g_difficulty")
  340. bool GetHubKeyInfo(const uint hubID, int &out nKeys, int &out remainingKeys, int &out keyBits)
  341. void SpawnFx(const kStr &in fxPath, kActor@ source, const kVec3 &in velocity, const kVec3 &in origin, const kQuat &in rotation)
  342. void SpawnFx(const kStr &in fxPath, kPuppet@ source, const kVec3 &in velocity, const kVec3 &in origin, const kQuat &in rotation)
  343. void SpawnFx(const kStr &in fxPath, kActor@ source, const kVec3 &in origin, const kQuat &in rotation)
  344. void SpawnFx(const kStr &in fxPath, kPuppet@ source, const kVec3 &in origin, const kQuat &in rotation)
  345. void SpawnFx(const kStr &in fxPath, kActor@ source, const kVec3 &in origin, const float yaw, const float pitch)
  346. void SpawnFx(const kStr &in fxPath, kPuppet@ source, const kVec3 &in origin, const float yaw, const float pitch)
  347. void SpawnFx(const kStr &in fxPath, const kVec3 &in origin, const int sectorIndex)
  348. kStr GetLocalizedText(const kStr &in key)
  349.  
  350. ActorFactory
  351. kActor@ Spawn(const int actorID, const float x, const float y, const float z, const float yaw, const int sector = -1)
  352. kActor@ Spawn(const kStr &in actorName, const float x, const float y, const float z, const float yaw, const int sector = -1)
  353.  
  354. PlayLoop
  355. const int Ticks(void)
  356. const void TagActorForBossBar(kActor@ actor)
  357. void RemoveBossActor(void)
  358. void CheckKeys(void)
  359. void StartWarp(kActor@, const int tagID, const int mapID)
  360. void StartFreeWarp(kActor@, const kVec3 &in origin, const float yaw, const int sectorID, const int mapID)
  361. void HandlePlayerDeath(const bool loseLife = true)
  362.  
  363. Player
  364. const uint16 Buttons(void)
  365. const kPuppet @Actor(void)
  366. void ConsumeAmmo(const int ammo)
  367. const int GetAmmo(const int weaponID)
  368. const int GetAltAmmo(const int weaponID)
  369. const bool HasAmmo(const int weaponID)
  370. const bool HasAltAmmo(const int weaponID)
  371. const bool HasAltAmmo(void)
  372. const bool HasWeapon(const int weaponID)
  373. const int CurrentWeapon(void)
  374. const bool GiveWeapon(const int weaponID, const int ammo) // returns true if gave ammo else returns false because already has full primary ammo
  375. void Lock(void)
  376. void Unlock(void)
  377. int16 &Armor(void)
  378. void Victory(const int warpActorID = -1, const int mapID = -1)
  379. const bool Locked(void)
  380. const kPlayer &Owner(void)
  381.  
  382. Global Constants
  383. const float GAME_DELTA_TIME
  384. const float GAME_SCALE
  385. const float GAME_FRAME_TIME
  386. const float GAME_FRAME_UNIT
  387. const float GAME_SECONDS
  388.  
  389. Camera
  390. void StartCinematic(const uint EnumCameraFlags = 12)
  391. void StopCinematic(void)
  392. const int CinematicState(void)
  393. //0 = not in cinema
  394. //1 = fading out from player to start cinema
  395. //2 = fading in cinema
  396. //3 = playing cinema
  397. //4 = fading out cinema
  398. //5 = Fading in from cinema to player
  399. //6 = Resumng Game to player
  400. const void SetLookAtActor(kActor@ actor)
  401. void ClearLookAtActor(void)
  402. void SetRotateEyeVector(const kVec3 &in vector)
  403. void SetFinalView(const int view) //view must be un range 0..2
  404. void SetRotationTrack(const int trackID, const float startAngle, const float destAngle, const float startDistance, const float destDistance,
  405.                         const float startHeight = 0, const float destHeight = 0, const float startLookHeight = 0, const float destLookHeight = 0)
  406. void SetPositionTrack(const int trackID, const kVec3 &in startMovePoint, const kVec3 &in endMovePoint, const kVec3 &in startLookPoint, const kVec3 &in endLookPoint)
  407. void TweenPositionTrack(const int trackID, const float time)
  408. void TweenRotationTrack(const int trackID, const kVec3 &in, const float time)
  409. void AutoPlayPositionTrack(const int trackID, const float time, const int EnumCameraLerpType)
  410. void AutoPlayRotationTrack(const int trackID, const float time, const int EnumCameraLerpType)
  411. void AutoPlayBlendTrack(const int trackID, const int blendTrack1ID, const int blendTrack2ID, const float time, const int EnumCameraLerpType)
  412. void SetEyeView(const kVec3 &in position)
  413. void SetFocusView(const kVec3 &in position)
  414. void ZoomEyeViewToPosition(const kVec3 &in position, const float speed)
  415. void ZoomFocusViewToPosition(const kVec3 &in position, const float speed)
  416. kVec3 GetEyeView(void)
  417. kVec3 GetFocusView(void)
  418. void ClearFinalView(void)
  419. void ClearViewTracks(void)
  420. const bool UserInterrupted(void)
  421. const bool Active(void)
  422. const bool ViewingFromCamera(void)
  423. const kVec3 &Tremor(void)
  424. kVec3 origin
  425. kAngle yaw
  426. kAngle pitch
  427. kAngle roll
  428. float fov
  429. float lookZOffset
  430.  
  431. World
  432. kActor @GetActorByTID(const int tagID, const int typeFilter = -1) //if typeFilter is -1 checks any type otherwise only returns the actor of that type
  433. const bool TriggerActorsByTID(kActor@ typeFilter, const int tagID)
  434. void ChangeAreaFlag(const int areaID, const uint EnumAreaFlags, const bool active) //DO NOT USE
  435. void FloodFillAreaFlags(const int sectorIndex, const uint areaFlags, const bool active) //DO NOT USE
  436. void FloodFillAreaFlags(const kVec3 &in origin, const uint areaFlags, const bool active) //use this or
  437. void FloodMatchingAreaFlags(const int sectorIndex, const uint areaFlags, const bool active) //use this
  438. const uint GetAreaFlags(const int areaID)
  439. const void ChangeAreaWaterHeight(const int areaID, const float height)
  440. const int16 GetAreaArg(const int areaID, const int arg)
  441. const void ChangeAreaArg(const int areaID, const int arg, const int16 value)
  442.             // though args can be used for anything, they are typically used in this fashion:
  443.             //
  444.             // 0: warp ID
  445.             // 1: warp level ID or trigger sound ID
  446.             // 2: checkpoint ID
  447.             // 3: tag ID
  448.             // 4: floor damage hit points
  449.             // 5: floor damage rate
  450.            
  451.             //Hardcoded:
  452.             // 0: AAF_TELEPORT: WarpID
  453.             // 1: AAF_TELEPORT: WarpLevelID,  AAF_EVENT and AAF_EVENTSOUND: soundID to play when player enters sector
  454.             // 2: AAF_CHECKPOINT or AAF_SAVEGAME: CheckpointID
  455.             // 3: AAF_EVENT: tag ID
  456.             // 4: Not used
  457.             // 5: AAF_SECRET: the secret index value (set automatically when level loads starting at 0. Conflicts with AAF_DAMAGE (so I guess no secrets should be placed on damaga sectors))
  458.  
  459.             //Default Scripts:
  460.             // 0: Not used
  461.             // 1: Not used
  462.             // 2: Not used
  463.             // 3: Not used
  464.             // 4: AAF_DAMAGE: amount of damage to do to the player when they're on the ground
  465.             // 5: Always used as floor damage delay no matter the AAF flags. Should be used with AAF_DAMAGE only. 1 second = 1024
  466.            
  467.            
  468. void ChangeSectorHeight(const int sector, const float height)
  469.  
  470. kCModel
  471. kVec3 &InterceptVector(void) - Returns the vector that intersected the collided geometry
  472. kVec3 &ContactNormal(void) - Returns the normalized vector of the collided surface
  473. const float &Fraction(void) - returns the 0.0 - 1.0 range of the point of intersection from start to end trace. (If fraction is == 1.0 then no intersection occured.)
  474. const uint ClipResult(void) - specifies the type of intersection (flags)
  475. kActor @ContactActor(void) - handle pointer to actor that was collided (null if none was collided)
  476.  
  477. The kCModel(CModel) global stores collision results when certain actor methods are called. Those methods are as follows:
  478. GetSectorIndexAtLocation
  479. const bool CanSee(kActor@, const uint = 0)
  480. MoveToPosition
  481. SpawnProjectile
  482. bool CheckPosition(const kVec3 &in)
  483.  
  484. enum ClipResultFlags
  485. CRF_NOCOLLISION = 0,
  486. CRF_FLOOR = (1<<0), // made contact with a floor
  487. CRF_CEILING = (1<<1), // made contact with a ceiling
  488. CRF_WALL = (1<<2), // made contact with an edge (sector edge that isn't linked to another sector)
  489. CRF_OBJECT = (1<<3), // made contact with an actor
  490. CRF_MESH = (1<<4), // made contact with a static object
  491. CRF_ADJUST = (1<<5), // z-axis was adjusted (ceiling or floor)
  492. CRF_WALLRADIUS = (1<<6) // made contact with an edge during the wall radius collision test
  493.  
  494. EnumPlayerButtons
  495. BC_ATTACK
  496. BC_JUMP
  497. BC_FORWARD
  498. BC_BACKWARD
  499. BC_STRAFELEFT
  500. BC_STRAFERIGHT
  501. BC_WEAPONRIGHT
  502. BC_WEAPONLEFT
  503. BC_MAPZOOMIN
  504. BC_MAPZOOMOUT
  505.  
  506. EnumDifficulty
  507. DIFFICULTY_EASY
  508. DIFFICULTY_NORMAL
  509. DIFFICULTY_HARD
  510. DIFFICULTY_HARDCORE
  511.  
  512. EnumClipFlags
  513. CF_CLIPEDGES            = (1 << 0)  // clip movement against edges that don't link to sectors
  514. CF_IGNOREBLOCKERS       = (1 << 1)  // don't clip edges belonging to blocking sectors
  515. CF_DROPOFF              = (1 << 2)  // allows passing through platforms or ledges
  516. CF_NOENTERWATER         = (1 << 3)  // block all edges that links to a water sector
  517. CF_NOEXITWATER          = (1 << 4)  // block all edges that links to a non-water sector
  518. CF_NOCLIPSTATICS        = (1 << 5)  // don't collide with static models
  519. CF_NOCLIPACTORS         = (1 << 6)  // don't collide with dynamic objects/actors
  520. CF_WALKWALLS            = (1 << 7)  // don't restrict movement to steep slopes
  521. CF_COLLIDEFLOORS        = (1 << 8)  // project and clip movement against non-flat floors
  522. CF_HITSCAN              = (1 << 9)  // performs a single-pass trace. useful for hitscans
  523. CF_ALLOWCLIMB           = (1 << 10) // collide with sectors flagged as climbable
  524. CF_ALLOWCRAWL           = (1 << 11) // collide with sectors flagged as crawlable
  525. CF_NOSTEPDOWN           = (1 << 12) // don't clamp z-axis when walking down slopes
  526. CF_NOSLOPESTEP          = (1 << 13) // don't project z-axis movement along slopes
  527. CF_COLLIDEHEIGHT        = (1 << 14) // clip against ceilings
  528. CF_COLLIDECORPSES       = (1 << 15) // clip against actors flagged as dead
  529. CF_NOEXITWALLS          = (1 << 16) // clip all edges, regardless if they link to another sector or not
  530. CF_NOCOLLIDEFUNC        = (1 << 17) // don't invoke the OnCollide callback on the moving object
  531. CF_NOFLOORADJUST        = (1 << 18) // don't keep z-axis above floor plane
  532. CF_NOCEILINGADJUST      = (1 << 19) // don't keep z-axis below ceiling plane
  533. CF_COLLIDEWATER         = (1 << 20) // clip movement against the water surface
  534. CF_USEWALLRADIUS        = (1 << 21) // clip and project movement away from walls based on wall radius
  535. CF_NOCLIPTARGETACTORS   = (1 << 22) // don't clip actors that are targeted by moving object
  536. CF_COLLIDETRIGGERS      = (1 << 23) // block edges belonging to a trigger
  537. CF_STANDONOBJECTS       = (1 << 24) // allow vertical clipping of objects
  538. CF_GREASESLIDEOBJECTS   = (1 << 25) // always keep movement projected away from collided objects
  539. CF_ALLOWRESTRICTEDAREAS = (1 << 26) // don't collide with edges belonging to a restricted sector
  540. CF_COLLIDECLIFFS        = (1 << 27) // collide with non-walkable floors
  541. CF_CHECKLINKEDBRIDGES   = (1 << 28) // do extensive checks against overlapping bridge sectors
  542. CF_POLYCOLLISION        = (1 << 29) // clip movement against all model polygons of an object
  543.  
  544. EnumWaterLevel
  545. WLT_INVALID - Not in water area
  546. WLT_OVER - in water area and over the water height
  547. WLT_BETWEEN - in water area and floating above the water
  548. WLT_UNDER - in water area and under the water height
  549.  
  550. EnumCameraLerpType
  551. CMLT_NONE
  552. CMLT_LINEAR
  553. CMLT_LINEARLOOP
  554. CMLT_COSINE
  555. CMLT_COSINE_POW
  556.  
  557. EnumCameraFlags
  558. CMF_NO_INITIAL_FADEOUT = 1 << 0
  559. CMF_NO_LETTERBOX = 1 << 1
  560. CMF_LOCK_PLAYER = 1 << 2
  561. CMF_UNLOCK_PLAYER_ON_FINISH = 1 << 3
  562. CMF_INITIAL_FADEIN = 1 << 4
  563. CMF_SHOW_CREDITS = 1 << 5
  564. CMF_CHANGE_MAP_AFTER_FADE = 1 << 6
  565. CMF_SHOW_HIDDEN_OBJECTS = 1 << 7
  566.  
  567. uint EnumAreaFlags
  568. AAF_WATER = 1 << 0
  569. AAF_BLOCK = 1 << 1
  570. AAF_TOGGLE = 1 << 2
  571. AAF_CLIFF = 1 << 3
  572. AAF_CLIMB = 1 << 4
  573. AAF_ONESIDED = 1 << 5 //Bridge
  574. AAF_CEILING = 1 << 6
  575. AAF_CRAWL = 1 << 7
  576. AAF_ENTERCRAWL = 1 << 8
  577. AAF_HIDDEN = 1 << 9
  578. AAF_ENTERED = 1 << 10 //Not shown in Editor
  579. AAF_SECRET = 1 << 11 //not defined
  580. AAF_RESTRICTED = 1 << 12
  581. AAF_SLOPETEST = 1 << 13
  582. AAF_DEATHPIT = 1 << 14
  583. AAF_MAPPED = 1 << 15
  584. AAF_EVENT = 1 << 16
  585. AAF_REPEATABLE = 1 << 17
  586. AAF_TELEPORT = 1 << 18
  587. AAF_DAMAGE = 1 << 19
  588. AAF_DRAWSKY = 1 << 20
  589. AAF_TELEPORTAIR = 1 << 21
  590. AAF_LAVA = 1 << 22
  591. AAF_EVENTSOUND = 1 << 23
  592. AAF_ANTIGRAVITY = 1 << 24
  593. AAF_LADDER = 1 << 25
  594. AAF_CHECKPOINT = 1 << 26
  595. AAF_SAVEGAME = 1 << 27
  596. AAF_WARPRETURN = 1 << 28
  597. AAF_SHALLOWWATER = 1 << 29
  598. AAF_DRAWSUN = 1 << 30
  599. AAF_STOREWARPRETURN = uint(1 << 31) //not defined. Make it const uint instead of an enum which is always an int. Can also use 2147483648 or 0x80000000
  600.  
  601.  
  602. Math
  603. float Sin(float)
  604. float Cos(float)
  605. float Tan(float)
  606. float ATan2(float, float)
  607. float Fabs(float)
  608. float ACos(float)
  609. float Sqrt(float)
  610. int Abs(int)
  611. float Ceil(float)
  612. float Floor(float)
  613. float Log(float)
  614. float Pow(float, float)
  615. float Deg2Rad(float)
  616. float Rad2Deg(float)
  617. float InvSqrt(float)
  618. float IncMax(const float val, const float inc, const float dest) //returns val + inc and never goes above or below dest value
  619. int SysRand(void)
  620. int Rand(void)
  621. uint8 RandByte(void)
  622. int RandMax(const int) //exculsive
  623. float NLerp(const float, const float, const float)
  624. float RandFloat(void)
  625. float RandCFloat(void)
  626. float RandRange(const float, const float)
  627. void Clamp(float &out, const float, const float)
  628. float Lerp(float start, const float end, const float time)
  629. float CosTween(const float)
  630. float CosArc(const float)
  631. float pi
  632. kVec3 vecZero
  633.  
  634. kVec3
  635. void Contructor(float x, float y, float z)
  636. void Contructor(const kVec3 &in)
  637. kVec3 &Normalize(void)
  638. kVec3 Cross(const kVec3 &in)
  639. const float Dot(const kVec3 &in)
  640. const float Unit(void)
  641. const float UnitSq(void)
  642. const float Distance(const kVec3 &in)
  643. const float DistanceSq(const kVec3 &in)
  644. const kStr ToString(void)
  645. float ToYaw(void)
  646. float ToPitch(void)
  647. void Clear(void)
  648. void Set(const float, const float, const float)
  649. kVec3 Lerp(const kVec3 &in, const float)
  650. const kVec3 &Lerp(const kVec3 &in, const float)
  651. kVec3 &Randomize(const float)
  652. kVec3 &CubicCurve(const kVec3 &in end, const float time, const kVec3 &in point)
  653. kVec3 &QuadraticCurve(const kVec3 &in end, const float time, const kVec3 &in point1, const kVec3 &in point2)
  654. kVec3 opAdd(const kVec3 &in)
  655. kVec3 &opAddAssign(const kVec3 &in)
  656. kVec3 opNeg(void)
  657. kVec3 opSub(const kVec3 &in)
  658. kVec3 &opSubAssign(const kVec3 &in)
  659. kVec3 opMul(const kVec3 &in)
  660. kVec3 opMul(const float val)
  661. kVec3 &opMulAssign(const kVec3 &in)
  662. kVec3 &opMulAssign(const float)
  663. kVec3 opDiv(const kVec3 &in)
  664. kVec3 opDiv(const float val)
  665. kVec3 &opDivAssign(const kVec3 &in)
  666. kVec3 &opAssign(const kVec3 &in)
  667. float opIndex(uint)
  668. const float opIndex(uint)
  669. float x
  670. float y
  671. float z
  672.  
  673. kQuat
  674. void Contructor(float x, float y, float z, float w)
  675. void Contructor(float w, kVec3 &in)
  676. void Contructor(const kQuat &in)
  677. kQuat &Normalize(void)
  678. kQuat opAdd(const kQuat &in)
  679. kQuat opSub(const kQuat &in)
  680. kQuat opMul(const kQuat &in)
  681. kQuat &opAssign(const kQuat &in)
  682. kVec3 opMul(const kQuat &in)
  683. kVec3 &opMulAssign(const kQuat &in)
  684. kQuat ToQuaternion(void)
  685. float w
  686. kQuat ToQuat(void)
  687.  
  688. kAngle
  689. void Contructor(float)
  690. void Contructor(const kAngle &in)
  691. float Diff(const float)
  692. float Diff(const kAngle &in)
  693. float Interpolate(const float, const float)
  694. kAngle opAdd(const float)
  695. const kAngle &opAddAssign(const float)
  696. kAngle opSub(const float)
  697. const kAngle &opSubAssign(const float)
  698. kAngle opAdd(const kAngle &in)
  699. const kAngle &opAddAssign(const kAngle &in)
  700. kAngle opSub(const kAngle &in)
  701. const kAngle &opSubAssign(kAngle &in)
  702. kAngle &opAssign(const float)
  703. kAngle &opAssign(const kAngle &in)
  704. kAngle opNeg(void)
  705. const float opImplConv(void)
  706.  
  707. kStr
  708. void Contructor(const kStr &in str)
  709. const int IndexOf(const kStr &in pattern)
  710. const uint Hash(void)
  711. int Atoi(void)
  712. float Atof(void)
  713. kStr &ToUpper(void)
  714. kStr &ToLower(void)
  715. int8 opIndex(const int)
  716. bool opEquals(const kStr& in)
  717. kStr &opAssign(const kStr &in)
  718. kStr opAdd(bool)
  719. kStr opAdd(int)
  720. kStr opAdd(float)
  721. kStr opAdd(const kStr &in)
  722. kStr &opAddAssign(const kStr &in)
  723. kStr &opAddAssign(bool)
  724.  
  725. Sys
  726. void Print(const kStr &in message)
  727. void Warning(const kStr &in message)
  728. int VideoWidth(void)
  729. int VideoHeight(void)
  730. int Mouse_X(void)
  731. int Mouse_Y(void)
  732. const bool GetCvarValue(const kStr &in cvarName, kStr &out result)
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754. Drop Item Masks
  755. 1: Explosive shells
  756. 2: Grenade
  757. 3: Medium Health
  758. 4: Full Health
  759. 5: Ultra Health
  760. 6: Small Health
  761. 7: Large Health
  762. 8: Minigun ammo
  763. 9: Mortal Wound
  764. 10: 4 Rockets
  765. 11: Shotgun Shells
  766. 12: Energy Cell
  767. 13: Large Energy Cell
  768. 14: Clip
  769.  
  770. GruntVariants
  771. GV_GENERIC = 0,
  772. GV_GENERIC_AXE = 1,
  773. GV_GENERIC_CLUB = 2,
  774. GV_COMMANDER_SPEAR = 3,
  775. GV_COMMANDER_RIFLE1 = 4,
  776. GV_COMMANDER_RIFLE2 = 5,
  777. GV_COMMANDER_RIFLE3 = 6,
  778. GV_GENERIC_RIFLE = 7,
  779. GV_COMMANDER_RIFLE4 = 8,
  780. GV_POACHER_KNIFE = 9,
  781. GV_POACHER_PISTOL1 = 10,
  782. GV_POACHER_PISTOL2 = 11,
  783. GV_POACHER_RIFLE = 12,
  784. GV_POACHER_SHOTGUN = 13,
  785. GV_WARRIOR_BONE = 14,
  786. GV_WARRIOR_DART = 15,
  787. GV_WARRIOR_SPEAR = 16,
  788. GV_SHAMAN = 17,
  789. GV_CYBORG_PULSE_RIFLE = 18,
  790. GV_CYBORG_KNIFE = 19,
  791. GV_CYBORG_SPEAR = 20,
  792. GV_DEMON_AXE = 21,
  793. GV_DEMON_SPEAR = 22,
  794. GV_DEMON_HANDS = 23,
  795. GV_DEMON_LORD = 24,
  796. GV_GENERIC_HANGING = 25,
  797.  
  798. $0 = "music/track01.ogg" //jungle
  799. $1 = "music/track07.ogg" //Catacombs
  800. $2 = "music/track08.ogg" //Caves
  801. $3 = "music/track04.ogg" //Boss Battle
  802. $4 = "music/track13.ogg" //final confrontation
  803. $5 = "music/track14.ogg" //Campaigner
  804. $6 = "music/track02.ogg" //the Hub
  805. $7 = "music/track09.ogg" //tree top village
  806. $8 = "music/track11.ogg" //the lost land
  807. $9 = "music/track12.ogg" //cyborg T-Rex
  808. $11 = "music/track10.ogg" //Lost Land Caves
  809. $13 = "music/track03.ogg" //ancient city
  810. $14 = "music/track05.ogg" //The Ruins
  811. $100 = "music/track06.ogg"  // underwater theme
  812.  
  813.  
  814. ----------Area Args----------
  815.  
  816. Hardcoded:
  817. 0: AAF_TELEPORT: WarpID
  818. 1: AAF_TELEPORT: WarpLevelID,  AAF_EVENT and AAF_EVENTSOUND: soundID to play when player enters sector
  819. 2: AAF_CHECKPOINT or AAF_SAVEGAME: CheckpointID
  820. 3: AAF_EVENT: tag ID
  821. 4: Not used
  822. 5: AAF_SECRET: the secret index value (set automatically when level loads starting at 0. Conflicts with Default Scripts AAF_DAMAGE (so I guess no secrets should be placed on damaga sectors))
  823.  
  824. Default Scripts:
  825. 0: Not used
  826. 1: Not used
  827. 2: Not used
  828. 3: Not used
  829. 4: AAF_DAMAGE: amount of damage to do to the player when they're on the ground
  830. 5: Always used as floor damage delay no matter the AAF flags. Should be used with AAF_DAMAGE only. 1 second = 1024            
  831.  
  832. ----------ActorSpawnFlags----------
  833.  
  834. enum EnumActorSpawnFlags1
  835. {
  836.    ASF1_SOLID                  = (1 << 0),
  837.    ASF1_PROJECTILEATTACK1      = (1 << 1),
  838.    ASF1_LEADER                 = (1 << 2),
  839.    ASF1_SNAPTOFLOOR            = (1 << 3),
  840.    ASF1_EXPLOSIONDEATH         = (1 << 4),
  841.    ASF1_CLIMBWALLS             = (1 << 5),
  842.    ASF1_PROJECTILEATTACK2      = (1 << 6),
  843.    ASF1_NOREPEATEXPLOSION      = (1 << 7),
  844.    ASF1_DIEONEXPLOSION         = (1 << 8),
  845.    ASF1_FLOCKER                = (1 << 9),
  846.    ASF1_SLOW                   = (1 << 10), // NOT USED
  847.    ASF1_RANDOMRESURRECTION     = (1 << 11), // NOT USED
  848.    ASF1_RANDOMFEIGNDEATH       = (1 << 12), // NOT USED
  849.    ASF1_KAMIKAZE               = (1 << 13),
  850.    ASF1_AVOIDPLAYERS           = (1 << 14),
  851.    ASF1_FLOATINWATERONDEATH    = (1 << 15),
  852.    ASF1_TELEPORT               = (1 << 16),
  853.    ASF1_CASTSHADOW             = (1 << 17),
  854.    ASF1_TELEPORTWAIT           = (1 << 18),
  855.    ASF1_USESTRONGATTACKS       = (1 << 19),
  856.    ASF1_USEWEAKATTACKS         = (1 << 20),
  857.    ASF1_SNIPER                 = (1 << 21),
  858.    ASF1_MELTONDEATH            = (1 << 22),
  859.    ASF1_AVOIDWATER             = (1 << 23),
  860.    ASF1_FLYING                 = (1 << 24),
  861.    ASF1_TELEPORTAVOIDWATER     = (1 << 25),
  862.    ASF1_TELEPORTAVOIDCLIFFS    = (1 << 26),
  863.    ASF1_TRIGGERSTUFF           = (1 << 27),
  864.    ASF1_CANNOTCAUSEAFIGHT      = (1 << 28),
  865.    ASF1_NOWALLCOLLISION        = (1 << 29),
  866.    ASF1_SCREENSHAKE            = (1 << 30)
  867. }
  868. const uint ASF1_RESPAWNANIMATION = uint(1 << 31);
  869.  
  870. enum EnumActorSpawnFlags2
  871. {
  872.    ASF2_DROPITEM_MASK1         = (1 << 0),
  873.    ASF2_DROPITEM_MASK2         = (1 << 1),
  874.    ASF2_DROPITEM_MASK3         = (1 << 2),
  875.    ASF2_DROPITEM_MASK4         = (1 << 3),
  876.    ASF2_DROPITEM_MASK5         = (1 << 4),
  877.    ASF2_DROPITEM_MASK6         = (1 << 5),
  878.    ASF2_DROPITEM_MASK7         = (1 << 6),
  879.    ASF2_DROPITEM_MASK8         = (1 << 7),
  880.    ASF2_DROPITEM_MASK9         = (1 << 8),
  881.    ASF2_DROPITEM_MASK10        = (1 << 9),
  882.    ASF2_DROPITEM_MASK11        = (1 << 10),
  883.    ASF2_DROPITEM_MASK12        = (1 << 11),
  884.    ASF2_DROPITEM_MASK13        = (1 << 12),
  885.    ASF2_DROPITEM_MASK14        = (1 << 13),
  886.    ASF2_REMOVEONCOMPLETION     = (1 << 14),
  887.    ASF2_NOBLOOD                = (1 << 15),
  888.    ASF2_HOLDTRIGGERANIMATION   = (1 << 16),
  889.    ASF2_PROJECTILEATTACK3      = (1 << 17),
  890.    ASF2_PROJECTILEATTACK4      = (1 << 18),
  891.    ASF2_DROPITEMONDAMAGE       = (1 << 19),
  892.    ASF2_NOAUTOMAPDRAW          = (1 << 20),
  893.    ASF2_ALTERNATEMOVES         = (1 << 21),
  894.    ASF2_UNUSED1                = (1 << 22), // NOT USED
  895.    ASF2_UNUSED2                = (1 << 23), // NOT USED
  896.    ASF2_PROJECTILEATTACK5      = (1 << 24),
  897.    ASF2_PROJECTILEATTACK6      = (1 << 25),
  898.    ASF2_MORTALWOUNDIMPACT      = (1 << 26),
  899.    ASF2_STAYINWATER            = (1 << 27),
  900.    ASF2_WARPDEATH              = (1 << 28), // NOT USED
  901.    ASF2_STOREWARPRETURN        = (1 << 29), // NOT USED
  902.    ASF2_PROJECTILEATTACK7      = (1 << 30)
  903. }
  904. const uint ASF2_PROJECTILEATTACK8 = uint(1 << 31); // NOT USED
  905.  
  906. enum EnumActorSpawnFlags3
  907. {
  908.    ASF3_RETURNWARP             = (1 << 0), // NOT USED
  909.    ASF3_PLAYTRIGGERANIMONCE    = (1 << 1),
  910.    ASF3_REGENERATEFROMSTART    = (1 << 2),
  911.    ASF3_WALKINSTRAIGHTLINE     = (1 << 3),
  912.    ASF3_KILLOUTSIDEOFVIEW      = (1 << 4), // NOT USED
  913.    ASF3_NOTHINKER              = (1 << 5),
  914.    ASF3_AVOIDPLAYERS2          = (1 << 6),
  915.    ASF3_NOVIOLENTDEATH         = (1 << 7),
  916.    ASF3_PROJECTILEATTACK9      = (1 << 8),
  917.    ASF3_PROJECTILEATTACK10     = (1 << 9),
  918.    ASF3_MAKESPAWNANIMVISIBLE   = (1 << 10),
  919.    ASF3_NODRAWONCAMERA         = (1 << 11)
  920. }
  921.  
  922. ----------Enemy Attack Flags----------
  923.  
  924. --Grunts--
  925. Alt Stance is for holding two handed weapons
  926. Has Strong(anim_aiMelee1) and Weak(anim_aiAltMelee1) Melee Attacks
  927. Projectile Attack 1 = Shaman Wand Throw Fast Fireball   (anim_aiRangeAttack1)
  928. Projectile Attack 2 = Pistol Fire                       (anim_aiRangeAttack2)
  929. Projectile Attack 3 = crouch rifle Fire                 (anim_aiRangeAttack7)
  930. Projectile Attack 4 = Nothing                           (anim_aiRangeAttack8)
  931. Projectile Attack 5 = Stand Rifle Fire                  (anim_aiRangeAttack5)
  932. Projectile Attack 6 = Pipe Blow                         (anim_aiRangeAttack6)
  933. Projectile Attack 7 = Grenade Throw                     (anim_aiRangeAttack3)
  934. Projectile Attack 8 = Nothing                           (This flag does nothing!)
  935. Projectile Attack 9 = chest hadoken                     (anim_aiRangeAttack9)
  936. Projectile Attack 10 = Shaman Lightning Hands in Air    (anim_aiRangeAttack10)
  937.  
  938. --Raptor--
  939. No Alt Stance
  940. Has Only Strong Melee Attacks
  941. Projectile Attack 1 = Plasma Shot (anim_aiRangeAttack1)
  942.  
  943. --Purlin--
  944. No Alt Stance
  945. Has Only Strong Melee Attacks
  946. Projectile Attack 1 = Fire Wrist Gun    (anim_aiRangeAttack1)
  947. Projectile Attack 2 = Jump Smash        (anim_aiRangeAttack2)
  948. Projectile Attack 7 = Ground Wave Smash (anim_aiRangeAttack3)
  949.  
  950. --Stalker/Leaper--
  951. No Alt Stance
  952. Has Only Strong Melee Attacks
  953. Projectile Attack 1 = Leap forward  (anim_aiRangeAttack1)
  954.  
  955. --Alien--
  956. No Alt Stance
  957. Has Only Strong Melee Attacks
  958. Projectile Attack 1 = Fire Right Hand  (anim_aiRangeAttack1)
  959. Projectile Attack 2 = Fire Left Hand   (anim_aiRangeAttack2)
  960.  
  961. --Beetle--
  962. No Alt Stance
  963. Has Only Strong Melee Attacks
  964. Projectile Attack 1 = Leap forward  (anim_aiRangeAttack1)
  965.  
  966. --Crab--
  967. No Alt Stance
  968. Has Strong and Weak Melee Attacks
  969.  
  970. --Dinosaur--
  971. No Alt Stance
  972. Has Only Strong Melee Attacks
  973. Projectile Attack 1 = Shoot Guns    (anim_aiRangeAttack1)
  974.  
  975. --Dragon Fly / Insect Flying--
  976. No Alt Stance
  977. Has No Melee Attacks
  978. The Standing and Running Animations do damage attacks
  979.  
  980. --Killer Plant--
  981. No Alt Stance
  982. Has Only Strong Melee Attacks
  983. Projectile Attack 1 = Shoot (anim_aiRangeAttack1)
  984.  
  985. --Mech--
  986. No Alt Stance
  987. Has Only Strong Melee Attacks
  988. Projectile Attack 1 = Missle        (anim_aiRangeAttack1)
  989. Projectile Attack 2 = Machine Gun   (anim_aiRangeAttack2)
  990.  
  991. --Rider--
  992. No Alt Stance
  993. Has Only Strong Melee Attacks
  994. Projectile Attack 1 = Missle Fire   (anim_aiRangeAttack1)
  995. Projectile Attack 7 = Rifle Fire    (anim_aiRangeAttack3)
  996.  
  997. --Sandworm--
  998. No Alt Stance
  999. Has Only Strong Melee Attacks
  1000. Projectile Attack 1 = Acid Spit (anim_aiRangeAttack1)
  1001.  
  1002. --Turret--
  1003. No Alt Stance
  1004. Has No Melee Attacks
  1005. Projectile Attack 1 = Fire (anim_aiRangeAttack1)
  1006.  
Advertisement
Add Comment
Please, Sign In to add comment