BluCollarG33k

KotOR 1 - nwscript.nss

Jan 2nd, 2019 (edited)
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 211.57 KB | None | 0 0
  1. ////////////////////////////////////////////////////////
  2. //
  3. //  NWScript
  4. //
  5. //  The list of actions and pre-defined constants.
  6. //
  7. //  (c) BioWare Corp, 1999
  8. //
  9. ////////////////////////////////////////////////////////
  10.  
  11. #define ENGINE_NUM_STRUCTURES   4
  12. #define ENGINE_STRUCTURE_0      effect
  13. #define ENGINE_STRUCTURE_1      event
  14. #define ENGINE_STRUCTURE_2      location
  15. #define ENGINE_STRUCTURE_3      talent
  16.  
  17. // Constants
  18.  
  19. int        NUM_INVENTORY_SLOTS          = 18;
  20.  
  21. int    TRUE                     = 1;
  22. int    FALSE                    = 0;
  23.  
  24. float  DIRECTION_EAST           = 0.0;
  25. float  DIRECTION_NORTH          = 90.0;
  26. float  DIRECTION_WEST           = 180.0;
  27. float  DIRECTION_SOUTH          = 270.0;
  28. float  PI                       = 3.141592;
  29.  
  30. int    ATTITUDE_NEUTRAL         = 0;
  31. int    ATTITUDE_AGGRESSIVE      = 1;
  32. int    ATTITUDE_DEFENSIVE       = 2;
  33. int    ATTITUDE_SPECIAL         = 3;
  34.  
  35. int    TALKVOLUME_TALK          = 0;
  36. int    TALKVOLUME_WHISPER       = 1;
  37. int    TALKVOLUME_SHOUT         = 2;
  38. int    TALKVOLUME_SILENT_TALK   = 3;
  39. int    TALKVOLUME_SILENT_SHOUT  = 4;
  40.  
  41. int    INVENTORY_SLOT_HEAD        = 0;
  42. int    INVENTORY_SLOT_BODY        = 1;
  43. int    INVENTORY_SLOT_HANDS       = 3;
  44. int    INVENTORY_SLOT_RIGHTWEAPON = 4;
  45. int    INVENTORY_SLOT_LEFTWEAPON  = 5;
  46. int    INVENTORY_SLOT_LEFTARM     = 7;
  47. int    INVENTORY_SLOT_RIGHTARM    = 8;
  48. int    INVENTORY_SLOT_IMPLANT     = 9;
  49. int    INVENTORY_SLOT_BELT        = 10;
  50. int    INVENTORY_SLOT_CWEAPON_L   = 14;
  51. int    INVENTORY_SLOT_CWEAPON_R   = 15;
  52. int    INVENTORY_SLOT_CWEAPON_B   = 16;
  53. int    INVENTORY_SLOT_CARMOUR     = 17;
  54.  
  55. //Effect type constants
  56. int    DURATION_TYPE_INSTANT    = 0;
  57. int    DURATION_TYPE_TEMPORARY  = 1;
  58. int    DURATION_TYPE_PERMANENT  = 2;
  59.  
  60. int    SUBTYPE_MAGICAL          = 8;
  61. int    SUBTYPE_SUPERNATURAL     = 16;
  62. int    SUBTYPE_EXTRAORDINARY    = 24;
  63.  
  64. int    ABILITY_STRENGTH         = 0; // should be the same as in nwseffectlist.cpp
  65. int    ABILITY_DEXTERITY        = 1;
  66. int    ABILITY_CONSTITUTION     = 2;
  67. int    ABILITY_INTELLIGENCE     = 3;
  68. int    ABILITY_WISDOM           = 4;
  69. int    ABILITY_CHARISMA         = 5;
  70.  
  71. int    SHAPE_SPELLCYLINDER      = 0;
  72. int    SHAPE_CONE               = 1;
  73. int    SHAPE_CUBE               = 2;
  74. int    SHAPE_SPELLCONE          = 3;
  75. int    SHAPE_SPHERE             = 4;
  76.  
  77. int    OBJECT_TYPE_CREATURE         = 1;
  78. int    OBJECT_TYPE_ITEM             = 2;
  79. int    OBJECT_TYPE_TRIGGER          = 4;
  80. int    OBJECT_TYPE_DOOR             = 8;
  81. int    OBJECT_TYPE_AREA_OF_EFFECT   = 16;
  82. int    OBJECT_TYPE_WAYPOINT         = 32;
  83. int    OBJECT_TYPE_PLACEABLE        = 64;
  84. int    OBJECT_TYPE_STORE            = 128;
  85. int    OBJECT_TYPE_ENCOUNTER        = 256;
  86. int    OBJECT_TYPE_SOUND            = 512;
  87. int    OBJECT_TYPE_ALL              = 32767;
  88.  
  89. int    OBJECT_TYPE_INVALID          = 32767;
  90.  
  91. int    GENDER_MALE    = 0;
  92. int    GENDER_FEMALE  = 1;
  93. int    GENDER_BOTH    = 2;
  94. int    GENDER_OTHER   = 3;
  95. int    GENDER_NONE    = 4;
  96.  
  97. int    DAMAGE_TYPE_BLUDGEONING  = 1;
  98. int    DAMAGE_TYPE_PIERCING     = 2;
  99. int    DAMAGE_TYPE_SLASHING     = 4;
  100. int    DAMAGE_TYPE_UNIVERSAL    = 8;
  101. int    DAMAGE_TYPE_ACID         = 16;
  102. int    DAMAGE_TYPE_COLD         = 32;
  103. int    DAMAGE_TYPE_LIGHT_SIDE   = 64;
  104. int    DAMAGE_TYPE_ELECTRICAL   = 128;
  105. int    DAMAGE_TYPE_FIRE         = 256;
  106. int    DAMAGE_TYPE_DARK_SIDE    = 512;
  107. int    DAMAGE_TYPE_SONIC        = 1024;
  108. int    DAMAGE_TYPE_ION          = 2048;
  109. int    DAMAGE_TYPE_BLASTER      = 4096;
  110.  
  111. // Special versus flag just for AC effects
  112. int    AC_VS_DAMAGE_TYPE_ALL    = 8199;
  113.  
  114. int    DAMAGE_BONUS_1           = 1;
  115. int    DAMAGE_BONUS_2           = 2;
  116. int    DAMAGE_BONUS_3           = 3;
  117. int    DAMAGE_BONUS_4           = 4;
  118. int    DAMAGE_BONUS_5           = 5;
  119. int    DAMAGE_BONUS_1d4         = 6;
  120. int    DAMAGE_BONUS_1d6         = 7;
  121. int    DAMAGE_BONUS_1d8         = 8;
  122. int    DAMAGE_BONUS_1d10        = 9;
  123. int    DAMAGE_BONUS_2d6         = 10;
  124.  
  125. int    DAMAGE_POWER_NORMAL         = 0;
  126. int    DAMAGE_POWER_PLUS_ONE       = 1;
  127. int    DAMAGE_POWER_PLUS_TWO       = 2;
  128. int    DAMAGE_POWER_PLUS_THREE     = 3;
  129. int    DAMAGE_POWER_PLUS_FOUR      = 4;
  130. int    DAMAGE_POWER_PLUS_FIVE      = 5;
  131. int    DAMAGE_POWER_ENERGY         = 6;
  132.  
  133. int    ATTACK_BONUS_MISC                = 0;
  134. int    ATTACK_BONUS_ONHAND              = 1;
  135. int    ATTACK_BONUS_OFFHAND             = 2;
  136.  
  137. int    AC_DODGE_BONUS                   = 0;
  138. int    AC_NATURAL_BONUS                 = 1;
  139. int    AC_ARMOUR_ENCHANTMENT_BONUS      = 2;
  140. int    AC_SHIELD_ENCHANTMENT_BONUS      = 3;
  141. int    AC_DEFLECTION_BONUS              = 4;
  142.  
  143. int    DOOR_ACTION_OPEN                 = 0;
  144. int    DOOR_ACTION_UNLOCK               = 1;
  145. int    DOOR_ACTION_BASH                 = 2;
  146. int    DOOR_ACTION_IGNORE               = 3;
  147. int    DOOR_ACTION_KNOCK                = 4;
  148.  
  149. int    PLACEABLE_ACTION_USE                  = 0;
  150. int    PLACEABLE_ACTION_UNLOCK               = 1;
  151. int    PLACEABLE_ACTION_BASH                 = 2;
  152. int    PLACEABLE_ACTION_KNOCK                = 4;
  153.  
  154.  
  155. int    RACIAL_TYPE_UNKNOWN              = 0;
  156. int    RACIAL_TYPE_ELF                  = 1;
  157. int    RACIAL_TYPE_GNOME                = 2;
  158. int    RACIAL_TYPE_HALFLING             = 3;
  159. int    RACIAL_TYPE_HALFELF              = 4;
  160. int    RACIAL_TYPE_DROID                = 5;
  161. int    RACIAL_TYPE_HUMAN                = 6;
  162. int    RACIAL_TYPE_ALL                  = 7;
  163. int    RACIAL_TYPE_INVALID              = 8;
  164.  
  165. int    ALIGNMENT_ALL                    = 0;
  166. int    ALIGNMENT_NEUTRAL                = 1;
  167. int    ALIGNMENT_LIGHT_SIDE             = 2;
  168. int    ALIGNMENT_DARK_SIDE              = 3;
  169.  
  170. int SAVING_THROW_ALL                    = 0;
  171. int SAVING_THROW_FORT                   = 1;
  172. int SAVING_THROW_REFLEX                 = 2;
  173. int SAVING_THROW_WILL                   = 3;
  174.  
  175. int SAVING_THROW_TYPE_ALL               = 0;
  176. int SAVING_THROW_TYPE_NONE              = 0;
  177. int SAVING_THROW_TYPE_ACID              = 1;
  178. int SAVING_THROW_TYPE_SNEAK_ATTACK      = 2;
  179. int SAVING_THROW_TYPE_COLD              = 3;
  180. int SAVING_THROW_TYPE_DEATH             = 4;
  181. int SAVING_THROW_TYPE_DISEASE           = 5;
  182. int SAVING_THROW_TYPE_LIGHT_SIDE        = 6;
  183. int SAVING_THROW_TYPE_ELECTRICAL        = 7;
  184. int SAVING_THROW_TYPE_FEAR              = 8;
  185. int SAVING_THROW_TYPE_FIRE              = 9;
  186. int SAVING_THROW_TYPE_MIND_AFFECTING    = 10;
  187. int SAVING_THROW_TYPE_DARK_SIDE         = 11;
  188. int SAVING_THROW_TYPE_POISON            = 12;
  189. int SAVING_THROW_TYPE_SONIC             = 13;
  190. int SAVING_THROW_TYPE_TRAP              = 14;
  191. int SAVING_THROW_TYPE_FORCE_POWER       = 15;
  192. int SAVING_THROW_TYPE_ION               = 16;
  193. int SAVING_THROW_TYPE_BLASTER           = 17;
  194. int SAVING_THROW_TYPE_PARALYSIS         = 18;
  195.  
  196. int IMMUNITY_TYPE_NONE              = 0;
  197. int IMMUNITY_TYPE_MIND_SPELLS       = 1;
  198. int IMMUNITY_TYPE_POISON            = 2;
  199. int IMMUNITY_TYPE_DISEASE           = 3;
  200. int IMMUNITY_TYPE_FEAR              = 4;
  201. int IMMUNITY_TYPE_TRAP              = 5;
  202. int IMMUNITY_TYPE_PARALYSIS         = 6;
  203. int IMMUNITY_TYPE_BLINDNESS         = 7;
  204. int IMMUNITY_TYPE_DEAFNESS          = 8;
  205. int IMMUNITY_TYPE_SLOW              = 9;
  206. int IMMUNITY_TYPE_ENTANGLE          = 10;
  207. int IMMUNITY_TYPE_SILENCE           = 11;
  208. int IMMUNITY_TYPE_STUN              = 12;
  209. int IMMUNITY_TYPE_SLEEP             = 13;
  210. int IMMUNITY_TYPE_CHARM             = 14;
  211. int IMMUNITY_TYPE_DOMINATE          = 15;
  212. int IMMUNITY_TYPE_CONFUSED          = 16;
  213. int IMMUNITY_TYPE_CURSED            = 17;
  214. int IMMUNITY_TYPE_DAZED             = 18;
  215. int IMMUNITY_TYPE_ABILITY_DECREASE  = 19;
  216. int IMMUNITY_TYPE_ATTACK_DECREASE   = 20;
  217. int IMMUNITY_TYPE_DAMAGE_DECREASE   = 21;
  218. int IMMUNITY_TYPE_DAMAGE_IMMUNITY_DECREASE = 22;
  219. int IMMUNITY_TYPE_AC_DECREASE       = 23;
  220. int IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE = 24;
  221. int IMMUNITY_TYPE_SAVING_THROW_DECREASE = 25;
  222. int IMMUNITY_TYPE_FORCE_RESISTANCE_DECREASE = 26;
  223. int IMMUNITY_TYPE_SKILL_DECREASE    = 27;
  224. int IMMUNITY_TYPE_KNOCKDOWN         = 28;
  225. int IMMUNITY_TYPE_NEGATIVE_LEVEL    = 29;
  226. int IMMUNITY_TYPE_SNEAK_ATTACK      = 30;
  227. int IMMUNITY_TYPE_CRITICAL_HIT      = 31;
  228. int IMMUNITY_TYPE_DEATH             = 32;
  229.  
  230. int AREA_TRANSITION_RANDOM        = 0;
  231. int AREA_TRANSITION_USER_DEFINED  = 1;
  232. int AREA_TRANSITION_CITY_01       = 2;
  233. int AREA_TRANSITION_CITY_02       = 3;
  234. int AREA_TRANSITION_CITY_03       = 4;
  235. int AREA_TRANSITION_CITY_04       = 5;
  236. int AREA_TRANSITION_CITY_05       = 6;
  237. int AREA_TRANSITION_CRYPT_01      = 7;
  238. int AREA_TRANSITION_CRYPT_02      = 8;
  239. int AREA_TRANSITION_CRYPT_03      = 9;
  240. int AREA_TRANSITION_CRYPT_04      = 10;
  241. int AREA_TRANSITION_CRYPT_05      = 11;
  242. int AREA_TRANSITION_DUNGEON_01    = 12;
  243. int AREA_TRANSITION_DUNGEON_02    = 13;
  244. int AREA_TRANSITION_DUNGEON_03    = 14;
  245. int AREA_TRANSITION_DUNGEON_04    = 15;
  246. int AREA_TRANSITION_DUNGEON_05    = 16;
  247. int AREA_TRANSITION_DUNGEON_06    = 17;
  248. int AREA_TRANSITION_DUNGEON_07    = 18;
  249. int AREA_TRANSITION_DUNGEON_08    = 19;
  250. int AREA_TRANSITION_MINES_01      = 20;
  251. int AREA_TRANSITION_MINES_02      = 21;
  252. int AREA_TRANSITION_MINES_03      = 22;
  253. int AREA_TRANSITION_MINES_04      = 23;
  254. int AREA_TRANSITION_MINES_05      = 24;
  255. int AREA_TRANSITION_MINES_06      = 25;
  256. int AREA_TRANSITION_MINES_07      = 26;
  257. int AREA_TRANSITION_MINES_08      = 27;
  258. int AREA_TRANSITION_MINES_09      = 28;
  259. int AREA_TRANSITION_SEWER_01      = 29;
  260. int AREA_TRANSITION_SEWER_02      = 30;
  261. int AREA_TRANSITION_SEWER_03      = 31;
  262. int AREA_TRANSITION_SEWER_04      = 32;
  263. int AREA_TRANSITION_SEWER_05      = 33;
  264. int AREA_TRANSITION_CASTLE_01     = 34;
  265. int AREA_TRANSITION_CASTLE_02     = 35;
  266. int AREA_TRANSITION_CASTLE_03     = 36;
  267. int AREA_TRANSITION_CASTLE_04     = 37;
  268. int AREA_TRANSITION_CASTLE_05     = 38;
  269. int AREA_TRANSITION_CASTLE_06     = 39;
  270. int AREA_TRANSITION_CASTLE_07     = 40;
  271. int AREA_TRANSITION_CASTLE_08     = 41;
  272. int AREA_TRANSITION_INTERIOR_01   = 42;
  273. int AREA_TRANSITION_INTERIOR_02   = 43;
  274. int AREA_TRANSITION_INTERIOR_03   = 44;
  275. int AREA_TRANSITION_INTERIOR_04   = 45;
  276. int AREA_TRANSITION_INTERIOR_05   = 46;
  277. int AREA_TRANSITION_INTERIOR_06   = 47;
  278. int AREA_TRANSITION_INTERIOR_07   = 48;
  279. int AREA_TRANSITION_INTERIOR_08   = 49;
  280. int AREA_TRANSITION_INTERIOR_09   = 50;
  281. int AREA_TRANSITION_INTERIOR_10   = 51;
  282. int AREA_TRANSITION_INTERIOR_11   = 52;
  283. int AREA_TRANSITION_INTERIOR_12   = 53;
  284. int AREA_TRANSITION_INTERIOR_13   = 54;
  285. int AREA_TRANSITION_INTERIOR_14   = 55;
  286. int AREA_TRANSITION_INTERIOR_15   = 56;
  287. int AREA_TRANSITION_INTERIOR_16   = 57;
  288. int AREA_TRANSITION_FOREST_01     = 58;
  289. int AREA_TRANSITION_FOREST_02     = 59;
  290. int AREA_TRANSITION_FOREST_03     = 60;
  291. int AREA_TRANSITION_FOREST_04     = 61;
  292. int AREA_TRANSITION_FOREST_05     = 62;
  293. int AREA_TRANSITION_RURAL_01      = 63;
  294. int AREA_TRANSITION_RURAL_02      = 64;
  295. int AREA_TRANSITION_RURAL_03      = 65;
  296. int AREA_TRANSITION_RURAL_04      = 66;
  297. int AREA_TRANSITION_RURAL_05      = 67;
  298.  
  299. // Legacy area-transition constants.  Do not delete these.
  300. int AREA_TRANSITION_CITY          = 2;
  301. int AREA_TRANSITION_CRYPT         = 7;
  302. int AREA_TRANSITION_FOREST        = 58;
  303. int AREA_TRANSITION_RURAL         = 63;
  304.  
  305. // NOTE: BODY_NODE_HAND should be used to attach to the 'handconjure' node.
  306. int BODY_NODE_HAND                                = 0;
  307. int BODY_NODE_CHEST                               = 1;
  308. int BODY_NODE_HEAD                                = 2;
  309. // NOTE: BODY_NODE_HAND_* should be used to attach specifically to either the left or right hand.  The
  310. //       nodes used with be 'lhand' and 'rhand'.
  311. int BODY_NODE_HAND_LEFT                           = 3;
  312. int BODY_NODE_HAND_RIGHT                          = 4;
  313.  
  314. float RADIUS_SIZE_SMALL           = 1.67f;
  315. float RADIUS_SIZE_MEDIUM          = 3.33f;
  316. float RADIUS_SIZE_LARGE           = 5.0f;
  317. float RADIUS_SIZE_HUGE            = 6.67f;
  318. float RADIUS_SIZE_GARGANTUAN      = 8.33f;
  319. float RADIUS_SIZE_COLOSSAL        = 10.0f;
  320.  
  321. // these are magic numbers.  they should correspond to the values layed out in ExecuteCommandGetEffectType
  322. int EFFECT_TYPE_INVALIDEFFECT               = 0;
  323. int EFFECT_TYPE_DAMAGE_RESISTANCE           = 1;
  324. //int EFFECT_TYPE_ABILITY_BONUS               = 2;
  325. int EFFECT_TYPE_REGENERATE                  = 3;
  326. //int EFFECT_TYPE_SAVING_THROW_BONUS          = 4;
  327. //int EFFECT_TYPE_MODIFY_AC                   = 5;
  328. //int EFFECT_TYPE_ATTACK_BONUS                = 6;
  329. int EFFECT_TYPE_DAMAGE_REDUCTION            = 7;
  330. //int EFFECT_TYPE_DAMAGE_BONUS                = 8;
  331. int EFFECT_TYPE_TEMPORARY_HITPOINTS         = 9;
  332. //int EFFECT_TYPE_DAMAGE_IMMUNITY             = 10;
  333. int EFFECT_TYPE_ENTANGLE                    = 11;
  334. int EFFECT_TYPE_INVULNERABLE                = 12;
  335. int EFFECT_TYPE_DEAF                        = 13;
  336. int EFFECT_TYPE_RESURRECTION                = 14;
  337. int EFFECT_TYPE_IMMUNITY                    = 15;
  338. //int EFFECT_TYPE_BLIND                       = 16;
  339. int EFFECT_TYPE_ENEMY_ATTACK_BONUS          = 17;
  340. int EFFECT_TYPE_ARCANE_SPELL_FAILURE        = 18;
  341. //int EFFECT_TYPE_MOVEMENT_SPEED              = 19;
  342. int EFFECT_TYPE_AREA_OF_EFFECT              = 20;
  343. int EFFECT_TYPE_BEAM                        = 21;
  344. //int EFFECT_TYPE_FORCE_RESISTANCE            = 22;
  345. int EFFECT_TYPE_CHARMED                     = 23;
  346. int EFFECT_TYPE_CONFUSED                    = 24;
  347. int EFFECT_TYPE_FRIGHTENED                  = 25;
  348. int EFFECT_TYPE_DOMINATED                   = 26;
  349. int EFFECT_TYPE_PARALYZE                    = 27;
  350. int EFFECT_TYPE_DAZED                       = 28;
  351. int EFFECT_TYPE_STUNNED                     = 29;
  352. int EFFECT_TYPE_SLEEP                       = 30;
  353. int EFFECT_TYPE_POISON                      = 31;
  354. int EFFECT_TYPE_DISEASE                     = 32;
  355. int EFFECT_TYPE_CURSE                       = 33;
  356. int EFFECT_TYPE_SILENCE                     = 34;
  357. int EFFECT_TYPE_TURNED                      = 35;
  358. int EFFECT_TYPE_HASTE                       = 36;
  359. int EFFECT_TYPE_SLOW                        = 37;
  360. int EFFECT_TYPE_ABILITY_INCREASE            = 38;
  361. int EFFECT_TYPE_ABILITY_DECREASE            = 39;
  362. int EFFECT_TYPE_ATTACK_INCREASE             = 40;
  363. int EFFECT_TYPE_ATTACK_DECREASE             = 41;
  364. int EFFECT_TYPE_DAMAGE_INCREASE             = 42;
  365. int EFFECT_TYPE_DAMAGE_DECREASE             = 43;
  366. int EFFECT_TYPE_DAMAGE_IMMUNITY_INCREASE    = 44;
  367. int EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE    = 45;
  368. int EFFECT_TYPE_AC_INCREASE                 = 46;
  369. int EFFECT_TYPE_AC_DECREASE                 = 47;
  370. int EFFECT_TYPE_MOVEMENT_SPEED_INCREASE     = 48;
  371. int EFFECT_TYPE_MOVEMENT_SPEED_DECREASE     = 49;
  372. int EFFECT_TYPE_SAVING_THROW_INCREASE       = 50;
  373. int EFFECT_TYPE_SAVING_THROW_DECREASE       = 51;
  374. int EFFECT_TYPE_FORCE_RESISTANCE_INCREASE   = 52;
  375. int EFFECT_TYPE_FORCE_RESISTANCE_DECREASE   = 53;
  376. int EFFECT_TYPE_SKILL_INCREASE              = 54;
  377. int EFFECT_TYPE_SKILL_DECREASE              = 55;
  378. int EFFECT_TYPE_INVISIBILITY                = 56;
  379. int EFFECT_TYPE_IMPROVEDINVISIBILITY        = 57;
  380. int EFFECT_TYPE_DARKNESS                    = 58;
  381. int EFFECT_TYPE_DISPELMAGICALL              = 59;
  382. int EFFECT_TYPE_ELEMENTALSHIELD             = 60;
  383. int EFFECT_TYPE_NEGATIVELEVEL               = 61;
  384. int EFFECT_TYPE_DISGUISE                    = 62;
  385. int EFFECT_TYPE_SANCTUARY                   = 63;
  386. int EFFECT_TYPE_TRUESEEING                  = 64;
  387. int EFFECT_TYPE_SEEINVISIBLE                = 65;
  388. int EFFECT_TYPE_TIMESTOP                    = 66;
  389. int EFFECT_TYPE_BLINDNESS                   = 67;
  390. int EFFECT_TYPE_SPELLLEVELABSORPTION        = 68;
  391. int EFFECT_TYPE_DISPELMAGICBEST             = 69;
  392. int EFFECT_TYPE_ULTRAVISION                 = 70;
  393. int EFFECT_TYPE_MISS_CHANCE                 = 71;
  394. int EFFECT_TYPE_CONCEALMENT                 = 72;
  395. int EFFECT_TYPE_SPELL_IMMUNITY              = 73;
  396. int EFFECT_TYPE_ASSUREDHIT                  = 74;
  397. int EFFECT_TYPE_VISUAL              = 75;
  398. int EFFECT_TYPE_LIGHTSABERTHROW         = 76;
  399. int EFFECT_TYPE_FORCEJUMP           = 77;
  400. int EFFECT_TYPE_ASSUREDDEFLECTION       = 78;
  401.  
  402.  
  403. int ITEM_PROPERTY_ABILITY_BONUS                            = 0 ;
  404. int ITEM_PROPERTY_AC_BONUS                                 = 1 ;
  405. int ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP              = 2 ;
  406. int ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE                  = 3 ;
  407. int ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP                 = 4 ;
  408. int ITEM_PROPERTY_ENHANCEMENT_BONUS                        = 5 ;
  409. int ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP     = 6 ;
  410. int ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP        = 7 ;
  411. int ITEM_PROPERTY_ATTACK_PENALTY                           = 8 ;
  412. int ITEM_PROPERTY_BONUS_FEAT                               = 9 ;
  413. int ITEM_PROPERTY_ACTIVATE_ITEM                            = 10;
  414. int ITEM_PROPERTY_DAMAGE_BONUS                             = 11;
  415. int ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP          = 12;
  416. int ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP             = 13;
  417. int ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE                     = 14;
  418. int ITEM_PROPERTY_DECREASED_DAMAGE                         = 15;
  419. int ITEM_PROPERTY_DAMAGE_REDUCTION                         = 16;
  420. int ITEM_PROPERTY_DAMAGE_RESISTANCE                        = 17;
  421. int ITEM_PROPERTY_DAMAGE_VULNERABILITY                     = 18;
  422. int ITEM_PROPERTY_DECREASED_ABILITY_SCORE                  = 19;
  423. int ITEM_PROPERTY_DECREASED_AC                             = 20;
  424. int ITEM_PROPERTY_DECREASED_SKILL_MODIFIER                 = 21;
  425. int ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE                  = 22;
  426. int ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE                 = 23;
  427. int ITEM_PROPERTY_IMMUNITY                                 = 24;
  428. int ITEM_PROPERTY_IMPROVED_FORCE_RESISTANCE                = 25;
  429. int ITEM_PROPERTY_IMPROVED_SAVING_THROW                    = 26;
  430. int ITEM_PROPERTY_IMPROVED_SAVING_THROW_SPECIFIC           = 27;
  431. int ITEM_PROPERTY_KEEN                                     = 28;
  432. int ITEM_PROPERTY_LIGHT                                    = 29;
  433. int ITEM_PROPERTY_MIGHTY                                   = 30;
  434. int ITEM_PROPERTY_NO_DAMAGE                                = 31;
  435. int ITEM_PROPERTY_ON_HIT_PROPERTIES                        = 32;
  436. int ITEM_PROPERTY_DECREASED_SAVING_THROWS                  = 33;
  437. int ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC         = 34;
  438. int ITEM_PROPERTY_REGENERATION                             = 35;
  439. int ITEM_PROPERTY_SKILL_BONUS                              = 36;
  440. int ITEM_PROPERTY_SECURITY_SPIKE                           = 37;
  441. int ITEM_PROPERTY_ATTACK_BONUS                             = 38;
  442. int ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP          = 39;
  443. int ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP             = 40;
  444. int ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER                = 41;
  445. int ITEM_PROPERTY_UNLIMITED_AMMUNITION                     = 42;
  446. int ITEM_PROPERTY_USE_LIMITATION_ALIGNMENT_GROUP           = 43;
  447. int ITEM_PROPERTY_USE_LIMITATION_CLASS                     = 44;
  448. int ITEM_PROPERTY_USE_LIMITATION_RACIAL_TYPE               = 45;
  449. int ITEM_PROPERTY_TRAP                                     = 46;
  450. int ITEM_PROPERTY_TRUE_SEEING                              = 47;
  451. int ITEM_PROPERTY_ON_MONSTER_HIT                           = 48;
  452. int ITEM_PROPERTY_MASSIVE_CRITICALS                        = 49;
  453. int ITEM_PROPERTY_FREEDOM_OF_MOVEMENT                      = 50;
  454. int ITEM_PROPERTY_MONSTER_DAMAGE                           = 51;
  455. int ITEM_PROPERTY_SPECIAL_WALK                             = 52;
  456. int ITEM_PROPERTY_COMPUTER_SPIKE                           = 53;
  457. int ITEM_PROPERTY_REGENERATION_FORCE_POINTS                = 54;
  458. int ITEM_PROPERTY_BLASTER_BOLT_DEFLECT_INCREASE            = 55;
  459. int ITEM_PROPERTY_BLASTER_BOLT_DEFLECT_DECREASE            = 56;
  460. int ITEM_PROPERTY_USE_LIMITATION_FEAT                      = 57;
  461. int ITEM_PROPERTY_DROID_REPAIR_KIT                         = 58;
  462.  
  463. int BASE_ITEM_QUARTER_STAFF              = 0;
  464. int BASE_ITEM_STUN_BATON                 = 1;
  465. int BASE_ITEM_LONG_SWORD                 = 2;
  466. int BASE_ITEM_VIBRO_SWORD                = 3;
  467. int BASE_ITEM_SHORT_SWORD                = 4;
  468. int BASE_ITEM_VIBRO_BLADE                = 5;
  469. int BASE_ITEM_DOUBLE_BLADED_SWORD        = 6;
  470. int BASE_ITEM_VIBRO_DOUBLE_BLADE         = 7;
  471. int BASE_ITEM_LIGHTSABER                 = 8;
  472. int BASE_ITEM_DOUBLE_BLADED_LIGHTSABER   = 9;
  473. int BASE_ITEM_SHORT_LIGHTSABER           = 10;
  474. int BASE_ITEM_LIGHTSABER_CRYSTALS        = 11;
  475. int BASE_ITEM_BLASTER_PISTOL             = 12;
  476. int BASE_ITEM_HEAVY_BLASTER              = 13;
  477. int BASE_ITEM_HOLD_OUT_BLASTER           = 14;
  478. int BASE_ITEM_ION_BLASTER                = 15;
  479. int BASE_ITEM_DISRUPTER_PISTOL           = 16;
  480. int BASE_ITEM_SONIC_PISTOL               = 17;
  481. int BASE_ITEM_ION_RIFLE                  = 18;
  482. int BASE_ITEM_BOWCASTER                  = 19;
  483. int BASE_ITEM_BLASTER_CARBINE            = 20;
  484. int BASE_ITEM_DISRUPTER_RIFLE            = 21;
  485. int BASE_ITEM_SONIC_RIFLE                = 22;
  486. int BASE_ITEM_REPEATING_BLASTER          = 23;
  487. int BASE_ITEM_HEAVY_REPEATING_BLASTER    = 24;
  488. int BASE_ITEM_FRAGMENTATION_GRENADES     = 25;
  489. int BASE_ITEM_STUN_GRENADES              = 26;
  490. int BASE_ITEM_THERMAL_DETONATOR          = 27;
  491. int BASE_ITEM_POISON_GRENADE             = 28;
  492. int BASE_ITEM_FLASH_GRENADE              = 29;
  493. int BASE_ITEM_SONIC_GRENADE              = 30;
  494. int BASE_ITEM_ADHESIVE_GRENADE           = 31;
  495. int BASE_ITEM_CRYOBAN_GRENADE            = 32;
  496. int BASE_ITEM_FIRE_GRENADE               = 33;
  497. int BASE_ITEM_ION_GRENADE                = 34;
  498. int BASE_ITEM_JEDI_ROBE                  = 35;
  499. int BASE_ITEM_JEDI_KNIGHT_ROBE           = 36;
  500. int BASE_ITEM_JEDI_MASTER_ROBE           = 37;
  501. int BASE_ITEM_ARMOR_CLASS_4              = 38;
  502. int BASE_ITEM_ARMOR_CLASS_5              = 39;
  503. int BASE_ITEM_ARMOR_CLASS_6              = 40;
  504. int BASE_ITEM_ARMOR_CLASS_7              = 41;
  505. int BASE_ITEM_ARMOR_CLASS_8              = 42;
  506. int BASE_ITEM_ARMOR_CLASS_9              = 43;
  507. int BASE_ITEM_MASK                       = 44;
  508. int BASE_ITEM_GAUNTLETS                  = 45;
  509. int BASE_ITEM_FOREARM_BANDS              = 46;
  510. int BASE_ITEM_BELT                       = 47;
  511. int BASE_ITEM_IMPLANT_1                  = 48;
  512. int BASE_ITEM_IMPLANT_2                  = 49;
  513. int BASE_ITEM_IMPLANT_3                  = 50;
  514. int BASE_ITEM_DATA_PAD                   = 52;
  515. int BASE_ITEM_ADRENALINE                 = 53;
  516. int BASE_ITEM_COMBAT_SHOTS               = 54;
  517. int BASE_ITEM_MEDICAL_EQUIPMENT          = 55;
  518. int BASE_ITEM_DROID_REPAIR_EQUIPMENT     = 56;
  519. int BASE_ITEM_CREDITS                    = 57;
  520. int BASE_ITEM_TRAP_KIT                   = 58;
  521. int BASE_ITEM_SECURITY_SPIKES            = 59;
  522. int BASE_ITEM_PROGRAMMING_SPIKES         = 60;
  523. int BASE_ITEM_GLOW_ROD                   = 61;
  524. int BASE_ITEM_COLLAR_LIGHT               = 62;
  525. int BASE_ITEM_TORCH                      = 63;
  526. int BASE_ITEM_PLOT_USEABLE_ITEMS         = 64;
  527. int BASE_ITEM_AESTHETIC_ITEM             = 65;
  528. int BASE_ITEM_DROID_LIGHT_PLATING        = 66;
  529. int BASE_ITEM_DROID_MEDIUM_PLATING       = 67;
  530. int BASE_ITEM_DROID_HEAVY_PLATING        = 68;
  531. int BASE_ITEM_DROID_SEARCH_SCOPE         = 69;
  532. int BASE_ITEM_DROID_MOTION_SENSORS       = 70;
  533. int BASE_ITEM_DROID_SONIC_SENSORS        = 71;
  534. int BASE_ITEM_DROID_TARGETING_COMPUTERS  = 72;
  535. int BASE_ITEM_DROID_COMPUTER_SPIKE_MOUNT = 73;
  536. int BASE_ITEM_DROID_SECURITY_SPIKE_MOUNT = 74;
  537. int BASE_ITEM_DROID_SHIELD               = 75;
  538. int BASE_ITEM_DROID_UTILITY_DEVICE       = 76;
  539. int BASE_ITEM_BLASTER_RIFLE              = 77;
  540. int BASE_ITEM_GHAFFI_STICK               = 78;
  541. int BASE_ITEM_WOOKIE_WARBLADE            = 79;
  542. int BASE_ITEM_GAMMOREAN_BATTLEAXE        = 80;
  543. int BASE_ITEM_CREATURE_ITEM_SLASH        = 81;
  544. int BASE_ITEM_CREATURE_ITEM_PIERCE       = 82;
  545. int BASE_ITEM_CREATURE_WEAPON_SL_PRC     = 83;
  546. int BASE_ITEM_CREATURE_HIDE_ITEM         = 84;
  547. int BASE_ITEM_BASIC_CLOTHING             = 85;
  548.  
  549. int BASE_ITEM_INVALID = 256;
  550.  
  551.  
  552. // AMF: These constants define attack results
  553. int ATTACK_RESULT_INVALID               = 0;
  554. int ATTACK_RESULT_HIT_SUCCESSFUL        = 1;
  555. int ATTACK_RESULT_CRITICAL_HIT          = 2;
  556. int ATTACK_RESULT_AUTOMATIC_HIT         = 3;
  557.  
  558. int ATTACK_RESULT_MISS                  = 4;
  559. int ATTACK_RESULT_ATTACK_RESISTED       = 5;
  560. int ATTACK_RESULT_ATTACK_FAILED         = 6;
  561.  
  562. int ATTACK_RESULT_PARRIED               = 8;
  563. int ATTACK_RESULT_DEFLECTED     = 9;
  564.  
  565.  
  566. // these match the constants in visualeffects.2da
  567. int VFX_NONE                               = -1;
  568.  
  569. int VFX_IMP_HEALING_SMALL                  = 1001;
  570. int VFX_IMP_FORCE_JUMP_ADVANCED            = 1002;
  571. int VFX_PRO_AFFLICT                        = 1003;
  572. int VFX_IMP_CHOKE                          = 1004;
  573. int VFX_IMP_CURE                           = 1005;
  574. int VFX_PRO_DEATH_FIELD                    = 1006;
  575. int VFX_PRO_DROID_DISABLE                  = 1007;
  576. int VFX_PRO_DROID_KILL                     = 1008;
  577. int VFX_PRO_DRAIN                          = 1009;
  578. int VFX_PRO_FORCE_ARMOR                    = 1010;
  579. int VFX_PRO_FORCE_AURA                     = 1011;
  580. int VFX_IMP_FORCE_BREACH                   = 1012;
  581. int VFX_IMP_FORCE_PUSH                     = 1014;
  582. int VFX_PRO_FORCE_SHIELD                   = 1015;
  583. int VFX_IMP_FORCE_WAVE                     = 1017;
  584. int VFX_IMP_FORCE_WHIRLWIND                = 1018;
  585. int VFX_IMP_HEAL                           = 1019;
  586. int VFX_IMP_SPEED_KNIGHT                   = 1020;
  587. int VFX_PRO_LIGHTNING_L                    = 1021;
  588. int VFX_IMP_SPEED_MASTERY                  = 1022;
  589. int VFX_PRO_RESIST_ELEMENTS                = 1025;
  590. int VFX_PRO_RESIST_FORCE                   = 1026;
  591. int VFX_PRO_RESIST_POISON                  = 1027;
  592. int VFX_PRO_LIGHTNING_S                    = 1028;
  593. int VFX_IMP_MIND_FORCE                     = 1031;
  594. int VFX_IMP_SUPPRESS_FORCE                 = 1032;
  595. int VFX_IMP_MIND_KINIGHT                   = 1033;
  596. int VFX_IMP_MIND_MASTERY                   = 1034;
  597. int VFX_PRO_LIGHTNING_JEDI                 = 1035;
  598. int VFX_PRO_LIGHTNING_L_SOUND              = 1036;
  599. int VFX_IMP_GRENADE_ADHESIVE_PERSONAL      = 1038;
  600. int VFX_IMP_FLAME                          = 1039;
  601. int VFX_IMP_STUN                           = 1040;
  602.  
  603. int VFX_DUR_STEALTH_PULSE                  = 2000;
  604. int VFX_DUR_INVISIBILITY                   = 2001;
  605. int VFX_DUR_SPEED                          = 2004;
  606. int VFX_DUR_FORCE_WHIRLWIND                = 2007;
  607. int VFX_DUR_HOLD                           = 2008;
  608. int VFX_DUR_BODY_FUAL                      = 2024;
  609. int VFX_DUR_PSYCHIC_STATIC                 = 2025;
  610. int VFX_BEAM_DEATH_FIELD_TENTACLE          = 2026;
  611. int VFX_BEAM_DROID_DISABLE                 = 2027;
  612. int VFX_BEAM_DROID_DESTROY                 = 2028;
  613. int VFX_BEAM_DRAIN_LIFE                    = 2029;
  614. int VFX_DUR_KNIGHTS_SPEED                  = 2031;
  615. int VFX_DUR_SHIELD_RED_MARK_I              = 2032;
  616. int VFX_DUR_SHIELD_RED_MARK_II             = 2034;
  617. int VFX_DUR_SHIELD_RED_MARK_IV             = 2035;
  618. int VFX_BEAM_LIGHTNING_DARK_S              = 2037;
  619. int VFX_BEAM_LIGHTNING_DARK_L              = 2038;
  620. int VFX_DUR_SHIELD_BLUE_01                 = 2040;
  621. int VFX_DUR_SHIELD_BLUE_02                 = 2041;
  622. int VFX_DUR_SHIELD_BLUE_03                 = 2042;
  623. int VFX_DUR_SHIELD_BLUE_04                 = 2043;
  624. int VFX_DUR_SHIELD_GREEN_01                = 2044;
  625. int VFX_DUR_SHIELD_RED_01                  = 2045;
  626. int VFX_DUR_SHIELD_RED_02                  = 2046;
  627. int VFX_DUR_SHIELD_CHROME_01               = 2047;
  628. int VFX_DUR_SHIELD_CHROME_02               = 2048;
  629. int VFX_BEAM_ION_RAY_01                    = 2049;
  630. int VFX_BEAM_ION_RAY_02                    = 2050;
  631. int VFX_BEAM_COLD_RAY                      = 2051;
  632. int VFX_BEAM_STUN_RAY                      = 2052;
  633. int VFX_BEAM_FLAME_SPRAY                   = 2053;
  634. int VFX_DUR_CARBONITE_ENCASING             = 2054;
  635. int VFX_DUR_CARBONITE_CHUNKS               = 2055;
  636. int VFX_DUR_SHIELD_BLUE_MARK_I             = 2056;
  637. int VFX_DUR_SHIELD_BLUE_MARK_II            = 2058;
  638. int VFX_DUR_SHIELD_BLUE_MARK_IV            = 2059;
  639.  
  640. int VFX_FNF_FORCE_WAVE                     = 3001;
  641. int VFX_FNF_PLOT_MAN_SONIC_WAVE            = 3002;
  642. int VFX_FNF_GRENADE_FRAGMENTATION          = 3003;
  643. int VFX_FNF_GRENADE_STUN                   = 3004;
  644. int VFX_FNF_GRENADE_THERMAL_DETONATOR      = 3005;
  645. int VFX_FNF_GRENADE_POISON                 = 3006;
  646. int VFX_FNF_GRENADE_SONIC                  = 3007;
  647. int VFX_FNF_GRENADE_ADHESIVE               = 3008;
  648. int VFX_FNF_GRENADE_CRYOBAN                = 3009;
  649. int VFX_FNF_GRENADE_PLASMA                 = 3010;
  650. int VFX_FNF_GRENADE_ION                    = 3011;
  651. int VFX_FNF_GRAVITY_GENERATOR              = 3013;
  652.  
  653. int VFX_COM_SPARKS_LARGE                   = 4003;
  654. int VFX_COM_SPARKS_LIGHTSABER              = 4004;
  655. int VFX_COM_SPARKS_PARRY_METAL             = 4011;
  656. int VFX_COM_POWER_ATTACK_IMPROVED_STAFF    = 4012;
  657. int VFX_COM_POWER_BLAST_IMPROVED           = 4013;
  658. int VFX_COM_CRITICAL_STRIKE_IMPROVED_STAFF = 4014;
  659. int VFX_COM_SNIPER_SHOT_IMPROVED           = 4015;
  660. int VFX_COM_MULTI_SHOT                     = 4016;
  661. int VFX_COM_WHIRLWIND_STRIKE_STAFF         = 4017;
  662. int VFX_COM_CRITICAL_STRIKE_MASTERY_STAFF  = 4018;
  663. int VFX_COM_POWER_ATTACK_MASTERY_STAFF     = 4019;
  664. int VFX_COM_SNIPER_SHOT_MASTERY            = 4020;
  665. int VFX_COM_FLURRY_IMPROVED_STAFF          = 4021;
  666. int VFX_COM_RAPID_SHOT_IMPROVED            = 4022;
  667. int VFX_COM_BLASTER_DEFLECTION             = 4023;
  668. int VFX_COM_BLASTER_IMPACT                 = 4024;
  669. int VFX_COM_CRITICAL_STRIKE_IMPROVED_SABER = 4025;
  670. int VFX_COM_CRITICAL_STRIKE_MASTERY_SABER  = 4026;
  671. int VFX_COM_POWER_ATTACK_IMPROVED_SABER    = 4027;
  672. int VFX_COM_POWER_ATTACK_MASTERY_SABER     = 4028;
  673. int VFX_COM_POWER_BLAST_MASTERY            = 4029;
  674. int VFX_COM_FLURRY_IMPROVED_SABER          = 4030;
  675. int VFX_COM_WHIRLWIND_STRIKE_SABER         = 4031;
  676. int VFX_COM_BLASTER_IMPACT_GROUND          = 4032;
  677. int VFX_COM_SPARKS_BLASTER                 = 4033;
  678. int VFX_COM_DROID_EXPLOSION_1              = 4034;
  679. int VFX_COM_DROID_EXPLOSION_2              = 4035;
  680. int VFX_COM_JEDI_FORCE_FIZZLE              = 4036;
  681. int VFX_COM_FORCE_RESISTED                 = 4037;
  682.  
  683. int VFX_ARD_LIGHT_YELLOW_10                = 5000;
  684. int VFX_ARD_LIGHT_YELLOW_20                = 5001;
  685. int VFX_ARD_LIGHT_BLIND                    = 5002;
  686. int VFX_ARD_HEAT_SHIMMER                   = 5003;
  687.  
  688. int VFX_IMP_MIRV                           = 6000;
  689. int VFX_IMP_MIRV_IMPACT                    = 6001;
  690. int VFX_IMP_SCREEN_SHAKE                   = 6002;
  691.  
  692.  
  693. int AOE_PER_FOGACID                = 0;
  694. int AOE_PER_FOGFIRE                = 1;
  695. int AOE_PER_FOGSTINK               = 2;
  696. int AOE_PER_FOGKILL                = 3;
  697. int AOE_PER_FOGMIND                = 4;
  698. int AOE_PER_WALLFIRE               = 5;
  699. int AOE_PER_WALLWIND               = 6;
  700. int AOE_PER_WALLBLADE              = 7;
  701. int AOE_PER_WEB                    = 8;
  702. int AOE_PER_ENTANGLE               = 9;
  703. //int AOE_PER_CHAOS = 10;
  704. int AOE_PER_DARKNESS               = 11;
  705. int AOE_MOB_CIRCEVIL               = 12;
  706. int AOE_MOB_CIRCGOOD               = 13;
  707. int AOE_MOB_CIRCLAW                = 14;
  708. int AOE_MOB_CIRCCHAOS              = 15;
  709. int AOE_MOB_FEAR                   = 16;
  710. int AOE_MOB_BLINDING               = 17;
  711. int AOE_MOB_UNEARTHLY              = 18;
  712. int AOE_MOB_MENACE                 = 19;
  713. int AOE_MOB_UNNATURAL              = 20;
  714. int AOE_MOB_STUN                   = 21;
  715. int AOE_MOB_PROTECTION             = 22;
  716. int AOE_MOB_FIRE                   = 23;
  717. int AOE_MOB_FROST                  = 24;
  718. int AOE_MOB_ELECTRICAL             = 25;
  719. int AOE_PER_FOGGHOUL               = 26;
  720. int AOE_MOB_TYRANT_FOG             = 27;
  721. int AOE_PER_STORM                  = 28;
  722. int AOE_PER_INVIS_SPHERE           = 29;
  723. int AOE_MOB_SILENCE                = 30;
  724. int AOE_PER_DELAY_BLAST_FIREBALL   = 31;
  725. int AOE_PER_GREASE                 = 32;
  726. int AOE_PER_CREEPING_DOOM          = 33;
  727. int AOE_PER_EVARDS_BLACK_TENTACLES = 34;
  728. int AOE_MOB_INVISIBILITY_PURGE     = 35;
  729. int AOE_MOB_DRAGON_FEAR            = 36;
  730.  
  731. // these constants match those in spell.2da
  732. int FORCE_POWER_ALL_FORCE_POWERS            = -1;  // used for spell immunity.
  733. int FORCE_POWER_MASTER_ALTER                = 0;
  734. int FORCE_POWER_MASTER_CONTROL              = 1;
  735. int FORCE_POWER_MASTER_SENSE                = 2;
  736. int FORCE_POWER_FORCE_JUMP_ADVANCED         = 3;
  737. int FORCE_POWER_LIGHT_SABER_THROW_ADVANCED  = 4;
  738. int FORCE_POWER_REGNERATION_ADVANCED        = 5;
  739. int FORCE_POWER_AFFECT_MIND                 = 6;
  740. int FORCE_POWER_AFFLICTION                  = 7;
  741. int FORCE_POWER_SPEED_BURST                 = 8;
  742. int FORCE_POWER_CHOKE                       = 9;
  743. int FORCE_POWER_CURE                        = 10;
  744. int FORCE_POWER_DEATH_FIELD                 = 11;
  745. int FORCE_POWER_DROID_DISABLE               = 12;
  746. int FORCE_POWER_DROID_DESTROY               = 13;
  747. int FORCE_POWER_DOMINATE                    = 14;
  748. int FORCE_POWER_DRAIN_LIFE                  = 15;
  749. int FORCE_POWER_FEAR                        = 16;
  750. int FORCE_POWER_FORCE_ARMOR                 = 17;
  751. int FORCE_POWER_FORCE_AURA                  = 18;
  752. int FORCE_POWER_FORCE_BREACH                = 19;
  753. int FORCE_POWER_FORCE_IMMUNITY              = 20;
  754. int FORCE_POWER_FORCE_JUMP                  = 21;
  755. int FORCE_POWER_FORCE_MIND                  = 22;
  756. int FORCE_POWER_FORCE_PUSH                  = 23;
  757. int FORCE_POWER_FORCE_SHIELD                = 24;
  758. int FORCE_POWER_FORCE_STORM                 = 25;
  759. int FORCE_POWER_FORCE_WAVE                  = 26;
  760. int FORCE_POWER_FORCE_WHIRLWIND             = 27;
  761. int FORCE_POWER_HEAL                        = 28;
  762. int FORCE_POWER_HOLD                        = 29;
  763. int FORCE_POWER_HORROR                      = 30;
  764. int FORCE_POWER_INSANITY                    = 31;
  765. int FORCE_POWER_KILL                        = 32;
  766. int FORCE_POWER_KNIGHT_MIND                 = 33;
  767. int FORCE_POWER_KNIGHT_SPEED                = 34;
  768. int FORCE_POWER_LIGHTNING                   = 35;
  769. int FORCE_POWER_MIND_MASTERY                = 36;
  770. int FORCE_POWER_SPEED_MASTERY               = 37;
  771. int FORCE_POWER_PLAGUE                      = 38;
  772. int FORCE_POWER_REGENERATION                = 39;
  773. int FORCE_POWER_RESIST_COLD_HEAT_ENERGY     = 40;
  774. int FORCE_POWER_RESIST_FORCE                = 41;
  775. int FORCE_POWER_RESIST_POISON_DISEASE_SONIC = 42;
  776. int FORCE_POWER_SHOCK                       = 43;
  777. int FORCE_POWER_SLEEP                       = 44;
  778. int FORCE_POWER_SLOW                        = 45;
  779. int FORCE_POWER_STUN                        = 46;
  780. int FORCE_POWER_DROID_STUN                  = 47;
  781. int FORCE_POWER_SUPRESS_FORCE               = 48;
  782. int FORCE_POWER_LIGHT_SABER_THROW           = 49;
  783. int FORCE_POWER_WOUND                       = 50;
  784. int SPECIAL_ABILITY_BATTLE_MEDITATION       = 51;
  785. int SPECIAL_ABILITY_BODY_FUEL               = 52;
  786. int SPECIAL_ABILITY_COMBAT_REGENERATION     = 53;
  787. int SPECIAL_ABILITY_WARRIOR_STANCE          = 54;
  788. int SPECIAL_ABILITY_SENTINEL_STANCE         = 55;
  789. int SPECIAL_ABILITY_DOMINATE_MIND           = 56;
  790. int SPECIAL_ABILITY_PSYCHIC_STANCE          = 57;
  791. int SPECIAL_ABILITY_CATHAR_REFLEXES         = 58;
  792. int SPECIAL_ABILITY_ENHANCED_SENSES         = 59;
  793. int SPECIAL_ABILITY_CAMOFLAGE               = 60;
  794. int SPECIAL_ABILITY_TAUNT                   = 61;
  795. int SPECIAL_ABILITY_WHIRLING_DERVISH        = 62;
  796. int SPECIAL_ABILITY_RAGE                    = 63;
  797.  
  798. // these constants must match those in poison.2da
  799.  
  800. int POISON_ABILITY_SCORE_MILD     = 0;
  801. int POISON_ABILITY_SCORE_AVERAGE  = 1;
  802. int POISON_ABILITY_SCORE_VIRULENT = 2;
  803. int POISON_DAMAGE_MILD            = 3;
  804. int POISON_DAMAGE_AVERAGE         = 4;
  805. int POISON_DAMAGE_VIRULENT        = 5;
  806.  
  807. // the thing after CREATURE_TYPE_ should refer to the
  808. // actual "subtype" in the lists given above.
  809. int CREATURE_TYPE_RACIAL_TYPE     = 0;
  810. int CREATURE_TYPE_PLAYER_CHAR     = 1;
  811. int CREATURE_TYPE_CLASS           = 2;
  812. int CREATURE_TYPE_REPUTATION      = 3;
  813. int CREATURE_TYPE_IS_ALIVE        = 4;
  814. int CREATURE_TYPE_HAS_SPELL_EFFECT = 5;
  815. int CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT = 6;
  816. int CREATURE_TYPE_PERCEPTION                = 7;
  817. //int CREATURE_TYPE_ALIGNMENT       = 2;
  818.  
  819. int REPUTATION_TYPE_FRIEND        = 0;
  820. int REPUTATION_TYPE_ENEMY         = 1;
  821. int REPUTATION_TYPE_NEUTRAL       = 2;
  822.  
  823. int PERCEPTION_SEEN_AND_HEARD           = 0;
  824. int PERCEPTION_NOT_SEEN_AND_NOT_HEARD   = 1;
  825. int PERCEPTION_HEARD_AND_NOT_SEEN       = 2;
  826. int PERCEPTION_SEEN_AND_NOT_HEARD       = 3;
  827. int PERCEPTION_NOT_HEARD                = 4;
  828. int PERCEPTION_HEARD                    = 5;
  829. int PERCEPTION_NOT_SEEN                 = 6;
  830. int PERCEPTION_SEEN                     = 7;
  831.  
  832. int PLAYER_CHAR_NOT_PC            = FALSE;
  833. int PLAYER_CHAR_IS_PC             = TRUE;
  834.  
  835. int CLASS_TYPE_SOLDIER       = 0;
  836. int CLASS_TYPE_SCOUT         = 1;
  837. int CLASS_TYPE_SCOUNDREL     = 2;
  838. int CLASS_TYPE_JEDIGUARDIAN  = 3;
  839. int CLASS_TYPE_JEDICONSULAR  = 4;
  840. int CLASS_TYPE_JEDISENTINEL  = 5;
  841. int CLASS_TYPE_COMBATDROID   = 6;
  842. int CLASS_TYPE_EXPERTDROID   = 7;
  843. int CLASS_TYPE_MINION        = 8;
  844.  
  845. int CLASS_TYPE_INVALID   = 255;
  846.  
  847. // These are for GetFirstInPersistentObject() and GetNextInPersistentObject()
  848. int PERSISTENT_ZONE_ACTIVE = 0;
  849. int PERSISTENT_ZONE_FOLLOW = 1;
  850.  
  851. int INVALID_STANDARD_FACTION        = -1;
  852. int STANDARD_FACTION_HOSTILE_1      = 1;
  853. int STANDARD_FACTION_FRIENDLY_1     = 2;
  854. int STANDARD_FACTION_HOSTILE_2      = 3;
  855. int STANDARD_FACTION_FRIENDLY_2     = 4;
  856. int STANDARD_FACTION_NEUTRAL        = 5;
  857. int STANDARD_FACTION_INSANE         = 6;
  858. int STANDARD_FACTION_PTAT_TUSKAN    = 7;
  859. int STANDARD_FACTION_GLB_XOR        = 8;
  860. int STANDARD_FACTION_SURRENDER_1    = 9;
  861. int STANDARD_FACTION_SURRENDER_2    = 10;
  862. int STANDARD_FACTION_PREDATOR       = 11;
  863. int STANDARD_FACTION_PREY           = 12;
  864. int STANDARD_FACTION_TRAP           = 13;
  865. int STANDARD_FACTION_ENDAR_SPIRE    = 14;
  866. int STANDARD_FACTION_RANCOR         = 15;
  867. int STANDARD_FACTION_GIZKA_1        = 16;
  868. int STANDARD_FACTION_GIZKA_2        = 17;
  869.  
  870. // Skill defines
  871. int SKILL_COMPUTER_USE    = 0;
  872. int SKILL_DEMOLITIONS     = 1;
  873. int SKILL_STEALTH         = 2;
  874. int SKILL_AWARENESS       = 3;
  875. int SKILL_PERSUADE        = 4;
  876. int SKILL_REPAIR          = 5;
  877. int SKILL_SECURITY        = 6;
  878. int SKILL_TREAT_INJURY    = 7;
  879. int SKILL_MAX_SKILLS      = 8;
  880.  
  881. int SUBSKILL_FLAGTRAP      = 100;
  882. int SUBSKILL_RECOVERTRAP   = 101;
  883. int SUBSKILL_EXAMINETRAP   = 102;
  884.  
  885. // FEATS
  886. //int FEAT_ADVANCED_DODGE                        = 0;
  887. int FEAT_ADVANCED_JEDI_DEFENSE                 = 1;
  888. int FEAT_ADVANCED_GUARD_STANCE                 = 2;
  889. int FEAT_AMBIDEXTERITY                         = 3;
  890. int FEAT_ARMOUR_PROF_HEAVY                     = 4;
  891. int FEAT_ARMOUR_PROF_LIGHT                     = 5;
  892. int FEAT_ARMOUR_PROF_MEDIUM                    = 6;
  893. int FEAT_CAUTIOUS                              = 7;
  894. int FEAT_CRITICAL_STRIKE                       = 8;
  895. int FEAT_DOUBLE_WEAPON_FIGHTING                = 9;
  896. int FEAT_EMPATHY                               = 10;
  897. int FEAT_FLURRY                                = 11;
  898. int FEAT_GEAR_HEAD                             = 12;
  899. int FEAT_GREAT_FORTITUDE                       = 13;
  900. int FEAT_IMPLANT_LEVEL_1                       = 14;
  901. int FEAT_IMPLANT_LEVEL_2                       = 15;
  902. int FEAT_IMPLANT_LEVEL_3                       = 16;
  903. int FEAT_IMPROVED_POWER_ATTACK                 = 17;
  904. int FEAT_IMPROVED_POWER_BLAST                  = 18;
  905. int FEAT_IMPROVED_CRITICAL_STRIKE              = 19;
  906. int FEAT_IMPROVED_SNIPER_SHOT                  = 20;
  907. int FEAT_IRON_WILL                             = 21;
  908. int FEAT_LIGHTNING_REFLEXES                    = 22;
  909. //int FEAT_MASTER_DODGE                         = 23;
  910. int FEAT_MASTER_JEDI_DEFENSE                   = 24;
  911. int FEAT_MASTER_GUARD_STANCE                   = 25;
  912. int FEAT_MULTI_SHOT                            = 26;
  913. int FEAT_PERCEPTIVE                            = 27;
  914. int FEAT_POWER_ATTACK                          = 28;
  915. int FEAT_POWER_BLAST                           = 29;
  916. int FEAT_RAPID_SHOT                            = 30;
  917. int FEAT_SNIPER_SHOT                           = 31;
  918. int FEAT_WEAPON_FOCUS_BLASTER                  = 32;
  919. int FEAT_WEAPON_FOCUS_BLASTER_RIFLE            = 33;
  920. int FEAT_WEAPON_FOCUS_GRENADE                  = 34;
  921. int FEAT_WEAPON_FOCUS_HEAVY_WEAPONS            = 35;
  922. int FEAT_WEAPON_FOCUS_LIGHTSABER               = 36;
  923. int FEAT_WEAPON_FOCUS_MELEE_WEAPONS            = 37;
  924. int FEAT_WEAPON_FOCUS_SIMPLE_WEAPONS           = 38;
  925. int FEAT_WEAPON_PROFICIENCY_BLASTER            = 39;
  926. int FEAT_WEAPON_PROFICIENCY_BLASTER_RIFLE      = 40;
  927. int FEAT_WEAPON_PROFICIENCY_GRENADE            = 41;
  928. int FEAT_WEAPON_PROFICIENCY_HEAVY_WEAPONS      = 42;
  929. int FEAT_WEAPON_PROFICIENCY_LIGHTSABER         = 43;
  930. int FEAT_WEAPON_PROFICIENCY_MELEE_WEAPONS      = 44;
  931. int FEAT_WEAPON_PROFICIENCY_SIMPLE_WEAPONS     = 45;
  932. int FEAT_WEAPON_SPECIALIZATION_BLASTER         = 46;
  933. int FEAT_WEAPON_SPECIALIZATION_BLASTER_RIFLE   = 47;
  934. int FEAT_WEAPON_SPECIALIZATION_GRENADE         = 48;
  935. int FEAT_WEAPON_SPECIALIZATION_HEAVY_WEAPONS   = 49;
  936. int FEAT_WEAPON_SPECIALIZATION_LIGHTSABER      = 50;
  937. int FEAT_WEAPON_SPECIALIZATION_MELEE_WEAPONS   = 51;
  938. int FEAT_WEAPON_SPECIALIZATION_SIMPLE_WEAPONS  = 52;
  939. int FEAT_WHIRLWIND_ATTACK                      = 53;
  940. int FEAT_GUARD_STANCE                          = 54;
  941. int FEAT_JEDI_DEFENSE                          = 55;
  942. int FEAT_UNCANNY_DODGE_1                       = 56;
  943. int FEAT_UNCANNY_DODGE_2                       = 57;
  944. int FEAT_SKILL_FOCUS_COMPUTER_USE              = 58;
  945. //int FEAT_DODGE                                 = 59;
  946. int FEAT_SNEAK_ATTACK_1D6                      = 60;
  947. int FEAT_SNEAK_ATTACK_2D6                      = 61;
  948. int FEAT_SNEAK_ATTACK_3D6                      = 62;
  949. int FEAT_SNEAK_ATTACK_4D6                      = 63;
  950. int FEAT_SNEAK_ATTACK_5D6                      = 64;
  951. int FEAT_SNEAK_ATTACK_6D6                      = 65;
  952. int FEAT_SNEAK_ATTACK_7D6                      = 66;
  953. int FEAT_SNEAK_ATTACK_8D6                      = 67;
  954. int FEAT_SNEAK_ATTACK_9D6                      = 68;
  955. int FEAT_SNEAK_ATTACK_10D6                     = 69;
  956. int FEAT_SKILL_FOCUS_DEMOLITIONS               = 70;
  957. int FEAT_SKILL_FOCUS_STEALTH                   = 71;
  958. int FEAT_SKILL_FOCUS_AWARENESS                 = 72;
  959. int FEAT_SKILL_FOCUS_PERSUADE                  = 73;
  960. int FEAT_SKILL_FOCUS_REPAIR                    = 74;
  961. int FEAT_SKILL_FOCUS_SECURITY                  = 75;
  962. int FEAT_SKILL_FOCUS_TREAT_INJUURY             = 76;
  963. int FEAT_MASTER_SNIPER_SHOT                    = 77;
  964. int FEAT_DROID_UPGRADE_1                       = 78;
  965. int FEAT_DROID_UPGRADE_2                       = 79;
  966. int FEAT_DROID_UPGRADE_3                       = 80;
  967. int FEAT_MASTER_CRITICAL_STRIKE                = 81;
  968. int FEAT_MASTER_POWER_BLAST                    = 82;
  969. int FEAT_MASTER_POWER_ATTACK                   = 83;
  970. int FEAT_TOUGHNESS                             = 84;
  971. int FEAT_ADVANCED_DOUBLE_WEAPON_FIGHTING       = 85;
  972. int FEAT_FORCE_FOCUS_ALTER                     = 86;
  973. int FEAT_FORCE_FOCUS_CONTROL                   = 87;
  974. int FEAT_FORCE_FOCUS_SENSE                     = 88;
  975. int FEAT_FORCE_FOCUS_ADVANCED                  = 89;
  976. int FEAT_FORCE_FOCUS_MASTERY                   = 90;
  977. int FEAT_IMPROVED_FLURRY                       = 91;
  978. int FEAT_IMPROVED_RAPID_SHOT                   = 92;
  979. int FEAT_PROFICIENCY_ALL                       = 93;
  980. int FEAT_BATTLE_MEDITATION                     = 94;
  981.  
  982. // Special Attack Defines
  983. int SPECIAL_ATTACK_INVALID              =   0;
  984. int SPECIAL_ATTACK_CALLED_SHOT_LEG      =   1;
  985. int SPECIAL_ATTACK_CALLED_SHOT_ARM      =   2;
  986. int SPECIAL_ATTACK_SAP                  =   3;
  987. int SPECIAL_ATTACK_DISARM               =   4;
  988. int SPECIAL_ATTACK_IMPROVED_DISARM      =   5;
  989. int SPECIAL_ATTACK_KNOCKDOWN            =   6;
  990. int SPECIAL_ATTACK_IMPROVED_KNOCKDOWN   =   7;
  991. int SPECIAL_ATTACK_STUNNING_FIST        =   8;
  992. int SPECIAL_ATTACK_FLURRY_OF_BLOWS      =   9;
  993. int SPECIAL_ATTACK_RAPID_SHOT           =   10;
  994.  
  995. // Combat Mode Defines
  996. int COMBAT_MODE_INVALID                 = 0;
  997. int COMBAT_MODE_PARRY                   = 1;
  998. int COMBAT_MODE_POWER_ATTACK            = 2;
  999. int COMBAT_MODE_IMPROVED_POWER_ATTACK   = 3;
  1000. int COMBAT_MODE_FLURRY_OF_BLOWS         = 4;
  1001. int COMBAT_MODE_RAPID_SHOT              = 5;
  1002.  
  1003. // These represent the row in the difficulty 2da, rather than
  1004. // a difficulty value.
  1005. int ENCOUNTER_DIFFICULTY_VERY_EASY  = 0;
  1006. int ENCOUNTER_DIFFICULTY_EASY       = 1;
  1007. int ENCOUNTER_DIFFICULTY_NORMAL     = 2;
  1008. int ENCOUNTER_DIFFICULTY_HARD       = 3;
  1009. int ENCOUNTER_DIFFICULTY_IMPOSSIBLE = 4;
  1010.  
  1011. // Looping animation constants.
  1012. int ANIMATION_LOOPING_PAUSE         = 0;
  1013. int ANIMATION_LOOPING_PAUSE2        = 1;
  1014. int ANIMATION_LOOPING_LISTEN        = 2;
  1015. int ANIMATION_LOOPING_MEDITATE      = 3;
  1016. int ANIMATION_LOOPING_WORSHIP       = 4;
  1017. //int ANIMATION_LOOPING_LOOK_FAR    = 5;
  1018. //int ANIMATION_LOOPING_SIT_CHAIR   = 6;
  1019. //int ANIMATION_LOOPING_SIT_CROSS   = 7;
  1020. int ANIMATION_LOOPING_TALK_NORMAL   = 5;
  1021. int ANIMATION_LOOPING_TALK_PLEADING = 6;
  1022. int ANIMATION_LOOPING_TALK_FORCEFUL = 7;
  1023. int ANIMATION_LOOPING_TALK_LAUGHING = 8;
  1024. int ANIMATION_LOOPING_TALK_SAD      = 9;
  1025. int ANIMATION_LOOPING_GET_LOW       = 10;
  1026. int ANIMATION_LOOPING_GET_MID       = 11;
  1027. int ANIMATION_LOOPING_PAUSE_TIRED   = 12;
  1028. int ANIMATION_LOOPING_PAUSE_DRUNK   = 13;
  1029. int ANIMATION_LOOPING_FLIRT         = 14;
  1030. int ANIMATION_LOOPING_USE_COMPUTER  = 15;
  1031. int ANIMATION_LOOPING_DANCE         = 16;
  1032. int ANIMATION_LOOPING_DANCE1        = 17;
  1033. int ANIMATION_LOOPING_HORROR        = 18;
  1034. int ANIMATION_LOOPING_READY         = 19;
  1035. int ANIMATION_LOOPING_DEACTIVATE    = 20;
  1036. int ANIMATION_LOOPING_SPASM         = 21;
  1037. int ANIMATION_LOOPING_SLEEP         = 22;
  1038. int ANIMATION_LOOPING_PRONE         = 23;
  1039. int ANIMATION_LOOPING_PAUSE3        = 24;
  1040. int ANIMATION_LOOPING_WELD      = 25;
  1041. int ANIMATION_LOOPING_DEAD      = 26;
  1042. int ANIMATION_LOOPING_TALK_INJURED  = 27;
  1043. int ANIMATION_LOOPING_LISTEN_INJURED = 28;
  1044. int ANIMATION_LOOPING_TREAT_INJURED = 29;
  1045. int ANIMATION_LOOPING_DEAD_PRONE    = 30;
  1046. int ANIMATION_LOOPING_KNEEL_TALK_ANGRY = 31;
  1047. int ANIMATION_LOOPING_KNEEL_TALK_SAD   = 32;
  1048.  
  1049. // NOTE: Choke is really a looping animation.  The fire and forget constant has
  1050. //       been left in because it has already been used in many places.  Please
  1051. //       use this constant from now on.
  1052. int ANIMATION_LOOPING_CHOKE                    = 116;
  1053.  
  1054. // Fire and forget animation constants.
  1055. int ANIMATION_FIREFORGET_HEAD_TURN_LEFT     = 100;
  1056. int ANIMATION_FIREFORGET_HEAD_TURN_RIGHT    = 101;
  1057. int ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD = 102;
  1058. int ANIMATION_FIREFORGET_PAUSE_BORED        = 103;
  1059. int ANIMATION_FIREFORGET_SALUTE             = 104;
  1060. int ANIMATION_FIREFORGET_BOW                = 105;
  1061. //int ANIMATION_FIREFORGET_STEAL            = 106;
  1062. int ANIMATION_FIREFORGET_GREETING           = 106;
  1063. int ANIMATION_FIREFORGET_TAUNT              = 107;
  1064. int ANIMATION_FIREFORGET_VICTORY1           = 108;
  1065. int ANIMATION_FIREFORGET_VICTORY2           = 109;
  1066. int ANIMATION_FIREFORGET_VICTORY3           = 110;
  1067. //int ANIMATION_FIREFORGET_READ             = 111;
  1068. int ANIMATION_FIREFORGET_INJECT             = 112;
  1069. int ANIMATION_FIREFORGET_USE_COMPUTER       = 113;
  1070. int ANIMATION_FIREFORGET_PERSUADE           = 114;
  1071. int ANIMATION_FIREFORGET_ACTIVATE           = 115;
  1072. // NOTE: Please do not use this choke constant anymore.  The choke is not a fire
  1073. //       and forget animation.  The looping choke constant above should be used
  1074. //       instead.
  1075. int ANIMATION_FIREFORGET_CHOKE              = 116;
  1076. int ANIMATION_FIREFORGET_THROW_HIGH         = 117;
  1077. int ANIMATION_FIREFORGET_THROW_LOW          = 118;
  1078. int ANIMATION_FIREFORGET_CUSTOM01           = 119;
  1079. int ANIMATION_FIREFORGET_TREAT_INJURED      = 120;
  1080.  
  1081. // Placeable animation constants
  1082. int ANIMATION_PLACEABLE_ACTIVATE            = 200;
  1083. int ANIMATION_PLACEABLE_DEACTIVATE          = 201;
  1084. int ANIMATION_PLACEABLE_OPEN                = 202;
  1085. int ANIMATION_PLACEABLE_CLOSE               = 203;
  1086. int ANIMATION_PLACEABLE_ANIMLOOP01          = 204;
  1087. int ANIMATION_PLACEABLE_ANIMLOOP02          = 205;
  1088. int ANIMATION_PLACEABLE_ANIMLOOP03          = 206;
  1089. int ANIMATION_PLACEABLE_ANIMLOOP04          = 207;
  1090. int ANIMATION_PLACEABLE_ANIMLOOP05          = 208;
  1091. int ANIMATION_PLACEABLE_ANIMLOOP06          = 209;
  1092. int ANIMATION_PLACEABLE_ANIMLOOP07          = 210;
  1093. int ANIMATION_PLACEABLE_ANIMLOOP08          = 211;
  1094. int ANIMATION_PLACEABLE_ANIMLOOP09          = 212;
  1095. int ANIMATION_PLACEABLE_ANIMLOOP10          = 213;
  1096.  
  1097.  
  1098. // Room Animation Constants
  1099. int ANIMATION_ROOM_SCRIPTLOOP01            = 1;
  1100. int ANIMATION_ROOM_SCRIPTLOOP02            = 2;
  1101. int ANIMATION_ROOM_SCRIPTLOOP03            = 3;
  1102. int ANIMATION_ROOM_SCRIPTLOOP04            = 4;
  1103. int ANIMATION_ROOM_SCRIPTLOOP05            = 5;
  1104. int ANIMATION_ROOM_SCRIPTLOOP06            = 6;
  1105. int ANIMATION_ROOM_SCRIPTLOOP07            = 7;
  1106. int ANIMATION_ROOM_SCRIPTLOOP08            = 8;
  1107. int ANIMATION_ROOM_SCRIPTLOOP09            = 9;
  1108. int ANIMATION_ROOM_SCRIPTLOOP10            = 10;
  1109. int ANIMATION_ROOM_SCRIPTLOOP11            = 11;
  1110. int ANIMATION_ROOM_SCRIPTLOOP12            = 12;
  1111. int ANIMATION_ROOM_SCRIPTLOOP13            = 13;
  1112. int ANIMATION_ROOM_SCRIPTLOOP14            = 14;
  1113. int ANIMATION_ROOM_SCRIPTLOOP15            = 15;
  1114. int ANIMATION_ROOM_SCRIPTLOOP16            = 16;
  1115. int ANIMATION_ROOM_SCRIPTLOOP17            = 17;
  1116. int ANIMATION_ROOM_SCRIPTLOOP18            = 18;
  1117. int ANIMATION_ROOM_SCRIPTLOOP19            = 19;
  1118. int ANIMATION_ROOM_SCRIPTLOOP20            = 20;
  1119.  
  1120. int TALENT_TYPE_FORCE      = 0;
  1121. int TALENT_TYPE_SPELL      = 0;
  1122. int TALENT_TYPE_FEAT       = 1;
  1123. int TALENT_TYPE_SKILL      = 2;
  1124.  
  1125. int TALENT_EXCLUDE_ALL_OF_TYPE = -1;
  1126.  
  1127. int INVENTORY_DISTURB_TYPE_ADDED    = 0;
  1128. int INVENTORY_DISTURB_TYPE_REMOVED  = 1;
  1129. int INVENTORY_DISTURB_TYPE_STOLEN   = 2;
  1130.  
  1131. int GUI_PANEL_PLAYER_DEATH = 0;
  1132.  
  1133. int POLYMORPH_TYPE_WEREWOLF              = 0;
  1134. int POLYMORPH_TYPE_WERERAT               = 1;
  1135. int POLYMORPH_TYPE_WERECAT               = 2;
  1136. int POLYMORPH_TYPE_GIANT_SPIDER          = 3;
  1137. int POLYMORPH_TYPE_TROLL                 = 4;
  1138. int POLYMORPH_TYPE_UMBER_HULK            = 5;
  1139. int POLYMORPH_TYPE_PIXIE                 = 6;
  1140. int POLYMORPH_TYPE_ZOMBIE                = 7;
  1141. int POLYMORPH_TYPE_RED_DRAGON            = 8;
  1142. int POLYMORPH_TYPE_FIRE_GIANT            = 9;
  1143. int POLYMORPH_TYPE_BALOR                 = 10;
  1144. int POLYMORPH_TYPE_DEATH_SLAAD           = 11;
  1145. int POLYMORPH_TYPE_IRON_GOLEM            = 12;
  1146. int POLYMORPH_TYPE_HUGE_FIRE_ELEMENTAL   = 13;
  1147. int POLYMORPH_TYPE_HUGE_WATER_ELEMENTAL  = 14;
  1148. int POLYMORPH_TYPE_HUGE_EARTH_ELEMENTAL  = 15;
  1149. int POLYMORPH_TYPE_HUGE_AIR_ELEMENTAL    = 16;
  1150. int POLYMORPH_TYPE_ELDER_FIRE_ELEMENTAL  = 17;
  1151. int POLYMORPH_TYPE_ELDER_WATER_ELEMENTAL = 18;
  1152. int POLYMORPH_TYPE_ELDER_EARTH_ELEMENTAL = 19;
  1153. int POLYMORPH_TYPE_ELDER_AIR_ELEMENTAL   = 20;
  1154. int POLYMORPH_TYPE_BROWN_BEAR            = 21;
  1155. int POLYMORPH_TYPE_PANTHER               = 22;
  1156. int POLYMORPH_TYPE_WOLF                  = 23;
  1157. int POLYMORPH_TYPE_BOAR                  = 24;
  1158. int POLYMORPH_TYPE_BADGER                = 25;
  1159. int POLYMORPH_TYPE_PENGUIN               = 26;
  1160. int POLYMORPH_TYPE_COW                   = 27;
  1161. int POLYMORPH_TYPE_DOOM_KNIGHT           = 28;
  1162. int POLYMORPH_TYPE_YUANTI                = 29;
  1163. int POLYMORPH_TYPE_IMP                   = 30;
  1164. int POLYMORPH_TYPE_QUASIT                = 31;
  1165. int POLYMORPH_TYPE_SUCCUBUS              = 32;
  1166. int POLYMORPH_TYPE_DIRE_BROWN_BEAR       = 33;
  1167. int POLYMORPH_TYPE_DIRE_PANTHER          = 34;
  1168. int POLYMORPH_TYPE_DIRE_WOLF             = 35;
  1169. int POLYMORPH_TYPE_DIRE_BOAR             = 36;
  1170. int POLYMORPH_TYPE_DIRE_BADGER           = 37;
  1171.  
  1172. int INVISIBILITY_TYPE_NORMAL   = 1;
  1173. int INVISIBILITY_TYPE_DARKNESS = 2;
  1174. int INVISIBILITY_TYPE_IMPROVED = 4;
  1175.  
  1176. int CREATURE_SIZE_INVALID = 0;
  1177. int CREATURE_SIZE_TINY =    1;
  1178. int CREATURE_SIZE_SMALL =   2;
  1179. int CREATURE_SIZE_MEDIUM =  3;
  1180. int CREATURE_SIZE_LARGE =   4;
  1181. int CREATURE_SIZE_HUGE =    5;
  1182.  
  1183. int CAMERA_MODE_CHASE_CAMERA          = 0;
  1184. int CAMERA_MODE_TOP_DOWN              = 1;
  1185. int CAMERA_MODE_STIFF_CHASE_CAMERA    = 2;
  1186.  
  1187. int PROJECTILE_PATH_TYPE_DEFAULT        = 0;
  1188. int PROJECTILE_PATH_TYPE_HOMING         = 1;
  1189. int PROJECTILE_PATH_TYPE_BALLISTIC      = 2;
  1190. int PROJECTILE_PATH_TYPE_HIGH_BALLISTIC = 3;
  1191. int PROJECTILE_PATH_TYPE_ACCELERATING   = 4;
  1192.  
  1193. int GAME_DIFFICULTY_VERY_EASY   = 0;
  1194. int GAME_DIFFICULTY_EASY        = 1;
  1195. int GAME_DIFFICULTY_NORMAL      = 2;
  1196. int GAME_DIFFICULTY_CORE_RULES  = 3;
  1197. int GAME_DIFFICULTY_DIFFICULT   = 4;
  1198.  
  1199. int ACTION_MOVETOPOINT        = 0;
  1200. int ACTION_PICKUPITEM         = 1;
  1201. int ACTION_DROPITEM           = 2;
  1202. int ACTION_ATTACKOBJECT       = 3;
  1203. int ACTION_CASTSPELL          = 4;
  1204. int ACTION_OPENDOOR           = 5;
  1205. int ACTION_CLOSEDOOR          = 6;
  1206. int ACTION_DIALOGOBJECT       = 7;
  1207. int ACTION_DISABLETRAP        = 8;
  1208. int ACTION_RECOVERTRAP        = 9;
  1209. int ACTION_FLAGTRAP           = 10;
  1210. int ACTION_EXAMINETRAP        = 11;
  1211. int ACTION_SETTRAP            = 12;
  1212. int ACTION_OPENLOCK           = 13;
  1213. int ACTION_LOCK               = 14;
  1214. int ACTION_USEOBJECT          = 15;
  1215. int ACTION_ANIMALEMPATHY      = 16;
  1216. int ACTION_REST               = 17;
  1217. int ACTION_TAUNT              = 18;
  1218. int ACTION_ITEMCASTSPELL      = 19;
  1219. int ACTION_COUNTERSPELL       = 31;
  1220. int ACTION_HEAL               = 33;
  1221. int ACTION_PICKPOCKET         = 34;
  1222. int ACTION_FOLLOW             = 35;
  1223. int ACTION_WAIT               = 36;
  1224. int ACTION_SIT                = 37;
  1225. int ACTION_FOLLOWLEADER       = 38;
  1226.  
  1227. int ACTION_INVALID                = 65535;
  1228. int ACTION_QUEUEEMPTY             = 65534;
  1229.  
  1230. int TRAP_BASE_TYPE_FLASH_STUN_MINOR             = 0;
  1231. int TRAP_BASE_TYPE_FLASH_STUN_AVERAGE           = 1;
  1232. int TRAP_BASE_TYPE_FLASH_STUN_DEADLY            = 2;
  1233. int TRAP_BASE_TYPE_FRAGMENTATION_MINE_MINOR     = 3;
  1234. int TRAP_BASE_TYPE_FRAGMENTATION_MINE_AVERAGE   = 4;
  1235. int TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEADLY    = 5;
  1236. int TRAP_BASE_TYPE_LASER_SLICING_MINOR          = 6;
  1237. int TRAP_BASE_TYPE_LASER_SLICING_AVERAGE        = 7;
  1238. int TRAP_BASE_TYPE_LASER_SLICING_DEADLY         = 8;
  1239. int TRAP_BASE_TYPE_POISON_GAS_MINOR             = 9;
  1240. int TRAP_BASE_TYPE_POISON_GAS_AVERAGE           = 10;
  1241. int TRAP_BASE_TYPE_POISON_GAS_DEADLY            = 11;
  1242.  
  1243. int SWMINIGAME_TRACKFOLLOWER_SOUND_ENGINE = 0;
  1244. int SWMINIGAME_TRACKFOLLOWER_SOUND_DEATH  = 1;
  1245.  
  1246. int CONVERSATION_TYPE_CINEMATIC = 0;
  1247. int CONVERSATION_TYPE_COMPUTER  = 1;
  1248.  
  1249. int PLANET_ENDAR_SPIRE      = 0;
  1250. int PLANET_TARIS            = 1;
  1251. int PLANET_EBON_HAWK        = 2;
  1252. int PLANET_DANTOOINE        = 3;
  1253. int PLANET_TATOOINE         = 4;
  1254. int PLANET_KASHYYYK         = 5;
  1255. int PLANET_MANAAN           = 6;
  1256. int PLANET_KORRIBAN         = 7;
  1257. int PLANET_LEVIATHAN        = 8;
  1258. int PLANET_UNKNOWN_WORLD    = 9;
  1259. int PLANET_STAR_FORGE       = 10;
  1260. int PLANET_LIVE_01          = 11;
  1261. int PLANET_LIVE_02          = 12;
  1262. int PLANET_LIVE_03          = 13;
  1263. int PLANET_LIVE_04          = 14;
  1264. int PLANET_LIVE_05          = 15;
  1265.  
  1266. int NPC_PLAYER          = -1;
  1267. int NPC_BASTILA         = 0;
  1268. int NPC_CANDEROUS       = 1;
  1269. int NPC_CARTH           = 2;
  1270. int NPC_HK_47           = 3;
  1271. int NPC_JOLEE           = 4;
  1272. int NPC_JUHANI          = 5;
  1273. int NPC_MISSION         = 6;
  1274. int NPC_T3_M4           = 7;
  1275. int NPC_ZAALBAR         = 8;
  1276.  
  1277.  
  1278. int PARTY_AISTYLE_AGGRESSIVE    = 0;
  1279. int PARTY_AISTYLE_DEFENSIVE     = 1;
  1280. int PARTY_AISTYLE_PASSIVE       = 2;
  1281.  
  1282. int NPC_AISTYLE_DEFAULT_ATTACK  = 0;
  1283. int NPC_AISTYLE_RANGED_ATTACK   = 1;
  1284. int NPC_AISTYLE_MELEE_ATTACK    = 2;
  1285. int NPC_AISTYLE_AID             = 3;
  1286. int NPC_AISTYLE_GRENADE_THROWER = 4;
  1287. int NPC_AISTYLE_JEDI_SUPPORT    = 5;
  1288.  
  1289. int DISGUISE_TYPE_TEST            = 1;
  1290. int DISGUISE_TYPE_P_T3M3          = 2;
  1291. int DISGUISE_TYPE_P_HK47          = 3;
  1292. int DISGUISE_TYPE_P_BASTILLA      = 4;
  1293. int DISGUISE_TYPE_P_CAND          = 5;
  1294. int DISGUISE_TYPE_P_CARTH         = 6;
  1295. int DISGUISE_TYPE_P_JOLEE         = 7;
  1296. int DISGUISE_TYPE_P_JUHANI        = 8;
  1297. int DISGUISE_TYPE_P_ZAALBAR       = 9;
  1298. int DISGUISE_TYPE_P_MISSION       = 10;
  1299. int DISGUISE_TYPE_N_ADMRLSAULKAR  = 11;
  1300. int DISGUISE_TYPE_N_BITH          = 12;
  1301. int DISGUISE_TYPE_N_CALONORD      = 13;
  1302. int DISGUISE_TYPE_N_COMMF         = 14;
  1303. int DISGUISE_TYPE_N_COMMKIDF      = 15;
  1304. int DISGUISE_TYPE_N_COMMKIDM      = 16;
  1305. int DISGUISE_TYPE_N_COMMM         = 17;
  1306. int DISGUISE_TYPE_N_CZERLAOFF     = 18;
  1307. int DISGUISE_TYPE_N_DARKJEDIF     = 19;
  1308. int DISGUISE_TYPE_N_DARKJEDIM     = 20;
  1309. int DISGUISE_TYPE_N_DARTHMALAK    = 21;
  1310. int DISGUISE_TYPE_N_DARTHREVAN    = 22;
  1311. int DISGUISE_TYPE_N_DODONNA       = 23;
  1312. int DISGUISE_TYPE_N_DUROS         = 24;
  1313. int DISGUISE_TYPE_N_FATCOMF       = 25;
  1314. int DISGUISE_TYPE_N_FATCOMM       = 26;
  1315. int DISGUISE_TYPE_N_SMUGGLER      = 27;
  1316. int DISGUISE_TYPE_N_SITHSOLDIER   = 28;
  1317. // int DISGUISE_TYPE_ = 29;
  1318. int DISGUISE_TYPE_N_JEDICOUNTF    = 30;
  1319. int DISGUISE_TYPE_N_JEDICOUNTM    = 31;
  1320. int DISGUISE_TYPE_N_JEDIMALEK     = 32;
  1321. int DISGUISE_TYPE_N_JEDIMEMF      = 33;
  1322. int DISGUISE_TYPE_N_JEDIMEMM      = 34;
  1323. int DISGUISE_TYPE_N_MANDALORIAN   = 35;
  1324. int DISGUISE_TYPE_N_RAKATA        = 36;
  1325. int DISGUISE_TYPE_N_REPOFF        = 37;
  1326. int DISGUISE_TYPE_N_REPSOLD       = 38;
  1327. int DISGUISE_TYPE_N_RODIAN        = 39;
  1328. int DISGUISE_TYPE_C_SELKATH       = 40;
  1329. int DISGUISE_TYPE_N_SITHAPPREN    = 41;
  1330. int DISGUISE_TYPE_N_SITHCOMF      = 42;
  1331. int DISGUISE_TYPE_N_SITHCOMM      = 43;
  1332. //int DISGUISE_TYPE_N_SITHSOLDIER   = 44;
  1333. int DISGUISE_TYPE_N_SWOOPGANG     = 45;
  1334. int DISGUISE_TYPE_N_TUSKEN        = 46;
  1335. int DISGUISE_TYPE_N_TWILEKF       = 47;
  1336. int DISGUISE_TYPE_N_TWILEKM       = 48;
  1337. int DISGUISE_TYPE_N_WALRUSMAN     = 49;
  1338. int DISGUISE_TYPE_N_WOOKIEF       = 50;
  1339. int DISGUISE_TYPE_N_WOOKIEM       = 51;
  1340. int DISGUISE_TYPE_N_YODA          = 52;
  1341. int DISGUISE_TYPE_C_BANTHA        = 53;
  1342. int DISGUISE_TYPE_C_BRITH         = 54;
  1343. int DISGUISE_TYPE_C_DEWBACK       = 55;
  1344. int DISGUISE_TYPE_C_DRDASSASSIN   = 56;
  1345. int DISGUISE_TYPE_C_DRDASTRO      = 57;
  1346. int DISGUISE_TYPE_C_DRDG          = 58;
  1347. int DISGUISE_TYPE_C_DRDMKFOUR     = 59;
  1348. int DISGUISE_TYPE_C_DRDMKONE      = 60;
  1349. int DISGUISE_TYPE_C_DRDMKTWO      = 61;
  1350. int DISGUISE_TYPE_C_DRDPROBE      = 62;
  1351. int DISGUISE_TYPE_C_DRDPROT       = 63;
  1352. int DISGUISE_TYPE_C_DRDSENTRY     = 64;
  1353. int DISGUISE_TYPE_C_DRDSPYDER     = 65;
  1354. int DISGUISE_TYPE_C_DRDWAR        = 66;
  1355. int DISGUISE_TYPE_C_FIRIXA        = 67;
  1356. int DISGUISE_TYPE_C_GAMMOREAN     = 68;
  1357. int DISGUISE_TYPE_C_GIZKA         = 69;
  1358. int DISGUISE_TYPE_C_HUTT          = 70;
  1359. int DISGUISE_TYPE_C_IRIAZ         = 71;
  1360. int DISGUISE_TYPE_C_ITHORIAN      = 72;
  1361. int DISGUISE_TYPE_C_JAWA          = 73;
  1362. int DISGUISE_TYPE_C_KATAARN       = 74;
  1363. int DISGUISE_TYPE_C_KHOUNDA       = 75;
  1364. int DISGUISE_TYPE_C_KHOUNDB       = 76;
  1365. int DISGUISE_TYPE_C_KRAYTDRAGON   = 77;
  1366. int DISGUISE_TYPE_C_MYKAL         = 78;
  1367. int DISGUISE_TYPE_C_RAKGHOUL      = 79;
  1368. int DISGUISE_TYPE_C_RANCOR        = 80;
  1369. int DISGUISE_TYPE_C_SEABEAST      = 81;
  1370. //int DISGUISE_TYPE_ = 82;
  1371. int DISGUISE_TYPE_C_TACH          = 83;
  1372. int DISGUISE_TYPE_C_TWOHEAD       = 84;
  1373. int DISGUISE_TYPE_C_VERKAAL       = 85;
  1374. int DISGUISE_TYPE_C_WRAID         = 86;
  1375. int DISGUISE_TYPE_C_RONTO         = 87;
  1376. int DISGUISE_TYPE_C_KINRATH       = 88;
  1377. int DISGUISE_TYPE_C_TUKATA        = 89;
  1378. int DISGUISE_TYPE_N_TUSKENF       = 90;
  1379. int DISGUISE_TYPE_P_FEM_A_SML_01  = 91;
  1380. int DISGUISE_TYPE_P_FEM_A_MED_01  = 92;
  1381. int DISGUISE_TYPE_P_FEM_A_LRG_01  = 93;
  1382. int DISGUISE_TYPE_P_FEM_A_SML_02  = 94;
  1383. int DISGUISE_TYPE_P_FEM_A_MED_02  = 95;
  1384. int DISGUISE_TYPE_P_FEM_A_LRG_02  = 96;
  1385. int DISGUISE_TYPE_P_FEM_A_SML_03  = 97;
  1386. int DISGUISE_TYPE_P_FEM_A_MED_03  = 98;
  1387. int DISGUISE_TYPE_P_FEM_A_LRG_03  = 99;
  1388. int DISGUISE_TYPE_P_FEM_A_SML_04  = 100;
  1389. int DISGUISE_TYPE_P_FEM_A_MED_04  = 101;
  1390. int DISGUISE_TYPE_P_FEM_A_LRG_04  = 102;
  1391. int DISGUISE_TYPE_P_FEM_A_SML_05  = 103;
  1392. int DISGUISE_TYPE_P_FEM_A_MED_05  = 104;
  1393. int DISGUISE_TYPE_P_FEM_A_LRG_05  = 105;
  1394. int DISGUISE_TYPE_P_FEM_B_SML_01  = 106;
  1395. int DISGUISE_TYPE_P_FEM_B_MED_01  = 107;
  1396. int DISGUISE_TYPE_P_FEM_B_LRG_01  = 108;
  1397. int DISGUISE_TYPE_P_FEM_B_SML_02  = 109;
  1398. int DISGUISE_TYPE_P_FEM_B_MED_02  = 110;
  1399. int DISGUISE_TYPE_P_FEM_B_LRG_02  = 111;
  1400. int DISGUISE_TYPE_P_FEM_B_SML_03  = 112;
  1401. int DISGUISE_TYPE_P_FEM_B_MED_03  = 113;
  1402. int DISGUISE_TYPE_P_FEM_B_LRG_03  = 114;
  1403. int DISGUISE_TYPE_P_FEM_B_SML_04  = 115;
  1404. int DISGUISE_TYPE_P_FEM_B_MED_04  = 116;
  1405. int DISGUISE_TYPE_P_FEM_B_LRG_04  = 117;
  1406. int DISGUISE_TYPE_P_FEM_B_SML_05  = 118;
  1407. int DISGUISE_TYPE_P_FEM_B_MED_05  = 119;
  1408. int DISGUISE_TYPE_P_FEM_B_LRG_05  = 120;
  1409. int DISGUISE_TYPE_P_FEM_C_SML_01  = 121;
  1410. int DISGUISE_TYPE_P_FEM_C_MED_01  = 122;
  1411. int DISGUISE_TYPE_P_FEM_C_LRG_01  = 123;
  1412. int DISGUISE_TYPE_P_FEM_C_SML_02  = 124;
  1413. int DISGUISE_TYPE_P_FEM_C_MED_02  = 125;
  1414. int DISGUISE_TYPE_P_FEM_C_LRG_02  = 126;
  1415. int DISGUISE_TYPE_P_FEM_C_SML_03  = 127;
  1416. int DISGUISE_TYPE_P_FEM_C_MED_03  = 128;
  1417. int DISGUISE_TYPE_P_FEM_C_LRG_03  = 129;
  1418. int DISGUISE_TYPE_P_FEM_C_SML_04  = 130;
  1419. int DISGUISE_TYPE_P_FEM_C_MED_04  = 131;
  1420. int DISGUISE_TYPE_P_FEM_C_LRG_04  = 132;
  1421. int DISGUISE_TYPE_P_FEM_C_SML_05  = 133;
  1422. int DISGUISE_TYPE_P_FEM_C_MED_05  = 134;
  1423. int DISGUISE_TYPE_P_FEM_C_LRG_05  = 135;
  1424. int DISGUISE_TYPE_P_MAL_A_SML_01  = 136;
  1425. int DISGUISE_TYPE_P_MAL_A_MED_01  = 137;
  1426. int DISGUISE_TYPE_P_MAL_A_LRG_01  = 138;
  1427. int DISGUISE_TYPE_P_MAL_A_SML_02  = 139;
  1428. int DISGUISE_TYPE_P_MAL_A_MED_02  = 140;
  1429. int DISGUISE_TYPE_P_MAL_A_LRG_02  = 141;
  1430. int DISGUISE_TYPE_P_MAL_A_SML_03  = 142;
  1431. int DISGUISE_TYPE_P_MAL_A_MED_03  = 143;
  1432. int DISGUISE_TYPE_P_MAL_A_LRG_03  = 144;
  1433. int DISGUISE_TYPE_P_MAL_A_SML_04  = 145;
  1434. int DISGUISE_TYPE_P_MAL_A_MED_04  = 146;
  1435. int DISGUISE_TYPE_P_MAL_A_LRG_04  = 147;
  1436. int DISGUISE_TYPE_P_MAL_A_SML_05  = 148;
  1437. int DISGUISE_TYPE_P_MAL_A_MED_05  = 149;
  1438. int DISGUISE_TYPE_P_MAL_A_LRG_05  = 150;
  1439. int DISGUISE_TYPE_P_MAL_B_SML_01  = 151;
  1440. int DISGUISE_TYPE_P_MAL_B_MED_01  = 152;
  1441. int DISGUISE_TYPE_P_MAL_B_LRG_01  = 153;
  1442. int DISGUISE_TYPE_P_MAL_B_SML_02  = 154;
  1443. int DISGUISE_TYPE_P_MAL_B_MED_02  = 155;
  1444. int DISGUISE_TYPE_P_MAL_B_LRG_02  = 156;
  1445. int DISGUISE_TYPE_P_MAL_B_SML_03  = 157;
  1446. int DISGUISE_TYPE_P_MAL_B_MED_03  = 158;
  1447. int DISGUISE_TYPE_P_MAL_B_LRG_03  = 159;
  1448. int DISGUISE_TYPE_P_MAL_B_SML_04  = 160;
  1449. int DISGUISE_TYPE_P_MAL_B_MED_04  = 161;
  1450. int DISGUISE_TYPE_P_MAL_B_LRG_04  = 162;
  1451. int DISGUISE_TYPE_P_MAL_B_SML_05  = 163;
  1452. int DISGUISE_TYPE_P_MAL_B_MED_05  = 164;
  1453. int DISGUISE_TYPE_P_MAL_B_LRG_05  = 165;
  1454. int DISGUISE_TYPE_P_MAL_C_SML_01  = 166;
  1455. int DISGUISE_TYPE_P_MAL_C_MED_01  = 167;
  1456. int DISGUISE_TYPE_P_MAL_C_LRG_01  = 168;
  1457. int DISGUISE_TYPE_P_MAL_C_SML_02  = 169;
  1458. int DISGUISE_TYPE_P_MAL_C_MED_02  = 170;
  1459. int DISGUISE_TYPE_P_MAL_C_LRG_02  = 171;
  1460. int DISGUISE_TYPE_P_MAL_C_SML_03  = 172;
  1461. int DISGUISE_TYPE_P_MAL_C_MED_03  = 173;
  1462. int DISGUISE_TYPE_P_MAL_C_LRG_03  = 174;
  1463. int DISGUISE_TYPE_P_MAL_C_SML_04  = 175;
  1464. int DISGUISE_TYPE_P_MAL_C_MED_04  = 176;
  1465. int DISGUISE_TYPE_P_MAL_C_LRG_04  = 177;
  1466. int DISGUISE_TYPE_P_MAL_C_SML_05  = 178;
  1467. int DISGUISE_TYPE_P_MAL_C_MED_05  = 179;
  1468. int DISGUISE_TYPE_P_MAL_C_LRG_05  = 180;
  1469. int DISGUISE_TYPE_ENVIRONMENTSUIT = 181;
  1470. int DISGUISE_TYPE_TURRET          = 182;
  1471. int DISGUISE_TYPE_TURRET2         = 183;
  1472. int DISGUISE_TYPE_N_DARTHBAND                    = 184;
  1473. int DISGUISE_TYPE_COMMONER_FEM_WHITE             = 185;
  1474. int DISGUISE_TYPE_COMMONER_FEM_BLACK             = 186;
  1475. int DISGUISE_TYPE_COMMONER_FEM_OLD_ASIAN         = 187;
  1476. int DISGUISE_TYPE_COMMONER_FEM_OLD_WHITE         = 188;
  1477. int DISGUISE_TYPE_COMMONER_FEM_OLD_BLACK         = 189;
  1478. int DISGUISE_TYPE_COMMONER_MAL_WHITE             = 190;
  1479. int DISGUISE_TYPE_COMMONER_MAL_BLACK             = 191;
  1480. int DISGUISE_TYPE_COMMONER_MAL_OLD_ASIAN         = 192;
  1481. int DISGUISE_TYPE_COMMONER_MAL_OLD_WHITE         = 193;
  1482. int DISGUISE_TYPE_COMMONER_MAL_OLD_BLACK         = 194;
  1483. int DISGUISE_TYPE_CZERKA_OFFICER_WHITE           = 195;
  1484. int DISGUISE_TYPE_CZERKA_OFFICER_BLACK           = 196;
  1485. int DISGUISE_TYPE_CZERKA_OFFICER_OLD_ASIAN       = 197;
  1486. int DISGUISE_TYPE_CZERKA_OFFICER_OLD_WHITE       = 198;
  1487. int DISGUISE_TYPE_CZERKA_OFFICER_OLD_BLACK       = 199;
  1488. int DISGUISE_TYPE_JEDI_WHITE_FEMALE_02           = 200;
  1489. int DISGUISE_TYPE_JEDI_WHITE_FEMALE_03           = 201;
  1490. int DISGUISE_TYPE_JEDI_WHITE_FEMALE_04           = 202;
  1491. int DISGUISE_TYPE_JEDI_WHITE_FEMALE_05           = 203;
  1492. int DISGUISE_TYPE_JEDI_ASIAN_FEMALE_01           = 204;
  1493. int DISGUISE_TYPE_JEDI_ASIAN_FEMALE_02           = 205;
  1494. int DISGUISE_TYPE_JEDI_ASIAN_FEMALE_03           = 206;
  1495. int DISGUISE_TYPE_JEDI_ASIAN_FEMALE_04           = 207;
  1496. int DISGUISE_TYPE_JEDI_ASIAN_FEMALE_05           = 208;
  1497. int DISGUISE_TYPE_JEDI_BLACK_FEMALE_01           = 209;
  1498. int DISGUISE_TYPE_JEDI_BLACK_FEMALE_02           = 210;
  1499. int DISGUISE_TYPE_JEDI_BLACK_FEMALE_03           = 211;
  1500. int DISGUISE_TYPE_JEDI_BLACK_FEMALE_04           = 212;
  1501. int DISGUISE_TYPE_JEDI_BLACK_FEMALE_05           = 213;
  1502. int DISGUISE_TYPE_JEDI_WHITE_MALE_02             = 214;
  1503. int DISGUISE_TYPE_JEDI_WHITE_MALE_03             = 215;
  1504. int DISGUISE_TYPE_JEDI_WHITE_MALE_04             = 216;
  1505. int DISGUISE_TYPE_JEDI_WHITE_MALE_05             = 217;
  1506. int DISGUISE_TYPE_JEDI_ASIAN_MALE_01             = 218;
  1507. int DISGUISE_TYPE_JEDI_ASIAN_MALE_02             = 219;
  1508. int DISGUISE_TYPE_JEDI_ASIAN_MALE_03             = 220;
  1509. int DISGUISE_TYPE_JEDI_ASIAN_MALE_04             = 221;
  1510. int DISGUISE_TYPE_JEDI_ASIAN_MALE_05             = 222;
  1511. int DISGUISE_TYPE_JEDI_BLACK_MALE_01             = 223;
  1512. int DISGUISE_TYPE_JEDI_BLACK_MALE_02             = 224;
  1513. int DISGUISE_TYPE_JEDI_BLACK_MALE_03             = 225;
  1514. int DISGUISE_TYPE_JEDI_BLACK_MALE_04             = 226;
  1515. int DISGUISE_TYPE_JEDI_BLACK_MALE_05             = 227;
  1516. int DISGUISE_TYPE_HUTT_02                        = 228;
  1517. int DISGUISE_TYPE_HUTT_03                        = 229;
  1518. int DISGUISE_TYPE_HUTT_04                        = 230;
  1519. int DISGUISE_TYPE_DROID_ASTRO_02                 = 231;
  1520. int DISGUISE_TYPE_DROID_ASTRO_03                 = 232;
  1521. int DISGUISE_TYPE_DROID_PROTOCOL_02              = 233;
  1522. int DISGUISE_TYPE_DROID_PROTOCOL_03              = 234;
  1523. int DISGUISE_TYPE_DROID_PROTOCOL_04              = 235;
  1524. int DISGUISE_TYPE_DROID_WAR_02                   = 236;
  1525. int DISGUISE_TYPE_DROID_WAR_03                   = 237;
  1526. int DISGUISE_TYPE_DROID_WAR_04                   = 238;
  1527. int DISGUISE_TYPE_DROID_WAR_05                   = 239;
  1528. int DISGUISE_TYPE_GAMMOREAN_02                   = 240;
  1529. int DISGUISE_TYPE_GAMMOREAN_03                   = 241;
  1530. int DISGUISE_TYPE_GAMMOREAN_04                   = 242;
  1531. int DISGUISE_TYPE_ITHORIAN_02                    = 243;
  1532. int DISGUISE_TYPE_ITHORIAN_03                    = 244;
  1533. int DISGUISE_TYPE_KATH_HOUND_A02                 = 245;
  1534. int DISGUISE_TYPE_KATH_HOUND_A03                 = 246;
  1535. int DISGUISE_TYPE_KATH_HOUND_A04                 = 247;
  1536. int DISGUISE_TYPE_KATH_HOUND_B02                 = 248;
  1537. int DISGUISE_TYPE_KATH_HOUND_B03                 = 249;
  1538. int DISGUISE_TYPE_KATH_HOUND_B04                 = 250;
  1539. int DISGUISE_TYPE_WRAID_02                       = 251;
  1540. int DISGUISE_TYPE_WRAID_03                       = 252;
  1541. int DISGUISE_TYPE_WRAID_04                       = 253;
  1542. int DISGUISE_TYPE_RAKATA_02                      = 254;
  1543. int DISGUISE_TYPE_RAKATA_03                      = 255;
  1544. int DISGUISE_TYPE_RODIAN_02                      = 256;
  1545. int DISGUISE_TYPE_RODIAN_03                      = 257;
  1546. int DISGUISE_TYPE_RODIAN_04                      = 258;
  1547. int DISGUISE_TYPE_SELKATH_02                     = 259;
  1548. int DISGUISE_TYPE_SELKATH_03                     = 260;
  1549. int DISGUISE_TYPE_SITH_SOLDIER_03                = 261;
  1550. int DISGUISE_TYPE_SWOOP_GANG_02                  = 262;
  1551. int DISGUISE_TYPE_SWOOP_GANG_03                  = 263;
  1552. int DISGUISE_TYPE_SWOOP_GANG_04                  = 264;
  1553. int DISGUISE_TYPE_SWOOP_GANG_05                  = 265;
  1554. int DISGUISE_TYPE_TUSKAN_RAIDER_02               = 266;
  1555. int DISGUISE_TYPE_TUSKAN_RAIDER_03               = 267;
  1556. int DISGUISE_TYPE_TUSKAN_RAIDER_04               = 268;
  1557. int DISGUISE_TYPE_TWILEK_MALE_02                 = 269;
  1558. int DISGUISE_TYPE_TWILEK_FEMALE_02               = 270;
  1559. int DISGUISE_TYPE_WOOKIE_MALE_02                 = 271;
  1560. int DISGUISE_TYPE_WOOKIE_MALE_03                 = 272;
  1561. int DISGUISE_TYPE_WOOKIE_MALE_04                 = 273;
  1562. int DISGUISE_TYPE_WOOKIE_MALE_05                 = 274;
  1563. int DISGUISE_TYPE_WOOKIE_FEMALE_02               = 275;
  1564. int DISGUISE_TYPE_WOOKIE_FEMALE_03               = 276;
  1565. int DISGUISE_TYPE_WOOKIE_FEMALE_04               = 277;
  1566. int DISGUISE_TYPE_WOOKIE_FEMALE_05               = 278;
  1567. int DISGUISE_TYPE_ENVIRONMENTSUIT_02             = 279;
  1568. int DISGUISE_TYPE_YUTHURA_BAN                    = 280;
  1569. int DISGUISE_TYPE_SHYRACK_01                     = 281;
  1570. int DISGUISE_TYPE_SHYRACK_02                     = 282;
  1571. int DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_BLACK     = 283;
  1572. int DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_ASIAN = 284;
  1573. int DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_WHITE = 285;
  1574. int DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_BLACK = 286;
  1575. int DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_BLACK     = 287;
  1576. int DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_ASIAN = 288;
  1577. int DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_WHITE = 289;
  1578. int DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_BLACK = 290;
  1579. int DISGUISE_TYPE_SITH_FEM_WHITE                 = 291;
  1580. int DISGUISE_TYPE_SITH_FEM_BLACK                 = 292;
  1581. int DISGUISE_TYPE_SITH_FEM_OLD_ASIAN             = 293;
  1582. int DISGUISE_TYPE_SITH_FEM_OLD_WHITE             = 294;
  1583. int DISGUISE_TYPE_SITH_FEM_OLD_BLACK             = 295;
  1584. int DISGUISE_TYPE_SITH_MAL_WHITE                 = 296;
  1585. int DISGUISE_TYPE_SITH_MAL_BLACK                 = 297;
  1586. int DISGUISE_TYPE_SITH_MAL_OLD_ASIAN             = 298;
  1587. int DISGUISE_TYPE_SITH_MAL_OLD_WHITE             = 299;
  1588. int DISGUISE_TYPE_SITH_MAL_OLD_BLACK             = 300;
  1589. int DISGUISE_TYPE_SITH_FEM_ASIAN                 = 301;
  1590. int DISGUISE_TYPE_SITH_MAL_ASIAN                 = 302;
  1591. int DISGUISE_TYPE_JEDI_WHITE_OLD_MALE            = 303;
  1592. int DISGUISE_TYPE_JEDI_ASIAN_OLD_MALE            = 304;
  1593. int DISGUISE_TYPE_JEDI_BLACK_OLD_MALE            = 305;
  1594. int DISGUISE_TYPE_JEDI_WHITE_OLD_FEM             = 306;
  1595. int DISGUISE_TYPE_JEDI_ASIAN_OLD_FEM             = 307;
  1596. int DISGUISE_TYPE_JEDI_BLACK_OLD_FEM             = 308;
  1597.  
  1598. int PLOT_O_DOOM         = 0;
  1599. int PLOT_O_SCARY_STUFF  = 1;
  1600. int PLOT_O_BIG_MONSTERS = 2;
  1601.  
  1602. int FORMATION_WEDGE = 0;
  1603. int FORMATION_LINE  = 1;
  1604.  
  1605. int SUBSCREEN_ID_NONE             = 0;
  1606. int SUBSCREEN_ID_EQUIP            = 1;
  1607. int SUBSCREEN_ID_ITEM             = 2;
  1608. int SUBSCREEN_ID_CHARACTER_RECORD = 3;
  1609. int SUBSCREEN_ID_ABILITY          = 4;
  1610. int SUBSCREEN_ID_MAP              = 5;
  1611. int SUBSCREEN_ID_QUEST            = 6;
  1612. int SUBSCREEN_ID_OPTIONS          = 7;
  1613. int SUBSCREEN_ID_MESSAGES         = 8;
  1614.  
  1615. int SHIELD_DROID_ENERGY_1         = 0;
  1616. int SHIELD_DROID_ENERGY_2         = 1;
  1617. int SHIELD_DROID_ENERGY_3         = 2;
  1618. int SHIELD_DROID_ENVIRO_1         = 3;
  1619. int SHIELD_DROID_ENVIRO_2         = 4;
  1620. int SHIELD_DROID_ENVIRO_3         = 5;
  1621. int SHIELD_ENERGY                 = 6;
  1622. int SHIELD_ENERGY_SITH            = 7;
  1623. int SHIELD_ENERGY_ARKANIAN        = 8;
  1624. int SHIELD_ECHANI                 = 9;
  1625. int SHIELD_MANDALORIAN_MELEE      = 10;
  1626. int SHIELD_MANDALORIAN_POWER      = 11;
  1627. int SHIELD_DUELING_ECHANI         = 12;
  1628. int SHIELD_DUELING_YUSANIS        = 13;
  1629. int SHIELD_VERPINE_PROTOTYPE      = 14;
  1630. int SHIELD_ANTIQUE_DROID          = 15;
  1631. int SHIELD_PLOT_TAR_M09AA         = 16;
  1632. int SHIELD_PLOT_UNK_M44AA         = 17;
  1633.  
  1634. int SUBRACE_NONE   = 0;
  1635. int SUBRACE_WOOKIE = 1;
  1636.  
  1637. int VIDEO_EFFECT_NONE              = -1;
  1638. int VIDEO_EFFECT_SECURITY_CAMERA   = 0;
  1639. int VIDEO_EFFECT_FREELOOK_T3M4     = 1;
  1640. int VIDEO_EFFECT_FREELOOK_HK47     = 2;
  1641.  
  1642. int TUTORIAL_WINDOW_START_SWOOP_RACE = 0;
  1643. int TUTORIAL_WINDOW_RETURN_TO_BASE   = 1;
  1644. int TUTORIAL_WINDOW_MOVEMENT_KEYS    = 2;
  1645.  
  1646. int MOVEMENT_SPEED_PC       = 0;
  1647. int MOVEMENT_SPEED_IMMOBILE     = 1;
  1648. int MOVEMENT_SPEED_VERYSLOW     = 2;
  1649. int MOVEMENT_SPEED_SLOW     = 3;
  1650. int MOVEMENT_SPEED_NORMAL   = 4;
  1651. int MOVEMENT_SPEED_FAST     = 5;
  1652. int MOVEMENT_SPEED_VERYFAST = 6;
  1653. int MOVEMENT_SPEED_DEFAULT      = 7;
  1654. int MOVEMENT_SPEED_DMFAST       = 8;
  1655.  
  1656. int LIVE_CONTENT_PKG1 = 1;
  1657. int LIVE_CONTENT_PKG2 = 2;
  1658. int LIVE_CONTENT_PKG3 = 3;
  1659. int LIVE_CONTENT_PKG4 = 4;
  1660. int LIVE_CONTENT_PKG5 = 5;
  1661. int LIVE_CONTENT_PKG6 = 6;
  1662.  
  1663.  
  1664. string sLanguage = "nwscript";
  1665.  
  1666.  
  1667. // 0: Get an integer between 0 and nMaxInteger-1.
  1668. // Return value on error: 0
  1669. int Random(int nMaxInteger);
  1670.  
  1671. // 1: Output sString to the log file.
  1672. void PrintString(string sString);
  1673.  
  1674. // 2: Output a formatted float to the log file.
  1675. // - nWidth should be a value from 0 to 18 inclusive.
  1676. // - nDecimals should be a value from 0 to 9 inclusive.
  1677. void PrintFloat(float fFloat, int nWidth=18, int nDecimals=9);
  1678.  
  1679. // 3: Convert fFloat into a string.
  1680. // - nWidth should be a value from 0 to 18 inclusive.
  1681. // - nDecimals should be a value from 0 to 9 inclusive.
  1682. string FloatToString(float fFloat, int nWidth=18, int nDecimals=9);
  1683.  
  1684. // 4: Output nInteger to the log file.
  1685. void PrintInteger(int nInteger);
  1686.  
  1687. // 5: Output oObject's ID to the log file.
  1688. void PrintObject(object oObject);
  1689.  
  1690. // 6: Assign aActionToAssign to oActionSubject.
  1691. // * No return value, but if an error occurs, the log file will contain
  1692. //   "AssignCommand failed."
  1693. //   (If the object doesn't exist, nothing happens.)
  1694. void AssignCommand(object oActionSubject,action aActionToAssign);
  1695.  
  1696. // 7: Delay aActionToDelay by fSeconds.
  1697. // * No return value, but if an error occurs, the log file will contain
  1698. //   "DelayCommand failed.".
  1699. void DelayCommand(float fSeconds, action aActionToDelay);
  1700.  
  1701. // 8: Make oTarget run sScript and then return execution to the calling script.
  1702. // If sScript does not specify a compiled script, nothing happens.
  1703. // - nScriptVar: This value will be returned by calls to GetRunScriptVar.
  1704. void ExecuteScript(string sScript, object oTarget, int nScriptVar=-1);
  1705.  
  1706. // 9: Clear all the actions of the caller. (This will only work on Creatures)
  1707. // * No return value, but if an error occurs, the log file will contain
  1708. //   "ClearAllActions failed.".
  1709. void ClearAllActions();
  1710.  
  1711. // 10: Cause the caller to face fDirection.
  1712. // - fDirection is expressed as anticlockwise degrees from Due East.
  1713. //   DIRECTION_EAST, DIRECTION_NORTH, DIRECTION_WEST and DIRECTION_SOUTH are
  1714. //   predefined. (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South)
  1715. void SetFacing(float fDirection);
  1716.  
  1717. // 11: Switches the main character to a specified NPC
  1718. //     -1 specifies to switch back to the original PC
  1719. int SwitchPlayerCharacter(int nNPC);
  1720.  
  1721. // 12: Set the time to the time specified.
  1722. // - nHour should be from 0 to 23 inclusive
  1723. // - nMinute should be from 0 to 59 inclusive
  1724. // - nSecond should be from 0 to 59 inclusive
  1725. // - nMillisecond should be from 0 to 999 inclusive
  1726. // 1) Time can only be advanced forwards; attempting to set the time backwards
  1727. //    will result in the day advancing and then the time being set to that
  1728. //    specified, e.g. if the current hour is 15 and then the hour is set to 3,
  1729. //    the day will be advanced by 1 and the hour will be set to 3.
  1730. // 2) If values larger than the max hour, minute, second or millisecond are
  1731. //    specified, they will be wrapped around and the overflow will be used to
  1732. //    advance the next field, e.g. specifying 62 hours, 250 minutes, 10 seconds
  1733. //    and 10 milliseconds will result in the calendar day being advanced by 2
  1734. //    and the time being set to 18 hours, 10 minutes, 10 milliseconds.
  1735. void SetTime(int nHour,int nMinute,int nSecond,int nMillisecond);
  1736.  
  1737. // 13: Sets (by NPC constant) which party member should be the controlled
  1738. //     character
  1739. int SetPartyLeader(int nNPC);
  1740.  
  1741. // 14: Sets whether the current area is escapable or not
  1742. // TRUE means you can not escape the area
  1743. // FALSE means you can escape the area
  1744. void SetAreaUnescapable(int bUnescapable);
  1745.  
  1746. // 15: Returns whether the current area is escapable or not
  1747. // TRUE means you can not escape the area
  1748. // FALSE means you can escape the area
  1749. int GetAreaUnescapable();
  1750.  
  1751. // 16: Get the current hour.
  1752. int GetTimeHour();
  1753.  
  1754. // 17: Get the current minute
  1755. int GetTimeMinute();
  1756.  
  1757. // 18: Get the current second
  1758. int GetTimeSecond();
  1759.  
  1760. // 19: Get the current millisecond
  1761. int GetTimeMillisecond();
  1762.  
  1763. // 20: The action subject will generate a random location near its current location
  1764. // and pathfind to it.  All commands will remove a RandomWalk() from the action
  1765. // queue if there is one in place.
  1766. // * No return value, but if an error occurs the log file will contain
  1767. //   "ActionRandomWalk failed."
  1768. void ActionRandomWalk();
  1769.  
  1770. // 21: The action subject will move to lDestination.
  1771. // - lDestination: The object will move to this location.  If the location is
  1772. //   invalid or a path cannot be found to it, the command does nothing.
  1773. // - bRun: If this is TRUE, the action subject will run rather than walk
  1774. // * No return value, but if an error occurs the log file will contain
  1775. //   "MoveToPoint failed."
  1776. void ActionMoveToLocation(location lDestination, int bRun=FALSE);
  1777.  
  1778. // 22: Cause the action subject to move to a certain distance from oMoveTo.
  1779. // If there is no path to oMoveTo, this command will do nothing.
  1780. // - oMoveTo: This is the object we wish the action subject to move to
  1781. // - bRun: If this is TRUE, the action subject will run rather than walk
  1782. // - fRange: This is the desired distance between the action subject and oMoveTo
  1783. // * No return value, but if an error occurs the log file will contain
  1784. //   "ActionMoveToObject failed."
  1785. void ActionMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f);
  1786.  
  1787. // 23: Cause the action subject to move to a certain distance away from oFleeFrom.
  1788. // - oFleeFrom: This is the object we wish the action subject to move away from.
  1789. //   If oFleeFrom is not in the same area as the action subject, nothing will
  1790. //   happen.
  1791. // - bRun: If this is TRUE, the action subject will run rather than walk
  1792. // - fMoveAwayRange: This is the distance we wish the action subject to put
  1793. //   between themselves and oFleeFrom
  1794. // * No return value, but if an error occurs the log file will contain
  1795. //   "ActionMoveAwayFromObject failed."
  1796. void ActionMoveAwayFromObject(object oFleeFrom, int bRun=FALSE, float fMoveAwayRange=40.0f);
  1797.  
  1798. // 24: Get the area that oTarget is currently in
  1799. // * Return value on error: OBJECT_INVALID
  1800. object GetArea(object oTarget);
  1801.  
  1802. // 25: The value returned by this function depends on the object type of the caller:
  1803. // 1) If the caller is a door or placeable it returns the object that last
  1804. //    triggered it.
  1805. // 2) If the caller is a trigger, area of effect, module, area or encounter it
  1806. //    returns the object that last entered it.
  1807. // * Return value on error: OBJECT_INVALID
  1808. object GetEnteringObject();
  1809.  
  1810. // 26: Get the object that last left the caller.  This function works on triggers,
  1811. // areas of effect, modules, areas and encounters.
  1812. // * Return value on error: OBJECT_INVALID
  1813. object GetExitingObject();
  1814.  
  1815. // 27: Get the position of oTarget
  1816. // * Return value on error: vector (0.0f, 0.0f, 0.0f)
  1817. vector GetPosition(object oTarget);
  1818.  
  1819. // 28: Get the direction in which oTarget is facing, expressed as a float between
  1820. // 0.0f and 360.0f
  1821. // * Return value on error: -1.0f
  1822. float GetFacing(object oTarget);
  1823.  
  1824. // 29: Get the possessor of oItem
  1825. // * Return value on error: OBJECT_INVALID
  1826. object GetItemPossessor(object oItem);
  1827.  
  1828. // 30: Get the object possessed by oCreature with the tag sItemTag
  1829. // * Return value on error: OBJECT_INVALID
  1830. object GetItemPossessedBy(object oCreature, string sItemTag);
  1831.  
  1832. // 31: Create an item with the template sItemTemplate in oTarget's inventory.
  1833. // - nStackSize: This is the stack size of the item to be created
  1834. // * Return value: The object that has been created.  On error, this returns
  1835. //   OBJECT_INVALID.
  1836. object CreateItemOnObject(string sItemTemplate, object oTarget=OBJECT_SELF, int nStackSize=1);
  1837.  
  1838. // 32: Equip oItem into nInventorySlot.
  1839. // - nInventorySlot: INVENTORY_SLOT_*
  1840. // * No return value, but if an error occurs the log file will contain
  1841. //   "ActionEquipItem failed."
  1842. void ActionEquipItem(object oItem, int nInventorySlot, int bInstant=FALSE);
  1843.  
  1844. // 33: Unequip oItem from whatever slot it is currently in.
  1845. void ActionUnequipItem( object oItem, int bInstant = FALSE );
  1846.  
  1847. // 34: Pick up oItem from the ground.
  1848. // * No return value, but if an error occurs the log file will contain
  1849. //   "ActionPickUpItem failed."
  1850. void ActionPickUpItem(object oItem);
  1851.  
  1852. // 35: Put down oItem on the ground.
  1853. // * No return value, but if an error occurs the log file will contain
  1854. //   "ActionPutDownItem failed."
  1855. void ActionPutDownItem(object oItem);
  1856.  
  1857. // 36: Get the last attacker of oAttackee.  This should only be used ONLY in the
  1858. // OnAttacked events for creatures, placeables and doors.
  1859. // * Return value on error: OBJECT_INVALID
  1860. object GetLastAttacker(object oAttackee=OBJECT_SELF);
  1861.  
  1862. // 37: Attack oAttackee.
  1863. // - bPassive: If this is TRUE, attack is in passive mode.
  1864. void ActionAttack(object oAttackee, int bPassive=FALSE);
  1865.  
  1866. // 38: Get the creature nearest to oTarget, subject to all the criteria specified.
  1867. // - nFirstCriteriaType: CREATURE_TYPE_*
  1868. // - nFirstCriteriaValue:
  1869. //   -> CLASS_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_CLASS
  1870. //   -> SPELL_* if nFirstCriteriaType was CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT
  1871. //      or CREATURE_TYPE_HAS_SPELL_EFFECT
  1872. //   -> TRUE or FALSE if nFirstCriteriaType was CREATURE_TYPE_IS_ALIVE
  1873. //   -> PERCEPTION_* if nFirstCriteriaType was CREATURE_TYPE_PERCEPTION
  1874. //   -> PLAYER_CHAR_IS_PC or PLAYER_CHAR_NOT_PC if nFirstCriteriaType was
  1875. //      CREATURE_TYPE_PLAYER_CHAR
  1876. //   -> RACIAL_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_RACIAL_TYPE
  1877. //   -> REPUTATION_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_REPUTATION
  1878. //   For example, to get the nearest PC, use:
  1879. //   (CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC)
  1880. // - oTarget: We're trying to find the creature of the specified type that is
  1881. //   nearest to oTarget
  1882. // - nNth: We don't have to find the first nearest: we can find the Nth nearest...
  1883. // - nSecondCriteriaType: This is used in the same way as nFirstCriteriaType to
  1884. //   further specify the type of creature that we are looking for.
  1885. // - nSecondCriteriaValue: This is used in the same way as nFirstCriteriaValue
  1886. //   to further specify the type of creature that we are looking for.
  1887. // - nThirdCriteriaType: This is used in the same way as nFirstCriteriaType to
  1888. //   further specify the type of creature that we are looking for.
  1889. // - nThirdCriteriaValue: This is used in the same way as nFirstCriteriaValue to
  1890. //   further specify the type of creature that we are looking for.
  1891. // * Return value on error: OBJECT_INVALID
  1892. object GetNearestCreature(int nFirstCriteriaType, int nFirstCriteriaValue, object oTarget=OBJECT_SELF, int nNth=1, int nSecondCriteriaType=-1, int nSecondCriteriaValue=-1, int nThirdCriteriaType=-1,  int nThirdCriteriaValue=-1 );
  1893.  
  1894. // 39: Add a speak action to the action subject.
  1895. // - sStringToSpeak: String to be spoken
  1896. // - nTalkVolume: TALKVOLUME_*
  1897. void ActionSpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK);
  1898.  
  1899. // 40: Cause the action subject to play an animation
  1900. // - nAnimation: ANIMATION_*
  1901. // - fSpeed: Speed of the animation
  1902. // - fDurationSeconds: Duration of the animation (this is not used for Fire and
  1903. //   Forget animations) If a time of -1.0f is specified for a looping animation
  1904. //   it will loop until the next animation is applied.
  1905. void ActionPlayAnimation(int nAnimation, float fSpeed=1.0, float fDurationSeconds=0.0);
  1906.  
  1907. // 41: Get the distance from the caller to oObject in metres.
  1908. // * Return value on error: -1.0f
  1909. float GetDistanceToObject(object oObject);
  1910.  
  1911. // 42: * Returns TRUE if oObject is a valid object.
  1912. int GetIsObjectValid(object oObject);
  1913.  
  1914. // 43: Cause the action subject to open oDoor
  1915. void ActionOpenDoor(object oDoor);
  1916.  
  1917. // 44: Cause the action subject to close oDoor
  1918. void ActionCloseDoor(object oDoor);
  1919.  
  1920. // 45: Change the direction in which the camera is facing
  1921. // - fDirection is expressed as anticlockwise degrees from Due East.
  1922. //   (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South)
  1923. // This can be used to change the way the camera is facing after the player
  1924. // emerges from an area transition.
  1925. void SetCameraFacing(float fDirection);
  1926.  
  1927. // 46: Play sSoundName
  1928. // - sSoundName: TBD - SS
  1929. void PlaySound(string sSoundName);
  1930.  
  1931. // 47: Get the object at which the caller last cast a spell
  1932. // * Return value on error: OBJECT_INVALID
  1933. object GetSpellTargetObject();
  1934.  
  1935. // 48: This action casts a spell at oTarget.
  1936. // - nSpell: SPELL_*
  1937. // - oTarget: Target for the spell
  1938. // - nMetamagic: METAMAGIC_*
  1939. // - bCheat: If this is TRUE, then the executor of the action doesn't have to be
  1940. //   able to cast the spell.
  1941. // - nDomainLevel: TBD - SS
  1942. // - nProjectilePathType: PROJECTILE_PATH_TYPE_*
  1943. // - bInstantSpell: If this is TRUE, the spell is cast immediately. This allows
  1944. //   the end-user to simulate a high-level magic-user having lots of advance
  1945. //   warning of impending trouble
  1946. void ActionCastSpellAtObject(int nSpell, object oTarget, int nMetaMagic=0 , int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE);
  1947.  
  1948. // 49: Get the current hitpoints of oObject
  1949. // * Return value on error: 0
  1950. int GetCurrentHitPoints(object oObject=OBJECT_SELF);
  1951.  
  1952. // 50: Get the maximum hitpoints of oObject
  1953. // * Return value on error: 0
  1954. int GetMaxHitPoints(object oObject=OBJECT_SELF);
  1955.  
  1956. // 51: EffectAssuredHit
  1957. // Create an Assured Hit effect, which guarantees that all attacks are successful
  1958. effect EffectAssuredHit();
  1959.  
  1960. // 52:
  1961. // Returns the last item that was equipped by a creature.
  1962. object GetLastItemEquipped();
  1963.  
  1964. // 53:
  1965. // Returns the ID of the subscreen that is currently onscreen.  This will be one of the
  1966. // SUBSCREEN_ID_* constant values.
  1967. int GetSubScreenID();
  1968.  
  1969. // 54:
  1970. // Cancels combat for the specified creature.
  1971. void CancelCombat( object oidCreature );
  1972.  
  1973. // 55:
  1974. // returns the current force points for the creature
  1975. int GetCurrentForcePoints(object oObject=OBJECT_SELF);
  1976.  
  1977. // 56:
  1978. // returns the Max force points for the creature
  1979. int GetMaxForcePoints(object oObject=OBJECT_SELF);
  1980.  
  1981. // 57:
  1982. // Pauses the game if bPause is TRUE.  Unpauses if bPause is FALSE.
  1983. void PauseGame( int bPause );
  1984.  
  1985. // 58: SetPlayerRestrictMode
  1986. // Sets whether the player is currently in 'restricted' mode
  1987. void SetPlayerRestrictMode( int bRestrict );
  1988.  
  1989. // 59: Get the length of sString
  1990. // * Return value on error: -1
  1991. int GetStringLength(string sString);
  1992.  
  1993. // 60: Convert sString into upper case
  1994. // * Return value on error: ""
  1995. string GetStringUpperCase(string sString);
  1996.  
  1997. // 61: Convert sString into lower case
  1998. // * Return value on error: ""
  1999. string GetStringLowerCase(string sString);
  2000.  
  2001. // 62: Get nCount characters from the right end of sString
  2002. // * Return value on error: ""
  2003. string GetStringRight(string sString, int nCount);
  2004.  
  2005. // 63: Get nCounter characters from the left end of sString
  2006. // * Return value on error: ""
  2007. string GetStringLeft(string sString, int nCount);
  2008.  
  2009. // 64: Insert sString into sDestination at nPosition
  2010. // * Return value on error: ""
  2011. string InsertString(string sDestination, string sString, int nPosition);
  2012.  
  2013. // 65: Get nCount characters from sString, starting at nStart
  2014. // * Return value on error: ""
  2015. string GetSubString(string sString, int nStart, int nCount);
  2016.  
  2017. // 66: Find the position of sSubstring inside sString
  2018. // * Return value on error: -1
  2019. int FindSubString(string sString, string sSubString);
  2020.  
  2021. // 67: Maths operation: absolute value of fValue
  2022. float fabs(float fValue);
  2023.  
  2024. // 68: Maths operation: cosine of fValue
  2025. float cos(float fValue);
  2026.  
  2027. // 69: Maths operation: sine of fValue
  2028. float sin(float fValue);
  2029.  
  2030. // 70: Maths operation: tan of fValue
  2031. float tan(float fValue);
  2032.  
  2033. // 71: Maths operation: arccosine of fValue
  2034. // * Returns zero if fValue > 1 or fValue < -1
  2035. float acos(float fValue);
  2036.  
  2037. // 72: Maths operation: arcsine of fValue
  2038. // * Returns zero if fValue >1 or fValue < -1
  2039. float asin(float fValue);
  2040.  
  2041. // 73: Maths operation: arctan of fValue
  2042. float atan(float fValue);
  2043.  
  2044. // 74: Maths operation: log of fValue
  2045. // * Returns zero if fValue <= zero
  2046. float log(float fValue);
  2047.  
  2048. // 75: Maths operation: fValue is raised to the power of fExponent
  2049. // * Returns zero if fValue ==0 and fExponent <0
  2050. float pow(float fValue, float fExponent);
  2051.  
  2052. // 76: Maths operation: square root of fValue
  2053. // * Returns zero if fValue <0
  2054. float sqrt(float fValue);
  2055.  
  2056. // 77: Maths operation: integer absolute value of nValue
  2057. // * Return value on error: 0
  2058. int abs(int nValue);
  2059.  
  2060. // 78: Create a Heal effect. This should be applied as an instantaneous effect.
  2061. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nDamageToHeal < 0.
  2062. effect EffectHeal(int nDamageToHeal);
  2063.  
  2064. // 79: Create a Damage effect
  2065. // - nDamageAmount: amount of damage to be dealt. This should be applied as an
  2066. //   instantaneous effect.
  2067. // - nDamageType: DAMAGE_TYPE_*
  2068. // - nDamagePower: DAMAGE_POWER_*
  2069. effect EffectDamage(int nDamageAmount, int nDamageType=DAMAGE_TYPE_UNIVERSAL, int nDamagePower=DAMAGE_POWER_NORMAL);
  2070.  
  2071. // 80: Create an Ability Increase effect
  2072. // - bAbilityToIncrease: ABILITY_*
  2073. effect EffectAbilityIncrease(int nAbilityToIncrease, int nModifyBy);
  2074.  
  2075. // 81: Create a Damage Resistance effect that removes the first nAmount points of
  2076. // damage of type nDamageType, up to nLimit (or infinite if nLimit is 0)
  2077. // - nDamageType: DAMAGE_TYPE_*
  2078. // - nAmount
  2079. // - nLimit
  2080. effect EffectDamageResistance(int nDamageType, int nAmount, int nLimit=0);
  2081.  
  2082. // 82: Create a Resurrection effect. This should be applied as an instantaneous effect.
  2083. effect EffectResurrection();
  2084.  
  2085. // 83: GetPlayerRestrictMode
  2086. // returns the current player 'restricted' mode
  2087. int GetPlayerRestrictMode(object oObject = OBJECT_SELF);
  2088.  
  2089. // 84: Get the Caster Level of oCreature.
  2090. // * Return value on error: 0;
  2091. int GetCasterLevel(object oCreature);
  2092.  
  2093. // 85: Get the first in-game effect on oCreature.
  2094. effect GetFirstEffect(object oCreature);
  2095.  
  2096. // 86: Get the next in-game effect on oCreature.
  2097. effect GetNextEffect(object oCreature);
  2098.  
  2099. // 87: Remove eEffect from oCreature.
  2100. // * No return value
  2101. void RemoveEffect(object oCreature, effect eEffect);
  2102.  
  2103. // 88: * Returns TRUE if eEffect is a valid effect.
  2104. int GetIsEffectValid(effect eEffect);
  2105.  
  2106. // 89: Get the duration type (DURATION_TYPE_*) of eEffect.
  2107. // * Return value if eEffect is not valid: -1
  2108. int GetEffectDurationType(effect eEffect);
  2109.  
  2110. // 90: Get the subtype (SUBTYPE_*) of eEffect.
  2111. // * Return value on error: 0
  2112. int GetEffectSubType(effect eEffect);
  2113.  
  2114. // 91: Get the object that created eEffect.
  2115. // * Returns OBJECT_INVALID if eEffect is not a valid effect.
  2116. object GetEffectCreator(effect eEffect);
  2117.  
  2118. // 92: Convert nInteger into a string.
  2119. // * Return value on error: ""
  2120. string IntToString(int nInteger);
  2121.  
  2122. // 93: Get the first object in oArea.
  2123. // If no valid area is specified, it will use the caller's area.
  2124. // - oArea
  2125. // - nObjectFilter: OBJECT_TYPE_*
  2126. // * Return value on error: OBJECT_INVALID
  2127. object GetFirstObjectInArea(object oArea=OBJECT_INVALID, int nObjectFilter=OBJECT_TYPE_CREATURE);
  2128.  
  2129. // 94: Get the next object in oArea.
  2130. // If no valid area is specified, it will use the caller's area.
  2131. // - oArea
  2132. // - nObjectFilter: OBJECT_TYPE_*
  2133. // * Return value on error: OBJECT_INVALID
  2134. object GetNextObjectInArea(object oArea=OBJECT_INVALID, int nObjectFilter=OBJECT_TYPE_CREATURE);
  2135.  
  2136. // 95: Get the total from rolling (nNumDice x d2 dice).
  2137. // - nNumDice: If this is less than 1, the value 1 will be used.
  2138. int d2(int nNumDice=1);
  2139.  
  2140. // 96: Get the total from rolling (nNumDice x d3 dice).
  2141. // - nNumDice: If this is less than 1, the value 1 will be used.
  2142. int d3(int nNumDice=1);
  2143.  
  2144. // 97: Get the total from rolling (nNumDice x d4 dice).
  2145. // - nNumDice: If this is less than 1, the value 1 will be used.
  2146. int d4(int nNumDice=1);
  2147.  
  2148. // 98: Get the total from rolling (nNumDice x d6 dice).
  2149. // - nNumDice: If this is less than 1, the value 1 will be used.
  2150. int d6(int nNumDice=1);
  2151.  
  2152. // 99: Get the total from rolling (nNumDice x d8 dice).
  2153. // - nNumDice: If this is less than 1, the value 1 will be used.
  2154. int d8(int nNumDice=1);
  2155.  
  2156. // 100: Get the total from rolling (nNumDice x d10 dice).
  2157. // - nNumDice: If this is less than 1, the value 1 will be used.
  2158. int d10(int nNumDice=1);
  2159.  
  2160. // 101: Get the total from rolling (nNumDice x d12 dice).
  2161. // - nNumDice: If this is less than 1, the value 1 will be used.
  2162. int d12(int nNumDice=1);
  2163.  
  2164. // 102: Get the total from rolling (nNumDice x d20 dice).
  2165. // - nNumDice: If this is less than 1, the value 1 will be used.
  2166. int d20(int nNumDice=1);
  2167.  
  2168. // 103: Get the total from rolling (nNumDice x d100 dice).
  2169. // - nNumDice: If this is less than 1, the value 1 will be used.
  2170. int d100(int nNumDice=1);
  2171.  
  2172. // 104: Get the magnitude of vVector; this can be used to determine the
  2173. // distance between two points.
  2174. // * Return value on error: 0.0f
  2175. float VectorMagnitude(vector vVector);
  2176.  
  2177. // 105: Get the metamagic type (METAMAGIC_*) of the last spell cast by the caller
  2178. // * Return value if the caster is not a valid object: -1
  2179. int GetMetaMagicFeat();
  2180.  
  2181. // 106: Get the object type (OBJECT_TYPE_*) of oTarget
  2182. // * Return value if oTarget is not a valid object: -1
  2183. int GetObjectType(object oTarget);
  2184.  
  2185. // 107: Get the racial type (RACIAL_TYPE_*) of oCreature
  2186. // * Return value if oCreature is not a valid creature: RACIAL_TYPE_INVALID
  2187. int GetRacialType(object oCreature);
  2188.  
  2189. // 108: Do a Fortitude Save check for the given DC
  2190. // - oCreature
  2191. // - nDC: Difficulty check
  2192. // - nSaveType: SAVING_THROW_TYPE_*
  2193. // - oSaveVersus
  2194. // Returns: 0 if the saving throw roll failed
  2195. // Returns: 1 if the saving throw roll succeeded
  2196. // Returns: 2 if the target was immune to the save type specified
  2197. int FortitudeSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);
  2198.  
  2199. // 109: Does a Reflex Save check for the given DC
  2200. // - oCreature
  2201. // - nDC: Difficulty check
  2202. // - nSaveType: SAVING_THROW_TYPE_*
  2203. // - oSaveVersus
  2204. // Returns: 0 if the saving throw roll failed
  2205. // Returns: 1 if the saving throw roll succeeded
  2206. // Returns: 2 if the target was immune to the save type specified
  2207. int ReflexSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);
  2208.  
  2209. // 110: Does a Will Save check for the given DC
  2210. // - oCreature
  2211. // - nDC: Difficulty check
  2212. // - nSaveType: SAVING_THROW_TYPE_*
  2213. // - oSaveVersus
  2214. // Returns: 0 if the saving throw roll failed
  2215. // Returns: 1 if the saving throw roll succeeded
  2216. // Returns: 2 if the target was immune to the save type specified
  2217. int WillSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);
  2218.  
  2219. // 111: Get the DC to save against for a spell (10 + spell level + relevant ability
  2220. // bonus).  This can be called by a creature or by an Area of Effect object.
  2221. int GetSpellSaveDC();
  2222.  
  2223. // 112: Set the subtype of eEffect to Magical and return eEffect.
  2224. // (Effects default to magical if the subtype is not set)
  2225. effect MagicalEffect(effect eEffect);
  2226.  
  2227. // 113: Set the subtype of eEffect to Supernatural and return eEffect.
  2228. // (Effects default to magical if the subtype is not set)
  2229. effect SupernaturalEffect(effect eEffect);
  2230.  
  2231. // 114: Set the subtype of eEffect to Extraordinary and return eEffect.
  2232. // (Effects default to magical if the subtype is not set)
  2233. effect ExtraordinaryEffect(effect eEffect);
  2234.  
  2235. // 115: Create an AC Increase effect
  2236. // - nValue: size of AC increase
  2237. // - nModifyType: AC_*_BONUS
  2238. // - nDamageType: DAMAGE_TYPE_*
  2239. //   * Default value for nDamageType should only ever be used in this function prototype.
  2240. effect EffectACIncrease(int nValue, int nModifyType=AC_DODGE_BONUS, int nDamageType=AC_VS_DAMAGE_TYPE_ALL);
  2241.  
  2242. // 116: If oObject is a creature, this will return that creature's armour class
  2243. // If oObject is an item, door or placeable, this will return zero.
  2244. // - nForFutureUse: this parameter is not currently used
  2245. // * Return value if oObject is not a creature, item, door or placeable: -1
  2246. int GetAC(object oObject, int nForFutureUse=0);
  2247.  
  2248. // 117: Create an AC Decrease effect
  2249. // - nSave: SAVING_THROW_* (not SAVING_THROW_TYPE_*)
  2250. // - nValue: size of AC decrease
  2251. // - nSaveType: SAVING_THROW_TYPE_*
  2252. effect EffectSavingThrowIncrease(int nSave, int nValue, int nSaveType=SAVING_THROW_TYPE_ALL);
  2253.  
  2254. // 118: Create an Attack Increase effect
  2255. // - nBonus: size of attack bonus
  2256. // - nModifierType: ATTACK_BONUS_*
  2257. effect EffectAttackIncrease(int nBonus, int nModifierType=ATTACK_BONUS_MISC);
  2258.  
  2259. // 119: Create a Damage Reduction effect
  2260. // - nAmount: amount of damage reduction
  2261. // - nDamagePower: DAMAGE_POWER_*
  2262. // - nLimit: How much damage the effect can absorb before disappearing.
  2263. //   Set to zero for infinite
  2264. effect EffectDamageReduction(int nAmount, int nDamagePower, int nLimit=0);
  2265.  
  2266. // 120: Create a Damage Increase effect
  2267. // - nBonus: DAMAGE_BONUS_*
  2268. // - nDamageType: DAMAGE_TYPE_*
  2269. effect EffectDamageIncrease(int nBonus, int nDamageType=DAMAGE_TYPE_UNIVERSAL);
  2270.  
  2271. // 121: Convert nRounds into a number of seconds
  2272. // A round is always 6.0 seconds
  2273. float RoundsToSeconds(int nRounds);
  2274.  
  2275. // 122: Convert nHours into a number of seconds
  2276. // The result will depend on how many minutes there are per hour (game-time)
  2277. float HoursToSeconds(int nHours);
  2278.  
  2279. // 123: Convert nTurns into a number of seconds
  2280. // A turn is always 60.0 seconds
  2281. float TurnsToSeconds(int nTurns);
  2282.  
  2283. // 124. SoundObjectSetFixedVariance
  2284. // Sets the constant variance at which to play the sound object
  2285. // This variance is a multiplier of the original sound
  2286. void SoundObjectSetFixedVariance( object oSound, float fFixedVariance );
  2287.  
  2288. // 125: Get an integer between 0 and 100 (inclusive) to represent oCreature's
  2289. // Good/Evil alignment
  2290. // (100=good, 0=evil)
  2291. // * Return value if oCreature is not a valid creature: -1
  2292. int GetGoodEvilValue(object oCreature);
  2293.  
  2294. // 126: GetPartyMemberCount
  2295. // Returns a count of how many members are in the party including the player character
  2296. int GetPartyMemberCount();
  2297.  
  2298. // 127: Return an ALIGNMENT_* constant to represent oCreature's good/evil alignment
  2299. // * Return value if oCreature is not a valid creature: -1
  2300. int GetAlignmentGoodEvil(object oCreature);
  2301.  
  2302. // 128: Get the first object in nShape
  2303. // - nShape: SHAPE_*
  2304. // - fSize:
  2305. //   -> If nShape == SHAPE_SPHERE, this is the radius of the sphere
  2306. //   -> If nShape == SHAPE_SPELLCYLINDER, this is the radius of the cylinder
  2307. //   -> If nShape == SHAPE_CONE, this is the widest radius of the cone
  2308. //   -> If nShape == SHAPE_CUBE, this is half the length of one of the sides of
  2309. //      the cube
  2310. // - lTarget: This is the centre of the effect, usually GetSpellTargetPosition(),
  2311. //   or the end of a cylinder or cone.
  2312. // - bLineOfSight: This controls whether to do a line-of-sight check on the
  2313. //   object returned.
  2314. //   (This can be used to ensure that spell effects do not go through walls.)
  2315. // - nObjectFilter: This allows you to filter out undesired object types, using
  2316. //   bitwise "or".
  2317. //   For example, to return only creatures and doors, the value for this
  2318. //   parameter would be OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR
  2319. // - vOrigin: This is only used for cylinders and cones, and specifies the
  2320. //   origin of the effect(normally the spell-caster's position).
  2321. // Return value on error: OBJECT_INVALID
  2322. object GetFirstObjectInShape(int nShape, float fSize, location lTarget, int bLineOfSight=FALSE, int nObjectFilter=OBJECT_TYPE_CREATURE, vector vOrigin=[0.0,0.0,0.0]);
  2323.  
  2324. // 129: Get the next object in nShape
  2325. // - nShape: SHAPE_*
  2326. // - fSize:
  2327. //   -> If nShape == SHAPE_SPHERE, this is the radius of the sphere
  2328. //   -> If nShape == SHAPE_SPELLCYLINDER, this is the radius of the cylinder
  2329. //   -> If nShape == SHAPE_CONE, this is the widest radius of the cone
  2330. //   -> If nShape == SHAPE_CUBE, this is half the length of one of the sides of
  2331. //      the cube
  2332. // - lTarget: This is the centre of the effect, usually GetSpellTargetPosition(),
  2333. //   or the end of a cylinder or cone.
  2334. // - bLineOfSight: This controls whether to do a line-of-sight check on the
  2335. //   object returned. (This can be used to ensure that spell effects do not go
  2336. //   through walls.)
  2337. // - nObjectFilter: This allows you to filter out undesired object types, using
  2338. //   bitwise "or". For example, to return only creatures and doors, the value for
  2339. //   this parameter would be OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR
  2340. // - vOrigin: This is only used for cylinders and cones, and specifies the origin
  2341. //   of the effect (normally the spell-caster's position).
  2342. // Return value on error: OBJECT_INVALID
  2343. object GetNextObjectInShape(int nShape, float fSize, location lTarget, int bLineOfSight=FALSE, int nObjectFilter=OBJECT_TYPE_CREATURE, vector vOrigin=[0.0,0.0,0.0]);
  2344.  
  2345. // 130: Create an Entangle effect
  2346. // When applied, this effect will restrict the creature's movement and apply a
  2347. // (-2) to all attacks and a -4 to AC.
  2348. effect EffectEntangle();
  2349.  
  2350. // 131: Cause oObject to run evToRun
  2351. void SignalEvent(object oObject, event evToRun);
  2352.  
  2353. // 132: Create an event of the type nUserDefinedEventNumber
  2354. event EventUserDefined(int nUserDefinedEventNumber);
  2355.  
  2356. // 133: Create a Death effect
  2357. // - nSpectacularDeath: if this is TRUE, the creature to which this effect is
  2358. //   applied will die in an extraordinary fashion
  2359. // - nDisplayFeedback
  2360. effect EffectDeath(int nSpectacularDeath=FALSE, int nDisplayFeedback=TRUE);
  2361.  
  2362. // 134: Create a Knockdown effect
  2363. // This effect knocks creatures off their feet, they will sit until the effect
  2364. // is removed. This should be applied as a temporary effect with a 3 second
  2365. // duration minimum (1 second to fall, 1 second sitting, 1 second to get up).
  2366. effect EffectKnockdown();
  2367.  
  2368. // 135: Give oItem to oGiveTo
  2369. // If oItem is not a valid item, or oGiveTo is not a valid object, nothing will
  2370. // happen.
  2371. void ActionGiveItem(object oItem, object oGiveTo);
  2372.  
  2373. // 136: Take oItem from oTakeFrom
  2374. // If oItem is not a valid item, or oTakeFrom is not a valid object, nothing
  2375. // will happen.
  2376. void ActionTakeItem(object oItem, object oTakeFrom);
  2377.  
  2378. // 137: Normalize vVector
  2379. vector VectorNormalize(vector vVector);
  2380.  
  2381. // 138:
  2382. // Gets the stack size of an item.
  2383. int GetItemStackSize( object oItem );
  2384.  
  2385. // 139: Get the ability score of type nAbility for a creature (otherwise 0)
  2386. // - oCreature: the creature whose ability score we wish to find out
  2387. // - nAbilityType: ABILITY_*
  2388. // Return value on error: 0
  2389. int GetAbilityScore(object oCreature, int nAbilityType);
  2390.  
  2391. // 140: * Returns TRUE if oCreature is a dead NPC, dead PC or a dying PC.
  2392. int GetIsDead(object oCreature);
  2393.  
  2394. // 141: Output vVector to the logfile.
  2395. // - vVector
  2396. // - bPrepend: if this is TRUE, the message will be prefixed with "PRINTVECTOR:"
  2397. void PrintVector(vector vVector, int bPrepend);
  2398.  
  2399. // 142: Create a vector with the specified values for x, y and z
  2400. vector Vector(float x=0.0f, float y=0.0f, float z=0.0f);
  2401.  
  2402. // 143: Cause the caller to face vTarget
  2403. void SetFacingPoint(vector vTarget);
  2404.  
  2405. // 144: Convert fAngle to a vector
  2406. vector AngleToVector(float fAngle);
  2407.  
  2408. // 145: Convert vVector to an angle
  2409. float VectorToAngle(vector vVector);
  2410.  
  2411. // 146: The caller will perform a Melee Touch Attack on oTarget
  2412. // This is not an action, and it assumes the caller is already within range of
  2413. // oTarget
  2414. // * Returns 0 on a miss, 1 on a hit and 2 on a critical hit
  2415. int TouchAttackMelee(object oTarget, int bDisplayFeedback=TRUE);
  2416.  
  2417. // 147: The caller will perform a Ranged Touch Attack on oTarget
  2418. // * Returns 0 on a miss, 1 on a hit and 2 on a critical hit
  2419. int TouchAttackRanged(object oTarget, int bDisplayFeedback=TRUE);
  2420.  
  2421. // 148: Create a Paralyze effect
  2422. effect EffectParalyze();
  2423.  
  2424. // 149: Create a Spell Immunity effect.
  2425. // There is a known bug with this function. There *must* be a parameter specified
  2426. // when this is called (even if the desired parameter is SPELL_ALL_SPELLS),
  2427. // otherwise an effect of type EFFECT_TYPE_INVALIDEFFECT will be returned.
  2428. // - nImmunityToSpell: SPELL_*
  2429. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nImmunityToSpell is
  2430. //   invalid.
  2431. effect EffectSpellImmunity(int nImmunityToSpell=FORCE_POWER_ALL_FORCE_POWERS);
  2432.  
  2433. // 150:
  2434. // Set the stack size of an item.
  2435. // NOTE: The stack size will be clamped to between 1 and the max stack size (as
  2436. //       specified in the base item).
  2437. void SetItemStackSize( object oItem, int nStackSize );
  2438.  
  2439. // 151: Get the distance in metres between oObjectA and oObjectB.
  2440. // * Return value if either object is invalid: 0.0f
  2441. float GetDistanceBetween(object oObjectA, object oObjectB);
  2442.  
  2443. // 152: SetReturnStrref
  2444. // This function will turn on/off the display of the 'return to ebon hawk' option
  2445. // on the map screen and allow the string to be changed to an arbitrary string ref
  2446. // srReturnQueryStrRef is the string ref that will be displayed in the query pop
  2447. // up confirming that you wish to return to the specified location.
  2448. void SetReturnStrref(int bShow, int srStringRef = 0, int srReturnQueryStrRef = 0);
  2449.  
  2450. // 153: EffectForceJump
  2451. // The effect required for force jumping
  2452. effect EffectForceJump(object oTarget, int nAdvanced = 0);
  2453.  
  2454. // 154: Create a Sleep effect
  2455. effect EffectSleep();
  2456.  
  2457. // 155: Get the object which is in oCreature's specified inventory slot
  2458. // - nInventorySlot: INVENTORY_SLOT_*
  2459. // - oCreature
  2460. // * Returns OBJECT_INVALID if oCreature is not a valid creature or there is no
  2461. //   item in nInventorySlot.
  2462. object GetItemInSlot(int nInventorySlot, object oCreature=OBJECT_SELF);
  2463.  
  2464. // 156: This was previously EffectCharmed();
  2465. effect EffectTemporaryForcePoints(int nTempForce);
  2466.  
  2467. // 157: Create a Confuse effect
  2468. effect EffectConfused();
  2469.  
  2470. // 158: Create a Frighten effect
  2471. effect EffectFrightened();
  2472.  
  2473. // 159: Choke the bugger...
  2474. effect EffectChoke( );
  2475.  
  2476. // 160: Sets a global string with the specified identifier.  This is an EXTREMELY
  2477. //      restricted function - do not use without expilicit permission.
  2478. //      This means if you are not Preston.  Then go see him if you're even thinking
  2479. //      about using this.
  2480. void SetGlobalString( string sIdentifier, string sValue );
  2481.  
  2482. // 161: Create a Stun effect
  2483. effect EffectStunned();
  2484.  
  2485. // 162: Set whether oTarget's action stack can be modified
  2486. void SetCommandable(int bCommandable, object oTarget=OBJECT_SELF);
  2487.  
  2488. // 163: Determine whether oTarget's action stack can be modified.
  2489. int GetCommandable(object oTarget=OBJECT_SELF);
  2490.  
  2491. // 164: Create a Regenerate effect.
  2492. // - nAmount: amount of damage to be regenerated per time interval
  2493. // - fIntervalSeconds: length of interval in seconds
  2494. effect EffectRegenerate(int nAmount, float fIntervalSeconds);
  2495.  
  2496. // 165: Create a Movement Speed Increase effect.
  2497. // - nNewSpeedPercent: This works in a dodgy way so please read this notes carefully.
  2498. //   If you supply an integer under 100, 100 gets added to it to produce the final speed.
  2499. //   e.g. if you supply 50, then the resulting speed is 150% of the original speed.
  2500. //   If you supply 100 or above, then this is used directly as the resulting speed.
  2501. //   e.g. if you specify 100, then the resulting speed is 100% of the original speed that is,
  2502. //        it is unchanged.
  2503. //        However if you specify 200, then the resulting speed is double the original speed.
  2504. effect EffectMovementSpeedIncrease(int nNewSpeedPercent);
  2505.  
  2506. // 166: Get the number of hitdice for oCreature.
  2507. // * Return value if oCreature is not a valid creature: 0
  2508. int GetHitDice(object oCreature);
  2509.  
  2510. // 167: The action subject will follow oFollow until a ClearAllActions() is called.
  2511. // - oFollow: this is the object to be followed
  2512. // - fFollowDistance: follow distance in metres
  2513. // * No return value
  2514. void ActionForceFollowObject(object oFollow, float fFollowDistance=0.0f);
  2515.  
  2516. // 168: Get the Tag of oObject
  2517. // * Return value if oObject is not a valid object: ""
  2518. string GetTag(object oObject);
  2519.  
  2520. // 169: Do a Force Resistance check between oSource and oTarget, returning TRUE if
  2521. // the force was resisted.
  2522. // * Return value if oSource or oTarget is an invalid object: FALSE
  2523. int ResistForce(object oSource, object oTarget);
  2524.  
  2525. // 170: Get the effect type (EFFECT_TYPE_*) of eEffect.
  2526. // * Return value if eEffect is invalid: EFFECT_INVALIDEFFECT
  2527. int GetEffectType(effect eEffect);
  2528.  
  2529. // 171: Create an Area Of Effect effect in the area of the creature it is applied to.
  2530. // If the scripts are not specified, default ones will be used.
  2531. effect EffectAreaOfEffect(int nAreaEffectId, string sOnEnterScript="", string sHeartbeatScript="", string sOnExitScript="");
  2532.  
  2533. // 172: * Returns TRUE if the Faction Ids of the two objects are the same
  2534. int GetFactionEqual(object oFirstObject, object oSecondObject=OBJECT_SELF);
  2535.  
  2536. // 173: Make oObjectToChangeFaction join the faction of oMemberOfFactionToJoin.
  2537. // NB. ** This will only work for two NPCs **
  2538. void ChangeFaction(object oObjectToChangeFaction, object oMemberOfFactionToJoin);
  2539.  
  2540. // 174: * Returns TRUE if oObject is listening for something
  2541. int GetIsListening(object oObject);
  2542.  
  2543. // 175: Set whether oObject is listening.
  2544. void SetListening(object oObject, int bValue);
  2545.  
  2546. // 176: Set the string for oObject to listen for.
  2547. // Note: this does not set oObject to be listening.
  2548. void SetListenPattern(object oObject, string sPattern, int nNumber=0);
  2549.  
  2550. // 177: * Returns TRUE if sStringToTest matches sPattern.
  2551. int TestStringAgainstPattern(string sPattern, string sStringToTest);
  2552.  
  2553. // 178: Get the appropriate matched string (this should only be used in
  2554. // OnConversation scripts).
  2555. // * Returns the appropriate matched string, otherwise returns ""
  2556. string GetMatchedSubstring(int nString);
  2557.  
  2558. // 179: Get the number of string parameters available.
  2559. // * Returns -1 if no string matched (this could be because of a dialogue event)
  2560. int GetMatchedSubstringsCount();
  2561.  
  2562. // 180: * Create a Visual Effect that can be applied to an object.
  2563. // - nVisualEffectId
  2564. // - nMissEffect: if this is TRUE, a random vector near or past the target will
  2565. //   be generated, on which to play the effect
  2566. effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE);
  2567.  
  2568. // 181: Get the weakest member of oFactionMember's faction.
  2569. // * Returns OBJECT_INVALID if oFactionMember's faction is invalid.
  2570. object GetFactionWeakestMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);
  2571.  
  2572. // 182: Get the strongest member of oFactionMember's faction.
  2573. // * Returns OBJECT_INVALID if oFactionMember's faction is invalid.
  2574. object GetFactionStrongestMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);
  2575.  
  2576. // 183: Get the member of oFactionMember's faction that has taken the most hit points
  2577. // of damage.
  2578. // * Returns OBJECT_INVALID if oFactionMember's faction is invalid.
  2579. object GetFactionMostDamagedMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);
  2580.  
  2581. // 184: Get the member of oFactionMember's faction that has taken the fewest hit
  2582. // points of damage.
  2583. // * Returns OBJECT_INVALID if oFactionMember's faction is invalid.
  2584. object GetFactionLeastDamagedMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);
  2585.  
  2586. // 185: Get the amount of gold held by oFactionMember's faction.
  2587. // * Returns -1 if oFactionMember's faction is invalid.
  2588. int GetFactionGold(object oFactionMember);
  2589.  
  2590. // 186: Get an integer between 0 and 100 (inclusive) that represents how
  2591. // oSourceFactionMember's faction feels about oTarget.
  2592. // * Return value on error: -1
  2593. int GetFactionAverageReputation(object oSourceFactionMember, object oTarget);
  2594.  
  2595. // 187: Get an integer between 0 and 100 (inclusive) that represents the average
  2596. // good/evil alignment of oFactionMember's faction.
  2597. // * Return value on error: -1
  2598. int GetFactionAverageGoodEvilAlignment(object oFactionMember);
  2599.  
  2600. // 188. SoundObjectGetFixedVariance
  2601. // Gets the constant variance at which to play the sound object
  2602. float SoundObjectGetFixedVariance(object oSound);
  2603.  
  2604. // 189: Get the average level of the members of the faction.
  2605. // * Return value on error: -1
  2606. int GetFactionAverageLevel(object oFactionMember);
  2607.  
  2608. // 190: Get the average XP of the members of the faction.
  2609. // * Return value on error: -1
  2610. int GetFactionAverageXP(object oFactionMember);
  2611.  
  2612. // 191: Get the most frequent class in the faction - this can be compared with the
  2613. // constants CLASS_TYPE_*.
  2614. // * Return value on error: -1
  2615. int GetFactionMostFrequentClass(object oFactionMember);
  2616.  
  2617. // 192: Get the object faction member with the lowest armour class.
  2618. // * Returns OBJECT_INVALID if oFactionMember's faction is invalid.
  2619. object GetFactionWorstAC(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);
  2620.  
  2621. // 193: Get the object faction member with the highest armour class.
  2622. // * Returns OBJECT_INVALID if oFactionMember's faction is invalid.
  2623. object GetFactionBestAC(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);
  2624.  
  2625. // 194: Get a global string with the specified identifier
  2626. //      This is an EXTREMELY restricted function.  Use only with explicit permission.
  2627. //      This means if you are not Preston.  Then go see him if you're even thinking
  2628. //      about using this.
  2629. string GetGlobalString( string sIdentifier );
  2630.  
  2631. // 195: In an onConversation script this gets the number of the string pattern
  2632. // matched (the one that triggered the script).
  2633. // * Returns -1 if no string matched
  2634. int GetListenPatternNumber();
  2635.  
  2636. // 196: Jump to an object ID, or as near to it as possible.
  2637. void ActionJumpToObject(object oToJumpTo, int bWalkStraightLineToPoint=TRUE);
  2638.  
  2639. // 197: Get the first waypoint with the specified tag.
  2640. // * Returns OBJECT_INVALID if the waypoint cannot be found.
  2641. object GetWaypointByTag(string sWaypointTag);
  2642.  
  2643. // 198: Get the destination (a waypoint or a door) for a trigger or a door.
  2644. // * Returns OBJECT_INVALID if oTransition is not a valid trigger or door.
  2645. object GetTransitionTarget(object oTransition);
  2646.  
  2647. // 199: Link the two supplied effects, returning eChildEffect as a child of
  2648. // eParentEffect.
  2649. // Note: When applying linked effects if the target is immune to all valid
  2650. // effects all other effects will be removed as well. This means that if you
  2651. // apply a visual effect and a silence effect (in a link) and the target is
  2652. // immune to the silence effect that the visual effect will get removed as well.
  2653. // Visual Effects are not considered "valid" effects for the purposes of
  2654. // determining if an effect will be removed or not and as such should never be
  2655. // packaged *only* with other visual effects in a link.
  2656. effect EffectLinkEffects(effect eChildEffect, effect eParentEffect );
  2657.  
  2658. // 200: Get the nNth object with the specified tag.
  2659. // - sTag
  2660. // - nNth: the nth object with this tag may be requested
  2661. // * Returns OBJECT_INVALID if the object cannot be found.
  2662. object GetObjectByTag(string sTag, int nNth=0);
  2663.  
  2664. // 201: Adjust the alignment of oSubject.
  2665. // - oSubject
  2666. // - nAlignment:
  2667. //   -> ALIGNMENT_LIGHT_SIDE/ALIGNMENT_DARK_SIDE: oSubject's
  2668. //      alignment will be shifted in the direction specified
  2669. //   -> ALIGNMENT_NEUTRAL: nShift is applied to oSubject's dark side/light side
  2670. //      alignment value in the direction which is towards neutrality.
  2671. //     e.g. If oSubject has an alignment value of 80 (i.e. light side)
  2672. //          then if nShift is 15, the alignment value will become (80-15)=65
  2673. //     Furthermore, the shift will at most take the alignment value to 50 and
  2674. //     not beyond.
  2675. //     e.g. If oSubject has an alignment value of 40 then if nShift is 15,
  2676. //          the aligment value will become 50
  2677. // - nShift: this is the desired shift in alignment
  2678. // * No return value
  2679. void AdjustAlignment(object oSubject, int nAlignment, int nShift);
  2680.  
  2681. // 202: Do nothing for fSeconds seconds.
  2682. void ActionWait(float fSeconds);
  2683.  
  2684. // 203: Set the transition bitmap of a player; this should only be called in area
  2685. // transition scripts. This action should be run by the person "clicking" the
  2686. // area transition via AssignCommand.
  2687. // - nPredefinedAreaTransition:
  2688. //   -> To use a predefined area transition bitmap, use one of AREA_TRANSITION_*
  2689. //   -> To use a custom, user-defined area transition bitmap, use
  2690. //      AREA_TRANSITION_USER_DEFINED and specify the filename in the second
  2691. //      parameter
  2692. // - sCustomAreaTransitionBMP: this is the filename of a custom, user-defined
  2693. //   area transition bitmap
  2694. void SetAreaTransitionBMP(int nPredefinedAreaTransition, string sCustomAreaTransitionBMP="");
  2695.  
  2696. // AMF: APRIL 28, 2003 - I HAVE CHANGED THIS FUNCTION AS PER DAN'S REQUEST
  2697. // 204: Starts a conversation with oObjectToConverseWith - this will cause their
  2698. // OnDialog event to fire.
  2699. // - oObjectToConverseWith
  2700. // - sDialogResRef: If this is blank, the creature's own dialogue file will be used
  2701. // - bPrivateConversation: If this is blank, the default is FALSE.
  2702. // - nConversationType - If this is blank the default will be Cinematic, ie. a normal conversation type
  2703. //                                  other choices inclue: CONVERSATION_TYPE_COMPUTER
  2704. //   UPDATE:  nConversationType actually has no meaning anymore.  This has been replaced by a flag in the dialog editor.  However
  2705. //                for backwards compatability it has been left here.  So when using this command place CONVERSATION_TYPE_CINEMATIC in here. - DJF
  2706. // - bIgnoreStartRange - If this is blank the default will be FALSE, ie. Start conversation ranges are in effect
  2707. //                                                                      Setting this to TRUE will cause creatures to start a conversation without requiring to close
  2708. //                                                                      the distance between the two object in dialog.
  2709. // - sNameObjectToIgnore1-6 - Normally objects in the animation list of the dialog editor have to be available for animations on that node to work
  2710. //                                        these 6 strings are to indicate 6 objects that dont need to be available for things to proceed.  The string should be EXACTLY
  2711. //                                        the same as the string that it represents in the dialog editor.
  2712. void ActionStartConversation(object oObjectToConverse, string sDialogResRef = "", int bPrivateConversation = FALSE, int nConversationType = CONVERSATION_TYPE_CINEMATIC, int bIgnoreStartRange = FALSE, string sNameObjectToIgnore1 = "", string sNameObjectToIgnore2 = "", string sNameObjectToIgnore3 = "", string sNameObjectToIgnore4 = "", string sNameObjectToIgnore5 = "", string sNameObjectToIgnore6 = "", int bUseLeader = FALSE);
  2713.  
  2714. // 205: Pause the current conversation.
  2715. void ActionPauseConversation();
  2716.  
  2717. // 206: Resume a conversation after it has been paused.
  2718. void ActionResumeConversation();
  2719.  
  2720. // 207: Create a Beam effect.
  2721. // - nBeamVisualEffect: VFX_BEAM_*
  2722. // - oEffector: the beam is emitted from this creature
  2723. // - nBodyPart: BODY_NODE_*
  2724. // - bMissEffect: If this is TRUE, the beam will fire to a random vector near or
  2725. //   past the target
  2726. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nBeamVisualEffect is
  2727. //   not valid.
  2728. effect EffectBeam(int nBeamVisualEffect, object oEffector, int nBodyPart, int bMissEffect=FALSE);
  2729.  
  2730. // 208: Get an integer between 0 and 100 (inclusive) that represents how oSource
  2731. // feels about oTarget.
  2732. // -> 0-10 means oSource is hostile to oTarget
  2733. // -> 11-89 means oSource is neutral to oTarget
  2734. // -> 90-100 means oSource is friendly to oTarget
  2735. // * Returns -1 if oSource or oTarget does not identify a valid object
  2736. int GetReputation(object oSource, object oTarget);
  2737.  
  2738. // 209: Adjust how oSourceFactionMember's faction feels about oTarget by the
  2739. // specified amount.
  2740. // Note: This adjusts Faction Reputation, how the entire faction that
  2741. // oSourceFactionMember is in, feels about oTarget.
  2742. // * No return value
  2743. void AdjustReputation(object oTarget, object oSourceFactionMember, int nAdjustment);
  2744.  
  2745. // 210: Gets the actual file name of the current module
  2746. string GetModuleFileName();
  2747.  
  2748. // 211: Get the creature that is going to attack oTarget.
  2749. // Note: This value is cleared out at the end of every combat round and should
  2750. // not be used in any case except when getting a "going to be attacked" shout
  2751. // from the master creature (and this creature is a henchman)
  2752. // * Returns OBJECT_INVALID if oTarget is not a valid creature.
  2753. object GetGoingToBeAttackedBy(object oTarget);
  2754.  
  2755. // 212: Create a Force Resistance Increase effect.
  2756. // - nValue: size of Force Resistance increase
  2757. effect EffectForceResistanceIncrease(int nValue);
  2758.  
  2759. // 213: Get the location of oObject.
  2760. location GetLocation(object oObject);
  2761.  
  2762. // 214: The subject will jump to lLocation instantly (even between areas).
  2763. // If lLocation is invalid, nothing will happen.
  2764. void ActionJumpToLocation(location lLocation);
  2765.  
  2766. // 215: Create a location.
  2767. location Location(vector vPosition, float fOrientation);
  2768.  
  2769. // 216: Apply eEffect at lLocation.
  2770. void ApplyEffectAtLocation(int nDurationType, effect eEffect, location lLocation, float fDuration=0.0f);
  2771.  
  2772. // 217: * Returns TRUE if oCreature is a Player Controlled character.
  2773. int GetIsPC(object oCreature);
  2774.  
  2775. // 218: Convert fFeet into a number of meters.
  2776. float FeetToMeters(float fFeet);
  2777.  
  2778. // 219: Convert fYards into a number of meters.
  2779. float YardsToMeters(float fYards);
  2780.  
  2781. // 220: Apply eEffect to oTarget.
  2782. void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f);
  2783.  
  2784. // 221: The caller will immediately speak sStringToSpeak (this is different from
  2785. // ActionSpeakString)
  2786. // - sStringToSpeak
  2787. // - nTalkVolume: TALKVOLUME_*
  2788. void SpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK);
  2789.  
  2790. // 222: Get the location of the caller's last spell target.
  2791. location GetSpellTargetLocation();
  2792.  
  2793. // 223: Get the position vector from lLocation.
  2794. vector GetPositionFromLocation(location lLocation);
  2795.  
  2796. // 224: the effect of body fule.. convers HP -> FP i think
  2797. effect EffectBodyFuel( );
  2798.  
  2799. // 225: Get the orientation value from lLocation.
  2800. float GetFacingFromLocation(location lLocation);
  2801.  
  2802. // 226: Get the creature nearest to lLocation, subject to all the criteria specified.
  2803. // - nFirstCriteriaType: CREATURE_TYPE_*
  2804. // - nFirstCriteriaValue:
  2805. //   -> CLASS_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_CLASS
  2806. //   -> SPELL_* if nFirstCriteriaType was CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT
  2807. //      or CREATURE_TYPE_HAS_SPELL_EFFECT
  2808. //   -> TRUE or FALSE if nFirstCriteriaType was CREATURE_TYPE_IS_ALIVE
  2809. //   -> PERCEPTION_* if nFirstCriteriaType was CREATURE_TYPE_PERCEPTION
  2810. //   -> PLAYER_CHAR_IS_PC or PLAYER_CHAR_NOT_PC if nFirstCriteriaType was
  2811. //      CREATURE_TYPE_PLAYER_CHAR
  2812. //   -> RACIAL_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_RACIAL_TYPE
  2813. //   -> REPUTATION_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_REPUTATION
  2814. //   For example, to get the nearest PC, use
  2815. //   (CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC)
  2816. // - lLocation: We're trying to find the creature of the specified type that is
  2817. //   nearest to lLocation
  2818. // - nNth: We don't have to find the first nearest: we can find the Nth nearest....
  2819. // - nSecondCriteriaType: This is used in the same way as nFirstCriteriaType to
  2820. //   further specify the type of creature that we are looking for.
  2821. // - nSecondCriteriaValue: This is used in the same way as nFirstCriteriaValue
  2822. //   to further specify the type of creature that we are looking for.
  2823. // - nThirdCriteriaType: This is used in the same way as nFirstCriteriaType to
  2824. //   further specify the type of creature that we are looking for.
  2825. // - nThirdCriteriaValue: This is used in the same way as nFirstCriteriaValue to
  2826. //   further specify the type of creature that we are looking for.
  2827. // * Return value on error: OBJECT_INVALID
  2828. object GetNearestCreatureToLocation(int nFirstCriteriaType, int nFirstCriteriaValue,  location lLocation, int nNth=1, int nSecondCriteriaType=-1, int nSecondCriteriaValue=-1, int nThirdCriteriaType=-1,  int nThirdCriteriaValue=-1 );
  2829.  
  2830. // 227: Get the Nth object nearest to oTarget that is of the specified type.
  2831. // - nObjectType: OBJECT_TYPE_*
  2832. // - oTarget
  2833. // - nNth
  2834. // * Return value on error: OBJECT_INVALID
  2835. object GetNearestObject(int nObjectType=OBJECT_TYPE_ALL, object oTarget=OBJECT_SELF, int nNth=1);
  2836.  
  2837. // 228: Get the nNth object nearest to lLocation that is of the specified type.
  2838. // - nObjectType: OBJECT_TYPE_*
  2839. // - lLocation
  2840. // - nNth
  2841. // * Return value on error: OBJECT_INVALID
  2842. object GetNearestObjectToLocation(int nObjectType, location lLocation, int nNth=1);
  2843.  
  2844. // 229: Get the nth Object nearest to oTarget that has sTag as its tag.
  2845. // * Return value on error: OBJECT_INVALID
  2846. object GetNearestObjectByTag(string sTag, object oTarget=OBJECT_SELF, int nNth=1);
  2847.  
  2848. // 230: Convert nInteger into a floating point number.
  2849. float IntToFloat(int nInteger);
  2850.  
  2851. // 231: Convert fFloat into the nearest integer.
  2852. int FloatToInt(float fFloat);
  2853.  
  2854. // 232: Convert sNumber into an integer.
  2855. int StringToInt(string sNumber);
  2856.  
  2857. // 233: Convert sNumber into a floating point number.
  2858. float StringToFloat(string sNumber);
  2859.  
  2860. // 234: Cast spell nSpell at lTargetLocation.
  2861. // - nSpell: SPELL_*
  2862. // - lTargetLocation
  2863. // - nMetaMagic: METAMAGIC_*
  2864. // - bCheat: If this is TRUE, then the executor of the action doesn't have to be
  2865. //   able to cast the spell.
  2866. // - nProjectilePathType: PROJECTILE_PATH_TYPE_*
  2867. // - bInstantSpell: If this is TRUE, the spell is cast immediately; this allows
  2868. //   the end-user to simulate
  2869. //   a high-level magic user having lots of advance warning of impending trouble.
  2870. void   ActionCastSpellAtLocation(int nSpell, location lTargetLocation, int nMetaMagic=0, int bCheat=FALSE, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE);
  2871.  
  2872. // 235: * Returns TRUE if oSource considers oTarget as an enemy.
  2873. int GetIsEnemy(object oTarget, object oSource=OBJECT_SELF);
  2874.  
  2875. // 236: * Returns TRUE if oSource considers oTarget as a friend.
  2876. int GetIsFriend(object oTarget, object oSource=OBJECT_SELF);
  2877.  
  2878. // 237: * Returns TRUE if oSource considers oTarget as neutral.
  2879. int GetIsNeutral(object oTarget, object oSource=OBJECT_SELF);
  2880.  
  2881. // 238: Get the PC that is involved in the conversation.
  2882. // * Returns OBJECT_INVALID on error.
  2883. object GetPCSpeaker();
  2884.  
  2885. // 239: Get a string from the talk table using nStrRef.
  2886. string GetStringByStrRef(int nStrRef);
  2887.  
  2888. // 240: Causes the creature to speak a translated string.
  2889. // - nStrRef: Reference of the string in the talk table
  2890. // - nTalkVolume: TALKVOLUME_*
  2891. void ActionSpeakStringByStrRef(int nStrRef, int nTalkVolume=TALKVOLUME_TALK);
  2892.  
  2893. // 241: Destroy oObject (irrevocably).
  2894. // This will not work on modules and areas.
  2895. // The bNoFade and fDelayUntilFade are for creatures and placeables only
  2896. void DestroyObject(object oDestroy, float fDelay=0.0f, int bNoFade = FALSE, float fDelayUntilFade = 0.0f);
  2897.  
  2898. // 242: Get the module.
  2899. // * Return value on error: OBJECT_INVALID
  2900. object GetModule();
  2901.  
  2902. // 243: Create an object of the specified type at lLocation.
  2903. // - nObjectType: OBJECT_TYPE_ITEM, OBJECT_TYPE_CREATURE, OBJECT_TYPE_PLACEABLE,
  2904. //   OBJECT_TYPE_STORE
  2905. // - sTemplate
  2906. // - lLocation
  2907. // - bUseAppearAnimation
  2908. // Waypoints can now also be created using the CreateObject function.
  2909. // nObjectType is: OBJECT_TYPE_WAYPOINT
  2910. // sTemplate will be the tag of the waypoint
  2911. // lLocation is where the waypoint will be placed
  2912. // bUseAppearAnimation is ignored
  2913. object CreateObject(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE);
  2914.  
  2915. // 244: Create an event which triggers the "SpellCastAt" script
  2916. event EventSpellCastAt(object oCaster, int nSpell, int bHarmful=TRUE);
  2917.  
  2918. // 245: This is for use in a "Spell Cast" script, it gets who cast the spell.
  2919. // The spell could have been cast by a creature, placeable or door.
  2920. // * Returns OBJECT_INVALID if the caller is not a creature, placeable or door.
  2921. object GetLastSpellCaster();
  2922.  
  2923. // 246: This is for use in a "Spell Cast" script, it gets the ID of the spell that
  2924. // was cast.
  2925. int GetLastSpell();
  2926.  
  2927. // 247: This is for use in a user-defined script, it gets the event number.
  2928. int GetUserDefinedEventNumber();
  2929.  
  2930. // 248: This is for use in a Spell script, it gets the ID of the spell that is being
  2931. // cast (SPELL_*).
  2932. int GetSpellId();
  2933.  
  2934. // 249: Generate a random name.
  2935. string RandomName();
  2936.  
  2937. // 250: Create a Poison effect.
  2938. // - nPoisonType: POISON_*
  2939. effect EffectPoison(int nPoisonType);
  2940.  
  2941. // 251: Returns whether this script is being run
  2942. //      while a load game is in progress
  2943. int GetLoadFromSaveGame();
  2944.  
  2945. // 252: Assured Deflection
  2946. // This effect ensures that all projectiles shot at a jedi will be deflected
  2947. // without doing an opposed roll.  It takes an optional parameter to say whether
  2948. // the deflected projectile will return to the attacker and cause damage
  2949. effect EffectAssuredDeflection(int nReturn = 0);
  2950.  
  2951. // 253: Get the name of oObject.
  2952. string GetName(object oObject);
  2953.  
  2954. // 254: Use this in a conversation script to get the person with whom you are conversing.
  2955. // * Returns OBJECT_INVALID if the caller is not a valid creature.
  2956. object GetLastSpeaker();
  2957.  
  2958. // 255: Use this in an OnDialog script to start up the dialog tree.
  2959. // - sResRef: if this is not specified, the default dialog file will be used
  2960. // - oObjectToDialog: if this is not specified the person that triggered the
  2961. //   event will be used
  2962. int BeginConversation(string sResRef="", object oObjectToDialog=OBJECT_INVALID);
  2963.  
  2964. // 256: Use this in an OnPerception script to get the object that was perceived.
  2965. // * Returns OBJECT_INVALID if the caller is not a valid creature.
  2966. object GetLastPerceived();
  2967.  
  2968. // 257: Use this in an OnPerception script to determine whether the object that was
  2969. // perceived was heard.
  2970. int GetLastPerceptionHeard();
  2971.  
  2972. // 258: Use this in an OnPerception script to determine whether the object that was
  2973. // perceived has become inaudible.
  2974. int GetLastPerceptionInaudible();
  2975.  
  2976. // 259: Use this in an OnPerception script to determine whether the object that was
  2977. // perceived was seen.
  2978. int GetLastPerceptionSeen();
  2979.  
  2980. // 260: Use this in an OnClosed script to get the object that closed the door or placeable.
  2981. // * Returns OBJECT_INVALID if the caller is not a valid door or placeable.
  2982. object GetLastClosedBy();
  2983.  
  2984. // 261: Use this in an OnPerception script to determine whether the object that was
  2985. // perceived has vanished.
  2986. int GetLastPerceptionVanished();
  2987.  
  2988. // 262: Get the first object within oPersistentObject.
  2989. // - oPersistentObject
  2990. // - nResidentObjectType: OBJECT_TYPE_*
  2991. // - nPersistentZone: PERSISTENT_ZONE_ACTIVE. [This could also take the value
  2992. //   PERSISTENT_ZONE_FOLLOW, but this is no longer used.]
  2993. // * Returns OBJECT_INVALID if no object is found.
  2994. object GetFirstInPersistentObject(object oPersistentObject=OBJECT_SELF, int nResidentObjectType=OBJECT_TYPE_CREATURE, int nPersistentZone=PERSISTENT_ZONE_ACTIVE);
  2995.  
  2996. // 263: Get the next object within oPersistentObject.
  2997. // - oPersistentObject
  2998. // - nResidentObjectType: OBJECT_TYPE_*
  2999. // - nPersistentZone: PERSISTENT_ZONE_ACTIVE. [This could also take the value
  3000. //   PERSISTENT_ZONE_FOLLOW, but this is no longer used.]
  3001. // * Returns OBJECT_INVALID if no object is found.
  3002. object GetNextInPersistentObject(object oPersistentObject=OBJECT_SELF, int nResidentObjectType=OBJECT_TYPE_CREATURE, int nPersistentZone=PERSISTENT_ZONE_ACTIVE);
  3003.  
  3004. // 264: This returns the creator of oAreaOfEffectObject.
  3005. // * Returns OBJECT_INVALID if oAreaOfEffectObject is not a valid Area of Effect object.
  3006. object GetAreaOfEffectCreator(object oAreaOfEffectObject=OBJECT_SELF);
  3007.  
  3008. // 265: Brings up the level up GUI for the player.  The GUI will only show up
  3009. //      if the player has gained enough experience points to level up.
  3010. // * Returns TRUE if the GUI was successfully brought up; FALSE if not.
  3011. int ShowLevelUpGUI();
  3012.  
  3013. // 266: Flag the specified item as being non-equippable or not.  Set bNonEquippable
  3014. //      to TRUE to prevent this item from being equipped, and FALSE to allow
  3015. //      the normal equipping checks to determine if the item can be equipped.
  3016. // NOTE: This will do nothing if the object passed in is not an item.  Items that
  3017. //       are already equipped when this is called will not automatically be
  3018. //       unequipped.  These items will just be prevented from being re-equipped
  3019. //       should they be unequipped.
  3020. void SetItemNonEquippable( object oItem, int bNonEquippable );
  3021.  
  3022. // 267: GetButtonMashCheck
  3023. // This function returns whether the button mash check, used for the combat tutorial, is on
  3024. int GetButtonMashCheck();
  3025.  
  3026. // 268: SetButtonMashCheck
  3027. // This function sets the button mash check variable, and is used for turning the check on and off
  3028. void SetButtonMashCheck(int nCheck);
  3029.  
  3030. // 269: EffectForcePushTargeted
  3031. // This effect is exactly the same as force push, except it takes a location parameter that specifies
  3032. // where the location of the force push is to be done from.  All orientations are also based on this location.
  3033. // AMF:  The new ignore test direct line variable should be used with extreme caution
  3034. // It overrides geometry checks for force pushes, so that the object that the effect is applied to
  3035. // is guaranteed to move that far, ignoring collisions.  It is best used for cutscenes.
  3036. effect EffectForcePushTargeted(location lCentre, int nIgnoreTestDirectLine = 0);
  3037.  
  3038. // 270: Create a Haste effect.
  3039. effect EffectHaste();
  3040.  
  3041. // 271: Give oItem to oGiveTo (instant; for similar Action use ActionGiveItem)
  3042. // If oItem is not a valid item, or oGiveTo is not a valid object, nothing will
  3043. // happen.
  3044. void GiveItem(object oItem, object oGiveTo);
  3045.  
  3046. // 272: Convert oObject into a hexadecimal string.
  3047. string ObjectToString(object oObject);
  3048.  
  3049. // 273: Create an Immunity effect.
  3050. // - nImmunityType: IMMUNITY_TYPE_*
  3051. effect EffectImmunity(int nImmunityType);
  3052.  
  3053. // 274: - oCreature
  3054. // - nImmunityType: IMMUNITY_TYPE_*
  3055. // - oVersus: if this is specified, then we also check for the race and
  3056. //   alignment of oVersus
  3057. // * Returns TRUE if oCreature has immunity of type nImmunity versus oVersus.
  3058. int GetIsImmune(object oCreature, int nImmunityType, object oVersus=OBJECT_INVALID);
  3059.  
  3060. // 275: Creates a Damage Immunity Increase effect.
  3061. // - nDamageType: DAMAGE_TYPE_*
  3062. // - nPercentImmunity
  3063. effect EffectDamageImmunityIncrease(int nDamageType, int nPercentImmunity);
  3064.  
  3065. // 276: Determine whether oEncounter is active.
  3066. int  GetEncounterActive(object oEncounter=OBJECT_SELF);
  3067.  
  3068. // 277: Set oEncounter's active state to nNewValue.
  3069. // - nNewValue: TRUE/FALSE
  3070. // - oEncounter
  3071. void SetEncounterActive(int nNewValue, object oEncounter=OBJECT_SELF);
  3072.  
  3073. // 278: Get the maximum number of times that oEncounter will spawn.
  3074. int GetEncounterSpawnsMax(object oEncounter=OBJECT_SELF);
  3075.  
  3076. // 279: Set the maximum number of times that oEncounter can spawn
  3077. void SetEncounterSpawnsMax(int nNewValue, object oEncounter=OBJECT_SELF);
  3078.  
  3079. // 280: Get the number of times that oEncounter has spawned so far
  3080. int  GetEncounterSpawnsCurrent(object oEncounter=OBJECT_SELF);
  3081.  
  3082. // 281: Set the number of times that oEncounter has spawned so far
  3083. void SetEncounterSpawnsCurrent(int nNewValue, object oEncounter=OBJECT_SELF);
  3084.  
  3085. // 282: Use this in an OnItemAcquired script to get the item that was acquired.
  3086. // * Returns OBJECT_INVALID if the module is not valid.
  3087. object GetModuleItemAcquired();
  3088.  
  3089. // 283: Use this in an OnItemAcquired script to get the creatre that previously
  3090. // possessed the item.
  3091. // * Returns OBJECT_INVALID if the item was picked up from the ground.
  3092. object GetModuleItemAcquiredFrom();
  3093.  
  3094. // 284: Set the value for a custom token.
  3095. void SetCustomToken(int nCustomTokenNumber, string sTokenValue);
  3096.  
  3097. // 285: Determine whether oCreature has nFeat, and nFeat is useable.
  3098. // - nFeat: FEAT_*
  3099. // - oCreature
  3100. int GetHasFeat(int nFeat, object oCreature=OBJECT_SELF);
  3101.  
  3102. // 286: Determine whether oCreature has nSkill, and nSkill is useable.
  3103. // - nSkill: SKILL_*
  3104. // - oCreature
  3105. int GetHasSkill(int nSkill, object oCreature=OBJECT_SELF);
  3106.  
  3107. // 287: Use nFeat on oTarget.
  3108. // - nFeat: FEAT_*
  3109. // - oTarget
  3110. void ActionUseFeat(int nFeat, object oTarget);
  3111.  
  3112. // 288: Runs the action "UseSkill" on the current creature
  3113. // Use nSkill on oTarget.
  3114. // - nSkill: SKILL_*
  3115. // - oTarget
  3116. // - nSubSkill: SUBSKILL_*
  3117. // - oItemUsed: Item to use in conjunction with the skill
  3118. void ActionUseSkill(int nSkill, object oTarget, int nSubSkill=0, object oItemUsed=OBJECT_INVALID );
  3119.  
  3120. // 289: Determine whether oSource sees oTarget.
  3121. int GetObjectSeen(object oTarget, object oSource=OBJECT_SELF);
  3122.  
  3123. // 290: Determine whether oSource hears oTarget.
  3124. int GetObjectHeard(object oTarget, object oSource=OBJECT_SELF);
  3125.  
  3126. // 291: Use this in an OnPlayerDeath module script to get the last player that died.
  3127. object GetLastPlayerDied();
  3128.  
  3129. // 292: Use this in an OnItemLost script to get the item that was lost/dropped.
  3130. // * Returns OBJECT_INVALID if the module is not valid.
  3131. object GetModuleItemLost();
  3132.  
  3133. // 293: Use this in an OnItemLost script to get the creature that lost the item.
  3134. // * Returns OBJECT_INVALID if the module is not valid.
  3135. object GetModuleItemLostBy();
  3136.  
  3137. // 294: Do aActionToDo.
  3138. void ActionDoCommand(action aActionToDo);
  3139.  
  3140. // 295: Conversation event.
  3141. event EventConversation();
  3142.  
  3143. // 296: Set the difficulty level of oEncounter.
  3144. // - nEncounterDifficulty: ENCOUNTER_DIFFICULTY_*
  3145. // - oEncounter
  3146. void SetEncounterDifficulty(int nEncounterDifficulty, object oEncounter=OBJECT_SELF);
  3147.  
  3148. // 297: Get the difficulty level of oEncounter.
  3149. int GetEncounterDifficulty(object oEncounter=OBJECT_SELF);
  3150.  
  3151. // 298: Get the distance between lLocationA and lLocationB.
  3152. float GetDistanceBetweenLocations(location lLocationA, location lLocationB);
  3153.  
  3154. // 299: Use this in spell scripts to get nDamage adjusted by oTarget's reflex and
  3155. // evasion saves.
  3156. // - nDamage
  3157. // - oTarget
  3158. // - nDC: Difficulty check
  3159. // - nSaveType: SAVING_THROW_TYPE_*
  3160. // - oSaveVersus
  3161. int GetReflexAdjustedDamage(int nDamage, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);
  3162.  
  3163. // 300: Play nAnimation immediately.
  3164. // - nAnimation: ANIMATION_*
  3165. // - fSpeed
  3166. // - fSeconds: Duration of the animation (this is not used for Fire and
  3167. //   Forget animations) If a time of -1.0f is specified for a looping animation
  3168. //   it will loop until the next animation is applied.
  3169. void PlayAnimation(int nAnimation, float fSpeed=1.0, float fSeconds=0.0);
  3170.  
  3171. // 301: Create a Spell Talent.
  3172. // - nSpell: SPELL_*
  3173. talent TalentSpell(int nSpell);
  3174.  
  3175. // 302: Create a Feat Talent.
  3176. // - nFeat: FEAT_*
  3177. talent TalentFeat(int nFeat);
  3178.  
  3179. // 303: Create a Skill Talent.
  3180. // - nSkill: SKILL_*
  3181. talent TalentSkill(int nSkill);
  3182.  
  3183. // 304: Determine if oObject has effects originating from nSpell.
  3184. // - nSpell: SPELL_*
  3185. // - oObject
  3186. int GetHasSpellEffect(int nSpell, object oObject=OBJECT_SELF);
  3187.  
  3188. // 305: Get the spell (SPELL_*) that applied eSpellEffect.
  3189. // * Returns -1 if eSpellEffect was applied outside a spell script.
  3190. int GetEffectSpellId(effect eSpellEffect);
  3191.  
  3192. // 306: Determine whether oCreature has tTalent.
  3193. int GetCreatureHasTalent(talent tTalent, object oCreature=OBJECT_SELF);
  3194.  
  3195. // 307: Get a random talent of oCreature, within nCategory.
  3196. // - nCategory: TALENT_CATEGORY_*
  3197. // - oCreature
  3198. // - nInclusion: types of talent to include
  3199. talent GetCreatureTalentRandom(int nCategory, object oCreature=OBJECT_SELF, int nInclusion=0);
  3200.  
  3201. // 308: Get the best talent (i.e. closest to nCRMax without going over) of oCreature,
  3202. // within nCategory.
  3203. // - nCategory: TALENT_CATEGORY_*
  3204. // - nCRMax: Challenge Rating of the talent
  3205. // - oCreature
  3206. // - nInclusion: types of talent to include
  3207. // - nExcludeType: TALENT_TYPE_FEAT or TALENT_TYPE_FORCE, type of talent that we wish to ignore
  3208. // - nExcludeId: Talent ID of the talent we wish to ignore.
  3209. //   A value of TALENT_EXCLUDE_ALL_OF_TYPE for this parameter will mean that all talents of
  3210. //   type nExcludeType are ignored.
  3211. talent GetCreatureTalentBest(int nCategory, int nCRMax, object oCreature=OBJECT_SELF, int nInclusion=0, int nExcludeType = -1, int nExcludeId = -1);
  3212.  
  3213. // 309: Use tChosenTalent on oTarget.
  3214. void ActionUseTalentOnObject(talent tChosenTalent, object oTarget);
  3215.  
  3216. // 310: Use tChosenTalent at lTargetLocation.
  3217. void ActionUseTalentAtLocation(talent tChosenTalent, location lTargetLocation);
  3218.  
  3219. // 311: Get the gold piece value of oItem.
  3220. // * Returns 0 if oItem is not a valid item.
  3221. int GetGoldPieceValue(object oItem);
  3222.  
  3223. // 312: * Returns TRUE if oCreature is of a playable racial type.
  3224. int GetIsPlayableRacialType(object oCreature);
  3225.  
  3226. // 313: Jump to lDestination.  The action is added to the TOP of the action queue.
  3227. void JumpToLocation(location lDestination);
  3228.  
  3229. // 314: Create a Temporary Hitpoints effect.
  3230. // - nHitPoints: a positive integer
  3231. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nHitPoints < 0.
  3232. effect EffectTemporaryHitpoints(int nHitPoints);
  3233.  
  3234. // 315: Get the number of ranks that oTarget has in nSkill.
  3235. // - nSkill: SKILL_*
  3236. // - oTarget
  3237. // * Returns -1 if oTarget doesn't have nSkill.
  3238. // * Returns 0 if nSkill is untrained.
  3239. int GetSkillRank(int nSkill, object oTarget=OBJECT_SELF);
  3240.  
  3241. // 316: Get the attack target of oCreature.
  3242. // This only works when oCreature is in combat.
  3243. object GetAttackTarget(object oCreature=OBJECT_SELF);
  3244.  
  3245. // 317: Get the attack type (SPECIAL_ATTACK_*) of oCreature's last attack.
  3246. // This only works when oCreature is in combat.
  3247. int GetLastAttackType(object oCreature=OBJECT_SELF);
  3248.  
  3249. // 318: Get the attack mode (COMBAT_MODE_*) of oCreature's last attack.
  3250. // This only works when oCreature is in combat.
  3251. int GetLastAttackMode(object oCreature=OBJECT_SELF);
  3252.  
  3253. // 319: Get the distance in metres between oObjectA and oObjectB in 2D.
  3254. // * Return value if either object is invalid: 0.0f
  3255. float GetDistanceBetween2D(object oObjectA, object oObjectB);
  3256.  
  3257. // 320: * Returns TRUE if oCreature is in combat.
  3258. int GetIsInCombat(object oCreature=OBJECT_SELF);
  3259.  
  3260. // 321: Get the last command (ASSOCIATE_COMMAND_*) issued to oAssociate.
  3261. int GetLastAssociateCommand(object oAssociate=OBJECT_SELF);
  3262.  
  3263. // 322: Give nGP gold to oCreature.
  3264. void GiveGoldToCreature(object oCreature, int nGP);
  3265.  
  3266. // 323: Set the destroyable status of the caller.
  3267. // - bDestroyable: If this is FALSE, the caller does not fade out on death, but
  3268. //   sticks around as a corpse.
  3269. // - bRaiseable: If this is TRUE, the caller can be raised via resurrection.
  3270. // - bSelectableWhenDead: If this is TRUE, the caller is selectable after death.
  3271. void SetIsDestroyable(int bDestroyable, int bRaiseable=TRUE, int bSelectableWhenDead=FALSE);
  3272.  
  3273. // 324: Set the locked state of oTarget, which can be a door or a placeable object.
  3274. void SetLocked(object oTarget, int bLocked);
  3275.  
  3276. // 325: Get the locked state of oTarget, which can be a door or a placeable object.
  3277. int GetLocked(object oTarget);
  3278.  
  3279. // 326: Use this in a trigger's OnClick event script to get the object that last
  3280. // clicked on it.
  3281. // This is identical to GetEnteringObject.
  3282. object GetClickingObject();
  3283.  
  3284. // 327: Initialise oTarget to listen for the standard Associates commands.
  3285. void SetAssociateListenPatterns(object oTarget=OBJECT_SELF);
  3286.  
  3287. // 328: Get the last weapon that oCreature used in an attack.
  3288. // * Returns OBJECT_INVALID if oCreature did not attack, or has no weapon equipped.
  3289. object GetLastWeaponUsed(object oCreature);
  3290.  
  3291. // 329: Use oPlaceable.
  3292. void ActionInteractObject(object oPlaceable);
  3293.  
  3294. // 330: Get the last object that used the placeable object that is calling this function.
  3295. // * Returns OBJECT_INVALID if it is called by something other than a placeable or
  3296. //   a door.
  3297. object GetLastUsedBy();
  3298.  
  3299. // 331: Returns the ability modifier for the specified ability
  3300. // Get oCreature's ability modifier for nAbility.
  3301. // - nAbility: ABILITY_*
  3302. // - oCreature
  3303. int GetAbilityModifier(int nAbility, object oCreature=OBJECT_SELF);
  3304.  
  3305. // 332: Determined whether oItem has been identified.
  3306. int GetIdentified(object oItem);
  3307.  
  3308. // 333: Set whether oItem has been identified.
  3309. void SetIdentified(object oItem, int bIdentified);
  3310.  
  3311. // 334: Get the distance between lLocationA and lLocationB. in 2D
  3312. float GetDistanceBetweenLocations2D(location lLocationA, location lLocationB);
  3313.  
  3314. // 335: Get the distance from the caller to oObject in metres.
  3315. // * Return value on error: -1.0f
  3316. float GetDistanceToObject2D(object oObject);
  3317.  
  3318. // 336: Get the last blocking door encountered by the caller of this function.
  3319. // * Returns OBJECT_INVALID if the caller is not a valid creature.
  3320. object GetBlockingDoor();
  3321.  
  3322. // 337: - oTargetDoor
  3323. // - nDoorAction: DOOR_ACTION_*
  3324. // * Returns TRUE if nDoorAction can be performed on oTargetDoor.
  3325. int GetIsDoorActionPossible(object oTargetDoor, int nDoorAction);
  3326.  
  3327. // 338: Perform nDoorAction on oTargetDoor.
  3328. void DoDoorAction(object oTargetDoor, int nDoorAction);
  3329.  
  3330. // 339: Get the first item in oTarget's inventory (start to cycle through oTarget's
  3331. // inventory).
  3332. // * Returns OBJECT_INVALID if the caller is not a creature, item, placeable or store,
  3333. //   or if no item is found.
  3334. object GetFirstItemInInventory(object oTarget=OBJECT_SELF);
  3335.  
  3336. // 340: Get the next item in oTarget's inventory (continue to cycle through oTarget's
  3337. // inventory).
  3338. // * Returns OBJECT_INVALID if the caller is not a creature, item, placeable or store,
  3339. //   or if no item is found.
  3340. object GetNextItemInInventory(object oTarget=OBJECT_SELF);
  3341.  
  3342. // 341: A creature can have up to three classes.  This function determines the
  3343. // creature's class (CLASS_TYPE_*) based on nClassPosition.
  3344. // - nClassPosition: 1, 2 or 3
  3345. // - oCreature
  3346. // * Returns CLASS_TYPE_INVALID if the oCreature does not have a class in
  3347. //   nClassPosition (i.e. a single-class creature will only have a value in
  3348. //   nClassLocation=1) or if oCreature is not a valid creature.
  3349. int GetClassByPosition(int nClassPosition, object oCreature=OBJECT_SELF);
  3350.  
  3351. // 342: A creature can have up to three classes.  This function determines the
  3352. // creature's class level based on nClass Position.
  3353. // - nClassPosition: 1, 2 or 3
  3354. // - oCreature
  3355. // * Returns 0 if oCreature does not have a class in nClassPosition
  3356. //   (i.e. a single-class creature will only have a value in nClassLocation=1)
  3357. //   or if oCreature is not a valid creature.
  3358. int GetLevelByPosition(int nClassPosition, object oCreature=OBJECT_SELF);
  3359.  
  3360. // 343: Determine the levels that oCreature holds in nClassType.
  3361. // - nClassType: CLASS_TYPE_*
  3362. // - oCreature
  3363. int GetLevelByClass(int nClassType, object oCreature=OBJECT_SELF);
  3364.  
  3365. // 344: Get the amount of damage of type nDamageType that has been dealt to the caller.
  3366. // - nDamageType: DAMAGE_TYPE_*
  3367. int GetDamageDealtByType(int nDamageType);
  3368.  
  3369. // 345: Get the total amount of damage that has been dealt to the caller.
  3370. int GetTotalDamageDealt();
  3371.  
  3372. // 346: Get the last object that damaged the caller.
  3373. // * Returns OBJECT_INVALID if the caller is not a valid object.
  3374. object GetLastDamager();
  3375.  
  3376. // 347: Get the last object that disarmed the trap on the caller.
  3377. // * Returns OBJECT_INVALID if the caller is not a valid placeable, trigger or
  3378. //   door.
  3379. object GetLastDisarmed();
  3380.  
  3381. // 348: Get the last object that disturbed the inventory of the caller.
  3382. // * Returns OBJECT_INVALID if the caller is not a valid creature or placeable.
  3383. object GetLastDisturbed();
  3384.  
  3385. // 349: Get the last object that locked the caller.
  3386. // * Returns OBJECT_INVALID if the caller is not a valid door or placeable.
  3387. object GetLastLocked();
  3388.  
  3389. // 350: Get the last object that unlocked the caller.
  3390. // * Returns OBJECT_INVALID if the caller is not a valid door or placeable.
  3391. object GetLastUnlocked();
  3392.  
  3393. // 351: Create a Skill Increase effect.
  3394. // - nSkill: SKILL_*
  3395. // - nValue
  3396. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nSkill is invalid.
  3397. effect EffectSkillIncrease(int nSkill, int nValue);
  3398.  
  3399. // 352: Get the type of disturbance (INVENTORY_DISTURB_*) that caused the caller's
  3400. // OnInventoryDisturbed script to fire.  This will only work for creatures and
  3401. // placeables.
  3402. int GetInventoryDisturbType();
  3403.  
  3404. // 353: get the item that caused the caller's OnInventoryDisturbed script to fire.
  3405. // * Returns OBJECT_INVALID if the caller is not a valid object.
  3406. object GetInventoryDisturbItem();
  3407.  
  3408. // 354: Displays the upgrade screen where the player can modify weapons and armor
  3409. void ShowUpgradeScreen(object oItem = OBJECT_INVALID);
  3410.  
  3411. // 355: Set eEffect to be versus a specific alignment.
  3412. // - eEffect
  3413. // - nLawChaos: ALIGNMENT_LAWFUL/ALIGNMENT_CHAOTIC/ALIGNMENT_ALL
  3414. // - nGoodEvil: ALIGNMENT_GOOD/ALIGNMENT_EVIL/ALIGNMENT_ALL
  3415. effect VersusAlignmentEffect(effect eEffect, int nLawChaos=ALIGNMENT_ALL, int nGoodEvil=ALIGNMENT_ALL);
  3416.  
  3417. // 356: Set eEffect to be versus nRacialType.
  3418. // - eEffect
  3419. // - nRacialType: RACIAL_TYPE_*
  3420. effect VersusRacialTypeEffect(effect eEffect, int nRacialType);
  3421.  
  3422. // 357: Set eEffect to be versus traps.
  3423. effect VersusTrapEffect(effect eEffect);
  3424.  
  3425. // 358: Get the gender of oCreature.
  3426. int GetGender(object oCreature);
  3427.  
  3428. // 359: * Returns TRUE if tTalent is valid.
  3429. int GetIsTalentValid(talent tTalent);
  3430.  
  3431. // 360: Causes the action subject to move away from lMoveAwayFrom.
  3432. void ActionMoveAwayFromLocation(location lMoveAwayFrom, int bRun=FALSE, float fMoveAwayRange=40.0f);
  3433.  
  3434. // 361: Get the target that the caller attempted to attack - this should be used in
  3435. // conjunction with GetAttackTarget(). This value is set every time an attack is
  3436. // made, and is reset at the end of combat.
  3437. // * Returns OBJECT_INVALID if the caller is not a valid creature.
  3438. object GetAttemptedAttackTarget();
  3439.  
  3440. // 362: Get the type (TALENT_TYPE_*) of tTalent.
  3441. int GetTypeFromTalent(talent tTalent);
  3442.  
  3443. // 363: Get the ID of tTalent.  This could be a SPELL_*, FEAT_* or SKILL_*.
  3444. int GetIdFromTalent(talent tTalent);
  3445.  
  3446. // 364: Starts a game of pazaak.
  3447. // - nOpponentPazaakDeck: Index into PazaakDecks.2da; specifies which deck the opponent will use.
  3448. // - sEndScript: Script to be run when game finishes.
  3449. // - nMaxWager: Max player wager.  If <= 0, the player's credits won't be modified by the result of the game and the wager screen will not show up.
  3450. // - bShowTutorial: Plays in tutorial mode (nMaxWager should be 0).
  3451. void PlayPazaak(int nOpponentPazaakDeck, string sEndScript, int nMaxWager, int bShowTutorial=FALSE, object oOpponent=OBJECT_INVALID);
  3452.  
  3453. // 365: Returns result of last Pazaak game.  Should be used only in an EndScript sent to PlayPazaak.
  3454. // * Returns 0 if player loses, 1 if player wins.
  3455. int GetLastPazaakResult();
  3456.  
  3457. // 366:  displays a feed back string for the object spicified and the constant
  3458. // repersents the string to be displayed see:FeedBackText.2da
  3459. void DisplayFeedBackText(object oCreature, int nTextConstant);
  3460.  
  3461. // 367: Add a journal quest entry to the player.
  3462. // - szPlotID: the plot identifier used in the toolset's Journal Editor
  3463. // - nState: the state of the plot as seen in the toolset's Journal Editor
  3464. // - bAllowOverrideHigher: If this is TRUE, you can set the state to a lower
  3465. //   number than the one it is currently on
  3466. void AddJournalQuestEntry(string szPlotID, int nState, int bAllowOverrideHigher=FALSE);
  3467.  
  3468. // 368: Remove a journal quest entry from the player.
  3469. // - szPlotID: the plot identifier used in the toolset's Journal Editor
  3470. void RemoveJournalQuestEntry(string szPlotID);
  3471.  
  3472. // 369: Gets the State value of a journal quest.  Returns 0 if no quest entry has been added for this szPlotID.
  3473. // - szPlotID: the plot identifier used in the toolset's Journal Editor
  3474. int GetJournalEntry(string szPlotID);
  3475.  
  3476. // 370: PlayRumblePattern
  3477. // Starts a defined rumble pattern playing
  3478. int PlayRumblePattern(int nPattern);
  3479.  
  3480. // 371: StopRumblePattern
  3481. // Stops a defined rumble pattern
  3482. int StopRumblePattern(int nPattern);
  3483.  
  3484. // 372: Damages the creatures force points
  3485. effect EffectDamageForcePoints(int nDamage);
  3486.  
  3487. // 373: Heals the creatures force points
  3488. effect EffectHealForcePoints(int nHeal);
  3489.  
  3490.  
  3491. // 374: Send a server message (szMessage) to the oPlayer.
  3492. void SendMessageToPC(object oPlayer, string szMessage);
  3493.  
  3494. // 375: Get the target at which the caller attempted to cast a spell.
  3495. // This value is set every time a spell is cast and is reset at the end of
  3496. // combat.
  3497. // * Returns OBJECT_INVALID if the caller is not a valid creature.
  3498. object GetAttemptedSpellTarget();
  3499.  
  3500. // 376: Get the last creature that opened the caller.
  3501. // * Returns OBJECT_INVALID if the caller is not a valid door or placeable.
  3502. object GetLastOpenedBy();
  3503.  
  3504. // 377: Determine whether oCreature has nSpell memorised.
  3505. // - nSpell: SPELL_*
  3506. // - oCreature
  3507. int GetHasSpell(int nSpell, object oCreature=OBJECT_SELF);
  3508.  
  3509. // 378: Open oStore for oPC.
  3510. void OpenStore(object oStore, object oPC, int nBonusMarkUp=0, int nBonusMarkDown=0);
  3511.  
  3512. // 379:
  3513. void ActionSurrenderToEnemies();
  3514.  
  3515. // 380: Get the first member of oMemberOfFaction's faction (start to cycle through
  3516. // oMemberOfFaction's faction).
  3517. // * Returns OBJECT_INVALID if oMemberOfFaction's faction is invalid.
  3518. object GetFirstFactionMember(object oMemberOfFaction, int bPCOnly=TRUE);
  3519.  
  3520. // 381: Get the next member of oMemberOfFaction's faction (continue to cycle through
  3521. // oMemberOfFaction's faction).
  3522. // * Returns OBJECT_INVALID if oMemberOfFaction's faction is invalid.
  3523. object GetNextFactionMember(object oMemberOfFaction, int bPCOnly=TRUE);
  3524.  
  3525. // 382: Force the action subject to move to lDestination.
  3526. void ActionForceMoveToLocation(location lDestination, int bRun=FALSE, float fTimeout=30.0f);
  3527.  
  3528. // 383: Force the action subject to move to oMoveTo.
  3529. void ActionForceMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f, float fTimeout=30.0f);
  3530.  
  3531. // 384: Get the experience assigned in the journal editor for szPlotID.
  3532. int GetJournalQuestExperience(string szPlotID);
  3533.  
  3534. // 385: Jump to oToJumpTo (the action is added to the top of the action queue).
  3535. void JumpToObject(object oToJumpTo, int nWalkStraightLineToPoint=1);
  3536.  
  3537. // 386: Set whether oMapPin is enabled.
  3538. // - oMapPin
  3539. // - nEnabled: 0=Off, 1=On
  3540. void SetMapPinEnabled(object oMapPin, int nEnabled);
  3541.  
  3542. // 387: Create a Hit Point Change When Dying effect.
  3543. // - fHitPointChangePerRound: this can be positive or negative, but not zero.
  3544. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if fHitPointChangePerRound is 0.
  3545. effect EffectHitPointChangeWhenDying(float fHitPointChangePerRound);
  3546.  
  3547. // 388: Spawn a GUI panel for the client that controls oPC.
  3548. // - oPC
  3549. // - nGUIPanel: GUI_PANEL_*
  3550. // * Nothing happens if oPC is not a player character or if an invalid value is
  3551. //   used for nGUIPanel.
  3552. void PopUpGUIPanel(object oPC, int nGUIPanel);
  3553.  
  3554. // 389: This allows you to add a new class to any creature object
  3555. void AddMultiClass(int nClassType, object oSource);
  3556.  
  3557. // 390: Tests a linked effect to see if the target is immune to it.
  3558. // If the target is imune to any of the linked effect then he is immune to all of it
  3559. int GetIsLinkImmune(object oTarget, effect eEffect );
  3560.  
  3561. // 391: Stunn the droid
  3562. effect EffectDroidStun( );
  3563.  
  3564. // 392: Force push the creature...
  3565. effect EffectForcePushed();
  3566.  
  3567. // 393: Gives nXpAmount to oCreature.
  3568. void GiveXPToCreature(object oCreature, int nXpAmount);
  3569.  
  3570. // 394: Sets oCreature's experience to nXpAmount.
  3571. void SetXP(object oCreature, int nXpAmount);
  3572.  
  3573. // 395: Get oCreature's experience.
  3574. int GetXP(object oCreature);
  3575.  
  3576. // 396: Convert nInteger to hex, returning the hex value as a string.
  3577. // * Return value has the format "0x????????" where each ? will be a hex digit
  3578. //   (8 digits in total).
  3579. string IntToHexString(int nInteger);
  3580.  
  3581. // 397: Get the base item type (BASE_ITEM_*) of oItem.
  3582. // * Returns BASE_ITEM_INVALID if oItem is an invalid item.
  3583. int GetBaseItemType(object oItem);
  3584.  
  3585. // 398: Determines whether oItem has nProperty.
  3586. // - oItem
  3587. // - nProperty: ITEM_PROPERTY_*
  3588. // * Returns FALSE if oItem is not a valid item, or if oItem does not have
  3589. //   nProperty.
  3590. int GetItemHasItemProperty(object oItem, int nProperty);
  3591.  
  3592. // 399: The creature will equip the melee weapon in its possession that can do the
  3593. // most damage. If no valid melee weapon is found, it will equip the most
  3594. // damaging range weapon. This function should only ever be called in the
  3595. // EndOfCombatRound scripts, because otherwise it would have to stop the combat
  3596. // round to run simulation.
  3597. // - oVersus: You can try to get the most damaging weapon against oVersus
  3598. // - bOffHand
  3599. void ActionEquipMostDamagingMelee(object oVersus=OBJECT_INVALID, int bOffHand=FALSE);
  3600.  
  3601. // 400: The creature will equip the range weapon in its possession that can do the
  3602. // most damage.
  3603. // If no valid range weapon can be found, it will equip the most damaging melee
  3604. // weapon.
  3605. // - oVersus: You can try to get the most damaging weapon against oVersus
  3606. void ActionEquipMostDamagingRanged(object oVersus=OBJECT_INVALID);
  3607.  
  3608. // 401: Get the Armour Class of oItem.
  3609. // * Return 0 if the oItem is not a valid item, or if oItem has no armour value.
  3610. int GetItemACValue(object oItem);
  3611.  
  3612. // 402:
  3613. // Effect that will play an animation and display a visual effect to indicate the
  3614. // target has resisted a force power.
  3615. effect EffectForceResisted( object oSource );
  3616.  
  3617. // 403: Expose the entire map of oArea to oPlayer.
  3618. void ExploreAreaForPlayer(object oArea, object oPlayer);
  3619.  
  3620. // 404: The creature will equip the armour in its possession that has the highest
  3621. // armour class.
  3622. void ActionEquipMostEffectiveArmor();
  3623.  
  3624. // 405: * Returns TRUE if it is currently day.
  3625. int GetIsDay();
  3626.  
  3627. // 406: * Returns TRUE if it is currently night.
  3628. int GetIsNight();
  3629.  
  3630. // 407: * Returns TRUE if it is currently dawn.
  3631. int GetIsDawn();
  3632.  
  3633. // 408: * Returns TRUE if it is currently dusk.
  3634. int GetIsDusk();
  3635.  
  3636. // 409: * Returns TRUE if oCreature was spawned from an encounter.
  3637. int GetIsEncounterCreature(object oCreature=OBJECT_SELF);
  3638.  
  3639. // 410: Use this in an OnPlayerDying module script to get the last player who is dying.
  3640. object GetLastPlayerDying();
  3641.  
  3642. // 411: Get the starting location of the module.
  3643. location GetStartingLocation();
  3644.  
  3645. // 412: Make oCreatureToChange join one of the standard factions.
  3646. // ** This will only work on an NPC **
  3647. // - nStandardFaction: STANDARD_FACTION_*
  3648. void ChangeToStandardFaction(object oCreatureToChange, int nStandardFaction);
  3649.  
  3650. // 413: Play oSound.
  3651. void SoundObjectPlay(object oSound);
  3652.  
  3653. // 414: Stop playing oSound.
  3654. void SoundObjectStop(object oSound);
  3655.  
  3656. // 415: Set the volume of oSound.
  3657. // - oSound
  3658. // - nVolume: 0-127
  3659. void SoundObjectSetVolume(object oSound, int nVolume);
  3660.  
  3661. // 416: Set the position of oSound.
  3662. void SoundObjectSetPosition(object oSound, vector vPosition);
  3663.  
  3664. // 417: Immediately speak a conversation one-liner.
  3665. // - sDialogResRef
  3666. // - oTokenTarget: This must be specified if there are creature-specific tokens
  3667. //   in the string.
  3668. void SpeakOneLinerConversation(string sDialogResRef="", object oTokenTarget=OBJECT_TYPE_INVALID);
  3669.  
  3670. // 418: Get the amount of gold possessed by oTarget.
  3671. int GetGold(object oTarget=OBJECT_SELF);
  3672.  
  3673. // 419: Use this in an OnRespawnButtonPressed module script to get the object id of
  3674. // the player who last pressed the respawn button.
  3675. object GetLastRespawnButtonPresser();
  3676.  
  3677. // 420:
  3678. // Effect that will display a visual effect on the specified object's hand to
  3679. // indicate a force power has fizzled out.
  3680. effect EffectForceFizzle();
  3681.  
  3682. // 421: SetLightsaberPowered
  3683. // Allows a script to set the state of the lightsaber.  This will override any
  3684. // game determined lightsaber powerstates.
  3685. void SetLightsaberPowered( object oCreature, int bOverride, int bPowered = TRUE, int bShowTransition = FALSE);
  3686.  
  3687. // 422: * Returns TRUE if the weapon equipped is capable of damaging oVersus.
  3688. int GetIsWeaponEffective(object oVersus=OBJECT_INVALID, int bOffHand=FALSE);
  3689.  
  3690. // 423: Use this in a SpellCast script to determine whether the spell was considered
  3691. // harmful.
  3692. // * Returns TRUE if the last spell cast was harmful.
  3693. int GetLastSpellHarmful();
  3694.  
  3695. // 424: Activate oItem.
  3696. event EventActivateItem(object oItem, location lTarget, object oTarget=OBJECT_INVALID);
  3697.  
  3698. // 425: Play the background music for oArea.
  3699. void MusicBackgroundPlay(object oArea);
  3700.  
  3701. // 426: Stop the background music for oArea.
  3702. void MusicBackgroundStop(object oArea);
  3703.  
  3704. // 427: Set the delay for the background music for oArea.
  3705. // - oArea
  3706. // - nDelay: delay in milliseconds
  3707. void MusicBackgroundSetDelay(object oArea, int nDelay);
  3708.  
  3709. // 428: Change the background day track for oArea to nTrack.
  3710. // - oArea
  3711. // - nTrack
  3712. void MusicBackgroundChangeDay(object oArea, int nTrack);
  3713.  
  3714. // 429: Change the background night track for oArea to nTrack.
  3715. // - oArea
  3716. // - nTrack
  3717. void MusicBackgroundChangeNight(object oArea, int nTrack);
  3718.  
  3719. // 430: Play the battle music for oArea.
  3720. void MusicBattlePlay(object oArea);
  3721.  
  3722. // 431: Stop the battle music for oArea.
  3723. void MusicBattleStop(object oArea);
  3724.  
  3725. // 432: Change the battle track for oArea.
  3726. // - oArea
  3727. // - nTrack
  3728. void MusicBattleChange(object oArea, int nTrack);
  3729.  
  3730. // 433: Play the ambient sound for oArea.
  3731. void AmbientSoundPlay(object oArea);
  3732.  
  3733. // 434: Stop the ambient sound for oArea.
  3734. void AmbientSoundStop(object oArea);
  3735.  
  3736. // 435: Change the ambient day track for oArea to nTrack.
  3737. // - oArea
  3738. // - nTrack
  3739. void AmbientSoundChangeDay(object oArea, int nTrack);
  3740.  
  3741. // 436: Change the ambient night track for oArea to nTrack.
  3742. // - oArea
  3743. // - nTrack
  3744. void AmbientSoundChangeNight(object oArea, int nTrack);
  3745.  
  3746. // 437: Get the object that killed the caller.
  3747. object GetLastKiller();
  3748.  
  3749. // 438: Use this in a spell script to get the item used to cast the spell.
  3750. object GetSpellCastItem();
  3751.  
  3752. // 439: Use this in an OnItemActivated module script to get the item that was activated.
  3753. object GetItemActivated();
  3754.  
  3755. // 440: Use this in an OnItemActivated module script to get the creature that
  3756. // activated the item.
  3757. object GetItemActivator();
  3758.  
  3759. // 441: Use this in an OnItemActivated module script to get the location of the item's
  3760. // target.
  3761. location GetItemActivatedTargetLocation();
  3762.  
  3763. // 442: Use this in an OnItemActivated module script to get the item's target.
  3764. object GetItemActivatedTarget();
  3765.  
  3766. // 443: * Returns TRUE if oObject (which is a placeable or a door) is currently open.
  3767. int GetIsOpen(object oObject);
  3768.  
  3769. // 444: Take nAmount of gold from oCreatureToTakeFrom.
  3770. // - nAmount
  3771. // - oCreatureToTakeFrom: If this is not a valid creature, nothing will happen.
  3772. // - bDestroy: If this is TRUE, the caller will not get the gold.  Instead, the
  3773. //   gold will be destroyed and will vanish from the game.
  3774. void TakeGoldFromCreature(int nAmount, object oCreatureToTakeFrom, int bDestroy=FALSE);
  3775.  
  3776. // 445: Determine whether oObject is in conversation.
  3777. int GetIsInConversation(object oObject);
  3778.  
  3779. // 446: Create an Ability Decrease effect.
  3780. // - nAbility: ABILITY_*
  3781. // - nModifyBy: This is the amount by which to decrement the ability
  3782. effect EffectAbilityDecrease(int nAbility, int nModifyBy);
  3783.  
  3784. // 447: Create an Attack Decrease effect.
  3785. // - nPenalty
  3786. // - nModifierType: ATTACK_BONUS_*
  3787. effect EffectAttackDecrease(int nPenalty, int nModifierType=ATTACK_BONUS_MISC);
  3788.  
  3789. // 448: Create a Damage Decrease effect.
  3790. // - nPenalty
  3791. // - nDamageType: DAMAGE_TYPE_*
  3792. effect EffectDamageDecrease(int nPenalty, int nDamageType=DAMAGE_TYPE_UNIVERSAL);
  3793.  
  3794. // 449: Create a Damage Immunity Decrease effect.
  3795. // - nDamageType: DAMAGE_TYPE_*
  3796. // - nPercentImmunity
  3797. effect EffectDamageImmunityDecrease(int nDamageType, int nPercentImmunity);
  3798.  
  3799. // 450: Create an AC Decrease effect.
  3800. // - nValue
  3801. // - nModifyType: AC_*
  3802. // - nDamageType: DAMAGE_TYPE_*
  3803. //   * Default value for nDamageType should only ever be used in this function prototype.
  3804. effect EffectACDecrease(int nValue, int nModifyType=AC_DODGE_BONUS, int nDamageType=AC_VS_DAMAGE_TYPE_ALL);
  3805.  
  3806. // 451: Create a Movement Speed Decrease effect.
  3807. // - nPercentChange: This is expected to be a positive integer between 1 and 99 inclusive.
  3808. //   If a negative integer is supplied then a movement speed increase will result,
  3809. //   and if a number >= 100 is supplied then the effect is deleted.
  3810. effect EffectMovementSpeedDecrease(int nPercentChange);
  3811.  
  3812. // 452: Create a Saving Throw Decrease effect.
  3813. // - nSave
  3814. // - nValue
  3815. // - nSaveType: SAVING_THROW_TYPE_*
  3816. effect EffectSavingThrowDecrease(int nSave, int nValue, int nSaveType=SAVING_THROW_TYPE_ALL);
  3817.  
  3818. // 453: Create a Skill Decrease effect.
  3819. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nSkill is invalid.
  3820. effect EffectSkillDecrease(int nSkill, int nValue);
  3821.  
  3822. // 454: Create a Force Resistance Decrease effect.
  3823. effect EffectForceResistanceDecrease(int nValue);
  3824.  
  3825. // 455: Determine whether oTarget is a plot object.
  3826. int GetPlotFlag(object oTarget=OBJECT_SELF);
  3827.  
  3828. // 456: Set oTarget's plot object status.
  3829. void SetPlotFlag(object oTarget, int nPlotFlag);
  3830.  
  3831. // 457: Create an Invisibility effect.
  3832. // - nInvisibilityType: INVISIBILITY_TYPE_*
  3833. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nInvisibilityType
  3834. //   is invalid.
  3835. effect EffectInvisibility(int nInvisibilityType);
  3836.  
  3837. // 458: Create a Concealment effect.
  3838. // - nPercentage: 1-100 inclusive
  3839. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nPercentage < 1 or
  3840. //   nPercentage > 100.
  3841. effect EffectConcealment(int nPercentage);
  3842.  
  3843. // 459: Create a Force Shield that has parameters from the guven index into the forceshields.2da
  3844. effect EffectForceShield(int nShield);
  3845.  
  3846. // 460: Create a Dispel Magic All effect.
  3847. effect EffectDispelMagicAll(int nCasterLevel);
  3848.  
  3849. // 461: Cut immediately to placeable camera 'nCameraId' during dialog.  nCameraId must be
  3850. //      an existing Placeable Camera ID.  Function only works during Dialog.
  3851. void SetDialogPlaceableCamera( int nCameraId );
  3852.  
  3853.  
  3854. // 462:
  3855. // Returns: TRUE if the player is in 'solo mode' (ie. the party is not supposed to follow the player).
  3856. //          FALSE otherwise.
  3857. int GetSoloMode();
  3858.  
  3859. // 463: Create a Disguise effect.
  3860. // - * nDisguiseAppearance: DISGUISE_TYPE_*s
  3861. effect EffectDisguise(int nDisguiseAppearance);
  3862.  
  3863. // 464:
  3864. // Returns the maximum amount of stealth xp available in the area.
  3865. int GetMaxStealthXP();
  3866.  
  3867. // 465: Create a True Seeing effect.
  3868. effect EffectTrueSeeing();
  3869.  
  3870. // 466: Create a See Invisible effect.
  3871. effect EffectSeeInvisible();
  3872.  
  3873. // 467: Create a Time Stop effect.
  3874. effect EffectTimeStop();
  3875.  
  3876. // 468:
  3877. // Set the maximum amount of stealth xp available in the area.
  3878. void SetMaxStealthXP( int nMax );
  3879.  
  3880. // 469: Increase the blaster deflection rate, i think...
  3881. effect EffectBlasterDeflectionIncrease(int nChange);
  3882.  
  3883. // 470:decrease the blaster deflection rate
  3884. effect EffectBlasterDeflectionDecrease(int nChange);
  3885.  
  3886. // 471: Make the creature horified. BOO!
  3887. effect EffectHorrified( );
  3888.  
  3889. // 472: Create a Spell Level Absorption effect.
  3890. // - nMaxSpellLevelAbsorbed: maximum spell level that will be absorbed by the
  3891. //   effect
  3892. // - nTotalSpellLevelsAbsorbed: maximum number of spell levels that will be
  3893. //   absorbed by the effect
  3894. // - nSpellSchool: SPELL_SCHOOL_*
  3895. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if:
  3896. //   nMaxSpellLevelAbsorbed is not between -1 and 9 inclusive, or nSpellSchool
  3897. //   is invalid.
  3898. effect EffectSpellLevelAbsorption(int nMaxSpellLevelAbsorbed, int nTotalSpellLevelsAbsorbed=0, int nSpellSchool=0 );
  3899.  
  3900. // 473: Create a Dispel Magic Best effect.
  3901. effect EffectDispelMagicBest(int nCasterLevel);
  3902.  
  3903. // 474:
  3904. // Returns the current amount of stealth xp available in the area.
  3905. int GetCurrentStealthXP();
  3906.  
  3907. // 475: Get the number of stacked items that oItem comprises.
  3908. int GetNumStackedItems(object oItem);
  3909.  
  3910. // 476: Use this on an NPC to cause all creatures within a 10-metre radius to stop
  3911. // what they are doing and sets the NPC's enemies within this range to be
  3912. // neutral towards the NPC. If this command is run on a PC or an object that is
  3913. // not a creature, nothing will happen.
  3914. void SurrenderToEnemies();
  3915.  
  3916. // 477: Create a Miss Chance effect.
  3917. // - nPercentage: 1-100 inclusive
  3918. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nPercentage < 1 or
  3919. //   nPercentage > 100.
  3920. effect EffectMissChance(int nPercentage);
  3921.  
  3922. // 478:
  3923. // Set the current amount of stealth xp available in the area.
  3924. void SetCurrentStealthXP( int nCurrent );
  3925.  
  3926. // 479: Get the size (CREATURE_SIZE_*) of oCreature.
  3927. int GetCreatureSize(object oCreature);
  3928.  
  3929. // 480:
  3930. // Award the stealth xp to the given oTarget.  This will only work on creatures.
  3931. void AwardStealthXP( object oTarget );
  3932.  
  3933. // 481:
  3934. // Returns whether or not the stealth xp bonus is enabled (ie. whether or not
  3935. // AwardStealthXP() will actually award any available stealth xp).
  3936. int GetStealthXPEnabled();
  3937.  
  3938. // 482:
  3939. // Sets whether or not the stealth xp bonus is enabled (ie. whether or not
  3940. // AwardStealthXP() will actually award any available stealth xp).
  3941. void SetStealthXPEnabled( int bEnabled );
  3942.  
  3943. // 483: The action subject will unlock oTarget, which can be a door or a placeable
  3944. // object.
  3945. void ActionUnlockObject(object oTarget);
  3946.  
  3947. // 484: The action subject will lock oTarget, which can be a door or a placeable
  3948. // object.
  3949. void ActionLockObject(object oTarget);
  3950.  
  3951. // 485: Create a Modify Attacks effect to add attacks.
  3952. // - nAttacks: maximum is 5, even with the effect stacked
  3953. // * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nAttacks > 5.
  3954. effect EffectModifyAttacks(int nAttacks);
  3955.  
  3956. // 486: Get the last trap detected by oTarget.
  3957. // * Return value on error: OBJECT_INVALID
  3958. object GetLastTrapDetected(object oTarget=OBJECT_SELF);
  3959.  
  3960. // 487: Create a Damage Shield effect which does (nDamageAmount + nRandomAmount)
  3961. // damage to any melee attacker on a successful attack of damage type nDamageType.
  3962. // - nDamageAmount: an integer value
  3963. // - nRandomAmount: DAMAGE_BONUS_*
  3964. // - nDamageType: DAMAGE_TYPE_*
  3965. effect EffectDamageShield(int nDamageAmount, int nRandomAmount, int nDamageType);
  3966.  
  3967. // 488: Get the trap nearest to oTarget.
  3968. // Note : "trap objects" are actually any trigger, placeable or door that is
  3969. // trapped in oTarget's area.
  3970. // - oTarget
  3971. // - nTrapDetected: if this is TRUE, the trap returned has to have been detected
  3972. //   by oTarget.
  3973. object GetNearestTrapToObject(object oTarget=OBJECT_SELF, int nTrapDetected=TRUE);
  3974.  
  3975. // 489: the will get the last attmpted movment target
  3976. object GetAttemptedMovementTarget();
  3977.  
  3978.  
  3979. // 490: this function returns the bloking creature for the k_def_CBTBlk01 script
  3980. object GetBlockingCreature(object oTarget=OBJECT_SELF);
  3981.  
  3982. // 491: Get oTarget's base fortitude saving throw value (this will only work for
  3983. // creatures, doors, and placeables).
  3984. // * Returns 0 if oTarget is invalid.
  3985. int GetFortitudeSavingThrow(object oTarget);
  3986.  
  3987. // 492: Get oTarget's base will saving throw value (this will only work for creatures,
  3988. // doors, and placeables).
  3989. // * Returns 0 if oTarget is invalid.
  3990. int GetWillSavingThrow(object oTarget);
  3991.  
  3992. // 493: Get oTarget's base reflex saving throw value (this will only work for
  3993. // creatures, doors, and placeables).
  3994. // * Returns 0 if oTarget is invalid.
  3995. int GetReflexSavingThrow(object oTarget);
  3996.  
  3997. // 494: Get oCreature's challenge rating.
  3998. // * Returns 0.0 if oCreature is invalid.
  3999. float GetChallengeRating(object oCreature);
  4000.  
  4001. // 495: Returns the found enemy creature on a pathfind.
  4002. object GetFoundEnemyCreature(object oTarget=OBJECT_SELF);
  4003.  
  4004. // 496: Get oCreature's movement rate.
  4005. // * Returns 0 if oCreature is invalid.
  4006. int GetMovementRate(object oCreature);
  4007.  
  4008. // 497: GetSubRace of oCreature
  4009. // Returns SUBRACE_*
  4010. int GetSubRace(object oCreature);
  4011.  
  4012. // 498:
  4013. // Returns the amount the stealth xp bonus gets decreased each time the player is detected.
  4014. int GetStealthXPDecrement();
  4015.  
  4016. // 499:
  4017. // Sets the amount the stealth xp bonus gets decreased each time the player is detected.
  4018. void SetStealthXPDecrement( int nDecrement );
  4019.  
  4020. // 500:
  4021. void DuplicateHeadAppearance(object oidCreatureToChange, object oidCreatureToMatch);
  4022.  
  4023. // 501: The action subject will fake casting a spell at oTarget; the conjure and cast
  4024. // animations and visuals will occur, nothing else.
  4025. // - nSpell
  4026. // - oTarget
  4027. // - nProjectilePathType: PROJECTILE_PATH_TYPE_*
  4028. void ActionCastFakeSpellAtObject(int nSpell, object oTarget, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT);
  4029.  
  4030. // 502: The action subject will fake casting a spell at lLocation; the conjure and
  4031. // cast animations and visuals will occur, nothing else.
  4032. // - nSpell
  4033. // - lTarget
  4034. // - nProjectilePathType: PROJECTILE_PATH_TYPE_*
  4035. void ActionCastFakeSpellAtLocation(int nSpell, location lTarget, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT);
  4036.  
  4037. // 503: CutsceneAttack
  4038. // This function allows the designer to specify exactly what's going to happen in a combat round
  4039. // There are no guarentees made that the animation specified here will be correct - only that it will be played,
  4040. // so it is up to the designer to ensure that they have selected the right animation
  4041. // It relies upon constants specified above for the attack result
  4042. void CutsceneAttack(object oTarget, int nAnimation, int nAttackResult, int nDamage);
  4043.  
  4044. // 504: Set the camera mode for oPlayer.
  4045. // - oPlayer
  4046. // - nCameraMode: CAMERA_MODE_*
  4047. // * If oPlayer is not player-controlled or nCameraMode is invalid, nothing
  4048. //   happens.
  4049. void SetCameraMode(object oPlayer, int nCameraMode);
  4050.  
  4051. // 505: SetLockOrientationInDialog
  4052. // Allows the locking and unlocking of orientation changes for an object in dialog
  4053. // - oObject - Object
  4054. // - nValue - TRUE or FALSE
  4055. void SetLockOrientationInDialog(object oObject, int nValue);
  4056.  
  4057. // 506: SetLockHeadFollowInDialog
  4058. // Allows the locking and undlocking of head following for an object in dialog
  4059. // - oObject - Object
  4060. // - nValue - TRUE or FALSE
  4061. void SetLockHeadFollowInDialog(object oObject, int nValue);
  4062.  
  4063. // 507: CutsceneMoveToPoint
  4064. // Used by the cutscene system to allow designers to script combat
  4065. void CutsceneMove(object oObject, vector vPosition, int nRun);
  4066.  
  4067. // 508: EnableVideoEffect
  4068. // Enables the video frame buffer effect specified by nEffectType, which is
  4069. // an index into VideoEffects.2da. This video effect will apply indefinitely,
  4070. // and so it should *always* be cleared by a call to DisableVideoEffect().
  4071. void EnableVideoEffect(int nEffectType);
  4072.  
  4073. // 509: Shut down the currently loaded module and start a new one (moving all
  4074. // currently-connected players to the starting point.
  4075. void StartNewModule(string sModuleName, string sWayPoint="", string sMovie1="", string sMovie2="", string sMovie3="", string sMovie4="", string sMovie5="", string sMovie6="");
  4076.  
  4077. // 510: DisableVideoEffect
  4078. // Disables any video frame buffer effect that may be running. See
  4079. // EnableVideoEffect() to see how to use them.
  4080. void DisableVideoEffect();
  4081.  
  4082. // 511: * Returns TRUE if oItem is a ranged weapon.
  4083. int GetWeaponRanged(object oItem);
  4084.  
  4085. // 512: Only if we are in a single player game, AutoSave the game.
  4086. void DoSinglePlayerAutoSave();
  4087.  
  4088. // 513: Get the game difficulty (GAME_DIFFICULTY_*).
  4089. int GetGameDifficulty();
  4090.  
  4091. // 514:
  4092. // This will test the combat action queu to see if the user has placed any actions on the queue.
  4093. // will only work during combat.
  4094. int GetUserActionsPending();
  4095.  
  4096. // 515: RevealMap
  4097. // Reveals the map at the given WORLD point 'vPoint' with a MAP Grid Radius 'nRadius'
  4098. // If this function is called with no parameters it will reveal the entire map.
  4099. // (NOTE: if this function is called with a valid point but a default radius, ie. 'nRadius' of -1
  4100. //        then the entire map will be revealed)
  4101. void RevealMap(vector vPoint=[0.0,0.0,0.0],int nRadius=-1);
  4102.  
  4103. // 516: SetTutorialWindowsEnabled
  4104. // Sets whether or not the tutorial windows are enabled (ie. whether or not they will
  4105. // appear when certain things happen for the first time).
  4106. void SetTutorialWindowsEnabled( int bEnabled );
  4107.  
  4108. // 517: ShowTutorialWindow
  4109. // Pops up the specified tutorial window.  If the tutorial window has already popped
  4110. // up once before, this will do nothing.
  4111. void ShowTutorialWindow( int nWindow );
  4112.  
  4113. // 518: StartCreditSequence
  4114. // Starts the credits sequence.  If bTransparentBackground is TRUE, the credits will be displayed
  4115. // with a transparent background, allowing whatever is currently onscreen to show through.  If it
  4116. // is set to FALSE, the credits will be displayed on a black background.
  4117. void StartCreditSequence( int bTransparentBackground );
  4118.  
  4119. // 519: IsCreditSequenceInProgress
  4120. // Returns TRUE if the credits sequence is currently in progress, FALSE otherwise.
  4121. int IsCreditSequenceInProgress();
  4122.  
  4123. // 520: Sets the minigame lateral acceleration/sec value
  4124. void SWMG_SetLateralAccelerationPerSecond(float fLAPS);
  4125.  
  4126. // 521: Returns the minigame lateral acceleration/sec value
  4127. float SWMG_GetLateralAccelerationPerSecond();
  4128.  
  4129. // 522: Get the current action (ACTION_*) that oObject is executing.
  4130. int GetCurrentAction(object oObject=OBJECT_SELF);
  4131.  
  4132. // 523:
  4133. float GetDifficultyModifier();
  4134.  
  4135. // 524: Returns the appearance type of oCreature (0 if creature doesn't exist)
  4136. // - oCreature
  4137. int GetAppearanceType(object oCreature);
  4138.  
  4139. // 525: Display floaty text above the specified creature.
  4140. // The text will also appear in the chat buffer of each player that receives the
  4141. // floaty text.
  4142. // - nStrRefToDisplay: String ref (therefore text is translated)
  4143. // - oCreatureToFloatAbove
  4144. // - bBroadcastToFaction: If this is TRUE then only creatures in the same faction
  4145. //   as oCreatureToFloatAbove
  4146. //   will see the floaty text, and only if they are within range (30 metres).
  4147. void FloatingTextStrRefOnCreature(int nStrRefToDisplay, object oCreatureToFloatAbove, int bBroadcastToFaction=TRUE);
  4148.  
  4149. // 526: Display floaty text above the specified creature.
  4150. // The text will also appear in the chat buffer of each player that receives the
  4151. // floaty text.
  4152. // - sStringToDisplay: String
  4153. // - oCreatureToFloatAbove
  4154. // - bBroadcastToFaction: If this is TRUE then only creatures in the same faction
  4155. //   as oCreatureToFloatAbove
  4156. //   will see the floaty text, and only if they are within range (30 metres).
  4157. void FloatingTextStringOnCreature(string sStringToDisplay, object oCreatureToFloatAbove, int bBroadcastToFaction=TRUE);
  4158.  
  4159. // 527: - oTrapObject: a placeable, door or trigger
  4160. // * Returns TRUE if oTrapObject is disarmable.
  4161. int GetTrapDisarmable(object oTrapObject);
  4162.  
  4163. // 528: - oTrapObject: a placeable, door or trigger
  4164. // * Returns TRUE if oTrapObject is detectable.
  4165. int GetTrapDetectable(object oTrapObject);
  4166.  
  4167. // 529: - oTrapObject: a placeable, door or trigger
  4168. // - oCreature
  4169. // * Returns TRUE if oCreature has detected oTrapObject
  4170. int GetTrapDetectedBy(object oTrapObject, object oCreature);
  4171.  
  4172. // 530: - oTrapObject: a placeable, door or trigger
  4173. // * Returns TRUE if oTrapObject has been flagged as visible to all creatures.
  4174. int GetTrapFlagged(object oTrapObject);
  4175.  
  4176. // 531: Get the trap base type (TRAP_BASE_TYPE_*) of oTrapObject.
  4177. // - oTrapObject: a placeable, door or trigger
  4178. int GetTrapBaseType(object oTrapObject);
  4179.  
  4180. // 532: - oTrapObject: a placeable, door or trigger
  4181. // * Returns TRUE if oTrapObject is one-shot (i.e. it does not reset itself
  4182. //   after firing.
  4183. int GetTrapOneShot(object oTrapObject);
  4184.  
  4185. // 533: Get the creator of oTrapObject, the creature that set the trap.
  4186. // - oTrapObject: a placeable, door or trigger
  4187. // * Returns OBJECT_INVALID if oTrapObject was created in the toolset.
  4188. object GetTrapCreator(object oTrapObject);
  4189.  
  4190. // 534: Get the tag of the key that will disarm oTrapObject.
  4191. // - oTrapObject: a placeable, door or trigger
  4192. string GetTrapKeyTag(object oTrapObject);
  4193.  
  4194. // 535: Get the DC for disarming oTrapObject.
  4195. // - oTrapObject: a placeable, door or trigger
  4196. int GetTrapDisarmDC(object oTrapObject);
  4197.  
  4198. // 536: Get the DC for detecting oTrapObject.
  4199. // - oTrapObject: a placeable, door or trigger
  4200. int GetTrapDetectDC(object oTrapObject);
  4201.  
  4202. // 537: * Returns TRUE if a specific key is required to open the lock on oObject.
  4203. int GetLockKeyRequired(object oObject);
  4204.  
  4205. // 538: Get the tag of the key that will open the lock on oObject.
  4206. int GetLockKeyTag(object oObject);
  4207.  
  4208. // 539: * Returns TRUE if the lock on oObject is lockable.
  4209. int GetLockLockable(object oObject);
  4210.  
  4211. // 540: Get the DC for unlocking oObject.
  4212. int GetLockUnlockDC(object oObject);
  4213.  
  4214. // 541: Get the DC for locking oObject.
  4215. int GetLockLockDC(object oObject);
  4216.  
  4217. // 542: Get the last PC that levelled up.
  4218. object GetPCLevellingUp();
  4219.  
  4220. // 543: - nFeat: FEAT_*
  4221. // - oObject
  4222. // * Returns TRUE if oObject has effects on it originating from nFeat.
  4223. int GetHasFeatEffect(int nFeat, object oObject=OBJECT_SELF);
  4224.  
  4225. // 544: Set the status of the illumination for oPlaceable.
  4226. // - oPlaceable
  4227. // - bIlluminate: if this is TRUE, oPlaceable's illumination will be turned on.
  4228. //   If this is FALSE, oPlaceable's illumination will be turned off.
  4229. // Note: You must call RecomputeStaticLighting() after calling this function in
  4230. // order for the changes to occur visually for the players.
  4231. // SetPlaceableIllumination() buffers the illumination changes, which are then
  4232. // sent out to the players once RecomputeStaticLighting() is called.  As such,
  4233. // it is best to call SetPlaceableIllumination() for all the placeables you wish
  4234. // to set the illumination on, and then call RecomputeStaticLighting() once after
  4235. // all the placeable illumination has been set.
  4236. // * If oPlaceable is not a placeable object, or oPlaceable is a placeable that
  4237. //   doesn't have a light, nothing will happen.
  4238. void SetPlaceableIllumination(object oPlaceable=OBJECT_SELF, int bIlluminate=TRUE);
  4239.  
  4240. // 545: * Returns TRUE if the illumination for oPlaceable is on
  4241. int GetPlaceableIllumination(object oPlaceable=OBJECT_SELF);
  4242.  
  4243. // 546: - oPlaceable
  4244. // - nPlaceableAction: PLACEABLE_ACTION_*
  4245. // * Returns TRUE if nPlacebleAction is valid for oPlaceable.
  4246. int GetIsPlaceableObjectActionPossible(object oPlaceable, int nPlaceableAction);
  4247.  
  4248. // 547: The caller performs nPlaceableAction on oPlaceable.
  4249. // - oPlaceable
  4250. // - nPlaceableAction: PLACEABLE_ACTION_*
  4251. void DoPlaceableObjectAction(object oPlaceable, int nPlaceableAction);
  4252.  
  4253. // 548: Get the first PC in the player list.
  4254. // This resets the position in the player list for GetNextPC().
  4255. object GetFirstPC();
  4256.  
  4257. // 549: Get the next PC in the player list.
  4258. // This picks up where the last GetFirstPC() or GetNextPC() left off.
  4259. object GetNextPC();
  4260.  
  4261. // 550: Set oDetector to have detected oTrap.
  4262. int SetTrapDetectedBy(object oTrap, object oDetector);
  4263.  
  4264. // 551: Note: Only placeables, doors and triggers can be trapped.
  4265. // * Returns TRUE if oObject is trapped.
  4266. int GetIsTrapped(object oObject);
  4267.  
  4268. // 552: SetEffectIcon
  4269. // This will link the specified effect icon to the specified effect.  The
  4270. // effect returned will contain the link to the effect icon and applying this
  4271. // effect will cause an effect icon to appear on the portrait/charsheet gui.
  4272. // eEffect: The effect which should cause the effect icon to appear.
  4273. // nIcon: Index into effecticon.2da of the effect icon to use.
  4274. effect SetEffectIcon( effect eEffect, int nIcon );
  4275.  
  4276. // 553: FaceObjectAwayFromObject
  4277. // This will cause the object oFacer to face away from oObjectToFaceAwayFrom.
  4278. // The objects must be in the same area for this to work.
  4279. void FaceObjectAwayFromObject( object oFacer, object oObjectToFaceAwayFrom );
  4280.  
  4281. // 554: Spawn in the Death GUI.
  4282. // The default (as defined by BioWare) can be spawned in by PopUpGUIPanel, but
  4283. // if you want to turn off the "Respawn" or "Wait for Help" buttons, this is the
  4284. // function to use.
  4285. // - oPC
  4286. // - bRespawnButtonEnabled: if this is TRUE, the "Respawn" button will be enabled
  4287. //   on the Death GUI.
  4288. // - bWaitForHelpButtonEnabled: if this is TRUE, the "Wait For Help" button will
  4289. //   be enabled on the Death GUI.
  4290. // - nHelpStringReference
  4291. // - sHelpString
  4292. void PopUpDeathGUIPanel(object oPC, int bRespawnButtonEnabled=TRUE, int bWaitForHelpButtonEnabled=TRUE, int nHelpStringReference=0, string sHelpString="");
  4293.  
  4294. // 555: Disable oTrap.
  4295. // - oTrap: a placeable, door or trigger.
  4296. void SetTrapDisabled(object oTrap);
  4297.  
  4298. // 556: Get the last object that was sent as a GetLastAttacker(), GetLastDamager(),
  4299. // GetLastSpellCaster() (for a hostile spell), or GetLastDisturbed() (when a
  4300. // creature is pickpocketed).
  4301. // Note: Return values may only ever be:
  4302. // 1) A Creature
  4303. // 2) Plot Characters will never have this value set
  4304. // 3) Area of Effect Objects will return the AOE creator if they are registered
  4305. //    as this value, otherwise they will return INVALID_OBJECT_ID
  4306. // 4) Traps will not return the creature that set the trap.
  4307. // 5) This value will never be overwritten by another non-creature object.
  4308. // 6) This value will never be a dead/destroyed creature
  4309. object GetLastHostileActor(object oVictim=OBJECT_SELF);
  4310.  
  4311. // 557: Force all the characters of the players who are currently in the game to
  4312. // be exported to their respective directories i.e. LocalVault/ServerVault/ etc.
  4313. void ExportAllCharacters();
  4314.  
  4315. // 558: Get the Day Track for oArea.
  4316. int MusicBackgroundGetDayTrack(object oArea);
  4317.  
  4318. // 559: Get the Night Track for oArea.
  4319. int MusicBackgroundGetNightTrack(object oArea);
  4320.  
  4321. // 560: Write sLogEntry as a timestamped entry into the log file
  4322. void WriteTimestampedLogEntry(string sLogEntry);
  4323.  
  4324. // 561: Get the module's name in the language of the server that's running it.
  4325. // * If there is no entry for the language of the server, it will return an
  4326. //   empty string
  4327. string GetModuleName();
  4328.  
  4329. // 562: Get the leader of the faction of which oMemberOfFaction is a member.
  4330. // * Returns OBJECT_INVALID if oMemberOfFaction is not a valid creature.
  4331. object GetFactionLeader(object oMemberOfFaction);
  4332.  
  4333. // 563: Turns on or off the speed blur effect in rendered scenes.
  4334. // bEnabled: Set TRUE to turn it on, FALSE to turn it off.
  4335. // fRatio: Sets the frame accumulation ratio.
  4336. void SWMG_SetSpeedBlurEffect( int bEnabled, float fRatio=0.75f );
  4337.  
  4338. // 564: Immediately ends the currently running game and returns to the start screen.
  4339. // nShowEndGameGui: Set TRUE to display the death gui.
  4340. void EndGame( int nShowEndGameGui=TRUE );
  4341.  
  4342. // 565: Get a variable passed when calling console debug runscript
  4343. int GetRunScriptVar();
  4344.  
  4345. // 566: This function returns a value that matches one of the MOVEMENT_SPEED_... constants
  4346. //      if the OID passed in is not found or not a creature then it will return
  4347. //  MOVEMENT_SPEED_IMMOBILE.
  4348. int GetCreatureMovmentType(object oidCreature);
  4349.  
  4350. // 567: Set the ambient day volume for oArea to nVolume.
  4351. // - oArea
  4352. // - nVolume: 0 - 100
  4353. void AmbientSoundSetDayVolume(object oArea, int nVolume);
  4354.  
  4355. // 568: Set the ambient night volume for oArea to nVolume.
  4356. // - oArea
  4357. // - nVolume: 0 - 100
  4358. void AmbientSoundSetNightVolume(object oArea, int nVolume);
  4359.  
  4360. // 569: Get the Battle Track for oArea.
  4361. int MusicBackgroundGetBattleTrack(object oArea);
  4362.  
  4363. // 570: Determine whether oObject has an inventory.
  4364. // * Returns TRUE for creatures and stores, and checks to see if an item or placeable object is a container.
  4365. // * Returns FALSE for all other object types.
  4366. int GetHasInventory(object oObject);
  4367.  
  4368. // 571: Get the duration (in seconds) of the sound attached to nStrRef
  4369. // * Returns 0.0f if no duration is stored or if no sound is attached
  4370. float GetStrRefSoundDuration(int nStrRef);
  4371.  
  4372. // 572: Add oPC to oPartyLeader's party.  This will only work on two PCs.
  4373. // - oPC: player to add to a party
  4374. // - oPartyLeader: player already in the party
  4375. void AddToParty(object oPC, object oPartyLeader);
  4376.  
  4377. // 573: Remove oPC from their current party. This will only work on a PC.
  4378. // - oPC: removes this player from whatever party they're currently in.
  4379. void RemoveFromParty(object oPC);
  4380.  
  4381. // 574: Adds a creature to the party
  4382. // Returns whether the addition was successful
  4383. // AddPartyMember
  4384. int AddPartyMember(int nNPC, object oCreature);
  4385.  
  4386. // 575: Removes a creature from the party
  4387. // Returns whether the removal was syccessful
  4388. // RemovePartyMember
  4389. int RemovePartyMember(int nNPC);
  4390.  
  4391. // 576: Returns whether a specified creature is a party member
  4392. // IsObjectPartyMember
  4393. int IsObjectPartyMember(object oCreature);
  4394.  
  4395. // 577: Returns the party member at a given index in the party.
  4396. // The order of members in the party can vary based on
  4397. // who the current leader is (member 0 is always the current
  4398. // party leader).
  4399. // GetPartyMemberByIndex
  4400. object GetPartyMemberByIndex(int nIndex);
  4401.  
  4402. // 578: GetGlobalBoolean
  4403. // This function returns the value of a global boolean (TRUE or FALSE) scripting variable.
  4404. int GetGlobalBoolean( string sIdentifier );
  4405.  
  4406. // 579: SetGlobalBoolean
  4407. // This function sets the value of a global boolean (TRUE or FALSE) scripting variable.
  4408. void SetGlobalBoolean( string sIdentifier, int nValue );
  4409.  
  4410. // 580: GetGlobalNumber
  4411. // This function returns the value of a global number (-128 to +127) scripting variable.
  4412. int GetGlobalNumber( string sIdentifier );
  4413.  
  4414. // 581: SetGlobalNumber
  4415. // This function sets the value of a global number (-128 to +127) scripting variable.
  4416. void SetGlobalNumber( string sIdentifier, int nValue );
  4417.  
  4418. // post a string to the screen at column nX and row nY for fLife seconds
  4419. // 582. AurPostString
  4420. void AurPostString(string sString, int nX, int nY, float fLife);
  4421.  
  4422. // 583: OnAnimKey
  4423. // get the event and the name of the model on which the event happened
  4424. // SWMG_GetLastEvent
  4425. string SWMG_GetLastEvent();
  4426.  
  4427. // 584: SWMG_GetLastEventModelName
  4428. string SWMG_GetLastEventModelName();
  4429.  
  4430. // 585: gets an object by its name (duh!)
  4431. // SWMG_GetObjectByName
  4432. object SWMG_GetObjectByName(string sName);
  4433.  
  4434. // 586: plays an animation on an object
  4435. // SWMG_PlayAnimation
  4436. void SWMG_PlayAnimation(object oObject, string sAnimName, int bLooping=1, int bQueue=0, int bOverlay=0);
  4437.  
  4438. // 587: OnHitBullet
  4439. // get the damage, the target type (see TARGETflags), and the shooter
  4440. // SWMG_GetLastBulletHitDamage
  4441. int SWMG_GetLastBulletHitDamage();
  4442.  
  4443. // 588: SWMG_GetLastBulletHitTarget
  4444. int SWMG_GetLastBulletHitTarget();
  4445.  
  4446. // 589: SWMG_GetLastBulletHitShooter
  4447. object SWMG_GetLastBulletHitShooter();
  4448.  
  4449. // 590: adjusts a followers hit points, can specify the absolute value to set to
  4450. // SWMG_AdjustFollowerHitPoints
  4451. int SWMG_AdjustFollowerHitPoints(object oFollower, int nHP, int nAbsolute=0);
  4452.  
  4453. // 591: the default implementation of OnBulletHit
  4454. // SWMG_OnBulletHit
  4455. void SWMG_OnBulletHit();
  4456.  
  4457. // 592: the default implementation of OnObstacleHit
  4458. // SWMG_OnObstacleHit
  4459. void SWMG_OnObstacleHit();
  4460.  
  4461. // 593: returns the last follower and obstacle hit
  4462. // SWMG_GetLastFollowerHit
  4463. object SWMG_GetLastFollowerHit();
  4464.  
  4465. // 594: SWMG_GetLastObstacleHit
  4466. object SWMG_GetLastObstacleHit();
  4467.  
  4468. // 595: gets information about the last bullet fired
  4469. // SWMG_GetLastBulletFiredDamage
  4470. int SWMG_GetLastBulletFiredDamage();
  4471.  
  4472. // 596: SWMG_GetLastBulletFiredTarget
  4473. int SWMG_GetLastBulletFiredTarget();
  4474.  
  4475. // 597: gets an objects name
  4476. // SWMG_GetObjectName
  4477. string SWMG_GetObjectName(object oid=OBJECT_SELF);
  4478.  
  4479. // 598: the default implementation of OnDeath
  4480. // SWMG_OnDeath
  4481. void SWMG_OnDeath();
  4482.  
  4483. // 599: a bunch of Is functions for your pleasure
  4484. // SWMG_IsFollower
  4485. int SWMG_IsFollower(object oid=OBJECT_SELF);
  4486.  
  4487. // 600: SWMG_IsPlayer
  4488. int SWMG_IsPlayer(object oid=OBJECT_SELF);
  4489.  
  4490. // 601: SWMG_IsEnemy
  4491. int SWMG_IsEnemy(object oid=OBJECT_SELF);
  4492.  
  4493. // 602: SWMG_IsTrigger
  4494. int SWMG_IsTrigger(object oid=OBJECT_SELF);
  4495.  
  4496. // 603: SWMG_IsObstacle
  4497. int SWMG_IsObstacle(object oid=OBJECT_SELF);
  4498.  
  4499. // 604: SWMG_SetFollowerHitPoints
  4500. void SWMG_SetFollowerHitPoints(object oFollower, int nHP);
  4501.  
  4502. // 605: SWMG_OnDamage
  4503. void SWMG_OnDamage();
  4504.  
  4505. // 606: SWMG_GetLastHPChange
  4506. int SWMG_GetLastHPChange();
  4507.  
  4508. // 607: SWMG_RemoveAnimation
  4509. void SWMG_RemoveAnimation(object oObject, string sAnimName);
  4510.  
  4511. // 608: SWMG_GetCameraNearClip
  4512. float SWMG_GetCameraNearClip();
  4513.  
  4514. // 609: SWMG_GetCameraFarClip
  4515. float SWMG_GetCameraFarClip();
  4516.  
  4517. // 610: SWMG_SetCameraClip
  4518. void SWMG_SetCameraClip(float fNear, float fFar);
  4519.  
  4520. // 611: SWMG_GetPlayer
  4521. object SWMG_GetPlayer();
  4522.  
  4523. // 612: SWMG_GetEnemyCount
  4524. int SWMG_GetEnemyCount();
  4525.  
  4526. // 613: SWMG_GetEnemy
  4527. object SWMG_GetEnemy(int nEntry);
  4528.  
  4529. // 614: SWMG_GetObstacleCount
  4530. int SWMG_GetObstacleCount();
  4531.  
  4532. // 615: SWMG_GetObstacle
  4533. object SWMG_GetObstacle(int nEntry);
  4534.  
  4535. // 616: SWMG_GetHitPoints
  4536. int SWMG_GetHitPoints(object oFollower);
  4537.  
  4538. // 617: SWMG_GetMaxHitPoints
  4539. int SWMG_GetMaxHitPoints(object oFollower);
  4540.  
  4541. // 618: SWMG_SetMaxHitPoints
  4542. void SWMG_SetMaxHitPoints(object oFollower, int nMaxHP);
  4543.  
  4544. // 619: SWMG_GetSphereRadius
  4545. float SWMG_GetSphereRadius(object oFollower);
  4546.  
  4547. // 620: SWMG_SetSphereRadius
  4548. void SWMG_SetSphereRadius(object oFollower, float fRadius);
  4549.  
  4550. // 621: SWMG_GetNumLoops
  4551. int SWMG_GetNumLoops(object oFollower);
  4552.  
  4553. // 622: SWMG_SetNumLoops
  4554. void SWMG_SetNumLoops(object oFollower, int nNumLoops);
  4555.  
  4556. // 623: SWMG_GetPosition
  4557. vector SWMG_GetPosition(object oFollower);
  4558.  
  4559. // 624: SWMG_GetGunBankCount
  4560. int SWMG_GetGunBankCount(object oFollower);
  4561.  
  4562. // 625: SWMG_GetGunBankBulletModel
  4563. string SWMG_GetGunBankBulletModel(object oFollower, int nGunBank);
  4564.  
  4565. // 626: SWMG_GetGunBankGunModel
  4566. string SWMG_GetGunBankGunModel(object oFollower, int nGunBank);
  4567.  
  4568. // 627: SWMG_GetGunBankDamage
  4569. int SWMG_GetGunBankDamage(object oFollower, int nGunBank);
  4570.  
  4571. // 628: SWMG_GetGunBankTimeBetweenShots
  4572. float SWMG_GetGunBankTimeBetweenShots(object oFollower, int nGunBank);
  4573.  
  4574. // 629: SWMG_GetGunBankLifespan
  4575. float SWMG_GetGunBankLifespan(object oFollower, int nGunBank);
  4576.  
  4577. // 630: SWMG_GetGunBankSpeed
  4578. float SWMG_GetGunBankSpeed(object oFollower, int nGunBank);
  4579.  
  4580. // 631: SWMG_GetGunBankTarget
  4581. int SWMG_GetGunBankTarget(object oFollower, int nGunBank);
  4582.  
  4583. // 632: SWMG_SetGunBankBulletModel
  4584. void SWMG_SetGunBankBulletModel(object oFollower, int nGunBank, string sBulletModel);
  4585.  
  4586. // 633: SWMG_SetGunBankGunModel
  4587. void SWMG_SetGunBankGunModel(object oFollower, int nGunBank, string sGunModel);
  4588.  
  4589. // 634: SWMG_SetGunBankDamage
  4590. void SWMG_SetGunBankDamage(object oFollower, int nGunBank, int nDamage);
  4591.  
  4592. // 635: SWMG_SetGunBankTimeBetweenShots
  4593. void SWMG_SetGunBankTimeBetweenShots(object oFollower, int nGunBank, float fTBS);
  4594.  
  4595. // 636: SWMG_SetGunBankLifespan
  4596. void SWMG_SetGunBankLifespan(object oFollower, int nGunBank, float fLifespan);
  4597.  
  4598. // 637: SWMG_SetGunBankSpeed
  4599. void SWMG_SetGunBankSpeed(object oFollower, int nGunBank, float fSpeed);
  4600.  
  4601. // 638: SWMG_SetGunBankTarget
  4602. void SWMG_SetGunBankTarget(object oFollower, int nGunBank, int nTarget);
  4603.  
  4604. // 639: SWMG_GetLastBulletHitPart
  4605. string SWMG_GetLastBulletHitPart();
  4606.  
  4607. // 640: SWMG_IsGunBankTargetting
  4608. int SWMG_IsGunBankTargetting(object oFollower, int nGunBank);
  4609.  
  4610. // 641: SWMG_GetPlayerOffset
  4611. // returns a vector with the player rotation for rotation minigames
  4612. // returns a vector with the player translation for translation minigames
  4613. vector SWMG_GetPlayerOffset();
  4614.  
  4615. // 642: SWMG_GetPlayerInvincibility
  4616. float SWMG_GetPlayerInvincibility();
  4617.  
  4618. // 643: SWMG_GetPlayerSpeed
  4619. float SWMG_GetPlayerSpeed();
  4620.  
  4621. // 644: SWMG_GetPlayerMinSpeed
  4622. float SWMG_GetPlayerMinSpeed ();
  4623.  
  4624. // 645: SWMG_GetPlayerAccelerationPerSecond
  4625. float SWMG_GetPlayerAccelerationPerSecond();
  4626.  
  4627. // 646: SWMG_GetPlayerTunnelPos
  4628. vector SWMG_GetPlayerTunnelPos();
  4629.  
  4630. // 647: SWMG_SetPlayerOffset
  4631. void SWMG_SetPlayerOffset(vector vOffset);
  4632.  
  4633. // 648: SWMG_SetPlayerInvincibility
  4634. void SWMG_SetPlayerInvincibility(float fInvincibility);
  4635.  
  4636. // 649: SWMG_SetPlayerSpeed
  4637. void SWMG_SetPlayerSpeed(float fSpeed);
  4638.  
  4639. // 650: SWMG_SetPlayerMinSpeed
  4640. void SWMG_SetPlayerMinSpeed(float fMinSpeed);
  4641.  
  4642. // 651: SWMG_SetPlayerAccelerationPerSecond
  4643. void SWMG_SetPlayerAccelerationPerSecond(float fAPS);
  4644.  
  4645. // 652: SWMG_SetPlayerTunnelPos
  4646. void SWMG_SetPlayerTunnelPos(vector vTunnel);
  4647.  
  4648. // 653: SWMG_GetPlayerTunnelNeg
  4649. vector SWMG_GetPlayerTunnelNeg();
  4650.  
  4651. // 654: SWMG_SetPlayerTunnelNeg
  4652. void SWMG_SetPlayerTunnelNeg(vector vTunnel);
  4653.  
  4654. // 655: SWMG_GetPlayerOrigin
  4655. vector SWMG_GetPlayerOrigin();
  4656.  
  4657. // 656: SWMG_SetPlayerOrigin
  4658. void SWMG_SetPlayerOrigin(vector vOrigin);
  4659.  
  4660. // 657: SWMG_GetGunBankHorizontalSpread
  4661. float SWMG_GetGunBankHorizontalSpread(object oEnemy, int nGunBank);
  4662.  
  4663. // 658: SWMG_GetGunBankVerticalSpread
  4664. float SWMG_GetGunBankVerticalSpread(object oEnemy, int nGunBank);
  4665.  
  4666. // 659: SWMG_GetGunBankSensingRadius
  4667. float SWMG_GetGunBankSensingRadius(object oEnemy, int nGunBank);
  4668.  
  4669. // 660: SWMG_GetGunBankInaccuracy
  4670. float SWMG_GetGunBankInaccuracy(object oEnemy, int nGunBank);
  4671.  
  4672. // 661: SWMG_SetGunBankHorizontalSpread
  4673. void SWMG_SetGunBankHorizontalSpread(object oEnemy, int nGunBank, float fHorizontalSpread);
  4674.  
  4675. // 662: SWMG_SetGunBankVerticalSpread
  4676. void SWMG_SetGunBankVerticalSpread(object oEnemy, int nGunBank, float fVerticalSpread);
  4677.  
  4678. // 663: SWMG_SetGunBankSensingRadius
  4679. void SWMG_SetGunBankSensingRadius(object oEnemy, int nGunBank, float fSensingRadius);
  4680.  
  4681. // 664: SWMG_SetGunBankInaccuracy
  4682. void SWMG_SetGunBankInaccuracy(object oEnemy, int nGunBank, float fInaccuracy);
  4683.  
  4684. // 665: GetIsInvulnerable
  4685. // This returns whether the follower object is currently invulnerable to damage
  4686. int SWMG_GetIsInvulnerable( object oFollower );
  4687.  
  4688. // 666: StartInvulnerability
  4689. // This will begin a period of invulnerability (as defined by Invincibility)
  4690. void SWMG_StartInvulnerability( object oFollower );
  4691.  
  4692. // 667: GetPlayerMaxSpeed
  4693. // This returns the player character's max speed
  4694. float SWMG_GetPlayerMaxSpeed();
  4695.  
  4696. // 668: SetPlayerMaxSpeed
  4697. // This sets the player character's max speed
  4698. void SWMG_SetPlayerMaxSpeed( float fMaxSpeed );
  4699.  
  4700. // 669: AddJournalWorldEntry
  4701. // Adds a user entered entry to the world notices
  4702. void AddJournalWorldEntry( int nIndex, string szEntry, string szTitle = "World Entry" );
  4703.  
  4704. // 670: AddJournalWorldEntryStrref
  4705. // Adds an entry to the world notices using stringrefs
  4706. void AddJournalWorldEntryStrref ( int strref, int strrefTitle );
  4707.  
  4708. // 671: BarkString
  4709. // this will cause a creature to bark the strRef from the talk table
  4710. // If creature is specefied as OBJECT_INVALID a general bark is made.
  4711. void BarkString(object oCreature,int strRef);
  4712.  
  4713. // 672: DeleteJournalWorldAllEntries
  4714. // Nuke's 'em all, user entered or otherwise.
  4715. void DeleteJournalWorldAllEntries();
  4716.  
  4717. // 673: DeleteJournalWorldEntry
  4718. // Deletes a user entered world notice
  4719. void DeleteJournalWorldEntry( int nIndex );
  4720.  
  4721. // 674: DeleteJournalWorldEntryStrref
  4722. // Deletes the world notice pertaining to the string ref
  4723. void DeleteJournalWorldEntryStrref( int strref );
  4724.  
  4725. // 675: EffectForceDrain
  4726. // This command will reduce the force points of a creature.
  4727. effect EffectForceDrain( int nDamage );
  4728.  
  4729. // 676: EffectTemporaryForcePoints
  4730. //
  4731. effect EffectPsychicStatic();
  4732.  
  4733. // 677: PlayVisualAreaEffect
  4734. void PlayVisualAreaEffect(int nEffectID, location lTarget);
  4735.  
  4736. // 678: SetJournalQuestEntryPicture
  4737. // Sets the picture for the quest entry on this object (creature)
  4738. void SetJournalQuestEntryPicture(string szPlotID, object oObject, int nPictureIndex, int bAllPartyMemebers=TRUE, int bAllPlayers=FALSE);
  4739.  
  4740. // 679. GetLocalBoolean
  4741. // This gets a boolean flag on an object
  4742. // currently the index is a range between 0 and 63
  4743. int GetLocalBoolean( object oObject, int nIndex );
  4744.  
  4745. // 680. SetLocalBoolean
  4746. // This sets a boolean flag on an object
  4747. // currently the index is a range between 0 and 63
  4748. void SetLocalBoolean( object oObject, int nIndex, int nValue );
  4749.  
  4750. // 681. GetLocalNumber
  4751. // This gets a number on an object
  4752. // currently the index is a range between 0 and 0
  4753. int GetLocalNumber( object oObject, int nIndex );
  4754.  
  4755. // 682. SetLocalNumber
  4756. // This sets a number on an object
  4757. // currently the index is a range between 0 and 0
  4758. void SetLocalNumber( object oObject, int nIndex, int nValue );
  4759.  
  4760. // 683. SWMG_GetSoundFrequency
  4761. // Gets the frequency of a trackfollower sound
  4762. int SWMG_GetSoundFrequency( object oFollower, int nSound );
  4763.  
  4764. // 684. SWMG_SetSoundFrequency
  4765. // Sets the frequency of a trackfollower sound
  4766. void SWMG_SetSoundFrequency( object oFollower, int nSound, int nFrequency );
  4767.  
  4768. // 685. SWMG_GetSoundFrequencyIsRandom
  4769. // Gets whether the frequency of a trackfollower sound is using the random model
  4770. int SWMG_GetSoundFrequencyIsRandom( object oFollower, int nSound );
  4771.  
  4772. // 686. SWMG_SetSoundFrequencyIsRandom
  4773. // Sets whether the frequency of a trackfollower sound is using the random model
  4774. void SWMG_SetSoundFrequencyIsRandom( object oFollower, int nSound, int bIsRandom );
  4775.  
  4776. // 687. SWMG_GetSoundVolume
  4777. // Gets the volume of a trackfollower sound
  4778. int SWMG_GetSoundVolume( object oFollower, int nSound );
  4779.  
  4780. // 688. SWMG_SetSoundVolume
  4781. // Sets the volume of a trackfollower sound
  4782. void SWMG_SetSoundVolume( object oFollower, int nSound, int nVolume );
  4783.  
  4784. // 689. SoundObjectGetPitchVariance
  4785. // Gets the pitch variance of a placeable sound object
  4786. float SoundObjectGetPitchVariance( object oSound );
  4787.  
  4788. // 690. SoundObjectSetPitchVariance
  4789. // Sets the pitch variance of a placeable sound object
  4790. void SoundObjectSetPitchVariance( object oSound, float fVariance );
  4791.  
  4792. // 691. SoundObjectGetVolume
  4793. // Gets the volume of a placeable sound object
  4794. int SoundObjectGetVolume( object oSound );
  4795.  
  4796. // 692: GetGlobalLocation
  4797. // This function returns the a global location scripting variable.
  4798. location GetGlobalLocation( string sIdentifier );
  4799.  
  4800. // 693: SetGlobalLocation
  4801. // This function sets the a global location scripting variable.
  4802. void SetGlobalLocation( string sIdentifier, location lValue );
  4803.  
  4804. // 694. AddAvailableNPCByObject
  4805. // This adds a NPC to the list of available party members using
  4806. // a game object as the template
  4807. // Returns if true if successful, false if the NPC had already
  4808. // been added or the object specified is invalid
  4809. int AddAvailableNPCByObject( int nNPC, object oCreature );
  4810.  
  4811. // 695. RemoveAvailableNPC
  4812. // This removes a NPC from the list of available party members
  4813. // Returns whether it was successful or not
  4814. int RemoveAvailableNPC( int nNPC );
  4815.  
  4816. // 696. IsAvailableNPC
  4817. // This returns whether a NPC is in the list of available party members
  4818. int IsAvailableCreature( int nNPC );
  4819.  
  4820. // 697. AddAvailableNPCByTemplate
  4821. // This adds a NPC to the list of available party members using
  4822. // a template
  4823. // Returns if true if successful, false if the NPC had already
  4824. // been added or the template specified is invalid
  4825. int AddAvailableNPCByTemplate( int nNPC, string sTemplate );
  4826.  
  4827. // 698. SpawnAvailableNPC
  4828. // This spawns a NPC from the list of available creatures
  4829. // Returns a pointer to the creature object
  4830. object SpawnAvailableNPC( int nNPC, location lPosition );
  4831.  
  4832. // 699. IsNPCPartyMember
  4833. // Returns if a given NPC constant is in the party currently
  4834. int IsNPCPartyMember( int nNPC );
  4835.  
  4836. // 700. ActionBarkString
  4837. // this will cause a creature to bark the strRef from the talk table.
  4838. void ActionBarkString(int strRef);
  4839.  
  4840. // 701. GetIsConversationActive
  4841. // Checks to see if any conversations are currently taking place
  4842. int GetIsConversationActive();
  4843.  
  4844. // 702. EffectLightsaberThrow
  4845. // This function throws a lightsaber at a target
  4846. // If multiple targets are specified, then the lightsaber travels to them
  4847. // sequentially, returning to the first object specified
  4848. // This effect is applied to an object, so an effector is not needed
  4849. effect EffectLightsaberThrow(object oTarget1, object oTarget2 = OBJECT_INVALID, object oTarget3 = OBJECT_INVALID, int nAdvancedDamage = 0);
  4850.  
  4851. // 703.
  4852. // creates the effect of a whirl wind.
  4853. effect EffectWhirlWind();
  4854.  
  4855. // 704.
  4856. // Returns the party ai style
  4857. int GetPartyAIStyle();
  4858.  
  4859. // 705.
  4860. // Returns the party members ai style
  4861. int GetNPCAIStyle(object oCreature);
  4862.  
  4863. // 706.
  4864. // Sets the party ai style
  4865. void SetPartyAIStyle(int nStyle);
  4866.  
  4867. // 707.
  4868. // Sets the party members ai style
  4869. void SetNPCAIStyle(object oCreature, int nStyle);
  4870.  
  4871. // 708: SetNPCSelectability
  4872. void SetNPCSelectability(int nNPC, int nSelectability);
  4873.  
  4874. // 709: GetNPCSelectability
  4875. int GetNPCSelectability(int nNPC);
  4876.  
  4877. // 710: Clear all the effects of the caller.
  4878. // * No return value, but if an error occurs, the log file will contain
  4879. //   "ClearAllEffects failed.".
  4880. void ClearAllEffects();
  4881.  
  4882. // 711: GetLastConversation
  4883. // Gets the last conversation string.
  4884. string GetLastConversation();
  4885. //
  4886.  
  4887. // 712: ShowPartySelectionGUI
  4888. // Brings up the party selection GUI for the player to
  4889. // select the members of the party from
  4890. // if exit script is specified, will be executed when
  4891. // the GUI is exited
  4892. void ShowPartySelectionGUI(string sExitScript = "", int nForceNPC1 = -1, int nForceNPC2 = -1);
  4893.  
  4894. // 713: GetStandardFaction
  4895. // Find out which standard faction oObject belongs to.
  4896. // * Returns INVALID_STANDARD_FACTION if oObject does not belong to
  4897. //   a Standard Faction, or an error has occurred.
  4898. int GetStandardFaction(object oObject);
  4899.  
  4900. // 714: GivePlotXP
  4901. // Give nPercentage% of the experience associated with plot sPlotName
  4902. // to the party
  4903. // - sPlotName
  4904. // - nPercentage
  4905. void GivePlotXP(string sPlotName, int nPercentage);
  4906.  
  4907. // 715. GetMinOneHP
  4908. // Checks to see if oObject has the MinOneHP Flag set on them.
  4909. int GetMinOneHP(object oObject);
  4910.  
  4911. // 716. SetMinOneHP
  4912. // Sets/Removes the MinOneHP Flag on oObject.
  4913. void SetMinOneHP(object oObject,int nMinOneHP);
  4914.  
  4915. // 717. SWMG_GetPlayerTunnelInfinite
  4916. // Gets whether each of the dimensions is infinite
  4917. vector SWMG_GetPlayerTunnelInfinite();
  4918.  
  4919. // 718. SWMG_SetPlayerTunnelInfinite
  4920. // Sets whether each of the dimensions is infinite
  4921. void SWMG_SetPlayerTunnelInfinite(vector vInfinite);
  4922.  
  4923. // 719. SetGlobalFadeIn
  4924. // Sets a Fade In that starts after fWait seconds and fades for fLength Seconds.
  4925. // The Fade will be from a color specified by the RGB values fR, fG, and fB.
  4926. // Note that fR, fG, and fB are normalized values.
  4927. // The default values are an immediate cut in from black.
  4928. void SetGlobalFadeIn(float fWait = 0.0f, float fLength = 0.0f, float fR=0.0f, float fG=0.0f, float fB=0.0f);
  4929.  
  4930. // 720. SetGlobalFadeOut
  4931. // Sets a Fade Out that starts after fWait seconds and fades for fLength Seconds.
  4932. // The Fade will be to a color specified by the RGB values fR, fG, and fB.
  4933. // Note that fR, fG, and fB are normalized values.
  4934. // The default values are an immediate cut to from black.
  4935. void SetGlobalFadeOut(float fWait = 0.0f, float fLength = 0.0f, float fR=0.0f, float fG=0.0f, float fB=0.0f);
  4936.  
  4937.  
  4938. // 721. GetLastAttackTarget
  4939. // Returns the last attack target for a given object
  4940. object GetLastHostileTarget(object oAttacker = OBJECT_SELF);
  4941.  
  4942. // 722. GetLastAttackAction
  4943. // Returns the last attack action for a given object
  4944. int GetLastAttackAction(object oAttacker = OBJECT_SELF);
  4945.  
  4946. // 723. GetLastForcePowerUsed
  4947. // Returns the last force power used (as a spell number that indexes the Spells.2da) by the given object
  4948. int GetLastForcePowerUsed(object oAttacker = OBJECT_SELF);
  4949.  
  4950. // 724. GetLastCombatFeatUsed
  4951. // Returns the last feat used (as a feat number that indexes the Feats.2da) by the given object
  4952. int GetLastCombatFeatUsed(object oAttacker = OBJECT_SELF);
  4953.  
  4954. // 725. GetLastAttackResult
  4955. // Returns the result of the last attack
  4956. int GetLastAttackResult(object oAttacker = OBJECT_SELF);
  4957.  
  4958. // 726. GetWasForcePowerSuccessful
  4959. // Returns whether the last force power used was successful or not
  4960. int GetWasForcePowerSuccessful(object oAttacker = OBJECT_SELF);
  4961.  
  4962. // 727. GetFirstAttacker
  4963. // Returns the first object in the area that is attacking oCreature
  4964. object GetFirstAttacker(object oCreature = OBJECT_SELF);
  4965.  
  4966. // 728. GetNextAttacker
  4967. // Returns the next object in the area that is attacking oCreature
  4968. object GetNextAttacker(object oCreature = OBJECT_SELF);
  4969.  
  4970. // 729. SetFormation
  4971. // Put oCreature into the nFormationPattern about oAnchor at position nPosition
  4972. // - oAnchor: The formation is set relative to this object
  4973. // - oCreature: This is the creature that you wish to join the formation
  4974. // - nFormationPattern: FORMATION_*
  4975. // - nPosition: Integer from 1 to 10 to specify which position in the formation
  4976. //   oCreature is supposed to take.
  4977. void SetFormation(object oAnchor, object oCreature, int nFormationPattern, int nPosition);
  4978.  
  4979. // 730. ActionFollowLeader
  4980. // this action has a party member follow the leader.
  4981. // DO NOT USE ON A CREATURE THAT IS NOT IN THE PARTY!!
  4982. void ActionFollowLeader();
  4983.  
  4984. // 731. SetForcePowerUnsuccessful
  4985. // Sets the reason (through a constant) for why a force power failed
  4986. void SetForcePowerUnsuccessful(int nResult, object oCreature = OBJECT_SELF);
  4987.  
  4988. // 732. GetIsDebilitated
  4989. // Returns whether the given object is debilitated or not
  4990. int GetIsDebilitated(object oCreature = OBJECT_SELF);
  4991.  
  4992. // 733. PlayMovie
  4993. // Playes a Movie.
  4994. void PlayMovie( string sMovie );
  4995.  
  4996. // 734. SaveNPCState
  4997. // Tells the party table to save the state of a party member NPC
  4998. void SaveNPCState( int nNPC );
  4999.  
  5000. // 735: Get the Category of tTalent.
  5001. int GetCategoryFromTalent(talent tTalent);
  5002.  
  5003. // 736: This affects all creatures in the area that are in faction nFactionFrom...
  5004. // - Makes them join nFactionTo
  5005. // - Clears all actions
  5006. // - Disables combat mode
  5007. void SurrenderByFaction(int nFactionFrom, int nFactionTo);
  5008.  
  5009. // 737: This affects all creatures in the area that are in faction nFactionFrom.
  5010. // making them change to nFactionTo
  5011. void ChangeFactionByFaction(int nFactionFrom, int nFactionTo);
  5012.  
  5013. // 738: PlayRoomAnimation
  5014. // Plays a looping animation on a room
  5015. void PlayRoomAnimation(string sRoom, int nAnimation);
  5016.  
  5017. // 739: ShowGalaxyMap
  5018. // Brings up the Galaxy Map Gui, with 'nPlanet' selected.  'nPlanet' can only be a planet
  5019. // that has already been set available and selectable.
  5020. void ShowGalaxyMap(int nPlanet);
  5021.  
  5022. // 740: SetPlanetSelectable
  5023. // Sets 'nPlanet' selectable on the Galaxy Map Gui.
  5024. void SetPlanetSelectable(int nPlanet, int bSelectable);
  5025.  
  5026. // 741: GetPlanetSelectable
  5027. // Returns wheter or not 'nPlanet' is selectable.
  5028. int GetPlanetSelectable(int nPlanet);
  5029.  
  5030. // 742: SetPlanetAvailable
  5031. // Sets 'nPlanet' available on the Galaxy Map Gui.
  5032. void SetPlanetAvailable(int nPlanet, int bAvailable);
  5033.  
  5034. // 743: GetPlanetAvailable
  5035. // Returns wheter or not 'nPlanet' is available.
  5036. int GetPlanetAvailable(int nPlanet);
  5037.  
  5038. // 744: GetSelectedPlanet
  5039. // Returns the ID of the currently selected planet.  Check Planetary.2da
  5040. // for which planet the return value corresponds to. If the return is -1
  5041. // no planet is selected.
  5042. int GetSelectedPlanet();
  5043.  
  5044. // 745: SoundObjectFadeAndStop
  5045. // Fades a sound object for 'fSeconds' and then stops it.
  5046. void SoundObjectFadeAndStop(object oSound,float fSeconds);
  5047.  
  5048. // 746: SetAreaFogColor
  5049. // Set the fog color for the area oArea.
  5050. void SetAreaFogColor( object oArea, float fRed, float fGreen, float fBlue );
  5051.  
  5052. // 747: ChangeItemCost
  5053. // Change the cost of an item
  5054. void ChangeItemCost( string sItem, float fCostMultiplier );
  5055.  
  5056. // 748: GetIsLiveContentAvailable
  5057. // Determines whether a given live content package is available
  5058. // nPkg = LIVE_CONTENT_PKG1, LIVE_CONTENT_PKG2, ..., LIVE_CONTENT_PKG6
  5059. int GetIsLiveContentAvailable(int nPkg);
  5060.  
  5061. // 749: ResetDialogState
  5062. // Resets the GlobalDialogState for the engine.
  5063. // NOTE: NEVER USE THIS UNLESS YOU KNOW WHAT ITS FOR!
  5064. //       only to be used for a failing OnDialog script
  5065. void ResetDialogState();
  5066.  
  5067. // 750: SetAlignmentGoodEvil
  5068. // Set oCreature's alignment value
  5069. void SetGoodEvilValue( object oCreature, int nAlignment );
  5070.  
  5071. // 751: GetIsPoisoned
  5072. // Returns TRUE if the object specified is poisoned.
  5073. int GetIsPoisoned( object oObject );
  5074.  
  5075. // 752: GetSpellTarget
  5076. // Returns the object id of the spell target
  5077. object GetSpellTarget(object oCreature=OBJECT_SELF);
  5078.  
  5079. // 753: SetSoloMode
  5080. // Activates/Deactivates solo mode for the player's party.
  5081. void SetSoloMode( int bActivate );
  5082.  
  5083. // 754: EffectCutSceneHorrified
  5084. // Get a horrified effect for cutscene purposes (ie. this effect will ignore immunities).
  5085. effect EffectCutSceneHorrified();
  5086.  
  5087. // 755: EffectCutSceneParalyze
  5088. // Get a paralyze effect for cutscene purposes (ie. this effect will ignore immunities).
  5089. effect EffectCutSceneParalyze();
  5090.  
  5091. // 756: EffectCutSceneStunned
  5092. // Get a stun effect for cutscene purposes (ie. this effect will ignore immunities).
  5093. effect EffectCutSceneStunned();
  5094.  
  5095. // 757: CancelPostDialogCharacterSwitch()
  5096. // If a dialog has been started by an NPC on a Non PartyMemeberCanInteract object
  5097. // calling this function will cancel the Post Dialog switching back to the NPC
  5098. // that did the initiating.
  5099. void CancelPostDialogCharacterSwitch();
  5100.  
  5101. // 758: SetMaxHitPoints
  5102. // Set the maximum hitpoints of oObject
  5103. // The objects maximum AND current hitpoints will be nMaxHP after the function is called
  5104. void SetMaxHitPoints(object oObject, int nMaxHP);
  5105.  
  5106. // 759: NoClicksFor()
  5107. // This command will not allow clicking on anything for 'fDuration' seconds
  5108. void NoClicksFor(float fDuration);
  5109.  
  5110. // 760: HoldWorldFadeInForDialog()
  5111. // This will hold the fade in at the begining of a module until a dialog starts
  5112. void HoldWorldFadeInForDialog();
  5113.  
  5114. // 761: ShipBuild()
  5115. // This will return if this is a shipping build. this should be used to disable all debug output.
  5116. int ShipBuild();
  5117.  
  5118. // 762: SurrenderRetainBuffs()
  5119. // This will do the same as SurrenderToEnemies, except that affected creatures will not
  5120. // lose effects which they have put on themselves
  5121. void SurrenderRetainBuffs();
  5122.  
  5123. // 763. SuppressStatusSummaryEntry
  5124. // This will prevent the next n entries that should have shown up in the status summary
  5125. // from being added
  5126. // This will not add on to any existing summary suppressions, but rather replace it.  So
  5127. // to clear the supression system pass 0 as the entry value
  5128. void SuppressStatusSummaryEntry(int nNumEntries = 1);
  5129.  
  5130. // 764. GetCheatCode
  5131. // Returns true if cheat code has been enabled
  5132. int GetCheatCode(int nCode);
  5133.  
  5134. // 765. SetMusicVolume
  5135. // NEVER USE THIS!
  5136. void SetMusicVolume(float fVolume = 1.0f);
  5137.  
  5138. // 766. CreateItemOnFloor
  5139. // Should only be used for items that have been created on the ground, and will
  5140. // be destroyed without ever being picked up or equipped.  Returns true if successful
  5141. object CreateItemOnFloor(string sTemplate, location lLocation, int bUseAppearAnimation=FALSE);
  5142.  
  5143. // 767. SetAvailableNPCId
  5144. // This will set the object id that should be used for a specific available NPC
  5145. void SetAvailableNPCId(INT nNPC, OBJECT_ID oidNPC);
  5146.  
  5147. // 768. IsMoviePlaying
  5148. // Checks if a movie is currently playing.
  5149. int IsMoviePlaying();
  5150.  
  5151. // 769. QueueMovie
  5152. // Queues up a movie to be played using PlayMovieQueue.
  5153. // If bSkippable is TRUE, the player can cancel the movie by hitting escape.
  5154. // If bSkippable is FALSE, the player cannot cancel the movie and must wait
  5155. // for it to finish playing.
  5156. void QueueMovie( string sMovie, int bSkippable );
  5157.  
  5158. // 770. PlayMovieQueue
  5159. // Plays the movies that have been added to the queue by QueueMovie
  5160. // If bAllowSeparateSkips is TRUE, hitting escape to cancel a movie only
  5161. // cancels out of the currently playing movie rather than the entire queue
  5162. // of movies (assuming the currently playing movie is flagged as skippable).
  5163. // If bAllowSeparateSkips is FALSE, the entire movie queue will be cancelled
  5164. // if the player hits escape (assuming the currently playing movie is flagged
  5165. // as skippable).
  5166. void PlayMovieQueue( int bAllowSeparateSkips );
  5167.  
  5168. // 771. YavinHackCloseDoor
  5169. // This is an incredibly hacky function to allow the doors to be properly
  5170. // closed on Yavin without running into the problems we've had.  It is too
  5171. // late in development to fix it correctly, so thus we do this.  Life is
  5172. // hard.  You'll get over it
  5173. void YavinHackCloseDoor( object oidDoor );
Add Comment
Please, Sign In to add comment