Loading

WIRES.grf

  1. grf {
  2.     grfid : "WIRE";
  3.     name : string(STR_GRF_NAME);
  4.     desc : string(STR_GRF_DESCRIPTION);
  5.     url  : string(STR_GRF_WEBSITE);
  6.     version: 1;
  7.     min_compatible_version: 1;
  8.     param {
  9.         param_vehicle_graphics {
  10.             name: string(STR_VEHICLE_GRAPHICS_NAME);
  11.             desc: string(STR_VEHICLE_GRAPHICS_DESC);
  12.             //type: int;
  13.             min_value: 1;
  14.             max_value: 1;
  15.             def_value: 1;
  16.             names: {
  17.                 1: string(STR_PARAM_SPARKS);
  18.                 //2: string(STR_PARAM_ARROWS);
  19.             };
  20.         }
  21.     }  
  22. }
  23.  
  24. cargotable {
  25.     COAL, OIL_, ELTR
  26. }
  27.  
  28. railtypetable {
  29.     RAIL, ELRL, MONO, MGLV, WIRE
  30. }
  31.  
  32. spriteset(empty, "empty.png") {
  33.     [0, 0]
  34. }
  35.  
  36. spriteset(level_crossing_set, "empty.png") {
  37.     [0, 0, "empty.png"]
  38.     [0, 0, "empty.png"]
  39.     [0, 0, "empty.png"]
  40.     [0, 0, "empty.png"]
  41.     [0, 0, "empty.png"]
  42.     [0, 0, "empty.png"]
  43. }
  44.  
  45. spriteset(empty_fence_set, "empty.png") {
  46.     [0, 0, "empty.png"]
  47.     [0, 0, "empty.png"]
  48.     [0, 0, "empty.png"]
  49.     [0, 0, "empty.png"]
  50.     [0, 0, "empty.png"]
  51.     [0, 0, "empty.png"]
  52.     [0, 0, "empty.png"]
  53.     [0, 0, "empty.png"]
  54. }
  55.  
  56. spriteset(empty_overlay_set, "empty.png") {
  57.     [0, 0, "empty.png"]
  58.     [0, 0, "empty.png"]
  59.     [0, 0, "empty.png"]
  60.     [0, 0, "empty.png"]
  61.     [0, 0, "empty.png"]
  62.     [0, 0, "empty.png"]
  63.     [0, 0, "empty.png"]
  64.     [0, 0, "empty.png"]
  65.     [0, 0, "empty.png"]
  66.     [0, 0, "empty.png"]
  67. }
  68.  
  69. spriteset(empty_underlay_set, "empty.png") {
  70.     [0, 0, "empty.png"]
  71.     [0, 0, "empty.png"]
  72.     [0, 0, "empty.png"]
  73.     [0, 0, "empty.png"]
  74.     [0, 0, "empty.png"]
  75.     [0, 0, "empty.png"]
  76.     [0, 0, "empty.png"]
  77.     [0, 0, "empty.png"]
  78.     [0, 0, "empty.png"]
  79.     [0, 0, "empty.png"]
  80.     [0, 0, "empty.png"]
  81.     [0, 0, "empty.png"]
  82.     [0, 0, "empty.png"]
  83.     [0, 0, "empty.png"]
  84.     [0, 0, "empty.png"]
  85.     [0, 0, "empty.png"]
  86. }
  87.  
  88. spriteset(nospark_set, "dark.png") {
  89.     [0, 0]
  90. }
  91.  
  92. spriteset(arrow_set, "empty.png") {
  93.     [0, 0]
  94. }
  95.  
  96. spriteset(spark_1_set, "N\1.png") {
  97.     [-2,    -16,        "N\1.png"]
  98.     [-8,    -10,        "NE\1.png"]
  99.     [1,     -11,        "E\1.png"]
  100.     [3,     -11,        "SE\1.png"]
  101.     [-2,    -9,         "S\1.png"]
  102.     [-9,    -10,        "SW\1.png"]
  103.     [-4,    -11,        "W\1.png"]
  104.     [4,     -12,        "NW\1.png"]
  105. }
  106.  
  107. spriteset(spark_2_set, "N\2.png") {
  108.     [-2,    -16,        "N\2.png"]
  109.     [-8,    -10,        "NE\2.png"]
  110.     [1,     -11,        "E\2.png"]
  111.     [3,     -11,        "SE\2.png"]
  112.     [-2,    -9,         "S\2.png"]
  113.     [-9,    -10,        "SW\2.png"]
  114.     [-4,    -11,        "W\2.png"]
  115.     [4,     -12,        "NW\2.png"]
  116. }
  117.  
  118. spriteset(spark_3_set, "N\3.png") {
  119.     [-2,    -16,        "N\3.png"]
  120.     [-8,    -10,        "NE\3.png"]
  121.     [1,     -11,        "E\3.png"]
  122.     [3,     -11,        "SE\3.png"]
  123.     [-2,    -9,         "S\3.png"]
  124.     [-9,    -10,        "SW\3.png"]
  125.     [-4,    -11,        "W\3.png"]
  126.     [4,     -12,        "NW\3.png"]
  127. }
  128.  
  129. spriteset(spark_4_set, "N\4.png") {
  130.     [-2,    -16,        "N\4.png"]
  131.     [-8,    -10,        "NE\4.png"]
  132.     [1,     -11,        "E\4.png"]
  133.     [3,     -11,        "SE\4.png"]
  134.     [-2,    -9,         "S\4.png"]
  135.     [-9,    -10,        "SW\4.png"]
  136.     [-4,    -11,        "W\4.png"]
  137.     [4,     -12,        "NW\4.png"]
  138. }
  139.  
  140. spriteset(spark_purchase_set, "W\1.png") {
  141.     [-4,    -1]
  142. }
  143.  
  144. spriteset(eltr_cargo_icon, "cargo icon.png") {
  145.     [3, -1]
  146. }
  147.  
  148. switch (FEAT_TRAINS, SELF, spark_anim_switch, motion_counter % 8) {
  149.     0: spark_1_set;
  150.     1: spark_1_set;
  151.     2: spark_2_set;
  152.     3: spark_2_set;
  153.     4: spark_3_set;
  154.     5: spark_3_set;
  155.     6: spark_4_set;
  156.     7: spark_4_set;
  157.     CB_FAILED;
  158. }
  159.  
  160. switch(FEAT_TRAINS, SELF, spark_viewport_switch, extra_callback_info1) {
  161.     /* Decide whether vehicle is drawn on map or in a special window  */
  162.     0x00:           spark_anim_switch;
  163.     0x10..0x12:     spark_purchase_set;
  164.     return spark_purchase_set;
  165. }
  166.  
  167. switch (FEAT_TRAINS, SELF, spark_gfx_switch, param_vehicle_graphics) {
  168.     1:      spark_viewport_switch;
  169.     2:      arrow_set;
  170.     3:      nospark_set;
  171.     CB_FAILED;
  172. }
  173.  
  174. switch (FEAT_TRAINS, SELF, spark_vfx_switch, param_vehicle_graphics) {
  175.     1:          visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 0, DISABLE_WAGON_POWER);
  176.     2:          visual_effect_and_powered(VISUAL_EFFECT_DISABLE, 0, DISABLE_WAGON_POWER);
  177.     CB_FAILED;
  178. }
  179.  
  180. switch (FEAT_TRAINS, SELF, spark_sfx_switch, extra_callback_info1) {
  181.     SOUND_EVENT_START:          CB_RESULT_NO_SOUND;
  182.     SOUND_EVENT_TUNNEL:         SOUND_ELECTRIC_SPARK;
  183.     CB_FAILED;
  184. }
  185.  
  186. item (FEAT_CARGOS, electricity, 12) {
  187.     property {
  188.         number:                         31;
  189.         type_name:                      string(STR_NAME_ELECTRICITY);
  190.         unit_name:                      string(STR_NAME_ELECTRICITY);
  191.         units_of_cargo:                 string(STR_SHORT_KWH);
  192.         items_of_cargo:                 string(STR_UNITS_ELECTRICITY);
  193.         type_abbreviation:              string(STR_TINY_ELECTRICITY);
  194.         sprite:                         NEW_CARGO_SPRITE;
  195.         weight:                         0.001;
  196.         is_freight:                     1;
  197.         price_factor:                   15;
  198.         station_list_colour:            161;
  199.         cargo_payment_list_colour:      161;
  200.         cargo_classes:                  bitmask(CC_SPECIAL);
  201.         cargo_label:                    "ELTR";
  202.         town_growth_effect:             TOWNGROWTH_GOODS;
  203.         town_growth_multiplier:         1.0;       
  204.     }
  205.     graphics {
  206.         default:                        eltr_cargo_icon;
  207.     }
  208. }
  209.  
  210. produce(produce_eltr, 250, 0, 0, 500, 0);
  211. produce(produce_eltr_256, 0, 0, 0, 50, 0);
  212.  
  213. item (FEAT_INDUSTRIES, pplant_override) {
  214.     property {
  215.         substitute:                     INDUSTRYTYPE_POWER_PLANT;
  216.         override:                       INDUSTRYTYPE_POWER_PLANT;
  217.         life_type:                      IND_LIFE_TYPE_PROCESSING;
  218.         prod_cargo_types:               [ELTR];
  219.         prod_multiplier:                [50, 0];
  220.         input_multiplier_1:             [2, 0];
  221.     }
  222.     graphics {
  223.         produce_cargo_arrival:          produce_eltr;
  224.         //produce_256_ticks:                produce_eltr_256;
  225.     }  
  226. }
  227.  
  228. item(FEAT_INDUSTRYTILES, substation_tile_1) {
  229.     property {
  230.         substitute: 9;
  231.         override: 9;
  232.         accepted_cargos: [[ELTR, 8]];
  233.     }
  234. }
  235.  
  236. item(FEAT_INDUSTRYTILES, substation_tile_2) {
  237.     property {
  238.         substitute: 10;
  239.         override: 10;
  240.         accepted_cargos: [[ELTR, 8]];
  241.     }
  242. }
  243.  
  244. tilelayout tilelayout_substation_1 {
  245.     0, 0: substation_tile_2;
  246. }
  247.  
  248. tilelayout tilelayout_substation_2 {
  249.     0, 0: substation_tile_2;
  250.     1, 0: substation_tile_1;
  251. }
  252.  
  253. tilelayout tilelayout_substation_3 {
  254.     0, 0: substation_tile_1;
  255.     1, 0: substation_tile_2;
  256. }
  257.  
  258. tilelayout tilelayout_substation_4 {
  259.     0, 0: substation_tile_1;
  260.     0, 1: substation_tile_2;
  261. }
  262.  
  263. tilelayout tilelayout_substation_5 {
  264.     0, 0: substation_tile_2;
  265.     0, 1: substation_tile_1;
  266. }
  267.  
  268. tilelayout tilelayout_substation_6 {
  269.     0, 0: substation_tile_2;
  270.     0, 1: substation_tile_2;
  271. }
  272.  
  273. tilelayout tilelayout_substation_7 {
  274.     0, 0: substation_tile_2;
  275.     0, 1: substation_tile_2;
  276. }
  277.  
  278. item (FEAT_INDUSTRIES, substation) {
  279.     property {
  280.         substitute:             0;
  281.         layouts:                [tilelayout_substation_1, tilelayout_substation_2, tilelayout_substation_3, tilelayout_substation_4, tilelayout_substation_5, tilelayout_substation_6, tilelayout_substation_7];
  282.         life_type:              IND_LIFE_TYPE_BLACK_HOLE;
  283.         name:                   string(STR_NAME_SUBSTATION);
  284.         nearby_station_name:    string(STR_STATION, string(STR_TOWN), string(STR_NAME_SUBSTATION));
  285.         new_ind_msg:            TTD_STR_NEWS_INDUSTRY_CONSTRUCTION;
  286.  
  287.         prod_cargo_types:       [];
  288.         accept_cargo_types:     [ELTR];
  289.  
  290.         prod_multiplier:        [0, 0];
  291.         input_multiplier_1:     [0, 0];
  292.         input_multiplier_2:     [0, 0];
  293.         input_multiplier_3:     [0, 0];
  294.         min_cargo_distr:        2;
  295.  
  296.         conflicting_ind_types:  [];
  297.         spec_flags:             bitmask(IND_FLAG_BUILT_NEAR_TOWN);
  298.         prob_random:            14;
  299.         prob_in_game:           14;
  300.         prospect_chance:        0.75;
  301.         fund_cost_multiplier:   1;
  302.         random_sound_effects:   [SOUND_ELECTRIC_SPARK];
  303.         remove_cost_multiplier: 0;
  304.         map_colour:             161;
  305.     }
  306. }
  307.  
  308.  item (FEAT_TRAINS, DC_transmitter) {
  309.     property {
  310.         name:                           string(STR_NAME_DC_TRANSMITTER);
  311.         climates_available:             ALL_CLIMATES;
  312.         introduction_date:              date(1882,1,1);
  313.         model_life:                     30;
  314.         retire_early:                   3;
  315.         vehicle_life:                   7;
  316.         sprite_id:                      SPRITE_ID_NEW_TRAIN;
  317.         speed:                          18000;
  318.         running_cost_base:              RUNNING_COST_ELECTRIC;
  319.         track_type:                     WIRE;
  320.         power:                          5000 hp;
  321.         weight:                         0.0001;
  322.         air_drag_coefficient:           0.0001;
  323.         cargo_capacity:                 10;
  324.         loading_speed:                  10;
  325.         length:                         2;
  326.         visual_effect_and_powered:      visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 0, DISABLE_WAGON_POWER);
  327.         cost_factor:                    10;
  328.         running_cost_factor:            20;
  329.         cargo_allow_refit:              [ELTR];
  330.         cargo_age_period:               1;
  331.     }
  332.     graphics {
  333.         default:                        spark_gfx_switch;
  334.         //purchase:                     DC_transmitter_purchase_set;
  335.         purchase:                       spark_purchase_set;
  336.         additional_text:                string(STR_DC_TRANSMITTER_ADDITIONAL_TEXT);
  337.         sound_effect:                   spark_sfx_switch;
  338.         visual_effect_and_powered:      spark_vfx_switch;
  339.     }
  340. }
  341.  
  342.  item (FEAT_TRAINS, AC_transmitter) {
  343.     property {
  344.         name:                           string(STR_NAME_AC_TRANSMITTER);
  345.         climates_available:             ALL_CLIMATES;
  346.         introduction_date:              date(1891,1,1);
  347.         model_life:                     30;
  348.         retire_early:                   3;
  349.         vehicle_life:                   10;
  350.         sprite_id:                      SPRITE_ID_NEW_TRAIN;
  351.         speed:                          18000;
  352.         running_cost_base:              RUNNING_COST_ELECTRIC;
  353.         track_type:                     WIRE;
  354.         power:                          10000 hp;
  355.         weight:                         0.0001;
  356.         air_drag_coefficient:           0.0001;
  357.         cargo_capacity:                 20;
  358.         loading_speed:                  20;
  359.         length:                         2;
  360.         visual_effect_and_powered:      visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 0, DISABLE_WAGON_POWER);
  361.         cost_factor:                    20;
  362.         running_cost_factor:            15;
  363.         cargo_allow_refit:              [ELTR];
  364.         cargo_age_period:               2;
  365.     }
  366.     graphics {
  367.         default:                        spark_gfx_switch;
  368.         //purchase:                     AC_transmitter_purchase_set;
  369.         purchase:                       spark_purchase_set;
  370.         additional_text:                string(STR_AC_TRANSMITTER_ADDITIONAL_TEXT);
  371.         sound_effect:                   spark_sfx_switch;
  372.         visual_effect_and_powered:      spark_vfx_switch;
  373.     }
  374. }
  375.  
  376.  item (FEAT_TRAINS, HVAC_transmitter) {
  377.     property {
  378.         name:                           string(STR_NAME_HVAC_TRANSMITTER);
  379.         climates_available:             ALL_CLIMATES;
  380.         introduction_date:              date(1907,1,1);
  381.         model_life:                     40;
  382.         retire_early:                   0;
  383.         vehicle_life:                   20;
  384.         sprite_id:                      SPRITE_ID_NEW_TRAIN;
  385.         speed:                          18000;
  386.         running_cost_base:              RUNNING_COST_ELECTRIC;
  387.         track_type:                     WIRE;
  388.         power:                          12500 hp;
  389.         weight:                         0.0001;
  390.         air_drag_coefficient:           0.0001;
  391.         cargo_capacity:                 40;
  392.         loading_speed:                  40;
  393.         length:                         2;
  394.         visual_effect_and_powered:      visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 0, DISABLE_WAGON_POWER);
  395.         cost_factor:                    25;
  396.         running_cost_factor:            18;
  397.         cargo_allow_refit:              [ELTR];
  398.         cargo_age_period:               3;
  399.     }
  400.     graphics {
  401.         default:                        spark_gfx_switch;
  402.         //purchase:                     HVAC_transmitter_purchase_set;
  403.         purchase:                       spark_purchase_set;
  404.         additional_text:                string(STR_HVAC_TRANSMITTER_ADDITIONAL_TEXT);
  405.         sound_effect:                   spark_sfx_switch;
  406.         visual_effect_and_powered:      spark_vfx_switch;
  407.     }
  408. }
  409.  
  410.  item (FEAT_TRAINS, VHVAC_transmitter) {
  411.     property {
  412.         name:                           string(STR_NAME_VHVAC_TRANSMITTER);
  413.         climates_available:             ALL_CLIMATES;
  414.         introduction_date:              date(1923,1,1);
  415.         model_life:                     40;
  416.         retire_early:                   0;
  417.         vehicle_life:                   25;
  418.         sprite_id:                      SPRITE_ID_NEW_TRAIN;
  419.         speed:                          18000;
  420.         running_cost_base:              RUNNING_COST_ELECTRIC;
  421.         track_type:                     WIRE;
  422.         power:                          15000 hp;
  423.         weight:                         0.0001;
  424.         air_drag_coefficient:           0.0001;
  425.         cargo_capacity:                 80;
  426.         loading_speed:                  80;
  427.         length:                         2;
  428.         visual_effect_and_powered:      visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 0, DISABLE_WAGON_POWER);
  429.         cost_factor:                    32;
  430.         running_cost_factor:            20;
  431.         cargo_allow_refit:              [ELTR];
  432.         cargo_age_period:               4;
  433.     }
  434.     graphics {
  435.         default:                        spark_gfx_switch;
  436.         //purchase:                     HVAC_transmitter_purchase_set;
  437.         purchase:                       spark_purchase_set;
  438.         additional_text:                string(STR_VHVAC_TRANSMITTER_ADDITIONAL_TEXT);
  439.         sound_effect:                   spark_sfx_switch;
  440.         visual_effect_and_powered:      spark_vfx_switch;
  441.     }
  442. }
  443.  
  444.  item (FEAT_TRAINS, EHVAC_transmitter) {
  445.     property {
  446.         name:                           string(STR_NAME_EHVAC_TRANSMITTER);
  447.         climates_available:             ALL_CLIMATES;
  448.         introduction_date:              date(1953,1,1);
  449.         model_life:                     40;
  450.         retire_early:                   0;
  451.         vehicle_life:                   25;
  452.         sprite_id:                      SPRITE_ID_NEW_TRAIN;
  453.         speed:                          18000;
  454.         running_cost_base:              RUNNING_COST_ELECTRIC;
  455.         track_type:                     WIRE;
  456.         power:                          17500 hp;
  457.         weight:                         0.0001;
  458.         air_drag_coefficient:           0.0001;
  459.         cargo_capacity:                 150;
  460.         loading_speed:                  150;
  461.         length:                         2;
  462.         visual_effect_and_powered:      visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 0, DISABLE_WAGON_POWER);
  463.         cost_factor:                    42;
  464.         running_cost_factor:            22;
  465.         cargo_allow_refit:              [ELTR];
  466.         cargo_age_period:               5;
  467.     }
  468.     graphics {
  469.         default:                        spark_gfx_switch;
  470.         //purchase:                     HVAC_transmitter_purchase_set;
  471.         purchase:                       spark_purchase_set;
  472.         additional_text:                string(STR_EHVAC_TRANSMITTER_ADDITIONAL_TEXT);
  473.         sound_effect:                   spark_sfx_switch;
  474.         visual_effect_and_powered:      spark_vfx_switch;
  475.     }
  476. }
  477.  
  478.  item (FEAT_TRAINS, UHVAC_transmitter) {
  479.     property {
  480.         name:                           string(STR_NAME_UHVAC_TRANSMITTER);
  481.         climates_available:             ALL_CLIMATES;
  482.         introduction_date:              date(1982,1,1);
  483.         model_life:                     VEHICLE_NEVER_EXPIRES;
  484.         retire_early:                   0;
  485.         vehicle_life:                   30;
  486.         sprite_id:                      SPRITE_ID_NEW_TRAIN;
  487.         speed:                          18000;
  488.         running_cost_base:              RUNNING_COST_ELECTRIC;
  489.         track_type:                     WIRE;
  490.         power:                          20000 hp;
  491.         weight:                         0.0001;
  492.         air_drag_coefficient:           0.0001;
  493.         cargo_capacity:                 250;
  494.         loading_speed:                  250;
  495.         length:                         2;
  496.         visual_effect_and_powered:      visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 0, DISABLE_WAGON_POWER);
  497.         cost_factor:                    50;
  498.         running_cost_factor:            25;
  499.         cargo_allow_refit:              [ELTR];
  500.         cargo_age_period:               6;
  501.     }
  502.     graphics {
  503.         default:                        spark_gfx_switch;
  504.         //purchase:                     HVAC_transmitter_purchase_set;
  505.         purchase:                       spark_purchase_set;
  506.         additional_text:                string(STR_UHVAC_TRANSMITTER_ADDITIONAL_TEXT);
  507.         sound_effect:                   spark_sfx_switch;
  508.         visual_effect_and_powered:      spark_vfx_switch;
  509.     }
  510. }
  511.  
  512. item (FEAT_RAILTYPES, power_lines) {
  513.     property {
  514.         label:                          "WIRE";
  515.         introduction_date:              date(1882,1,1);
  516.         name:                           string(STR_NAME_POWER_LINES);
  517.         toolbar_caption:                string(STR_POWER_LINES_TOOLBAR);
  518.         menu_text:                      string(STR_POWER_LINES_MENU);
  519.         build_window_caption:           string(STR_POWER_LINES_BUILD_WINDOW);
  520.         autoreplace_text:               string(STR_POWER_LINES_AUTOREPLACE);
  521.         new_engine_text:                string(STR_POWER_LINES_NEW_ENGINE);
  522.         compatible_railtype_list:       ["WIRE"];
  523.         powered_railtype_list:          ["WIRE"];
  524.         railtype_flags:                 bitmask(RAILTYPE_FLAG_CATENARY);
  525.         curve_speed_multiplier:         255;
  526.         station_graphics:               RAILTYPE_STATION_MAGLEV;
  527.         construction_cost:              1;
  528.         speed_limit:                    0;
  529.         acceleration_model:             ACC_MODEL_MAGLEV;
  530.         map_colour:                     161;
  531.         sort_order:                     249;
  532.         maintenance_cost:               1;
  533.     }
  534.     graphics {
  535.         //gui:                      gui_set;
  536.         track_overlay:              empty_overlay_set;
  537.         underlay:                   empty_underlay_set;
  538.         //tunnels:                  empty;
  539.         //catenary_wire:            TBD;
  540.         //catenary_pylons:          TBD;
  541.         //bridge_surfaces:          empty;
  542.         level_crossings:            level_crossing_set;
  543.         //depots:                       depots_set;
  544.         fences:                     empty_fence_set;
  545.         //tunnel_overlay:               dunno yet;
  546.         signals:                    empty_fence_set;
  547.     }
  548. }

Comments