742 lines
30 KiB
Plaintext
742 lines
30 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
initalienanims()
|
|
{
|
|
level.alienanimdata = spawnstruct();
|
|
initaliencannedtraverses( level.alienanimdata );
|
|
initalienjumptraverses( level.alienanimdata );
|
|
initalienpain( level.alienanimdata );
|
|
initaliendeath( level.alienanimdata );
|
|
initmovebackanims();
|
|
level.alienanimdata.jumplauncharrival_maxmovedelta = 107.659;
|
|
level.alienanimdata.stopsoon_notifydist = 99.4488;
|
|
}
|
|
|
|
calculateanimdata()
|
|
{
|
|
calculate_jumplauncharrivalmaxmovedelta();
|
|
calculate_stopsoonnotifydist();
|
|
}
|
|
|
|
calculate_jumplauncharrivalmaxmovedelta()
|
|
{
|
|
iprintln( "level.alienAnimData.jumpLaunchArrival_maxMoveDelta = " + calculate_maxmovedeltainanimstate( "jump_launch_arrival" ) );
|
|
}
|
|
|
|
calculate_stopsoonnotifydist()
|
|
{
|
|
iprintln( "level.alienAnimData.stopSoon_NotifyDist = " + calculate_maxmovedeltainanimstate( "run_stop" ) );
|
|
}
|
|
|
|
calculate_maxmovedeltainanimstate( var_0 )
|
|
{
|
|
var_1 = 0;
|
|
var_2 = self getanimentrycount( var_0 );
|
|
|
|
for ( var_3 = 0; var_3 < var_2; var_3++ )
|
|
{
|
|
var_4 = self getanimentry( var_0, var_3 );
|
|
var_5 = getmovedelta( var_4, 0, 1 );
|
|
var_6 = lengthsquared( var_5 );
|
|
|
|
if ( var_6 > var_1 )
|
|
var_1 = var_6;
|
|
}
|
|
|
|
return sqrt( var_1 );
|
|
}
|
|
|
|
initaliencannedtraverses( var_0 )
|
|
{
|
|
var_0.cannedtraverseanims = [];
|
|
var_0.cannedtraverseanims["alien_crawl_door"] = registertraversedata( "traverse_group_1", [ 0 ], 0 );
|
|
var_0.cannedtraverseanims["alien_jump_sidewall_l"] = registertraversedata( "traverse_group_1", [ 1 ], 0 );
|
|
var_0.cannedtraverseanims["alien_jump_sidewall_r"] = registertraversedata( "traverse_group_1", [ 2 ], 0 );
|
|
var_0.cannedtraverseanims["alien_leap_clear_height_54"] = registertraversedata( "traverse_group_1", [ 3 ], 0 );
|
|
var_0.cannedtraverseanims["alien_drone_traverse_corner_wall_crawl"] = registertraversedata( "traverse_group_1", [ 4 ], 0 );
|
|
var_0.cannedtraverseanims["alien_leap_clear_height_36"] = registertraversedata( "traverse_group_1", [ 5 ], 0 );
|
|
var_0.cannedtraverseanims["alien_leap_tree"] = registertraversedata( "traverse_group_1", [ 6 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_under_car"] = registertraversedata( "traverse_group_1", [ 7 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_on_car"] = registertraversedata( "traverse_group_1", [ 8 ], 0 );
|
|
var_0.cannedtraverseanims["alien_step_up_56"] = registertraversedata( "traverse_group_1", [ 9 ], 0 );
|
|
var_0.cannedtraverseanims["alien_step_down_56"] = registertraversedata( "traverse_group_1", [ 10 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_deadtree"] = registertraversedata( "traverse_group_1", [ 11 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_back_humvee"] = registertraversedata( "traverse_group_1", [ 12 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_car"] = registertraversedata( "traverse_group_1", [ 13 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_humvee"] = registertraversedata( "traverse_group_1", [ 14 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_sidecar"] = registertraversedata( "traverse_group_1", [ 15 ], 0 );
|
|
var_0.cannedtraverseanims["alien_crawl_sidehumvee"] = registertraversedata( "traverse_group_1", [ 16 ], 0 );
|
|
var_0.cannedtraverseanims["alien_under_fence"] = registertraversedata( "traverse_group_1", [ 17, 24 ], 0 );
|
|
var_0.cannedtraverseanims["alien_climb_up_spiral_tree"] = registertraversedata( "traverse_group_1", [ 18 ], 1 );
|
|
var_0.cannedtraverseanims["alien_climb_up_gutter_L"] = registertraversedata( "traverse_group_1", [ 19 ], 0 );
|
|
var_0.cannedtraverseanims["alien_climb_up_gutter_R"] = registertraversedata( "traverse_group_1", [ 20 ], 0 );
|
|
var_0.cannedtraverseanims["alien_climb_over_fence_112"] = registertraversedata( "traverse_group_1", [ 21, 22, 23 ], 0 );
|
|
var_0.cannedtraverseanims["alien_mantle_36"] = registertraversedata( "traverse_group_2", [ 0 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_drone_traverse_climb_vault_8"] = registertraversedata( "traverse_group_2", [ 1 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_drone_traverse_climb_over_fence"] = registertraversedata( "traverse_group_2", [ 2 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_crawl_rail_vault_lodge"] = registertraversedata( "traverse_group_2", [ 3 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_rail_lodge"] = registertraversedata( "traverse_group_2", [ 4 ], 0, 0 );
|
|
var_0.cannedtraverseanims["alien_roof_to_ceiling"] = registertraversedata( "traverse_group_2", [ 5 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_climb_over_fence_88"] = registertraversedata( "traverse_group_2", [ 6 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_100"] = registertraversedata( "traverse_group_2", [ 7 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_200"] = registertraversedata( "traverse_group_2", [ 8 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_up_70"] = registertraversedata( "traverse_group_2", [ 9 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_up_200"] = registertraversedata( "traverse_group_2", [ 10 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_straight"] = registertraversedata( "traverse_group_2", [ 11 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_roof_to_ground"] = registertraversedata( "traverse_group_2", [ 12 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_up_128_rail_32"] = registertraversedata( "traverse_group_2", [ 13 ], 0, 0 );
|
|
var_0.cannedtraverseanims["alien_jump_up_128_rail_36"] = registertraversedata( "traverse_group_2", [ 14 ], 0, 0 );
|
|
var_0.cannedtraverseanims["alien_jump_up_128_rail_48"] = registertraversedata( "traverse_group_2", [ 15 ], 0, 0 );
|
|
var_0.cannedtraverseanims["alien_climb_up_rail_32_idle"] = registertraversedata( "traverse_group_2", [ 16 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_climb_up_rail_32_run"] = registertraversedata( "traverse_group_2", [ 17 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_mantle_32"] = registertraversedata( "traverse_group_2", [ 18 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_mantle_48"] = registertraversedata( "traverse_group_2", [ 19 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_128_rail_32"] = registertraversedata( "traverse_group_2", [ 20 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_128_rail_36"] = registertraversedata( "traverse_group_2", [ 21 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_128_rail_48"] = registertraversedata( "traverse_group_2", [ 22 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_climb_down_128_rail_36"] = registertraversedata( "traverse_group_2", [ 23 ], 1, 1 );
|
|
var_0.cannedtraverseanims["alien_mantle_crate_48"] = registertraversedata( "traverse_group_2", [ 24 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_mantle_crate_64"] = registertraversedata( "traverse_group_2", [ 25 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_56_idle"] = registertraversedata( "traverse_group_2", [ 26 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_56_run"] = registertraversedata( "traverse_group_2", [ 27 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_up_56_idle"] = registertraversedata( "traverse_group_2", [ 28 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_up_56_run"] = registertraversedata( "traverse_group_2", [ 29 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_fence_88_enter_scale"] = registertraversedata( "traverse_group_2", [ 30 ], 0, 0 );
|
|
var_0.cannedtraverseanims["alien_jump_fence_88_exit_scale"] = registertraversedata( "traverse_group_2", [ 31 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_up_90_rail_32"] = registertraversedata( "traverse_group_3", [ 0 ], 0, 0 );
|
|
var_0.cannedtraverseanims["alien_jump_fence_high_to_low"] = registertraversedata( "traverse_group_3", [ 1 ], 0, 0 );
|
|
var_0.cannedtraverseanims["alien_jump_fence_low_to_high"] = registertraversedata( "traverse_group_3", [ 2 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_straight_forward_56"] = registertraversedata( "traverse_group_3", [ 3 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_jump_down_straight_360_dlc"] = registertraversedata( "traverse_group_3", [ 4 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_rail_32_jump_down_idle_dlc"] = registertraversedata( "traverse_group_3", [ 5 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_rail_36_jump_down_idle_dlc"] = registertraversedata( "traverse_group_3", [ 6 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_rail_48_jump_down_idle_dlc"] = registertraversedata( "traverse_group_3", [ 7 ], 0, 1 );
|
|
var_0.cannedtraverseanims["alien_climb_up"] = registertraversedata( "traverse_climb_up" );
|
|
var_0.cannedtraverseanims["alien_climb_down"] = registertraversedata( "traverse_climb_down" );
|
|
var_0.cannedtraverseanims["alien_climb_up_over_56"] = registertraversedata( "traverse_climb_up_over_56" );
|
|
var_0.cannedtraverseanims["alien_climb_over_56_down"] = registertraversedata( "traverse_climb_over_56_down" );
|
|
var_0.cannedtraverseanims["climb_up_end_jump_side_l"] = registertraversedata( "climb_up_end_jump_side_l" );
|
|
var_0.cannedtraverseanims["climb_up_end_jump_side_r"] = registertraversedata( "climb_up_end_jump_side_r" );
|
|
var_0.cannedtraverseanims["alien_climb_up_ledge_18_run"] = registertraversedata( "traverse_climb_up_ledge_18_run" );
|
|
var_0.cannedtraverseanims["alien_climb_up_ledge_18_idle"] = registertraversedata( "traverse_climb_up_ledge_18_idle" );
|
|
var_0.cannedtraverseanims["alien_wall_run"] = registertraversedata( "run" );
|
|
}
|
|
|
|
initalienjumptraverses( var_0 )
|
|
{
|
|
level.alienanimdata.jumpgravity = 907.029;
|
|
level.alienanimdata.jumplaunchgrounddelta = 16.8476;
|
|
level.alienanimdata.jumplaunchinairanimlength = 0.111111;
|
|
level.alienanimdata.jumplaunchdirection = [];
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_up"] = [];
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_level"] = [];
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_down"] = [];
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_up"][0] = ( 0.338726, 0, 0.940885 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_up"][1] = ( 0.688542, 0, 0.725196 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_up"][2] = ( 0.906517, 0, 0.422169 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_level"][0] = ( 0.248516, 0, 0.968628 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_level"][1] = ( 0.579155, 0, 0.815218 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_level"][2] = ( 0.906514, 0, 0.422177 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_down"][0] = ( 0.333125, 0, 0.942883 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_down"][1] = ( 0.518112, 0, 0.855313 );
|
|
level.alienanimdata.jumplaunchdirection["jump_launch_down"][2] = ( 0.892489, 0, 0.451068 );
|
|
level.alienanimdata.inairanimentry = [];
|
|
level.alienanimdata.inairanimentry["jump_launch_up"] = [];
|
|
level.alienanimdata.inairanimentry["jump_launch_level"] = [];
|
|
level.alienanimdata.inairanimentry["jump_launch_down"] = [];
|
|
level.alienanimdata.inairanimentry["jump_launch_up"]["jump_land_up"] = 0;
|
|
level.alienanimdata.inairanimentry["jump_launch_up"]["jump_land_level"] = 1;
|
|
level.alienanimdata.inairanimentry["jump_launch_up"]["jump_land_down"] = 2;
|
|
level.alienanimdata.inairanimentry["jump_launch_level"]["jump_land_up"] = 3;
|
|
level.alienanimdata.inairanimentry["jump_launch_level"]["jump_land_level"] = 4;
|
|
level.alienanimdata.inairanimentry["jump_launch_level"]["jump_land_down"] = 5;
|
|
level.alienanimdata.inairanimentry["jump_launch_down"]["jump_land_up"] = 6;
|
|
level.alienanimdata.inairanimentry["jump_launch_down"]["jump_land_level"] = 7;
|
|
level.alienanimdata.inairanimentry["jump_launch_down"]["jump_land_down"] = 8;
|
|
level.alienanimdata.inairanimentry["jump_launch_up"]["jump_land_sidewall_high"] = 9;
|
|
level.alienanimdata.inairanimentry["jump_launch_level"]["jump_land_sidewall_high"] = 9;
|
|
level.alienanimdata.inairanimentry["jump_launch_down"]["jump_land_sidewall_high"] = 9;
|
|
level.alienanimdata.inairanimentry["jump_launch_up"]["jump_land_sidewall_low"] = 9;
|
|
level.alienanimdata.inairanimentry["jump_launch_level"]["jump_land_sidewall_low"] = 9;
|
|
level.alienanimdata.inairanimentry["jump_launch_down"]["jump_land_sidewall_low"] = 9;
|
|
}
|
|
|
|
initalienpain( var_0 )
|
|
{
|
|
var_0.painanims = [];
|
|
var_1 = [];
|
|
var_1["front"]["head"] = [ 0 ];
|
|
var_1["front"]["up_chest"] = [ 1 ];
|
|
var_1["front"]["low_chest"] = [ 1 ];
|
|
var_1["front"]["up_body_L"] = [ 1 ];
|
|
var_1["front"]["up_body_R"] = [ 2 ];
|
|
var_1["front"]["low_body_L"] = [ 2 ];
|
|
var_1["front"]["low_body_R"] = [ 2 ];
|
|
var_1["front"]["armor"] = [ 0 ];
|
|
var_1["front"]["soft"] = [ 0 ];
|
|
var_1["right"]["head"] = [ 0 ];
|
|
var_1["right"]["up_chest"] = [ 3 ];
|
|
var_1["right"]["low_chest"] = [ 3 ];
|
|
var_1["right"]["up_body_L"] = [ 3 ];
|
|
var_1["right"]["up_body_R"] = [ 2 ];
|
|
var_1["right"]["low_body_L"] = [ 4 ];
|
|
var_1["right"]["low_body_R"] = [ 4 ];
|
|
var_1["right"]["armor"] = [ 0 ];
|
|
var_1["right"]["soft"] = [ 0 ];
|
|
var_1["left"]["head"] = [ 0 ];
|
|
var_1["left"]["up_chest"] = [ 1 ];
|
|
var_1["left"]["low_chest"] = [ 1 ];
|
|
var_1["left"]["up_body_L"] = [ 5 ];
|
|
var_1["left"]["up_body_R"] = [ 5 ];
|
|
var_1["left"]["low_body_L"] = [ 6 ];
|
|
var_1["left"]["low_body_R"] = [ 6 ];
|
|
var_1["left"]["armor"] = [ 2 ];
|
|
var_1["left"]["soft"] = [ 2 ];
|
|
var_1["back"]["head"] = [ 0 ];
|
|
var_1["back"]["up_chest"] = [ 1 ];
|
|
var_1["back"]["low_chest"] = [ 1 ];
|
|
var_1["back"]["up_body_L"] = [ 1 ];
|
|
var_1["back"]["up_body_R"] = [ 7 ];
|
|
var_1["back"]["low_body_L"] = [ 7 ];
|
|
var_1["back"]["low_body_R"] = [ 7 ];
|
|
var_1["back"]["armor"] = [ 0 ];
|
|
var_1["back"]["soft"] = [ 0 ];
|
|
var_0.painanims["idle"] = var_1;
|
|
var_2 = [];
|
|
var_2["front"]["head"] = [ 0 ];
|
|
var_2["front"]["up_chest"] = [ 9 ];
|
|
var_2["front"]["low_chest"] = [ 8 ];
|
|
var_2["front"]["up_body_L"] = [ 8 ];
|
|
var_2["front"]["up_body_R"] = [ 9 ];
|
|
var_2["front"]["low_body_L"] = [ 10 ];
|
|
var_2["front"]["low_body_R"] = [ 10 ];
|
|
var_2["front"]["armor"] = [ 0 ];
|
|
var_2["front"]["soft"] = [ 0 ];
|
|
var_2["right"]["head"] = [ 7 ];
|
|
var_2["right"]["up_chest"] = [ 7 ];
|
|
var_2["right"]["low_chest"] = [ 11 ];
|
|
var_2["right"]["up_body_L"] = [ 7 ];
|
|
var_2["right"]["up_body_R"] = [ 7 ];
|
|
var_2["right"]["low_body_L"] = [ 11 ];
|
|
var_2["right"]["low_body_R"] = [ 11 ];
|
|
var_2["right"]["armor"] = [ 0 ];
|
|
var_2["right"]["soft"] = [ 0 ];
|
|
var_2["left"]["head"] = [ 5 ];
|
|
var_2["left"]["up_chest"] = [ 5 ];
|
|
var_2["left"]["low_chest"] = [ 6 ];
|
|
var_2["left"]["up_body_L"] = [ 5 ];
|
|
var_2["left"]["up_body_R"] = [ 5 ];
|
|
var_2["left"]["low_body_L"] = [ 6 ];
|
|
var_2["left"]["low_body_R"] = [ 6 ];
|
|
var_2["left"]["armor"] = [ 0 ];
|
|
var_2["left"]["soft"] = [ 0 ];
|
|
var_2["back"]["head"] = [ 12 ];
|
|
var_2["back"]["up_chest"] = [ 12 ];
|
|
var_2["back"]["low_chest"] = [ 13 ];
|
|
var_2["back"]["up_body_L"] = [ 12 ];
|
|
var_2["back"]["up_body_R"] = [ 12 ];
|
|
var_2["back"]["low_body_L"] = [ 13 ];
|
|
var_2["back"]["low_body_R"] = [ 13 ];
|
|
var_2["back"]["armor"] = [ 0 ];
|
|
var_2["back"]["soft"] = [ 0 ];
|
|
var_0.painanims["run"] = var_2;
|
|
var_3 = [];
|
|
var_3["front"]["head"] = [ 0 ];
|
|
var_3["front"]["up_chest"] = [ 1 ];
|
|
var_3["front"]["low_chest"] = [ 1 ];
|
|
var_3["front"]["up_body_L"] = [ 2 ];
|
|
var_3["front"]["up_body_R"] = [ 3 ];
|
|
var_3["front"]["low_body_L"] = [ 4 ];
|
|
var_3["front"]["low_body_R"] = [ 4 ];
|
|
var_3["front"]["armor"] = [ 0 ];
|
|
var_3["front"]["soft"] = [ 0 ];
|
|
var_3["right"]["head"] = [ 7 ];
|
|
var_3["right"]["up_chest"] = [ 7 ];
|
|
var_3["right"]["low_chest"] = [ 8 ];
|
|
var_3["right"]["up_body_L"] = [ 7 ];
|
|
var_3["right"]["up_body_R"] = [ 7 ];
|
|
var_3["right"]["low_body_L"] = [ 8 ];
|
|
var_3["right"]["low_body_R"] = [ 8 ];
|
|
var_3["right"]["armor"] = [ 0 ];
|
|
var_3["right"]["soft"] = [ 0 ];
|
|
var_3["left"]["head"] = [ 5 ];
|
|
var_3["left"]["up_chest"] = [ 5 ];
|
|
var_3["left"]["low_chest"] = [ 6 ];
|
|
var_3["left"]["up_body_L"] = [ 5 ];
|
|
var_3["left"]["up_body_R"] = [ 5 ];
|
|
var_3["left"]["low_body_L"] = [ 6 ];
|
|
var_3["left"]["low_body_R"] = [ 6 ];
|
|
var_3["left"]["armor"] = [ 0 ];
|
|
var_3["left"]["soft"] = [ 0 ];
|
|
var_3["back"]["head"] = [ 9 ];
|
|
var_3["back"]["up_chest"] = [ 9 ];
|
|
var_3["back"]["low_chest"] = [ 10 ];
|
|
var_3["back"]["up_body_L"] = [ 9 ];
|
|
var_3["back"]["up_body_R"] = [ 9 ];
|
|
var_3["back"]["low_body_L"] = [ 10 ];
|
|
var_3["back"]["low_body_R"] = [ 10 ];
|
|
var_3["back"]["armor"] = [ 0 ];
|
|
var_3["back"]["soft"] = [ 0 ];
|
|
var_0.painanims["jump"] = var_3;
|
|
var_4 = [];
|
|
var_4["front"] = [ 0, 1 ];
|
|
var_4["right"] = [ 2 ];
|
|
var_4["left"] = [ 3 ];
|
|
var_4["back"] = [ 4 ];
|
|
var_0.painanims["push_back"] = var_4;
|
|
var_5 = [];
|
|
var_5["front"] = [ 0 ];
|
|
var_5["right"] = [ 0 ];
|
|
var_5["left"] = [ 0 ];
|
|
var_5["back"] = [ 0 ];
|
|
var_0.painanims["move_back"] = var_5;
|
|
var_6 = [];
|
|
var_6["front"] = [ 0, 1, 2 ];
|
|
var_6["right"] = [ 0, 1, 2 ];
|
|
var_6["left"] = [ 0, 1, 2 ];
|
|
var_6["back"] = [ 0, 1, 2 ];
|
|
var_0.painanims["melee"] = var_6;
|
|
var_7 = [];
|
|
var_7["head"] = "head";
|
|
var_7["neck"] = "head";
|
|
var_7["torso_upper"] = "up_chest";
|
|
var_7["none"] = "up_chest";
|
|
var_7["torso_lower"] = "low_chest";
|
|
var_7["left_arm_upper"] = "up_body_L";
|
|
var_7["left_arm_lower"] = "up_body_L";
|
|
var_7["left_hand"] = "up_body_L";
|
|
var_7["right_arm_upper"] = "up_body_R";
|
|
var_7["right_arm_lower"] = "up_body_R";
|
|
var_7["right_hand"] = "up_body_R";
|
|
var_7["left_leg_upper"] = "low_body_L";
|
|
var_7["left_leg_lower"] = "low_body_L";
|
|
var_7["left_foot"] = "low_body_L";
|
|
var_7["right_leg_upper"] = "low_body_R";
|
|
var_7["right_leg_lower"] = "low_body_R";
|
|
var_7["right_foot"] = "low_body_R";
|
|
var_7["armor"] = "armor";
|
|
var_7["soft"] = "soft";
|
|
var_0.painanims["hitLoc"] = var_7;
|
|
var_8 = [];
|
|
var_8[0] = "back";
|
|
var_8[1] = "back";
|
|
var_8[2] = "right";
|
|
var_8[3] = "right";
|
|
var_8[4] = "front";
|
|
var_8[5] = "left";
|
|
var_8[6] = "left";
|
|
var_8[7] = "back";
|
|
var_8[8] = "back";
|
|
var_0.painanims["hitDirection"] = var_8;
|
|
var_9 = [];
|
|
var_9[0] = [ 0 ];
|
|
var_9[1] = [ 1 ];
|
|
var_9[2] = [ 2 ];
|
|
var_9[3] = [ 3 ];
|
|
var_9[4] = [ 4 ];
|
|
var_9[5] = [ 5 ];
|
|
var_9[6] = [ 6 ];
|
|
var_9[7] = [ 7 ];
|
|
var_9[8] = [ 8 ];
|
|
var_9[9] = [ 9 ];
|
|
var_9[10] = [ 10 ];
|
|
var_0.painanims["idleToImpactMap"] = var_9;
|
|
}
|
|
|
|
initaliendeath( var_0 )
|
|
{
|
|
var_0.deathanims = [];
|
|
var_1 = [];
|
|
var_1["front"]["head"] = [ 0 ];
|
|
var_1["front"]["up_chest"] = [ 1 ];
|
|
var_1["front"]["low_chest"] = [ 1 ];
|
|
var_1["front"]["up_body_L"] = [ 1 ];
|
|
var_1["front"]["up_body_R"] = [ 2 ];
|
|
var_1["front"]["low_body_L"] = [ 2 ];
|
|
var_1["front"]["low_body_R"] = [ 2 ];
|
|
var_1["front"]["armor"] = [ 0 ];
|
|
var_1["front"]["soft"] = [ 0 ];
|
|
var_1["right"]["head"] = [ 0 ];
|
|
var_1["right"]["up_chest"] = [ 4 ];
|
|
var_1["right"]["low_chest"] = [ 3 ];
|
|
var_1["right"]["up_body_L"] = [ 4 ];
|
|
var_1["right"]["up_body_R"] = [ 4 ];
|
|
var_1["right"]["low_body_L"] = [ 2 ];
|
|
var_1["right"]["low_body_R"] = [ 2 ];
|
|
var_1["right"]["armor"] = [ 0 ];
|
|
var_1["right"]["soft"] = [ 0 ];
|
|
var_1["left"]["head"] = [ 0 ];
|
|
var_1["left"]["up_chest"] = [ 1 ];
|
|
var_1["left"]["low_chest"] = [ 1 ];
|
|
var_1["left"]["up_body_L"] = [ 1 ];
|
|
var_1["left"]["up_body_R"] = [ 2 ];
|
|
var_1["left"]["low_body_L"] = [ 5 ];
|
|
var_1["left"]["low_body_R"] = [ 5 ];
|
|
var_1["left"]["armor"] = [ 0 ];
|
|
var_1["left"]["soft"] = [ 0 ];
|
|
var_1["back"]["head"] = [ 0 ];
|
|
var_1["back"]["up_chest"] = [ 1 ];
|
|
var_1["back"]["low_chest"] = [ 1 ];
|
|
var_1["back"]["up_body_L"] = [ 1 ];
|
|
var_1["back"]["up_body_R"] = [ 2 ];
|
|
var_1["back"]["low_body_L"] = [ 2 ];
|
|
var_1["back"]["low_body_R"] = [ 2 ];
|
|
var_1["back"]["armor"] = [ 0 ];
|
|
var_1["back"]["soft"] = [ 0 ];
|
|
var_0.deathanims["idle"] = var_1;
|
|
var_2 = [];
|
|
var_2["front"]["head"] = [ 0 ];
|
|
var_2["front"]["up_chest"] = [ 1 ];
|
|
var_2["front"]["low_chest"] = [ 3 ];
|
|
var_2["front"]["up_body_L"] = [ 4 ];
|
|
var_2["front"]["up_body_R"] = [ 9 ];
|
|
var_2["front"]["low_body_L"] = [ 4 ];
|
|
var_2["front"]["low_body_R"] = [ 3 ];
|
|
var_2["front"]["armor"] = [ 0 ];
|
|
var_2["front"]["soft"] = [ 0 ];
|
|
var_2["right"]["head"] = [ 2 ];
|
|
var_2["right"]["up_chest"] = [ 1 ];
|
|
var_2["right"]["low_chest"] = [ 0 ];
|
|
var_2["right"]["up_body_L"] = [ 7 ];
|
|
var_2["right"]["up_body_R"] = [ 7 ];
|
|
var_2["right"]["low_body_L"] = [ 3 ];
|
|
var_2["right"]["low_body_R"] = [ 4 ];
|
|
var_2["right"]["armor"] = [ 0 ];
|
|
var_2["right"]["soft"] = [ 0 ];
|
|
var_2["left"]["head"] = [ 5 ];
|
|
var_2["left"]["up_chest"] = [ 5 ];
|
|
var_2["left"]["low_chest"] = [ 6 ];
|
|
var_2["left"]["up_body_L"] = [ 5 ];
|
|
var_2["left"]["up_body_R"] = [ 5 ];
|
|
var_2["left"]["low_body_L"] = [ 8 ];
|
|
var_2["left"]["low_body_R"] = [ 6 ];
|
|
var_2["left"]["armor"] = [ 0 ];
|
|
var_2["left"]["soft"] = [ 0 ];
|
|
var_2["back"]["head"] = [ 1 ];
|
|
var_2["back"]["up_chest"] = [ 5 ];
|
|
var_2["back"]["low_chest"] = [ 4 ];
|
|
var_2["back"]["up_body_L"] = [ 3 ];
|
|
var_2["back"]["up_body_R"] = [ 2 ];
|
|
var_2["back"]["low_body_L"] = [ 1 ];
|
|
var_2["back"]["low_body_R"] = [ 4 ];
|
|
var_2["back"]["armor"] = [ 0 ];
|
|
var_2["back"]["soft"] = [ 0 ];
|
|
var_0.deathanims["run"] = var_2;
|
|
var_3 = [];
|
|
var_3["front"]["head"] = [ 1 ];
|
|
var_3["front"]["up_chest"] = [ 0 ];
|
|
var_3["front"]["low_chest"] = [ 0 ];
|
|
var_3["front"]["up_body_L"] = [ 2 ];
|
|
var_3["front"]["up_body_R"] = [ 3 ];
|
|
var_3["front"]["low_body_L"] = [ 4 ];
|
|
var_3["front"]["low_body_R"] = [ 4 ];
|
|
var_3["front"]["armor"] = [ 1 ];
|
|
var_3["front"]["soft"] = [ 1 ];
|
|
var_3["right"]["head"] = [ 7 ];
|
|
var_3["right"]["up_chest"] = [ 7 ];
|
|
var_3["right"]["low_chest"] = [ 8 ];
|
|
var_3["right"]["up_body_L"] = [ 7 ];
|
|
var_3["right"]["up_body_R"] = [ 7 ];
|
|
var_3["right"]["low_body_L"] = [ 8 ];
|
|
var_3["right"]["low_body_R"] = [ 8 ];
|
|
var_3["right"]["armor"] = [ 1 ];
|
|
var_3["right"]["soft"] = [ 1 ];
|
|
var_3["left"]["head"] = [ 5 ];
|
|
var_3["left"]["up_chest"] = [ 5 ];
|
|
var_3["left"]["low_chest"] = [ 6 ];
|
|
var_3["left"]["up_body_L"] = [ 5 ];
|
|
var_3["left"]["up_body_R"] = [ 5 ];
|
|
var_3["left"]["low_body_L"] = [ 6 ];
|
|
var_3["left"]["low_body_R"] = [ 6 ];
|
|
var_3["left"]["armor"] = [ 1 ];
|
|
var_3["left"]["soft"] = [ 1 ];
|
|
var_3["back"]["head"] = [ 9 ];
|
|
var_3["back"]["up_chest"] = [ 9 ];
|
|
var_3["back"]["low_chest"] = [ 10 ];
|
|
var_3["back"]["up_body_L"] = [ 9 ];
|
|
var_3["back"]["up_body_R"] = [ 9 ];
|
|
var_3["back"]["low_body_L"] = [ 10 ];
|
|
var_3["back"]["low_body_R"] = [ 10 ];
|
|
var_3["back"]["armor"] = [ 1 ];
|
|
var_3["back"]["soft"] = [ 1 ];
|
|
var_0.deathanims["jump"] = var_3;
|
|
var_4 = [];
|
|
var_4["head"] = "head";
|
|
var_4["neck"] = "head";
|
|
var_4["torso_upper"] = "up_chest";
|
|
var_4["none"] = "up_chest";
|
|
var_4["torso_lower"] = "low_chest";
|
|
var_4["left_arm_upper"] = "up_body_L";
|
|
var_4["left_arm_lower"] = "up_body_L";
|
|
var_4["left_hand"] = "up_body_L";
|
|
var_4["right_arm_upper"] = "up_body_R";
|
|
var_4["right_arm_lower"] = "up_body_R";
|
|
var_4["right_hand"] = "up_body_R";
|
|
var_4["left_leg_upper"] = "low_body_L";
|
|
var_4["left_leg_lower"] = "low_body_L";
|
|
var_4["left_foot"] = "low_body_L";
|
|
var_4["right_leg_upper"] = "low_body_R";
|
|
var_4["right_leg_lower"] = "low_body_R";
|
|
var_4["right_foot"] = "low_body_R";
|
|
var_4["armor"] = "armor";
|
|
var_4["soft"] = "soft";
|
|
var_0.deathanims["hitLoc"] = var_4;
|
|
var_5 = [];
|
|
var_5[0] = "back";
|
|
var_5[1] = "back";
|
|
var_5[2] = "right";
|
|
var_5[3] = "right";
|
|
var_5[4] = "front";
|
|
var_5[5] = "left";
|
|
var_5[6] = "left";
|
|
var_5[7] = "back";
|
|
var_5[8] = "back";
|
|
var_0.deathanims["hitDirection"] = var_5;
|
|
var_6 = [];
|
|
var_6["electric_shock_death"] = [ 0 ];
|
|
var_6["traverse"] = [ 1 ];
|
|
var_0.deathanims["special"] = var_6;
|
|
}
|
|
|
|
initmovebackanims()
|
|
{
|
|
level.alienanimdata.alienmovebackanimchance[0] = 40;
|
|
level.alienanimdata.alienmovebackanimchance[1] = 40;
|
|
level.alienanimdata.alienmovebackanimchance[2] = 20;
|
|
}
|
|
|
|
registertraversedata( var_0, var_1, var_2, var_3, var_4, var_5 )
|
|
{
|
|
var_6 = [];
|
|
var_6["animState"] = var_0;
|
|
|
|
if ( isdefined( var_1 ) )
|
|
var_6["animIndexArray"] = var_1;
|
|
|
|
if ( isdefined( var_2 ) )
|
|
var_6["endInOriented"] = var_2;
|
|
|
|
if ( isdefined( var_3 ) )
|
|
var_6["flexHeightEndAtTraverseEnd"] = var_3;
|
|
|
|
if ( isdefined( var_4 ) )
|
|
var_6["traverseSound"] = var_4;
|
|
|
|
if ( isdefined( var_5 ) )
|
|
var_6["traverseAnimScale"] = var_5;
|
|
|
|
return var_6;
|
|
}
|
|
|
|
turntowardsentity( var_0 )
|
|
{
|
|
var_1 = var_0.origin - self.origin;
|
|
return turntowardsvector( var_1 );
|
|
}
|
|
|
|
turntowardsvector( var_0 )
|
|
{
|
|
var_1 = getturninplaceindex( anglestoforward( self.angles ), var_0, anglestoup( self.angles ) );
|
|
self scragentsetorientmode( "face angle abs", self.angles );
|
|
|
|
if ( var_1 != 4 )
|
|
{
|
|
self.statelocked = 1;
|
|
|
|
if ( self.oriented )
|
|
self scragentsetanimmode( "anim angle delta" );
|
|
else
|
|
self scragentsetanimmode( "anim deltas" );
|
|
|
|
var_2 = getturninplaceanimstate();
|
|
maps\mp\agents\_scriptedagents::playanimnuntilnotetrack( var_2, var_1, "turn_in_place", "code_move" );
|
|
|
|
if ( !maps\mp\alien\_utility::is_idle_state_locked() )
|
|
self.statelocked = 0;
|
|
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
getturninplaceanimstate()
|
|
{
|
|
if ( isdefined( level.dlc_alien_turn_in_place_anim_state_override_func ) )
|
|
{
|
|
var_0 = [[ level.dlc_alien_turn_in_place_anim_state_override_func ]]();
|
|
|
|
if ( isdefined( var_0 ) )
|
|
return var_0;
|
|
}
|
|
|
|
return "turn_in_place";
|
|
}
|
|
|
|
getturninplaceindex( var_0, var_1, var_2 )
|
|
{
|
|
var_3 = undefined;
|
|
var_4 = undefined;
|
|
var_5 = getprojectiondata( var_0, var_1, var_2 );
|
|
var_6 = var_5.rotatedyaw;
|
|
var_7 = var_5.projintooutright;
|
|
var_8 = 10;
|
|
|
|
if ( var_7 > 0 )
|
|
var_4 = int( ceil( ( 180 - var_6 - var_8 ) / 45 ) );
|
|
else
|
|
var_4 = int( floor( ( 180 + var_6 + var_8 ) / 45 ) );
|
|
|
|
var_4 = int( clamp( var_4, 0, 8 ) );
|
|
return var_4;
|
|
}
|
|
|
|
getprojectiondata( var_0, var_1, var_2 )
|
|
{
|
|
var_3 = spawnstruct();
|
|
var_4 = vectornormalize( projectvectortoplane( var_0, var_2 ) );
|
|
var_5 = vectornormalize( projectvectortoplane( var_1, var_2 ) );
|
|
var_6 = vectorcross( var_5, var_2 );
|
|
var_7 = vectornormalize( projectvectortoplane( var_6, var_2 ) );
|
|
var_8 = vectordot( var_4 * -1, var_7 );
|
|
var_9 = vectordot( var_5, var_4 );
|
|
var_9 = clamp( var_9, -1, 1 );
|
|
var_10 = acos( var_9 );
|
|
var_3.rotatedyaw = var_10;
|
|
var_3.projintooutright = var_8;
|
|
return var_3;
|
|
}
|
|
|
|
projectvectortoplane( var_0, var_1 )
|
|
{
|
|
var_2 = vectordot( var_0, var_1 );
|
|
var_3 = var_0 - var_1 * var_2;
|
|
return var_3;
|
|
}
|
|
|
|
pain_getcombinedhitloc( var_0 )
|
|
{
|
|
return level.alienanimdata.painanims["hitLoc"][var_0];
|
|
}
|
|
|
|
pain_getincomingdirection( var_0 )
|
|
{
|
|
var_1 = maps\mp\agents\_scriptedagents::getangleindexfromselfyaw( var_0 );
|
|
return level.alienanimdata.painanims["hitDirection"][var_1];
|
|
}
|
|
|
|
death_getcombinedhitloc( var_0 )
|
|
{
|
|
return level.alienanimdata.deathanims["hitLoc"][var_0];
|
|
}
|
|
|
|
death_getincomingdirection( var_0 )
|
|
{
|
|
var_1 = maps\mp\agents\_scriptedagents::getangleindexfromselfyaw( var_0 );
|
|
return level.alienanimdata.deathanims["hitDirection"][var_1];
|
|
}
|
|
|
|
getpainanimstate( var_0, var_1, var_2 )
|
|
{
|
|
var_3 = getdamagedegree( var_1, var_2 );
|
|
return var_0 + "_" + var_3;
|
|
}
|
|
|
|
getdamagedegree( var_0, var_1 )
|
|
{
|
|
var_2 = maps\mp\alien\_utility::get_alien_type();
|
|
var_3 = level.alien_types[var_2].attributes["heavy_damage_threshold"];
|
|
|
|
if ( var_0 < var_3 && !var_1 )
|
|
return "light";
|
|
else
|
|
return "heavy";
|
|
}
|
|
|
|
getpainanimindex( var_0, var_1, var_2 )
|
|
{
|
|
var_1 = pain_getincomingdirection( var_1 * -1 );
|
|
|
|
if ( isdefined( var_2 ) )
|
|
var_2 = pain_getcombinedhitloc( var_2 );
|
|
|
|
return getpaindeathanimindex_internal( var_0, var_1, var_2, level.alienanimdata.painanims );
|
|
}
|
|
|
|
getimpactpainanimindex( var_0 )
|
|
{
|
|
var_1 = level.alienanimdata.painanims["idleToImpactMap"][var_0];
|
|
var_2 = randomintrange( 0, var_1.size );
|
|
return var_1[var_2];
|
|
}
|
|
|
|
getdeathanimstate( var_0, var_1 )
|
|
{
|
|
var_2 = getdamagedegree( var_1, 0 );
|
|
return var_0 + "_" + var_2;
|
|
}
|
|
|
|
getdeathanimindex( var_0, var_1, var_2 )
|
|
{
|
|
var_1 = death_getincomingdirection( var_1 * -1 );
|
|
var_2 = death_getcombinedhitloc( var_2 );
|
|
return getpaindeathanimindex_internal( var_0, var_1, var_2, level.alienanimdata.deathanims );
|
|
}
|
|
|
|
getpaindeathanimindex_internal( var_0, var_1, var_2, var_3 )
|
|
{
|
|
if ( isdefined( var_2 ) )
|
|
var_4 = var_3[var_0][var_1][var_2];
|
|
else
|
|
var_4 = var_3[var_0][var_1];
|
|
|
|
return var_4[randomint( var_4.size )];
|
|
}
|
|
|
|
getspecialdeathanimindex( var_0 )
|
|
{
|
|
var_1 = level.alienanimdata.deathanims["special"][var_0];
|
|
return var_1[randomint( var_1.size )];
|
|
}
|
|
|
|
resetscriptable( var_0, var_1 )
|
|
{
|
|
var_2 = getent( var_0, "targetname" );
|
|
var_2 setscriptablepartstate( 0, 0 );
|
|
}
|
|
|
|
playanimonscriptable( var_0, var_1, var_2 )
|
|
{
|
|
var_3 = getent( var_0, "targetname" );
|
|
|
|
if ( !isdefined( var_2 ) )
|
|
var_2 = 1;
|
|
|
|
var_3 setscriptablepartstate( 0, var_2 );
|
|
level notify( "scriptable", var_0 );
|
|
}
|
|
|
|
getlerptime( var_0 )
|
|
{
|
|
var_1 = getanimlength( var_0 );
|
|
return min( 0.2, var_1 );
|
|
}
|
|
|
|
getposinspaceatanimtime( var_0, var_1, var_2, var_3 )
|
|
{
|
|
var_4 = getanimlength( var_0 );
|
|
var_5 = getmovedelta( var_0, 0, var_3 / var_4 );
|
|
var_6 = rotatevector( var_5, var_2 );
|
|
return var_1 + var_6;
|
|
}
|
|
|
|
dolerp( var_0, var_1 )
|
|
{
|
|
self endon( "death" );
|
|
level endon( "game_ended" );
|
|
self scragentdoanimlerp( self.origin, var_0, var_1 );
|
|
wait( var_1 );
|
|
self scragentsetanimmode( "anim deltas" );
|
|
}
|