BluCollarG33k

KotOR 2 TSL - nwscript.nss

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