Subversion Repositories Games.Descent

Rev

Blame | Last modification | View Log | Download | RSS feed

  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
  120.