539 lines
21 KiB
Plaintext
539 lines
21 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
main()
|
|
{
|
|
maps\_hand_signals::inithandsignals();
|
|
maps\_patrol_anims::main();
|
|
player_anims();
|
|
generic_human_anims();
|
|
vehicle_anims();
|
|
script_model_anims();
|
|
script_model();
|
|
the_dog();
|
|
}
|
|
|
|
#using_animtree("generic_human");
|
|
|
|
generic_human_anims()
|
|
{
|
|
level.scr_anim["generic"]["active_patrolwalk_gundown"] = %active_patrolwalk_gundown;
|
|
level.scr_anim["generic"]["ambush_react1"] = %cqb_stand_react_a;
|
|
level.scr_anim["generic"]["ambush_react2"] = %cqb_stand_react_b;
|
|
level.scr_anim["generic"]["ambush_react3"] = %cqb_stand_react_c;
|
|
level.scr_anim["generic"]["ambush_react4"] = %cqb_stand_react_d;
|
|
level.scr_anim["generic"]["ambush_react5"] = %cqb_stand_react_e;
|
|
level.scr_anim["guy1"]["helpup_lookout"] = %jungle_ghost_lookout_helpup_guy1;
|
|
level.scr_anim["guy2"]["helpup_lookout"] = %jungle_ghost_lookout_helpup_guy2;
|
|
level.scr_anim["guy1"]["meeting"] = %jungle_ghost_patrol_meeting_guy1;
|
|
level.scr_anim["guy2"]["meeting"] = %jungle_ghost_patrol_meeting_guy2;
|
|
level.scr_anim["guy3"]["meeting"] = %jungle_ghost_patrol_meeting_guy3;
|
|
level.scr_anim["generic"]["meeting_idle1"][0] = %jungle_ghost_patrol_meeting_idle_guy1;
|
|
level.scr_anim["generic"]["meeting_idle2"][0] = %jungle_ghost_patrol_meeting_idle_guy2;
|
|
level.scr_anim["generic"]["meeting_idle3"][0] = %jungle_ghost_patrol_meeting_idle_guy3;
|
|
level.scr_anim["generic"]["cliff_look"][0] = %jungle_ghost_cliff_looker;
|
|
level.scr_anim["generic"]["cliff_look_react"] = %exposed_idle_reacta;
|
|
level.scr_anim["generic"]["chopper_crate_directing"][0] = %london_loader3_loading;
|
|
level.scr_anim["generic"]["run_reaction_180"] = %run_reaction_180;
|
|
level.scr_anim["generic"]["run_reaction_L_quick"] = %run_reaction_l_quick;
|
|
level.scr_anim["generic"]["jungle_ghost_ai_slide1"] = %jungle_ghost_ai_slide_guy1;
|
|
level.scr_anim["generic"]["jungle_ghost_ai_slide2"] = %jungle_ghost_ai_slide_guy2;
|
|
level.scr_anim["generic"]["swim_idle"][0] = %prague_intro_swim_idle_01;
|
|
level.scr_anim["generic"]["swim"] = %prague_intro_swim_breaststroke_01;
|
|
level.scr_anim["generic"]["swim_fast"] = %prague_intro_swim_breaststroke_02;
|
|
level.scr_anim["generic"]["signal_stop_swim"] = %prague_intro_swim_holdposition;
|
|
level.scr_anim["generic"]["jungle_ghost_wf_escape_jumpoff_guy1"] = %jungle_ghost_wf_escape_jumpoff_guy1;
|
|
level.scr_anim["generic"]["jungle_ghost_wf_escape_jumpoff_guy2"] = %jungle_ghost_wf_escape_jumpoff_guy2;
|
|
level.scr_anim["generic"]["patrol_jog_360_once"] = %patrol_jog_360_once;
|
|
level.scr_anim["generic"]["patrol_jog_orders_once"] = %patrol_jog_orders_once;
|
|
level.scr_anim["generic"]["patrol_jog"] = %patrol_jog;
|
|
level.scr_anim["generic"]["water_walk_1"] = %water_walk_01;
|
|
level.scr_anim["generic"]["water_walk_2"] = %water_walk_02;
|
|
level.scr_anim["generic"]["water_run_1"] = %water_run_01;
|
|
level.scr_anim["generic"]["water_run_2"] = %water_run_02;
|
|
level.scr_anim["pilot"]["new_crash"] = %jungle_ghost_helicrash_pilot;
|
|
level.scr_anim["pilot"]["new_crash_idle"][0] = %jungle_ghost_helicrash_pilot_idle;
|
|
level.scr_anim["dead_jungle_pilot"]["dead_idle"][0] = %paris_npc_dead_poses_v24_chair_sq;
|
|
level.scr_anim["guard_a_1"]["water_walk_1"] = %water_walk_01;
|
|
level.scr_anim["guard_a_2"]["water_walk_1"] = %water_walk_01;
|
|
level.scr_anim["hostage_a"]["water_walk_1"] = %water_walk_01;
|
|
level.scr_anim["guard_b_1"]["water_walk_1"] = %water_walk_01;
|
|
level.scr_anim["guard_b_2"]["water_walk_1"] = %water_walk_01;
|
|
level.scr_anim["hostage_b"]["water_walk_1"] = %water_walk_01;
|
|
level.scr_anim["guard_a_1"]["rescue_a_idle"][0] = %jg_river_rescue_a_guard_1_idle;
|
|
level.scr_anim["guard_a_2"]["rescue_a_idle"][0] = %jg_river_rescue_a_guard_2_idle;
|
|
level.scr_anim["hostage_a"]["rescue_a_idle"][0] = %jg_river_rescue_a_hostage_idle;
|
|
level.scr_anim["guard_b_1"]["rescue_b_idle"][0] = %jg_river_rescue_b_guard_1_idle;
|
|
level.scr_anim["guard_b_2"]["rescue_b_idle"][0] = %jg_river_rescue_b_guard_2_idle;
|
|
level.scr_anim["hostage_b"]["rescue_b_idle"][0] = %jg_river_rescue_b_hostage_idle;
|
|
level.scr_anim["guard_a_1"]["rescue_a"] = %jg_river_rescue_a_guard_1;
|
|
level.scr_anim["guard_a_2"]["rescue_a"] = %jg_river_rescue_a_guard_2;
|
|
level.scr_anim["hostage_a"]["rescue_a"] = %jg_river_rescue_a_hostage;
|
|
level.scr_anim["guard_a_1"]["rescue_a_shot"] = %jg_river_rescue_a_shot_guard_1;
|
|
level.scr_anim["guard_a_2"]["rescue_a_shot"] = %jg_river_rescue_a_shot_guard_2;
|
|
level.scr_anim["hostage_a"]["rescue_a_shot"] = %jg_river_rescue_a_shot_hostage;
|
|
level.scr_anim["guard_b_1"]["rescue_b"] = %jg_river_rescue_b_guard_1;
|
|
level.scr_anim["guard_b_2"]["rescue_b"] = %jg_river_rescue_b_guard_2;
|
|
level.scr_anim["hostage_b"]["rescue_b"] = %jg_river_rescue_b_hostage;
|
|
level.scr_anim["guard_b_1"]["rescue_b_shot"] = %jg_river_rescue_b_shot_guard_1;
|
|
level.scr_anim["guard_b_2"]["rescue_b_shot"] = %jg_river_rescue_b_shot_guard_2;
|
|
level.scr_anim["hostage_b"]["rescue_b_shot"] = %jg_river_rescue_b_shot_hostage;
|
|
level.scr_anim["alpha1"]["elias_rescue"] = %jungleghost_waterfall_elias_rescue;
|
|
maps\_anim::addnotetrack_customfunction( "alpha1", "missle", ::set_missile_reaction, "elias_rescue" );
|
|
maps\_anim::addnotetrack_customfunction( "alpha1", "jungleg_bkr_coughingcatchingbreath", ::set_missile_reply, "elias_rescue" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_b", "fire", ::hostage_fire_single_left, "rescue_b" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_b", "pistol_on", ::attach_pistol_left, "rescue_b" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_b", "pistol_off", ::detach_pistol_left, "rescue_b" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_b", "fire_spray", ::hostage_fire_spray, "rescue_b_shot" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_a", "fire", ::hostage_fire_single_right, "rescue_a" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_a", "pistol_on", ::attach_pistol_right, "rescue_a" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_a", "pistol_off", ::detach_pistol_right, "rescue_a" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_a", "swap_gun", ::swap_to_regular_gun, "rescue_a_shot" );
|
|
maps\_anim::addnotetrack_customfunction( "hostage_a", "fire_spray", ::hostage_fire_spray, "rescue_a_shot" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_a_1", "bodyfall large", ::body_is_falling, "rescue_a" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_a_1", "bodyfall large", ::body_is_falling, "rescue_a_shot" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_a_2", "bodyfall large", ::body_is_falling, "rescue_a" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_a_2", "bodyfall large", ::body_is_falling, "rescue_a_shot" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_b_1", "bodyfall large", ::body_is_falling, "rescue_b" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_b_1", "bodyfall large", ::body_is_falling, "rescue_b_shot" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_b_2", "bodyfall large", ::body_is_falling, "rescue_b" );
|
|
maps\_anim::addnotetrack_customfunction( "guard_b_2", "bodyfall large", ::body_is_falling, "rescue_b_shot" );
|
|
level.scr_animtree["waving_man"] = #animtree;
|
|
level.scr_model["waving_man"] = "body_us_rangers_smg_a";
|
|
level.scr_anim["waving_man"]["wave"] = %jungle_ghost_boat_wave_in;
|
|
}
|
|
|
|
set_missile_reaction( var_0 )
|
|
{
|
|
common_scripts\utility::flag_set( "second_distant_sat_launch" );
|
|
}
|
|
|
|
set_missile_reply( var_0 )
|
|
{
|
|
common_scripts\utility::flag_set( "do_jungleg_bkr_coughingcatchingbreath" );
|
|
}
|
|
|
|
body_is_falling( var_0 )
|
|
{
|
|
var_0.ignoreme = 1;
|
|
var_0.team = "neutral";
|
|
var_0.deathfunction = ::do_rag_death;
|
|
var_0.allowdeath = 1;
|
|
var_0 kill();
|
|
}
|
|
|
|
do_rag_death()
|
|
{
|
|
self startragdoll();
|
|
wait 0.05;
|
|
}
|
|
|
|
attach_pistol_left( var_0 )
|
|
{
|
|
var_0 attach( "weapon_p226", "tag_weapon_left" );
|
|
}
|
|
|
|
detach_pistol_left( var_0 )
|
|
{
|
|
var_0 detach( "weapon_p226", "tag_weapon_left" );
|
|
}
|
|
|
|
hostage_fire_single_left( var_0 )
|
|
{
|
|
magicbullet( "p226", var_0 gettagorigin( "tag_weapon_left" ), var_0 gettagorigin( "tag_weapon_left" ) );
|
|
playfxontag( common_scripts\utility::getfx( "muzzle_flash_pistol" ), var_0, "tag_weapon_left" );
|
|
}
|
|
|
|
attach_pistol_right( var_0 )
|
|
{
|
|
var_0 attach( "weapon_p226", "tag_weapon_right" );
|
|
}
|
|
|
|
detach_pistol_right( var_0 )
|
|
{
|
|
var_0 detach( "weapon_p226", "tag_weapon_right" );
|
|
var_0 maps\_utility::gun_recall();
|
|
}
|
|
|
|
hostage_fire_single_right( var_0 )
|
|
{
|
|
level.fire_notetracks++;
|
|
|
|
if ( var_0.name == "Merrick" && !level.execution_guy_dead || level.fire_notetracks == 3 )
|
|
{
|
|
magicbullet( "p226", var_0 gettagorigin( "tag_flash" ), var_0 gettagorigin( "tag_flash" ) );
|
|
playfxontag( common_scripts\utility::getfx( "muzzle_flash_pistol" ), var_0, "tag_flash" );
|
|
}
|
|
}
|
|
|
|
swap_to_regular_gun( var_0 )
|
|
{
|
|
var_0 maps\_utility::gun_recall();
|
|
}
|
|
|
|
hostage_fire_spray( var_0 )
|
|
{
|
|
var_1 = 3;
|
|
|
|
for ( var_2 = 0; var_2 < var_1; var_2++ )
|
|
{
|
|
magicbullet( "honeybadger", var_0 gettagorigin( "tag_flash" ), var_0 gettagorigin( "tag_flash" ) );
|
|
playfxontag( common_scripts\utility::getfx( "muzzle_flash_pistol" ), var_0, "tag_flash" );
|
|
wait 0.1;
|
|
}
|
|
}
|
|
|
|
vfx_hostage1_dunk( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_dunk_in" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_lift( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_dunk_out" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_waterboard_start( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_waterboarding_loop" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_waterboard_stop( var_0 )
|
|
{
|
|
stopfxontag( common_scripts\utility::getfx( "drowned_waterboarding_loop" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_push_splash( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_push_splash" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_wateridle_start( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_underwater_loop" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_wateridle_stop( var_0 )
|
|
{
|
|
stopfxontag( common_scripts\utility::getfx( "drowned_underwater_loop" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_liftup( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_lift_out" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_body_ripple( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_body_ripple" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_arm_l_splash( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_splash_hand_in" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_arm_r_splash( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_splash_hand_in" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_arm_l_liftout( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_splash_hand_out" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_arm_r_liftout( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_splash_hand_out" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_arm_r_pushsplash( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_limb_push_splash" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_leg_l_pushsplash( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_limb_push_splash" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_leg_l_splash( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_splash_hand_in" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_leg_r_lift( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_splash_hand_out" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
vfx_hostage1_leg_r_pushsplash( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "drowned_limb_push_splash" ), var_0, "j_wrist_ri" );
|
|
}
|
|
|
|
intro_takedown_knife_notetrack_func( var_0 )
|
|
{
|
|
var_0 maps\_utility::die();
|
|
}
|
|
|
|
#using_animtree("vehicles");
|
|
|
|
vehicle_anims()
|
|
{
|
|
level.scr_animtree["aas"] = #animtree;
|
|
level.scr_model["aas"] = "vehicle_aas_72x_destructible";
|
|
level.scr_anim["aas"]["new_crash"] = %jungle_ghost_helicrash_helicopter;
|
|
level.scr_anim["aas"]["new_crash_idle"][0] = %jungle_ghost_helicrash_helicopter_idle;
|
|
maps\_anim::addnotetrack_customfunction( "aas", "heli_killed", ::heli_crash_heli_killed, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "box_hit_1", ::heli_crash_box_hit_1, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "blade_hit_1", ::heli_crash_blade_hit_1, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "engine_fail", ::heli_crash_engine_fail, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "box_hit_2", ::heli_crash_box_hit_2, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "blade_hit_2", ::heli_crash_blade_hit_2, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "blade_swap", ::heli_blade_swap, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "chopper_impact", ::heli_chopper_impact, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "blade_hit_water", ::heli_crash_blade_hit_water, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "tail_rotor_hit", ::heli_crash_tail_rotor_hit, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "aas", "body_hit_water", ::heli_crash_body_hit_water, "new_crash" );
|
|
}
|
|
|
|
heli_crash_heli_killed( var_0 )
|
|
{
|
|
var_0 thread maps\_utility::play_sound_on_entity( "scn_jungle_chopper_crash" );
|
|
|
|
if ( common_scripts\utility::flag( "do_stream_chopper_fx" ) )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "vfx_helicrash_helibodyfire" ), var_0, "TAG_ENGINE_LEFT" );
|
|
playfxontag( common_scripts\utility::getfx( "vfx_helicrash_rpg_explosion" ), var_0, "TAG_ENGINE_LEFT" );
|
|
var_0 playsound( "scn_jungle_chopper_hit" );
|
|
}
|
|
}
|
|
|
|
heli_crash_box_hit_1( var_0 )
|
|
{
|
|
common_scripts\utility::exploder( "box_hit_1" );
|
|
}
|
|
|
|
heli_crash_blade_hit_1( var_0 )
|
|
{
|
|
var_0 setmodel( "vehicle_aas_72x_destructible" );
|
|
common_scripts\utility::exploder( "blade_hit_1" );
|
|
}
|
|
|
|
heli_crash_engine_fail( var_0 )
|
|
{
|
|
common_scripts\utility::exploder( "engine_fail" );
|
|
}
|
|
|
|
heli_crash_box_hit_2( var_0 )
|
|
{
|
|
common_scripts\utility::exploder( "box_hit_2" );
|
|
var_1 = 5;
|
|
var_2 = [];
|
|
|
|
for ( var_3 = 0; var_3 < 20; var_3++ )
|
|
{
|
|
var_2[var_3] = spawn( "script_model", ( 1534 + randomintrange( -100, 100 ), 5236 + randomintrange( -50, 50 ), 650 + randomintrange( -20, 20 ) ) );
|
|
var_2[var_3].angles = ( randomintrange( 0, 360 ), randomintrange( 0, 360 ), randomintrange( 0, 360 ) );
|
|
var_2[var_3] setmodel( "weapon_honeybadger" );
|
|
var_2[var_3] movegravity( ( randomintrange( -300, -100 ), randomintrange( -200, 200 ), randomintrange( 200, 400 ) ), 5 );
|
|
var_2[var_3] rotateby( ( randomintrange( 0, 3000 ), randomintrange( 0, 3000 ), randomintrange( 0, 3000 ) ), var_1, var_1 );
|
|
}
|
|
|
|
wait 2;
|
|
var_4 = common_scripts\utility::getstructarray( "weapon_spawn", "targetname" );
|
|
|
|
for ( var_3 = 0; var_3 < 4; var_3++ )
|
|
{
|
|
foreach ( var_6 in var_4 )
|
|
{
|
|
var_7 = "weapon_honeybadger+acog_sp";
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_7 = "weapon_honeybadger+reflex_sp";
|
|
|
|
spawn( var_7, var_6.origin + ( randomintrange( -50, 50 ), randomintrange( -50, 50 ), 0 ) );
|
|
spawn( "weapon_p226_tactical+silencerpistol_sp+tactical_sp", var_6.origin + ( randomintrange( -50, 50 ), randomintrange( -50, 50 ), 0 ) );
|
|
}
|
|
}
|
|
|
|
wait 3;
|
|
|
|
foreach ( var_10 in var_2 )
|
|
var_10 delete();
|
|
}
|
|
|
|
heli_crash_blade_hit_2( var_0 )
|
|
{
|
|
common_scripts\utility::exploder( "blade_hit_2" );
|
|
}
|
|
|
|
heli_blade_swap( var_0 )
|
|
{
|
|
var_0 hidepart( "tag_blade" );
|
|
common_scripts\utility::exploder( "blade_swap" );
|
|
}
|
|
|
|
heli_chopper_impact( var_0 )
|
|
{
|
|
common_scripts\utility::flag_set( "chopper_impact" );
|
|
common_scripts\utility::exploder( "chopper_impact" );
|
|
}
|
|
|
|
heli_crash_blade_hit_water( var_0 )
|
|
{
|
|
common_scripts\utility::exploder( "blade_hit_water" );
|
|
}
|
|
|
|
heli_crash_tail_rotor_hit( var_0 )
|
|
{
|
|
common_scripts\utility::exploder( "tail_rotor_hit" );
|
|
}
|
|
|
|
heli_crash_body_hit_water( var_0 )
|
|
{
|
|
var_0 vehicle_turnengineoff();
|
|
common_scripts\utility::exploder( "body_hit_water" );
|
|
thread downed_chopper_fire();
|
|
}
|
|
|
|
downed_chopper_fire()
|
|
{
|
|
var_0 = spawn( "trigger_radius", ( 999, 5147, 527 ), 0, 32, 64 );
|
|
var_0 thread maps\jungle_ghosts::world_fire_damage( "s" );
|
|
var_0 = spawn( "trigger_radius", ( 1076, 5387, 527 ), 0, 64, 128 );
|
|
var_0 thread maps\jungle_ghosts::world_fire_damage( "m" );
|
|
var_0 = spawn( "trigger_radius", ( 1057, 5512, 715 ), 0, 64, 128 );
|
|
var_0 thread maps\jungle_ghosts::world_fire_damage( "m" );
|
|
}
|
|
|
|
#using_animtree("animated_props");
|
|
|
|
script_model_anims()
|
|
{
|
|
level.scr_animtree["pristine_crate"] = #animtree;
|
|
level.scr_model["pristine_crate"] = "jungle_crate_01";
|
|
level.scr_anim["pristine_crate"]["new_crash"] = %jungle_ghost_helicrash_crate;
|
|
level.scr_anim["pristine_crate"]["new_crash_idle"][0] = %jungle_ghost_helicrash_crate_idle;
|
|
level.scr_animtree["damaged_crate"] = #animtree;
|
|
level.scr_model["damaged_crate"] = "jungle_crate_01_dmg";
|
|
level.scr_anim["damaged_crate"]["new_crash"] = %jungle_ghost_helicrash_crate;
|
|
level.scr_anim["damaged_crate"]["new_crash_idle"][0] = %jungle_ghost_helicrash_crate_idle;
|
|
maps\_anim::addnotetrack_customfunction( "pristine_crate", "crate_impact", ::hide_me, "new_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "damaged_crate", "crate_impact", ::show_me, "new_crash" );
|
|
level.scr_animtree["player_harness"] = #animtree;
|
|
level.scr_model["player_harness"] = "jungle_player_parachute_rope";
|
|
level.scr_anim["player_harness"]["para_crash"] = %jungle_ghost_parachute_crash_falling_harness;
|
|
level.scr_anim["player_harness"]["para_cut"] = %jungle_ghost_parachute_crash_cutharness_harness;
|
|
level.scr_anim["player_harness"]["para_idle"][0] = %jungle_ghost_parachute_crash_cutharness_harness_idle;
|
|
}
|
|
|
|
hide_me( var_0 )
|
|
{
|
|
var_0 hide();
|
|
var_1 = common_scripts\utility::get_target_ent( "dest_crate" );
|
|
var_1 notsolid();
|
|
var_1 connectpaths();
|
|
wait 0.5;
|
|
var_2 = getent( "dest_crate", "targetname" );
|
|
|
|
if ( level.player istouching( var_2 ) )
|
|
{
|
|
level.player enabledeathshield( 0 );
|
|
level.player enablehealthshield( 0 );
|
|
level.player kill();
|
|
return;
|
|
}
|
|
|
|
var_2 solid();
|
|
var_2 disconnectpaths();
|
|
}
|
|
|
|
show_me( var_0 )
|
|
{
|
|
common_scripts\utility::flag_set( "box_swap" );
|
|
var_0 show();
|
|
level.player playrumbleonentity( "damage_heavy" );
|
|
var_1 = common_scripts\utility::getstruct( "crate_do_damage", "targetname" );
|
|
wait 0.25;
|
|
radiusdamage( var_1.origin, 80, 1000, 1000 );
|
|
}
|
|
|
|
executor_kill_hostage_notetrack( var_0 )
|
|
{
|
|
var_1 = var_0.scene_struct;
|
|
var_1 notify( "hostage_shot", var_0.script_noteworthy );
|
|
}
|
|
|
|
#using_animtree("player");
|
|
|
|
player_anims()
|
|
{
|
|
level.scr_animtree["player_rig"] = #animtree;
|
|
level.scr_model["player_rig"] = "viewhands_player_gs_jungle_b";
|
|
level.scr_anim["player_rig"]["waterfall_jump"] = %jungle_ghost_wf_escape_jumpoff_player;
|
|
level.scr_anim["player_rig"]["para_cut"] = %jungle_ghost_parachute_crash_cutharness;
|
|
level.scr_anim["player_rig"]["para_crash"] = %jungle_ghost_parachute_crash_falling;
|
|
level.scr_anim["player_rig"]["para_idle"][0] = %jungle_ghost_parachute_crash_cutharness_idle;
|
|
level.scr_anim["player_rig"]["crawl_intro"] = %dubai_finale_crawl03_player_nosound;
|
|
maps\_anim::addnotetrack_customfunction( "player_rig", "impact", ::falling_impact, "para_crash" );
|
|
maps\_anim::addnotetrack_customfunction( "player_rig", "impact", ::final_impact, "para_cut" );
|
|
}
|
|
|
|
falling_impact( var_0 )
|
|
{
|
|
level.impact_tree++;
|
|
|
|
if ( level.impact_tree == 2 )
|
|
common_scripts\utility::flag_set( "kill_face_fx" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
level.player thread maps\_gameskill::blood_splat_on_screen( "left" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
level.player thread maps\_gameskill::blood_splat_on_screen( "right" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
level.player thread maps\_gameskill::blood_splat_on_screen( "bottom" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
level.player thread maps\_gameskill::grenade_dirt_on_screen( "left" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
level.player thread maps\_gameskill::grenade_dirt_on_screen( "right" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
level.player thread maps\_gameskill::grenade_dirt_on_screen( "bottom" );
|
|
|
|
earthquake( randomfloatrange( 0.4, 0.45 ), randomfloatrange( 1, 1.25 ), level.player.origin, 200 );
|
|
level.player playrumbleonentity( "grenade_rumble" );
|
|
}
|
|
|
|
final_impact( var_0 )
|
|
{
|
|
common_scripts\utility::flag_set( "player_landed" );
|
|
}
|
|
|
|
#using_animtree("script_model");
|
|
|
|
script_model()
|
|
{
|
|
level.scr_animtree["seal_boat1"] = #animtree;
|
|
level.scr_animtree["seal_boat2"] = #animtree;
|
|
level.scr_anim["seal_boat1"]["outro"] = %jungle_ghost_boat_1;
|
|
level.scr_anim["seal_boat2"]["outro"] = %jungle_ghost_boat_2;
|
|
}
|
|
|
|
#using_animtree("dog");
|
|
|
|
the_dog()
|
|
{
|
|
level.scr_animtree["riley"] = #animtree;
|
|
level.scr_model["riley"] = "fullbody_dog_a";
|
|
level.scr_anim["riley"]["idle"][0] = %iw6_dog_casualidle;
|
|
level.scr_anim["riley"]["sniff"][0] = %iw6_dog_sniff_idle;
|
|
level.scr_anim["riley"]["sniff_once"] = %iw6_dog_sniff_idle;
|
|
}
|