aboutsummaryrefslogtreecommitdiff
path: root/src/libparsec/include/od_props.h
blob: c5548e47d446fc47c68565dc89d9557baec99d00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
/*
 * PARSEC HEADER (OBJECT)
 * Default Object Properties V1.35
 *
 * Copyright (c) Markus Hadwiger 1996-2000
 * All Rights Reserved.
 */

#ifndef _OD_PROPS_H_
#define _OD_PROPS_H_


// game control data ------------------------------------------------
//
#define ENERGY_EXTRA_BOOST				50
#define DUMB_PACK_NUMMISSLS 			5
#define HOM_PACK_NUMMISSLS				8
#define PROX_PACK_NUMMINES				3
#define SWARM_PACK_NUMMISSLS			2

#define MAX_EXTRA_AREA					700
#define MIN_EXTRA_DIST					150
#define EXTRA_PROBABILITY				4

#define PROB_DAZZLE_LASER				4  // remainder to 100% is prob of energy extras!
#define PROB_THIEF_LASER				4
#define PROB_PROXIMITY_MINE 			6
#define PROB_MISSILE_PACK				22

#define PROB_DUMB_MISS_PACK 			45
#define PROB_HOM_MISS_PACK				55

#define MEGASHIELD_STRENGTH				20

#define LASER2_INTENSITY				20

#define FLASHTIME_LASER_STANDARD		2
#define FLASHTIME_LASER_THIEF			8
#define FLASHTIME_MISSILE				4


// ship steering speeds and delays ----------------------------------
//
#define SHIP_SPEED_INC_PER_REFFRAME 	( 0x01200 / 8 /23)
#define SHIP_SPEED_DEC_PER_REFFRAME 	( 0x01200 / 8 /23)
#define SHIP_YAW_PER_REFFRAME			( 0x068 / 8 )
#define SHIP_PITCH_PER_REFFRAME			( 0x068 / 8 )
#define SHIP_ROLL_PER_REFFRAME			( 0x05A / 3 )
#define SHIP_SLIDE_PER_REFFRAME 		FIXED_TO_GEOMV( 0xb000 / 8 )
#define SHIP_FIRE_REPEAT_DELAY			( 24 * 8 )
#define SHIP_FIRE_DISABLE_DELAY			( 12 * 8 )
#define SHIP_MISSILE_DISABLE_DELAY  	( 36 * 8 )


// object member variables init values ------------------------------
//
#define PROP_FUME_FREQUENCY			220
#define PROP_FUME_LIFETIME			11000
#define PROP_FUME_SPEED   			-0x0080

#define PROP_FUME_START_X1  		FIXED_TO_GEOMV( -0x35000 )
#define PROP_FUME_START_X2  		FIXED_TO_GEOMV( -0x35000 )
#define PROP_FUME_START_X3  		FIXED_TO_GEOMV( 0x35000 )
#define PROP_FUME_START_X4  		FIXED_TO_GEOMV( 0x35000 )
#define PROP_FUME_START_Y			FIXED_TO_GEOMV( 0x00000 )
#define PROP_FUME_START_Z			FIXED_TO_GEOMV( -0x125000 )

#define _2_PROP_FUME_START_X1  		FIXED_TO_GEOMV( -0x35000 )
#define _2_PROP_FUME_START_X2  		FIXED_TO_GEOMV( -0x35000 )
#define _2_PROP_FUME_START_X3  		FIXED_TO_GEOMV( 0x35000 )
#define _2_PROP_FUME_START_X4  		FIXED_TO_GEOMV( 0x35000 )
#define _2_PROP_FUME_START_Y		FIXED_TO_GEOMV( 0x00000 )
#define _2_PROP_FUME_START_Z		FIXED_TO_GEOMV( -0x125000 )

#define SPREADFIRE_LIFETIME			1500
#define SPREADFIRE_SPEED			0x10000

#define HELIX_LIFETIME				1500
#define HELIX_SPEED					0x10000

#define PHOTON_LIFETIME				1500
#define PHOTON_SPEED				0x80000

#define SHIP1_MAXDAMAGE 			20
#define SHIP1_MAXSHIELD 			10
#define SHIP1_NUM_MISSLS			05
#define SHIP1_NUM_HOMMISSLS 		10
#define SHIP1_NUM_SWARMMISSLS 		0
#define SHIP1_NUM_MINES 			3
#define SHIP1_MAX_SPEED 			0xbb80
#define SHIP1_MAX_ENERGY			400
#define SHIP1_MAX_FUEL				300
#define SHIP1_WEAPONS				0x00070101

