1 /* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
2 
3 #ifndef COBDEFINES_H
4 #define COBDEFINES_H
5 
6 /* update LuaConstCOB.cpp anytime this is updated! */
7 
8 
9 // Indices for emit-sfx
10 #define SFX_VTOL                 0
11 #define SFX_WAKE                 2
12 #define SFX_WAKE_2               3  // same as SFX_WAKE
13 #define SFX_REVERSE_WAKE         4
14 #define SFX_REVERSE_WAKE_2       5  // same as SFX_REVERSE_WAKE
15 #define SFX_WHITE_SMOKE        257
16 #define SFX_BLACK_SMOKE        258
17 #define SFX_BUBBLE             259
18 #define SFX_CEG               1024
19 #define SFX_FIRE_WEAPON       2048
20 #define SFX_DETONATE_WEAPON   4096
21 
22 
23 // Indices for set/get value
24 #define ACTIVATION           1  // set or get
25 #define STANDINGMOVEORDERS   2  // set or get
26 #define STANDINGFIREORDERS   3  // set or get
27 #define HEALTH               4  // get (0-100%)
28 #define INBUILDSTANCE        5  // set or get
29 #define BUSY                 6  // set or get (used by misc. special case missions like transport ships)
30 #define PIECE_XZ             7  // get
31 #define PIECE_Y              8  // get
32 #define UNIT_XZ              9  // get
33 #define UNIT_Y              10  // get
34 #define UNIT_HEIGHT         11  // get
35 #define XZ_ATAN             12  // get atan of packed x,z coords
36 #define XZ_HYPOT            13  // get hypot of packed x,z coords
37 #define ATAN                14  // get ordinary two-parameter atan
38 #define HYPOT               15  // get ordinary two-parameter hypot
39 #define GROUND_HEIGHT       16  // get land height, 0 if below water
40 #define BUILD_PERCENT_LEFT  17  // get 0 = unit is built and ready, 1-100 = How much is left to build
41 #define YARD_OPEN           18  // set or get (change which plots we occupy when building opens and closes)
42 #define BUGGER_OFF          19  // set or get (ask other units to clear the area)
43 #define ARMORED             20  // set or get
44 
45 /*#define WEAPON_AIM_ABORTED  21
46 #define WEAPON_READY        22
47 #define WEAPON_LAUNCH_NOW   23
48 #define FINISHED_DYING      26
49 #define ORIENTATION         27*/
50 #define IN_WATER            28
51 #define CURRENT_SPEED       29
52 //#define MAGIC_DEATH         31
53 #define VETERAN_LEVEL       32
54 #define ON_ROAD             34
55 
56 #define MAX_ID                    70
57 #define MY_ID                     71
58 #define UNIT_TEAM                 72
59 #define UNIT_BUILD_PERCENT_LEFT   73
60 #define UNIT_ALLIED               74
61 #define MAX_SPEED                 75
62 #define CLOAKED                   76
63 #define WANT_CLOAK                77
64 #define GROUND_WATER_HEIGHT       78 // get land height, negative if below water
65 #define UPRIGHT                   79 // set or get
66 #define	POW                       80 // get
67 #define PRINT                     81 // get, so multiple args can be passed
68 #define HEADING                   82 // get
69 #define TARGET_ID                 83 // get
70 #define LAST_ATTACKER_ID          84 // get
71 #define LOS_RADIUS                85 // set or get
72 #define AIR_LOS_RADIUS            86 // set or get
73 #define RADAR_RADIUS              87 // set or get
74 #define JAMMER_RADIUS             88 // set or get
75 #define SONAR_RADIUS              89 // set or get
76 #define SONAR_JAM_RADIUS          90 // set or get
77 #define SEISMIC_RADIUS            91 // set or get
78 #define DO_SEISMIC_PING           92 // get
79 #define CURRENT_FUEL              93 // set or get
80 #define TRANSPORT_ID              94 // get
81 #define SHIELD_POWER              95 // set or get
82 #define STEALTH                   96 // set or get
83 #define CRASHING                  97 // set or get, returns whether aircraft isCrashing state
84 #define CHANGE_TARGET             98 // set, the value it's set to determines the affected weapon
85 #define CEG_DAMAGE                99 // set
86 #define COB_ID                   100 // get
87 #define PLAY_SOUND               101 // get, so multiple args can be passed
88 #define KILL_UNIT                102 // get KILL_UNIT(unitId, SelfDestruct=true, Reclaimed=false)
89 #define ALPHA_THRESHOLD          103 // set or get
90 #define SET_WEAPON_UNIT_TARGET   106 // get (fake set)
91 #define SET_WEAPON_GROUND_TARGET 107 // get (fake set)
92 #define SONAR_STEALTH            108 // set or get
93 #define REVERSING                109 // get
94 
95 // NOTE: [LUA0 - LUA9] are defined in CobThread.cpp as [110 - 119]
96 
97 #define FLANK_B_MODE             120 // set or get
98 #define FLANK_B_DIR              121 // set or get, set is through get for multiple args
99 #define FLANK_B_MOBILITY_ADD     122 // set or get
100 #define FLANK_B_MAX_DAMAGE       123 // set or get
101 #define FLANK_B_MIN_DAMAGE       124 // set or get
102 #define WEAPON_RELOADSTATE       125 // get (with fake set)
103 #define WEAPON_RELOADTIME        126 // get (with fake set)
104 #define WEAPON_ACCURACY          127 // get (with fake set)
105 #define WEAPON_SPRAY             128 // get (with fake set)
106 #define WEAPON_RANGE             129 // get (with fake set)
107 #define WEAPON_PROJECTILE_SPEED  130 // get (with fake set)
108 #define MIN                      131 // get
109 #define MAX                      132 // get
110 #define ABS                      133 // get
111 #define GAME_FRAME               134 // get
112 #define KSIN                     135 // get (kiloSine    : 1024*sin(x))
113 #define KCOS                     136 // get (kiloCosine  : 1024*cos(x))
114 #define KTAN                     137 // get (kiloTangent : 1024*tan(x))
115 #define SQRT                     138 // get (square root)
116 
117 // NOTE: shared variables use codes [1024 - 5119]
118 
119 #endif
120