Subversion Repositories Games.Descent

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
/*
2
 * Portions of this file are copyright Rebirth contributors and licensed as
3
 * described in COPYING.txt.
4
 * Portions of this file are copyright Parallax Software and licensed
5
 * according to the Parallax license.
6
 * See COPYING.txt for license details.
7
 */
8
 
9
#pragma once
10
 
11
#include <cstdint>
12
 
13
#ifdef dsx
14
namespace dsx {
15
 
16
enum weapon_id_type : uint8_t
17
{
18
        LASER_ID_L1,
19
        LASER_ID = LASER_ID_L1, //0..3 are lasers
20
        LASER_ID_L2,
21
        LASER_ID_L3,
22
        LASER_ID_L4,
23
        CLS1_DRONE_FIRE = 5,
24
        CONTROLCEN_WEAPON_NUM = 6,
25
        CONCUSSION_ID = 8,
26
        FLARE_ID = 9,   //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
27
        CLS2_DRONE_LASER = 10,
28
        VULCAN_ID = 11,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
29
#if defined(DXX_BUILD_DESCENT_I)
30
        /* Descent shipped with two spreadfire weapons.  One cost 0.5 energy
31
         * to fire; the other cost 1.0 energy to fire.  The two have
32
         * differing flight speeds.  For reasons unknown, the original code
33
         * used the cost of one spreadfire weapon, but used the other weapon
34
         * for all other purposes.  CHEAP_SPREADFIRE_ID represents the lower
35
         * cost weapon, so that it can be named in
36
         * Primary_weapon_to_weapon_info.  SPREADFIRE_ID represents the
37
         * weapon used for all other purposes.
38
         */
39
        CHEAP_SPREADFIRE_ID,
40
#elif defined(DXX_BUILD_DESCENT_II)
41
        SPREADFIRE_ID = 12,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
42
#endif
43
        PLASMA_ID = 13,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
44
        FUSION_ID = 14,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
45
        HOMING_ID = 15,
46
        PROXIMITY_ID = 16,
47
        SMART_ID = 17,
48
        MEGA_ID = 18,
49
 
50
        PLAYER_SMART_HOMING_ID = 19,
51
#if defined(DXX_BUILD_DESCENT_I)
52
        SPREADFIRE_ID = 20,
53
#endif
54
        SUPER_MECH_MISS = 21,
55
        REGULAR_MECH_MISS = 22,
56
        SILENT_SPREADFIRE_ID = 23,
57
        MEDIUM_LIFTER_LASER = 24,
58
        SMALL_HULK_FIRE = 25,
59
        HEAVY_DRILLER_PLASMA = 26,
60
        SPIDER_ROBOT_FIRE = 27,
61
        ROBOT_MEGA_ID = 28,
62
        ROBOT_SMART_HOMING_ID = 29,
63
#if defined(DXX_BUILD_DESCENT_II)
64
        SUPER_LASER_ID = 30,  // 30,31 are super lasers (level 5,6)
65
        LASER_ID_L5 = SUPER_LASER_ID,
66
        LASER_ID_L6,
67
 
68
        GAUSS_ID = 32,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
69
        HELIX_ID = 33,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
70
        PHOENIX_ID = 34,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
71
        OMEGA_ID = 35,  //  NOTE: This MUST correspond to the ID generated at bitmaps.tbl read time.
72
 
73
        FLASH_ID = 36,
74
        GUIDEDMISS_ID = 37,
75
        SUPERPROX_ID = 38,
76
        MERCURY_ID = 39,
77
        EARTHSHAKER_ID = 40,
78
        SMELTER_PHOENIX_ID = 44,
79
 
80
        SMART_MINE_HOMING_ID = 47,
81
        BPER_PHASE_ENERGY_ID = 48,
82
        ROBOT_SMART_MINE_HOMING_ID = 49,
83
        ROBOT_SUPERPROX_ID = 53,
84
        EARTHSHAKER_MEGA_ID = 54,
85
        ROBOT_EARTHSHAKER_ID = 58,
86
        ROBOT_EARTHSHAKER_SUBMUNITION_ID = 59,
87
 
88
        PMINE_ID = 51,  //the mine that the designers can place
89
 
90
        ROBOT_26_WEAPON_46_ID = 46,
91
        ROBOT_27_WEAPON_52_ID = 52,
92
        ROBOT_28_WEAPON_42_ID = 42,
93
        ROBOT_29_WEAPON_20_ID = 20,
94
        ROBOT_30_WEAPON_48_ID = 48,
95
        ROBOT_36_WEAPON_41_ID = 41,
96
        ROBOT_37_WEAPON_41_ID = 41,
97
        ROBOT_38_WEAPON_42_ID = 42,
98
        ROBOT_39_WEAPON_43_ID = 43,
99
        ROBOT_43_WEAPON_55_ID = 55,
100
        ROBOT_45_WEAPON_45_ID = 45,
101
        ROBOT_46_WEAPON_55_ID = 55,
102
        ROBOT_47_WEAPON_26_ID = 26,
103
        ROBOT_50_WEAPON_50_ID = 50,
104
        ROBOT_52_WEAPON_52_ID = 52,
105
        ROBOT_53_WEAPON_45_ID = 45,
106
        ROBOT_55_WEAPON_44_ID = 44,
107
        ROBOT_57_WEAPON_44_ID = 44,
108
        ROBOT_59_WEAPON_48_ID = 48,
109
        ROBOT_62_WEAPON_60_ID = 60,
110
        ROBOT_47_WEAPON_57_ID = 57,
111
        ROBOT_62_WEAPON_61_ID = 61,
112
        ROBOT_71_WEAPON_62_ID = 62,     // M.A.X. homing flash missile
113
        ROBOT_70_WEAPON_64_ID = 64,     // Vertigo smelter Phoenix
114
#endif
115
        unspecified = 0xff,
116
};
117
 
118
}
119
#endif