#define SHIP2_MAXDAMAGE 			20
#define SHIP2_MAXSHIELD 			10
#define SHIP2_NUM_MISSLS			10
#define SHIP2_NUM_HOMMISSLS 		15
#define SHIP2_NUM_SWARMMISSLS 		0
#define SHIP2_NUM_MINES 			5
#define SHIP2_MAX_SPEED 			0x9600
#define SHIP2_MAX_ENERGY			800
#define SHIP2_MAX_FUEL				950
#define SHIP2_WEAPONS				0x00070101

#define ENERGYEXTRA_LIFETIME		10000
#define MISSILEEXTRA_LIFETIME		20000
#define DEVICEEXTRA_LIFETIME		25000

#define ENERGYEXTRA_SELFROTX		0x0025
#define ENERGYEXTRA_SELFROTY		0x0055
#define ENERGYEXTRA_SELFROTZ		0x0080
#define MISSILEEXTRA_SELFROTX		0x0065
#define MISSILEEXTRA_SELFROTY		0x0040
#define MISSILEEXTRA_SELFROTZ		0x0015
#define DEVICEEXTRA_SELFROTX		0x0025
#define DEVICEEXTRA_SELFROTY		0x0055
#define DEVICEEXTRA_SELFROTZ		0x0080

#define MINE1_HITPOINTS 			15
#define MINE1_LIFETIME				60000
#define MINE1_SELFROTX				0x0065
#define MINE1_SELFROTY				0x0040
#define MINE1_SELFROTZ				0x0015

#define LASER1_LIFETIME 			1680
#define LASER1_SPEED				0x25000
#define LASER1_HITPOINTS			1
#define LASER1_ENERGY				5

#define LASER2_LIFETIME 			1680
#define LASER2_SPEED				0x25000
#define LASER2_INTENSITY			20
#define LASER2_ENERGY				2

#define LASER3_LIFETIME 			1680
#define LASER3_SPEED				0x25000
#define LASER3_THEFTDAMAGE			50
#define LASER3_ENERGY				10

#define MISSILE1_LIFETIME			3600
#define MISSILE1_SPEED				0x1a000
#define MISSILE1_HITPOINTS			10

#define HOMMISS1_LIFETIME			4800
#define HOMMISS1_SPEED				0x20000
#define HOMMISS1_HITPOINTS			5

#define HOMMISS1_LATENCY			60
#define HOMMISS1_MAX_ROT			0x0100

#define LASER1_START_X_1	   		FIXED_TO_GEOMV( -0x0c000 )
#define LASER1_START_X_2	   		FIXED_TO_GEOMV( -0x07000 )
#define LASER1_START_X_3			FIXED_TO_GEOMV( 0x07000 )
#define LASER1_START_X_4			FIXED_TO_GEOMV( 0x0c000 )
#define LASER1_START_Y				FIXED_TO_GEOMV( 0x19000 )
#define LASER1_START_Z				FIXED_TO_GEOMV( 0x3e0000 )

#define _2_LASER1_START_X_1    		FIXED_TO_GEOMV( -0x74000 )
#define _2_LASER1_START_X_2    		FIXED_TO_GEOMV( -0x66000 )
#define _2_LASER1_START_X_3 		FIXED_TO_GEOMV( 0x66000 )
#define _2_LASER1_START_X_4 		FIXED_TO_GEOMV( 0x74000 )
#define _2_LASER1_START_Y			FIXED_TO_GEOMV( 0x22000 )
#define _2_LASER1_START_Z			FIXED_TO_GEOMV( 0x370000 )

#define MISSILE1_START_X_1	   		FIXED_TO_GEOMV( -0x090000 )
#define MISSILE1_START_X_2	   		FIXED_TO_GEOMV( -0x050000 )
#define MISSILE1_START_X_3			FIXED_TO_GEOMV( 0x050000 )
#define MISSILE1_START_X_4			FIXED_TO_GEOMV( 0x090000 )
#define MISSILE1_START_Y			FIXED_TO_GEOMV( 0x030000 )
#define MISSILE1_START_Z			FIXED_TO_GEOMV( 0x120000 )

#define _2_MISSILE1_START_X_1  		FIXED_TO_GEOMV( -0xc5000 )
#define _2_MISSILE1_START_X_2  		FIXED_TO_GEOMV( -0x63000 )
#define _2_MISSILE1_START_X_3		FIXED_TO_GEOMV( 0x63000 )
#define _2_MISSILE1_START_X_4		FIXED_TO_GEOMV( 0xc5000 )
#define _2_MISSILE1_START_Y 		FIXED_TO_GEOMV( 0x6c000 )
#define _2_MISSILE1_START_Z    		FIXED_TO_GEOMV( -0x17000 )

