// boxcar_11_280 /// Вагон #define IMAGEFILE "src/freight/boxcar-11-280.png" // покупка spriteset (boxcar_11_280_purchase_spriteset, IMAGEFILE) { s10_purchase_template(0, 38, -4) } // шаблон: движение/100%, 33%, 66%, 99% #define boxcar_11_280_sprite_layout_template(x, y, v) \ spriteset (boxcar_11_280##v##_spriteset, IMAGEFILE) \ { \ s10_template(x, y, 0) \ } \ \ spriteset (boxcar_11_280_1##v##_spriteset, IMAGEFILE) \ { \ s10_template(x, y+113-38, 0) \ } \ \ spriteset (boxcar_11_280_2##v##_spriteset, IMAGEFILE) \ { \ s10_template(x, y+188-38, 0) \ } \ \ spriteset (boxcar_11_280_3##v##_spriteset, IMAGEFILE) \ { \ s10_template(x, y+263-38, 0) \ } \ \ spritegroup boxcar_11_280##v##_spritegroup \ { \ loading: [boxcar_11_280_1##v##_spriteset, \ boxcar_11_280_1##v##_spriteset, \ boxcar_11_280_1##v##_spriteset, \ boxcar_11_280_2##v##_spriteset, \ boxcar_11_280_2##v##_spriteset, \ boxcar_11_280_2##v##_spriteset, \ boxcar_11_280_3##v##_spriteset, \ boxcar_11_280_3##v##_spriteset, \ boxcar_11_280_3##v##_spriteset, \ boxcar_11_280##v##_spriteset]; \ loaded: [boxcar_11_280##v##_spriteset]; \ } \ // ливреи boxcar_11_280_sprite_layout_template(0, 38,) #undef IMAGEFILE #define IMAGEFILE "src/freight/boxcar-11-280-baltic.png" boxcar_11_280_sprite_layout_template(0, 38, _v2) #undef IMAGEFILE #define IMAGEFILE "src/freight/boxcar-11-280-pid.png" boxcar_11_280_sprite_layout_template(0, 38, _v3) #undef IMAGEFILE switch (FEAT_TRAINS, SELF, boxcar_11_280_get_spriteset2, cargo_subtype) { 0..7: boxcar_11_280_spritegroup; 8: boxcar_11_280_v2_spritegroup; 9: boxcar_11_280_v3_spritegroup; align_10_spriteset; } // Если рисуем на карте и следующий в цепочке вагон скрыт, то // отдаём пустышку switch (FEAT_TRAINS, SELF, boxcar_11_280_get_spriteset, is_drawn_in_viewport() && is_hidden_at(1)) { 1: dummy_spriteset; boxcar_11_280_get_spriteset2; } random_switch (FEAT_TRAINS, SELF, boxcar_11_280_random, bitmask(TRIGGER_VEHICLE_UNLOAD_ALL, TRIGGER_VEHICLE_ANY_LOAD, TRIGGER_ALL_NEEDED) ) { 1: return ttd_cc + 31; 1: return ttd_cc + 32; 1: return ttd_cc + 33; 1: return ttd_cc + 41; 1: return ttd_cc + 48; 1: return ttd_cc + 57; 1: return ttd_cc + 79; } // cb colour_mapping switch (FEAT_TRAINS, SELF, boxcar_11_280_colour_mapping, cargo_subtype) { 0: boxcar_11_280_random; 1: return ttd_cc + 31; 2: return ttd_cc + 32; 3: return ttd_cc + 33; 4: return ttd_cc + 41; 5: return ttd_cc + 48; 6: return ttd_cc + 57; 7: return ttd_cc + 79; 8: return ttd_cc + 57; 9: return ttd_cc + 1 ; return CB_FAILED; } // cb cargo_subtype_text switch (FEAT_TRAINS, SELF, boxcar_11_280_cargo_subtype_text, cargo_subtype) { 0: string(STR_REFIT_FACTORY); 1: string(STR_REFIT_TTD_5C); 2: string(STR_REFIT_TTD_62); 3: string(STR_REFIT_TTD_63); 4: string(STR_REFIT_TTD_73); 5: string(STR_REFIT_TTD_83); 6: string(STR_REFIT_TTD_9C); 7: string(STR_REFIT_TTD_CE); 8: string(STR_REFIT_BALTICA); 9: string(STR_REFIT_RZD_PID); return CB_RESULT_NO_TEXT; } switch (FEAT_TRAINS, SELF, boxcar_11_280_cargo_capacity, cargo_type_in_veh) { GOOD: return 136; return 68; } item (FEAT_TRAINS, boxcar_11_280) { property { name: string(STR_BOXCAR_11_280_NAME); climates_available: get_climates_available(); introduction_date: date(get_car_year(1991), 1, 1); model_life: 32; vehicle_life: 32; reliability_decay: 20; cargo_allow_refit: [GOOD, WOOL, ENSP, MNSP, CERA, FICR, BDMT]; default_cargo_type: GOOD; refit_cost: 0; cost_factor: get_car_cost_factor(); running_cost_factor: get_car_running_cost_factor(); sprite_id: SPRITE_ID_NEW_TRAIN; speed: 120 km/h; misc_flags: bitmask(TRAIN_FLAG_TILT, TRAIN_FLAG_MU, TRAIN_FLAG_AUTOREFIT); track_type: get_normal_track_type(); power: 0 hpM; running_cost_base: RUNNING_COST_DIESEL; loading_speed: 17; cargo_capacity: 68*2; weight: 26 ton; length: 8; visual_effect_and_powered: disable_visual_effect_and_powered(); bitmask_vehicle_info: 0; } graphics { default: boxcar_11_280_get_spriteset; purchase: boxcar_11_280_purchase_spriteset; articulated_part: articulated_part_dummy2; additional_text: return string(STR_BOXCAR_11_280_PURCHASE_HINT); refit_cost: return 0 | CB_RESULT_AUTOREFIT; cargo_capacity: boxcar_11_280_cargo_capacity; cargo_subtype_text: boxcar_11_280_cargo_subtype_text; colour_mapping: boxcar_11_280_colour_mapping; } }