Advertisement
Guest User

NML

a guest
Aug 24th, 2012
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1.  
  2.  
  3.  
  4. /* ********************************************
  5. Spritesets
  6. **********************************************/
  7.  
  8.  
  9. spriteset (set_dm_outercar_one, "gfx/dmd.png") { tmpl_standard_row(0, 0) }
  10. spriteset (set_dm_outercar_midcar, "gfx/dmd.png") { tmpl_standard_row(30, 0) }
  11. spriteset (set_dm_outercar_two, "gfx/dmd.png") { tmpl_standard_row(60, 0) }
  12. spriteset (set_dm_lead_powercar, "gfx/dmd.png") { tmpl_standard_row(90, 0) }
  13. spriteset (set_purchase, "gfx/dmd.png") { tmpl_vehicle_single(0,120, 32,12,-3,-6)}
  14.  
  15.  
  16.  
  17.  
  18. /* ********************************************
  19. Graphic Setup
  20. **********************************************/
  21.  
  22.  
  23.  
  24. /* Choose between front, middle and back parts */
  25. switch(FEAT_TRAINS, SELF, sw_dm_threecar_graphics, position_in_consist % 3) {
  26. 0: set_dm_outercar_one;
  27. 2: set_dm_outercar_two;
  28. set_dm_outercar_midcar;
  29. }
  30.  
  31. /* --- Articulated part callback --- */
  32. switch(FEAT_TRAINS, SELF, sw_dm_articulated_part, extra_callback_info1) {
  33. 1: return set_dm_outercar_midcar;
  34. 2: return set_dm_outercar_two;
  35. return CB_RESULT_NO_MORE_ARTICULATED_PARTS;
  36. }
  37.  
  38.  
  39. /* --- Wagon attach callback --- */
  40. switch(FEAT_TRAINS, SELF, sw_dm_can_attach_wagon, vehicle_type_id) {
  41. /* SELF refers to the wagon here, check that it's an dm */
  42. return CB_RESULT_ATTACH_ALLOW;
  43. }
  44.  
  45.  
  46.  
  47.  
  48.  
  49. /* ********************************************
  50. Repeater Limits
  51. **********************************************/
  52.  
  53.  
  54.  
  55. /* --- Start/stop callback --- */
  56. switch(FEAT_TRAINS, SELF, sw_ninecar_start_stop, num_vehs_in_consist) {
  57. /* Vehicles may be coupled to a maximum of 4 units (8 cars) */
  58. 1 .. 9: return CB_RESULT_NO_TEXT;
  59. return string(STR_MAX_LENGTH_DM);
  60. }
  61.  
  62. /* ********************************************
  63. Trains
  64. **********************************************/
  65.  
  66.  
  67. /* Define the actual train */
  68. item(FEAT_TRAINS, item_dm_threecar) {
  69. /* Define properties first, make sure to set all of them */
  70. property {
  71. name: string(STR_NAME_DM_THREE);
  72. // not available in toyland:
  73. climates_available: bitmask(CLIMATE_TEMPERATE, CLIMATE_ARCTIC, CLIMATE_TROPICAL);
  74. introduction_date: date(1938, 6, 1);
  75. model_life: 74;
  76. vehicle_life: 30;
  77. reliability_decay: 20;
  78. refittable_cargo_classes: bitmask(CC_PASSENGERS);
  79. non_refittable_cargo_classes: bitmask();
  80. // refitting is done via cargo classes only, no cargo types need explicit enabling/disabling
  81. // It's an intercity train, loading is relatively slow:
  82. loading_speed: 6;
  83. cost_factor: 45;
  84. running_cost_factor: 100; // Changed by callback
  85. sprite_id: SPRITE_ID_NEW_TRAIN;
  86. speed: 97 km/h; // actually 140, but there are rounding errors
  87. misc_flags: bitmask(TRAIN_FLAG_MU);
  88. refit_cost: 0; //refit costs don't apply to subcargo display
  89. // callback flags are not set manually
  90. track_type: ELRL; // from rail type table
  91. ai_special_flag: AI_FLAG_PASSENGER;
  92. power: 400 kW; // Changed by CB
  93. running_cost_base: RUNNING_COST_ELECTRIC;
  94. dual_headed: 0;
  95. cargo_capacity: 22; // per part, changed by callback
  96. weight: 36 ton; // Total, changed by callback
  97. ai_engine_rank: 75; // not intended to be used by the ai
  98. engine_class: ENGINE_CLASS_ELECTRIC;
  99. extra_power_per_wagon: 0 kW;
  100. // 4/12 of weight on driving wheels, with a default friction coefficient of 0.3:
  101. tractive_effort_coefficient: 0.3 / 3; // changed by callback
  102. air_drag_coefficient: 0.07;
  103. //shorten_vehicle: SHORTEN_TO_8_8;
  104. // Overridden by callback to disable for non-powered wagons:
  105. visual_effect_and_powered: visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 2, DISABLE_WAGON_POWER);
  106. extra_weight_per_wagon: 0 ton;
  107. bitmask_vehicle_info: 0;
  108. }
  109.  
  110. /* Define graphics and callbacks
  111. * Setting all callbacks is not needed, only define what is used */
  112. graphics {
  113. default: sw_dm_threecar_graphics;
  114. purchase: set_purchase;
  115. start_stop: sw_ninecar_start_stop;
  116. articulated_part: sw_dm_articulated_part;
  117. can_attach_wagon: sw_dm_can_attach_wagon;
  118.  
  119. }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement