Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ********************************************
- Spritesets
- **********************************************/
- spriteset (set_dm_outercar_one, "gfx/dmd.png") { tmpl_standard_row(0, 0) }
- spriteset (set_dm_outercar_midcar, "gfx/dmd.png") { tmpl_standard_row(30, 0) }
- spriteset (set_dm_outercar_two, "gfx/dmd.png") { tmpl_standard_row(60, 0) }
- spriteset (set_dm_lead_powercar, "gfx/dmd.png") { tmpl_standard_row(90, 0) }
- spriteset (set_purchase, "gfx/dmd.png") { tmpl_vehicle_single(0,120, 32,12,-3,-6)}
- /* ********************************************
- Graphic Setup
- **********************************************/
- /* Choose between front, middle and back parts */
- switch(FEAT_TRAINS, SELF, sw_dm_threecar_graphics, position_in_consist % 3) {
- 0: set_dm_outercar_one;
- 2: set_dm_outercar_two;
- set_dm_outercar_midcar;
- }
- /* --- Articulated part callback --- */
- switch(FEAT_TRAINS, SELF, sw_dm_articulated_part, extra_callback_info1) {
- 1: return set_dm_outercar_midcar;
- 2: return set_dm_outercar_two;
- return CB_RESULT_NO_MORE_ARTICULATED_PARTS;
- }
- /* --- Wagon attach callback --- */
- switch(FEAT_TRAINS, SELF, sw_dm_can_attach_wagon, vehicle_type_id) {
- /* SELF refers to the wagon here, check that it's an dm */
- return CB_RESULT_ATTACH_ALLOW;
- }
- /* ********************************************
- Repeater Limits
- **********************************************/
- /* --- Start/stop callback --- */
- switch(FEAT_TRAINS, SELF, sw_ninecar_start_stop, num_vehs_in_consist) {
- /* Vehicles may be coupled to a maximum of 4 units (8 cars) */
- 1 .. 9: return CB_RESULT_NO_TEXT;
- return string(STR_MAX_LENGTH_DM);
- }
- /* ********************************************
- Trains
- **********************************************/
- /* Define the actual train */
- item(FEAT_TRAINS, item_dm_threecar) {
- /* Define properties first, make sure to set all of them */
- property {
- name: string(STR_NAME_DM_THREE);
- // not available in toyland:
- climates_available: bitmask(CLIMATE_TEMPERATE, CLIMATE_ARCTIC, CLIMATE_TROPICAL);
- introduction_date: date(1938, 6, 1);
- model_life: 74;
- vehicle_life: 30;
- reliability_decay: 20;
- refittable_cargo_classes: bitmask(CC_PASSENGERS);
- non_refittable_cargo_classes: bitmask();
- // refitting is done via cargo classes only, no cargo types need explicit enabling/disabling
- // It's an intercity train, loading is relatively slow:
- loading_speed: 6;
- cost_factor: 45;
- running_cost_factor: 100; // Changed by callback
- sprite_id: SPRITE_ID_NEW_TRAIN;
- speed: 97 km/h; // actually 140, but there are rounding errors
- misc_flags: bitmask(TRAIN_FLAG_MU);
- refit_cost: 0; //refit costs don't apply to subcargo display
- // callback flags are not set manually
- track_type: ELRL; // from rail type table
- ai_special_flag: AI_FLAG_PASSENGER;
- power: 400 kW; // Changed by CB
- running_cost_base: RUNNING_COST_ELECTRIC;
- dual_headed: 0;
- cargo_capacity: 22; // per part, changed by callback
- weight: 36 ton; // Total, changed by callback
- ai_engine_rank: 75; // not intended to be used by the ai
- engine_class: ENGINE_CLASS_ELECTRIC;
- extra_power_per_wagon: 0 kW;
- // 4/12 of weight on driving wheels, with a default friction coefficient of 0.3:
- tractive_effort_coefficient: 0.3 / 3; // changed by callback
- air_drag_coefficient: 0.07;
- //shorten_vehicle: SHORTEN_TO_8_8;
- // Overridden by callback to disable for non-powered wagons:
- visual_effect_and_powered: visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC, 2, DISABLE_WAGON_POWER);
- extra_weight_per_wagon: 0 ton;
- bitmask_vehicle_info: 0;
- }
- /* Define graphics and callbacks
- * Setting all callbacks is not needed, only define what is used */
- graphics {
- default: sw_dm_threecar_graphics;
- purchase: set_purchase;
- start_stop: sw_ninecar_start_stop;
- articulated_part: sw_dm_articulated_part;
- can_attach_wagon: sw_dm_can_attach_wagon;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement