Mission11.h 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  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. * Mission11.h
  22. *
  23. * DESCRIPTION
  24. * Mission 11 definitions
  25. *
  26. * PROGRAMMER
  27. * Design Team
  28. *
  29. * VERSION INFO
  30. * $Author: Joe_g $
  31. * $Revision: 41 $
  32. * $Modtime: 1/12/02 8:05p $
  33. * $Archive: /Commando/Code/Scripts/Mission11.h $
  34. *
  35. ******************************************************************************/
  36. #ifndef _MISSION11_H_
  37. #define _MISSION11_H_
  38. // Defines and Includes
  39. #include "toolkit.h"
  40. // Predefined Constants
  41. //CHARACTERS
  42. #define M11_SIMPLE_SYDNEY_MOBIUS_JDG 100697
  43. #define M11_REAL_SYDNEY_MOBIUS_JDG 100644
  44. #define M11_MUTANT_PETROVA_JDG 300303
  45. #define M11_C130_EASY_SPAWN_CAP_JDG 3
  46. #define M11_C130_MEDIUM_SPAWN_CAP_JDG 6
  47. #define M11_C130_HARD_SPAWN_CAP_JDG 12
  48. //CONTROLLERS
  49. #define M11_MISSION_CONTROLLER_JDG 100101
  50. #define M11_C130_DROPOFF_CONTROLLER_JDG 100221
  51. #define M11_FLOOR01_SECURITY_CONTROLLER_JDG 100179
  52. #define M11_WETBAR_SPAWNER_CONTROLLER_JDG 100326
  53. #define M11_KANESROOM_SECURITY_CONTROLLER_JDG 100351
  54. #define M11_FODDER_CONTROLLER_JDG 100588
  55. #define M11_FIRSTFLOOR_STUFF_CONTROLLER_JDG 100593
  56. #define M11_FIRSTFLOOR_REPELER_CONTROLLER_JDG 101125
  57. //First floor fodder stuff
  58. #define M11_OBELISK_FODDER_SPAWNER01_JDG 100581
  59. #define M11_OBELISK_FODDER_SPAWNER02_JDG 100582
  60. #define M11_TEMPLEROOF_FODDER_SPAWNER01_JDG 100583
  61. #define M11_TEMPLEROOF_FODDER_SPAWNER02_JDG 100586
  62. //floor 01 security turrets related
  63. #define M11_FLOOR01_SECURITY_TURRET_01_JDG 100177
  64. #define M11_FLOOR01_SECURITY_TURRET_03_JDG 100175
  65. #define M11_FLOOR01_SECURITY_TURRET_05_JDG 100173
  66. #define M11_FLOOR01_SECURITY_TURRET_08_JDG 100170
  67. #define M11_FLOOR01_SECURITY_TURRET_10_JDG 100168
  68. #define M11_FLOOR01_SECURITY_TURRET_12_JDG 100167
  69. //museum level encounter related
  70. #define M11_MUSEUM_GUARD_01_JDG 100256
  71. #define M11_MUSEUM_GUARD_02_JDG 100257
  72. #define M11_MUSEUM_GUARD_03_JDG 100258
  73. #define M11_MUSEUM_GUARD_04_JDG 100259
  74. #define M11_MUSEUM_GUARD_05_JDG 100260
  75. #define M11_MUSEUM_GUARD_06_JDG 100261
  76. #define M11_MUSEUM_SPAWNER_JDG 100323
  77. #define M11_WETBAR_SPAWNER_01_JDG 100330
  78. #define M11_WETBAR_SPAWNER_02_JDG 100331
  79. #define M11_WETBAR_SPAWNER_03_JDG 100332
  80. //kane's room's security cameras and turrets
  81. #define M11_KANESROOM_SECURITY_TURRET_01_JDG 100346
  82. #define M11_KANESROOM_SECURITY_TURRET_03_JDG 100349
  83. //WARROOM's security cameras and turrets
  84. #define M11_WARROOM_SECURITY_TURRET_01_JDG 100359
  85. #define M11_WARROOM_SECURITY_TURRET_02_JDG 100360
  86. #define M11_WARROOM_SECURITY_CONTROLLER_JDG 100361
  87. #define M11_WARROOM_SECURITY_SPAWNER_JDG 100362
  88. #define M11_WARROOM_SECURITY_SPAWNER_02_JDG 101772
  89. #define M11_WARROOM_ENGINEER_JDG 100353
  90. //all the barrack encounters stuff going here
  91. #define M11_BARRACKS_SPAWNER_CONTROLLER_JDG 100430
  92. #define M11_BARRACKS_SPAWNER_01_JDG 100427
  93. #define M11_BARRACKS_SPAWNER_02_JDG 100428
  94. #define M11_BARRACKS_SPAWNER_03_JDG 100429
  95. #define M11_BARRACKS_MUTANT_REJECT_JDG 100415
  96. #define M11_BARRACKS_SCIENTIST_JDG 100405
  97. #define M11_BARRACKS_RAGSESSION_TECH_JDG 100402
  98. #define M11_BARRACKS_RAGSESSION_BLACKHAND_JDG 100403
  99. #define M11_BARRACKS_STEALTHSOLDIER_JDG 100400
  100. #define M11_BARRACKS_MUTANTCONVERSATION_GUY01_JDG 100378
  101. #define M11_BARRACKS_MUTANTCONVERSATION_GUY02_JDG 100379
  102. #define M11_BARRACKS_TOILET_MUTANT_01_JDG 100374
  103. #define M11_BARRACKS_TOILET_MUTANT_02_JDG 100375
  104. #define M11_BARRACKS_MUTANTUPRISING_BLACKHAND_JDG 100387
  105. #define M11_BARRACKS_MUTANTUPRISING_MUTANT01_JDG 100388
  106. #define M11_BARRACKS_MUTANTUPRISING_MUTANT02_JDG 100389
  107. //LABORATORY related stuff
  108. #define M11_LABORATORY_MUTANT_CONTROLLER_JDG 100910
  109. //Sydney's rally zones and whatnot
  110. #define M11_SYDNEY_RALLY_ZONE_01_JDG 100132
  111. #define M11_SYDNEY_RALLY_ZONE_02_JDG 100109
  112. #define M11_SYDNEY_RALLY_ZONE_03A_JDG 100133
  113. #define M11_SYDNEY_RALLY_ZONE_03B_JDG 100134
  114. //MUTANT CRYPT SPAWNER STUFF
  115. #define M11_MUTANT_CRYPT_SPAWNER_01_JDG 100691
  116. #define M11_MUTANT_CRYPT_SPAWNER_02_JDG 100692
  117. #define M11_MUTANT_CRYPT_SPAWNER_03_JDG 100693
  118. #define M11_MUTANT_CRYPT_SPAWNER_04_JDG 100694
  119. #define M11_MUTANT_CRYPT_SPAWNER_05_JDG 100695
  120. #define M11_MUTANT_CRYPT_SPAWNER_06_JDG 100696
  121. #define M11_MUTANT_CRYPT_SPAWNER_CONTROLLER_JDG 100689
  122. //POWER CORE STUFF
  123. #define M11_POWERCORE_INITAL_STEALTHGUY01_JDG 100536
  124. #define M11_POWERCORE_INITAL_STEALTHGUY02_JDG 100537
  125. #define M11_POWERCORE_INITAL_STEALTHGUY03_JDG 100538
  126. #define M11_MISSILE_LIFT_01_JDG 167623
  127. #define M11_MISSILE_LIFT_02_JDG 167622
  128. #define M11_MISSILE_LIFT_03_JDG 167621
  129. #define M11_MISSILE_LIFT_04_JDG 167620
  130. #define M11_MISSILE_LIFT_CONTROLLER_JDG 101673
  131. #define M11_PETROVA_STEALTHSPAWNER_01_JDG 105889
  132. #define M11_PETROVA_STEALTHSPAWNER_02_JDG 105890
  133. #define M11_PETROVA_STEALTHSPAWNER_03_JDG 105891
  134. //various MISSION11 objects
  135. #define M11_END_MISSION_SWITCH_JDG 100106
  136. //LOGICAL SOUNDS
  137. #define M11_MUTANT_IS_NEARBY_JDG 400000
  138. //#define M11_STEALTHS_START_ACTING_JDG 400001
  139. // Public Variables
  140. // Enumerations
  141. enum
  142. {
  143. //general commands
  144. //M11_PICK_A_NEW_WAYPATH_JDG,
  145. //M11_DOING_ANIMATION_01_JDG,
  146. //mission controller specific commands
  147. M11_ATTACH_HAVOCS_SCRIPT_JDG,
  148. M11_END_MISSION_PASS_JDG,
  149. M11_END_MISSION_FAIL_JDG,
  150. M11_ADD_FIRST_OBJECTIVE_JDG,
  151. M11_FIRST_OBJECTIVE_JDG,
  152. M11_END_FIRST_OBJECTIVE_JDG,
  153. M11_ADD_SECOND_OBJECTIVE_JDG,
  154. M11_ADD_SECOND_OBJECTIVE_POG_JDG,
  155. M11_SECOND_OBJECTIVE_JDG,
  156. M11_END_SECOND_OBJECTIVE_JDG,
  157. M11_ADD_THIRD_OBJECTIVE_JDG,
  158. M11_THIRD_OBJECTIVE_JDG,
  159. M11_END_THIRD_OBJECTIVE_JDG,
  160. M11_ADD_FORTH_OBJECTIVE_JDG,
  161. M11_FORTH_OBJECTIVE_JDG,
  162. M11_END_FORTH_OBJECTIVE_JDG,
  163. M11_ADD_FIFTH_OBJECTIVE_JDG,
  164. M11_FIFTH_OBJECTIVE_JDG,
  165. M11_END_FIFTH_OBJECTIVE_JDG,
  166. M11_PLAY_SECOND_INTRO_CONVERSATION_JDG,
  167. M11_PETROVA_START_ACTING_JDG,
  168. M11_PETROVA_ATTACK_PLAYER_JDG,
  169. M11_PETROVA_PICK_NEW_LOCATION_JDG,
  170. M11_PLAYER_HAS_POKED_LEVEL4_ELEVATOR_SWITCH_JDG,
  171. M11_PLAYER_HAS_POKED_LEVEL3_ELEVATOR_SWITCH_JDG,
  172. M11_PLAYER_HAS_POKED_LEVEL2_ELEVATOR_SWITCH_JDG,
  173. M11_PLAYER_HAS_POKED_LEVEL1_ELEVATOR_SWITCH_JDG,
  174. M11_GOTO_IDLE_JDG,
  175. M11_START_ACTING_JDG,
  176. M11_PETROVA_FACE_PLAYER_IML,
  177. M11_HAVOC_IS_DEAD_JDG = 4000,
  178. //mutant crypt related
  179. //M11_MUTANT_CHOOSES_SOUND_JDG,
  180. };
  181. // Timer Enumerations
  182. //mission functions
  183. inline char *M11_Choose_Mutant_Idle_Sound ( )
  184. {
  185. char *soundList[4] =
  186. {
  187. "M00MEIN_CTOA0001I1MEIN_SND",
  188. "M00MEIN_CTOR0001I1MEIN_SND",
  189. "M00MEIN_STOA0001I1MEIN_SND",
  190. "M00MEIN_STOR0001I1MEIN_SND",
  191. };
  192. int random = Commands->Get_Random_Int(0, 4);
  193. return soundList[random];
  194. };
  195. inline char *M11_Choose_Mutant_Alerted_Sound ( )
  196. {
  197. char *soundList[3] =
  198. {
  199. "M00MEIN_CTOS0001I1MEIN_SND",
  200. "M00MEIN_RTOS0001I1MEIN_SND",
  201. "M00MEIN_TDFA0001I1MEIN_SND",
  202. };
  203. int random = Commands->Get_Random_Int(0, 3);
  204. return soundList[random];
  205. };
  206. inline char *M11_Choose_Mutant_Attack_Sound ( )
  207. {
  208. char *soundList[3] =
  209. {
  210. "M00MEIN_ATOS0001I1MEIN_SND",
  211. "M00MEIN_CTOS0001I1MEIN_SND",
  212. "M00MEIN_STOC0001I1MEIN_SND",
  213. };
  214. int random = Commands->Get_Random_Int(0, 3);
  215. return soundList[random];
  216. };
  217. inline char *M11_Choose_Mutant_Attack_Animation ( )
  218. {
  219. char *animationList[6] =
  220. {
  221. "S_A_Human.H_A_4243",
  222. "S_A_Human.H_A_822A",
  223. "S_A_Human.H_A_891A",
  224. "S_A_Human.H_A_892A",
  225. "S_A_Human.H_A_893A",
  226. "S_A_Human.H_A_A0F0",
  227. //"S_A_Human.H_A_D11A",
  228. };
  229. int random = Commands->Get_Random_Int(0, 6);
  230. return animationList[random];
  231. };
  232. typedef enum
  233. {
  234. M11TIMER_START = STIMER_MISSION11,
  235. } M11TIMER;
  236. #endif // _MISSION11_H_