#define MINE1_START_X				FIXED_TO_GEOMV( 0x00000 )
#define MINE1_START_Y				FIXED_TO_GEOMV( 0x00000 )
#define MINE1_START_Z		   		FIXED_TO_GEOMV( -0x330000 )

#define _2_MINE1_START_X			FIXED_TO_GEOMV( 0x00000 )
#define _2_MINE1_START_Y			FIXED_TO_GEOMV( 0x00000 )
#define _2_MINE1_START_Z	    	FIXED_TO_GEOMV( -0x360000 )

#define HOMMISS1_START_X_1	   		FIXED_TO_GEOMV( -0x060000 )
#define HOMMISS1_START_X_2	   		FIXED_TO_GEOMV( -0x020000 )
#define HOMMISS1_START_X_3			FIXED_TO_GEOMV( 0x020000 )
#define HOMMISS1_START_X_4			FIXED_TO_GEOMV( 0x060000 )
#define HOMMISS1_START_Y	   		FIXED_TO_GEOMV( -0x010000 )
#define HOMMISS1_START_Z			FIXED_TO_GEOMV( 0x1f0000 )

#define SPREAD_START_X_1   			FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define SPREAD_START_X_2   			FIXED_TO_GEOMV( -0x07000 )
#define SPREAD_START_X_3			FIXED_TO_GEOMV( 0x07000 )
#define SPREAD_START_X_4			FIXED_TO_GEOMV( (0x0c000+0x45000) )
#define SPREAD_START_Y				FIXED_TO_GEOMV( 0x19000 )
#define SPREAD_START_Z				FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )

#define _2_SPREAD_START_X_1			FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define _2_SPREAD_START_X_2			FIXED_TO_GEOMV( -0x07000 )
#define _2_SPREAD_START_X_3			FIXED_TO_GEOMV( 0x07000 )
#define _2_SPREAD_START_X_4			FIXED_TO_GEOMV( (0x0c000+0x45000) )
#define _2_SPREAD_START_Y			FIXED_TO_GEOMV( 0x19000 )
#define _2_SPREAD_START_Z			FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )

#define HELIX_START_X   			FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define HELIX_START_Y				FIXED_TO_GEOMV( 0x19000 )
#define HELIX_START_Z				FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )

#define _2_HELIX_START_X   			FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define _2_HELIX_START_Y			FIXED_TO_GEOMV( 0x19000 )
#define _2_HELIX_START_Z			FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )

#define BEAM_START_X_1   			FIXED_TO_GEOMV( -0x51000 )
#define BEAM_START_X_2   			FIXED_TO_GEOMV( -0x4a000 )
#define BEAM_START_X_3				FIXED_TO_GEOMV( 0x4a000 )
#define BEAM_START_X_4				FIXED_TO_GEOMV( 0x51000 )
#define BEAM_START_Y				FIXED_TO_GEOMV( 0x19000 )
#define BEAM_START_Z				FIXED_TO_GEOMV( 0x40000 )

#define _2_BEAM_START_X_1   		FIXED_TO_GEOMV( -500000 )
#define _2_BEAM_START_X_2   		0
#define _2_BEAM_START_X_3			0
#define _2_BEAM_START_X_4			FIXED_TO_GEOMV( 400000 )
#define _2_BEAM_START_Y				0
#define _2_BEAM_START_Z				FIXED_TO_GEOMV( -180000 )

#define SHIP1_OBJCAM_STARTPITCH 	((bams_t) 0x0d00)
#define SHIP1_OBJCAM_STARTYAW		((bams_t)-0x0f00)
#define SHIP1_OBJCAM_STARTROLL		((bams_t) 0x0000)
#define SHIP1_OBJCAM_STARTDIST		FIXED_TO_GEOMV( 0x600000 )
#define SHIP1_OBJCAM_MINDISTANCE	FIXED_TO_GEOMV( 0x300000 )
#define SHIP1_OBJCAM_MAXDISTANCE	FIXED_TO_GEOMV( 0xd00000 )

#define SHIP2_OBJCAM_STARTPITCH 	((bams_t) 0x1000)
#define SHIP2_OBJCAM_STARTYAW		((bams_t)-0x1000)
#define SHIP2_OBJCAM_STARTROLL		((bams_t)-0x0500)
#define SHIP2_OBJCAM_STARTDIST		FIXED_TO_GEOMV( 0x5c0000 )
#define SHIP2_OBJCAM_MINDISTANCE	FIXED_TO_GEOMV( 0x300000 )
#define SHIP2_OBJCAM_MAXDISTANCE	FIXED_TO_GEOMV( 0xc00000 )


#endif // _OD_PROPS_H_