iw6-scripts/maps/jungle_ghosts.gsc
2024-02-13 13:20:49 +01:00

1433 lines
63 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
#using_animtree("generic_human");
main()
{
maps\_utility::template_level( "jungle_ghosts" );
maps\createart\jungle_ghosts_art::main();
maps\jungle_ghosts_fx::main();
maps\jungle_ghosts_anim::main();
maps\jungle_ghosts_precache::main();
maps\_patrol_anims_gundown::main();
maps\_patrol_anims_creepwalk::main();
maps\jungle_ghosts_util::enemy_weapons_force_use_init();
setup_bind_detection();
precache_please();
init_starts();
init_level_flags();
init_radio_dialogue();
init_dialogue();
setup_fire_damage();
maps\_utility::intro_screen_create( &"JUNGLE_GHOSTS_INTROSCREEN_LINE_1", &"JUNGLE_GHOSTS_INTROSCREEN_LINE_2", &"JUNGLE_GHOSTS_INTROSCREEN_LINE_5", &"JUNGLE_GHOSTS_INTROSCREEN_LINE_3" );
maps\_utility::intro_screen_custom_func( ::custom_intro_screen_func );
maps\_load::main();
if ( !level.console )
{
setsaveddvar( "r_mbEnable", 2 );
setsaveddvar( "r_mbCameraRotationInfluence", 0.25 );
setsaveddvar( "r_mbCameraTranslationInfluence", 0.01 );
setsaveddvar( "r_mbModelVelocityScalar", 0.1 );
setsaveddvar( "r_mbStaticVelocityScalar", 0.2 );
setsaveddvar( "r_mbViewModelEnable", 0 );
}
maps\_utility::setsaveddvar_cg_ng( "r_specularColorScale", 2.5, 6 );
if ( level.xenon )
setsaveddvar( "r_texFilterProbeBilinear", 1 );
if ( !maps\_utility::is_gen4() )
setsaveddvar( "sm_sunshadowscale", 0.55 );
level.rain_skybox = getent( "jungle_overcast_sky", "targetname" );
level.rain_skybox hide();
level.player takeallweapons();
maps\jungle_ghosts_audio::main();
maps\_stealth::main();
common_scripts\utility::array_thread( level.players, maps\_stealth_utility::stealth_default );
maps\_utility::add_hint_string( "hint_silencer_toggle", &"JUNGLE_GHOSTS_SILENCER_TOGGLE", ::should_toggle_silencer );
if ( maps\jungle_ghosts_util::game_is_pc() )
maps\_utility::add_hint_string( "hint_drag", &"JUNGLE_GHOSTS_HINT_PLANE_DRAG", ::player_pushing_forward );
else
maps\_utility::add_hint_string( "hint_drag", &"JUNGLE_GHOSTS_HINT_PLANE_DRAG_NORMAL", ::player_pushing_forward );
level.doing_hand_signal = 0;
var_0 = [ "to_grassy_field", "field_entrance" ];
foreach ( var_2 in var_0 )
{
var_2 = getent( var_2, "targetname" );
var_2 thread maps\jungle_ghosts_util::play_hand_signal_for_player();
}
var_4 = getent( "stream", "targetname" );
var_4 thread maps\jungle_ghosts_util::stream_trig_logic();
level.laser_count = 0;
level.impact_tree = 0;
level.stealth_spotted_time = 6;
level.stealth_player_aware_enemies = [];
level.ignore_on_func = maps\jungle_ghosts_util::generic_ignore_on;
level.ignore_off_func = maps\jungle_ghosts_util::generic_ignore_off;
var_5 = [];
var_5["default_crouch"]["exposed_idle"] = [ %exposed_crouch_lookaround_1, %exposed_crouch_lookaround_2, %exposed_crouch_lookaround_3, %exposed_crouch_lookaround_4 ];
maps\_utility::register_archetype( "jungle_soldier", var_5 );
level.player setviewmodel( "viewhands_gs_jungle_b" );
thread maps\jungle_ghosts_jungle::jungle_moving_foliage_settings();
setsaveddvar( "cg_foliagesnd_alias", "plyr_wet_foliage_mvmnt" );
setdvar( "ads_dof_tracedist", 2048 );
common_scripts\utility::trigger_off( "river_slide_trig", "targetname" );
setdvar( "music_enable", 1 );
thread maps\jungle_ghosts_jungle::motion_tracker_setup();
createthreatbiasgroup( "friendly_squad" );
createthreatbiasgroup( "chopper_guys" );
thread maps\jungle_ghosts_util::music_start();
thread intro_stealth_spotted_check();
thread distant_tree_card_hider();
thread ssao_logic_post_stream();
}
distant_tree_card_hider()
{
var_0 = getentarray( "hidetrees", "targetname" );
for (;;)
{
foreach ( var_2 in var_0 )
{
if ( level.player.origin[1] > 2905 )
{
var_2 show();
continue;
}
var_2 hide();
}
wait 2;
}
}
ai_total_count()
{
for (;;)
common_scripts\utility::waitframe();
}
setup_bind_detection()
{
level.actionbinds = [];
registeractionbinding( "player_takedown", "+activate", &"JUNGLE_GHOSTS_HINT_TAKEDOWN" );
registeractionbinding( "player_takedown", "+usereload", &"JUNGLE_GHOSTS_HINT_TAKEDOWN_RELOAD" );
registeractionbinding( "pickup_rpg", "+activate", &"JUNGLE_GHOSTS_RPG_PICKUP" );
registeractionbinding( "pickup_rpg", "+usereload", &"JUNGLE_GHOSTS_RPG_PICKUP_RELOAD" );
registeractionbinding( "player_helpup", "+activate", &"JUNGLE_GHOSTS_HINT_HELPUP" );
registeractionbinding( "player_helpup", "+usereload", &"JUNGLE_GHOSTS_HINT_HELPUP_RELOAD" );
registeractionbinding( "ads_360", "+speed_throw", &"JUNGLE_GHOSTS_HINT_ADS_THROW_360" );
registeractionbinding( "ads_360", "+speed", &"JUNGLE_GHOSTS_HINT_ADS_360" );
registeractionbinding( "ads", "+speed_throw", &"JUNGLE_GHOSTS_HINT_ADS_THROW" );
registeractionbinding( "ads", "+speed", &"JUNGLE_GHOSTS_HINT_ADS" );
registeractionbinding( "ads", "+toggleads_throw", &"JUNGLE_GHOSTS_HINT_ADS_TOGGLE_THROW" );
registeractionbinding( "ads", "toggleads", &"JUNGLE_GHOSTS_HINT_ADS_TOGGLE" );
registeractionbinding( "equip_soflam", "+actionslot 4", &"JUNGLE_GHOSTS_HINT_WEAPON_SOFLAM" );
}
registeractionbinding( var_0, var_1, var_2 )
{
if ( !isdefined( level.actionbinds[var_0] ) )
level.actionbinds[var_0] = [];
var_3 = spawnstruct();
var_3.binding = var_1;
var_3.hint = var_2;
var_3.keytext = undefined;
var_3.hinttext = undefined;
precachestring( var_2 );
level.actionbinds[var_0][level.actionbinds[var_0].size] = var_3;
}
getactionbind( var_0 )
{
for ( var_1 = 0; var_1 < level.actionbinds[var_0].size; var_1++ )
{
var_2 = level.actionbinds[var_0][var_1];
var_3 = getkeybinding( var_2.binding );
if ( !var_3["count"] )
continue;
return level.actionbinds[var_0][var_1];
}
return level.actionbinds[var_0][0];
}
keyhint( var_0, var_1, var_2, var_3 )
{
clear_hints();
level endon( "clearing_hints" );
level.hintelem = create_custom_hint();
var_4 = getactionbind( var_0 );
level.hintelem settext( var_4.hint );
if ( !isdefined( var_3 ) )
{
var_5 = "did_action_" + var_0;
for ( var_6 = 0; var_6 < level.actionbinds[var_0].size; var_6++ )
{
var_4 = level.actionbinds[var_0][var_6];
notifyoncommand( var_5, var_4.binding );
}
if ( isdefined( var_1 ) )
level.player thread notifyontimeout( var_5, var_1 );
level.player waittill( var_5 );
level.hintelem fadeovertime( 0.5 );
level.hintelem.alpha = 0;
wait 0.5;
clear_hints();
}
}
create_custom_hint()
{
var_0 = 2;
if ( isdefined( level.hint_fontscale ) )
var_0 = level.hint_fontscale;
var_1 = maps\_hud_util::createfontstring( "default", var_0 );
var_1.hidewheninmenu = 1;
var_1.sort = 0.5;
var_1.alpha = 0.9;
var_1.x = 0;
var_1.y = -68;
var_1.alignx = "center";
var_1.aligny = "middle";
var_1.horzalign = "center";
var_1.vertalign = "middle";
var_1.foreground = 0;
var_1.hidewhendead = 1;
var_1.hidewheninmenu = 1;
return var_1;
}
clear_hints()
{
if ( isdefined( level.hintelem ) )
level.hintelem maps\_hud_util::destroyelem();
if ( isdefined( level.iconelem ) )
level.iconelem maps\_hud_util::destroyelem();
if ( isdefined( level.iconelem2 ) )
level.iconelem2 maps\_hud_util::destroyelem();
if ( isdefined( level.iconelem3 ) )
level.iconelem3 maps\_hud_util::destroyelem();
if ( isdefined( level.hintbackground ) )
level.hintbackground maps\_hud_util::destroyelem();
level notify( "clearing_hints" );
}
notifyontimeout( var_0, var_1 )
{
self endon( var_0 );
wait( var_1 );
self notify( var_0 );
}
precache_please()
{
precachemodel( "viewhands_gs_jungle_b" );
precachemodel( "tag_turret" );
precachemodel( "tag_laser" );
precachemodel( "viewhands_player_gs_jungle_b" );
precachemodel( "fullbody_dog_a" );
precachemodel( "head_pilot_a" );
precachemodel( "weapon_beretta" );
precachemodel( "vehicle_aas_72x_destructible" );
precachemodel( "jungle_crate_01" );
precachemodel( "jungle_crate_01_dmg" );
precachemodel( "viewmodel_knife_iw6" );
precacheitem( "knifeonly_scripted" );
precachemodel( "parachute_hanging_static" );
precachemodel( "weapon_honeybadger" );
precachemodel( "weapon_p226" );
precacheshader( "cb_motiontracker3d_ping_enemy" );
precacheshader( "cb_motiontracker3d_ping_friendly" );
precacheshader( "white" );
precacheshader( "black" );
precacheitem( "honeybadger+acog_sp" );
precacheitem( "smaw" );
precacheitem( "rpg_straight" );
precacheitem( "rpg_player" );
precacheitem( "ak47" );
precacheitem( "ak47_silencer" );
precacheitem( "knife_jungle" );
precacheitem( "m4_silencer_reflex" );
precacheitem( "beretta" );
precacheitem( "honeybadger" );
precacheitem( "kriss" );
precacheitem( "microtar" );
precacheitem( "sc2010" );
precacheitem( "p226" );
precacheitem( "p226_tactical" );
precacheitem( "apache_turret" );
precacheitem( "missile_attackheli" );
precacheitem( "rpg_straight_nosound" );
precachestring( &"JUNGLE_GHOSTS_SILENCER_TOGGLE" );
precachestring( &"JUNGLE_GHOSTS_INTROSCREEN_LINE_1" );
precachestring( &"JUNGLE_GHOSTS_INTROSCREEN_LINE_2" );
precachestring( &"JUNGLE_GHOSTS_INTROSCREEN_LINE_3" );
precachestring( &"JUNGLE_GHOSTS_INTROSCREEN_LINE_4" );
precachestring( &"JUNGLE_GHOSTS_INTROSCREEN_LINE_5" );
precachestring( &"JUNGLE_GHOSTS_OBIT_TREE" );
precachestring( &"JUNGLE_GHOSTS_FAIL_LEFT_SQUAD" );
precachestring( &"JUNGLE_GHOSTS_RPG_PICKUP_RELOAD" );
precachestring( &"JUNGLE_GHOSTS_RPG_PICKUP" );
precachestring( &"JUNGLE_GHOSTS_GRASS_DEATH_HINT1" );
precachestring( &"JUNGLE_GHOSTS_GRASS_DEATH_HINT2" );
precachestring( &"JUNGLE_GHOSTS_HINT_PLANE_DRAG" );
precachestring( &"JUNGLE_GHOSTS_HINT_PLANE_DRAG_NORMAL" );
precachestring( &"JUNGLE_GHOSTS_OBJ_REGROUP_AT_WATERFALL" );
precachestring( &"JUNGLE_GHOSTS_OBJ_SAVE_TEAM" );
precachestring( &"JUNGLE_GHOSTS_OBJ_ESC_TO_RIVER" );
precacheshellshock( "prague_swim" );
precacheshellshock( "underwater" );
precacheshellshock( "player_limp" );
precacherumble( "damage_heavy" );
precacherumble( "tank_rumble" );
precacherumble( "slide_loop" );
}
init_starts()
{
maps\_utility::add_start( "crash_test", ::crash_test_start, "New chopper crash test" );
maps\_utility::add_start( "parachute", ::parachute_start, "Parachute" );
maps\_utility::add_start( "jungle_corridor", ::jungle_corridor_start, "Jungle, no parachute" );
maps\_utility::add_start( "jungle_hill", ::jungle_hill_start, "Jungle Hill" );
maps\_utility::add_start( "waterfall", ::execution_start, "Waterfall Execution" );
maps\_utility::add_start( "Stream", ::stream_start, "Stream" );
maps\_utility::add_start( "Stream Waterfall", ::stream_waterfall_start, "Stream Waterfall" );
maps\_utility::add_start( "grass", ::tall_grass_start, "tall_grass" );
maps\_utility::add_start( "grass cold", ::tall_grass_start_cold, "tall_grass_cold" );
maps\_utility::add_start( "grass chopper", ::tall_grass_chopper_start, "tall_grass_chopper" );
maps\_utility::add_start( "grass nogame", ::tall_grass_nogame_start, "tall_grass - no scripting" );
maps\_utility::add_start( "runway", ::runway_start, "Runway" );
maps\_utility::add_start( "escape_runway", ::escape_runway_start, "Escape: Runway" );
maps\_utility::add_start( "escape_jungle", ::escape_jungle_start, "Escape: Jungle" );
maps\_utility::add_start( "escape_river", ::escape_river_start, "Escape: River" );
maps\_utility::add_start( "escape_waterfall", ::escape_waterfall_start, "Escape: Waterfall Landing" );
maps\_utility::add_start( "tree_test", ::dest_tree_test, "Destructible Tree test" );
maps\_utility::add_start( "underwater", ::underwater_test, "underwater" );
maps\_utility::add_start( "iplane_interrogation", ::iplane_interrogation, "iplane_intro" );
maps\_utility::add_start( "iplane_crash", ::iplane_crash, "iplane_crash" );
maps\_utility::default_start( ::iplane_interrogation );
}
init_level_flags()
{
level.player maps\_utility::ent_flag_init( "recently_fired_weapon" );
level.player maps\_utility::ent_flag_init( "tall_grass_player_protection" );
common_scripts\utility::flag_init( "friendlies_ready" );
common_scripts\utility::flag_init( "intro_lines" );
common_scripts\utility::flag_init( "interupt_end" );
common_scripts\utility::flag_init( "hill_flanked" );
common_scripts\utility::flag_init( "hill_clear" );
common_scripts\utility::flag_init( "player_at_execution" );
common_scripts\utility::flag_init( "stop_water_footsteps" );
common_scripts\utility::flag_init( "player_found_bravo" );
common_scripts\utility::flag_init( "begin_shoot_chopper" );
common_scripts\utility::flag_init( "stream_fight_begin" );
common_scripts\utility::flag_init( "waterfall_hub" );
common_scripts\utility::flag_init( "smaw_target_detroyed" );
common_scripts\utility::flag_init( "stream_clear" );
common_scripts\utility::flag_init( "waterfall_ambush_begin" );
common_scripts\utility::flag_init( "ambush_open_fire" );
common_scripts\utility::flag_init( "squad_in_ambush_position" );
common_scripts\utility::flag_init( "player_in_ambush_position" );
common_scripts\utility::flag_init( "ambush_guys_dead" );
common_scripts\utility::flag_init( "ai_hold" );
common_scripts\utility::flag_init( "player_didnt_ambush" );
common_scripts\utility::flag_init( "tall_grass_goes_hot" );
common_scripts\utility::flag_init( "tall_grass_intro_goes_hot" );
common_scripts\utility::flag_init( "begin_runway_attack" );
common_scripts\utility::flag_init( "runway_hot" );
common_scripts\utility::flag_init( "intro_takedown_started" );
common_scripts\utility::flag_init( "player_targeting" );
common_scripts\utility::flag_init( "smaw_guy_get_into_pos" );
common_scripts\utility::flag_init( "runway_choppers_return" );
common_scripts\utility::flag_init( "chopper_over_tallgrass" );
common_scripts\utility::flag_init( "squad_to_escape_slide" );
common_scripts\utility::flag_init( "interrogtaion_started" );
common_scripts\utility::flag_init( "player_rescued_hostage" );
common_scripts\utility::flag_init( "player_shot_runway_with_wrong_weapon" );
common_scripts\utility::flag_init( "adjusting_wind" );
common_scripts\utility::flag_init( "player_is_moving" );
common_scripts\utility::flag_init( "player_swim_faster" );
common_scripts\utility::flag_init( "player_out_of_water" );
common_scripts\utility::flag_init( "intro_takedown_ready" );
common_scripts\utility::flag_init( "intro_takedown_done" );
common_scripts\utility::flag_init( "intro_takedown_aborted" );
common_scripts\utility::flag_init( "choppers_attacked" );
common_scripts\utility::flag_init( "player_surfaces" );
common_scripts\utility::flag_init( "runway_clear_to_shoot" );
common_scripts\utility::flag_init( "jungle_section1_clear" );
common_scripts\utility::flag_init( "squad_to_waterfall_ambush" );
common_scripts\utility::flag_init( "skybox_changed" );
common_scripts\utility::flag_init( "doing_lightning" );
common_scripts\utility::flag_init( "player_landed" );
common_scripts\utility::flag_init( "chopper_crash_complete" );
common_scripts\utility::flag_init( "doing_story_vo" );
common_scripts\utility::flag_init( "player_has_rpg" );
common_scripts\utility::flag_init( "player_jumping" );
common_scripts\utility::flag_init( "player_jump_watcher_stop" );
common_scripts\utility::flag_init( "player_fell_off_waterfall" );
common_scripts\utility::flag_init( "player_spotted_music" );
common_scripts\utility::flag_init( "player_spotted_vo" );
common_scripts\utility::flag_init( "chopper_impact" );
common_scripts\utility::flag_init( "grass_went_hot" );
common_scripts\utility::flag_init( "second_distant_sat_launch" );
common_scripts\utility::flag_init( "tall_grass_heli_unloaded" );
common_scripts\utility::flag_init( "moving_into_tall_grass" );
common_scripts\utility::flag_init( "can_see_chopper" );
common_scripts\utility::flag_init( "bridge_approach" );
common_scripts\utility::flag_init( "stream_rush_chopper" );
common_scripts\utility::flag_init( "waterfall_patrollers_dead" );
common_scripts\utility::flag_init( "waterfall_patrollers_passed" );
common_scripts\utility::flag_init( "choppers_get_down" );
common_scripts\utility::flag_init( "choppers_saw_player" );
common_scripts\utility::flag_init( "choppers_are_gone" );
common_scripts\utility::flag_init( "stream_backend_moveup_stealth" );
common_scripts\utility::flag_init( "backend_friendlies_go_hot" );
common_scripts\utility::flag_init( "chopper_tallgrass_gone" );
common_scripts\utility::flag_init( "stream_heli_out" );
common_scripts\utility::flag_init( "time_for_chopper_to_leave" );
common_scripts\utility::flag_init( "e3_warp" );
common_scripts\utility::flag_init( "chopper_about_to_leave" );
common_scripts\utility::flag_init( "hostage_a_group_shot" );
common_scripts\utility::flag_init( "hostage_b_group_shot" );
common_scripts\utility::flag_init( "took_long_enough_to_rescue" );
common_scripts\utility::flag_init( "got_close_enough_to_rescue" );
common_scripts\utility::flag_init( "player_rushed_waterfall_passers" );
common_scripts\utility::flag_init( "box_swap" );
common_scripts\utility::flag_init( "waterfall_ambush_over" );
common_scripts\utility::flag_init( "field_dialogue_cue" );
common_scripts\utility::flag_init( "hostage_flag_set" );
common_scripts\utility::flag_init( "player_agro_near_execution" );
common_scripts\utility::flag_init( "stream_enemy_alert" );
common_scripts\utility::flag_init( "start_removing_stream_guys" );
common_scripts\utility::flag_init( "obj_regroup" );
common_scripts\utility::flag_init( "obj_save_team" );
common_scripts\utility::flag_init( "obj_get_to_river" );
common_scripts\utility::flag_init( "obj_all_done" );
common_scripts\utility::flag_init( "pre_tall_grass_friendly_moveup_1" );
common_scripts\utility::flag_init( "pre_tall_grass_friendly_moveup_2" );
common_scripts\utility::flag_init( "pre_tall_grass_friendly_moveup_3" );
common_scripts\utility::flag_init( "pre_tall_grass_friendly_moveup_4" );
common_scripts\utility::flag_init( "pre_tall_grass_friendly_moveup_5" );
common_scripts\utility::flag_init( "chopper_fire_on_player_hard" );
common_scripts\utility::flag_init( "chopper_kill_player" );
common_scripts\utility::flag_init( "waterfall_went_hot_late" );
common_scripts\utility::flag_init( "starting_elias_rescue" );
common_scripts\utility::flag_init( "start_pre_grass_patroller" );
common_scripts\utility::flag_init( "begin_pre_tall_grass_scene" );
common_scripts\utility::flag_init( "clear_to_move_into_tall_grass" );
common_scripts\utility::flag_init( "tall_grass_hot_early_skip" );
common_scripts\utility::flag_init( "backend_friendlies_go_hot_late" );
common_scripts\utility::flag_init( "do_jungleg_bkr_coughingcatchingbreath" );
common_scripts\utility::flag_init( "do_stream_chopper_fx" );
common_scripts\utility::flag_init( "kill_face_fx" );
common_scripts\utility::flag_init( "keep_tall_grass_alive_longer" );
var_0 = [];
var_0[var_0.size] = "jungle_entrance";
var_0[var_0.size] = "jungle_entrance_approach";
var_0[var_0.size] = "hill_pos_1";
var_0[var_0.size] = "hill_pos_4";
var_0[var_0.size] = "hill_pos_5";
var_0[var_0.size] = "hill_pos_6";
var_0[var_0.size] = "waterfall_approach";
var_0[var_0.size] = "waterfall_trig";
var_0[var_0.size] = "chopper_crash_arrive";
var_0[var_0.size] = "player_went_right";
var_0[var_0.size] = "to_grassy_field";
var_0[var_0.size] = "field_entrance";
var_0[var_0.size] = "field_halfway";
var_0[var_0.size] = "field_end";
var_0[var_0.size] = "runway_approach";
var_0[var_0.size] = "runway_arrive";
var_0[var_0.size] = "player_slid";
var_0[var_0.size] = "slide_start";
var_0[var_0.size] = "escape_halfway";
var_0[var_0.size] = "player_at_river";
var_0[var_0.size] = "player_crossed_river";
var_0[var_0.size] = "stryker_go";
var_0[var_0.size] = "final_read";
var_0[var_0.size] = "waterfall_to_stream";
var_0[var_0.size] = "stream_exit";
var_0[var_0.size] = "crash_arrive";
var_0[var_0.size] = "player_slide_arrive";
var_0[var_0.size] = "stream_backend_start";
var_0[var_0.size] = "stream_backend_moveup";
var_0[var_0.size] = "player_rushed_chopper_crash";
var_0[var_0.size] = "abort_chopper_crash";
var_0[var_0.size] = "bridge_area_exit";
var_0[var_0.size] = "squad_to_waterfall";
var_0[var_0.size] = "runway_halfway";
var_0[var_0.size] = "can_see_chopper";
var_0[var_0.size] = "bridge_approach";
var_0[var_0.size] = "stream_rush_chopper";
var_0[var_0.size] = "stream_backend_moveup_stealth";
var_0[var_0.size] = "retreat_to_tall_grass";
var_0[var_0.size] = "jump_vo_trig";
foreach ( var_2 in var_0 )
init_flag_and_set_on_targetname_trigger( var_2 );
}
init_flag_and_set_on_targetname_trigger( var_0 )
{
common_scripts\utility::flag_init( var_0 );
thread maps\_utility::set_flag_on_targetname_trigger( var_0 );
}
init_radio_dialogue()
{
level.scr_radio["jungleg_at1_online"] = "jungleg_at1_online";
level.scr_radio["jungleg_at2_whatdoyousee"] = "jungleg_at2_whatdoyousee";
level.scr_radio["jungleg_at1_lotsoftrees"] = "jungleg_at1_lotsoftrees";
level.scr_radio["jungleg_bt1_halfaclick"] = "jungleg_bt1_halfaclick";
level.scr_radio["jungleg_at1_scanning"] = "jungleg_at1_scanning";
level.scr_radio["jungleg_at1_goteyes"] = "jungleg_at1_goteyes";
level.scr_radio["jungleg_at1_donotengage"] = "jungleg_at1_donotengage";
level.scr_radio["jungleg_bt1_toodifficult"] = "jungleg_bt1_toodifficult";
level.scr_radio["jungleg_at1_delayingrmp"] = "jungleg_at1_delayingrmp";
level.scr_radio["jungleg_chq_radiosilence"] = "jungleg_chq_radiosilence";
level.scr_radio["jungleg_at1_etaonrmp"] = "jungleg_at1_etaonrmp";
level.scr_radio["jungleg_chq_rmpactive"] = "jungleg_chq_rmpactive";
}
init_dialogue()
{
level.scr_sound["alpha1"]["jungleg_at1_weredark"] = "jungleg_at1_weredark";
level.scr_sound["alpha1"]["jungleg_at1_takeusout"] = "jungleg_at1_takeusout";
level.scr_sound["alpha1"]["jungleg_at1_rattlingthecage"] = "jungleg_at1_rattlingthecage";
level.scr_sound["alpha1"]["jungleg_at1_yourcall"] = "jungleg_at1_yourcall";
level.scr_sound["alpha1"]["jungleg_at1_goinsilent"] = "jungleg_at1_goinsilent";
level.scr_sound["alpha1"]["jungleg_at1_halfclickup"] = "jungleg_at1_halfclickup";
level.scr_sound["alpha1"]["jungleg_at1_mightneedextract"] = "jungleg_at1_mightneedextract";
level.scr_sound["alpha1"]["jungleg_at1_topofthehill"] = "jungleg_at1_topofthehill";
level.scr_sound["alpha1"]["jungleg_at1_soundsbad"] = "jungleg_at1_soundsbad";
level.scr_sound["alpha1"]["jungleg_at1_pickone"] = "jungleg_at1_pickone";
level.scr_sound["alpha1"]["jungleg_at1_gotcompany"] = "jungleg_at1_gotcompany";
level.scr_sound["alpha1"]["jungleg_at1_thatwasclose"] = "jungleg_at1_thatwasclose";
level.scr_sound["alpha1"]["jungleg_at1_withyou"] = "jungleg_at1_withyou";
level.scr_sound["alpha1"]["jungleg_at1_withya"] = "jungleg_at1_withya";
level.scr_sound["alpha1"]["jungleg_at1_hesdown"] = "jungleg_at1_hesdown";
level.scr_sound["alpha1"]["jungleg_at1_targetdown"] = "jungleg_at1_targetdown";
level.scr_sound["alpha1"]["jungleg_at1_theresthewaterfall"] = "jungleg_at1_theresthewaterfall";
level.scr_sound["alpha1"]["jungleg_at1_letsdoit"] = "jungleg_at1_letsdoit";
level.scr_sound["alpha1"]["jungleg_at1_whenyouare"] = "jungleg_at1_whenyouare";
level.scr_sound["alpha1"]["jungleg_at1_foundabody"] = "jungleg_at1_foundabody";
level.scr_sound["alpha1"]["jungleg_at1_letsdoit"] = "jungleg_at1_letsdoit";
level.scr_sound["alpha1"]["jungleg_at1_whenyouare"] = "jungleg_at1_whenyouare";
level.scr_sound["alpha2"]["jungleg_at2_gotcompany"] = "jungleg_at2_gotcompany";
level.scr_sound["alpha2"]["jungleg_at2_thatwasclose"] = "jungleg_at2_thatwasclose";
level.scr_sound["alpha2"]["jungleg_at2_withyou"] = "jungleg_at2_withyou";
level.scr_sound["alpha2"]["jungleg_at2_withya"] = "jungleg_at2_withya";
level.scr_sound["alpha2"]["jungleg_at2_imwithyou"] = "jungleg_at2_imwithyou";
level.scr_sound["alpha2"]["jungleg_at2_hesdown"] = "jungleg_at2_hesdown";
level.scr_sound["alpha2"]["jungleg_at2_targetdown"] = "jungleg_at2_targetdown";
level.scr_sound["alpha2"]["jungleg_at2_theresthewaterfall"] = "jungleg_at2_theresthewaterfall";
level.scr_sound["alpha2"]["jungleg_at2_letsdoit"] = "jungleg_at2_letsdoit";
level.scr_sound["alpha2"]["jungleg_at2_whenyouare"] = "jungleg_at2_whenyouare";
level.scr_sound["alpha2"]["jungleg_at2_foundabody"] = "jungleg_at2_foundabody";
level.scr_sound["alpha2"]["jungleg_at2_letsdoit"] = "jungleg_at2_letsdoit";
level.scr_sound["alpha2"]["jungleg_at2_whenyouare"] = "jungleg_at2_whenyouare";
}
should_toggle_silencer()
{
var_0 = level.player getcurrentweapon();
var_1 = strtok( var_0, "_" );
if ( isdefined( var_1.size ) )
{
if ( var_1[0] == "alt" )
return 1;
else
return 0;
}
}
should_switchto_soflam()
{
if ( level.player getcurrentweapon() == "soflam" )
return 1;
return 0;
}
should_use_soflam()
{
if ( level.player getcurrentweapon() == "soflam" && level.player playerads() >= 0.25 )
return 1;
return 0;
}
jungle_start()
{
maps\iplane::iplane_unload();
thread maps\jungle_ghosts_jungle::intro_setup();
thread objectives( "jungle" );
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
parachute_start()
{
maps\iplane::iplane_unload();
thread maps\jungle_ghosts_jungle::intro_setup();
thread objectives( "jungle" );
}
jungle_corridor_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "player_landed" );
thread maps\jungle_ghosts_util::cull_distance_logic();
maps\jungle_ghosts_util::move_player_to_start( "jungle_corridor_player" );
thread maps\jungle_ghosts_jungle::setup_friendlies();
thread maps\jungle_ghosts_jungle::setup_jungle_enemies();
thread maps\jungle_ghosts_jungle::dead_pilot_hang();
maps\_utility::activate_trigger_with_targetname( "corridor_moveup" );
thread objectives( "jungle" );
thread maps\jungle_ghosts_jungle::hill_fx();
thread maps\jungle_ghosts_util::do_bokeh( "hill_pos_1" );
thread maps\jungle_ghosts_jungle::do_birds();
thread maps\jungle_ghosts_jungle::jungle_stealth_settings();
thread maps\jungle_ghosts_jungle::connect_dropdown_traverse();
level.did_inactive_vo = 0;
level.player allowcrouch( 1 );
level.player allowprone( 1 );
level.player setmovespeedscale( 0.9 );
level.player disableinvulnerability();
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp" ];
maps\jungle_ghosts_util::arm_player( var_0 );
wait 1;
common_scripts\utility::flag_wait( "jungle_entrance" );
maps\_utility::autosave_stealth();
common_scripts\utility::flag_wait( "crash_arrive" );
var_1 = common_scripts\utility::getstructarray( "jungle_corridor_ai", "targetname" );
while ( !isdefined( level.alpha ) )
wait 0.1;
foreach ( var_4, var_3 in var_1 )
{
level.alpha[var_4] forceteleport( var_3.origin, var_3.angles );
level.alpha[var_4] maps\_utility::set_force_color( "r" );
}
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
crash_test_start()
{
level.player setorigin( ( 673, 5084, 564.411 ) );
var_0 = getent( "crash_final_collision", "targetname" );
var_0 notsolid();
var_1 = getent( "dest_crate", "targetname" );
var_1 notsolid();
var_2 = common_scripts\utility::getstruct( "new_crash", "targetname" );
var_2.chopper = maps\_utility::spawn_anim_model( "aas" );
var_2.chopper thread maps\jungle_ghosts_stream::chopper_sound();
thread maps\jungle_ghosts_stream::chopper_rumble_earthquake();
var_2.crate_clip = getent( "chopper_clip", "targetname" );
var_2.crate_clip.origin = var_2.chopper.origin;
var_2.crate_clip.angles = var_2.chopper.angles;
var_2.crate_clip linkto( var_2.chopper, "tag_origin" );
var_2.pristine_crate = maps\_utility::spawn_anim_model( "pristine_crate" );
var_2.damaged_crate = maps\_utility::spawn_anim_model( "damaged_crate" );
var_2.pilot = maps\_utility::spawn_targetname( "chopper_pilot", 1 );
var_2.pilot.animname = "pilot";
var_2.pilot thread maps\jungle_ghosts_stream::crash_pilot_logic( var_2.chopper );
var_2.pilot_corpse = spawn( "script_model", var_2.origin );
var_2.pilot_corpse setmodel( var_2.pilot.model );
var_2.pilot_corpse useanimtree( #animtree );
var_2.pilot_corpse.origin = var_2.chopper gettagorigin( "tag_driver" );
var_2.pilot_corpse.angles = var_2.chopper gettagangles( "tag_driver" );
var_2.pilot_corpse linkto( var_2.chopper );
var_2.pilot_corpse setanimknob( %jungle_ghost_helicrash_pilot, 1, 0, 0 );
var_2.pilot_corpse setanimtime( %jungle_ghost_helicrash_pilot, 1 );
var_2.actors = [ var_2.pilot, var_2.pristine_crate, var_2.damaged_crate, var_2.chopper ];
var_2 thread maps\_anim::anim_loop( var_2.actors, "new_crash_idle" );
wait 5;
common_scripts\utility::flag_set( "smaw_target_detroyed" );
var_2 maps\_anim::anim_single( var_2.actors, "new_crash" );
var_0 solid();
var_0 disconnectpaths();
var_2.crate_clip delete();
}
dest_tree_test()
{
maps\jungle_ghosts_runway::escape_setup_trees();
level.player setorigin( ( 246, 11798, 755.036 ) );
level.player setplayerangles( ( 0, 180, 0 ) );
maps\jungle_ghosts_util::arm_player( [ "honeybadger+acog_sp" ] );
common_scripts\utility::flag_set( "choppers_saw_player" );
}
underwater_test()
{
var_0 = common_scripts\utility::getstruct( "struct_player_bigjump_edge_reference", "targetname" );
level.player setorigin( var_0.origin );
level.player setplayerangles( var_0.angles );
level.player enableinvulnerability();
level.mover = level.player common_scripts\utility::spawn_tag_origin();
thread maps\jungle_ghosts_runway::escape_player_water_logic();
thread maps\jungle_ghosts_runway::new_player_jump();
}
custom_intro_screen_func()
{
common_scripts\utility::flag_wait( "intro_lines" );
maps\_introscreen::introscreen( 1 );
}
jungle_hill_start()
{
common_scripts\utility::flag_set( "jungle_entrance" );
thread maps\jungle_ghosts_jungle::hill_fx();
thread maps\jungle_ghosts_util::cull_distance_logic();
level thread maps\jungle_ghosts_jungle::jungle_stealth_settings();
thread objectives( "jungle_hill" );
maps\_utility::array_spawn_function_targetname( "alpha_team", maps\jungle_ghosts_jungle::jungle_friendly_logic );
thread maps\jungle_ghosts_jungle::setup_hill_enemies();
maps\jungle_ghosts_util::move_player_to_start( "jungle_hill_start_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
wait 1;
wait 0.5;
level thread maps\jungle_ghosts_jungle::friendly_navigation();
level thread maps\jungle_ghosts_jungle::jungle_vo();
level thread maps\jungle_ghosts_jungle::player_spotted_logic();
common_scripts\utility::flag_set( "jungle_entrance" );
maps\_utility::activate_trigger_with_targetname( "jungle_entrance" );
common_scripts\utility::flag_wait( "waterfall_approach" );
thread maps\jungle_ghosts_jungle::waterfall_execution();
level.player thread maps\jungle_ghosts_util::stream_waterfx( "stop_water_footsteps", "step_run_plr_water" );
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
execution_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
thread objectives( "waterfall" );
maps\jungle_ghosts_util::move_player_to_start( "waterfall_execution_player" );
var_0 = [ "honeybadger+acog_sp", "p226_tactical+silencerpistol_sp+tactical_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
var_1 = common_scripts\utility::getstructarray( "waterfall_execution_ai", "targetname" );
foreach ( var_4, var_3 in var_1 )
{
level.alpha[var_4] forceteleport( var_3.origin, var_3.angles );
level.alpha[var_4] maps\_utility::set_force_color( "r" );
level.alpha[var_4] maps\_utility::ent_flag_init( "stealth_kill" );
level.alpha[var_4] thread maps\_utility::magic_bullet_shield( 1 );
}
thread maps\jungle_ghosts_jungle::waterfall_execution();
maps\_utility::activate_trigger_with_targetname( "waterfall_approach" );
level thread maps\jungle_ghosts_jungle::jungle_vo();
maps\_utility::friendlyfire_warnings_off();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
stream_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
var_0 = common_scripts\utility::get_target_ent( "river_blocker" );
var_0 connectpaths();
var_0 delete();
thread objectives( "stream" );
maps\jungle_ghosts_util::move_player_to_start( "stream_start_player" );
var_1 = [ "honeybadger+acog_sp", "p226_tactical+silencerpistol_sp+tactical_sp" ];
maps\jungle_ghosts_util::arm_player( var_1, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
var_2 = common_scripts\utility::getstructarray( "stream_start_ai", "targetname" );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
var_3 = getaiarray( "allies" );
foreach ( var_6, var_5 in var_2 )
var_3[var_6] forceteleport( var_5.origin, var_5.angles );
setup_squad_stealth();
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.alpha, maps\_utility::enable_ai_color );
common_scripts\utility::flag_set( "player_rescued_hostage" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "player_rescued_hostage" );
common_scripts\utility::array_thread( var_3, ::stream_friendly_setup );
thread maps\jungle_ghosts_stream::friendly_stream_navigation();
level.player thread maps\jungle_ghosts_util::stream_waterfx( "stop_water_footsteps", "step_run_plr_water" );
maps\_utility::friendlyfire_warnings_off();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
stream_waterfall_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
thread objectives( "stream" );
maps\jungle_ghosts_util::move_player_to_start( "stream_waterfall_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
var_1 = common_scripts\utility::getstructarray( "stream_waterfall_ai", "targetname" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
setup_squad_stealth();
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.alpha, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, maps\_utility::ent_flag_init, "stealth_kill" );
common_scripts\utility::array_thread( var_2, ::stream_friendly_setup );
thread maps\jungle_ghosts_stream::friendly_stream_navigation();
thread maps\jungle_ghosts_stream::stream_enemy_setup( "waterfall" );
level.player thread maps\jungle_ghosts_util::stream_waterfx( "stop_water_footsteps", "step_run_plr_water" );
maps\_utility::friendlyfire_warnings_off();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
stream_backend_start()
{
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
thread objectives( "stream" );
maps\jungle_ghosts_util::move_player_to_start( "stream_backend_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
var_1 = common_scripts\utility::getstructarray( "stream_backend_ai", "targetname" );
common_scripts\utility::array_thread( level.squad, maps\_utility::ent_flag_init, "stealth_kill" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
setup_squad_stealth();
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.alpha, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( var_2, ::stream_friendly_setup );
thread maps\jungle_ghosts_stream::friendly_stream_navigation();
thread maps\jungle_ghosts_stream::stream_enemy_setup( "backend" );
level.player thread maps\jungle_ghosts_util::stream_waterfx( "stop_water_footsteps", "step_run_plr_water" );
thread swap_to_overcast_sky();
maps\_utility::friendlyfire_warnings_off();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
tall_grass_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
thread objectives( "tall_grass" );
common_scripts\utility::flag_set( "ambush_open_fire" );
var_0 = getent( "stream_backend_moveup_stealth", "targetname" );
var_0 delete();
maps\jungle_ghosts_util::move_player_to_start( "tall_grass_player" );
var_1 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
var_2 = common_scripts\utility::getstructarray( "tall_grass_ai", "targetname" );
var_3 = getaiarray( "allies" );
foreach ( var_6, var_5 in var_2 )
var_3[var_6] forceteleport( var_5.origin, var_5.angles );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, ::tall_grass_friendly_setup );
thread maps\jungle_ghosts_stream::stream_enemy_setup( "none" );
common_scripts\utility::array_thread( level.squad, maps\_utility::ent_flag_init, "stealth_kill" );
setup_squad_stealth();
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
thread maps\jungle_ghosts_stream::tall_grass_globals();
thread maps\jungle_ghosts_stream::tall_grass_friendly_navigation();
maps\_utility::activate_trigger_with_targetname( "stream_exit" );
thread swap_to_overcast_sky();
maps\_utility::activate_trigger_with_targetname( "stream_backend_moveup" );
var_7 = maps\jungle_ghosts_stream::pre_tallgrass_guys_logic;
maps\_utility::array_spawn_function_targetname( "tall_grass_intro_guys", maps\jungle_ghosts_stream::pre_tallgrass_guys_logic );
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
tall_grass_start_cold()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
thread objectives( "tall_grass" );
var_0 = maps\jungle_ghosts_jungle::jungle_enemy_logic;
maps\_utility::array_spawn_function_targetname( "tall_grass_intro_guys_stealth", var_0, "zero", 1 );
var_0 = maps\jungle_ghosts_stream::pre_tall_grass_patroller_break_on_sight;
maps\_utility::array_spawn_function_targetname( "tall_grass_intro_guys_stealth", var_0 );
var_0 = maps\jungle_ghosts_stream::pre_tall_grass_patroller_logic;
maps\_utility::array_spawn_function_noteworthy( "tall_grass_patroller", var_0 );
maps\jungle_ghosts_util::move_player_to_start( "tall_grass_player" );
var_1 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_1 );
wait 1;
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
var_2 = common_scripts\utility::getstructarray( "tall_grass_ai", "targetname" );
var_3 = getaiarray( "allies" );
foreach ( var_6, var_5 in var_2 )
var_3[var_6] forceteleport( var_5.origin, var_5.angles );
var_7 = getent( "stream_backend_moveup", "targetname" );
var_7 delete();
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, ::tall_grass_friendly_setup );
thread maps\jungle_ghosts_stream::stream_enemy_setup( "none" );
common_scripts\utility::array_thread( level.squad, maps\_utility::ent_flag_init, "stealth_kill" );
setup_squad_stealth();
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
thread maps\jungle_ghosts_stream::tall_grass_globals();
thread maps\jungle_ghosts_stream::friendly_stream_navigation();
maps\_utility::activate_trigger_with_targetname( "stream_exit" );
thread swap_to_overcast_sky();
common_scripts\utility::flag_wait( "stream_exit" );
maps\_utility::activate_trigger_with_targetname( "stream_backend_moveup_stealth" );
common_scripts\utility::trigger_off( "stream_backend_moveup_stealth", "targetname" );
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
tall_grass_chopper_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
thread objectives( "tall_grass" );
maps\jungle_ghosts_util::move_player_to_start( "tall_grass_chopper_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0 );
wait 1;
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
var_1 = common_scripts\utility::getstructarray( "tall_grass_chopper_ai", "targetname" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, ::tall_grass_friendly_setup );
thread maps\jungle_ghosts_stream::stream_enemy_setup( "none" );
setup_squad_stealth();
thread maps\jungle_ghosts_stream::tall_grass_globals( 1 );
thread maps\jungle_ghosts_stream::tall_grass_friendly_navigation();
common_scripts\utility::flag_set( "to_grassy_field" );
common_scripts\utility::flag_set( "jungle_entrance" );
thread swap_to_overcast_sky();
badplace_delete( "pre_tall_grass0" );
badplace_delete( "pre_tall_grass1" );
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
tall_grass_nogame_start()
{
maps\iplane::iplane_unload();
thread swap_to_overcast_sky();
maps\jungle_ghosts_util::move_player_to_start( "nogame_player_start" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
common_scripts\utility::flag_set( "field_entrance" );
level thread maps\jungle_ghosts_stream::tall_grass_moving_grass_settings();
}
runway_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
thread maps\jungle_ghosts_runway::runway_setup();
maps\jungle_ghosts_util::move_player_to_start( "runway_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
var_1 = common_scripts\utility::getstructarray( "runway_ai", "targetname" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, ::tall_grass_friendly_setup );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
maps\_utility::activate_trigger_with_targetname( "squad_to_runway" );
thread objectives( "runway" );
thread runway_escape_weather();
thread swap_to_overcast_sky();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
runway_escape_weather()
{
thread maps\jungle_ghosts_util::start_raining();
thread maps\jungle_ghosts_util::thunder_and_lightning( 8, 12 );
level.player setclienttriggeraudiozone( "jungle_ghosts_escape_rain", 0.1 );
}
escape_runway_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
maps\jungle_ghosts_util::move_player_to_start( "escape_runway_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
var_1 = common_scripts\utility::getstructarray( "escape_runway_ai", "targetname" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, maps\_utility::magic_bullet_shield );
setup_squad_stealth();
maps\_utility::activate_trigger_with_targetname( "squad_to_runway" );
thread objectives( "escape_runway" );
thread maps\jungle_ghosts_runway::escape_globals( "runway" );
var_6 = maps\_utility::getent_or_struct( "apache1_start_point", "script_noteworthy" );
var_7 = getent( "runway_apache", "script_noteworthy" );
level.apache1 = maps\_vehicle::vehicle_spawn( var_7 );
level.apache1 thread maps\jungle_ghosts_runway::runway_apache_logic( "runway" );
level.apache1 vehicle_teleport( var_6.origin, var_6.angles );
level.apache1 thread maps\_vehicle::vehicle_paths( var_6 );
wait 0.1;
level.apache1 vehicle_setspeedimmediate( 50 );
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
escape_jungle_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
maps\jungle_ghosts_util::move_player_to_start( "escape_jungle_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
assign_bravo();
var_1 = common_scripts\utility::getstructarray( "escape_jungle_ai", "targetname" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, maps\_utility::magic_bullet_shield );
setup_squad_stealth();
thread objectives( "escape_runway" );
thread maps\jungle_ghosts_runway::escape_globals( "jungle" );
var_6 = maps\_utility::getent_or_struct( "chopper_over_tallgrass", "script_noteworthy" );
var_7 = getent( "runway_apache", "script_noteworthy" );
level.apache1 = maps\_vehicle::vehicle_spawn( var_7 );
level.apache1 vehicle_teleport( var_6.origin, ( 0, 130, 0 ) );
level.apache1 thread maps\jungle_ghosts_runway::runway_apache_logic( "jungle" );
thread runway_escape_weather();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
iplane_interrogation()
{
level thread maps\iplane::iplane_start();
}
iplane_crash()
{
level thread maps\iplane::iplane_crash();
}
escape_river_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
thread maps\jungle_ghosts_jungle::slomo_sound_scale_setup();
level.river_apache = thread maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "river_chopper" );
maps\jungle_ghosts_util::move_player_to_start( "escape_river_player" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
var_1 = common_scripts\utility::getstructarray( "escape_river_ai", "targetname" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, maps\_utility::magic_bullet_shield );
setup_squad_stealth();
var_6 = maps\_utility::getent_or_struct( "attack_river_jump", "targetname" );
var_7 = getent( "runway_apache", "script_noteworthy" );
level.apache1 = maps\_vehicle::vehicle_spawn( var_7 );
level.apache1 vehicle_teleport( var_6.origin, var_6.angles );
level.apache1 thread maps\jungle_ghosts_runway::runway_apache_logic( "river" );
thread maps\jungle_ghosts_runway::escape_globals( "river" );
common_scripts\utility::flag_set( "escape_halfway" );
level.river_apache maps\_vehicle::mgoff();
thread runway_escape_weather();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
escape_waterfall_start()
{
maps\iplane::iplane_unload();
common_scripts\utility::flag_set( "jungle_entrance" );
common_scripts\utility::flag_set( "second_distant_sat_launch" );
common_scripts\utility::flag_set( "intro_lines" );
common_scripts\utility::flag_set( "obj_get_to_river" );
level.river_apache = thread maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "river_chopper" );
maps\jungle_ghosts_util::move_player_to_start( "waterfall_player_land" );
var_0 = [ "p226_tactical+silencerpistol_sp+tactical_sp", "honeybadger+acog_sp" ];
maps\jungle_ghosts_util::arm_player( var_0, 1 );
level.alpha = maps\_utility::array_spawn_targetname( "alpha_team", 1 );
assign_alpha();
level.bravo = maps\_utility::array_spawn_targetname( "bravo_team", 1 );
var_1 = common_scripts\utility::getstructarray( "waterfall_ai_land", "targetname" );
var_2 = getaiarray( "allies" );
foreach ( var_5, var_4 in var_1 )
var_2[var_5] forceteleport( var_4.origin, var_4.angles );
common_scripts\utility::array_thread( level.alpha, maps\_utility::set_force_color, "r" );
common_scripts\utility::array_thread( level.bravo, maps\_utility::set_force_color, "b" );
level.squad = common_scripts\utility::array_combine( level.alpha, level.bravo );
common_scripts\utility::array_thread( level.squad, maps\_utility::enable_ai_color );
common_scripts\utility::array_thread( level.squad, maps\_utility::magic_bullet_shield );
setup_squad_stealth();
thread runway_escape_weather();
thread escape_setup_swimming();
thread maps\jungle_ghosts_util::battle_chatter_controller_friendlies();
}
escape_setup_swimming()
{
level thread maps\jungle_ghosts_util::player_swim_think();
foreach ( var_1 in level.squad )
var_1 thread maps\jungle_ghosts_util::enable_ai_swim();
}
stream_friendly_setup()
{
self.ignoreme = 1;
thread maps\_utility::magic_bullet_shield( 1 );
thread maps\jungle_ghosts_util::stream_waterfx( "stop_water_footsteps", "step_run_plr_water" );
}
stream_friendly_setup_e3()
{
self.ignoreme = 1;
thread maps\jungle_ghosts_util::stream_waterfx( "stop_water_footsteps", "step_run_plr_water" );
}
tall_grass_friendly_setup()
{
thread maps\_utility::magic_bullet_shield( 1 );
self.ignoreme = 1;
self.ignoreall = 1;
}
swap_to_overcast_sky()
{
if ( common_scripts\utility::flag( "skybox_changed" ) )
return;
var_0 = getmapsunlight();
var_1 = ( 0.804688, 0.878906, 0.996094 );
thread maps\_utility::sun_light_fade( var_0, var_1, 0.1 );
common_scripts\utility::flag_set( "skybox_changed" );
if ( isdefined( level.rain_skybox ) )
level.rain_skybox show();
}
assign_alpha()
{
foreach ( var_1 in level.alpha )
{
if ( var_1.script_friendname == "Elias" )
{
level.alpha1 = var_1;
level.alpha1.animname = "alpha1";
level.alpha1 maps\_utility::forceuseweapon( "honeybadger", "primary" );
level.alpha1 thread maps\_utility::set_ai_bcvoice( "taskforce" );
level.alpha1 animscripts\battlechatter_ai::assign_npcid();
continue;
}
level.alpha2 = var_1;
level.alpha2.animname = "alpha2";
level.alpha2 thread maps\_utility::set_ai_bcvoice( "taskforce" );
level.alpha2 maps\_utility::forceuseweapon( "honeybadger", "primary" );
level.alpha2 animscripts\battlechatter_ai::assign_npcid();
}
}
assign_bravo()
{
foreach ( var_1 in level.bravo )
{
if ( var_1.script_friendname == "Merrick" )
{
level.merrick = var_1;
var_1.animname = "baker";
var_1 thread maps\_utility::set_ai_bcvoice( "taskforce" );
level.merrick maps\_utility::forceuseweapon( "honeybadger", "primary" );
level.merrick animscripts\battlechatter_ai::assign_npcid();
continue;
}
level.hesh = var_1;
var_1.animname = "diaz";
var_1 thread maps\_utility::set_ai_bcvoice( "taskforce" );
level.hesh maps\_utility::forceuseweapon( "honeybadger", "primary" );
level.hesh animscripts\battlechatter_ai::assign_npcid();
}
}
objectives( var_0 )
{
switch ( var_0 )
{
case "jungle":
case "default":
common_scripts\utility::flag_wait( "obj_regroup" );
wait 1;
case "jungle_hill":
case "waterfall":
objective_add( maps\_utility::obj( "waterfall" ), "current", &"JUNGLE_GHOSTS_OBJ_REGROUP_AT_WATERFALL" );
common_scripts\utility::flag_wait( "waterfall_see_friendlies" );
maps\_utility::objective_complete( maps\_utility::obj( "waterfall" ) );
common_scripts\utility::flag_wait_any( "player_at_execution", "obj_save_team" );
objective_add( maps\_utility::obj( "rescue" ), "current", &"JUNGLE_GHOSTS_OBJ_SAVE_TEAM" );
common_scripts\utility::flag_wait( "player_rescued_hostage" );
maps\_utility::objective_complete( maps\_utility::obj( "rescue" ) );
common_scripts\utility::flag_wait( "obj_get_to_river" );
case "escape_runway":
case "runway":
case "tall_grass":
case "stream":
objective_add( maps\_utility::obj( "escape" ), "current", &"JUNGLE_GHOSTS_OBJ_ESC_TO_RIVER" );
common_scripts\utility::flag_wait( "obj_all_done" );
maps\_utility::objective_complete( maps\_utility::obj( "escape" ) );
}
}
setup_squad_stealth()
{
var_0 = maps\_stealth_utility::stealth_default;
var_1 = maps\jungle_ghosts_util::friendly_jungle_stealth_color_behavior;
common_scripts\utility::array_thread( level.squad, var_0 );
common_scripts\utility::array_thread( level.squad, var_1 );
}
intro_stealth_spotted_check()
{
level.was_spotted = 0;
common_scripts\utility::flag_wait_any( "_stealth_spotted", "ambush_open_fire", "choppers_saw_player" );
level.was_spotted = 1;
}
setup_fire_damage()
{
var_0 = [];
var_0[0] = ( -2595.77, -1665.52, -402.233 );
var_0[1] = ( -2543.83, -1644.33, -391.218 );
var_0[2] = ( -2459.34, -752.736, -423.511 );
var_0[3] = ( -2519.98, -1160.48, -408.619 );
var_0[4] = ( -3044.98, -1504.99, -363.192 );
var_0[5] = ( -3031.5, -1663.59, -397.669 );
var_0[6] = ( -3142.29, -1533.65, -389.321 );
var_0[7] = ( -3210.06, -1682.39, -416.253 );
var_0[8] = ( -2814.12, -1157.09, -398.665 );
var_0[9] = ( -2157.6, -781.504, -438.141 );
var_0[10] = ( -2264.97, -1499.58, -429.448 );
var_0[11] = ( -2241.24, -1616.73, -437.561 );
var_0[12] = ( -2629.33, -608.276, -419.8 );
var_0[13] = ( -2708, -1377.09, -401.751 );
var_0[14] = ( -2103.42, -1285.64, -413.131 );
var_0[15] = ( -2127.55, -1301.51, -419.345 );
var_0[16] = ( -2453.06, -690.896, -379.602 );
var_0[17] = ( -2655.49, -867.645, -416.411 );
var_0[18] = ( -2166.7, -582.921, -367.181 );
var_1 = [];
var_1[0] = ( -4194.69, -4732.18, -224.489 );
var_1[1] = ( -4194.69, -4732.18, -224.489 );
var_1[2] = ( -2084.12, -1298.02, -370.623 );
var_2 = [];
var_2[0] = ( -2442.65, -529.762, -395.673 );
var_2[1] = ( -2737.53, -1562.62, -310.952 );
var_2[2] = ( -2421.33, -511.182, -396.035 );
var_2[3] = ( -2730.36, -1575.76, -335.448 );
var_2[4] = ( -1708.77, -846.385, -338.592 );
var_2[5] = ( -2413.1, -587.093, -346.973 );
var_2[6] = ( -2362.01, -498.633, -402.776 );
for ( var_3 = 0; var_3 < var_0.size; var_3++ )
{
var_4 = spawn( "trigger_radius", var_0[var_3], 0, 32, 64 );
var_4 thread world_fire_damage( "s" );
}
for ( var_3 = 0; var_3 < var_1.size; var_3++ )
{
var_4 = spawn( "trigger_radius", var_1[var_3], 0, 64, 128 );
var_4 thread world_fire_damage( "m" );
}
for ( var_3 = 0; var_3 < var_2.size; var_3++ )
{
var_4 = spawn( "trigger_radius", var_2[var_3], 0, 80, 256 );
var_4 thread world_fire_damage( "l" );
}
}
world_fire_damage( var_0 )
{
var_1 = 10;
if ( var_0 == "m" )
var_1 = 25;
else if ( var_0 == "l" )
var_1 = 50;
for (;;)
{
self waittill( "trigger" );
level.player dodamage( var_1, self.origin );
wait 0.5;
}
}
player_pushing_forward()
{
if ( common_scripts\utility::flag( "vargas_at_edge" ) )
return 1;
var_0 = level.player getnormalizedmovement();
return var_0[0] > 0.1;
}
ssao_logic_post_stream()
{
level.player waittill( "start_falling_anim" );
var_0 = 1;
for (;;)
{
if ( maps\jungle_ghosts_util::game_is_ng() && level.player.origin[1] > 977 && level.player.origin[1] < 8939 && !var_0 )
{
maps\_art::enable_ssao_over_time( 2 );
var_0 = 1;
}
else if ( maps\jungle_ghosts_util::game_is_ng() && ( level.player.origin[1] <= 977 || level.player.origin[1] >= 8939 ) && var_0 )
{
maps\_art::disable_ssao_over_time( 2 );
var_0 = 0;
}
wait 1;
}
}