238 lines
8.5 KiB
Plaintext
238 lines
8.5 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
init_last_eog_score_components( var_0 )
|
|
{
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
switch ( var_2 )
|
|
{
|
|
case "street":
|
|
maps\mp\alien\_gamescore::register_eog_score_component( "street", 24 );
|
|
break;
|
|
case "relics":
|
|
maps\mp\alien\_gamescore::register_eog_score_component( "relics", 5 );
|
|
break;
|
|
case "generator":
|
|
maps\mp\alien\_gamescore::register_eog_score_component( "generator", 25 );
|
|
break;
|
|
case "cortex":
|
|
maps\mp\alien\_gamescore::register_eog_score_component( "cortex", 29 );
|
|
break;
|
|
case "item_crafting":
|
|
maps\mp\alien\_gamescore::register_eog_score_component( "item_crafting", 27 );
|
|
break;
|
|
case "ancestor_bonus":
|
|
maps\mp\alien\_gamescore::register_eog_score_component( "ancestor_bonus", 28 );
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
|
|
init_last_encounter_score_components( var_0 )
|
|
{
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
switch ( var_2 )
|
|
{
|
|
case "street_personal":
|
|
init_street_personal_score_component();
|
|
break;
|
|
case "street_team":
|
|
init_street_team_score_component();
|
|
break;
|
|
case "street_challenge":
|
|
init_street_challenge_score_component();
|
|
break;
|
|
case "generator":
|
|
init_generator_score_component();
|
|
break;
|
|
case "generator_personal":
|
|
init_generator_personal_score_component();
|
|
break;
|
|
case "generator_team":
|
|
init_generator_team_score_component();
|
|
break;
|
|
case "generator_challenge":
|
|
init_generator_challenge_score_component();
|
|
break;
|
|
case "item_crafting":
|
|
init_item_crafting_score_component();
|
|
break;
|
|
case "ancestor_bonus":
|
|
init_ancestor_bonus_score_component();
|
|
break;
|
|
case "cortex":
|
|
init_cortex_score_component();
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
|
|
init_street_personal_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "street_personal", ::init_street_personal_score, undefined, maps\mp\alien\_gamescore::reset_player_personal_score_performance, maps\mp\alien\_gamescore::calculate_personal_skill_score, 3, "street" );
|
|
}
|
|
|
|
init_street_personal_score( var_0 )
|
|
{
|
|
if ( maps\mp\alien\_utility::isplayingsolo() )
|
|
{
|
|
var_0.max_score_damage_taken = 5000;
|
|
var_0.max_score_accuracy = 3500;
|
|
}
|
|
else
|
|
{
|
|
var_0.max_score_damage_taken = 2200;
|
|
var_0.max_score_accuracy = 1700;
|
|
}
|
|
|
|
return var_0;
|
|
}
|
|
|
|
init_street_team_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "street_team", ::init_street_teamwork_score, maps\mp\alien\_gamescore::reset_team_score_performance, maps\mp\alien\_gamescore::reset_player_teamwork_score_performance, maps\mp\alien\_gamescore::calculate_teamwork_score, 2, "street" );
|
|
}
|
|
|
|
init_street_teamwork_score( var_0 )
|
|
{
|
|
var_0.max_score_deploy = 1700;
|
|
var_0.max_score_revive = 1700;
|
|
var_0.max_score_damage = 1700;
|
|
maps\mp\alien\_gamescore::reset_team_score_performance( var_0 );
|
|
return var_0;
|
|
}
|
|
|
|
init_street_challenge_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "street_challenge", maps\mp\alien\_gamescore::init_challenge_score, undefined, maps\mp\alien\_gamescore::reset_player_challenge_performance, maps\mp\alien\_gamescore::calculate_challenge_score, 4, "street" );
|
|
}
|
|
|
|
init_generator_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "generator", maps\mp\alien\_gamescore::init_drill_score, maps\mp\alien\_gamescore::reset_team_drill_performance, undefined, maps\mp\alien\_gamescore::calculate_drill_protection_score, 26, "generator" );
|
|
}
|
|
|
|
init_generator_personal_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "generator_personal", maps\mp\alien\_gamescore::init_personal_score, undefined, maps\mp\alien\_gamescore::reset_player_personal_score_performance, maps\mp\alien\_gamescore::calculate_personal_skill_score, 3, "generator" );
|
|
}
|
|
|
|
init_generator_team_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "generator_team", maps\mp\alien\_gamescore::init_teamwork_score, maps\mp\alien\_gamescore::reset_team_score_performance, maps\mp\alien\_gamescore::reset_player_teamwork_score_performance, maps\mp\alien\_gamescore::calculate_teamwork_score, 2, "generator" );
|
|
}
|
|
|
|
init_generator_challenge_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "generator_challenge", maps\mp\alien\_gamescore::init_challenge_score, undefined, maps\mp\alien\_gamescore::reset_player_challenge_performance, maps\mp\alien\_gamescore::calculate_challenge_score, 4, "generator" );
|
|
}
|
|
|
|
init_item_crafting_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "item_crafting", ::blank_score_component_init, maps\mp\alien\_globallogic::blank, undefined, ::calculate_item_crafting_score, 27, "item_crafting" );
|
|
}
|
|
|
|
calculate_item_crafting_score( var_0, var_1 )
|
|
{
|
|
var_2 = int( 500 / level.cycle_score_scalar );
|
|
var_3 = get_total_item_crafting_score( var_0, var_1 );
|
|
return min( var_2, 5000 - var_3 );
|
|
}
|
|
|
|
get_total_item_crafting_score( var_0, var_1 )
|
|
{
|
|
return var_0.end_game_score[var_1.end_game_score_component_ref];
|
|
}
|
|
|
|
init_ancestor_bonus_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "ancestor_bonus", ::blank_score_component_init, ::reset_team_ancestor_bonus_performance, undefined, ::calculate_ancestor_bonus_score, 28, "ancestor_bonus" );
|
|
}
|
|
|
|
reset_team_ancestor_bonus_performance( var_0 )
|
|
{
|
|
var_0.team_encounter_performance["num_ancestor_killed"] = 0;
|
|
var_0.team_encounter_performance["encounter_start_time"] = gettime();
|
|
return var_0;
|
|
}
|
|
|
|
calculate_ancestor_bonus_score( var_0, var_1 )
|
|
{
|
|
var_2 = gettime() - var_1.team_encounter_performance["encounter_start_time"];
|
|
return maps\mp\alien\_gamescore::calculate_under_max_score( var_2, 300000, 10000 );
|
|
}
|
|
|
|
init_cortex_score_component()
|
|
{
|
|
maps\mp\alien\_gamescore::register_encounter_score_component( "cortex", ::init_cortex_score, ::reset_team_cortex_performance, undefined, ::calculate_cortex_score, 29, "cortex" );
|
|
}
|
|
|
|
init_cortex_score( var_0 )
|
|
{
|
|
if ( maps\mp\alien\_utility::isplayingsolo() )
|
|
var_0.max_cortex_damage_limit = 1200;
|
|
else
|
|
var_0.max_cortex_damage_limit = 750;
|
|
|
|
return var_0;
|
|
}
|
|
|
|
reset_team_cortex_performance( var_0 )
|
|
{
|
|
var_0.team_encounter_performance["damage_done_on_cortex"] = 0;
|
|
var_0.team_encounter_performance["reach_charge_goal"] = 0;
|
|
return var_0;
|
|
}
|
|
|
|
calculate_cortex_score( var_0, var_1 )
|
|
{
|
|
var_2 = maps\mp\alien\_gamescore::get_team_encounter_performance( var_1, "damage_done_on_cortex" );
|
|
var_3 = maps\mp\alien\_gamescore::calculate_under_max_score( var_2, var_1.max_cortex_damage_limit, 8000 );
|
|
var_4 = maps\mp\alien\_gamescore::get_team_encounter_performance( var_1, "reach_charge_goal" ) * 2000;
|
|
return int( var_3 + var_4 );
|
|
}
|
|
|
|
update_cortex_charge_bonus( var_0 )
|
|
{
|
|
if ( !isdefined( var_0 ) )
|
|
return;
|
|
|
|
var_1 = var_0 * 25;
|
|
|
|
if ( maps\mp\mp_alien_last_final_battle::get_cortex_charge_percent() >= var_1 )
|
|
maps\mp\alien\_gamescore::update_team_encounter_performance( "cortex", "reach_charge_goal" );
|
|
}
|
|
|
|
init_partial_hive_score_component_list_func()
|
|
{
|
|
level.partial_hive_score_component_list_func = ::last_partial_hive_score_component_list;
|
|
}
|
|
|
|
last_partial_hive_score_component_list()
|
|
{
|
|
return [ "street_challenge", "street_team" ];
|
|
}
|
|
|
|
update_generator_score_component_name()
|
|
{
|
|
maps\mp\alien\_gamescore::set_challenge_score_component_name( "generator_challenge" );
|
|
maps\mp\alien\_gamescore::set_personal_score_component_name( "generator_personal" );
|
|
maps\mp\alien\_gamescore::set_team_score_component_name( "generator_team" );
|
|
}
|
|
|
|
update_street_score_component_name()
|
|
{
|
|
maps\mp\alien\_gamescore::set_challenge_score_component_name( "street_challenge" );
|
|
maps\mp\alien\_gamescore::set_personal_score_component_name( "street_personal" );
|
|
maps\mp\alien\_gamescore::set_team_score_component_name( "street_team" );
|
|
}
|
|
|
|
blank_score_component_init( var_0 )
|
|
{
|
|
return var_0;
|
|
}
|