unitcombat.h 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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. *** Confidential - Westwood Studios ***
  20. ***********************************************************************************************
  21. * *
  22. * Project Name : Commando *
  23. * *
  24. * $Archive:: /Commando/Code/Scripts/unitcombat.h $*
  25. * *
  26. * $Author:: David_y $*
  27. * *
  28. * $Modtime:: 4/27/00 10:54a $*
  29. * *
  30. * $Revision:: 1 $*
  31. * *
  32. *---------------------------------------------------------------------------------------------*/
  33. /***********************************************************************************************
  34. *
  35. * Custom Event Type and Param Definitions
  36. *
  37. ************************************************************************************************/
  38. // SCRIPT OVERRIDE CUSTOM DEFINITIONS
  39. // OV_CREATED = Sent by unit to control to let control know unit has been created.
  40. // OV_VERIFIED = Sent by unit to control to verify that control is currently handling the unit.
  41. // OV_ARRIVED = Sent by unit to control when the unit arrives at a destination.
  42. // OV_ANIMCOMPLETE = Sent by unit to control when an animation has been completed.
  43. // OV_OVERRIDE = Sent by control to unit when control wants to override combat code on the unit.
  44. // OV_REQUEST = Sent by control to unit when control wants to verify that it is currently handling the unit.
  45. #define OV_CREATED 1000
  46. #define OV_CONFIRM 1001
  47. #define OV_ARRIVED 1002
  48. #define OV_ANIMCOMPLETE 1003
  49. #define OV_OVERRIDE 1004
  50. #define OV_VERIFY 1005
  51. #define OV_DAMAGED 1006
  52. #define OV_ENEMYSEEN 1007
  53. #define OV_SOUNDHEARD 1008
  54. #define OV_KILLED 1009
  55. // OV_AWARE param is a bool. 0 turns awareness off, 1 sets it on.
  56. #define OV_AWARE 1010
  57. // Zone Entering Confirmation to Controller Custom Definition
  58. #define ZONE_CONFIRM 1011
  59. // Conversation queue custom send from conversation controller to object.
  60. #define CONVERSATION 1012
  61. // Scoreboard Customs and Params
  62. #define HITDIRECTION 9910
  63. #define HD_FRONTHIT 10
  64. #define HD_BACKHIT 20
  65. #define BODYLOCATION 9920
  66. #define BL_HEAD 10
  67. #define BL_CHEST 20
  68. #define BL_GROIN 30
  69. #define BL_RIGHTLEG 40
  70. #define BL_LEFTLEG 50
  71. #define BL_RIGHTARM 60
  72. #define BL_LEFTARM 70
  73. #define TALLY 9950
  74. #define TALLY_KILL 10
  75. #define TALLY_STRUCTURE 20
  76. #define TALLY_CIVILIAN 30
  77. // Secret_Level Tracks Completed Secrets in the Level
  78. // If Param is Under 100, it is used to register the total number for
  79. // a specific level.
  80. #define SECRET_LEVEL 9960
  81. #define SL_COMPLETE 100
  82. // Statistic Collection Custom Definitions
  83. #define STAT_CALL 9990
  84. // MISSION CONTROL CUSTOM DEFINITONS:
  85. // MC_COMPLETE = Custom event register for reporting a completed objective.
  86. // MC_RESET = Custom event register for reporting a need to reset an objective.
  87. // MC_IPRIMARY = Custom event for sending objective primary/secondary.
  88. // MC_IPRIORITY = Custom event for sending objective priority.
  89. // MC_IINTROTEXT = Custom event for sending intro text record number.
  90. // MC_ISOLVETEXT = Custom event for sending immediate solve text record number.
  91. // MC_IOUTTEXT = Custom event for sending final solve text record number.
  92. // MC_IRESETTEXT = Custom event for sending objective reset text record number.
  93. #define MC_COMPLETE 1
  94. #define MC_RESET 2
  95. #define MC_IPRIMARY 3
  96. #define MC_IPRIORITY 4
  97. #define MC_IINTROTEXT 5
  98. #define MC_ISOLVETEXT 6
  99. #define MC_IOUTTEXT 7
  100. #define MC_IRESETTEXT 8
  101. #define MC_STARTGAME 9
  102. // Movie Control ID's to and from Mission and Movie Controllers
  103. // Params between Intro (10) and Outro (99) are cutscenes
  104. #define MOVIE_PLAY 10
  105. #define MP_INTRO 10
  106. #define MP_OUTRO 99
  107. // Mission 3 CONTROL CUSTOM DEFINITIONS:
  108. // M3_SAMOBJECTIVE = Secondary mission to destroy SAM sites in village completed.
  109. // M3_SAMDESTROYED = Secondary mission SAM destroyed, send in reinforcements.
  110. #define M3_SAMOBJECTIVE 11
  111. #define M3_SAMDESTROYED 12
  112. // Mission 1 Custom Definitions:
  113. // M1_SAMDESTROYED = Primary mission to destroy SAM sites completed.
  114. // M1_ACT1CONTROL = Custom sent from mission start to act 1 controller, animates nod soldier.
  115. // M1_BASEGATE = Custom Type sent to open and close Base Gate for Harvester
  116. #define M1_SAMDESTROYED 13
  117. #define M1_ACT1CONTROL 14
  118. #define M1_BASEGATE 15
  119. #define BASEGATE_OPEN 10
  120. #define BASEGATE_CLOSE 20
  121. // Timer ID's (Unique. No Collision with other ScriptEvents)
  122. #define TIMER_IDLE_ANIM 6000
  123. #define TIMER_ARRIVED_FLAG 6010
  124. #define TIMER_SEARCH_LOCATION 6020
  125. #define TIMER_CROUCH_ATTACK 6030
  126. #define TIMER_COMBAT_SPEECH 6040
  127. #define TIMER_TURRET_ATTACK 6050
  128. #define TIMER_HARVESTER_REGEN 6060
  129. //Scoreboard Timers
  130. #define TIMER_COMBO 6070
  131. #define TIMER_COMBOEVA 6080
  132. #define TIMER_STAT_CALL 6090
  133. #define TIMER_MISSION 6100
  134. //Mission Objective Timers
  135. #define TIMER_OBJECTIVE 6110
  136. #define TIMER_EVASPEECH 6120
  137. #define TIMER_MISSION_FAILURE 6130
  138. #define TIMER_MISSION_SUCCESS 6140
  139. //Movie Control Timers
  140. #define TIMER_REGISTER 6150
  141. //Mission 1 Timers
  142. #define TIMER_M1_A1 102
  143. #define TIMER_M1_A2 103
  144. #define TIMER_TUTORIAL 104
  145. #define TIMER_M1_A3 105
  146. //Mission 1 Radar Events
  147. #define RADAR_M1_P1 150
  148. //Mission 3 Timers
  149. #define TIMER_M3_A1T1 301
  150. #define TIMER_M3_A1T2 302
  151. #define TIMER_M3_A1T3 303
  152. #define TIMER_M3_B1 304
  153. #define TIMER_M3_B2 305
  154. #define TIMER_M3_B3 306
  155. #define TIMER_M3_A3T1 307
  156. #define TIMER_M3_A3T2 308
  157. #define TIMER_M3_A4T1 309
  158. #define TIMER_M3_A2T1 310
  159. #define TIMER_M3_A4T3 311
  160. #define TIMER_M3_A5T1 312
  161. #define TIMER_M3_A5T2 313
  162. #define TIMER_M3_A4T2 314
  163. #define TIMER_M3_A1T4 315
  164. //Mission 2 Radar Events
  165. #define RADAR_M2_P1 250
  166. #define RADAR_M2_P2 251
  167. //Mission 3 Radar Events
  168. #define RADAR_M3_P1 350
  169. #define RADAR_M3_P2 351
  170. #define RADAR_M3_S1 352
  171. #define RADAR_M3_S2 353
  172. #define RADAR_M3_S3 354
  173. //Custom Event Sound Responses
  174. #define CUSTOM_ALLY_INFO 7000
  175. #define CUSTOM_TARGET_INFO 7010
  176. //Designer Sound Types
  177. #define SOUND_ENEMY_SEEN SOUND_TYPE_DESIGNER + 5000
  178. #define SOUND_DEATH SOUND_TYPE_DESIGNER + 5010