Mission00.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. /*
  2. ** Command & Conquer Renegade(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (at your option) any later version.
  9. **
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. /******************************************************************************
  19. *
  20. * FILE
  21. * Mission00.h
  22. *
  23. * DESCRIPTION
  24. * Mission 0 definitions
  25. *
  26. * PROGRAMMER
  27. * Design Team
  28. *
  29. * VERSION INFO
  30. * $Author: Rich_d $
  31. * $Revision: 45 $
  32. * $Modtime: 11/28/01 10:47a $
  33. * $Archive: /Commando/Code/Scripts/Mission00.h $
  34. *
  35. ******************************************************************************/
  36. #ifndef _MISSION0_H_
  37. #define _MISSION0_H_
  38. // Defines and Includes
  39. #include "toolkit.h"
  40. // Available Characters
  41. #define MTU_CONTROLLER 400099
  42. #define MTU_LOGAN 400005
  43. #define MTU_GATE_GUARD 400006
  44. #define MTU_SYDNEY 400007
  45. #define MTU_GUNNER 400008
  46. #define MTU_HOTWIRE 400009
  47. #define MTU_MOBIUS 400010
  48. #define MTU_PETROVA 400011
  49. #define MTU_GDI_01 400012
  50. #define MTU_GDI_02 400013
  51. #define MTU_BARRACKS 450938
  52. #define MTU_POWERPLANT 450937
  53. #define MTU_TOWER 450939
  54. #define MTU_SPAWN_01 400157
  55. #define MTU_SPAWN_02 400158
  56. #define MTU_SPAWN_03 400159
  57. // Available Zones
  58. #define MTU_ZONE_JUMP_HUD_INFO 300001
  59. #define MTU_ZONE_TRIGGER_SNEAK_TRAINING 400014
  60. #define MTU_ZONE_TRIGGER_JUMP_TRAINING 400015
  61. #define MTU_ZONE_TRIGGER_EVA_TRAINING 400016
  62. #define MTU_ZONE_TRIGGER_MOVE_TO_AGT 400017
  63. #define MTU_ZONE_TRIGGER_KEYCARD_TRAINING 400018
  64. #define MTU_ZONE_RESET_SYDNEY 400019
  65. #define MTU_ZONE_START_SYDNEY 400020
  66. #define MTU_ZONE_INTRODUCE_BARRACKS 400021
  67. #define MTU_ZONE_RESET_GUNNER 400022
  68. #define MTU_ZONE_START_GUNNER 400023
  69. #define MTU_ZONE_SETUP_RANGE 400024
  70. #define MTU_ZONE_RESET_RANGE 400025
  71. #define MTU_ZONE_GUNNER_NEXT_WEAPON 400026
  72. #define MTU_ZONE_BEACON_PLACEMENT 400027
  73. #define MTU_ZONE_INTRODUCE_WEAPONS_FACTORY 400028
  74. #define MTU_ZONE_RESET_HOTWIRE_01 400029
  75. #define MTU_ZONE_RESET_HOTWIRE_02 400030
  76. #define MTU_ZONE_START_HOTWIRE 400031
  77. #define MTU_ZONE_VEHICLE_APPROACHED 400032
  78. #define MTU_ZONE_CHECKPOINT_01 400033
  79. #define MTU_ZONE_CHECKPOINT_02 400034
  80. #define MTU_ZONE_CHECKPOINT_03 400035
  81. #define MTU_ZONE_CHECKPOINT_04 400036
  82. #define MTU_ZONE_INTRODUCE_REFINERY 400037
  83. #define MTU_ZONE_RESET_IGNATIO 400038
  84. #define MTU_ZONE_START_IGNATIO 400039
  85. #define MTU_ZONE_INTRODUCE_POWER_PLANT 400040
  86. #define MTU_ZONE_RESET_PETROVA 400041
  87. #define MTU_ZONE_START_PETROVA 400042
  88. #define MTU_ZONE_START_INVASION_01 400043
  89. #define MTU_ZONE_START_INVASION_02 400044
  90. // Available Waypath IDs
  91. #define MTU_WAYPATH_LOGAN_JUMP_TRAINING 400049
  92. #define MTU_WAYPATH_LOGAN_EVA_TRAINING 400067
  93. #define MTU_WAYPATH_GDI_SOLDIER_PATROL 400083
  94. #define MTU_WAYPATH_LOGAN_COURSE_EXTERIOR 400074
  95. #define MTU_WAYPATH_APACHE_FLYOVER 400100
  96. // Obstacle Course Gates
  97. #define MTU_GATE_01 400142
  98. #define MTU_GATE_02 400143
  99. #define MTU_GATE_03 400144
  100. #define MTU_GATE_04 400146
  101. // Enumated Constant Custom Types
  102. enum
  103. {
  104. MTU_TYPE_DEFAULT,
  105. MTU_TYPE_STAR,
  106. MTU_TYPE_LOGAN,
  107. MTU_TYPE_SYDNEY,
  108. MTU_TYPE_HEALTH_POWERUP_ADD,
  109. MTU_TYPE_HEALTH_POWERUP_SUBTRACT,
  110. MTU_TYPE_ALL_POWERUPS_RESET,
  111. MTU_TYPE_ARMOR_POWERUP_ADD,
  112. MTU_TYPE_ARMOR_POWERUP_SUBTRACT,
  113. MTU_TYPE_GUNNER,
  114. MTU_TYPE_RANGE_CLEANUP_TARGETS,
  115. MTU_TYPE_RANGE_CHECK_TARGETS,
  116. MTU_TYPE_RANGE_SETUP_HANDGUN,
  117. MTU_TYPE_RANGE_TARGET_DESTROYED,
  118. MTU_TYPE_RANGE_SETUP_SNIPER_RIFLE,
  119. MTU_TYPE_RANGE_POWERUP_RETRIEVED,
  120. MTU_TYPE_RANGE_SETUP_AUTORIFLE,
  121. MTU_TYPE_RANGE_SETUP_GRENADE,
  122. MTU_TYPE_RANGE_SETUP_CHAINGUN,
  123. MTU_TYPE_RANGE_SETUP_FLAMETHROWER,
  124. MTU_TYPE_RANGE_SETUP_ROCKET,
  125. MTU_TYPE_RANGE_SETUP_C4,
  126. MTU_TYPE_RANGE_SETUP_ION,
  127. MTU_TYPE_SYDNEY_RESET,
  128. MTU_TYPE_SYDNEY_CHECK_RESET,
  129. MTU_TYPE_SYDNEY_IS_RESET,
  130. MTU_TYPE_WEAP_FACTORY_CLEANUP,
  131. MTU_TYPE_WEAP_ATTEMPT_RESET,
  132. MTU_TYPE_WEAP_FORCE_RESET,
  133. MTU_TYPE_HOTWIRE_START,
  134. MTU_TYPE_HOTWIRE,
  135. MTU_TYPE_WEAP_CREATE_HUMMVEE,
  136. MTU_TYPE_RESET_TRIGGER_ONCE,
  137. MTU_TYPE_RESET_CHECKPOINT_COUNT,
  138. MTU_TYPE_ADD_CHECKPOINT,
  139. MTU_TYPE_WEAP_CREATE_MEDTANK,
  140. MTU_TYPE_WEAP_CREATE_SQUISHIES,
  141. MTU_TYPE_BUILDING_DAMAGEABLE,
  142. MTU_TYPE_MOBIUS_RESET,
  143. MTU_TYPE_MOBIUS_CHECK_RESET,
  144. MTU_TYPE_MOBIUS,
  145. MTU_TYPE_RESET_PETROVA,
  146. MTU_TYPE_PETROVA_CHECK_RESET,
  147. MTU_TYPE_PETROVA,
  148. MTU_TYPE_ACTIVATE_FINALE,
  149. MTU_TYPE_CHECK_FINALE_START,
  150. MTU_TYPE_LIEUTENANT,
  151. MTU_TYPE_LIEUTENANT_START,
  152. MTU_TYPE_BUILDING_POWER_OFF,
  153. MTU_TYPE_BUILDING_POWER_ON,
  154. MTU_TYPE_BUILDING_DESTROY,
  155. MTU_TYPE_MOCK_INVASION,
  156. MTU_TYPE_GDI_SOLDIER_PATROL,
  157. MTU_TYPE_TRIGGER_SPAWNER,
  158. MTU_TYPE_COUNT_OFFICERS,
  159. MTU_TYPE_STAR_FACING,
  160. MTU_TYPE_REMOVE_OBJECTIVES
  161. };
  162. // Enumerated Constant Custom Parameters
  163. enum
  164. {
  165. MTU_PARAM_DEFAULT,
  166. MTU_PARAM_CONTROL_ENABLE,
  167. MTU_PARAM_CONTROL_DISABLE,
  168. MTU_PARAM_SPEECH_INTRO,
  169. MTU_PARAM_SPEECH_CROUCH,
  170. MTU_PARAM_SPEECH_JUMP,
  171. MTU_PARAM_SPEECH_EVA,
  172. MTU_PARAM_SPEECH_COURSE_DONE,
  173. MTU_PARAM_ACTION_KEYCARD_TRAIN,
  174. MTU_PARAM_ACTION_GOTO_AGT_RESET,
  175. MTU_PARAM_SPEECH_SYDNEY_START,
  176. MTU_PARAM_SPEECH_HEALTH,
  177. MTU_PARAM_SPEECH_PICKUP,
  178. MTU_PARAM_SPEECH_SHOOT_AGAIN,
  179. MTU_PARAM_SYDNEY_SHOT_RESET,
  180. MTU_PARAM_SPEECH_LAST_TIME,
  181. MTU_PARAM_SPEECH_RADAR,
  182. MTU_PARAM_ACTION_GOTO_INFANTRY,
  183. MTU_PARAM_GUNNER_RESET,
  184. MTU_PARAM_CHECK_TARGETS,
  185. MTU_PARAM_SPEECH_MORE_TARGETS,
  186. MTU_PARAM_TARGETS_ELIMINATED,
  187. MTU_PARAM_ACTION_GOTO_WEAPONS,
  188. MTU_PARAM_SPEECH_WEAP_INTRO,
  189. MTU_PARAM_SPEECH_WEAP_MOVEOUT,
  190. MTU_PARAM_SPEECH_WEAP_ACTION,
  191. MTU_PARAM_SPEECH_WEAP_MEDTANK,
  192. MTU_PARAM_SPEECH_WEAP_UNFINISHED,
  193. MTU_PARAM_SPEECH_WEAP_SQUISH,
  194. MTU_PARAM_SPEECH_WEAP_BIKE,
  195. MTU_PARAM_ACTION_PREPARE_REFINERY,
  196. MTU_PARAM_SPEECH_MOBIUS_REFINERY,
  197. MTU_PARAM_ACTION_PREPARE_POWER,
  198. MTU_PARAM_SPEECH_INTRO_POWER,
  199. MTU_PARAM_SPEECH_PETROVA_POWER,
  200. MTU_PARAM_ACTION_PREPARE_FINALE,
  201. MTU_PARAM_SPEECH_LIEUTENANT_START,
  202. MTU_PARAM_ACTION_GOTO_REFINERY,
  203. MTU_PARAM_SPEECH_INTRO_INFANTRY,
  204. MTU_PARAM_ACTION_PREPARE_INFANTRY,
  205. MTU_PARAM_SPEECH_INTRO_REFINERY,
  206. MTU_PARAM_ACTION_GOTO_POWER,
  207. MTU_PARAM_ACTION_PREPARE_WEAPONS,
  208. MTU_PARAM_ACTION_GOTO_HAVOC,
  209. MTU_PARAM_SPEECH_RETICULE
  210. };
  211. // Enumerated Constant Timers
  212. enum
  213. {
  214. MTU_TIMER_DEFAULT,
  215. MTU_TIMER_MISSION_START,
  216. MTU_TIMER_APACHE_DESTROY,
  217. MTU_TIMER_SYDNEY_CONTINUE,
  218. MTU_TIMER_GUNNER_DELAY_SPEECH,
  219. MTU_TIMER_GUNNER_SNIPER_AMMO,
  220. MTU_TIMER_GUNNER_AUTORIFLE_AMMO,
  221. MTU_TIMER_GUNNER_GRENADE_AMMO,
  222. MTU_TIMER_GUNNER_CHAINGUN_AMMO,
  223. MTU_TIMER_GUNNER_FLAMETHROWER_AMMO,
  224. MTU_TIMER_GUNNER_ROCKET_AMMO,
  225. MTU_TIMER_GUNNER_C4_AMMO,
  226. MTU_TIMER_GUNNER_ION_AMMO,
  227. MTU_TIMER_LOGAN_WAIT_FOR_HAVOC,
  228. MTU_TIMER_LOGAN_WAIT_REFINERY,
  229. MTU_TIMER_LOGAN_WAIT_POWER,
  230. MTU_TIMER_LOGAN_WAIT_POWER_02,
  231. MTU_TIMER_LOGAN_WAIT_AGT,
  232. MTU_TIMER_LOGAN_WAIT_INFANTRY,
  233. MTU_TIMER_LIEUTENANT_WAIT,
  234. MTU_TIMER_GDI_CONVERSATION,
  235. MTU_TIMER_ENDGAME,
  236. MTU_TIMER_FLYOVERS,
  237. MTU_TIMER_COMMANDO_CAMERA_01,
  238. MTU_TIMER_COMMANDO_CAMERA_02,
  239. MTU_TIMER_ANOTHER_APACHE,
  240. MTU_TIMER_MCT_ATTACK,
  241. MTU_TIMER_POKE_DELAY,
  242. MTU_TIMER_NOD_SOLDIER_REMOVAL
  243. };
  244. // Enumerated Constant Action and Conversation Identifiers
  245. enum
  246. {
  247. MTU_ACTION_DEFAULT,
  248. MTU_ACTION_LOGAN_JUMP_TEST,
  249. MTU_ACTION_LOGAN_EVA_TRAIN,
  250. MTU_ACTION_LOGAN_COURSE_DONE,
  251. MTU_ACTION_LOGAN_GOTO_AGT,
  252. MTU_SPEECH_LOGAN_START,
  253. MTU_SPEECH_LOGAN_CROUCH,
  254. MTU_SPEECH_LOGAN_CROUCH_TEST,
  255. MTU_SPEECH_LOGAN_HEARD,
  256. MTU_SPEECH_LOGAN_SNEAK_WIN,
  257. MTU_SPEECH_LOGAN_SNEAK_LOSE,
  258. MTU_SPEECH_LOGAN_JUMP_TEST,
  259. MTU_SPEECH_LOGAN_EVA,
  260. MTU_SPEECH_LOGAN_POKE,
  261. MTU_SPEECH_GATEGUARD_POKE,
  262. MTU_SPEECH_LOGAN_COURSE_DONE,
  263. MTU_SPEECH_LOGAN_KEYCARDS,
  264. MTU_SPEECH_LOGAN_GO_INSIDE,
  265. MTU_ACTION_GATEGUARD_OUTSIDE,
  266. MTU_ACTION_GATEGUARD_PATROL,
  267. MTU_SPEECH_SYDNEY_START,
  268. MTU_SPEECH_SYDNEY_HEALTH,
  269. MTU_SPEECH_SYDNEY_PICKUP,
  270. MTU_SPEECH_SYDNEY_ARMOR,
  271. MTU_SPEECH_SYDNEY_SHOOT_AGAIN,
  272. MTU_SPEECH_SYDNEY_LAST_TIME,
  273. MTU_SPEECH_SYDNEY_RADAR,
  274. MTU_SPEECH_INTRODUCE_BARRACKS,
  275. MTU_SPEECH_GUNNER_START,
  276. MTU_SPEECH_GUNNER_RETICULE,
  277. MTU_SPEECH_GUNNER_SNIPER_RIFLE,
  278. MTU_SPEECH_GUNNER_AUTORIFLE,
  279. MTU_SPEECH_GUNNER_GRENADE,
  280. MTU_SPEECH_GUNNER_CHAINGUN,
  281. MTU_SPEECH_GUNNER_FLAMETHROWER,
  282. MTU_SPEECH_GUNNER_ROCKET,
  283. MTU_SPEECH_GUNNER_C4,
  284. MTU_SPEECH_GUNNER_ION,
  285. MTU_SPEECH_GUNNER_MORE_TARGETS,
  286. MTU_SPEECH_GUNNER_ENDING,
  287. MTU_SPEECH_INTRODUCE_WEAP_FACTORY,
  288. MTU_SPEECH_HOTWIRE_INTRO,
  289. MTU_SPEECH_HOTWIRE_GO_OUT,
  290. MTU_SPEECH_HOTWIRE_MOVEOUT,
  291. MTU_SPEECH_HOTWIRE_ACTION,
  292. MTU_SPEECH_HOTWIRE_MEDTANK,
  293. MTU_SPEECH_HOTWIRE_UNFINISHED,
  294. MTU_SPEECH_HOTWIRE_SQUISH,
  295. MTU_SPEECH_HOTWIRE_BIKE,
  296. MTU_SPEECH_LOGAN_WHATSNEXT,
  297. MTU_SPEECH_INTRODUCE_REFINERY,
  298. MTU_SPEECH_MOBIUS_REFINERY,
  299. MTU_SPEECH_LOGAN_PREPARE_POWER,
  300. MTU_SPEECH_INTRODUCE_POWER,
  301. MTU_SPEECH_PETROVA_POWER,
  302. MTU_SPEECH_PETROVA_POWER_END,
  303. MTU_SPEECH_LOGAN_PREPARE_FINALE,
  304. MTU_SPEECH_LIEUTENANT_START,
  305. MTU_SPEECH_LIEUTENANT_LETIN,
  306. MTU_SPEECH_LIEUTENANT_MCT,
  307. MTU_SPEECH_LIEUTENANT_AFTER,
  308. MTU_ACTION_MOVE_LOGAN_WEAPONS,
  309. MTU_SPEECH_LOGAN_PREPARE_INFANTRY,
  310. MTU_ACTION_MOVE_LOGAN_EXIT,
  311. MTU_ACTION_MOVE_LIEUTENANT_HAVOC,
  312. MTU_ACTION_LIEUTENANT_LEAVE
  313. };
  314. // Movement Destination Identifiers
  315. enum
  316. {
  317. MTU_MOVE_DEFAULT,
  318. MTU_MOVE_LOGAN_JUMP_TRAINING,
  319. MTU_MOVE_LOGAN_EVA_TRAINING,
  320. MTU_MOVE_LOGAN_COURSE_EXTERIOR,
  321. MTU_MOVE_LOGAN_AGT,
  322. MTU_MOVE_LOGAN_INFANTRY,
  323. MTU_MOVE_LOGAN_WEAPONS,
  324. MTU_MOVE_LOGAN_REFINERY,
  325. MTU_MOVE_LOGAN_POWER,
  326. MTU_MOVE_LOGAN_EXIT,
  327. MTU_MOVE_LIEUTENANT_HAVOC
  328. };
  329. // Gunner Range State Identifiers
  330. enum
  331. {
  332. MTU_RANGE_STATE_DEFAULT
  333. };
  334. // Objective Identifiers
  335. enum
  336. {
  337. MTU_OBJECTIVE_01 = 1,
  338. MTU_OBJECTIVE_02,
  339. MTU_OBJECTIVE_03,
  340. MTU_OBJECTIVE_04,
  341. MTU_OBJECTIVE_05,
  342. MTU_OBJECTIVE_06,
  343. MTU_RADAR_GUNNER,
  344. MTU_RADAR_COURSE_01,
  345. MTU_RADAR_COURSE_02,
  346. MTU_RADAR_COURSE_03,
  347. MTU_RADAR_COURSE_04,
  348. MTU_RADAR_MCT_01,
  349. MTU_RADAR_MCT_02,
  350. MTU_RADAR_MCT_03,
  351. MTU_RADAR_MCT_04,
  352. MTU_RADAR_MCT_05
  353. };
  354. inline float Get_Obj_Distance (GameObject * obj1, GameObject * obj2)
  355. {
  356. Vector3 loc1 = Vector3 (0,0,0);
  357. Vector3 loc2 = Vector3 (0,0,0);
  358. if (obj1)
  359. {
  360. loc1 = Commands->Get_Position (obj1);
  361. }
  362. if (obj2)
  363. {
  364. loc2 = Commands->Get_Position (obj2);
  365. }
  366. return Commands->Get_Distance (loc1, loc2);
  367. };
  368. // THESE DEFINES ARE FOR THE SKIRMISH MODE IN MULTIPLAYER
  369. #define MSK_CONTROLLER 300203
  370. #define MSK_GDI_DEF_01 300052
  371. #define MSK_GDI_DEF_02 300064
  372. #define MSK_GDI_DEF_03 300072
  373. #define MSK_GDI_DEF_04 300081
  374. #define MSK_GDI_ATK_01 300091
  375. #define MSK_GDI_ATK_02 300092
  376. #define MSK_GDI_ATK_03 300093
  377. #define MSK_NOD_DEF_01 300001
  378. #define MSK_NOD_DEF_02 300016
  379. #define MSK_NOD_DEF_03 300028
  380. #define MSK_NOD_DEF_04 300042
  381. #define MSK_NOD_ATK_01 300150
  382. #define MSK_NOD_ATK_02 300151
  383. #define MSK_NOD_ATK_03 300152
  384. #define MSK_GDI_DEF_PATH_01 300053
  385. #define MSK_GDI_DEF_PATH_02 300065
  386. #define MSK_GDI_DEF_PATH_03 300073
  387. #define MSK_GDI_DEF_PATH_04 300082
  388. #define MSK_GDI_ATK_PATH_01 300094
  389. #define MSK_GDI_ATK_PATH_02 300111
  390. #define MSK_GDI_ATK_PATH_03 300126
  391. #define MSK_NOD_DEF_PATH_01 300002
  392. #define MSK_NOD_DEF_PATH_02 300017
  393. #define MSK_NOD_DEF_PATH_03 300029
  394. #define MSK_NOD_DEF_PATH_04 300043
  395. #define MSK_NOD_ATK_PATH_01 300153
  396. #define MSK_NOD_ATK_PATH_02 300166
  397. #define MSK_NOD_ATK_PATH_03 300178
  398. #define MSK_SOLDIER_DEAD 100
  399. #define MSK_TIMER 101
  400. #define MSK_TIMER_02 102
  401. #endif // _MISSION2_H_