Advertisement
Guest User

Untitled

a guest
Sep 10th, 2012
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 65.51 KB | None | 0 0
  1. Index: sexp.cpp
  2. ===================================================================
  3. --- sexp.cpp (revision 9165)
  4. +++ sexp.cpp (working copy)
  5. @@ -113,6 +113,7 @@
  6.  
  7. sexp_oper Operators[] = {
  8. // Operator, Identity, Min / Max arguments
  9. + //Arithmetic Category
  10. { "+", OP_PLUS, 2, INT_MAX },
  11. { "-", OP_MINUS, 2, INT_MAX },
  12. { "*", OP_MUL, 2, INT_MAX },
  13. @@ -134,6 +135,7 @@
  14. { "bitwise-not", OP_BITWISE_NOT, 1, 1 }, // Goober5000
  15. { "bitwise-xor", OP_BITWISE_XOR, 2, 2 }, // Goober5000
  16.  
  17. + //Logical Category
  18. { "true", OP_TRUE, 0, 0, },
  19. { "false", OP_FALSE, 0, 0, },
  20. { "and", OP_AND, 2, INT_MAX, },
  21. @@ -153,6 +155,7 @@
  22. { "perform-actions", OP_PERFORM_ACTIONS, 2, INT_MAX, }, // Goober5000
  23. { "has-time-elapsed", OP_HAS_TIME_ELAPSED, 1, 1, },
  24.  
  25. + //Event/Goals Category
  26. { "is-goal-true-delay", OP_GOAL_TRUE_DELAY, 2, 2, },
  27. { "is-goal-false-delay", OP_GOAL_FALSE_DELAY, 2, 2, },
  28. { "is-goal-incomplete", OP_GOAL_INCOMPLETE, 1, 1, },
  29. @@ -170,6 +173,7 @@
  30. { "is-previous-event-false", OP_PREVIOUS_EVENT_FALSE, 2, 3, },
  31. { "is-previous-event-incomplete", OP_PREVIOUS_EVENT_INCOMPLETE, 2, 3, },
  32.  
  33. + //Objectives Category
  34. { "is-destroyed", OP_IS_DESTROYED, 1, INT_MAX, },
  35. { "is-destroyed-delay", OP_IS_DESTROYED_DELAY, 2, INT_MAX, },
  36. { "is-subsystem-destroyed", OP_IS_SUBSYSTEM_DESTROYED, 2, 2, },
  37. @@ -198,90 +202,105 @@
  38. { "depart-node-delay", OP_DEPART_NODE_DELAY, 3, INT_MAX, },
  39. { "destroyed-or-departed-delay", OP_DESTROYED_DEPARTED_DELAY, 2, INT_MAX, },
  40.  
  41. - { "is-cargo-known", OP_IS_CARGO_KNOWN, 1, INT_MAX, },
  42. - { "is-cargo-known-delay", OP_CARGO_KNOWN_DELAY, 2, INT_MAX, },
  43. - { "cap-subsys-cargo-known-delay", OP_CAP_SUBSYS_CARGO_KNOWN_DELAY, 3, INT_MAX, },
  44. - { "is-cargo", OP_IS_CARGO, 2, 3 },
  45. + //Status Category
  46. + //Mission Sub-Category
  47. + { "num-ships-in-battle", OP_NUM_SHIPS_IN_BATTLE, 0, INT_MAX}, //phreak modified by FUBAR
  48. + { "num-ships-in-wing", OP_NUM_SHIPS_IN_WING, 1, INT_MAX}, // Karajorma
  49. + { "directive-value", OP_DIRECTIVE_VALUE, 1, 2}, // Karajorma
  50. +
  51. + //Player Sub-Category
  52. + { "was-promotion-granted", OP_WAS_PROMOTION_GRANTED, 0, 1, },
  53. + { "was-medal-granted", OP_WAS_MEDAL_GRANTED, 0, 1, },
  54. + { "skill-level-at-least", OP_SKILL_LEVEL_AT_LEAST, 1, 1, },
  55. + { "num_kills", OP_NUM_KILLS, 1, 1 },
  56. + { "num_assists", OP_NUM_ASSISTS, 1, 1 },
  57. + { "num_type_kills", OP_NUM_TYPE_KILLS, 2, 2 },
  58. + { "num_class_kills", OP_NUM_CLASS_KILLS, 2, 2 },
  59. + { "ship_score", OP_SHIP_SCORE, 1, 1 },
  60. + { "time-elapsed-last-order", OP_LAST_ORDER_TIME, 2, 2, },
  61. +
  62. + //Multiplayer Sub-Category
  63. + { "num-players", OP_NUM_PLAYERS, 0, 0, },
  64. + { "team-score", OP_TEAM_SCORE, 1, 1, },
  65. + { "ship-deaths", OP_SHIP_DEATHS, 1, 1 },
  66. + { "respawns-left", OP_RESPAWNS_LEFT, 1, 1 },
  67. + { "is-player", OP_IS_PLAYER, 2, INT_MAX}, // Karajorma
  68. +
  69. + //Ship Status Sub-Category
  70. + { "is-in-mission", OP_IS_IN_MISSION, 1, INT_MAX, }, // Goober5000
  71. { "is-ship-visible", OP_IS_SHIP_VISIBLE, 1, 1, },
  72. { "is-ship-stealthy", OP_IS_SHIP_STEALTHY, 1, 1, },
  73. { "is-friendly-stealth-visible", OP_IS_FRIENDLY_STEALTH_VISIBLE, 1, 1, },
  74. - { "is_tagged", OP_IS_TAGGED, 1, 1 },
  75. - { "has-been-tagged-delay", OP_HAS_BEEN_TAGGED_DELAY, 2, INT_MAX, },
  76. { "is-iff", OP_IS_IFF, 2, INT_MAX, },
  77. { "is-ai-class", OP_IS_AI_CLASS, 2, INT_MAX, },
  78. { "is-ship-type", OP_IS_SHIP_TYPE, 2, INT_MAX, },
  79. { "is-ship-class", OP_IS_SHIP_CLASS, 2, INT_MAX, },
  80. { "is-facing", OP_IS_FACING, 3, 4, },
  81. - { "is-in-mission", OP_IS_IN_MISSION, 1, INT_MAX, }, // Goober5000
  82. - { "shield-recharge-pct", OP_SHIELD_RECHARGE_PCT, 1, 1 },
  83. - { "engine-recharge-pct", OP_ENGINE_RECHARGE_PCT, 1, 1 },
  84. - { "weapon-recharge-pct", OP_WEAPON_RECHARGE_PCT, 1, 1 },
  85. - { "shield-quad-low", OP_SHIELD_QUAD_LOW, 2, 2 },
  86. + { "is_tagged", OP_IS_TAGGED, 1, 1 },
  87. + { "has-been-tagged-delay", OP_HAS_BEEN_TAGGED_DELAY, 2, INT_MAX, },
  88. +
  89. + //Shields, Engines and Weapons Sub-Category
  90. + { "has-primary-weapon", OP_HAS_PRIMARY_WEAPON, 3, INT_MAX}, // Karajorma
  91. + { "has-secondary-weapon", OP_HAS_SECONDARY_WEAPON, 3, INT_MAX}, // Karajorma
  92. + { "is-primary-selected", OP_IS_PRIMARY_SELECTED, 2, 2 },
  93. + { "is-secondary-selected", OP_IS_SECONDARY_SELECTED, 2, 2 },
  94. + { "primary-fired-since", OP_PRIMARY_FIRED_SINCE, 3, 3}, // Karajorma
  95. + { "secondary-fired-since", OP_SECONDARY_FIRED_SINCE, 3, 3}, // Karajorma
  96. { "primary-ammo-pct", OP_PRIMARY_AMMO_PCT, 2, 2 },
  97. { "secondary-ammo-pct", OP_SECONDARY_AMMO_PCT, 2, 2 },
  98. { "get-primary-ammo", OP_GET_PRIMARY_AMMO, 2, 2 }, // Karajorma
  99. { "get-secondary-ammo", OP_GET_SECONDARY_AMMO, 2, 2 }, // Karajorma
  100. { "get-num-countermeasures", OP_GET_NUM_COUNTERMEASURES, 1, 1 }, // Karajorma
  101. - { "is-primary-selected", OP_IS_PRIMARY_SELECTED, 2, 2 },
  102. - { "is-secondary-selected", OP_IS_SECONDARY_SELECTED, 2, 2 },
  103. + { "weapon-energy-pct", OP_WEAPON_ENERGY_LEFT, 1, 1 },
  104. { "afterburner-energy-pct", OP_AFTERBURNER_LEFT, 1, 1 },
  105. - { "weapon-energy-pct", OP_WEAPON_ENERGY_LEFT, 1, 1 },
  106. + { "shield-recharge-pct", OP_SHIELD_RECHARGE_PCT, 1, 1 },
  107. + { "weapon-recharge-pct", OP_WEAPON_RECHARGE_PCT, 1, 1 },
  108. + { "engine-recharge-pct", OP_ENGINE_RECHARGE_PCT, 1, 1 },
  109. + { "shield-quad-low", OP_SHIELD_QUAD_LOW, 2, 2 },
  110. + { "get-throttle-speed", OP_GET_THROTTLE_SPEED, 1, 1, }, // Karajorma
  111. + { "current-speed", OP_CURRENT_SPEED, 1, 1},
  112. +
  113. + //Cargo Sub-Category
  114. + { "is-cargo-known", OP_IS_CARGO_KNOWN, 1, INT_MAX, },
  115. + { "is-cargo-known-delay", OP_CARGO_KNOWN_DELAY, 2, INT_MAX, },
  116. + { "cap-subsys-cargo-known-delay", OP_CAP_SUBSYS_CARGO_KNOWN_DELAY, 3, INT_MAX, },
  117. + { "is-cargo", OP_IS_CARGO, 2, 3 },
  118. +
  119. + //Damage Sub-Category
  120. { "shields-left", OP_SHIELDS_LEFT, 1, 1, },
  121. { "hits-left", OP_HITS_LEFT, 1, 1, },
  122. { "hits-left-subsystem", OP_HITS_LEFT_SUBSYSTEM, 2, 3, },
  123. { "hits-left-subsystem-generic", OP_HITS_LEFT_SUBSYSTEM_GENERIC, 2, 2, }, // Goober5000
  124. { "hits-left-subsystem-specific", OP_HITS_LEFT_SUBSYSTEM_SPECIFIC, 2, 2, }, // Goober5000
  125. { "sim-hits-left", OP_SIM_HITS_LEFT, 1, 1, }, // Turey
  126. + { "get-damage-caused", OP_GET_DAMAGE_CAUSED, 2, INT_MAX },
  127. +
  128. + //Distance and Coordinates Sub-Category
  129. { "distance", OP_DISTANCE, 2, 2, },
  130. { "distance-ship-subsystem", OP_DISTANCE_SUBSYSTEM, 3, 3 }, // Goober5000
  131. { "distance-to-nav", OP_NAV_DISTANCE, 1, 1 }, // Kazan
  132. { "num-within-box", OP_NUM_WITHIN_BOX, 7, INT_MAX}, //WMC
  133. { "is-in-box", OP_IS_IN_BOX, 7, 8}, //Sushi
  134. { "special-warp-dist", OP_SPECIAL_WARP_DISTANCE, 1, 1, },
  135. - { "get-damage-caused", OP_GET_DAMAGE_CAUSED, 2, INT_MAX },
  136. -
  137. { "get-object-x", OP_GET_OBJECT_X, 1, 5 }, // Goober5000
  138. { "get-object-y", OP_GET_OBJECT_Y, 1, 5 }, // Goober5000
  139. { "get-object-z", OP_GET_OBJECT_Z, 1, 5 }, // Goober5000
  140. - { "set-object-position", OP_SET_OBJECT_POSITION, 4, 4 }, // WMC
  141. { "get-object-pitch", OP_GET_OBJECT_PITCH, 1, 1 }, // Goober5000
  142. { "get-object-bank", OP_GET_OBJECT_BANK, 1, 1 }, // Goober5000
  143. { "get-object-heading", OP_GET_OBJECT_HEADING, 1, 1 }, // Goober5000
  144. - { "set-object-orientation", OP_SET_OBJECT_ORIENTATION, 4, 4 }, // Goober5000
  145. - { "set-object-facing", OP_SET_OBJECT_FACING, 4, 6 }, // Goober5000
  146. - { "set-object-facing-object", OP_SET_OBJECT_FACING_OBJECT, 2, 4 }, // Goober5000
  147. - { "set-object-speed-x", OP_SET_OBJECT_SPEED_X, 2, 3 }, // WMC
  148. - { "set-object-speed-y", OP_SET_OBJECT_SPEED_Y, 2, 3 }, // WMC
  149. - { "set-object-speed-z", OP_SET_OBJECT_SPEED_Z, 2, 3 }, // WMC
  150. { "get-object-speed-x", OP_GET_OBJECT_SPEED_X, 1, 2 },
  151. { "get-object-speed-y", OP_GET_OBJECT_SPEED_Y, 1, 2 },
  152. { "get-object-speed-z", OP_GET_OBJECT_SPEED_Z, 1, 2 },
  153.  
  154. - { "time-elapsed-last-order", OP_LAST_ORDER_TIME, 2, 2, },
  155. - { "skill-level-at-least", OP_SKILL_LEVEL_AT_LEAST, 1, 1, },
  156. - { "num-ships-in-battle", OP_NUM_SHIPS_IN_BATTLE, 0, INT_MAX}, //phreak modified by FUBAR
  157. - { "num-ships-in-wing", OP_NUM_SHIPS_IN_WING, 1, INT_MAX}, // Karajorma
  158. - { "is-player", OP_IS_PLAYER, 2, INT_MAX}, // Karajorma
  159. - { "num-players", OP_NUM_PLAYERS, 0, 0, },
  160. - { "num_kills", OP_NUM_KILLS, 1, 1 },
  161. - { "num_assists", OP_NUM_ASSISTS, 1, 1 },
  162. - { "ship_score", OP_SHIP_SCORE, 1, 1 },
  163. - { "ship-deaths", OP_SHIP_DEATHS, 1, 1 },
  164. - { "respawns-left", OP_RESPAWNS_LEFT, 1, 1 },
  165. - { "num_type_kills", OP_NUM_TYPE_KILLS, 2, 2 },
  166. - { "num_class_kills", OP_NUM_CLASS_KILLS, 2, 2 },
  167. - { "team-score", OP_TEAM_SCORE, 1, 1, },
  168. - { "was-promotion-granted", OP_WAS_PROMOTION_GRANTED, 0, 1, },
  169. - { "was-medal-granted", OP_WAS_MEDAL_GRANTED, 0, 1, },
  170. - { "current-speed", OP_CURRENT_SPEED, 1, 1},
  171. - { "primary-fired-since", OP_PRIMARY_FIRED_SINCE, 3, 3}, // Karajorma
  172. - { "secondary-fired-since", OP_SECONDARY_FIRED_SINCE, 3, 3}, // Karajorma
  173. - { "get-throttle-speed", OP_GET_THROTTLE_SPEED, 1, 1, }, // Karajorma
  174. - { "set-player-throttle-speed", OP_SET_PLAYER_THROTTLE_SPEED, 2, 2, }, //CommanderDJ
  175. - { "has-primary-weapon", OP_HAS_PRIMARY_WEAPON, 3, INT_MAX}, // Karajorma
  176. - { "has-secondary-weapon", OP_HAS_SECONDARY_WEAPON, 3, INT_MAX}, // Karajorma
  177. - { "directive-value", OP_DIRECTIVE_VALUE, 1, 2}, // Karajorma
  178. -
  179. + //Variables Sub-Category
  180. + { "string-to-int", OP_STRING_TO_INT, 1, 1, }, // Karajorma
  181. + { "string-get-length", OP_STRING_GET_LENGTH, 1, 1, }, // Goober5000
  182. +
  183. + //Other Sub-Category
  184. + { "script-eval-num", OP_SCRIPT_EVAL_NUM, 1, 1, },
  185. + { "script-eval-string", OP_SCRIPT_EVAL_STRING, 1, 1, },
  186. +
  187. + //Time Category
  188. { "time-ship-destroyed", OP_TIME_SHIP_DESTROYED, 1, 1, },
  189. { "time-ship-arrived", OP_TIME_SHIP_ARRIVED, 1, 1, },
  190. { "time-ship-departed", OP_TIME_SHIP_DEPARTED, 1, 1, },
  191. @@ -293,6 +312,7 @@
  192. { "time-docked", OP_TIME_DOCKED, 3, 3, },
  193. { "time-undocked", OP_TIME_UNDOCKED, 3, 3, },
  194.  
  195. + //Conditionals Category
  196. { "cond", OP_COND, 1, INT_MAX, },
  197. { "when", OP_WHEN, 2, INT_MAX, },
  198. { "when-argument", OP_WHEN_ARGUMENT, 3, INT_MAX, }, // Goober5000
  199. @@ -313,18 +333,19 @@
  200. { "do-for-valid-arguments", OP_DO_FOR_VALID_ARGUMENTS, 1, INT_MAX, }, // Karajorma
  201. { "num-valid-arguments", OP_NUM_VALID_ARGUMENTS, 0, 0, }, // Karajorma
  202.  
  203. + //Change Category
  204. + //Messaging Sub-Category
  205. + { "send-message", OP_SEND_MESSAGE, 3, 3, },
  206. { "send-message-list", OP_SEND_MESSAGE_LIST, 4, INT_MAX },
  207. - { "send-message", OP_SEND_MESSAGE, 3, 3, },
  208. { "send-random-message", OP_SEND_RANDOM_MESSAGE, 3, INT_MAX,},
  209. - { "invalidate-goal", OP_INVALIDATE_GOAL, 1, INT_MAX,},
  210. - { "validate-goal", OP_VALIDATE_GOAL, 1, INT_MAX,},
  211. { "scramble-messages", OP_SCRAMBLE_MESSAGES, 0, 0,},
  212. { "unscramble-messages", OP_UNSCRAMBLE_MESSAGES, 0, 0,},
  213. { "disable-builtin-messages", OP_DISABLE_BUILTIN_MESSAGES, 0, INT_MAX,}, // Karajorma
  214. { "enable-builtin-messages", OP_ENABLE_BUILTIN_MESSAGES, 0, INT_MAX,}, // Karajorma
  215. { "set-persona", OP_SET_PERSONA, 2, INT_MAX,}, // Karajorma
  216. - { "clear-subtitles", OP_CLEAR_SUBTITLES, 0, 0},
  217. + { "set-death-message", OP_SET_DEATH_MESSAGE, 1, 1 }, // Goober5000
  218.  
  219. + //AI Control Sub-Category
  220. { "add-goal", OP_ADD_GOAL, 2, 2, },
  221. { "remove-goal", OP_REMOVE_GOAL, 2, 2, }, // Goober5000
  222. { "add-ship-goal", OP_ADD_SHIP_GOAL, 2, 2, },
  223. @@ -334,93 +355,114 @@
  224. { "clear-wing-goals", OP_CLEAR_WING_GOALS, 1, 1, },
  225. { "good-rearm-time", OP_GOOD_REARM_TIME, 2, 2, },
  226. { "good-secondary-time", OP_GOOD_SECONDARY_TIME, 4, 4, },
  227. - { "change-iff", OP_CHANGE_IFF, 2, INT_MAX, },
  228. - { "change-iff-color", OP_CHANGE_IFF_COLOR, 6, INT_MAX, },
  229. { "change-ai-class", OP_CHANGE_AI_CLASS, 2, INT_MAX, },
  230. + { "player-use-ai", OP_PLAYER_USE_AI, 0, 0 }, // Goober5000
  231. + { "player-not-use-ai", OP_PLAYER_NOT_USE_AI, 0, 0 }, // Goober5000
  232. + { "set-player-orders", OP_SET_PLAYER_ORDERS, 3, INT_MAX }, // Karajorma
  233. + { "cap-waypoint-speed", OP_CAP_WAYPOINT_SPEED, 2, 2 },
  234. +
  235. + //Ship Status Sub-Category
  236. { "protect-ship", OP_PROTECT_SHIP, 1, INT_MAX, },
  237. { "unprotect-ship", OP_UNPROTECT_SHIP, 1, INT_MAX, },
  238. { "beam-protect-ship", OP_BEAM_PROTECT_SHIP, 1, INT_MAX, },
  239. { "beam-unprotect-ship", OP_BEAM_UNPROTECT_SHIP, 1, INT_MAX, },
  240. { "turret-protect-ship", OP_TURRET_PROTECT_SHIP, 2, INT_MAX, }, // Goober5000
  241. { "turret-unprotect-ship", OP_TURRET_UNPROTECT_SHIP, 2, INT_MAX, }, // Goober5000
  242. + { "ship-invisible", OP_SHIP_INVISIBLE, 1, INT_MAX },
  243. + { "ship-visible", OP_SHIP_VISIBLE, 1, INT_MAX },
  244. + { "ship-stealthy", OP_SHIP_STEALTHY, 1, INT_MAX },
  245. + { "ship-unstealthy", OP_SHIP_UNSTEALTHY, 1, INT_MAX }, // Goober5000
  246. + { "friendly-stealth-invisible", OP_FRIENDLY_STEALTH_INVISIBLE, 1, INT_MAX }, // Goober5000
  247. + { "friendly-stealth-visible", OP_FRIENDLY_STEALTH_VISIBLE, 1, INT_MAX }, // Goober5000
  248. + { "primitive-sensors-set-range",OP_PRIMITIVE_SENSORS_SET_RANGE, 2, 2 }, // Goober5000
  249. + { "ship-targetable-as-bomb", OP_SHIP_BOMB_TARGETABLE, 1, INT_MAX },
  250. + { "ship-untargetable-as-bomb", OP_SHIP_BOMB_UNTARGETABLE, 1, INT_MAX },
  251. { "kamikaze", OP_KAMIKAZE, 2, INT_MAX }, //-Sesquipedalian
  252. - { "player-use-ai", OP_PLAYER_USE_AI, 0, 0 }, // Goober5000
  253. - { "player-not-use-ai", OP_PLAYER_NOT_USE_AI, 0, 0 }, // Goober5000
  254. - { "allow-treason", OP_ALLOW_TREASON, 1, 1 }, // Karajorma
  255. - { "set-player-orders", OP_SET_PLAYER_ORDERS, 3, INT_MAX }, // Karajorma
  256. + { "change-iff", OP_CHANGE_IFF, 2, INT_MAX, },
  257. + { "change-iff-color", OP_CHANGE_IFF_COLOR, 6, INT_MAX, },
  258. + { "add-remove-escort", OP_ADD_REMOVE_ESCORT, 2, 2 },
  259. + { "ship-change-alt-name", OP_SHIP_CHANGE_ALT_NAME, 2, INT_MAX }, // Goober5000
  260. + { "ship-change-callsign", OP_SHIP_CHANGE_CALLSIGN, 2, INT_MAX }, // FUBAR
  261. + { "ship-tag", OP_SHIP_TAG, 3, 8 }, // Goober5000
  262. + { "ship-untag", OP_SHIP_UNTAG, 1, 1 }, // Goober5000
  263. + { "set-arrival-info", OP_SET_ARRIVAL_INFO, 2, 6 }, // Goober5000
  264. + { "set-departure-info", OP_SET_DEPARTURE_INFO, 2, 5 }, // Goober5000
  265.  
  266. - { "sabotage-subsystem", OP_SABOTAGE_SUBSYSTEM, 3, 3, },
  267. - { "repair-subsystem", OP_REPAIR_SUBSYSTEM, 3, 4, },
  268. - { "set-subsystem-strength", OP_SET_SUBSYSTEM_STRNGTH, 3, 4, },
  269. - { "destroy-subsys-instantly", OP_DESTROY_SUBSYS_INSTANTLY, 2, INT_MAX }, // Admiral MS
  270. - { "subsys-set-random", OP_SUBSYS_SET_RANDOM, 3, INT_MAX },
  271. - { "self-destruct", OP_SELF_DESTRUCT, 1, INT_MAX, },
  272. - { "destroy-instantly", OP_DESTROY_INSTANTLY, 1, INT_MAX }, // Admiral MS
  273. - { "transfer-cargo", OP_TRANSFER_CARGO, 2, 2, },
  274. - { "exchange-cargo", OP_EXCHANGE_CARGO, 2, 2, },
  275. - { "set-cargo", OP_SET_CARGO, 2, 3, },
  276. - { "jettison-cargo-delay", OP_JETTISON_CARGO, 2, INT_MAX, },
  277. - { "set-docked", OP_SET_DOCKED, 4, 4 }, // Sushi
  278. - { "cargo-no-deplete", OP_CARGO_NO_DEPLETE, 1, 2 },
  279. - { "set-scanned", OP_SET_SCANNED, 1, 2 },
  280. - { "set-unscanned", OP_SET_UNSCANNED, 1, 2 },
  281. - { "lock-rotating-subsystem", OP_LOCK_ROTATING_SUBSYSTEM, 2, INT_MAX }, // Goober5000
  282. - { "free-rotating-subsystem", OP_FREE_ROTATING_SUBSYSTEM, 2, INT_MAX }, // Goober5000
  283. - { "reverse-rotating-subsystem", OP_REVERSE_ROTATING_SUBSYSTEM, 2, INT_MAX }, // Goober5000
  284. - { "rotating-subsys-set-turn-time", OP_ROTATING_SUBSYS_SET_TURN_TIME, 3, INT_MAX }, // Goober5000
  285. - { "trigger-submodel-animation", OP_TRIGGER_SUBMODEL_ANIMATION, 4, 6 }, // Goober5000
  286. + //Shields, Engines and Weapons Sub-Category
  287. + { "set-weapon-energy", OP_SET_WEAPON_ENERGY, 2, INT_MAX }, // Karajorma
  288. + { "set-shield-energy", OP_SET_SHIELD_ENERGY, 2, INT_MAX }, // Karajorma
  289. + { "set-player-throttle-speed", OP_SET_PLAYER_THROTTLE_SPEED, 2, 2, }, //CommanderDJ
  290. + { "set-afterburner-energy", OP_SET_AFTERBURNER_ENERGY, 2, INT_MAX }, // Karajorma
  291. + { "set-subspace-drive", OP_SET_SUBSPACE_DRIVE, 2, INT_MAX, },
  292. + { "set-primary-weapon", OP_SET_PRIMARY_WEAPON, 3, 5 }, // Karajorma
  293. + { "set-secondary-weapon", OP_SET_SECONDARY_WEAPON, 3, 5 }, // Karajorma
  294. { "set-primary-ammo", OP_SET_PRIMARY_AMMO, 3, 4 }, // Karajorma
  295. { "set-secondary-ammo", OP_SET_SECONDARY_AMMO, 3, 4 }, // Karajorma
  296. - { "set-primary-weapon", OP_SET_PRIMARY_WEAPON, 3, 5 }, // Karajorma
  297. - { "set-secondary-weapon", OP_SET_SECONDARY_WEAPON, 3, 5 }, // Karajorma
  298. { "set-num-countermeasures", OP_SET_NUM_COUNTERMEASURES, 2, 2 }, // Karajorma
  299. { "lock-primary-weapon", OP_LOCK_PRIMARY_WEAPON, 1, INT_MAX }, // Karajorma
  300. { "unlock-primary-weapon", OP_UNLOCK_PRIMARY_WEAPON, 1, INT_MAX }, // Karajorma
  301. { "lock-secondary-weapon", OP_LOCK_SECONDARY_WEAPON, 1, INT_MAX }, // Karajorma
  302. { "unlock-secondary-weapon", OP_UNLOCK_SECONDARY_WEAPON, 1, INT_MAX }, // Karajorma
  303. - { "change-subsystem-name", OP_CHANGE_SUBSYSTEM_NAME, 3, INT_MAX }, // Karajorma
  304. { "lock-afterburner", OP_LOCK_AFTERBURNER, 1, INT_MAX }, // KeldorKatarn
  305. { "unlock-afterburner", OP_UNLOCK_AFTERBURNER, 1, INT_MAX }, // KeldorKatarn
  306. - { "set-afterburner-energy", OP_SET_AFTERBURNER_ENERGY, 2, INT_MAX }, // Karajorma
  307. - { "set-weapon-energy", OP_SET_WEAPON_ENERGY, 2, INT_MAX }, // Karajorma
  308. - { "set-shield-energy", OP_SET_SHIELD_ENERGY, 2, INT_MAX }, // Karajorma
  309. - { "set-ambient-light", OP_SET_AMBIENT_LIGHT, 3, 3 }, // Karajorma
  310. - { "set-post-effect", OP_SET_POST_EFFECT, 2, 2 }, // Hery
  311. + { "shields-on", OP_SHIELDS_ON, 1, INT_MAX }, //-Sesquipedalian
  312. + { "shields-off", OP_SHIELDS_OFF, 1, INT_MAX }, //-Sesquipedalian
  313. + { "force-glide", OP_FORCE_GLIDE, 2, 2 }, // The E
  314. + { "disable-ets", OP_DISABLE_ETS, 1, INT_MAX}, // The E
  315. + { "enable-ets", OP_ENABLE_ETS, 1, INT_MAX}, // The E
  316. + { "break-warp", OP_WARP_BROKEN, 1, INT_MAX, },
  317. + { "fix-warp", OP_WARP_NOT_BROKEN, 1, INT_MAX, },
  318. + { "never-warp", OP_WARP_NEVER, 1, INT_MAX, },
  319. + { "allow-warp", OP_WARP_ALLOWED, 1, INT_MAX, },
  320. + { "special-warpout-name", OP_SET_SPECIAL_WARPOUT_NAME, 2, 2 },
  321.  
  322. + //Subsystems and Health Sub-Category
  323. { "ship-invulnerable", OP_SHIP_INVULNERABLE, 1, INT_MAX },
  324. { "ship-vulnerable", OP_SHIP_VULNERABLE, 1, INT_MAX },
  325. { "ship-guardian", OP_SHIP_GUARDIAN, 1, INT_MAX },
  326. { "ship-no-guardian", OP_SHIP_NO_GUARDIAN, 1, INT_MAX },
  327. { "ship-guardian-threshold", OP_SHIP_GUARDIAN_THRESHOLD, 2, INT_MAX },
  328. { "ship-subsys-guardian-threshold", OP_SHIP_SUBSYS_GUARDIAN_THRESHOLD, 3, INT_MAX },
  329. - { "ship-invisible", OP_SHIP_INVISIBLE, 1, INT_MAX },
  330. - { "ship-visible", OP_SHIP_VISIBLE, 1, INT_MAX },
  331. - { "ship-stealthy", OP_SHIP_STEALTHY, 1, INT_MAX },
  332. - { "ship-unstealthy", OP_SHIP_UNSTEALTHY, 1, INT_MAX }, // Goober5000
  333. - { "friendly-stealth-invisible", OP_FRIENDLY_STEALTH_INVISIBLE, 1, INT_MAX }, // Goober5000
  334. - { "friendly-stealth-visible", OP_FRIENDLY_STEALTH_VISIBLE, 1, INT_MAX }, // Goober5000
  335. - { "ship-targetable-as-bomb", OP_SHIP_BOMB_TARGETABLE, 1, INT_MAX },
  336. - { "ship-untargetable-as-bomb", OP_SHIP_BOMB_UNTARGETABLE, 1, INT_MAX },
  337. + { "self-destruct", OP_SELF_DESTRUCT, 1, INT_MAX, },
  338. + { "destroy-instantly", OP_DESTROY_INSTANTLY, 1, INT_MAX }, // Admiral MS
  339. + { "destroy-subsys-instantly", OP_DESTROY_SUBSYS_INSTANTLY, 2, INT_MAX }, // Admiral MS
  340. + { "sabotage-subsystem", OP_SABOTAGE_SUBSYSTEM, 3, 3, },
  341. + { "repair-subsystem", OP_REPAIR_SUBSYSTEM, 3, 4, },
  342. + { "ship-copy-damage", OP_SHIP_COPY_DAMAGE, 2, INT_MAX }, // Goober5000
  343. + { "set-subsystem-strength", OP_SET_SUBSYSTEM_STRNGTH, 3, 4, },
  344. + { "subsys-set-random", OP_SUBSYS_SET_RANDOM, 3, INT_MAX },
  345. + { "lock-rotating-subsystem", OP_LOCK_ROTATING_SUBSYSTEM, 2, INT_MAX }, // Goober5000
  346. + { "free-rotating-subsystem", OP_FREE_ROTATING_SUBSYSTEM, 2, INT_MAX }, // Goober5000
  347. + { "reverse-rotating-subsystem", OP_REVERSE_ROTATING_SUBSYSTEM, 2, INT_MAX }, // Goober5000
  348. + { "rotating-subsys-set-turn-time", OP_ROTATING_SUBSYS_SET_TURN_TIME, 3, INT_MAX }, // Goober5000
  349. + { "trigger-submodel-animation", OP_TRIGGER_SUBMODEL_ANIMATION, 4, 6 }, // Goober5000
  350. + { "change-subsystem-name", OP_CHANGE_SUBSYSTEM_NAME, 3, INT_MAX }, // Karajorma
  351. { "ship-subsys-targetable", OP_SHIP_SUBSYS_TARGETABLE, 2, INT_MAX }, // Goober5000
  352. + { "ship-subsys-untargetable", OP_SHIP_SUBSYS_UNTARGETABLE, 2, INT_MAX }, // Goober5000
  353. { "ship-subsys-no-replace", OP_SHIP_SUBSYS_NO_REPLACE, 3, INT_MAX }, // FUBAR
  354. { "ship-subsys-no-live-debris", OP_SHIP_SUBSYS_NO_LIVE_DEBRIS, 3, INT_MAX }, // FUBAR
  355. { "ship-subsys-vanish", OP_SHIP_SUBSYS_VANISHED, 3, INT_MAX }, // FUBAR
  356. { "ship-subsys-ignore_if_dead", OP_SHIP_SUBSYS_IGNORE_IF_DEAD, 3, INT_MAX }, // FUBAR
  357. - { "ship-subsys-untargetable", OP_SHIP_SUBSYS_UNTARGETABLE, 2, INT_MAX }, // Goober5000
  358. - { "ship-vaporize", OP_SHIP_VAPORIZE, 1, INT_MAX }, // Goober5000
  359. - { "ship-no-vaporize", OP_SHIP_NO_VAPORIZE, 1, INT_MAX }, // Goober5000
  360. - { "set-explosion-option", OP_SET_EXPLOSION_OPTION, 3, INT_MAX }, // Goober5000
  361. - { "break-warp", OP_WARP_BROKEN, 1, INT_MAX, },
  362. - { "fix-warp", OP_WARP_NOT_BROKEN, 1, INT_MAX, },
  363. - { "never-warp", OP_WARP_NEVER, 1, INT_MAX, },
  364. - { "allow-warp", OP_WARP_ALLOWED, 1, INT_MAX, },
  365. - { "set-subspace-drive", OP_SET_SUBSPACE_DRIVE, 2, INT_MAX, },
  366. + { "awacs-set-radius", OP_AWACS_SET_RADIUS, 3, 3 },
  367. +
  368. + //Cargo Sub-Category
  369. + { "transfer-cargo", OP_TRANSFER_CARGO, 2, 2, },
  370. + { "exchange-cargo", OP_EXCHANGE_CARGO, 2, 2, },
  371. + { "set-cargo", OP_SET_CARGO, 2, 3, },
  372. + { "jettison-cargo-delay", OP_JETTISON_CARGO, 2, INT_MAX, },
  373. + { "set-docked", OP_SET_DOCKED, 4, 4 }, // Sushi
  374. + { "cargo-no-deplete", OP_CARGO_NO_DEPLETE, 1, 2 },
  375. + { "set-scanned", OP_SET_SCANNED, 1, 2 },
  376. + { "set-unscanned", OP_SET_UNSCANNED, 1, 2 },
  377. +
  378. + //Armor and Damage Types Sub-Category
  379. { "set-armor-type", OP_SET_ARMOR_TYPE, 4, INT_MAX, }, // FUBAR
  380. - { "add-to-collision-group", OP_ADD_TO_COLGROUP, 2, INT_MAX }, // The E
  381. - { "remove-from-collision-group",OP_REMOVE_FROM_COLGROUP, 2, INT_MAX },
  382. - { "get-collision-group", OP_GET_COLGROUP_ID, 1, 1 },
  383. - { "ship-effect", OP_SHIP_EFFECT, 3, INT_MAX }, // Valathil
  384. + { "weapon-set-damage-type", OP_WEAPON_SET_DAMAGE_TYPE, 4, INT_MAX }, // FUBAR
  385. + { "ship-set-damage-type", OP_SHIP_SET_DAMAGE_TYPE, 4, INT_MAX }, // FUBAR
  386. + { "ship-set-shockwave-damage-type", OP_SHIP_SHOCKWAVE_SET_DAMAGE_TYPE, 3, INT_MAX }, // FUBAR
  387. + { "field-set-damage-type", OP_FIELD_SET_DAMAGE_TYPE, 2,2 }, // FUBAR
  388.  
  389. + //Beams and Turrets Sub-Category
  390. { "fire-beam", OP_BEAM_FIRE, 3, 5 },
  391. { "fire-beam-at-coordinates", OP_BEAM_FIRE_COORDS, 5, 9 },
  392. { "beam-free", OP_BEAM_FREE, 2, INT_MAX },
  393. @@ -444,8 +486,39 @@
  394. { "ship-turret-target-order", OP_SHIP_TURRET_TARGET_ORDER, 1, 1+NUM_TURRET_ORDER_TYPES}, //WMC
  395. { "turret-subsys-target-disable", OP_TURRET_SUBSYS_TARGET_DISABLE, 2, INT_MAX },
  396. { "turret-subsys-target-enable", OP_TURRET_SUBSYS_TARGET_ENABLE, 2, INT_MAX },
  397. +
  398. + //Models and Textures Sub-Category
  399. + { "change-ship-class", OP_CHANGE_SHIP_CLASS, 2, INT_MAX }, // Goober5000
  400. + { "deactivate-glow-maps", OP_DEACTIVATE_GLOW_MAPS, 1, INT_MAX }, //-Bobboau
  401. + { "activate-glow-maps", OP_ACTIVATE_GLOW_MAPS, 1, INT_MAX }, //-Bobboau
  402. + { "deactivate-glow-points", OP_DEACTIVATE_GLOW_POINTS, 1, INT_MAX }, //-Bobboau
  403. + { "activate-glow-points", OP_ACTIVATE_GLOW_POINTS, 1, INT_MAX }, //-Bobboau
  404. + { "deactivate-glow-point-bank", OP_DEACTIVATE_GLOW_POINT_BANK, 2, INT_MAX }, //-Bobboau
  405. + { "activate-glow-point-bank", OP_ACTIVATE_GLOW_POINT_BANK, 2, INT_MAX }, //-Bobboau
  406. + { "set-thrusters-status", OP_SET_THRUSTERS, 2, INT_MAX }, // The E
  407. + { "don't-collide-invisible", OP_DONT_COLLIDE_INVISIBLE, 1, INT_MAX }, // Goober5000
  408. + { "collide-invisible", OP_COLLIDE_INVISIBLE, 1, INT_MAX }, // Goober5000
  409. + { "add-to-collision-group", OP_ADD_TO_COLGROUP, 2, INT_MAX }, // The E
  410. + { "remove-from-collision-group",OP_REMOVE_FROM_COLGROUP, 2, INT_MAX },
  411. + { "get-collision-group", OP_GET_COLGROUP_ID, 1, 1 },
  412.  
  413. + //Coordinate Manipulation Sub-Category
  414. + { "set-object-position", OP_SET_OBJECT_POSITION, 4, 4 }, // WMC
  415. + { "set-object-orientation", OP_SET_OBJECT_ORIENTATION, 4, 4 }, // Goober5000
  416. + { "set-object-facing", OP_SET_OBJECT_FACING, 4, 6 }, // Goober5000
  417. + { "set-object-facing-object", OP_SET_OBJECT_FACING_OBJECT, 2, 4 }, // Goober5000
  418. + { "set-object-speed-x", OP_SET_OBJECT_SPEED_X, 2, 3 }, // WMC
  419. + { "set-object-speed-y", OP_SET_OBJECT_SPEED_Y, 2, 3 }, // WMC
  420. + { "set-object-speed-z", OP_SET_OBJECT_SPEED_Z, 2, 3 }, // WMC
  421. + { "ship-maneuver", OP_SHIP_MANEUVER, 10, 10 }, // Wanderer
  422. + { "ship-rot-maneuver", OP_SHIP_ROT_MANEUVER, 6, 6 }, // Wanderer
  423. + { "ship-lat-maneuver", OP_SHIP_LAT_MANEUVER, 6, 6 }, // Wanderer
  424. + { "set-immobile", OP_SET_IMMOBILE, 1, INT_MAX }, // Goober5000
  425. + { "set-mobile", OP_SET_MOBILE, 1, INT_MAX }, // Goober5000
  426.  
  427. + //Mission and Campaign Sub-Category
  428. + { "invalidate-goal", OP_INVALIDATE_GOAL, 1, INT_MAX,},
  429. + { "validate-goal", OP_VALIDATE_GOAL, 1, INT_MAX,},
  430. { "red-alert", OP_RED_ALERT, 0, 0 },
  431. { "end-mission", OP_END_MISSION, 0, 2 }, //-Sesquipedalian
  432. { "force-jump", OP_FORCE_JUMP, 0, 0 }, // Goober5000
  433. @@ -453,24 +526,7 @@
  434. { "end-campaign", OP_END_CAMPAIGN, 0, 0 },
  435. { "end-of-campaign", OP_END_OF_CAMPAIGN, 0, 0 },
  436. { "set-debriefing-toggled", OP_SET_DEBRIEFING_TOGGLED, 1, 1 }, // Goober5000
  437. -
  438. - { "add-nav-waypoint", OP_NAV_ADD_WAYPOINT, 3, 4 }, //kazan
  439. - { "add-nav-ship", OP_NAV_ADD_SHIP, 2, 2 }, //kazan
  440. - { "del-nav", OP_NAV_DEL, 1, 1 }, //kazan
  441. - { "hide-nav", OP_NAV_HIDE, 1, 1 }, //kazan
  442. - { "restrict-nav", OP_NAV_RESTRICT, 1, 1 }, //kazan
  443. - { "unhide-nav", OP_NAV_UNHIDE, 1, 1 }, //kazan
  444. - { "unrestrict-nav", OP_NAV_UNRESTRICT, 1, 1 }, //kazan
  445. - { "set-nav-visited", OP_NAV_SET_VISITED, 1, 1 }, //kazan
  446. - { "unset-nav-visited", OP_NAV_UNSET_VISITED, 1, 1 }, //kazan
  447. - { "set-nav-carry", OP_NAV_SET_CARRY, 1, INT_MAX }, //kazan
  448. - { "unset-nav-carry", OP_NAV_UNSET_CARRY, 1, INT_MAX }, //kazan
  449. - { "set-nav-needslink", OP_NAV_SET_NEEDSLINK, 1, INT_MAX }, //kazan
  450. - { "unset-nav-needslink", OP_NAV_UNSET_NEEDSLINK, 1, INT_MAX }, //kazan
  451. - { "is-nav-linked", OP_NAV_ISLINKED, 1, 1 }, //kazan
  452. - { "use-nav-cinematics", OP_NAV_USECINEMATICS, 1, 1 }, //kazan
  453. - { "use-autopilot", OP_NAV_USEAP, 1, 1 }, //kazan
  454. -
  455. + { "allow-treason", OP_ALLOW_TREASON, 1, 1 }, // Karajorma
  456. { "grant-promotion", OP_GRANT_PROMOTION, 0, 0, },
  457. { "grant-medal", OP_GRANT_MEDAL, 1, 1, },
  458. { "allow-ship", OP_ALLOW_SHIP, 1, 1, },
  459. @@ -483,17 +539,7 @@
  460. { "change-team-score", OP_CHANGE_TEAM_SCORE, 2, 2 }, // Karajorma
  461. { "set-respawns", OP_SET_RESPAWNS, 2, INT_MAX }, // Karajorma
  462.  
  463. - { "don't-collide-invisible", OP_DONT_COLLIDE_INVISIBLE, 1, INT_MAX }, // Goober5000
  464. - { "collide-invisible", OP_COLLIDE_INVISIBLE, 1, INT_MAX }, // Goober5000
  465. - { "change-ship-class", OP_CHANGE_SHIP_CLASS, 2, INT_MAX }, // Goober5000
  466. - { "deactivate-glow-points", OP_DEACTIVATE_GLOW_POINTS, 1, INT_MAX }, //-Bobboau
  467. - { "activate-glow-points", OP_ACTIVATE_GLOW_POINTS, 1, INT_MAX }, //-Bobboau
  468. - { "deactivate-glow-maps", OP_DEACTIVATE_GLOW_MAPS, 1, INT_MAX }, //-Bobboau
  469. - { "activate-glow-maps", OP_ACTIVATE_GLOW_MAPS, 1, INT_MAX }, //-Bobboau
  470. - { "deactivate-glow-point-bank", OP_DEACTIVATE_GLOW_POINT_BANK, 2, INT_MAX }, //-Bobboau
  471. - { "activate-glow-point-bank", OP_ACTIVATE_GLOW_POINT_BANK, 2, INT_MAX }, //-Bobboau
  472. - { "set-thrusters-status", OP_SET_THRUSTERS, 2, INT_MAX }, // The E
  473. -
  474. + //Music and Sound Sub-Category
  475. { "change-soundtrack", OP_CHANGE_SOUNDTRACK, 1, 1 }, // Goober5000
  476. { "play-sound-from-table", OP_PLAY_SOUND_FROM_TABLE, 4, 4 }, // Goober5000
  477. { "play-sound-from-file", OP_PLAY_SOUND_FROM_FILE, 1, 3 }, // Goober5000
  478. @@ -502,49 +548,67 @@
  479. { "update-sound-environment", OP_UPDATE_SOUND_ENVIRONMENT, 2, INT_MAX }, // Taylor
  480. { "adjust-audio-volume", OP_ADJUST_AUDIO_VOLUME, 1, 3},
  481.  
  482. - { "modify-variable", OP_MODIFY_VARIABLE, 2, 2, },
  483. - { "variable-array-get", OP_GET_VARIABLE_BY_INDEX, 1, 1, },
  484. - { "variable-array-set", OP_SET_VARIABLE_BY_INDEX, 2, 2, },
  485. - { "add-remove-escort", OP_ADD_REMOVE_ESCORT, 2, 2 },
  486. - { "damaged-escort-priority", OP_DAMAGED_ESCORT_LIST, 3, INT_MAX }, //phreak
  487. - { "damaged-escort-priority-all", OP_DAMAGED_ESCORT_LIST_ALL, 1, MAX_COMPLETE_ESCORT_LIST }, // Goober5000
  488. - { "awacs-set-radius", OP_AWACS_SET_RADIUS, 3, 3 },
  489. - { "primitive-sensors-set-range",OP_PRIMITIVE_SENSORS_SET_RANGE, 2, 2 }, // Goober5000
  490. - { "set-support-ship", OP_SET_SUPPORT_SHIP, 6, 7 }, // Goober5000
  491. - { "set-arrival-info", OP_SET_ARRIVAL_INFO, 2, 6 }, // Goober5000
  492. - { "set-departure-info", OP_SET_DEPARTURE_INFO, 2, 5 }, // Goober5000
  493. - { "cap-waypoint-speed", OP_CAP_WAYPOINT_SPEED, 2, 2 },
  494. - { "special-warpout-name", OP_SET_SPECIAL_WARPOUT_NAME, 2, 2 },
  495. - { "ship-create", OP_SHIP_CREATE, 5, 8 }, //WMC
  496. - { "weapon-create", OP_WEAPON_CREATE, 5, 10 }, // Goober5000
  497. - { "ship-vanish", OP_SHIP_VANISH, 1, INT_MAX },
  498. + //HUD Sub-Category
  499. + { "hud-disable", OP_HUD_DISABLE, 1, 1 }, // Goober5000
  500. + { "hud-disable-except-messages", OP_HUD_DISABLE_EXCEPT_MESSAGES, 1, 1 }, // Goober5000
  501. + { "hud-set-text", OP_HUD_SET_TEXT, 2, 2 }, //WMCoolmon
  502. + { "hud-set-text-num", OP_HUD_SET_TEXT_NUM, 2, 2 }, //WMCoolmon
  503. + { "hud-set-message", OP_HUD_SET_MESSAGE, 2, 2 }, //The E
  504. + { "hud-set-directive", OP_HUD_SET_DIRECTIVE, 2, 2 }, //The E
  505. + { "hud-set-frame", OP_HUD_SET_FRAME, 2, 2 }, //WMCoolmon
  506. + { "hud-set-coords", OP_HUD_SET_COORDS, 3, 3 }, //WMCoolmon
  507. + { "hud-set-color", OP_HUD_SET_COLOR, 4, 4 }, //WMCoolmon
  508. + { "hud-display-gauge", OP_HUD_DISPLAY_GAUGE, 2, 2 },
  509. + { "hud-gauge-set-active", OP_HUD_GAUGE_SET_ACTIVE, 2, 2 },
  510. + { "hud-activate-gauge-type", OP_HUD_ACTIVATE_GAUGE_TYPE, 2, 2},
  511. + { "hud-clear-messages", OP_HUD_CLEAR_MESSAGES, 0, 0}, // swifty
  512. + { "hud-set-max-targeting-range", OP_HUD_SET_MAX_TARGETING_RANGE, 1, 1 }, // Goober5000
  513. +
  514. + //Nav Sub-Category
  515. + { "add-nav-waypoint", OP_NAV_ADD_WAYPOINT, 3, 4 }, //kazan
  516. + { "add-nav-ship", OP_NAV_ADD_SHIP, 2, 2 }, //kazan
  517. + { "del-nav", OP_NAV_DEL, 1, 1 }, //kazan
  518. + { "hide-nav", OP_NAV_HIDE, 1, 1 }, //kazan
  519. + { "restrict-nav", OP_NAV_RESTRICT, 1, 1 }, //kazan
  520. + { "unhide-nav", OP_NAV_UNHIDE, 1, 1 }, //kazan
  521. + { "unrestrict-nav", OP_NAV_UNRESTRICT, 1, 1 }, //kazan
  522. + { "set-nav-visited", OP_NAV_SET_VISITED, 1, 1 }, //kazan
  523. + { "unset-nav-visited", OP_NAV_UNSET_VISITED, 1, 1 }, //kazan
  524. + { "set-nav-carry", OP_NAV_SET_CARRY, 1, INT_MAX }, //kazan
  525. + { "unset-nav-carry", OP_NAV_UNSET_CARRY, 1, INT_MAX }, //kazan
  526. + { "set-nav-needslink", OP_NAV_SET_NEEDSLINK, 1, INT_MAX }, //kazan
  527. + { "unset-nav-needslink", OP_NAV_UNSET_NEEDSLINK, 1, INT_MAX }, //kazan
  528. + { "is-nav-linked", OP_NAV_ISLINKED, 1, 1 }, //kazan
  529. + { "use-nav-cinematics", OP_NAV_USECINEMATICS, 1, 1 }, //kazan
  530. + { "use-autopilot", OP_NAV_USEAP, 1, 1 }, //kazan
  531. +
  532. + //Cutscene Sub-Category
  533. + { "set-cutscene-bars", OP_CUTSCENES_SET_CUTSCENE_BARS, 0, 1, },
  534. + { "unset-cutscene-bars", OP_CUTSCENES_UNSET_CUTSCENE_BARS, 0, 1, },
  535. + { "fade-in", OP_CUTSCENES_FADE_IN, 0, 1, },
  536. + { "fade-out", OP_CUTSCENES_FADE_OUT, 0, 2, },
  537. + { "set-camera", OP_CUTSCENES_SET_CAMERA, 0, 1, },
  538. + { "set-camera-position", OP_CUTSCENES_SET_CAMERA_POSITION, 3, 6, },
  539. + { "set-camera-facing", OP_CUTSCENES_SET_CAMERA_FACING, 3, 6, },
  540. + { "set-camera-facing-object", OP_CUTSCENES_SET_CAMERA_FACING_OBJECT, 1, 4, },
  541. + { "set-camera-rotation", OP_CUTSCENES_SET_CAMERA_ROTATION, 3, 6, },
  542. + { "set-camera-host", OP_CUTSCENES_SET_CAMERA_HOST, 1, 2, },
  543. + { "set-camera-target", OP_CUTSCENES_SET_CAMERA_TARGET, 1, 2, },
  544. + { "set-camera-fov", OP_CUTSCENES_SET_CAMERA_FOV, 1, 5, },
  545. + { "set-fov", OP_CUTSCENES_SET_FOV, 1, 1, },
  546. + { "get-fov", OP_CUTSCENES_GET_FOV, 0, 0, },
  547. + { "reset-fov", OP_CUTSCENES_RESET_FOV, 0, 0, },
  548. + { "reset-camera", OP_CUTSCENES_RESET_CAMERA, 0, 1, },
  549. + { "show-subtitle", OP_CUTSCENES_SHOW_SUBTITLE, 4, 13, },
  550. + { "show-subtitle-text", OP_CUTSCENES_SHOW_SUBTITLE_TEXT, 6, 13, },
  551. + { "show-subtitle-image", OP_CUTSCENES_SHOW_SUBTITLE_IMAGE, 8, 10, },
  552. + { "clear-subtitles", OP_CLEAR_SUBTITLES, 0, 0},
  553. + { "lock-perspective", OP_CUTSCENES_FORCE_PERSPECTIVE, 1, 2, },
  554. + { "set-camera-shudder", OP_SET_CAMERA_SHUDDER, 2, 2, },
  555. { "supernova-start", OP_SUPERNOVA_START, 1, 1 },
  556. { "supernova-stop", OP_SUPERNOVA_STOP, 0, 0 }, //CommanderDJ
  557. - { "shields-on", OP_SHIELDS_ON, 1, INT_MAX }, //-Sesquipedalian
  558. - { "shields-off", OP_SHIELDS_OFF, 1, INT_MAX }, //-Sesquipedalian
  559. - { "ship-tag", OP_SHIP_TAG, 3, 8 }, // Goober5000
  560. - { "ship-untag", OP_SHIP_UNTAG, 1, 1 }, // Goober5000
  561. - { "explosion-effect", OP_EXPLOSION_EFFECT, 11, 13 }, // Goober5000
  562. - { "warp-effect", OP_WARP_EFFECT, 12, 12 }, // Goober5000
  563. - { "ship-change-alt-name", OP_SHIP_CHANGE_ALT_NAME, 2, INT_MAX }, // Goober5000
  564. - { "ship-change-callsign", OP_SHIP_CHANGE_CALLSIGN, 2, INT_MAX }, // FUBAR
  565. - { "ship-copy-damage", OP_SHIP_COPY_DAMAGE, 2, INT_MAX }, // Goober5000
  566. - { "set-death-message", OP_SET_DEATH_MESSAGE, 1, 1 }, // Goober5000
  567. - { "remove-weapons", OP_REMOVE_WEAPONS, 0, 1 }, // Karajorma
  568. - { "ship-maneuver", OP_SHIP_MANEUVER, 10, 10 }, // Wanderer
  569. - { "ship-rot-maneuver", OP_SHIP_ROT_MANEUVER, 6, 6 }, // Wanderer
  570. - { "ship-lat-maneuver", OP_SHIP_LAT_MANEUVER, 6, 6 }, // Wanderer
  571. - { "force-glide", OP_FORCE_GLIDE, 2, 2 }, // The E
  572. - { "weapon-set-damage-type", OP_WEAPON_SET_DAMAGE_TYPE, 4, INT_MAX }, // FUBAR
  573. - { "ship-set-damage-type", OP_SHIP_SET_DAMAGE_TYPE, 4, INT_MAX }, // FUBAR
  574. - { "ship-set-shockwave-damage-type", OP_SHIP_SHOCKWAVE_SET_DAMAGE_TYPE, 3, INT_MAX }, // FUBAR
  575. - { "field-set-damage-type", OP_FIELD_SET_DAMAGE_TYPE, 2,2 }, // FUBAR
  576. - { "disable-ets", OP_DISABLE_ETS, 1, INT_MAX}, // The E
  577. - { "enable-ets", OP_ENABLE_ETS, 1, INT_MAX}, // The E
  578. - { "set-immobile", OP_SET_IMMOBILE, 1, INT_MAX }, // Goober5000
  579. - { "set-mobile", OP_SET_MOBILE, 1, INT_MAX }, // Goober5000
  580. -
  581. - //background and nebula sexps
  582. +
  583. + //Background and Nebula Sub-Category
  584. { "mission-set-nebula", OP_MISSION_SET_NEBULA, 1, 1 }, //-Sesquipedalian
  585. { "mission-set-subspace", OP_MISSION_SET_SUBSPACE, 1, 1 },
  586. { "add-background-bitmap", OP_ADD_BACKGROUND_BITMAP, 9, 9 }, // phreak
  587. @@ -555,23 +619,46 @@
  588. { "nebula-toggle-poof", OP_NEBULA_TOGGLE_POOF, 2, 2 }, // phreak
  589. { "set-skybox-model", OP_SET_SKYBOX_MODEL, 1, 1 }, // taylor
  590. { "set-skybox-orientation", OP_SET_SKYBOX_ORIENT, 3, 3 }, // Goober5000
  591. + { "set-ambient-light", OP_SET_AMBIENT_LIGHT, 3, 3 }, // Karajorma
  592.  
  593. - //HUD funcs -C
  594. - { "hud-disable", OP_HUD_DISABLE, 1, 1 }, // Goober5000
  595. - { "hud-disable-except-messages", OP_HUD_DISABLE_EXCEPT_MESSAGES, 1, 1 }, // Goober5000
  596. - { "hud-set-text", OP_HUD_SET_TEXT, 2, 2 }, //WMCoolmon
  597. - { "hud-set-text-num", OP_HUD_SET_TEXT_NUM, 2, 2 }, //WMCoolmon
  598. - { "hud-set-message", OP_HUD_SET_MESSAGE, 2, 2 }, //The E
  599. - { "hud-set-directive", OP_HUD_SET_DIRECTIVE, 2, 2 }, //The E
  600. - { "hud-set-coords", OP_HUD_SET_COORDS, 3, 3 }, //WMCoolmon
  601. - { "hud-set-frame", OP_HUD_SET_FRAME, 2, 2 }, //WMCoolmon
  602. - { "hud-set-color", OP_HUD_SET_COLOR, 4, 4 }, //WMCoolmon
  603. - { "hud-set-max-targeting-range", OP_HUD_SET_MAX_TARGETING_RANGE, 1, 1 }, // Goober5000
  604. - { "hud-display-gauge", OP_HUD_DISPLAY_GAUGE, 2, 2 },
  605. - { "hud-gauge-set-active", OP_HUD_GAUGE_SET_ACTIVE, 2, 2 },
  606. - { "hud-activate-gauge-type", OP_HUD_ACTIVATE_GAUGE_TYPE, 2, 2},
  607. - { "hud-clear-messages", OP_HUD_CLEAR_MESSAGES, 0, 0}, // swifty
  608. + //Jump Node Sub-Category
  609. + { "set-jumpnode-name", OP_JUMP_NODE_SET_JUMPNODE_NAME, 2, 2, }, //CommanderDJ
  610. + { "set-jumpnode-color", OP_JUMP_NODE_SET_JUMPNODE_COLOR, 5, 5, },
  611. + { "set-jumpnode-model", OP_JUMP_NODE_SET_JUMPNODE_MODEL, 3, 3, },
  612. + { "show-jumpnode", OP_JUMP_NODE_SHOW_JUMPNODE, 1, INT_MAX, },
  613. + { "hide-jumpnode", OP_JUMP_NODE_HIDE_JUMPNODE, 1, INT_MAX, },
  614.  
  615. + //Special Effects Sub-Category
  616. + { "set-post-effect", OP_SET_POST_EFFECT, 2, 2 }, // Hery
  617. + { "ship-effect", OP_SHIP_EFFECT, 3, INT_MAX }, // Valathil
  618. + { "ship-create", OP_SHIP_CREATE, 5, 8 }, //WMC
  619. + { "weapon-create", OP_WEAPON_CREATE, 5, 10 }, // Goober5000
  620. + { "ship-vanish", OP_SHIP_VANISH, 1, INT_MAX },
  621. + { "ship-vaporize", OP_SHIP_VAPORIZE, 1, INT_MAX }, // Goober5000
  622. + { "ship-no-vaporize", OP_SHIP_NO_VAPORIZE, 1, INT_MAX }, // Goober5000
  623. + { "set-explosion-option", OP_SET_EXPLOSION_OPTION, 3, INT_MAX }, // Goober5000
  624. + { "explosion-effect", OP_EXPLOSION_EFFECT, 11, 13 }, // Goober5000
  625. + { "warp-effect", OP_WARP_EFFECT, 12, 12 }, // Goober5000
  626. + { "remove-weapons", OP_REMOVE_WEAPONS, 0, 1 }, // Karajorma
  627. + { "set-time-compression", OP_CUTSCENES_SET_TIME_COMPRESSION, 1, 3, },
  628. + { "reset-time-compression", OP_CUTSCENES_RESET_TIME_COMPRESSION, 0, 0, },
  629. +
  630. + //Variable Category
  631. + { "modify-variable", OP_MODIFY_VARIABLE, 2, 2, },
  632. + { "variable-array-get", OP_GET_VARIABLE_BY_INDEX, 1, 1, },
  633. + { "variable-array-set", OP_SET_VARIABLE_BY_INDEX, 2, 2, },
  634. + { "int-to-string", OP_INT_TO_STRING, 2, 2, }, // Goober5000
  635. + { "string-concatenate", OP_STRING_CONCATENATE, 3, 3, }, // Goober5000
  636. + { "string-get-substring", OP_STRING_GET_SUBSTRING, 4, 4, }, // Goober5000
  637. + { "string-set-substring", OP_STRING_SET_SUBSTRING, 5, 5, }, // Goober5000
  638. +
  639. + //Other Sub-Category
  640. + { "damaged-escort-priority", OP_DAMAGED_ESCORT_LIST, 3, INT_MAX }, //phreak
  641. + { "damaged-escort-priority-all", OP_DAMAGED_ESCORT_LIST_ALL, 1, MAX_COMPLETE_ESCORT_LIST }, // Goober5000
  642. + { "set-support-ship", OP_SET_SUPPORT_SHIP, 6, 7 }, // Goober5000
  643. + { "script-eval", OP_SCRIPT_EVAL, 1, INT_MAX},
  644. +
  645. + //AI Goals Category
  646. { "ai-chase", OP_AI_CHASE, 2, 2, },
  647. { "ai-chase-wing", OP_AI_CHASE_WING, 2, 2, },
  648. { "ai-chase-any", OP_AI_CHASE_ANY, 1, 1, },
  649. @@ -597,6 +684,7 @@
  650.  
  651. { "goals", OP_GOALS_ID, 1, INT_MAX, },
  652.  
  653. + //Training Category
  654. { "key-pressed", OP_KEY_PRESSED, 1, 2, },
  655. { "key-reset", OP_KEY_RESET, 1, INT_MAX, },
  656. { "key-reset-multiple", OP_KEY_RESET_MULTIPLE, 1, INT_MAX, },
  657. @@ -618,51 +706,9 @@
  658. { "primaries-depleted", OP_PRIMARIES_DEPLETED, 1, 1, },
  659. { "secondaries-depleted", OP_SECONDARIES_DEPLETED, 1, 1, },
  660. { "special-check", OP_SPECIAL_CHECK, 1, 1, },
  661. -
  662. { "set-training-context-fly-path", OP_SET_TRAINING_CONTEXT_FLY_PATH, 2, 2, },
  663. { "set-training-context-speed", OP_SET_TRAINING_CONTEXT_SPEED, 2, 2, },
  664.  
  665. - //Cutscene stuff
  666. - { "set-cutscene-bars", OP_CUTSCENES_SET_CUTSCENE_BARS, 0, 1, },
  667. - { "unset-cutscene-bars", OP_CUTSCENES_UNSET_CUTSCENE_BARS, 0, 1, },
  668. - { "fade-in", OP_CUTSCENES_FADE_IN, 0, 1, },
  669. - { "fade-out", OP_CUTSCENES_FADE_OUT, 0, 2, },
  670. - { "set-camera", OP_CUTSCENES_SET_CAMERA, 0, 1, },
  671. - { "set-camera-facing", OP_CUTSCENES_SET_CAMERA_FACING, 3, 6, },
  672. - { "set-camera-facing-object", OP_CUTSCENES_SET_CAMERA_FACING_OBJECT, 1, 4, },
  673. - { "set-camera-fov", OP_CUTSCENES_SET_CAMERA_FOV, 1, 5, },
  674. - { "set-camera-host", OP_CUTSCENES_SET_CAMERA_HOST, 1, 2, },
  675. - { "set-camera-position", OP_CUTSCENES_SET_CAMERA_POSITION, 3, 6, },
  676. - { "set-camera-rotation", OP_CUTSCENES_SET_CAMERA_ROTATION, 3, 6, },
  677. - { "set-camera-target", OP_CUTSCENES_SET_CAMERA_TARGET, 1, 2, },
  678. - { "set-fov", OP_CUTSCENES_SET_FOV, 1, 1, },
  679. - { "get-fov", OP_CUTSCENES_GET_FOV, 0, 0, },
  680. - { "reset-fov", OP_CUTSCENES_RESET_FOV, 0, 0, },
  681. - { "reset-camera", OP_CUTSCENES_RESET_CAMERA, 0, 1, },
  682. - { "show-subtitle", OP_CUTSCENES_SHOW_SUBTITLE, 4, 13, },
  683. - { "show-subtitle-text", OP_CUTSCENES_SHOW_SUBTITLE_TEXT, 6, 13, },
  684. - { "show-subtitle-image", OP_CUTSCENES_SHOW_SUBTITLE_IMAGE, 8, 10, },
  685. - { "set-time-compression", OP_CUTSCENES_SET_TIME_COMPRESSION, 1, 3, },
  686. - { "reset-time-compression", OP_CUTSCENES_RESET_TIME_COMPRESSION, 0, 0, },
  687. - { "lock-perspective", OP_CUTSCENES_FORCE_PERSPECTIVE, 1, 2, },
  688. - { "set-camera-shudder", OP_SET_CAMERA_SHUDDER, 2, 2, },
  689. -
  690. - { "set-jumpnode-name", OP_JUMP_NODE_SET_JUMPNODE_NAME, 2, 2, }, //CommanderDJ
  691. - { "set-jumpnode-color", OP_JUMP_NODE_SET_JUMPNODE_COLOR, 5, 5, },
  692. - { "set-jumpnode-model", OP_JUMP_NODE_SET_JUMPNODE_MODEL, 3, 3, },
  693. - { "show-jumpnode", OP_JUMP_NODE_SHOW_JUMPNODE, 1, INT_MAX, },
  694. - { "hide-jumpnode", OP_JUMP_NODE_HIDE_JUMPNODE, 1, INT_MAX, },
  695. -
  696. - { "script-eval-num", OP_SCRIPT_EVAL_NUM, 1, 1, },
  697. - { "script-eval-string", OP_SCRIPT_EVAL_STRING, 1, 1, },
  698. - { "script-eval", OP_SCRIPT_EVAL, 1, INT_MAX},
  699. - { "string-to-int", OP_STRING_TO_INT, 1, 1, }, // Karajorma
  700. - { "int-to-string", OP_INT_TO_STRING, 2, 2, }, // Goober5000
  701. - { "string-concatenate", OP_STRING_CONCATENATE, 3, 3, }, // Goober5000
  702. - { "string-get-substring", OP_STRING_GET_SUBSTRING, 4, 4, }, // Goober5000
  703. - { "string-set-substring", OP_STRING_SET_SUBSTRING, 5, 5, }, // Goober5000
  704. - { "string-get-length", OP_STRING_GET_LENGTH, 1, 1, }, // Goober5000
  705. -
  706. { "do-nothing", OP_NOP, 0, 0, },
  707. };
  708.  
  709. @@ -26815,112 +26861,136 @@
  710. {
  711. switch(sexp_id)
  712. {
  713. +
  714. case OP_SEND_MESSAGE_LIST:
  715. case OP_SEND_MESSAGE:
  716. case OP_SEND_RANDOM_MESSAGE:
  717. - case OP_INVALIDATE_GOAL:
  718. - case OP_VALIDATE_GOAL:
  719. case OP_SCRAMBLE_MESSAGES:
  720. case OP_UNSCRAMBLE_MESSAGES:
  721. case OP_ENABLE_BUILTIN_MESSAGES:
  722. case OP_DISABLE_BUILTIN_MESSAGES:
  723. + case OP_SET_DEATH_MESSAGE:
  724. case OP_SET_PERSONA:
  725. - return CHANGE_SUBCATEGORY_MESSAGING_AND_MISSION_GOALS;
  726. -
  727. + return CHANGE_SUBCATEGORY_MESSAGING;
  728. +
  729. +
  730. case OP_ADD_GOAL:
  731. case OP_REMOVE_GOAL:
  732. case OP_CLEAR_GOALS:
  733. case OP_GOOD_REARM_TIME:
  734. case OP_GOOD_SECONDARY_TIME:
  735. - case OP_CHANGE_IFF:
  736. case OP_CHANGE_AI_CLASS:
  737. + case OP_PLAYER_USE_AI:
  738. + case OP_PLAYER_NOT_USE_AI:
  739. + case OP_SET_PLAYER_ORDERS:
  740. + case OP_CAP_WAYPOINT_SPEED:
  741. + return CHANGE_SUBCATEGORY_AI_CONTROL;
  742. +
  743. +
  744. +
  745. case OP_PROTECT_SHIP:
  746. case OP_UNPROTECT_SHIP:
  747. case OP_BEAM_PROTECT_SHIP:
  748. case OP_BEAM_UNPROTECT_SHIP:
  749. case OP_TURRET_PROTECT_SHIP:
  750. case OP_TURRET_UNPROTECT_SHIP:
  751. + case OP_SHIP_INVISIBLE:
  752. + case OP_SHIP_VISIBLE:
  753. + case OP_SHIP_STEALTHY:
  754. + case OP_SHIP_UNSTEALTHY:
  755. + case OP_FRIENDLY_STEALTH_INVISIBLE:
  756. + case OP_FRIENDLY_STEALTH_VISIBLE:
  757. + case OP_PRIMITIVE_SENSORS_SET_RANGE:
  758. + case OP_SHIP_BOMB_TARGETABLE:
  759. + case OP_SHIP_BOMB_UNTARGETABLE:
  760. case OP_KAMIKAZE:
  761. - case OP_PLAYER_USE_AI:
  762. - case OP_PLAYER_NOT_USE_AI:
  763. - case OP_ALLOW_TREASON:
  764. - case OP_SET_PLAYER_ORDERS:
  765. + case OP_CHANGE_IFF:
  766. case OP_CHANGE_IFF_COLOR:
  767. - case OP_FORCE_GLIDE:
  768. + case OP_ADD_REMOVE_ESCORT:
  769. + case OP_SHIP_CHANGE_ALT_NAME:
  770. + case OP_SHIP_CHANGE_CALLSIGN:
  771. + case OP_SHIP_TAG:
  772. + case OP_SHIP_UNTAG:
  773. + case OP_SET_ARRIVAL_INFO:
  774. + case OP_SET_DEPARTURE_INFO:
  775. + return CHANGE_SUBCATEGORY_SHIP_STATUS;
  776. +
  777. + case OP_SET_WEAPON_ENERGY:
  778. + case OP_SET_SHIELD_ENERGY:
  779. case OP_SET_PLAYER_THROTTLE_SPEED:
  780. - return CHANGE_SUBCATEGORY_AI_AND_IFF;
  781. -
  782. - case OP_SABOTAGE_SUBSYSTEM:
  783. - case OP_REPAIR_SUBSYSTEM:
  784. - case OP_SET_SUBSYSTEM_STRNGTH:
  785. - case OP_DESTROY_SUBSYS_INSTANTLY:
  786. - case OP_SUBSYS_SET_RANDOM:
  787. - case OP_SELF_DESTRUCT:
  788. - case OP_DESTROY_INSTANTLY:
  789. - case OP_TRANSFER_CARGO:
  790. - case OP_EXCHANGE_CARGO:
  791. - case OP_SET_CARGO:
  792. - case OP_JETTISON_CARGO:
  793. - case OP_SET_DOCKED:
  794. - case OP_CARGO_NO_DEPLETE:
  795. - case OP_SET_SCANNED:
  796. - case OP_SET_UNSCANNED:
  797. - case OP_LOCK_ROTATING_SUBSYSTEM:
  798. - case OP_FREE_ROTATING_SUBSYSTEM:
  799. - case OP_REVERSE_ROTATING_SUBSYSTEM:
  800. - case OP_ROTATING_SUBSYS_SET_TURN_TIME:
  801. - case OP_TRIGGER_SUBMODEL_ANIMATION:
  802. + case OP_SET_AFTERBURNER_ENERGY:
  803. + case OP_SET_SUBSPACE_DRIVE:
  804. + case OP_SET_SPECIAL_WARPOUT_NAME:
  805. + case OP_SET_PRIMARY_WEAPON: // Karajorma
  806. + case OP_SET_SECONDARY_WEAPON: // Karajorma
  807. case OP_SET_PRIMARY_AMMO: // Karajorma
  808. case OP_SET_SECONDARY_AMMO: // Karajorma
  809. - case OP_SET_PRIMARY_WEAPON: // Karajorma
  810. - case OP_SET_SECONDARY_WEAPON: // Karajorma
  811. case OP_SET_NUM_COUNTERMEASURES: // Karajorma
  812. case OP_LOCK_PRIMARY_WEAPON:
  813. case OP_UNLOCK_PRIMARY_WEAPON:
  814. case OP_LOCK_SECONDARY_WEAPON:
  815. case OP_UNLOCK_SECONDARY_WEAPON:
  816. - case OP_CHANGE_SUBSYSTEM_NAME:
  817. case OP_LOCK_AFTERBURNER: // KeldorKatarn
  818. case OP_UNLOCK_AFTERBURNER: // KeldorKatarn
  819. - case OP_SET_AFTERBURNER_ENERGY:
  820. - case OP_SET_WEAPON_ENERGY:
  821. - case OP_SET_SHIELD_ENERGY:
  822. + case OP_SHIELDS_ON:
  823. + case OP_SHIELDS_OFF:
  824. + case OP_FORCE_GLIDE:
  825. case OP_DISABLE_ETS:
  826. case OP_ENABLE_ETS:
  827. - return CHANGE_SUBCATEGORY_SUBSYSTEMS_AND_CARGO;
  828. -
  829. + case OP_WARP_BROKEN:
  830. + case OP_WARP_NOT_BROKEN:
  831. + case OP_WARP_NEVER:
  832. + case OP_WARP_ALLOWED:
  833. +
  834. + return CHANGE_SUBCATEGORY_SHIELDS_ENGINES_AND_WEAPONS;
  835. +
  836. case OP_SHIP_INVULNERABLE:
  837. case OP_SHIP_VULNERABLE:
  838. - case OP_SHIP_BOMB_TARGETABLE:
  839. - case OP_SHIP_BOMB_UNTARGETABLE:
  840. case OP_SHIP_GUARDIAN:
  841. case OP_SHIP_NO_GUARDIAN:
  842. case OP_SHIP_GUARDIAN_THRESHOLD:
  843. case OP_SHIP_SUBSYS_GUARDIAN_THRESHOLD:
  844. - case OP_SHIP_INVISIBLE:
  845. - case OP_SHIP_VISIBLE:
  846. - case OP_SHIP_STEALTHY:
  847. - case OP_SHIP_UNSTEALTHY:
  848. - case OP_FRIENDLY_STEALTH_INVISIBLE:
  849. - case OP_FRIENDLY_STEALTH_VISIBLE:
  850. + case OP_SELF_DESTRUCT:
  851. + case OP_DESTROY_INSTANTLY:
  852. + case OP_DESTROY_SUBSYS_INSTANTLY:
  853. + case OP_SABOTAGE_SUBSYSTEM:
  854. + case OP_REPAIR_SUBSYSTEM:
  855. + case OP_SHIP_COPY_DAMAGE:
  856. + case OP_SET_SUBSYSTEM_STRNGTH:
  857. + case OP_SUBSYS_SET_RANDOM:
  858. + case OP_LOCK_ROTATING_SUBSYSTEM:
  859. + case OP_FREE_ROTATING_SUBSYSTEM:
  860. + case OP_REVERSE_ROTATING_SUBSYSTEM:
  861. + case OP_ROTATING_SUBSYS_SET_TURN_TIME:
  862. + case OP_TRIGGER_SUBMODEL_ANIMATION:
  863. + case OP_CHANGE_SUBSYSTEM_NAME:
  864. case OP_SHIP_SUBSYS_TARGETABLE:
  865. case OP_SHIP_SUBSYS_UNTARGETABLE:
  866. case OP_SHIP_SUBSYS_NO_REPLACE:
  867. case OP_SHIP_SUBSYS_NO_LIVE_DEBRIS:
  868. case OP_SHIP_SUBSYS_VANISHED:
  869. case OP_SHIP_SUBSYS_IGNORE_IF_DEAD:
  870. - case OP_WARP_BROKEN:
  871. - case OP_WARP_NOT_BROKEN:
  872. - case OP_WARP_NEVER:
  873. - case OP_WARP_ALLOWED:
  874. - case OP_SET_SUBSPACE_DRIVE:
  875. + case OP_AWACS_SET_RADIUS:
  876. + return CHANGE_SUBCATEGORY_SUBSYSTEMS;
  877. +
  878. + case OP_TRANSFER_CARGO:
  879. + case OP_EXCHANGE_CARGO:
  880. + case OP_SET_CARGO:
  881. + case OP_JETTISON_CARGO:
  882. + case OP_SET_DOCKED:
  883. + case OP_CARGO_NO_DEPLETE:
  884. + case OP_SET_SCANNED:
  885. + case OP_SET_UNSCANNED:
  886. + return CHANGE_SUBCATEGORY_CARGO;
  887. +
  888. +
  889. case OP_SET_ARMOR_TYPE:
  890. - case OP_ADD_TO_COLGROUP:
  891. - case OP_REMOVE_FROM_COLGROUP:
  892. - case OP_GET_COLGROUP_ID:
  893. - case OP_SHIP_EFFECT:
  894. - return CHANGE_SUBCATEGORY_SHIP_STATUS;
  895. -
  896. + case OP_WEAPON_SET_DAMAGE_TYPE:
  897. + case OP_SHIP_SET_DAMAGE_TYPE:
  898. + case OP_SHIP_SHOCKWAVE_SET_DAMAGE_TYPE:
  899. + case OP_FIELD_SET_DAMAGE_TYPE:
  900. + return CHANGE_SUBCATEGORY_ARMOR_AND_DAMAGE_TYPES;
  901. +
  902. case OP_BEAM_FIRE:
  903. case OP_BEAM_FIRE_COORDS:
  904. case OP_BEAM_FREE:
  905. @@ -26946,36 +27016,24 @@
  906. case OP_TURRET_SUBSYS_TARGET_ENABLE:
  907. return CHANGE_SUBCATEGORY_BEAMS_AND_TURRETS;
  908.  
  909. - case OP_RED_ALERT:
  910. - case OP_END_MISSION:
  911. - case OP_FORCE_JUMP:
  912. - case OP_END_CAMPAIGN:
  913. - case OP_SET_DEBRIEFING_TOGGLED:
  914. - case OP_GRANT_PROMOTION:
  915. - case OP_GRANT_MEDAL:
  916. - case OP_ALLOW_SHIP:
  917. - case OP_ALLOW_WEAPON:
  918. - case OP_TECH_ADD_SHIP:
  919. - case OP_TECH_ADD_WEAPON:
  920. - case OP_TECH_ADD_INTEL:
  921. - case OP_TECH_RESET_TO_DEFAULT:
  922. - case OP_CHANGE_PLAYER_SCORE:
  923. - case OP_CHANGE_TEAM_SCORE:
  924. - case OP_SET_RESPAWNS:
  925. - return CHANGE_SUBCATEGORY_MISSION_AND_CAMPAIGN;
  926.  
  927. - case OP_DONT_COLLIDE_INVISIBLE:
  928. - case OP_COLLIDE_INVISIBLE:
  929. +
  930. case OP_CHANGE_SHIP_CLASS:
  931. + case OP_DEACTIVATE_GLOW_MAPS:
  932. + case OP_ACTIVATE_GLOW_MAPS:
  933. case OP_DEACTIVATE_GLOW_POINTS:
  934. case OP_ACTIVATE_GLOW_POINTS:
  935. - case OP_DEACTIVATE_GLOW_MAPS:
  936. - case OP_ACTIVATE_GLOW_MAPS:
  937. case OP_DEACTIVATE_GLOW_POINT_BANK:
  938. case OP_ACTIVATE_GLOW_POINT_BANK:
  939. case OP_SET_THRUSTERS:
  940. + case OP_DONT_COLLIDE_INVISIBLE:
  941. + case OP_COLLIDE_INVISIBLE:
  942. + case OP_ADD_TO_COLGROUP:
  943. + case OP_REMOVE_FROM_COLGROUP:
  944. + case OP_GET_COLGROUP_ID:
  945. return CHANGE_SUBCATEGORY_MODELS_AND_TEXTURES;
  946.  
  947. +
  948. case OP_SET_OBJECT_POSITION:
  949. case OP_SET_OBJECT_ORIENTATION:
  950. case OP_SET_OBJECT_FACING:
  951. @@ -26986,8 +27044,31 @@
  952. case OP_SHIP_MANEUVER:
  953. case OP_SHIP_ROT_MANEUVER:
  954. case OP_SHIP_LAT_MANEUVER:
  955. + case OP_SET_MOBILE:
  956. + case OP_SET_IMMOBILE:
  957. return CHANGE_SUBCATEGORY_COORDINATE_MANIPULATION;
  958.  
  959. + case OP_INVALIDATE_GOAL:
  960. + case OP_VALIDATE_GOAL:
  961. + case OP_RED_ALERT:
  962. + case OP_END_MISSION:
  963. + case OP_FORCE_JUMP:
  964. + case OP_END_CAMPAIGN:
  965. + case OP_SET_DEBRIEFING_TOGGLED:
  966. + case OP_ALLOW_TREASON:
  967. + case OP_GRANT_PROMOTION:
  968. + case OP_GRANT_MEDAL:
  969. + case OP_ALLOW_SHIP:
  970. + case OP_ALLOW_WEAPON:
  971. + case OP_TECH_ADD_SHIP:
  972. + case OP_TECH_ADD_WEAPON:
  973. + case OP_TECH_ADD_INTEL:
  974. + case OP_TECH_RESET_TO_DEFAULT:
  975. + case OP_CHANGE_PLAYER_SCORE:
  976. + case OP_CHANGE_TEAM_SCORE:
  977. + case OP_SET_RESPAWNS:
  978. + return CHANGE_SUBCATEGORY_MISSION_AND_CAMPAIGN;
  979. +
  980. case OP_CHANGE_SOUNDTRACK:
  981. case OP_PLAY_SOUND_FROM_TABLE:
  982. case OP_PLAY_SOUND_FROM_FILE:
  983. @@ -26997,99 +27078,81 @@
  984. case OP_ADJUST_AUDIO_VOLUME:
  985. return CHANGE_SUBCATEGORY_MUSIC_AND_SOUND;
  986.  
  987. - case OP_ADD_REMOVE_ESCORT:
  988. - case OP_AWACS_SET_RADIUS:
  989. - case OP_PRIMITIVE_SENSORS_SET_RANGE:
  990. - case OP_CAP_WAYPOINT_SPEED:
  991. - case OP_SET_SPECIAL_WARPOUT_NAME:
  992. - case OP_SHIP_CREATE:
  993. - case OP_WEAPON_CREATE:
  994. - case OP_SHIP_VANISH:
  995. - case OP_SHIP_VAPORIZE:
  996. - case OP_SHIP_NO_VAPORIZE:
  997. - case OP_SET_EXPLOSION_OPTION:
  998. - case OP_SHIELDS_ON:
  999. - case OP_SHIELDS_OFF:
  1000. - case OP_SHIP_TAG:
  1001. - case OP_SHIP_UNTAG:
  1002. - case OP_DAMAGED_ESCORT_LIST:
  1003. - case OP_DAMAGED_ESCORT_LIST_ALL:
  1004. - case OP_SET_SUPPORT_SHIP:
  1005. - case OP_SET_ARRIVAL_INFO:
  1006. - case OP_SET_DEPARTURE_INFO:
  1007. - case OP_SHIP_CHANGE_ALT_NAME:
  1008. - case OP_SHIP_CHANGE_CALLSIGN:
  1009. - case OP_SET_DEATH_MESSAGE:
  1010. - case OP_EXPLOSION_EFFECT:
  1011. - case OP_WARP_EFFECT:
  1012. - case OP_SHIP_COPY_DAMAGE:
  1013. - case OP_REMOVE_WEAPONS:
  1014. - case OP_WEAPON_SET_DAMAGE_TYPE:
  1015. - case OP_SHIP_SET_DAMAGE_TYPE:
  1016. - case OP_SHIP_SHOCKWAVE_SET_DAMAGE_TYPE:
  1017. - case OP_FIELD_SET_DAMAGE_TYPE:
  1018. - case OP_SET_MOBILE:
  1019. - case OP_SET_IMMOBILE:
  1020. - return CHANGE_SUBCATEGORY_SPECIAL;
  1021.  
  1022. - case OP_SET_SKYBOX_MODEL:
  1023. - case OP_SET_SKYBOX_ORIENT:
  1024. - case OP_MISSION_SET_NEBULA:
  1025. - case OP_ADD_BACKGROUND_BITMAP:
  1026. - case OP_REMOVE_BACKGROUND_BITMAP:
  1027. - case OP_ADD_SUN_BITMAP:
  1028. - case OP_REMOVE_SUN_BITMAP:
  1029. - case OP_NEBULA_CHANGE_STORM:
  1030. - case OP_NEBULA_TOGGLE_POOF:
  1031. - case OP_SET_AMBIENT_LIGHT:
  1032. - case OP_SET_POST_EFFECT:
  1033. - case OP_MISSION_SET_SUBSPACE:
  1034. - return CHANGE_SUBCATEGORY_BACKGROUND_AND_NEBULA;
  1035. -
  1036. case OP_HUD_DISABLE:
  1037. case OP_HUD_DISABLE_EXCEPT_MESSAGES:
  1038. case OP_HUD_SET_TEXT:
  1039. case OP_HUD_SET_TEXT_NUM:
  1040. - case OP_HUD_SET_COORDS:
  1041. + case OP_HUD_SET_MESSAGE:
  1042. + case OP_HUD_SET_DIRECTIVE:
  1043. case OP_HUD_SET_FRAME:
  1044. case OP_HUD_SET_COLOR:
  1045. - case OP_HUD_SET_MAX_TARGETING_RANGE:
  1046. + case OP_HUD_SET_COORDS:
  1047. case OP_HUD_DISPLAY_GAUGE:
  1048. - case OP_HUD_SET_MESSAGE:
  1049. - case OP_HUD_SET_DIRECTIVE:
  1050. case OP_HUD_GAUGE_SET_ACTIVE:
  1051. case OP_HUD_ACTIVATE_GAUGE_TYPE:
  1052. case OP_HUD_CLEAR_MESSAGES:
  1053. + case OP_HUD_SET_MAX_TARGETING_RANGE:
  1054. return CHANGE_SUBCATEGORY_HUD;
  1055.  
  1056. + case OP_NAV_ADD_WAYPOINT:
  1057. + case OP_NAV_ADD_SHIP:
  1058. + case OP_NAV_DEL:
  1059. + case OP_NAV_HIDE:
  1060. + case OP_NAV_RESTRICT:
  1061. + case OP_NAV_UNHIDE:
  1062. + case OP_NAV_UNRESTRICT:
  1063. + case OP_NAV_SET_VISITED:
  1064. + case OP_NAV_SET_CARRY:
  1065. + case OP_NAV_UNSET_CARRY:
  1066. + case OP_NAV_UNSET_VISITED:
  1067. + case OP_NAV_SET_NEEDSLINK:
  1068. + case OP_NAV_UNSET_NEEDSLINK:
  1069. + case OP_NAV_USECINEMATICS:
  1070. + case OP_NAV_USEAP:
  1071. + return CHANGE_SUBCATEGORY_NAV;
  1072. +
  1073. +
  1074. case OP_CUTSCENES_SET_CUTSCENE_BARS:
  1075. case OP_CUTSCENES_UNSET_CUTSCENE_BARS:
  1076. case OP_CUTSCENES_FADE_IN:
  1077. case OP_CUTSCENES_FADE_OUT:
  1078. case OP_CUTSCENES_SET_CAMERA:
  1079. + case OP_CUTSCENES_SET_CAMERA_POSITION:
  1080. case OP_CUTSCENES_SET_CAMERA_FACING:
  1081. case OP_CUTSCENES_SET_CAMERA_FACING_OBJECT:
  1082. - case OP_CUTSCENES_SET_CAMERA_FOV:
  1083. + case OP_CUTSCENES_SET_CAMERA_ROTATION:
  1084. case OP_CUTSCENES_SET_CAMERA_HOST:
  1085. - case OP_CUTSCENES_SET_CAMERA_POSITION:
  1086. - case OP_CUTSCENES_SET_CAMERA_ROTATION:
  1087. case OP_CUTSCENES_SET_CAMERA_TARGET:
  1088. + case OP_CUTSCENES_SET_CAMERA_FOV:
  1089. case OP_CUTSCENES_SET_FOV:
  1090. case OP_CUTSCENES_GET_FOV:
  1091. case OP_CUTSCENES_RESET_FOV:
  1092. - case OP_CUTSCENES_FORCE_PERSPECTIVE:
  1093. case OP_CUTSCENES_RESET_CAMERA:
  1094. case OP_CUTSCENES_SHOW_SUBTITLE:
  1095. case OP_CUTSCENES_SHOW_SUBTITLE_TEXT:
  1096. case OP_CUTSCENES_SHOW_SUBTITLE_IMAGE:
  1097. case OP_CLEAR_SUBTITLES:
  1098. - case OP_CUTSCENES_SET_TIME_COMPRESSION:
  1099. - case OP_CUTSCENES_RESET_TIME_COMPRESSION:
  1100. + case OP_CUTSCENES_FORCE_PERSPECTIVE:
  1101. case OP_SET_CAMERA_SHUDDER:
  1102. case OP_SUPERNOVA_START:
  1103. case OP_SUPERNOVA_STOP:
  1104. return CHANGE_SUBCATEGORY_CUTSCENES;
  1105.  
  1106. +
  1107. + case OP_SET_SKYBOX_MODEL:
  1108. + case OP_SET_SKYBOX_ORIENT:
  1109. + case OP_MISSION_SET_NEBULA:
  1110. + case OP_MISSION_SET_SUBSPACE:
  1111. + case OP_ADD_BACKGROUND_BITMAP:
  1112. + case OP_REMOVE_BACKGROUND_BITMAP:
  1113. + case OP_ADD_SUN_BITMAP:
  1114. + case OP_REMOVE_SUN_BITMAP:
  1115. + case OP_NEBULA_CHANGE_STORM:
  1116. + case OP_NEBULA_TOGGLE_POOF:
  1117. + case OP_SET_AMBIENT_LIGHT:
  1118. + return CHANGE_SUBCATEGORY_BACKGROUND_AND_NEBULA;
  1119. +
  1120. case OP_JUMP_NODE_SET_JUMPNODE_NAME: //CommanderDJ
  1121. case OP_JUMP_NODE_SET_JUMPNODE_COLOR:
  1122. case OP_JUMP_NODE_SET_JUMPNODE_MODEL:
  1123. @@ -27097,34 +27160,76 @@
  1124. case OP_JUMP_NODE_HIDE_JUMPNODE:
  1125. return CHANGE_SUBCATEGORY_JUMP_NODES;
  1126.  
  1127. - case OP_NAV_ADD_WAYPOINT:
  1128. - case OP_NAV_ADD_SHIP:
  1129. - case OP_NAV_DEL:
  1130. - case OP_NAV_HIDE:
  1131. - case OP_NAV_RESTRICT:
  1132. - case OP_NAV_UNHIDE:
  1133. - case OP_NAV_UNRESTRICT:
  1134. - case OP_NAV_SET_VISITED:
  1135. - case OP_NAV_SET_CARRY:
  1136. - case OP_NAV_UNSET_CARRY:
  1137. - case OP_NAV_UNSET_VISITED:
  1138. - case OP_NAV_SET_NEEDSLINK:
  1139. - case OP_NAV_UNSET_NEEDSLINK:
  1140. - case OP_NAV_USECINEMATICS:
  1141. - case OP_NAV_USEAP:
  1142. - return CHANGE_SUBCATEGORY_NAV;
  1143. + case OP_SET_POST_EFFECT:
  1144. + case OP_SHIP_EFFECT:
  1145. + case OP_SHIP_CREATE:
  1146. + case OP_WEAPON_CREATE:
  1147. + case OP_SHIP_VANISH:
  1148. + case OP_SHIP_VAPORIZE:
  1149. + case OP_SHIP_NO_VAPORIZE:
  1150. + case OP_SET_EXPLOSION_OPTION:
  1151. + case OP_EXPLOSION_EFFECT:
  1152. + case OP_WARP_EFFECT:
  1153. + case OP_REMOVE_WEAPONS:
  1154. + case OP_CUTSCENES_SET_TIME_COMPRESSION:
  1155. + case OP_CUTSCENES_RESET_TIME_COMPRESSION:
  1156. + return CHANGE_SUBCATEGORY_SPECIAL_EFFECTS;
  1157.  
  1158. + case OP_MODIFY_VARIABLE:
  1159. + case OP_GET_VARIABLE_BY_INDEX:
  1160. + case OP_SET_VARIABLE_BY_INDEX:
  1161. + case OP_INT_TO_STRING:
  1162. + case OP_STRING_CONCATENATE:
  1163. + case OP_STRING_GET_SUBSTRING:
  1164. + case OP_STRING_SET_SUBSTRING:
  1165. + return CHANGE_SUBCATEGORY_VARIABLES;
  1166. +
  1167. + case OP_DAMAGED_ESCORT_LIST:
  1168. + case OP_DAMAGED_ESCORT_LIST_ALL:
  1169. + case OP_SET_SUPPORT_SHIP:
  1170. + case OP_SCRIPT_EVAL:
  1171. + return CHANGE_SUBCATEGORY_OTHER;
  1172. +
  1173. +
  1174. + case OP_NUM_SHIPS_IN_BATTLE:
  1175. + case OP_NUM_SHIPS_IN_WING:
  1176. + case OP_DIRECTIVE_VALUE:
  1177. + return STATUS_SUBCATEGORY_MISSION;
  1178. +
  1179. + case OP_WAS_PROMOTION_GRANTED:
  1180. + case OP_WAS_MEDAL_GRANTED:
  1181. + case OP_SKILL_LEVEL_AT_LEAST:
  1182. + case OP_NUM_KILLS:
  1183. + case OP_NUM_ASSISTS:
  1184. + case OP_NUM_TYPE_KILLS:
  1185. + case OP_NUM_CLASS_KILLS:
  1186. + case OP_SHIP_SCORE:
  1187. + case OP_LAST_ORDER_TIME:
  1188. + return STATUS_SUBCATEGORY_PLAYER;
  1189. +
  1190. case OP_NUM_PLAYERS:
  1191. case OP_TEAM_SCORE:
  1192. case OP_SHIP_DEATHS:
  1193. case OP_RESPAWNS_LEFT:
  1194. case OP_IS_PLAYER:
  1195. - case OP_NUM_SHIPS_IN_BATTLE:
  1196. - case OP_NUM_SHIPS_IN_WING:
  1197. - case OP_LAST_ORDER_TIME:
  1198. - case OP_DIRECTIVE_VALUE:
  1199. - return STATUS_SUBCATEGORY_MULTIPLAYER_AND_MISSION_CONFIG;
  1200. + return STATUS_SUBCATEGORY_MULTIPLAYER;
  1201.  
  1202. + case OP_HAS_BEEN_TAGGED_DELAY:
  1203. + case OP_IS_TAGGED:
  1204. + case OP_IS_SHIP_VISIBLE:
  1205. + case OP_IS_SHIP_STEALTHY:
  1206. + case OP_IS_FRIENDLY_STEALTH_VISIBLE:
  1207. + case OP_IS_IFF:
  1208. + case OP_IS_AI_CLASS:
  1209. + case OP_IS_SHIP_CLASS:
  1210. + case OP_IS_SHIP_TYPE:
  1211. + case OP_CURRENT_SPEED:
  1212. + case OP_GET_THROTTLE_SPEED:
  1213. + case OP_IS_FACING:
  1214. + case OP_IS_IN_MISSION:
  1215. + case OP_NAV_ISLINKED:
  1216. + return STATUS_SUBCATEGORY_SHIP_STATUS;
  1217. +
  1218. case OP_SHIELD_RECHARGE_PCT:
  1219. case OP_ENGINE_RECHARGE_PCT:
  1220. case OP_WEAPON_RECHARGE_PCT:
  1221. @@ -27149,22 +27254,6 @@
  1222. case OP_IS_CARGO:
  1223. return STATUS_SUBCATEGORY_CARGO;
  1224.  
  1225. - case OP_HAS_BEEN_TAGGED_DELAY:
  1226. - case OP_IS_TAGGED:
  1227. - case OP_IS_SHIP_VISIBLE:
  1228. - case OP_IS_SHIP_STEALTHY:
  1229. - case OP_IS_FRIENDLY_STEALTH_VISIBLE:
  1230. - case OP_IS_IFF:
  1231. - case OP_IS_AI_CLASS:
  1232. - case OP_IS_SHIP_CLASS:
  1233. - case OP_IS_SHIP_TYPE:
  1234. - case OP_CURRENT_SPEED:
  1235. - case OP_GET_THROTTLE_SPEED:
  1236. - case OP_IS_FACING:
  1237. - case OP_IS_IN_MISSION:
  1238. - case OP_NAV_ISLINKED:
  1239. - return STATUS_SUBCATEGORY_SHIP_STATUS;
  1240. -
  1241. case OP_SHIELDS_LEFT:
  1242. case OP_HITS_LEFT:
  1243. case OP_HITS_LEFT_SUBSYSTEM:
  1244. @@ -27190,16 +27279,15 @@
  1245. case OP_SPECIAL_WARP_DISTANCE:
  1246. case OP_IS_IN_BOX:
  1247. return STATUS_SUBCATEGORY_DISTANCE_AND_COORDINATES;
  1248. +
  1249. + case OP_STRING_TO_INT:
  1250. + case OP_STRING_GET_LENGTH:
  1251. + return STATUS_SUBCATEGORY_VARIABLES;
  1252. +
  1253. + case OP_SCRIPT_EVAL_STRING:
  1254. + case OP_SCRIPT_EVAL_NUM:
  1255. + return STATUS_SUBCATEGORY_OTHER;
  1256.  
  1257. - case OP_WAS_PROMOTION_GRANTED:
  1258. - case OP_WAS_MEDAL_GRANTED:
  1259. - case OP_NUM_KILLS:
  1260. - case OP_NUM_ASSISTS:
  1261. - case OP_NUM_TYPE_KILLS:
  1262. - case OP_NUM_CLASS_KILLS:
  1263. - case OP_SHIP_SCORE:
  1264. - case OP_SKILL_LEVEL_AT_LEAST:
  1265. - return STATUS_SUBCATEGORY_KILLS_AND_SCORING;
  1266.  
  1267. default:
  1268. return -1; // sexp doesn't have a subcategory
  1269. @@ -30665,28 +30753,38 @@
  1270. // if people so choose - see sexp.h)
  1271. op_menu_struct op_submenu[] =
  1272. {
  1273. - { "Messaging and Mission Goals", CHANGE_SUBCATEGORY_MESSAGING_AND_MISSION_GOALS },
  1274. - { "AI and IFF", CHANGE_SUBCATEGORY_AI_AND_IFF },
  1275. - { "Subsystems and Cargo", CHANGE_SUBCATEGORY_SUBSYSTEMS_AND_CARGO },
  1276. + { "Messages and Personas", CHANGE_SUBCATEGORY_MESSAGING },
  1277. + { "AI Control", CHANGE_SUBCATEGORY_AI_CONTROL },
  1278. { "Ship Status", CHANGE_SUBCATEGORY_SHIP_STATUS },
  1279. + { "Weapons, Shields, and Engines", CHANGE_SUBCATEGORY_SHIELDS_ENGINES_AND_WEAPONS },
  1280. + { "Subsystems and Health", CHANGE_SUBCATEGORY_SUBSYSTEMS },
  1281. + { "Cargo", CHANGE_SUBCATEGORY_CARGO },
  1282. + { "Armor and Damage Types", CHANGE_SUBCATEGORY_ARMOR_AND_DAMAGE_TYPES },
  1283. { "Beams and Turrets", CHANGE_SUBCATEGORY_BEAMS_AND_TURRETS },
  1284. - { "Mission and Campaign", CHANGE_SUBCATEGORY_MISSION_AND_CAMPAIGN },
  1285. { "Models and Textures", CHANGE_SUBCATEGORY_MODELS_AND_TEXTURES },
  1286. { "Coordinate Manipulation", CHANGE_SUBCATEGORY_COORDINATE_MANIPULATION },
  1287. + { "Mission and Campaign", CHANGE_SUBCATEGORY_MISSION_AND_CAMPAIGN },
  1288. { "Music and Sound", CHANGE_SUBCATEGORY_MUSIC_AND_SOUND },
  1289. - { "Hud", CHANGE_SUBCATEGORY_HUD },
  1290. - { "Nav", CHANGE_SUBCATEGORY_NAV },
  1291. + { "HUD", CHANGE_SUBCATEGORY_HUD },
  1292. + { "Nav Points", CHANGE_SUBCATEGORY_NAV },
  1293. { "Cutscenes", CHANGE_SUBCATEGORY_CUTSCENES },
  1294. + { "Backgrounds and Nebulae", CHANGE_SUBCATEGORY_BACKGROUND_AND_NEBULA },
  1295. { "Jump Nodes", CHANGE_SUBCATEGORY_JUMP_NODES },
  1296. - { "Backgrounds and Nebula", CHANGE_SUBCATEGORY_BACKGROUND_AND_NEBULA },
  1297. - { "Special", CHANGE_SUBCATEGORY_SPECIAL },
  1298. - { "Multiplayer and Mission Config", STATUS_SUBCATEGORY_MULTIPLAYER_AND_MISSION_CONFIG },
  1299. + { "Special Effects", CHANGE_SUBCATEGORY_SPECIAL_EFFECTS },
  1300. + { "Variables", CHANGE_SUBCATEGORY_VARIABLES },
  1301. + { "Other", CHANGE_SUBCATEGORY_OTHER },
  1302. + { "Mission", STATUS_SUBCATEGORY_MISSION },
  1303. + { "Player", STATUS_SUBCATEGORY_PLAYER },
  1304. + { "Multiplayer", STATUS_SUBCATEGORY_MULTIPLAYER },
  1305. + { "Ship Status", STATUS_SUBCATEGORY_SHIP_STATUS },
  1306. { "Weapons, Shields, and Engines", STATUS_SUBCATEGORY_SHIELDS_ENGINES_AND_WEAPONS },
  1307. { "Cargo", STATUS_SUBCATEGORY_CARGO },
  1308. - { "Ship Status", STATUS_SUBCATEGORY_SHIP_STATUS },
  1309. { "Damage", STATUS_SUBCATEGORY_DAMAGE },
  1310. { "Distance and Coordinates", STATUS_SUBCATEGORY_DISTANCE_AND_COORDINATES },
  1311. - { "Kills and Scoring", STATUS_SUBCATEGORY_KILLS_AND_SCORING },
  1312. + { "Variables", STATUS_SUBCATEGORY_VARIABLES },
  1313. + { "Other", STATUS_SUBCATEGORY_OTHER },
  1314. +
  1315. +
  1316. };
  1317. int Num_sexp_help = sizeof(Sexp_help) / sizeof(sexp_help_struct);
  1318. int Num_op_menus = sizeof(op_menu) / sizeof(op_menu_struct);
  1319. Index: sexp.h
  1320. ===================================================================
  1321. --- sexp.h (revision 9165)
  1322. +++ sexp.h (working copy)
  1323. @@ -171,29 +171,39 @@
  1324. // will return the subcategory for each sexp that uses it, and the submenu name in the
  1325. // op_submenu[] array in sexp.cpp.
  1326. #define SUBCATEGORY_MASK 0x00ff
  1327. -#define CHANGE_SUBCATEGORY_MESSAGING_AND_MISSION_GOALS (0x0000 | OP_CATEGORY_CHANGE)
  1328. -#define CHANGE_SUBCATEGORY_AI_AND_IFF (0x0001 | OP_CATEGORY_CHANGE)
  1329. -#define CHANGE_SUBCATEGORY_SUBSYSTEMS_AND_CARGO (0x0002 | OP_CATEGORY_CHANGE)
  1330. -#define CHANGE_SUBCATEGORY_SHIP_STATUS (0x0003 | OP_CATEGORY_CHANGE)
  1331. -#define CHANGE_SUBCATEGORY_BEAMS_AND_TURRETS (0x0004 | OP_CATEGORY_CHANGE)
  1332. -#define CHANGE_SUBCATEGORY_MISSION_AND_CAMPAIGN (0x0005 | OP_CATEGORY_CHANGE)
  1333. -#define CHANGE_SUBCATEGORY_SPECIAL (0x0006 | OP_CATEGORY_CHANGE)
  1334. -#define CHANGE_SUBCATEGORY_MODELS_AND_TEXTURES (0x0007 | OP_CATEGORY_CHANGE)
  1335. -#define CHANGE_SUBCATEGORY_COORDINATE_MANIPULATION (0x0008 | OP_CATEGORY_CHANGE)
  1336. -#define CHANGE_SUBCATEGORY_MUSIC_AND_SOUND (0x0009 | OP_CATEGORY_CHANGE)
  1337. -#define CHANGE_SUBCATEGORY_HUD (0x000a | OP_CATEGORY_CHANGE)
  1338. -#define CHANGE_SUBCATEGORY_CUTSCENES (0x000b | OP_CATEGORY_CHANGE)
  1339. -#define CHANGE_SUBCATEGORY_JUMP_NODES (0x000c | OP_CATEGORY_CHANGE)
  1340. -#define CHANGE_SUBCATEGORY_BACKGROUND_AND_NEBULA (0x000d | OP_CATEGORY_CHANGE)
  1341. -#define CHANGE_SUBCATEGORY_NAV (0x000e | OP_CATEGORY_CHANGE)
  1342.  
  1343. -#define STATUS_SUBCATEGORY_MULTIPLAYER_AND_MISSION_CONFIG (0x0000 | OP_CATEGORY_STATUS)
  1344. -#define STATUS_SUBCATEGORY_SHIELDS_ENGINES_AND_WEAPONS (0x0001 | OP_CATEGORY_STATUS)
  1345. -#define STATUS_SUBCATEGORY_CARGO (0x0002 | OP_CATEGORY_STATUS)
  1346. +#define CHANGE_SUBCATEGORY_MESSAGING (0x0000 | OP_CATEGORY_CHANGE)
  1347. +#define CHANGE_SUBCATEGORY_AI_CONTROL (0x0001 | OP_CATEGORY_CHANGE)
  1348. +#define CHANGE_SUBCATEGORY_SHIP_STATUS (0x0002 | OP_CATEGORY_CHANGE)
  1349. +#define CHANGE_SUBCATEGORY_SHIELDS_ENGINES_AND_WEAPONS (0x0003 | OP_CATEGORY_CHANGE)
  1350. +#define CHANGE_SUBCATEGORY_SUBSYSTEMS (0x0004 | OP_CATEGORY_CHANGE)
  1351. +#define CHANGE_SUBCATEGORY_CARGO (0x0005 | OP_CATEGORY_CHANGE)
  1352. +#define CHANGE_SUBCATEGORY_ARMOR_AND_DAMAGE_TYPES (0x0006 | OP_CATEGORY_CHANGE)
  1353. +#define CHANGE_SUBCATEGORY_BEAMS_AND_TURRETS (0x0007 | OP_CATEGORY_CHANGE)
  1354. +#define CHANGE_SUBCATEGORY_MODELS_AND_TEXTURES (0x0008 | OP_CATEGORY_CHANGE)
  1355. +#define CHANGE_SUBCATEGORY_COORDINATE_MANIPULATION (0x0009 | OP_CATEGORY_CHANGE)
  1356. +#define CHANGE_SUBCATEGORY_MISSION_AND_CAMPAIGN (0x000A | OP_CATEGORY_CHANGE)
  1357. +#define CHANGE_SUBCATEGORY_MUSIC_AND_SOUND (0x000B | OP_CATEGORY_CHANGE)
  1358. +#define CHANGE_SUBCATEGORY_HUD (0x000C | OP_CATEGORY_CHANGE)
  1359. +#define CHANGE_SUBCATEGORY_NAV (0x000D | OP_CATEGORY_CHANGE)
  1360. +#define CHANGE_SUBCATEGORY_CUTSCENES (0x000E | OP_CATEGORY_CHANGE)
  1361. +#define CHANGE_SUBCATEGORY_BACKGROUND_AND_NEBULA (0x000F | OP_CATEGORY_CHANGE)
  1362. +#define CHANGE_SUBCATEGORY_JUMP_NODES (0x0010 | OP_CATEGORY_CHANGE)
  1363. +#define CHANGE_SUBCATEGORY_SPECIAL_EFFECTS (0x0011 | OP_CATEGORY_CHANGE)
  1364. +#define CHANGE_SUBCATEGORY_VARIABLES (0x0012 | OP_CATEGORY_CHANGE)
  1365. +#define CHANGE_SUBCATEGORY_OTHER (0x0013 | OP_CATEGORY_CHANGE)
  1366. +
  1367. +
  1368. +#define STATUS_SUBCATEGORY_MISSION (0x0000 | OP_CATEGORY_STATUS)
  1369. +#define STATUS_SUBCATEGORY_PLAYER (0x0001 | OP_CATEGORY_STATUS)
  1370. +#define STATUS_SUBCATEGORY_MULTIPLAYER (0x0002 | OP_CATEGORY_STATUS)
  1371. #define STATUS_SUBCATEGORY_SHIP_STATUS (0x0003 | OP_CATEGORY_STATUS)
  1372. -#define STATUS_SUBCATEGORY_DAMAGE (0x0004 | OP_CATEGORY_STATUS)
  1373. -#define STATUS_SUBCATEGORY_DISTANCE_AND_COORDINATES (0x0005 | OP_CATEGORY_STATUS)
  1374. -#define STATUS_SUBCATEGORY_KILLS_AND_SCORING (0x0006 | OP_CATEGORY_STATUS)
  1375. +#define STATUS_SUBCATEGORY_SHIELDS_ENGINES_AND_WEAPONS (0x0004 | OP_CATEGORY_STATUS)
  1376. +#define STATUS_SUBCATEGORY_CARGO (0x0005 | OP_CATEGORY_STATUS)
  1377. +#define STATUS_SUBCATEGORY_DAMAGE (0x0006 | OP_CATEGORY_STATUS)
  1378. +#define STATUS_SUBCATEGORY_DISTANCE_AND_COORDINATES (0x0007 | OP_CATEGORY_STATUS)
  1379. +#define STATUS_SUBCATEGORY_VARIABLES (0x0008 | OP_CATEGORY_STATUS)
  1380. +#define STATUS_SUBCATEGORY_OTHER (0x0009 | OP_CATEGORY_STATUS)
  1381.  
  1382.  
  1383. #define OP_PLUS (0x0000 | OP_CATEGORY_ARITHMETIC)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement