// IW6 GSC SOURCE // Generated by https://github.com/xensik/gsc-tool init_vehicles() { if ( isdefined( level.disablevehiclescripts ) && level.disablevehiclescripts ) return; maps\_vehicle_code::setup_levelvars(); level.helicopter_crash_locations = common_scripts\utility::array_combine( level.helicopter_crash_locations, maps\_utility::getstructarray_delete( "helicopter_crash_location", "targetname" ) ); maps\_vehicle_code::setup_vehicle_spawners(); common_scripts\utility::array_thread( getentarray( "truckjunk", "targetname" ), maps\_vehicle_code::truckjunk ); common_scripts\utility::array_thread( getentarray( "truckjunk", "script_noteworthy" ), maps\_vehicle_code::truckjunk ); common_scripts\utility::array_thread( common_scripts\utility::getstructarray( "truckjunk", "targetname" ), maps\_vehicle_code::truckjunk ); common_scripts\utility::array_thread( common_scripts\utility::getstructarray( "truckjunk", "script_noteworthy" ), maps\_vehicle_code::truckjunk ); maps\_vehicle_code::setup_ai(); maps\_vehicle_code::setup_triggers(); var_0 = maps\_vehicle_code::precache_scripts(); maps\_vehicle_code::setup_vehicles( var_0 ); if ( isdefined( level.optimizedvehicletriggerprocess ) ) common_scripts\utility::array_levelthread( level.vehicle_processtriggers, ::trigger_process_set ); else common_scripts\utility::array_levelthread( level.vehicle_processtriggers, maps\_vehicle_code::trigger_process ); level.vehicle_processtriggers = undefined; level.levelhasvehicles = getentarray( "script_vehicle", "code_classname" ).size > 0; maps\_utility::add_hint_string( "invulerable_frags", &"SCRIPT_INVULERABLE_FRAGS", undefined ); maps\_utility::add_hint_string( "invulerable_bullets", &"SCRIPT_INVULERABLE_BULLETS", undefined ); common_scripts\utility::create_lock( "aircraft_wash_math" ); } trigger_process_set( var_0 ) { var_0.optimized_process_trigger = 1; } vehicle_paths( var_0, var_1, var_2 ) { return maps\_vehicle_code::_vehicle_paths( var_0, var_1, var_2 ); } create_vehicle_from_spawngroup_and_gopath( var_0 ) { var_1 = scripted_spawn( var_0 ); foreach ( var_3 in var_1 ) level thread gopath( var_3 ); return var_1; } gopath( var_0 ) { return maps\_vehicle_code::_gopath( var_0 ); } scripted_spawn( var_0 ) { var_1 = maps\_vehicle_code::_getvehiclespawnerarray_by_spawngroup( var_0 ); var_2 = []; foreach ( var_4 in var_1 ) var_2[var_2.size] = vehicle_spawn( var_4 ); return var_2; } vehicle_spawn( var_0 ) { return maps\_vehicle_code::_vehicle_spawn( var_0 ); } kill_fx( var_0, var_1 ) { return maps\_vehicle_code::_kill_fx( var_0, var_1 ); } build_radiusdamage( var_0, var_1, var_2, var_3, var_4, var_5 ) { if ( !isdefined( level.vehicle_death_radiusdamage ) ) level.vehicle_death_radiusdamage = []; if ( !isdefined( var_4 ) ) var_4 = 0; if ( !isdefined( var_0 ) ) var_0 = ( 0, 0, 0 ); var_6 = spawnstruct(); var_6.offset = var_0; var_6.range = var_1; var_6.maxdamage = var_2; var_6.mindamage = var_3; var_6.bkillplayer = var_4; var_6.delay = var_5; level.vehicle_death_radiusdamage[level.vtclassname] = var_6; } build_rumble( var_0, var_1, var_2, var_3, var_4, var_5 ) { if ( !isdefined( level.vehicle_rumble ) ) level.vehicle_rumble = []; var_6 = build_quake( var_1, var_2, var_3, var_4, var_5 ); precacherumble( var_0 ); var_6.rumble = var_0; level.vehicle_rumble[level.vtclassname] = var_6; } build_rumble_override( var_0, var_1, var_2, var_3, var_4, var_5, var_6 ) { if ( !isdefined( level.vehicle_rumble_override ) ) level.vehicle_rumble_override = []; var_7 = build_quake( var_2, var_3, var_4, var_5, var_6 ); precacherumble( var_1 ); var_7.rumble = var_1; level.vehicle_rumble_override[var_0] = var_7; } build_rumble_unique( var_0, var_1, var_2, var_3, var_4, var_5 ) { var_6 = build_quake( var_1, var_2, var_3, var_4, var_5 ); var_6.rumble = var_0; self.vehicle_rumble_unique = var_6; vehicle_kill_rumble_forever(); thread maps\_vehicle_code::vehicle_rumble(); } build_deathquake( var_0, var_1, var_2 ) { var_3 = level.vtclassname; if ( !isdefined( level.vehicle_death_earthquake ) ) level.vehicle_death_earthquake = []; level.vehicle_death_earthquake[var_3] = build_quake( var_0, var_1, var_2 ); } build_quake( var_0, var_1, var_2, var_3, var_4 ) { var_5 = spawnstruct(); var_5.scale = var_0; var_5.duration = var_1; var_5.radius = var_2; if ( isdefined( var_3 ) ) var_5.basetime = var_3; if ( isdefined( var_4 ) ) var_5.randomaditionaltime = var_4; return var_5; } build_fx( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 ) { if ( !isdefined( var_5 ) ) var_5 = 0; if ( !isdefined( var_3 ) ) var_3 = 0; if ( !isdefined( var_4 ) ) var_4 = 1; var_11 = spawnstruct(); var_11.effect = loadfx( var_0 ); var_11.tag = var_1; var_11.sound = var_2; var_11.bsoundlooping = var_5; var_11.delay = var_4; var_11.waitdelay = var_6; var_11.stayontag = var_7; var_11.notifystring = var_8; var_11.beffectlooping = var_3; var_11.selfdeletedelay = var_9; var_11.remove_deathfx_entity_delay = var_10; return var_11; } build_deathfx_override( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11, var_12 ) { if ( !isdefined( level.script ) ) level.script = tolower( getdvar( "mapname" ) ); level.vttype = var_1; level.vtmodel = var_2; level.vtoverride = 1; level.vtclassname = var_0; if ( !isdefined( level.vehicle_death_fx ) ) level.vehicle_death_fx = []; if ( !is_overrode( var_0 ) ) level.vehicle_death_fx[var_0] = []; level.vehicle_death_fx_override[var_0] = 1; if ( !isdefined( level.vehicle_death_fx[var_0] ) ) level.vehicle_death_fx[var_0] = []; level.vehicle_death_fx[var_0][level.vehicle_death_fx[var_0].size] = build_fx( var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11, var_12 ); level.vtoverride = undefined; } build_deathfx( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 ) { var_11 = level.vtclassname; if ( is_overrode( var_11 ) ) return; if ( !isdefined( level.vehicle_death_fx[var_11] ) ) level.vehicle_death_fx[var_11] = []; level.vehicle_death_fx[var_11][level.vehicle_death_fx[var_11].size] = build_fx( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 ); } build_deathanim( var_0 ) { var_1 = level.vtclassname; if ( !isdefined( level.vehicle_death_anim[var_1] ) ) level.vehicle_death_anim[var_1] = []; level.vehicle_death_anim[var_1] = var_0; } is_overrode( var_0 ) { if ( !isdefined( level.vehicle_death_fx_override ) ) return 0; if ( !isdefined( level.vehicle_death_fx_override[var_0] ) ) return 0; if ( isdefined( level.vtoverride ) ) return 1; return level.vehicle_death_fx_override[var_0]; } build_rocket_deathfx( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 ) { var_11 = level.vtclassname; level.vtclassname = "rocket_death" + var_11; build_deathfx( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 ); level.vtclassname = var_11; } force_kill() { return maps\_vehicle_code::_force_kill(); } godon() { self.godmode = 1; } godoff() { self.godmode = 0; } mgoff() { return maps\_vehicle_code::_mgoff(); } mgon() { return maps\_vehicle_code::_mgon(); } isvehicle() { return isdefined( self.vehicletype ); } build_turret( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8 ) { if ( !isdefined( level.vehicle_mgturret ) ) level.vehicle_mgturret = []; var_9 = level.vtclassname; if ( !isdefined( level.vehicle_mgturret[var_9] ) ) level.vehicle_mgturret[var_9] = []; precachemodel( var_2 ); precacheturret( var_0 ); var_10 = spawnstruct(); var_10.info = var_0; var_10.tag = var_1; var_10.model = var_2; var_10.maxrange = var_3; var_10.defaultonmode = var_4; var_10.deletedelay = var_5; var_10.defaultdroppitch = var_6; var_10.defaultdropyaw = var_7; if ( isdefined( var_8 ) ) var_10.offset_tag = var_8; level.vehicle_mgturret[var_9][level.vehicle_mgturret[var_9].size] = var_10; } vehicle_is_crashing() { return maps\_vehicle_code::_vehicle_is_crashing(); } is_godmode() { return maps\_vehicle_code::_is_godmode(); } vehicle_kill_rumble_forever() { self notify( "kill_rumble_forever" ); } move_truck_junk_here( var_0 ) { if ( !isdefined( self.truckjunk ) ) return; foreach ( var_2 in self.truckjunk ) { if ( var_2 == var_0 ) continue; var_2 unlink(); if ( isdefined( var_2.script_ghettotag ) ) { var_2 linkto( var_0, var_2.script_ghettotag, var_2.base_origin, var_2.base_angles ); continue; } var_2 linkto( var_0 ); } } dummy_to_vehicle() { if ( ishelicopter() ) self.modeldummy.origin = self gettagorigin( "tag_ground" ); else { self.modeldummy.origin = self.origin; self.modeldummy.angles = self.angles; } self show(); move_riders_here( self ); maps\_vehicle_code::move_turrets_here( self ); thread maps\_vehicle_code::move_lights_here( self ); maps\_vehicle_code::move_effects_ent_here( self ); self.modeldummyon = 0; self.modeldummy delete(); self.modeldummy = undefined; if ( maps\_vehicle_code::hashelicopterdustkickup() ) { self notify( "stop_kicking_up_dust" ); thread maps\_vehicle_code::aircraft_wash_thread(); } return self.modeldummy; } move_riders_here( var_0 ) { if ( !isdefined( self.riders ) ) return; var_1 = self.riders; foreach ( var_3 in var_1 ) { if ( !isdefined( var_3 ) ) continue; var_4 = maps\_vehicle_aianim::anim_pos( self, var_3.vehicle_position ); if ( isdefined( var_4.passenger_2_turret_func ) ) continue; var_3 unlink(); var_3 linkto( var_0, var_4.sittag, ( 0, 0, 0 ), ( 0, 0, 0 ) ); if ( isai( var_3 ) ) { var_3 forceteleport( var_0 gettagorigin( var_4.sittag ) ); continue; } var_3.origin = var_0 gettagorigin( var_4.sittag ); } } spawn_vehicles_from_targetname( var_0 ) { var_1 = []; var_1 = maps\_vehicle_code::spawn_vehicles_from_targetname_newstyle( var_0 ); return var_1; } spawn_vehicle_from_targetname( var_0 ) { var_1 = spawn_vehicles_from_targetname( var_0 ); return var_1[0]; } spawn_vehicle_from_targetname_and_drive( var_0 ) { var_1 = spawn_vehicles_from_targetname( var_0 ); thread gopath( var_1[0] ); return var_1[0]; } spawn_vehicles_from_targetname_and_drive( var_0 ) { var_1 = spawn_vehicles_from_targetname( var_0 ); foreach ( var_3 in var_1 ) thread gopath( var_3 ); return var_1; } aircraft_wash( var_0 ) { thread maps\_vehicle_code::aircraft_wash_thread( var_0 ); } vehicle_wheels_forward() { maps\_vehicle_code::wheeldirectionchange( 1 ); } vehicle_wheels_backward() { maps\_vehicle_code::wheeldirectionchange( 0 ); } build_light( var_0, var_1, var_2, var_3, var_4, var_5 ) { if ( !isdefined( level.vehicle_lights ) ) level.vehicle_lights = []; if ( !isdefined( level.vehicle_lights_group_override ) ) level.vehicle_lights_group_override = []; if ( isdefined( level.vehicle_lights_group_override[var_4] ) && !level.vtoverride ) return; var_6 = spawnstruct(); var_6.name = var_1; var_6.tag = var_2; var_6.delay = var_5; var_6.effect = loadfx( var_3 ); level.vehicle_lights[var_0][var_1] = var_6; maps\_vehicle_code::group_light( var_0, var_1, "all" ); if ( isdefined( var_4 ) ) maps\_vehicle_code::group_light( var_0, var_1, var_4 ); } build_light_override( var_0, var_1, var_2, var_3, var_4, var_5 ) { if ( !isdefined( level.script ) ) level.script = tolower( getdvar( "mapname" ) ); level.vtclassname = var_0; build_light( var_0, var_1, var_2, var_3, var_4, var_5 ); level.vtoverride = 0; level.vehicle_lights_group_override[var_4] = 1; } build_hideparts( var_0, var_1 ) { if ( !isdefined( level.vehicle_hide_list ) ) level.vehicle_hide_list = []; level.vehicle_hide_list[var_0] = var_1; } build_deathmodel( var_0, var_1, var_2, var_3 ) { if ( var_0 != level.vtmodel ) return; if ( !isdefined( var_1 ) ) var_1 = var_0; precachemodel( var_0 ); precachemodel( var_1 ); if ( !isdefined( var_2 ) ) var_2 = 0; if ( !isdefined( var_3 ) ) { level.vehicle_deathmodel[var_0] = var_1; level.vehicle_deathmodel_delay[var_0] = var_2; } else { level.vehicle_deathmodel[var_3] = var_1; level.vehicle_deathmodel_delay[var_3] = var_2; } } build_shoot_shock( var_0 ) { precacheshader( "black" ); precacheshellshock( var_0 ); level.vehicle_shoot_shock[level.vtclassname] = var_0; } build_idle( var_0 ) { if ( !isdefined( level.vehicle_idleanim ) ) level.vehicle_idleanim = []; if ( !isdefined( level.vehicle_idleanim[level.vtmodel] ) ) level.vehicle_idleanim[level.vtmodel] = []; level.vehicle_idleanim[level.vtmodel][level.vehicle_idleanim[level.vtmodel].size] = var_0; } build_drive( var_0, var_1, var_2, var_3 ) { if ( !isdefined( var_2 ) ) var_2 = 10; level.vehicle_driveidle[level.vtmodel] = var_0; if ( isdefined( var_1 ) ) level.vehicle_driveidle_r[level.vtmodel] = var_1; level.vehicle_driveidle_normal_speed[level.vtmodel] = var_2; if ( isdefined( var_3 ) ) level.vehicle_driveidle_animrate[level.vtmodel] = var_3; } build_template( var_0, var_1, var_2, var_3 ) { if ( !isdefined( level.script ) ) level.script = tolower( getdvar( "mapname" ) ); if ( isdefined( var_2 ) ) var_0 = var_2; precachevehicle( var_0 ); if ( !isdefined( level.vehicle_death_fx ) ) level.vehicle_death_fx = []; if ( !isdefined( level.vehicle_death_anim ) ) level.vehicle_death_anim = []; if ( !isdefined( level.vehicle_death_fx[var_3] ) ) level.vehicle_death_fx[var_3] = []; level.vehicle_team[var_3] = "axis"; level.vehicle_life[var_3] = 999; level.vehicle_hasmainturret[var_1] = 0; level.vehicle_mainturrets[var_1] = []; level.vtmodel = var_1; level.vttype = var_0; level.vtclassname = var_3; } build_exhaust( var_0 ) { level.vehicle_exhaust[level.vtmodel] = loadfx( var_0 ); } build_treadfx( var_0, var_1, var_2, var_3 ) { if ( isdefined( var_0 ) ) { set_vehicle_effect( var_0, var_1, var_2 ); if ( isdefined( var_3 ) && var_3 ) { set_vehicle_effect( var_0, var_1, var_2, "_bank" ); set_vehicle_effect( var_0, var_1, var_2, "_bank_lg" ); } } else { var_0 = level.vtclassname; maps\_treadfx::main( var_0 ); } } build_all_treadfx( var_0, var_1 ) { var_2 = get_surface_types(); foreach ( var_4 in var_2 ) set_vehicle_effect( var_0, var_4 ); } set_vehicle_effect( var_0, var_1, var_2, var_3 ) { if ( !isdefined( level._vehicle_effect ) ) level._vehicle_effect = []; if ( isdefined( var_3 ) ) { var_1 = var_1 + var_3; var_2 = var_2 + var_3; } if ( isdefined( var_2 ) ) level._vehicle_effect[var_0][var_1] = loadfx( var_2 ); else if ( isdefined( level._vehicle_effect[var_0] ) && isdefined( level._vehicle_effect[var_0][var_1] ) ) level._vehicle_effect[var_0][var_1] = undefined; } get_surface_types() { var_0 = []; var_0[var_0.size] = "brick"; var_0[var_0.size] = "bark"; var_0[var_0.size] = "carpet"; var_0[var_0.size] = "cloth"; var_0[var_0.size] = "concrete"; var_0[var_0.size] = "dirt"; var_0[var_0.size] = "flesh"; var_0[var_0.size] = "foliage"; var_0[var_0.size] = "glass"; var_0[var_0.size] = "grass"; var_0[var_0.size] = "gravel"; var_0[var_0.size] = "ice"; var_0[var_0.size] = "metal"; var_0[var_0.size] = "mud"; var_0[var_0.size] = "paper"; var_0[var_0.size] = "plaster"; var_0[var_0.size] = "rock"; var_0[var_0.size] = "sand"; var_0[var_0.size] = "snow"; var_0[var_0.size] = "water"; var_0[var_0.size] = "wood"; var_0[var_0.size] = "asphalt"; var_0[var_0.size] = "ceramic"; var_0[var_0.size] = "plastic"; var_0[var_0.size] = "rubber"; var_0[var_0.size] = "cushion"; var_0[var_0.size] = "fruit"; var_0[var_0.size] = "paintedmetal"; var_0[var_0.size] = "riotshield"; var_0[var_0.size] = "slush"; var_0[var_0.size] = "default"; return var_0; } build_team( var_0 ) { level.vehicle_team[level.vtclassname] = var_0; } build_mainturret( var_0, var_1, var_2, var_3 ) { level.vehicle_hasmainturret[level.vtmodel] = 1; if ( isdefined( var_0 ) ) level.vehicle_mainturrets[level.vtmodel][var_0] = 1; if ( isdefined( var_1 ) ) level.vehicle_mainturrets[level.vtmodel][var_1] = 1; if ( isdefined( var_2 ) ) level.vehicle_mainturrets[level.vtmodel][var_2] = 1; if ( isdefined( var_3 ) ) level.vehicle_mainturrets[level.vtmodel][var_3] = 1; } build_bulletshield( var_0 ) { level.vehicle_bulletshield[level.vtclassname] = var_0; } build_grenadeshield( var_0 ) { level.vehicle_grenadeshield[level.vtclassname] = var_0; } build_aianims( var_0, var_1 ) { var_2 = level.vtclassname; level.vehicle_aianims[var_2] = [[ var_0 ]](); if ( isdefined( var_1 ) ) level.vehicle_aianims[var_2] = [[ var_1 ]]( level.vehicle_aianims[var_2] ); } build_frontarmor( var_0 ) { level.vehicle_frontarmor[level.vtclassname] = var_0; } build_attach_models( var_0 ) { level.vehicle_attachedmodels[level.vtclassname] = [[ var_0 ]](); } build_unload_groups( var_0 ) { level.vehicle_unloadgroups[level.vtclassname] = [[ var_0 ]](); } build_life( var_0, var_1, var_2 ) { var_3 = level.vtclassname; level.vehicle_life[var_3] = var_0; level.vehicle_life_range_low[var_3] = var_1; level.vehicle_life_range_high[var_3] = var_2; } build_deckdust( var_0 ) { level.vehicle_deckdust[level.vtmodel] = loadfx( var_0 ); } build_destructible( var_0, var_1 ) { if ( isdefined( level.vehicle_csv_export ) ) return; if ( var_0 != level.vtmodel ) return; var_2 = spawnstruct(); var_2.model = var_0; var_2 maps\_utility::precache_destructible( var_1 ); level.destructible_model[level.vtmodel] = var_1; } build_localinit( var_0 ) { level.vehicleinitthread[level.vttype][level.vtclassname] = var_0; } is_dummy() { return self.modeldummyon; } vehicle_load_ai( var_0, var_1, var_2 ) { maps\_vehicle_aianim::load_ai( var_0, undefined, var_2 ); } vehicle_load_ai_single( var_0, var_1, var_2 ) { var_3 = []; var_3[0] = var_0; maps\_vehicle_aianim::load_ai( var_3, var_1, var_2 ); } build_death_badplace( var_0, var_1, var_2, var_3, var_4, var_5 ) { if ( !isdefined( level.vehicle_death_badplace ) ) level.vehicle_death_badplace = []; var_6 = spawnstruct(); var_6.delay = var_0; var_6.duration = var_1; var_6.height = var_2; var_6.radius = var_3; var_6.team1 = var_4; var_6.team2 = var_5; level.vehicle_death_badplace[level.vtclassname] = var_6; } mount_snowmobile( var_0, var_1 ) { return maps\_vehicle_code::_mount_snowmobile( var_0, var_1 ); } spawn_vehicle_and_gopath() { var_0 = maps\_utility::spawn_vehicle(); if ( isdefined( self.script_speed ) ) { if ( !ishelicopter() ) var_0 vehphys_setspeed( self.script_speed ); } var_0 thread gopath( var_0 ); return var_0; } vehicle_get_riders_by_group( var_0 ) { var_1 = []; var_2 = self.classname; if ( !isdefined( level.vehicle_unloadgroups[var_2] ) ) return var_1; var_3 = level.vehicle_unloadgroups[var_2]; if ( !isdefined( var_0 ) ) return var_1; foreach ( var_5 in self.riders ) { foreach ( var_7 in var_3[var_0] ) { if ( var_5.vehicle_position == var_7 ) var_1[var_1.size] = var_5; } } return var_1; } vehicle_ai_event( var_0 ) { return maps\_vehicle_aianim::animate_guys( var_0 ); } vehicle_unload( var_0 ) { return maps\_vehicle_code::_vehicle_unload( var_0 ); } vehicle_turret_scan_on() { self endon( "death" ); self endon( "stop_scanning_turret" ); var_0 = randomint( 2 ); while ( isdefined( self ) ) { if ( common_scripts\utility::cointoss() ) { maps\_vehicle_code::vehicle_aim_turret_at_angle( 0 ); wait( randomfloatrange( 2, 10 ) ); } if ( var_0 == 0 ) { var_1 = randomintrange( 10, 30 ); var_0 = 1; } else { var_1 = randomintrange( -30, -10 ); var_0 = 0; } maps\_vehicle_code::vehicle_aim_turret_at_angle( var_1 ); wait( randomfloatrange( 2, 10 ) ); } } vehicle_turret_scan_off() { self notify( "stop_scanning_turret" ); } vehicle_get_path_array() { self endon( "death" ); var_0 = []; var_1 = self.attachedpath; if ( !isdefined( self.attachedpath ) ) return var_0; var_2 = var_1; var_2.counted = 0; while ( isdefined( var_2 ) ) { if ( isdefined( var_2.counted ) && var_2.counted == 1 ) break; var_0 = common_scripts\utility::array_add( var_0, var_2 ); var_2.counted = 1; if ( !isdefined( var_2.target ) ) break; if ( !ishelicopter() ) { var_2 = getvehiclenode( var_2.target, "targetname" ); continue; } var_2 = maps\_utility::getent_or_struct( var_2.target, "targetname" ); } return var_0; } vehicle_lights_on( var_0, var_1 ) { if ( !isdefined( var_0 ) ) var_0 = "all"; maps\_vehicle_code::lights_on( var_0, var_1 ); } vehicle_lights_off( var_0, var_1 ) { maps\_vehicle_code::lights_off( var_0, var_1 ); } vehicle_switch_paths( var_0, var_1 ) { self setswitchnode( var_0, var_1 ); self.attachedpath = var_1; thread vehicle_paths(); } vehicle_stop_named( var_0, var_1, var_2 ) { return maps\_vehicle_code::_vehicle_stop_named( var_0, var_1, var_2 ); } vehicle_resume_named( var_0 ) { return maps\_vehicle_code::_vehicle_resume_named( var_0 ); } build_is_helicopter( var_0 ) { if ( !isdefined( level.helicopter_list ) ) level.helicopter_list = []; if ( !isdefined( var_0 ) ) var_0 = level.vttype; level.helicopter_list[var_0] = 1; } build_is_airplane( var_0 ) { if ( !isdefined( level.airplane_list ) ) level.airplane_list = []; if ( !isdefined( var_0 ) ) var_0 = level.vttype; level.airplane_list[var_0] = 1; } build_single_tread( var_0 ) { if ( !isdefined( level.vehicle_single_tread_list ) ) level.vehicle_single_tread_list = []; if ( !isdefined( var_0 ) ) var_0 = level.vttype; level.vehicle_single_tread_list[var_0] = 1; } build_rider_death_func( var_0 ) { if ( !isdefined( level.vehicle_rider_death_func ) ) level.vehicle_rider_death_func = []; level.vehicle_rider_death_func[level.vtclassname] = var_0; } ishelicopter() { return maps\_vehicle_code::_ishelicopter(); } isairplane() { return maps\_vehicle_code::_isairplane(); } get_dummy() { return maps\_vehicle_code::_get_dummy(); } #using_animtree("vehicles"); vehicle_to_dummy() { self.modeldummy = spawn( "script_model", self.origin ); self.modeldummy setmodel( self.model ); self.modeldummy.origin = self.origin; self.modeldummy.angles = self.angles; self.modeldummy useanimtree( #animtree ); self hide(); thread maps\_vehicle_code::model_dummy_death(); move_riders_here( self.modeldummy ); maps\_vehicle_code::move_turrets_here( self.modeldummy ); move_truck_junk_here( self.modeldummy ); thread maps\_vehicle_code::move_lights_here( self.modeldummy ); maps\_vehicle_code::move_effects_ent_here( self.modeldummy ); maps\_vehicle_code::copy_attachments( self.modeldummy ); self.modeldummyon = 1; if ( maps\_vehicle_code::hashelicopterdustkickup() ) { self notify( "stop_kicking_up_dust" ); thread maps\_vehicle_code::aircraft_wash_thread( self.modeldummy ); } return self.modeldummy; } build_death_jolt_delay( var_0 ) { if ( !isdefined( level.vehicle_death_jolt ) ) level.vehicle_death_jolt = []; var_1 = spawnstruct(); var_1.delay = var_0; level.vehicle_death_jolt[level.vtclassname] = var_1; } enable_global_vehicle_spawn_functions() { level.vehicle_spawn_functions_enable = 1; }