IL-GSC/BO1/PC/ZM/maps/_loadout.gsc
2024-02-18 17:32:07 -05:00

814 lines
21 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include maps\_utility;
init_loadout()
{
if( !IsDefined( level.player_loadout ) )
{
level.player_loadout = [];
level.player_loadout_options = [];
}
init_models_and_variables_loadout();
players = get_players("all");
for ( i = 0; i < players.size; i++ )
{
players[i] give_loadout();
players[i].pers["class"] = "closequarters";
}
level.loadoutComplete = true;
level notify("loadout complete");
if( GetDvar( #"zombietron" ) == "1" )
{
mptype\player_t5_zt::precache();
}
else if( GetDvar( #"zombiemode" ) == "1" || IsSubStr( level.script, "nazi_zombie_" ) || IsSubStr( level.script, "zombie_" ) )
{
if ( IsSubStr( level.script, "zombie_pentagon" ) )
{
mptype\player_t5_zm_pentagon::precache();
}
else if( IsSubStr( level.script, "zombie_theater" ) )
{
mptype\player_t5_zm_theater::precache();
}
else
{
mptype\player_t5_zm::precache();
}
}
}
init_models_and_variables_loadout()
{
if ( GetDvar( #"zombiemode" ) == "1" )
{
if ( !isDefined(level.zombietron_mode) )
{
add_weapon( "knife_zm" );
}
}
else
{
if( level.script == "frontend"
|| level.script == "so_narrative1_frontend"
|| level.script == "so_narrative2_frontend"
|| level.script == "so_narrative3_frontend"
|| level.script == "so_narrative4_frontend"
|| level.script == "so_narrative5_frontend"
|| level.script == "so_narrative6_frontend"
|| level.script == "so_narrative0_frontend"
|| level.script == "outro" )
{
}
else if( level.script == "flashpoint" )
{
add_weapon( "knife_karambit_sp" );
}
else
{
add_weapon( "knife_sp" );
}
}
if( level.script == "coop_test1" )
{
add_weapon( "m1garand" );
add_weapon( "thompson" );
add_weapon( "frag_grenade" );
set_switch_weapon( "m1garand" );
set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewhands_player_usmc");
level.campaign = "american";
return;
}
if( level.script == "m202_sound_test" )
{
add_weapon( "rpg_player_sp" );
add_weapon( "m202_flash_sp" );
add_weapon( "strela_sp" );
add_weapon( "m220_tow_sp" );
add_weapon( "china_lake_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "rpg_player_sp" );
set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewhands_player_usmc");
level.campaign = "american";
return;
}
else if( GetSubStr( level.script, 0, 6 ) == "sp_t5_" )
{
add_weapon( "m16_sp" );
add_weapon( "m1911_sp" );
set_switch_weapon( "m16_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "m16_sp" );
set_player_viewmodel( "viewmodel_usa_cia_camo_arms" );
set_player_interactive_hands( "viewmodel_usa_cia_camo_arms");
level.campaign = "american";
return;
}
else if( level.script == "berlin" )
{
add_weapon( "frag_grenade_sp" );
add_weapon( "m1911_silencer_sp" );
set_switch_weapon( "m1911_silencer_sp" );
set_laststand_pistol( "m1911_silencer_sp" );
set_player_viewmodel( "viewmodel_usa_jungmar_arms" );
set_player_interactive_hands( "viewmodel_usa_jungmar_player");
set_player_interactive_model( "viewmodel_usa_jungmar_player_fullbody" );
level.campaign = "american";
return;
}
else if( level.script == "cuba" )
{
add_weapon( "frag_grenade_sp" );
add_weapon( "asp_sp" );
PreCacheItem("m16_sp");
PreCacheItem("m16_acog_sp");
PreCacheItem("m16_gl_sp");
PreCacheItem("gl_m16_sp");
add_weapon("m16_acog_gl_sp");
set_switch_weapon( "m16_acog_gl_sp" );
set_laststand_pistol( "asp_sp" );
set_player_viewmodel( "viewmodel_usa_cuban_casual_arms" );
set_player_interactive_hands( "viewmodel_usa_cuban_casual_player");
set_player_interactive_model( "viewmodel_usa_cuban_casual_fullbody" );
level.campaign = "american";
return;
}
else if( level.script == "frontend"
|| level.script == "so_narrative1_frontend"
|| level.script == "so_narrative2_frontend"
|| level.script == "so_narrative3_frontend"
|| level.script == "so_narrative4_frontend"
|| level.script == "so_narrative5_frontend"
|| level.script == "so_narrative6_frontend"
|| level.script == "so_narrative0_frontend")
{
set_laststand_pistol( "none" );
set_player_viewmodel( "tag_origin");
set_player_interactive_hands( "tag_origin");
set_player_interactive_model("viewmodel_usa_mason_interrogation_fullbody");
level.campaign = "none";
return;
}
else if ( level.script == "outro" )
{
set_laststand_pistol( "none" );
level.campaign = "none";
return;
}
else if( level.script == "int_escape" )
{
add_weapon("interrogation_hands_sp");
set_switch_weapon( "interrogation_hands_sp" );
set_player_viewmodel( "viewmodel_usa_mason_interrogation_arms");
set_player_interactive_hands( "viewmodel_usa_mason_interrogation_player");
set_player_interactive_model("viewmodel_usa_mason_interrogation_fullbody");
level.campaign = "american";
return;
}
else if( level.script == "creek_1" )
{
precacheitem( "creek_flashlight_pistol_sp" );
add_weapon( "commando_gl_sp" );
add_weapon( "wa2000_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "commando_gl_sp" );
set_player_viewmodel( "viewmodel_usa_jungmar_wet_arms" );
set_player_interactive_hands( "viewmodel_usa_jungmar_wet_player");
set_player_interactive_model( "viewmodel_usa_jungmar_wet_player_fullbody");
level.campaign = "american";
return;
}
else if( level.script == "river" )
{
add_weapon( "commando_acog_sp", 13 );
add_weapon( "ks23_sp", 13 );
add_weapon( "frag_grenade_sp" );
add_weapon( "flash_grenade_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "commando_acog_sp" );
set_player_viewmodel( "viewmodel_usa_jungmar_wet_arms" );
set_player_interactive_hands( "viewmodel_usa_jungmar_wet_player");
level.campaign = "american";
return;
}
else if( level.script == "in_country" )
{
add_weapon( "m16_acog_sp" );
add_weapon( "m1911_sp" );
set_switch_weapon( "m16_acog_sp" );
add_weapon( "frag_grenade_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "m16_acog_sp" );
set_player_viewmodel( "viewmodel_usa_jungmar_arms" );
set_player_interactive_model( "viewmodel_usa_jungmar_player_fullbody");
level.campaign = "american";
return;
}
else if( level.script == "flashpoint" )
{
add_weapon( "mp5k_elbit_extclip_sp", 1 );
add_weapon( "python_speed_sp" );
set_laststand_pistol( "makarov_sp" );
set_switch_weapon( "mp5k_elbit_extclip_sp" );
add_weapon( "frag_grenade_sp" );
add_weapon( "willy_pete_sp" );
set_player_viewmodel( "viewmodel_usa_blackops_urban_arms" );
set_player_interactive_hands( "viewmodel_usa_blackops_urban_player" );
set_player_interactive_model( "viewmodel_usa_blackops_urban_player_fullbody" );
level.campaign = "american";
return;
}
else if (level.script == "hue_city")
{
precacheitem( "rpg_sp" );
precacheitem( "rpk_sp" );
precacheitem( "commando_sp" );
precacheitem( "m1911_sp" );
set_laststand_pistol( "m1911_sp" );
add_weapon( "frag_grenade_sp" );
set_player_viewmodel( "viewmodel_usa_jungmar_arms" );
set_player_interactive_hands( "viewmodel_usa_jungmar_player");
set_player_interactive_model( "viewmodel_usa_jungmar_player_fullbody");
level.campaign = "american";
return;
}
else if( level.script == "pow" )
{
PrecacheItem("ak47_acog_sp");
PrecacheItem("ak47_dualclip_sp");
PrecacheItem("ak47_extclip_sp");
PrecacheItem("ak47_gl_sp");
PrecacheItem("gl_ak47_sp");
PrecacheItem("ak47_ft_sp");
PrecacheItem("ft_ak47_sp");
PrecacheItem("rpk_sp");
PrecacheItem("rpk_acog_sp");
PrecacheItem("rpk_extclip_sp");
PrecacheItem("galil_sp");
PrecacheItem("cz75_sp");
PrecacheItem("cz75_auto_sp");
PrecacheItem("cz75lh_sp");
PrecacheItem("cz75dw_sp");
PrecacheItem("rpg_player_sp");
PrecacheItem("uzi_sp");
PrecacheItem("uzi_acog_sp");
PrecacheItem("uzi_extclip_sp");
PrecacheItem("uzi_grip_sp");
add_weapon( "cz75_sp" );
add_weapon( "ak47_sp" );
add_weapon( "frag_grenade_sp" );
add_weapon( "flash_grenade_sp" );
set_switch_weapon( "ak47_sp" );
set_laststand_pistol( "cz75_sp" );
set_player_viewmodel( "viewmodel_usa_pow_arms" );
set_player_interactive_hands( "viewmodel_usa_pow_player");
set_player_interactive_model( "viewmodel_usa_prisoner_player_fullbody" );
level.campaign = "american";
return;
}
else if( level.script == "wmd_sr71" )
{
add_weapon( "aug_arctic_acog_silencer_sp" );
add_weapon( "m1911_silencer_sp" );
add_weapon( "frag_grenade_sp" );
add_weapon( "flash_grenade_sp" );
set_secondary_offhand( "flash_grenade_sp" );
set_switch_weapon( "aug_arctic_acog_silencer_sp" );
set_laststand_pistol( "m1911_silencer_sp" );
set_player_interactive_model( "viewmodel_usa_blackops_winter_player_fullbody" );
set_player_interactive_hands( "viewhands_player_usmc");
set_player_viewmodel( "viewmodel_usa_blackops_winter_arms" );
level.campaign = "american";
return;
}
else if( level.script == "wmd" )
{
add_weapon( "aug_arctic_acog_silencer_sp" );
add_weapon( "crossbow_vzoom_alt_sp", 11 );
add_weapon( "frag_grenade_sp" );
add_weapon( "flash_grenade_sp" );
set_secondary_offhand( "flash_grenade_sp" );
set_switch_weapon( "crossbow_vzoom_alt_sp" );
set_laststand_pistol( "m1911_silencer_sp" );
set_player_interactive_model( "viewmodel_usa_blackops_winter_player_fullbody" );
set_player_interactive_hands( "viewmodel_usa_blackops_winter_player" );
set_player_viewmodel( "viewmodel_usa_blackops_winter_arms" );
level.campaign = "american";
return;
}
else if (level.script == "khe_sanh")
{
PreCacheItem("m16_sp");
PreCacheItem("m16_mk_sp");
PreCacheItem("mk_m16_sp");
add_weapon("m16_mk_sp", 1);
add_weapon( "m60_sp" );
add_weapon( "frag_grenade_sp" );
set_switch_weapon( "m16_mk_sp" );
set_laststand_pistol( "none" );
set_player_viewmodel( "viewmodel_usa_jungmar_arms" );
set_player_interactive_hands( "viewmodel_usa_jungmar_player");
set_player_interactive_model( "viewmodel_usa_jungmar_player_fullbody" );
level.campaign = "american";
return;
}
else if (level.script == "vorkuta")
{
PrecacheItem( "makarov_sp" );
PrecacheItem( "vorkuta_knife_sp" );
add_weapon( "ak47_sp" );
add_weapon( "ak47_gl_sp" );
set_switch_weapon( "ak47_sp" );
set_laststand_pistol( "makarov_sp" );
add_weapon( "frag_grenade_sp" );
set_player_viewmodel( "viewmodel_rus_prisoner_arms" );
set_player_interactive_hands( "viewmodel_rus_prisoner_player_fullbody");
set_player_interactive_model( "viewmodel_rus_prisoner_player_fullbody" );
level.campaign = "russian";
return;
}
else if( level.script == "pentagon" )
{
set_laststand_pistol( "m1911_sp" );
set_player_interactive_model( "viewmodel_usa_pent_officeworker_fullbody" );
level.campaign = "american";
return;
}
else if( level.script == "collateral_damage" )
{
precacheitem( "commando_acog_sp" );
precacheitem( "m1911_sp" );
precacheitem( "frag_grenade_sp" );
add_weapon( "commando_acog_sp" );
add_weapon( "m1911_sp" );
add_weapon( "frag_grenade_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "commando_acog_sp" );
set_player_viewmodel( "viewmodel_usa_jungmar_arms" );
set_player_interactive_hands( "viewmodel_usa_jungmar_player");
set_player_interactive_model( "viewmodel_usa_jungmar_player_fullbody" );
level.campaign = "american";
return;
}
else if( level.script == "fullahead" )
{
add_weapon( "ppsh_sp" );
add_weapon( "mosin_sp" );
add_weapon( "frag_grenade_russian_sp" );
set_laststand_pistol( "tokarevtt30_sp" );
set_switch_weapon( "ppsh_sp" );
set_player_viewmodel( "viewmodel_rus_reznov_winter_arms" );
set_player_interactive_hands( "viewmodel_rus_reznov_winter_player") ;
set_player_interactive_model( "viewmodel_rus_reznov_winter_fullbody" );
level.campaign = "russian";
return;
}
else if( level.script == "kowloon" )
{
add_weapon( "cz75dw_sp" );
add_weapon( "frag_grenade_sp" );
add_weapon( "flash_grenade_sp" );
set_secondary_offhand( "flash_grenade_sp" );
set_laststand_pistol( "cz75_sp" );
set_switch_weapon( "cz75dw_sp" );
set_player_viewmodel( "viewmodel_usa_blackops_urban_arms_getwet" );
set_player_interactive_hands( "viewmodel_usa_blackops_urban_player_gwet") ;
set_player_interactive_model( "viewmodel_usa_blackops_urban_player_fullbody_gwet" );
level.campaign = "american";
return;
}
else if( level.script == "interrogation_escape" )
{
add_weapon( "m1911_sp" );
add_weapon( "m16_sp" );
add_weapon( "frag_grenade_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "m16_sp" );
set_player_viewmodel( "viewmodel_usa_pow_arms" );
set_player_interactive_hands( "viewhands_player_usmc");
set_player_interactive_model("viewmodel_usa_marine_player_legs");
level.campaign = "american";
return;
}
else if( level.script == "rebirth" )
{
add_weapon("frag_grenade_sp");
set_laststand_pistol( "m1911_sp" );
set_player_viewmodel( "viewmodel_usa_blackops_urban_arms");
set_player_interactive_hands( "viewmodel_usa_blackops_urban_player");
set_player_interactive_model("viewmodel_usa_blackops_urban_player_fullbody");
level.campaign = "american";
return;
}
else if( level.script == "underwaterbase" )
{
add_weapon( "mac11_elbit_extclip_sp" );
add_weapon( "famas_reflex_dualclip_sp" );
set_laststand_pistol( "cz75_sp" );
set_switch_weapon( "famas_reflex_dualclip_sp" );
add_weapon( "frag_grenade_sp" );
add_weapon( "flash_grenade_sp" );
set_secondary_offhand( "flash_grenade_sp" );
set_player_viewmodel( "viewmodel_usa_ubase_arms" );
set_player_interactive_hands( "viewmodel_usa_ubase_player" );
set_player_interactive_model( "viewmodel_usa_ubase_fullbody" );
level.campaign = "american";
return;
}
else if( GetDvar( #"zombiemode" ) == "1" || IsSubStr( level.script, "zombie_" ) )
{
if ( !isDefined(level.zombietron_mode) )
{
add_weapon( "knife_zm" );
add_weapon( "m1911_zm" );
PrecacheItem( "bowie_knife_zm" );
set_laststand_pistol( "m1911_zm" );
set_player_viewmodel( "viewmodel_usa_pow_arms");
set_player_interactive_hands( "viewhands_usmc");
}
level.campaign = "american";
return;
}
else if( IsSubStr( level.script, "intro_" ) )
{
return;
}
else if( GetDvar( #"g_gametype" ) == "vs" )
{
return;
}
println ("loadout.gsc: No level listing in _loadout.gsc, giving default guns!!!! =======================");
add_weapon( "m1911_sp" );
add_weapon( "m16_sp" );
add_weapon( "frag_grenade_sp" );
add_weapon( "flash_grenade_sp" );
set_secondary_offhand( "flash_grenade_sp" );
set_laststand_pistol( "m1911_sp" );
set_switch_weapon( "m16_sp" );
set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewhands_player_usmc");
set_player_interactive_model("viewmodel_usa_marine_player_legs");
level.campaign = "american";
}
add_weapon( weapon_name, options )
{
PrecacheItem( weapon_name );
level.player_loadout[level.player_loadout.size] = weapon_name;
if( !isdefined( options ) )
{
options = -1;
}
level.player_loadout_options[level.player_loadout_options.size] = options;
}
set_secondary_offhand( weapon_name )
{
level.player_secondaryoffhand = weapon_name;
}
set_switch_weapon( weapon_name )
{
level.player_switchweapon = weapon_name;
}
set_action_slot( num, option1, option2 )
{
if( num < 2 || num > 4)
{
if(level.script != "pby_fly")
{
assertmsg( "_loadout.gsc: set_action_slot must be set with a number greater than 1 and less than 5" );
}
}
if(IsDefined(option1))
{
if(option1 == "weapon")
{
PrecacheItem(option2);
level.player_loadout[level.player_loadout.size] = option2;
}
}
if( !IsDefined( level.player_actionslots ) )
{
level.player_actionslots = [];
}
action_slot = SpawnStruct();
action_slot.num = num;
action_slot.option1 = option1;
if( IsDefined( option2 ) )
{
action_slot.option2 = option2;
}
level.player_actionslots[level.player_actionslots.size] = action_slot;
}
set_player_viewmodel( model )
{
PrecacheModel( model );
level.player_viewmodel = model;
}
set_player_interactive_hands( model )
{
PrecacheModel( model );
level.player_interactive_hands = model;
}
set_player_interactive_model( model )
{
PrecacheModel( model );
level.player_interactive_model = model;
}
set_laststand_pistol( weapon )
{
level.laststandpistol = weapon;
}
give_loadout(wait_for_switch_weapon)
{
if( !IsDefined( game["gaveweapons"] ) )
{
game["gaveweapons"] = 0;
}
if( !IsDefined( game["expectedlevel"] ) )
{
game["expectedlevel"] = "";
}
if( game["expectedlevel"] != level.script )
{
game["gaveweapons"] = 0;
}
if( game["gaveweapons"] == 0 )
{
game["gaveweapons"] = 1;
}
gave_grenade = false;
for( i = 0; i < level.player_loadout.size; i++ )
{
if( WeaponType( level.player_loadout[i] ) == "grenade" )
{
gave_grenade = true;
break;
}
}
if( !gave_grenade )
{
if( IsDefined( level.player_grenade ) )
{
grenade = level.player_grenade;
self GiveWeapon( grenade );
self SetWeaponAmmoStock( grenade, 0 );
gave_grenade = true;
}
if( !gave_grenade )
{
ai = GetAiArray( "allies" );
if( IsDefined( ai ) )
{
for( i = 0; i < ai.size; i++ )
{
if( IsDefined( ai[i].grenadeWeapon ) )
{
grenade = ai[i].grenadeWeapon;
self GiveWeapon( grenade );
self SetWeaponAmmoStock( grenade, 0 );
break;
}
}
}
println( "^3LOADOUT ISSUE: Unable to give a grenade, the player need to be given a grenade and then take it away in order for the player to throw back grenades, but not have any grenades in his inventory." );
}
}
for( i = 0; i < level.player_loadout.size; i++ )
{
if( isdefined(level.player_loadout_options[i]) && (level.player_loadout_options[i]!=-1) )
{
weaponOptions = self calcweaponoptions( level.player_loadout_options[i] );
self GiveWeapon( level.player_loadout[i], 0, weaponOptions );
}
else
{
self GiveWeapon( level.player_loadout[i] );
}
}
self SetActionSlot( 1, "" );
self SetActionSlot( 2, "" );
self SetActionSlot( 3, "altMode" );
self SetActionSlot( 4, "" );
if( level.script == "living_battlefield" )
{
self SetActionSlot( 4, "nightvision" );
}
if( IsDefined( level.player_actionslots ) )
{
for( i = 0; i < level.player_actionslots.size; i++ )
{
num = level.player_actionslots[i].num;
option1 = level.player_actionslots[i].option1;
if( IsDefined( level.player_actionslots[i].option2 ) )
{
option2 = level.player_actionslots[i].option2;
self SetActionSlot( num, option1, option2 );
}
else
{
self SetActionSlot( num, option1 );
}
}
}
if( IsDefined( level.player_switchweapon ) )
{
if ( isdefined(wait_for_switch_weapon) && wait_for_switch_weapon == true )
{
wait(0.5);
}
self SwitchToWeapon( level.player_switchweapon );
}
if( GetDvar( #"zombiemode" ) == "0" )
{
wait(0.5);
}
self player_flag_set("loadout_given");
}
give_model( class )
{
entity_num = self GetEntityNumber();
if (level.campaign == "none")
{
}
else if( GetDvar( #"zombietron" ) == "1" )
{
switch( entity_num )
{
case 0:
character\c_usa_sog2_zt::main();
break;
case 1:
character\c_zom_blue_guy_zt::main();
break;
case 2:
character\c_zom_red_guy_zt::main();
break;
case 3:
character\c_zom_yellow_guy_zt::main();
break;
}
}
else if( GetDvar( #"zombiemode" ) == "1" || IsSubStr( level.script, "nazi_zombie_" ) || IsSubStr( level.script, "zombie_" ) )
{
if ( IsSubStr( level.script, "zombie_pentagon" ) )
{
if( IsDefined( self.zm_random_char ) )
{
entity_num = self.zm_random_char;
}
switch( entity_num )
{
case 0:
character\c_usa_jfk_zt::main();
break;
case 1:
character\c_usa_mcnamara_zt::main();
break;
case 2:
character\c_usa_nixon_zt::main();
break;
case 3:
character\c_cub_castro_zt::main();
break;
}
}
else if( IsSubStr( level.script, "zombie_theater" ) )
{
if( IsDefined( self.zm_random_char ) )
{
entity_num = self.zm_random_char;
}
switch( entity_num )
{
case 0:
character\c_usa_dempsey_zt::main();
break;
case 1:
character\c_rus_nikolai_zt::main();
break;
case 2:
character\c_jap_takeo_zt::main();
break;
case 3:
character\c_ger_richtofen_zt::main();
break;
}
}
else
{
switch( entity_num )
{
case 0:
character\c_usa_marine_michael_carter_player_zm::main();
break;
case 1:
character\c_usa_marine_michael_carter_player_zm::main();
break;
case 2:
character\c_usa_marine_michael_carter_player_zm::main();
break;
case 3:
character\c_usa_marine_michael_carter_player_zm::main();
break;
}
}
}
if( IsDefined( level.player_viewmodel ) )
{
self SetViewModel( level.player_viewmodel );
}
}