Added MW3 Scripts

This commit is contained in:
InfinityLoader
2023-10-27 03:47:01 -04:00
commit d559c1d414
981 changed files with 539970 additions and 0 deletions

View File

@ -0,0 +1,24 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\character_mp_ally_juggernaut.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:11 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_fullbody_ally_juggernaut");
self setviewmodel("viewhands_juggernaut_ally");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_fullbody_ally_juggernaut");
precachemodel("viewhands_juggernaut_ally");
}

View File

@ -0,0 +1,24 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\character_mp_opforce_juggernaut.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 39 ms
* Timestamp: 10/27/2023 2:28:21 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_fullbody_opforce_juggernaut");
self setviewmodel("viewhands_juggernaut_opforce");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_fullbody_opforce_juggernaut");
precachemodel("viewhands_juggernaut_opforce");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_africa_militia_assault_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:36 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_africa_militia_assault_a");
codescripts\character::attachhead("alias_africa_militia_heads_mp",xmodelalias\alias_africa_militia_heads_mp::main());
self setviewmodel("viewhands_african_militia");
self.voice = "african";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_africa_militia_assault_a");
codescripts\character::func_19F4(xmodelalias\alias_africa_militia_heads_mp::main());
precachemodel("viewhands_african_militia");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_africa_militia_lmg_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:37 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_africa_militia_lmg_b");
codescripts\character::attachhead("alias_africa_militia_heads_mp",xmodelalias\alias_africa_militia_heads_mp::main());
self setviewmodel("viewhands_african_militia");
self.voice = "african";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_africa_militia_lmg_b");
codescripts\character::func_19F4(xmodelalias\alias_africa_militia_heads_mp::main());
precachemodel("viewhands_african_militia");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_africa_militia_shotgun_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 31 ms
* Timestamp: 10/27/2023 2:28:46 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_africa_militia_shotgun_b");
codescripts\character::attachhead("alias_africa_militia_heads_mp",xmodelalias\alias_africa_militia_heads_mp::main());
self setviewmodel("viewhands_african_militia");
self.voice = "african";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_africa_militia_shotgun_b");
codescripts\character::func_19F4(xmodelalias\alias_africa_militia_heads_mp::main());
precachemodel("viewhands_african_militia");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_africa_militia_smg_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 37 ms
* Timestamp: 10/27/2023 2:28:46 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_africa_militia_smg_b");
codescripts\character::attachhead("alias_africa_militia_heads_mp",xmodelalias\alias_africa_militia_heads_mp::main());
self setviewmodel("viewhands_african_militia");
self.voice = "african";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_africa_militia_smg_b");
codescripts\character::func_19F4(xmodelalias\alias_africa_militia_heads_mp::main());
precachemodel("viewhands_african_militia");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_africa_militia_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:46 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_africa_militia_sniper");
self attach("head_opforce_africa_sniper","",1);
self.headmodel = "head_opforce_africa_sniper";
self setviewmodel("viewhands_african_militia");
self.voice = "african";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_africa_militia_sniper");
precachemodel("head_opforce_africa_sniper");
precachemodel("viewhands_african_militia");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_ally_ghillie_arctic.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 37 ms
* Timestamp: 10/27/2023 2:29:22 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_ally_ghillie_desert_sniper");
self attach("head_ally_arctic_sniper","",1);
self.headmodel = "head_ally_arctic_sniper";
self setviewmodel("viewhands_iw5_ghillie_arctic");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_ally_ghillie_desert_sniper");
precachemodel("head_ally_arctic_sniper");
precachemodel("viewhands_iw5_ghillie_arctic");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_ally_ghillie_desert.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 31 ms
* Timestamp: 10/27/2023 2:29:20 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_ally_ghillie_desert_sniper");
self attach("head_ally_delta_sniper","",1);
self.headmodel = "head_ally_delta_sniper";
self setviewmodel("viewhands_iw5_ghillie_desert");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_ally_ghillie_desert_sniper");
precachemodel("head_ally_delta_sniper");
precachemodel("viewhands_iw5_ghillie_desert");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_ally_ghillie_forest.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:29:24 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_ally_ghillie_woodland_sniper");
self attach("head_ally_delta_sniper","",1);
self.headmodel = "head_ally_delta_sniper";
self setviewmodel("viewhands_iw5_ghillie_woodland");
self.voice = "pmc";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_ally_ghillie_woodland_sniper");
precachemodel("head_ally_delta_sniper");
precachemodel("viewhands_iw5_ghillie_woodland");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_ally_ghillie_urban.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:29:23 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_ally_ghillie_urban_sniper");
self attach("head_ally_delta_sniper","",1);
self.headmodel = "head_ally_delta_sniper";
self setviewmodel("viewhands_iw5_ghillie_urban");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_ally_ghillie_urban_sniper");
precachemodel("head_ally_delta_sniper");
precachemodel("viewhands_iw5_ghillie_urban");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_assault_aa.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:07 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_assault_aa");
codescripts\character::attachhead("alias_delta_elite_heads",xmodelalias\alias_delta_elite_heads::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_assault_aa");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_assault_ab.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:08 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_assault_ab");
codescripts\character::attachhead("alias_delta_elite_heads_longsleeves",xmodelalias\alias_delta_elite_heads_longsleeves::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_assault_ab");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads_longsleeves::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_assault_ba.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 32 ms
* Timestamp: 10/27/2023 2:28:08 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_assault_ba");
codescripts\character::attachhead("alias_delta_elite_heads",xmodelalias\alias_delta_elite_heads::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_assault_ba");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_assault_bb.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:08 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_assault_bb");
codescripts\character::attachhead("alias_delta_elite_heads_longsleeves",xmodelalias\alias_delta_elite_heads_longsleeves::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_assault_bb");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads_longsleeves::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_lmg_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 27 ms
* Timestamp: 10/27/2023 2:28:09 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_lmg_a");
codescripts\character::attachhead("alias_delta_elite_heads",xmodelalias\alias_delta_elite_heads::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_lmg_a");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_lmg_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:09 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_lmg_b");
codescripts\character::attachhead("alias_delta_elite_heads_longsleeves",xmodelalias\alias_delta_elite_heads_longsleeves::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_lmg_b");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads_longsleeves::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_shotgun_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:10 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_shotgun_a");
codescripts\character::attachhead("alias_delta_elite_heads_longsleeves",xmodelalias\alias_delta_elite_heads_longsleeves::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_shotgun_a");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads_longsleeves::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_smg_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 40 ms
* Timestamp: 10/27/2023 2:28:10 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_smg_a");
codescripts\character::attachhead("alias_delta_elite_heads",xmodelalias\alias_delta_elite_heads::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_smg_a");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_smg_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:10 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_delta_elite_smg_b");
codescripts\character::attachhead("alias_delta_elite_heads_longsleeves",xmodelalias\alias_delta_elite_heads_longsleeves::main());
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_delta_elite_smg_b");
codescripts\character::func_19F4(xmodelalias\alias_delta_elite_heads_longsleeves::main());
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_delta_elite_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:11 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_ally_delta_sniper");
self attach("head_ally_delta_sniper","",1);
self.headmodel = "head_ally_delta_sniper";
self setviewmodel("viewhands_delta");
self.voice = "delta";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_ally_delta_sniper");
precachemodel("head_ally_delta_sniper");
precachemodel("viewhands_delta");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_gign_paris_assault.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:14 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_gign_paris_assault");
self attach("head_gign_c","",1);
self.headmodel = "head_gign_c";
self setviewmodel("viewhands_sas");
self.voice = "french";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_gign_paris_assault");
precachemodel("head_gign_c");
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_gign_paris_lmg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:14 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_gign_paris_lmg");
self attach("head_gign_d","",1);
self.headmodel = "head_gign_d";
self setviewmodel("viewhands_sas");
self.voice = "french";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_gign_paris_lmg");
precachemodel("head_gign_d");
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_gign_paris_riot.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:15 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_gign_paris_lmg");
self attach("head_gign_a","",1);
self.headmodel = "head_gign_a";
self setviewmodel("viewhands_sas");
self.voice = "french";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_gign_paris_lmg");
precachemodel("head_gign_a");
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_gign_paris_shotgun.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:15 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_gign_paris_shotgun");
self attach("head_gign_b","",1);
self.headmodel = "head_gign_b";
self setviewmodel("viewhands_sas");
self.voice = "french";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_gign_paris_shotgun");
precachemodel("head_gign_b");
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_gign_paris_smg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:15 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_gign_paris_smg");
self attach("head_gign_saber_gasmask","",1);
self.headmodel = "head_gign_saber_gasmask";
self setviewmodel("viewhands_sas");
self.voice = "french";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_gign_paris_smg");
precachemodel("head_gign_saber_gasmask");
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_op_ghillie_arctic.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:29:23 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_ghillie_arctic_sniper");
self attach("head_opforce_russian_arctic_sniper","",1);
self.headmodel = "head_opforce_russian_arctic_sniper";
self setviewmodel("viewhands_iw5_ghillie_arctic");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_ghillie_arctic_sniper");
precachemodel("head_opforce_russian_arctic_sniper");
precachemodel("viewhands_iw5_ghillie_arctic");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_op_ghillie_desert.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:29:22 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_ghillie_desert_sniper");
self attach("head_opforce_russian_air_sniper","",1);
self.headmodel = "head_opforce_russian_air_sniper";
self setviewmodel("viewhands_iw5_ghillie_desert");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_ghillie_desert_sniper");
precachemodel("head_opforce_russian_air_sniper");
precachemodel("viewhands_iw5_ghillie_desert");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_op_ghillie_forest.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 27 ms
* Timestamp: 10/27/2023 2:29:24 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_ghillie_woodland_sniper");
self attach("head_opforce_russian_woodland_sniper","",1);
self.headmodel = "head_opforce_russian_woodland_sniper";
self setviewmodel("viewhands_iw5_ghillie_woodland");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_ghillie_woodland_sniper");
precachemodel("head_opforce_russian_woodland_sniper");
precachemodel("viewhands_iw5_ghillie_woodland");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_op_ghillie_militia.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 27 ms
* Timestamp: 10/27/2023 2:29:25 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_ghillie_africa_militia_sniper");
self attach("head_ghillie_africa_militia_sniper","",1);
self.headmodel = "head_ghillie_africa_militia_sniper";
self setviewmodel("viewhands_african_militia");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_ghillie_africa_militia_sniper");
precachemodel("head_ghillie_africa_militia_sniper");
precachemodel("viewhands_african_militia");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_op_ghillie_urban.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 26 ms
* Timestamp: 10/27/2023 2:29:23 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_ghillie_urban_sniper");
self attach("head_opforce_russian_urban_sniper","",1);
self.headmodel = "head_opforce_russian_urban_sniper";
self setviewmodel("viewhands_iw5_ghillie_urban");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_ghillie_urban_sniper");
precachemodel("head_opforce_russian_urban_sniper");
precachemodel("viewhands_iw5_ghillie_urban");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_air_assault.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:19 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_assault_a_airborne");
self attach("head_russian_military_aa","",1);
self.headmodel = "head_russian_military_aa";
self setviewmodel("viewhands_russian_b");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_assault_a_airborne");
precachemodel("head_russian_military_aa");
precachemodel("viewhands_russian_b");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_air_lmg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:20 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_lmg_a_airborne");
self attach("head_russian_military_bb","",1);
self.headmodel = "head_russian_military_bb";
self setviewmodel("viewhands_russian_b");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_lmg_a_airborne");
precachemodel("head_russian_military_bb");
precachemodel("viewhands_russian_b");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_air_shotgun.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 37 ms
* Timestamp: 10/27/2023 2:28:20 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_shotgun_a_airborne");
self attach("head_russian_military_d","",1);
self.headmodel = "head_russian_military_d";
self setviewmodel("viewhands_russian_b");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_shotgun_a_airborne");
precachemodel("head_russian_military_d");
precachemodel("viewhands_russian_b");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_air_smg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:21 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_smg_a_airborne");
self attach("head_russian_military_f","",1);
self.headmodel = "head_russian_military_f";
self setviewmodel("viewhands_russian_b");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_smg_a_airborne");
precachemodel("head_russian_military_f");
precachemodel("viewhands_russian_b");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_air_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:21 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_russian_air_sniper");
self attach("head_opforce_russian_air_sniper","",1);
self.headmodel = "head_opforce_russian_air_sniper";
self setviewmodel("viewhands_russian_b");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_russian_air_sniper");
precachemodel("head_opforce_russian_air_sniper");
precachemodel("viewhands_russian_b");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_assault_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:47 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_assault_a");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_assault_a");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_assault_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:48 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_assault_b");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_assault_b");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_assault_c.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:48 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_assault_c");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_assault_c");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_assault_d.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:48 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_assault_d");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_assault_d");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_lmg_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:49 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_lmg_a");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_lmg_a");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_lmg_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 27 ms
* Timestamp: 10/27/2023 2:28:49 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_lmg_b");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_lmg_b");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_shgn_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:50 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_shotgun_a");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_shotgun_a");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_shgn_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 32 ms
* Timestamp: 10/27/2023 2:28:50 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_shotgun_b");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_shotgun_b");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_smg_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:50 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_smg_a");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_smg_a");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_smg_b.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:51 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_henchmen_smg_b");
codescripts\character::attachhead("alias_henchmen_heads_mp",xmodelalias\alias_henchmen_heads_mp::main());
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_henchmen_smg_b");
codescripts\character::func_19F4(xmodelalias\alias_henchmen_heads_mp::main());
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_hench_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:51 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_henchmen_sniper");
self attach("head_opforce_henchmen_sniper","",1);
self.headmodel = "head_opforce_henchmen_sniper";
self setviewmodel("viewhands_henchmen");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_henchmen_sniper");
precachemodel("head_opforce_henchmen_sniper");
precachemodel("viewhands_henchmen");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_snow_assault.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:22 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_assault_a_arctic");
codescripts\character::attachhead("alias_russian_military_arctic_heads",xmodelalias\alias_russian_military_arctic_heads::main());
self setviewmodel("viewhands_russian_d");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_assault_a_arctic");
codescripts\character::func_19F4(xmodelalias\alias_russian_military_arctic_heads::main());
precachemodel("viewhands_russian_d");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_snow_lmg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:22 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_lmg_a_arctic");
codescripts\character::attachhead("alias_russian_military_arctic_heads",xmodelalias\alias_russian_military_arctic_heads::main());
self setviewmodel("viewhands_russian_d");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_lmg_a_arctic");
codescripts\character::func_19F4(xmodelalias\alias_russian_military_arctic_heads::main());
precachemodel("viewhands_russian_d");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_snow_shotgun.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:23 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_shotgun_a_arctic");
codescripts\character::attachhead("alias_russian_military_arctic_heads",xmodelalias\alias_russian_military_arctic_heads::main());
self setviewmodel("viewhands_russian_d");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_shotgun_a_arctic");
codescripts\character::func_19F4(xmodelalias\alias_russian_military_arctic_heads::main());
precachemodel("viewhands_russian_d");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_snow_smg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:23 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_smg_a_arctic");
self attach("head_russian_military_f","",1);
self.headmodel = "head_russian_military_f";
self setviewmodel("viewhands_russian_d");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_smg_a_arctic");
precachemodel("head_russian_military_f");
precachemodel("viewhands_russian_d");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_snow_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:24 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_russian_arctic_sniper");
self attach("head_opforce_russian_arctic_sniper","",1);
self.headmodel = "head_opforce_russian_arctic_sniper";
self setviewmodel("viewhands_russian_d");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_russian_arctic_sniper");
precachemodel("head_opforce_russian_arctic_sniper");
precachemodel("viewhands_russian_d");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_urban_assault.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:24 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_assault_a");
self attach("head_russian_military_aa","",1);
self.headmodel = "head_russian_military_aa";
self setviewmodel("viewhands_russian_a");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_assault_a");
precachemodel("head_russian_military_aa");
precachemodel("viewhands_russian_a");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_urban_lmg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 33 ms
* Timestamp: 10/27/2023 2:28:24 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_lmg_a");
self attach("head_russian_military_b","",1);
self.headmodel = "head_russian_military_b";
self setviewmodel("viewhands_russian_a");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_lmg_a");
precachemodel("head_russian_military_b");
precachemodel("viewhands_russian_a");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_urban_shotgun.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:25 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_shotgun_a");
self attach("head_russian_military_dd","",1);
self.headmodel = "head_russian_military_dd";
self setviewmodel("viewhands_russian_a");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_shotgun_a");
precachemodel("head_russian_military_dd");
precachemodel("viewhands_russian_a");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_urban_smg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:25 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_smg_a");
self attach("head_russian_military_f","",1);
self.headmodel = "head_russian_military_f";
self setviewmodel("viewhands_russian_a");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_smg_a");
precachemodel("head_russian_military_f");
precachemodel("viewhands_russian_a");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_urban_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 31 ms
* Timestamp: 10/27/2023 2:28:26 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_russian_urban_sniper");
self attach("head_opforce_russian_urban_sniper","",1);
self.headmodel = "head_opforce_russian_urban_sniper";
self setviewmodel("viewhands_russian_a");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_russian_urban_sniper");
precachemodel("head_opforce_russian_urban_sniper");
precachemodel("viewhands_russian_a");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_woods_assault.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:26 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_assault_a_woodland");
self attach("head_russian_military_b","",1);
self.headmodel = "head_russian_military_b";
self setviewmodel("viewhands_russian_c");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_assault_a_woodland");
precachemodel("head_russian_military_b");
precachemodel("viewhands_russian_c");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_woods_lmg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:26 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_lmg_a_woodland");
self attach("head_russian_military_a","",1);
self.headmodel = "head_russian_military_a";
self setviewmodel("viewhands_russian_c");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_lmg_a_woodland");
precachemodel("head_russian_military_a");
precachemodel("viewhands_russian_c");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_woods_shotgun.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 27 ms
* Timestamp: 10/27/2023 2:28:35 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_shotgun_a_woodland");
self attach("head_russian_military_cc","",1);
self.headmodel = "head_russian_military_cc";
self setviewmodel("viewhands_russian_c");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_shotgun_a_woodland");
precachemodel("head_russian_military_cc");
precachemodel("viewhands_russian_c");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_woods_smg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 31 ms
* Timestamp: 10/27/2023 2:28:35 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_russian_military_smg_a_woodland");
self attach("head_russian_military_e","",1);
self.headmodel = "head_russian_military_e";
self setviewmodel("viewhands_russian_c");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_russian_military_smg_a_woodland");
precachemodel("head_russian_military_e");
precachemodel("viewhands_russian_c");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_opforce_woods_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:35 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_opforce_russian_woodland_sniper");
self attach("head_opforce_russian_woodland_sniper","",1);
self.headmodel = "head_opforce_russian_woodland_sniper";
self setviewmodel("viewhands_russian_c");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_opforce_russian_woodland_sniper");
precachemodel("head_opforce_russian_woodland_sniper");
precachemodel("viewhands_russian_c");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_assault_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:16 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_pmc_africa_assault_a");
codescripts\character::attachhead("alias_pmc_africa_heads",xmodelalias\alias_pmc_africa_heads::main());
self setviewmodel("viewhands_pmc");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_pmc_africa_assault_a");
codescripts\character::func_19F4(xmodelalias\alias_pmc_africa_heads::main());
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_assault_aa.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:17 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_pmc_africa_assault_aa");
codescripts\character::attachhead("alias_pmc_africa_heads",xmodelalias\alias_pmc_africa_heads::main());
self setviewmodel("viewhands_pmc");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_pmc_africa_assault_aa");
codescripts\character::func_19F4(xmodelalias\alias_pmc_africa_heads::main());
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_lmg_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:17 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_pmc_africa_lmg_a");
codescripts\character::attachhead("alias_pmc_africa_heads",xmodelalias\alias_pmc_africa_heads::main());
self setviewmodel("viewhands_pmc");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_pmc_africa_lmg_a");
codescripts\character::func_19F4(xmodelalias\alias_pmc_africa_heads::main());
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_lmg_aa.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:17 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_pmc_africa_lmg_aa");
codescripts\character::attachhead("alias_pmc_africa_heads",xmodelalias\alias_pmc_africa_heads::main());
self setviewmodel("viewhands_pmc");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_pmc_africa_lmg_aa");
codescripts\character::func_19F4(xmodelalias\alias_pmc_africa_heads::main());
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_shotgun_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 27 ms
* Timestamp: 10/27/2023 2:28:19 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_pmc_africa_shotgun_a");
codescripts\character::attachhead("alias_pmc_africa_heads",xmodelalias\alias_pmc_africa_heads::main());
self setviewmodel("viewhands_pmc");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_pmc_africa_shotgun_a");
codescripts\character::func_19F4(xmodelalias\alias_pmc_africa_heads::main());
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_smg_a.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:18 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_pmc_africa_smg_a");
codescripts\character::attachhead("alias_pmc_africa_heads",xmodelalias\alias_pmc_africa_heads::main());
self setviewmodel("viewhands_pmc");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_pmc_africa_smg_a");
codescripts\character::func_19F4(xmodelalias\alias_pmc_africa_heads::main());
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_smg_aa.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:18 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_pmc_africa_smg_aa");
codescripts\character::attachhead("alias_pmc_africa_heads",xmodelalias\alias_pmc_africa_heads::main());
self setviewmodel("viewhands_pmc");
self.voice = "russian";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_pmc_africa_smg_aa");
codescripts\character::func_19F4(xmodelalias\alias_pmc_africa_heads::main());
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,24 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_pmc_africa_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 32 ms
* Timestamp: 10/27/2023 2:28:19 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_ally_pmc_sniper");
self setviewmodel("viewhands_pmc");
self.voice = "taskforce";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_ally_pmc_sniper");
precachemodel("viewhands_pmc");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_sas_urban_assault.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 28 ms
* Timestamp: 10/27/2023 2:28:12 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_sas_urban_assault");
codescripts\character::attachhead("alias_sas_heads",xmodelalias\alias_sas_heads::main());
self setviewmodel("viewhands_sas");
self.voice = "british";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_sas_urban_assault");
codescripts\character::func_19F4(xmodelalias\alias_sas_heads::main());
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_sas_urban_lmg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 32 ms
* Timestamp: 10/27/2023 2:28:12 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_sas_urban_lmg");
codescripts\character::attachhead("alias_sas_heads",xmodelalias\alias_sas_heads::main());
self setviewmodel("viewhands_sas");
self.voice = "british";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_sas_urban_lmg");
codescripts\character::func_19F4(xmodelalias\alias_sas_heads::main());
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_sas_urban_shotgun.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 29 ms
* Timestamp: 10/27/2023 2:28:13 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_sas_urban_shotgun");
codescripts\character::attachhead("alias_sas_heads",xmodelalias\alias_sas_heads::main());
self setviewmodel("viewhands_sas");
self.voice = "british";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_sas_urban_shotgun");
codescripts\character::func_19F4(xmodelalias\alias_sas_heads::main());
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,26 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_sas_urban_smg.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 30 ms
* Timestamp: 10/27/2023 2:28:13 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_sas_urban_smg");
codescripts\character::attachhead("alias_sas_heads",xmodelalias\alias_sas_heads::main());
self setviewmodel("viewhands_sas");
self.voice = "british";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_sas_urban_smg");
codescripts\character::func_19F4(xmodelalias\alias_sas_heads::main());
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,27 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: character\mp_character_sas_urban_sniper.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 2
* Decompile Time: 39 ms
* Timestamp: 10/27/2023 2:28:14 AM
*******************************************************************/
//Function Number: 1
main()
{
self setmodel("mp_body_ally_sas_sniper");
self attach("head_ally_sas_sniper","",1);
self.headmodel = "head_ally_sas_sniper";
self setviewmodel("viewhands_sas");
self.voice = "british";
}
//Function Number: 2
precache()
{
precachemodel("mp_body_ally_sas_sniper");
precachemodel("head_ally_sas_sniper");
precachemodel("viewhands_sas");
}

View File

@ -0,0 +1,258 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: codescripts\character.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 13
* Decompile Time: 193 ms
* Timestamp: 10/27/2023 2:29:18 AM
*******************************************************************/
//Function Number: 1
func_19F3(param_00)
{
self setmodel(param_00[randomint(param_00.size)]);
}
//Function Number: 2
func_19F4(param_00)
{
for(var_01 = 0;var_01 < param_00.size;var_01++)
{
precachemodel(param_00[var_01]);
}
}
//Function Number: 3
attachhead(param_00,param_01)
{
if(!isdefined(level.var_19F6))
{
level.var_19F6 = [];
}
if(!isdefined(level.var_19F6[param_00]))
{
level.var_19F6[param_00] = randomint(param_01.size);
}
var_02 = level.var_19F6[param_00] + 1 % param_01.size;
if(isdefined(self.script_char_index))
{
var_02 = self.script_char_index % param_01.size;
}
level.var_19F6[param_00] = var_02;
self attach(param_01[var_02],"",1);
self.headmodel = param_01[var_02];
}
//Function Number: 4
func_19F9(param_00,param_01)
{
if(!isdefined(level.character_hat_index))
{
level.character_hat_index = [];
}
if(!isdefined(level.character_hat_index[param_00]))
{
level.character_hat_index[param_00] = randomint(param_01.size);
}
var_02 = level.character_hat_index[param_00] + 1 % param_01.size;
level.character_hat_index[param_00] = var_02;
self attach(param_01[var_02]);
self.var_ABA = param_01[var_02];
}
//Function Number: 5
func_19FB()
{
self detachall();
var_00 = self.var_19FC;
if(!isdefined(var_00))
{
return;
}
self.var_19FC = "none";
self [[ level.putguninhand ]](var_00);
}
//Function Number: 6
save()
{
var_00["gunHand"] = self.var_19FC;
if(isdefined(self.name))
{
}
else
{
}
var_01 = self getattachsize();
for(var_02 = 0;var_02 < var_01;var_02++ = var_41["name"])
{
var_41["attach"][var_02]["model"] = self getattachmodelname(var_02);
var_41["attach"][var_02]["tag"] = self getattachtagname(var_02);
}
return var_41;
}
//Function Number: 7
load(param_00)
{
self detachall();
self.var_19FC = param_00["gunHand"];
self.anim_guninhand = param_00["gunInHand"];
self setmodel(param_00["model"]);
self.var_ABA = param_00["hatModel"];
if(isdefined(param_00["name"]))
{
self.name = param_00["name"];
}
else
{
}
var_01 = param_00["attach"];
var_02 = var_01.size;
for(var_03 = 0;var_03 < var_02;var_03++)
{
self attach(var_01[var_03]["model"],var_01[var_03]["tag"]);
}
}
//Function Number: 8
precache(param_00)
{
if(isdefined(param_00["name"]))
{
}
else
{
}
precachemodel(param_00["model"]);
var_01 = param_00["attach"];
var_02 = var_01.size;
for(var_03 = 0;var_03 < var_02;var_03++)
{
precachemodel(var_01[var_03]["model"]);
}
}
//Function Number: 9
get_random_character(param_00)
{
var_01 = strtok(self.classname,"_");
if(!common_scripts\utility::issp())
{
if(isdefined(self.pers["modelIndex"]) && self.pers["modelIndex"] < param_00)
{
return self.pers["modelIndex"];
}
var_02 = randomint(param_00);
self.pers["modelIndex"] = var_02;
return var_02;
}
else if(var_02.size <= 2)
{
return randomint(var_01);
}
var_03 = "auto";
var_02 = undefined;
var_04 = var_01[2];
if(isdefined(self.script_char_index))
{
var_03 = self.script_char_index;
}
if(isdefined(self.var_1A02))
{
var_05 = "grouped";
var_02 = "group_" + self.var_1A02;
}
if(!isdefined(level.character_index_cache))
{
level.character_index_cache = [];
}
if(!isdefined(level.character_index_cache[var_04]))
{
level.character_index_cache[var_04] = [];
}
if(!isdefined(level.character_index_cache[var_04][var_02]))
{
initialize_character_group(var_04,var_02,param_00);
}
if(!isdefined(var_03))
{
var_03 = func_1A04(var_04,var_02);
if(!isdefined(var_03))
{
var_03 = randomint(5000);
}
}
while(var_03 >= param_00)
{
var_03 = var_03 - param_00;
}
level.character_index_cache[var_04][var_02][var_03]++;
return var_03;
}
//Function Number: 10
func_1A04(param_00,param_01)
{
var_02 = [];
var_03 = level.character_index_cache[param_00][param_01][0];
var_02[0] = 0;
for(var_04 = 1;var_04 < level.character_index_cache[param_00][param_01].size;var_04++)
{
if(level.character_index_cache[param_00][param_01][var_04] > var_03)
{
continue;
}
if(level.character_index_cache[param_00][param_01][var_04] < var_03)
{
var_02 = [];
var_03 = level.character_index_cache[param_00][param_01][var_04];
}
var_02[var_02.size] = var_04;
}
return random(var_02);
}
//Function Number: 11
initialize_character_group(param_00,param_01,param_02)
{
for(var_03 = 0;var_03 < param_02;var_03++)
{
level.character_index_cache[param_00][param_01][var_03] = 0;
}
}
//Function Number: 12
get_random_weapon(param_00)
{
return randomint(param_00);
}
//Function Number: 13
random(param_00)
{
return param_00[randomint(param_00.size)];
}

View File

@ -0,0 +1,128 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: common_scripts\_artcommon.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 10
* Decompile Time: 161 ms
* Timestamp: 10/27/2023 2:29:04 AM
*******************************************************************/
//Function Number: 1
artstartvisionfileexport()
{
common_scripts\utility::fileprint_launcher_start_file();
}
//Function Number: 2
func_1669()
{
return common_scripts\utility::fileprint_launcher_end_file("\\share\\raw\\vision\\" + level.script + ".vision",1);
}
//Function Number: 3
artstartfogfileexport()
{
common_scripts\utility::fileprint_launcher_start_file();
}
//Function Number: 4
artendfogfileexport()
{
return common_scripts\utility::fileprint_launcher_end_file("\\share\\raw\\maps\\createart\\" + level.script + "_art.gsc",1);
}
//Function Number: 5
artcommonfxprintln(param_00)
{
common_scripts\utility::fileprint_launcher(param_00);
}
//Function Number: 6
func_166D()
{
}
//Function Number: 7
func_166E()
{
level.fogexphalfplane = getdvarfloat("scr_fog_exp_halfplane");
level.fognearplane = getdvarfloat("scr_fog_nearplane");
level.fogcolor = getdvarvector("scr_fog_color");
level.fogmaxopacity = getdvarfloat("scr_fog_max_opacity");
level.sunfogenabled = getdvarint("scr_sunFogEnabled");
level.sunfogcolor = getdvarvector("scr_sunFogColor");
level.var_1675 = getdvarvector("scr_sunFogDir");
level.var_1676 = getdvarfloat("scr_sunFogBeginFadeAngle");
level.sunfogendfadeangle = getdvarfloat("scr_sunFogEndFadeAngle");
level.sunfogscale = getdvarfloat("scr_sunFogScale");
level.fogexphalfplane = func_1679(level.fogexphalfplane);
level.fognearplane = func_1679(level.fognearplane);
var_00 = func_1679(level.fogcolor[0]);
var_01 = func_1679(level.fogcolor[1]);
var_02 = func_1679(level.fogcolor[2]);
level.fogcolor = (var_00,var_01,var_02);
level.fogmaxopacity = func_1679(level.fogmaxopacity);
level.sunfogenabled = func_1679(level.sunfogenabled);
var_00 = func_1679(level.sunfogcolor[0]);
var_01 = func_1679(level.sunfogcolor[1]);
var_02 = func_1679(level.sunfogcolor[2]);
level.sunfogcolor = (var_00,var_01,var_02);
var_03 = func_1679(level.var_1675[0]);
var_04 = func_1679(level.var_1675[1]);
var_05 = func_1679(level.var_1675[2]);
level.var_1675 = (var_03,var_04,var_05);
level.var_1676 = func_1679(level.var_1676);
level.sunfogendfadeangle = func_1679(level.sunfogendfadeangle);
level.sunfogscale = func_1679(level.sunfogscale);
}
//Function Number: 8
func_1679(param_00)
{
var_01 = 0.001;
if(param_00 < var_01 && param_00 > var_01 * -1)
{
param_00 = 0;
}
return param_00;
}
//Function Number: 9
updatefogfromscript()
{
if(!getdvarint("scr_fog_disable"))
{
if(level.sunfogenabled)
{
setexpfog(level.fognearplane,level.fogexphalfplane,level.fogcolor[0],level.fogcolor[1],level.fogcolor[2],level.fogmaxopacity,0,level.sunfogcolor[0],level.sunfogcolor[1],level.sunfogcolor[2],level.var_1675,level.var_1676,level.sunfogendfadeangle,level.sunfogscale);
return;
}
setexpfog(level.fognearplane,level.fogexphalfplane,level.fogcolor[0],level.fogcolor[1],level.fogcolor[2],level.fogmaxopacity,0);
return;
}
setexpfog(1215752192,1215752193,0,0,0,0,0);
}
//Function Number: 10
artfxprintlnfog()
{
common_scripts\utility::fileprint_launcher("");
common_scripts\utility::fileprint_launcher("\t//* Fog section * ");
common_scripts\utility::fileprint_launcher("");
common_scripts\utility::fileprint_launcher("\tsetDevDvar( \"scr_fog_disable\", \" + getdvarint("scr_fog_disable") + "\" + " );");
common_scripts\utility::fileprint_launcher("");
if(!getdvarint("scr_fog_disable"))
{
if(level.sunfogenabled)
{
common_scripts\utility::fileprint_launcher("\tsetExpFog( " + level.fognearplane + ", " + level.fogexphalfplane + ", " + level.fogcolor[0] + ", " + level.fogcolor[1] + ", " + level.fogcolor[2] + ", " + level.fogmaxopacity + ", 0, " + level.sunfogcolor[0] + ", " + level.sunfogcolor[1] + ", " + level.sunfogcolor[2] + ", (" + level.var_1675[0] + ", " + level.var_1675[1] + ", " + level.var_1675[2] + "), " + level.var_1676 + ", " + level.sunfogendfadeangle + ", " + level.sunfogscale + " );");
return;
}
common_scripts\utility::fileprint_launcher("\tsetExpFog( " + level.fognearplane + ", " + level.fogexphalfplane + ", " + level.fogcolor[0] + ", " + level.fogcolor[1] + ", " + level.fogcolor[2] + ", " + level.fogmaxopacity + ", 0 );");
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,634 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: common_scripts\_createfxmenu.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 25
* Decompile Time: 400 ms
* Timestamp: 10/27/2023 2:29:19 AM
*******************************************************************/
//Function Number: 1
menu(param_00)
{
return level.create_fx_menu == param_00;
}
//Function Number: 2
setmenu(param_00)
{
level.create_fx_menu = param_00;
}
//Function Number: 3
create_fx_menu()
{
if(common_scripts\_createfx::button_is_clicked("escape","x"))
{
_exit_menu();
return;
}
if(menu("creation"))
{
if(common_scripts\_createfx::button_is_clicked("1"))
{
setmenu("create_oneshot");
draw_effects_list();
return;
}
if(common_scripts\_createfx::button_is_clicked("2"))
{
setmenu("create_loopfx");
draw_effects_list();
return;
}
if(common_scripts\_createfx::button_is_clicked("3"))
{
setmenu("create_loopsound");
var_00 = common_scripts\_createfx::createloopsound();
finish_creating_entity(var_00);
return;
}
if(common_scripts\_createfx::button_is_clicked("4"))
{
setmenu("create_exploder");
var_00 = common_scripts\_createfx::createnewexploder();
finish_creating_entity(var_00);
return;
}
if(common_scripts\_createfx::button_is_clicked("5"))
{
setmenu("create_interval_sound");
var_00 = common_scripts\_createfx::createintervalsound();
finish_creating_entity(var_00);
return;
}
return;
}
if(menu("create_oneshot") || menu("create_loopfx") || menu("change_fxid"))
{
if(common_scripts\_createfx::button_is_clicked("m"))
{
increment_list_offset();
draw_effects_list();
}
menu_fx_creation();
return;
}
if(menu("none"))
{
if(common_scripts\_createfx::button_is_clicked("m"))
{
increment_list_offset();
}
menu_change_selected_fx();
if(entities_are_selected())
{
var_01 = get_last_selected_entity();
if(!isdefined(level.last_displayed_ent) || var_01 != level.last_displayed_ent)
{
display_fx_info(var_01);
level.last_displayed_ent = var_01;
}
if(common_scripts\_createfx::button_is_clicked("a"))
{
common_scripts\_createfx::clear_settable_fx();
setmenu("add_options");
return;
}
return;
}
return;
}
if(menu("add_options"))
{
if(!entities_are_selected())
{
common_scripts\_createfx::clear_fx_hudelements();
setmenu("none");
return;
}
display_fx_add_options(get_last_selected_entity());
if(common_scripts\_createfx::button_is_clicked("m"))
{
increment_list_offset();
return;
}
return;
}
}
//Function Number: 4
_exit_menu()
{
common_scripts\_createfx::clear_fx_hudelements();
common_scripts\_createfx::clear_entity_selection();
common_scripts\_createfx::update_selected_entities();
setmenu("none");
}
//Function Number: 5
get_last_selected_entity()
{
return level.selected_fx_ents[level.selected_fx_ents.size - 1];
}
//Function Number: 6
menu_fx_creation()
{
var_00 = 0;
var_01 = undefined;
var_02 = common_scripts\_createfx::func_get_level_fx();
for(var_03 = level.effect_list_offset;var_03 < var_02.size;var_03++)
{
var_00 = var_00 + 1;
var_04 = var_00;
if(var_04 == 10)
{
var_04 = 0;
}
if(common_scripts\_createfx::button_is_clicked(var_04 + ""))
{
var_01 = var_02[var_03];
break;
}
if(var_00 > level.effect_list_offset_max)
{
break;
}
}
if(!isdefined(var_01))
{
return;
}
if(menu("change_fxid"))
{
apply_option_to_selected_fx(get_option("fxid"),var_01);
level.effect_list_offset = 0;
common_scripts\_createfx::clear_fx_hudelements();
setmenu("none");
return;
}
var_05 = undefined;
if(menu("create_loopfx"))
{
var_05 = common_scripts\utility::createloopeffect(var_01);
}
if(menu("create_oneshot"))
{
var_05 = common_scripts\utility::createoneshoteffect(var_01);
}
finish_creating_entity(var_05);
}
//Function Number: 7
finish_creating_entity(param_00)
{
param_00.v["angles"] = vectortoangles(param_00.v["origin"] + (0,0,100) - param_00.v["origin"]);
param_00 common_scripts\_createfx::post_entity_creation_function();
common_scripts\_createfx::clear_entity_selection();
common_scripts\_createfx::select_last_entity();
common_scripts\_createfx::move_selection_to_cursor();
common_scripts\_createfx::update_selected_entities();
setmenu("none");
}
//Function Number: 8
menu_init()
{
level.createfx_options = [];
addoption("string","fxid","The FX","nil","fx");
addoption("float","delay","Repeat rate/start delay",0.5,"fx");
addoption("float","fire_range","Fire damage range",0,"fx");
addoption("string","flag","Flag","nil","exploder");
addoption("string","firefx","2nd FX id","nil","exploder");
addoption("float","firefxdelay","2nd FX id repeat rate",0.5,"exploder");
addoption("float","firefxtimeout","2nd FX timeout",5,"exploder");
addoption("string","firefxsound","2nd FX soundalias","nil","exploder");
addoption("float","damage","Radius damage",150,"exploder");
addoption("float","damage_radius","Radius of radius damage",250,"exploder");
addoption("float","delay_min","Minimimum time between repeats",1,"soundfx_interval");
addoption("float","delay_max","Maximum time between repeats",2,"soundfx_interval");
addoption("int","repeat","Number of times to repeat",5,"exploder");
addoption("string","exploder","Exploder","1","exploder");
addoption("string","earthquake","Earthquake","nil","exploder");
if(!level.mp_createfx)
{
addoption("string","rumble","Rumble","nil","exploder");
}
addoption("string","ender","Level notify for ending 2nd FX","nil","exploder");
addoption("string","soundalias","Soundalias","nil","all");
addoption("string","loopsound","Loopsound","nil","exploder");
if(!level.mp_createfx)
{
addoption("int","stoppable","Can be stopped from script","1","all");
}
level.effect_list_offset = 0;
level.effect_list_offset_max = 10;
level.createfxmasks = [];
level.createfxmasks["all"] = [];
level.createfxmasks["all"]["exploder"] = 1;
level.createfxmasks["all"]["oneshotfx"] = 1;
level.createfxmasks["all"]["loopfx"] = 1;
level.createfxmasks["all"]["soundfx"] = 1;
level.createfxmasks["all"]["soundfx_interval"] = 1;
level.createfxmasks["fx"] = [];
level.createfxmasks["fx"]["exploder"] = 1;
level.createfxmasks["fx"]["oneshotfx"] = 1;
level.createfxmasks["fx"]["loopfx"] = 1;
level.createfxmasks["exploder"] = [];
level.createfxmasks["exploder"]["exploder"] = 1;
level.createfxmasks["loopfx"] = [];
level.createfxmasks["loopfx"]["loopfx"] = 1;
level.createfxmasks["oneshotfx"] = [];
level.createfxmasks["oneshotfx"]["oneshotfx"] = 1;
level.createfxmasks["soundfx"] = [];
level.createfxmasks["soundfx"]["soundalias"] = 1;
level.createfxmasks["soundfx_interval"] = [];
level.createfxmasks["soundfx_interval"]["soundfx_interval"] = 1;
}
//Function Number: 9
get_last_selected_ent()
{
return level.selected_fx_ents[level.selected_fx_ents.size - 1];
}
//Function Number: 10
entities_are_selected()
{
return level.selected_fx_ents.size > 0;
}
//Function Number: 11
menu_change_selected_fx()
{
if(!level.selected_fx_ents.size)
{
return;
}
var_00 = 0;
var_01 = 0;
var_02 = get_last_selected_ent();
for(var_03 = 0;var_03 < level.createfx_options.size;var_03++)
{
var_04 = level.createfx_options[var_03];
if(!isdefined(var_02.v[var_04["name"]]))
{
continue;
}
var_00++;
if(var_00 < level.effect_list_offset)
{
continue;
}
var_01++;
var_05 = var_01;
if(var_05 == 10)
{
var_05 = 0;
}
if(common_scripts\_createfx::button_is_clicked(var_05 + ""))
{
prepare_option_for_change(var_04,var_01);
break;
}
if(var_01 > level.effect_list_offset_max)
{
var_06 = 1;
break;
}
}
}
//Function Number: 12
prepare_option_for_change(param_00,param_01)
{
if(param_00["name"] == "fxid")
{
setmenu("change_fxid");
draw_effects_list();
return;
}
common_scripts\_createfx::createfx_centerprint("To change " + param_00["description"] + " on selected entities, type /fx newvalue");
level.createfx_inputlocked = 1;
set_option_index(param_00["name"]);
setdvar("fx","nil");
level.createfxhudelements[param_01 + 3][0].color = (1,1,0);
}
//Function Number: 13
menu_fx_option_set()
{
if(getdvar("fx") == "nil")
{
return;
}
var_00 = get_selected_option();
var_01 = undefined;
if(var_00["type"] == "string")
{
var_01 = getdvar("fx");
}
if(var_00["type"] == "int")
{
var_01 = getdvarint("fx");
}
if(var_00["type"] == "float")
{
var_01 = getdvarfloat("fx");
}
apply_option_to_selected_fx(var_00,var_01);
}
//Function Number: 14
apply_option_to_selected_fx(param_00,param_01)
{
for(var_02 = 0;var_02 < level.selected_fx_ents.size;var_02++)
{
var_03 = level.selected_fx_ents[var_02];
if(mask(param_00["mask"],var_03.v["type"]))
{
var_03.v[param_00["name"]] = param_01;
}
}
level.last_displayed_ent = undefined;
common_scripts\_createfx::update_selected_entities();
common_scripts\_createfx::clear_settable_fx();
}
//Function Number: 15
set_option_index(param_00)
{
for(var_01 = 0;var_01 < level.createfx_options.size;var_01++)
{
if(level.createfx_options[var_01]["name"] != param_00)
{
continue;
}
level.selected_fx_option_index = var_01;
return;
}
}
//Function Number: 16
get_selected_option()
{
return level.createfx_options[level.selected_fx_option_index];
}
//Function Number: 17
mask(param_00,param_01)
{
return isdefined(level.createfxmasks[param_00][param_01]);
}
//Function Number: 18
addoption(param_00,param_01,param_02,param_03,param_04)
{
var_05 = [];
level.createfx_options[level.createfx_options.size] = var_41;
}
//Function Number: 19
get_option(param_00)
{
for(var_01 = 0;var_01 < level.createfx_options.size;var_01++)
{
if(level.createfx_options[var_01]["name"] == param_00)
{
return level.createfx_options[var_01];
}
}
}
//Function Number: 20
display_fx_info(param_00)
{
if(!menu("none"))
{
return;
}
common_scripts\_createfx::clear_fx_hudelements();
common_scripts\_createfx::set_fx_hudelement("Name: " + param_00.v["fxid"]);
common_scripts\_createfx::set_fx_hudelement("Type: " + param_00.v["type"]);
common_scripts\_createfx::set_fx_hudelement("Origin: " + param_00.v["origin"]);
common_scripts\_createfx::set_fx_hudelement("Angles: " + param_00.v["angles"]);
if(entities_are_selected())
{
var_01 = 0;
var_02 = 0;
var_03 = 0;
for(var_04 = 0;var_04 < level.createfx_options.size;var_04++)
{
var_05 = level.createfx_options[var_04];
if(!isdefined(param_00.v[var_05["name"]]))
{
continue;
}
var_01++;
if(var_01 < level.effect_list_offset)
{
continue;
}
var_02++;
common_scripts\_createfx::set_fx_hudelement(var_02 + ". " + var_05["description"] + ": " + param_00.v[var_05["name"]]);
if(var_02 > level.effect_list_offset_max)
{
var_03 = 1;
break;
}
}
if(var_01 > level.effect_list_offset_max)
{
common_scripts\_createfx::set_fx_hudelement("(m) More >");
}
common_scripts\_createfx::set_fx_hudelement("(a) Add >");
common_scripts\_createfx::set_fx_hudelement("(x) Exit >");
return;
}
var_01 = 0;
var_03 = 0;
for(var_04 = 0;var_04 < level.createfx_options.size;var_04++)
{
var_05 = level.createfx_options[var_04];
if(!isdefined(param_00.v[var_05["name"]]))
{
continue;
}
var_01++;
common_scripts\_createfx::set_fx_hudelement(var_05["description"] + ": " + param_00.v[var_05["name"]]);
if(var_01 > level.createfx_hudelements)
{
break;
}
}
}
//Function Number: 21
display_fx_add_options(param_00)
{
common_scripts\_createfx::clear_fx_hudelements();
common_scripts\_createfx::set_fx_hudelement("Name: " + param_00.v["fxid"]);
common_scripts\_createfx::set_fx_hudelement("Type: " + param_00.v["type"]);
common_scripts\_createfx::set_fx_hudelement("Origin: " + param_00.v["origin"]);
common_scripts\_createfx::set_fx_hudelement("Angles: " + param_00.v["angles"]);
var_01 = 0;
var_02 = 0;
var_03 = 0;
if(level.effect_list_offset >= level.createfx_options.size)
{
level.effect_list_offset = 0;
}
for(var_04 = 0;var_04 < level.createfx_options.size;var_04++)
{
var_05 = level.createfx_options[var_04];
if(isdefined(param_00.v[var_05["name"]]))
{
continue;
}
if(!mask(var_05["mask"],param_00.v["type"]))
{
continue;
}
var_01++;
if(var_01 < level.effect_list_offset)
{
continue;
}
if(var_02 >= level.effect_list_offset_max)
{
continue;
}
var_02++;
var_06 = var_02;
if(var_06 == 10)
{
var_06 = 0;
}
if(common_scripts\_createfx::button_is_clicked(var_06 + ""))
{
add_option_to_selected_entities(var_05);
menunone();
level.last_displayed_ent = undefined;
return;
}
common_scripts\_createfx::set_fx_hudelement(var_06 + ". " + var_05["description"]);
}
if(var_01 > level.effect_list_offset_max)
{
common_scripts\_createfx::set_fx_hudelement("(m) More >");
}
common_scripts\_createfx::set_fx_hudelement("(x) Exit >");
}
//Function Number: 22
add_option_to_selected_entities(param_00)
{
var_01 = undefined;
for(var_02 = 0;var_02 < level.selected_fx_ents.size;var_02++)
{
var_03 = level.selected_fx_ents[var_02];
if(mask(param_00["mask"],var_03.v["type"]))
{
var_03.v[param_00["name"]] = param_00["default"];
}
}
}
//Function Number: 23
menunone()
{
level.effect_list_offset = 0;
common_scripts\_createfx::clear_fx_hudelements();
setmenu("none");
}
//Function Number: 24
draw_effects_list()
{
common_scripts\_createfx::clear_fx_hudelements();
common_scripts\_createfx::set_fx_hudelement("Pick an effect:");
var_00 = 0;
var_01 = 0;
var_02 = common_scripts\_createfx::func_get_level_fx();
if(level.effect_list_offset >= var_02.size)
{
level.effect_list_offset = 0;
}
for(var_03 = level.effect_list_offset;var_03 < var_02.size;var_03++)
{
var_00 = var_00 + 1;
common_scripts\_createfx::set_fx_hudelement(var_00 + ". " + var_02[var_03]);
if(var_00 >= level.effect_list_offset_max)
{
var_01 = 1;
break;
}
}
if(var_02.size > level.effect_list_offset_max)
{
common_scripts\_createfx::set_fx_hudelement("(m) More >");
}
}
//Function Number: 25
increment_list_offset()
{
level.effect_list_offset = level.effect_list_offset + level.effect_list_offset_max;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,595 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: common_scripts\_fx.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 28
* Decompile Time: 463 ms
* Timestamp: 10/27/2023 2:29:21 AM
*******************************************************************/
//Function Number: 1
initfx()
{
if(!isdefined(level.func))
{
level.func = [];
}
if(!isdefined(level.func["create_triggerfx"]))
{
level.func["create_triggerfx"] = ::create_triggerfx;
}
common_scripts\utility::create_lock("createfx_looper",20);
level.exploderfunction = ::common_scripts\utility::exploder_before_load;
waittillframeend;
waittillframeend;
level.exploderfunction = ::common_scripts\utility::exploder_after_load;
level.server_culled_sounds = 0;
if(getdvarint("serverCulledSounds") == 1)
{
level.server_culled_sounds = 1;
}
if(level.createfx_enabled)
{
level.server_culled_sounds = 0;
}
if(level.createfx_enabled)
{
level waittill("createfx_common_done");
}
if(isdefined(level.var_7FAE))
{
wait level.var_7FAE;
}
for(var_00 = 0;var_00 < level.createfxent.size;var_00++)
{
var_01 = level.createfxent[var_00];
var_01 common_scripts\_createfx::set_forward_and_up_vectors();
if(var_01.v["type"] == "loopfx")
{
var_01 thread loopfxthread();
}
if(var_01.v["type"] == "oneshotfx")
{
var_01 thread oneshotfxthread();
}
if(var_01.v["type"] == "soundfx")
{
var_01 thread create_loopsound();
}
if(var_01.v["type"] == "soundfx_interval")
{
var_01 thread create_interval_sound();
}
}
}
//Function Number: 2
print_org(param_00,param_01,param_02,param_03)
{
if(getdvar("debug") == "1")
{
}
}
//Function Number: 3
oneshotfx(param_00,param_01,param_02,param_03)
{
}
//Function Number: 4
exploderfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F,param_10,param_11)
{
if(1)
{
var_12 = common_scripts\utility::createexploder(param_01);
var_12.v["origin"] = param_02;
var_12.v["angles"] = (0,0,0);
if(isdefined(param_04))
{
var_12.v["angles"] = vectortoangles(param_04 - param_02);
}
var_12.v["delay"] = param_03;
var_12.v["exploder"] = param_00;
if(isdefined(level.createfxexploders))
{
var_13 = level.createfxexploders[var_12.v["exploder"]];
if(!isdefined(var_13))
{
var_13 = [];
}
level.createfxexploders[var_13.v["exploder"]] = var_41;
}
return;
}
var_14 = spawn("script_origin",(0,0,0));
var_14.origin = param_04;
var_14.angles = vectortoangles(param_06 - param_04);
var_14.script_exploder = param_02;
var_14.script_fxid = param_03;
var_14.script_delay = param_05;
var_14.script_firefx = param_07;
var_14.script_firefxdelay = param_08;
var_14.script_firefxsound = param_09;
var_14.script_sound = param_0A;
var_14.script_earthquake = param_0B;
var_14.script_damage = param_0C;
var_14.script_radius = param_11;
var_14.script_soundalias = param_0D;
var_14.script_firefxtimeout = var_12;
var_14.script_repeat = param_0E;
var_14.script_delay_min = param_0F;
var_14.script_delay_max = param_10;
var_14.script_exploder_group = var_13;
var_15 = anglestoforward(var_14.angles);
var_15 = var_15 * 150;
var_14.targetpos = param_04 + var_15;
if(!isdefined(level._script_exploders))
{
level._script_exploders = [];
}
level._script_exploders[level._script_exploders.size] = var_14;
common_scripts\_createfx::createfx_showorigin(param_03,param_04,param_05,param_06,"exploderfx",var_14,undefined,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F,param_10,param_11,var_12);
}
//Function Number: 5
loopfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
var_07 = common_scripts\utility::createloopeffect(param_00);
var_07.v["origin"] = param_01;
var_07.v["angles"] = (0,0,0);
if(isdefined(param_03))
{
var_07.v["angles"] = vectortoangles(param_03 - param_01);
}
var_07.v["delay"] = param_02;
}
//Function Number: 6
create_looper()
{
self.looper = playloopedfx(level._effect[self.v["fxid"]],self.v["delay"],self.v["origin"],0,self.v["forward"],self.v["up"]);
create_loopsound();
}
//Function Number: 7
create_loopsound()
{
self notify("stop_loop");
if(isdefined(self.v["soundalias"]) && self.v["soundalias"] != "nil")
{
if(isdefined(self.v["stopable"]) && self.v["stopable"])
{
if(isdefined(self.looper))
{
self.looper thread common_scripts\utility::loop_fx_sound(self.v["soundalias"],self.v["origin"],0,"death");
return;
}
thread common_scripts\utility::loop_fx_sound(self.v["soundalias"],self.v["origin"],0,"stop_loop");
return;
}
if(isdefined(self.looper))
{
self.looper thread common_scripts\utility::loop_fx_sound(self.v["soundalias"],self.v["origin"],0);
return;
}
var_00 = 0;
if(level.server_culled_sounds == 1 && isdefined(self.v["server_culled"]))
{
var_00 = self.v["server_culled"];
}
thread common_scripts\utility::loop_fx_sound(self.v["soundalias"],self.v["origin"],var_00);
return;
}
}
//Function Number: 8
create_interval_sound()
{
self notify("stop_loop");
if(!isdefined(self.v["soundalias"]))
{
return;
}
if(self.v["soundalias"] == "nil")
{
return;
}
var_00 = undefined;
var_01 = self;
if((isdefined(self.v["stopable"]) && self.v["stopable"]) || level.createfx_enabled)
{
if(isdefined(self.looper))
{
var_01 = self.looper;
var_00 = "death";
}
else
{
var_00 = "stop_loop";
}
}
var_01 thread common_scripts\utility::loop_fx_sound_interval(self.v["soundalias"],self.v["origin"],var_00,undefined,self.v["delay_min"],self.v["delay_max"]);
}
//Function Number: 9
loopfxthread()
{
common_scripts\utility::waitframe();
if(isdefined(self.fxstart))
{
level waittill("start fx" + self.fxstart);
}
for(;;)
{
create_looper();
if(isdefined(self.timeout))
{
thread loopfxstop(self.timeout);
}
if(isdefined(self.fxstop))
{
level waittill("stop fx" + self.fxstop);
}
else
{
return;
}
if(isdefined(self.looper))
{
self.looper delete();
}
if(isdefined(self.fxstart))
{
level waittill("start fx" + self.fxstart);
continue;
}
}
}
//Function Number: 10
loopfxchangeid(param_00)
{
self endon("death");
param_00 waittill("effect id changed",var_01);
}
//Function Number: 11
loopfxchangeorg(param_00)
{
self endon("death");
for(;;)
{
param_00 waittill("effect org changed",var_01);
self.origin = var_01;
}
}
//Function Number: 12
loopfxchangedelay(param_00)
{
self endon("death");
param_00 waittill("effect delay changed",var_01);
}
//Function Number: 13
loopfxdeletion(param_00)
{
self endon("death");
param_00 waittill("effect deleted");
self delete();
}
//Function Number: 14
loopfxstop(param_00)
{
self endon("death");
wait param_00;
self.looper delete();
}
//Function Number: 15
loopsound(param_00,param_01,param_02)
{
level thread loopsoundthread(param_00,param_01,param_02);
}
//Function Number: 16
loopsoundthread(param_00,param_01,param_02)
{
var_03 = spawn("script_origin",param_01);
var_03.origin = param_01;
var_03 playloopsound(param_00);
}
//Function Number: 17
gunfireloopfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
thread gunfireloopfxthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07);
}
//Function Number: 18
gunfireloopfxthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
level endon("stop all gunfireloopfx");
common_scripts\utility::waitframe();
if(param_07 < param_06)
{
var_08 = param_07;
param_07 = param_06;
param_06 = var_08;
}
var_09 = param_06;
var_0A = param_07 - param_06;
if(param_05 < param_04)
{
var_08 = param_05;
param_05 = param_04;
param_04 = var_08;
}
var_0B = param_04;
var_0C = param_05 - param_04;
if(param_03 < param_02)
{
var_08 = param_03;
param_03 = param_02;
param_02 = var_08;
}
var_0D = param_02;
var_0E = param_03 - param_02;
var_0F = spawnfx(level._effect[param_00],param_01);
if(!level.createfx_enabled)
{
var_0F willneverchange();
}
for(;;)
{
var_10 = var_0D + randomint(var_0E);
for(var_11 = 0;var_11 < var_10;var_11++)
{
triggerfx(var_0F);
wait var_0B + randomfloat(var_0C);
}
wait var_09 + randomfloat(var_0A);
}
}
//Function Number: 19
gunfireloopfxvec(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
thread gunfireloopfxvecthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
}
//Function Number: 20
gunfireloopfxvecthread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
level endon("stop all gunfireloopfx");
common_scripts\utility::waitframe();
if(param_08 < param_07)
{
var_09 = param_08;
param_08 = param_07;
param_07 = var_09;
}
var_0A = param_07;
var_0B = param_08 - param_07;
if(param_06 < param_05)
{
var_09 = param_06;
param_06 = param_05;
param_05 = var_09;
}
var_0C = param_05;
var_0D = param_06 - param_05;
if(param_04 < param_03)
{
var_09 = param_04;
param_04 = param_03;
param_03 = var_09;
}
var_0E = param_03;
var_0F = param_04 - param_03;
param_02 = vectornormalize(param_02 - param_01);
var_10 = spawnfx(level._effect[param_00],param_01,param_02);
if(!level.createfx_enabled)
{
var_10 willneverchange();
}
for(;;)
{
var_11 = var_0E + randomint(var_0F);
for(var_12 = 0;var_12 < int(var_11 / level.fxfireloopmod);var_12++)
{
triggerfx(var_10);
var_13 = var_0C + randomfloat(var_0D) * level.fxfireloopmod;
if(var_13 < 0.05)
{
var_13 = 0.05;
}
wait var_13;
}
wait var_0C + randomfloat(var_0D);
wait var_0A + randomfloat(var_0B);
}
}
//Function Number: 21
setfireloopmod(param_00)
{
level.fxfireloopmod = 1 / param_00;
}
//Function Number: 22
setup_fx()
{
if(!isdefined(self.script_fxid) || !isdefined(self.script_fxcommand) || !isdefined(self.script_delay))
{
return;
}
if(isdefined(self.model))
{
if(self.model == "toilet")
{
thread burnville_paratrooper_hack();
return;
}
}
var_00 = undefined;
if(isdefined(self.target))
{
var_01 = getent(self.target,"targetname");
if(isdefined(var_01))
{
var_00 = var_01.origin;
}
}
var_02 = undefined;
if(isdefined(self.script_fxstart))
{
var_02 = self.script_fxstart;
}
var_03 = undefined;
if(isdefined(self.script_fxstop))
{
var_03 = self.script_fxstop;
}
if(self.script_fxcommand == "OneShotfx")
{
oneshotfx(self.script_fxid,self.origin,self.script_delay,var_00);
}
if(self.script_fxcommand == "loopfx")
{
loopfx(self.script_fxid,self.origin,self.script_delay,var_00,var_02,var_03);
}
if(self.script_fxcommand == "loopsound")
{
loopsound(self.script_fxid,self.origin,self.script_delay);
}
self delete();
}
//Function Number: 23
burnville_paratrooper_hack()
{
var_00 = (0,0,self.angles[1]);
var_01 = level._effect[self.script_fxid];
var_02 = self.origin;
wait 1;
level thread burnville_paratrooper_hack_loop(var_00,var_02,var_01);
self delete();
}
//Function Number: 24
burnville_paratrooper_hack_loop(param_00,param_01,param_02)
{
for(;;)
{
playfx(param_02,param_01);
wait 30 + randomfloat(40);
}
}
//Function Number: 25
create_triggerfx()
{
if(!verify_effects_assignment(self.v["fxid"]))
{
return;
}
self.looper = spawnfx(level._effect[self.v["fxid"]],self.v["origin"],self.v["forward"],self.v["up"]);
triggerfx(self.looper,self.v["delay"]);
if(!level.createfx_enabled)
{
self.looper willneverchange();
}
create_loopsound();
}
//Function Number: 26
verify_effects_assignment(param_00)
{
if(isdefined(level._effect[param_00]))
{
return 1;
}
if(!isdefined(level._missing_fx))
{
level._missing_fx = [];
}
level._missing_fx[self.v["fxid"]] = param_00;
verify_effects_assignment_print(param_00);
return 0;
}
//Function Number: 27
verify_effects_assignment_print(param_00)
{
level notify("verify_effects_assignment_print");
level endon("verify_effects_assignment_print");
wait 0.05;
var_01 = getarraykeys(level._missing_fx);
foreach(var_03 in var_01)
{
}
}
//Function Number: 28
oneshotfxthread()
{
common_scripts\utility::waitframe();
if(self.v["delay"] > 0)
{
wait self.v["delay"];
}
[[ level.func["create_triggerfx"] ]]();
}

View File

@ -0,0 +1,290 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: common_scripts\_pipes.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 12
* Decompile Time: 179 ms
* Timestamp: 10/27/2023 2:29:09 AM
*******************************************************************/
//Function Number: 1
main()
{
level.var_18A1 = 25;
var_00 = getentarray("pipe_shootable","targetname");
if(!var_00.size)
{
return;
}
level.var_18A2 = spawnstruct();
level.var_18A2.num_pipe_fx = 0;
var_00 thread precachefx();
var_00 thread methodsinit();
waittillframeend;
common_scripts\utility::array_thread(var_00,::pipesetup);
}
//Function Number: 2
pipesetup()
{
self setcandamage(1);
self setcanradiusdamage(0);
self.var_18A5 = [];
var_00 = undefined;
if(isdefined(self.target))
{
var_00 = common_scripts\utility::getstruct(self.target,"targetname");
self.a = var_00.origin;
var_01 = anglestoforward(var_00.angles);
var_01 = var_01 * 128;
self.b = self.a + var_01;
}
else
{
var_01 = anglestoforward(self.angles);
var_02 = var_01 * 64;
self.a = self.origin + var_02;
var_02 = var_01 * -64;
self.b = self.origin + var_02;
}
thread pipe_wait_loop();
}
//Function Number: 3
pipe_wait_loop()
{
var_00 = (0,0,0);
var_01 = 0;
var_02 = 4;
for(;;)
{
self waittill("damage",var_03,var_04,var_05,var_00,var_06);
if(var_01)
{
if(randomint(100) <= 33)
{
continue;
}
}
var_01 = 1;
var_07 = pipe_logic(var_05,var_00,var_06,var_04);
if(var_07)
{
var_02--;
}
if(var_02 <= 0)
{
break;
}
}
self setcandamage(0);
}
//Function Number: 4
pipe_logic(param_00,param_01,param_02,param_03)
{
if(level.var_18A2.num_pipe_fx > 8)
{
return 0;
}
if(!isdefined(level.var_18A2._pipe_methods[param_02]))
{
param_01 = pipe_calc_nofx(param_01,param_02);
}
else
{
param_01 = self [[ level.var_18A2._pipe_methods[param_02] ]](param_01,param_02);
}
if(!isdefined(param_01))
{
return 0;
}
if(isdefined(param_03.classname) && param_03.classname == "worldspawn")
{
return 0;
}
foreach(var_05 in self.var_18A5)
{
if(distancesquared(param_01,var_05.origin) < 25)
{
return 0;
}
}
var_07 = vectorfromlinetopoint(self.a,self.b,param_01);
thread pipefx(param_01,var_07,param_03);
return 1;
}
//Function Number: 5
pipefx(param_00,param_01,param_02)
{
var_03 = level.var_18A2.fx_time[self.script_noteworthy];
var_04 = int(level.var_18A1 / var_03);
var_05 = level.var_18A2._sound[self.script_noteworthy + "_hit"];
var_06 = level.var_18A2._sound[self.script_noteworthy + "_loop"];
var_07 = level.var_18A2._sound[self.script_noteworthy + "_end"];
var_08 = spawn("script_origin",param_00);
var_08 hide();
var_08 playsound(var_05);
var_08 playloopsound(var_06);
self.var_18A5[self.var_18A5.size] = var_08;
level.var_18A2.num_pipe_fx++;
if(common_scripts\utility::issp() || self.script_noteworthy != "steam")
{
thread pipe_damage(param_00,param_01,param_02,var_08);
}
playfx(level.var_18A2._effect[self.script_noteworthy],param_00,param_01);
wait var_03;
var_04--;
while(level.var_18A2.num_pipe_fx <= 8 && var_04 > 0)
{
playfx(level.var_18A2._effect[self.script_noteworthy],param_00,param_01);
wait var_03;
var_04--;
}
var_08 playsound(var_07);
wait 0.5;
var_08 stoploopsound(var_06);
var_08 delete();
self.var_18A5 = common_scripts\utility::array_removeundefined(self.var_18A5);
level.var_18A2.num_pipe_fx--;
}
//Function Number: 6
pipe_damage(param_00,param_01,param_02,param_03)
{
if(!func_18AF())
{
return;
}
param_03 endon("death");
var_04 = param_03.origin + vectornormalize(param_01) * 40;
var_05 = level.var_18A2._dmg[self.script_noteworthy];
for(;;)
{
if(!isdefined(self.damageowner))
{
self radiusdamage(var_04,36,var_05,var_05 * 0.75,undefined,"MOD_TRIGGER_HURT");
}
else
{
self radiusdamage(var_04,36,var_05,var_05 * 0.75,param_02,"MOD_TRIGGER_HURT");
}
wait 0.4;
}
}
//Function Number: 7
func_18AF()
{
if(!common_scripts\utility::issp())
{
return 0;
}
if(!isdefined(level.var_18B0))
{
return 1;
}
return level.var_18B0;
}
//Function Number: 8
methodsinit()
{
level.var_18A2._pipe_methods = [];
level.var_18A2._pipe_methods["MOD_UNKNOWN"] = ::func_18B3;
level.var_18A2._pipe_methods["MOD_PISTOL_BULLET"] = ::pipe_calc_ballistic;
level.var_18A2._pipe_methods["MOD_RIFLE_BULLET"] = ::pipe_calc_ballistic;
level.var_18A2._pipe_methods["MOD_GRENADE"] = ::func_18B3;
level.var_18A2._pipe_methods["MOD_GRENADE_SPLASH"] = ::func_18B3;
level.var_18A2._pipe_methods["MOD_PROJECTILE"] = ::func_18B3;
level.var_18A2._pipe_methods["MOD_PROJECTILE_SPLASH"] = ::func_18B3;
level.var_18A2._pipe_methods["MOD_TRIGGER_HURT"] = ::func_18B3;
level.var_18A2._pipe_methods["MOD_EXPLOSIVE"] = ::func_18B3;
level.var_18A2._pipe_methods["MOD_EXPLOSIVE_BULLET"] = ::func_18B3;
}
//Function Number: 9
pipe_calc_ballistic(param_00,param_01)
{
return param_00;
}
//Function Number: 10
func_18B3(param_00,param_01)
{
var_02 = vectornormalize(vectorfromlinetopoint(self.a,self.b,param_00));
param_00 = pointonsegmentnearesttopoint(self.a,self.b,param_00);
return param_00 + var_02 * 4;
}
//Function Number: 11
pipe_calc_nofx(param_00,param_01)
{
return undefined;
}
//Function Number: 12
precachefx()
{
var_00 = 0;
var_01 = 0;
foreach(var_03 in self)
{
if(var_03.script_noteworthy == "water")
{
var_03.script_noteworthy = "steam";
}
if(var_03.script_noteworthy == "steam")
{
var_03 willneverchange();
var_00 = 1;
continue;
}
if(var_03.script_noteworthy == "fire")
{
var_03 willneverchange();
var_01 = 1;
continue;
}
}
if(var_00)
{
level.var_18A2._effect["steam"] = loadfx("impacts/pipe_steam");
level.var_18A2._sound["steam_hit"] = "mtl_steam_pipe_hit";
level.var_18A2._sound["steam_loop"] = "mtl_steam_pipe_hiss_loop";
level.var_18A2._sound["steam_end"] = "mtl_steam_pipe_hiss_loop_end";
level.var_18A2.fx_time["steam"] = 3;
level.var_18A2._dmg["steam"] = 5;
}
if(var_01)
{
level.var_18A2._effect["fire"] = loadfx("impacts/pipe_fire");
level.var_18A2._sound["fire_hit"] = "mtl_gas_pipe_hit";
level.var_18A2._sound["fire_loop"] = "mtl_gas_pipe_flame_loop";
level.var_18A2._sound["fire_end"] = "mtl_gas_pipe_flame_end";
level.var_18A2.fx_time["fire"] = 3;
level.var_18A2._dmg["fire"] = 5;
}
}

View File

@ -0,0 +1,72 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_areas.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 5
* Decompile Time: 113 ms
* Timestamp: 10/27/2023 2:27:34 AM
*******************************************************************/
//Function Number: 1
init()
{
level.softlandingtriggers = getentarray("trigger_multiple_softlanding","classname");
var_00 = getentarray("destructible_vehicle","targetname");
foreach(var_02 in level.softlandingtriggers)
{
if(var_02.script_type != "car")
{
continue;
}
foreach(var_04 in var_00)
{
if(distance(var_02.origin,var_04.origin) > 64)
{
continue;
}
var_02.destructible = var_04;
}
}
thread onplayerconnect();
}
//Function Number: 2
onplayerconnect()
{
for(;;)
{
level waittill("connected",var_00);
var_00.softlanding = undefined;
var_00 thread softlandingwaiter();
}
}
//Function Number: 3
func_2DC4(param_00)
{
self.softlanding = param_00;
}
//Function Number: 4
func_2DC5(param_00)
{
self.softlanding = undefined;
}
//Function Number: 5
softlandingwaiter()
{
self endon("disconnect");
for(;;)
{
self waittill("soft_landing",var_00,var_01);
if(!isdefined(var_00.destructible))
{
continue;
}
}
}

View File

@ -0,0 +1,29 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_art.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 4
* Decompile Time: 57 ms
* Timestamp: 10/27/2023 2:28:54 AM
*******************************************************************/
//Function Number: 1
main()
{
}
//Function Number: 2
func_1684()
{
}
//Function Number: 3
fovslidercheck()
{
}
//Function Number: 4
func_16B2()
{
}

View File

@ -0,0 +1,92 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_audio.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 10
* Decompile Time: 187 ms
* Timestamp: 10/27/2023 2:27:35 AM
*******************************************************************/
//Function Number: 1
func_2B8B()
{
if(!isdefined(level.audio))
{
level.audio = spawnstruct();
}
func_3351();
func_3356();
level.onplayerconnectaudioinit = ::onplayerconnectaudioinit;
}
//Function Number: 2
onplayerconnectaudioinit()
{
func_3355("default");
}
//Function Number: 3
func_3351()
{
func_3352("default","generic",0.15,0.9,2);
}
//Function Number: 4
func_3352(param_00,param_01,param_02,param_03,param_04)
{
var_05 = [];
is_roomtype_valid(param_01);
level.audio.reverb_settings[param_01] = var_41;
}
//Function Number: 5
is_roomtype_valid(param_00)
{
}
//Function Number: 6
func_3355(param_00)
{
if(!isdefined(level.audio.reverb_settings[param_00]))
{
var_01 = level.audio.reverb_settings["default"];
}
else
{
var_01 = level.audio.reverb_settings[var_01];
}
self setreverb("snd_enveffectsprio_level",var_01["roomtype"],var_01["drylevel"],var_01["wetlevel"],var_01["fadetime"]);
}
//Function Number: 7
func_3356()
{
level.audio.whizby_settings = [];
set_whizby_radius(15,30,50);
set_whizby_spread(150,250,350);
}
//Function Number: 8
set_whizby_radius(param_00,param_01,param_02)
{
level.audio.whizby_settings["radius"] = [param_00,param_01,param_02];
}
//Function Number: 9
set_whizby_spread(param_00,param_01,param_02)
{
level.audio.whizby_settings["spread"] = [param_00,param_01,param_02];
}
//Function Number: 10
func_335A()
{
var_00 = level.audio.whizby_settings;
var_01 = var_00["spread"];
var_02 = var_00["radius"];
self setwhizbyspreads(var_01[0],var_01[1],var_01[2]);
self setwhizbyradii(var_02[0],var_02[1],var_02[2]);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_createfx.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 4
* Decompile Time: 85 ms
* Timestamp: 10/27/2023 2:27:39 AM
*******************************************************************/
//Function Number: 1
createfx()
{
level.func_position_player = ::common_scripts\utility::void;
level.func_position_player_get = ::func_position_player_get;
level.func_loopfxthread = ::common_scripts\_fx::loopfxthread;
level.func_oneshotfxthread = ::common_scripts\_fx::oneshotfxthread;
level.func_create_loopsound = ::common_scripts\_fx::create_loopsound;
level.func_updatefx = ::common_scripts\_createfx::restart_fx_looper;
level.func_process_fx_rotater = ::common_scripts\_createfx::process_fx_rotater;
level.mp_createfx = 1;
level.callbackstartgametype = ::common_scripts\utility::void;
level.callbackplayerconnect = ::common_scripts\utility::void;
level.callbackplayerdisconnect = ::common_scripts\utility::void;
level.callbackplayerdamage = ::common_scripts\utility::void;
level.callbackplayerkilled = ::common_scripts\utility::void;
level.callbackcodeendgame = ::common_scripts\utility::void;
level.callbackplayerlaststand = ::common_scripts\utility::void;
level.callbackplayerconnect = ::callback_playerconnect;
level.callbackplayermigrated = ::common_scripts\utility::void;
thread common_scripts\_createfx::func_get_level_fx();
common_scripts\_createfx::createfx_common();
level waittill("eternity");
}
//Function Number: 2
func_position_player_get(param_00)
{
return level.player.origin;
}
//Function Number: 3
callback_playerconnect()
{
self waittill("begin");
if(!isdefined(level.player))
{
var_00 = getentarray("mp_global_intermission","classname");
self spawn(var_00[0].origin,var_00[0].angles);
maps\mp\gametypes\_playerlogic::func_2B67("playing","");
self.maxhealth = 10000000;
self.health = 10000000;
level.player = self;
thread common_scripts\_createfx::createfxlogic();
thread func_2B86();
return;
}
kick(self getentitynumber());
}
//Function Number: 4
func_2B86()
{
level.player openpopupmenu("painter_mp");
level.player closepopupmenu("painter_mp");
}

View File

@ -0,0 +1,653 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_crib.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 36
* Decompile Time: 573 ms
* Timestamp: 10/27/2023 2:28:58 AM
*******************************************************************/
//Function Number: 1
init()
{
precacheshellshock("frag_grenade_mp");
radial_button_definitions();
radial_init();
func_3384();
func_18B7();
}
//Function Number: 2
radial_button_definitions()
{
func_3368("main","player_view1_start","player_view1_end");
var_00 = func_336A("main","Primary Weapon","radial_weapons_primary",::func_337F);
var_01 = func_336A("main","Secondary Weapon","radial_weapons_secondary",::func_3380);
var_02 = func_336A("main","Gears","radial_gears",::action_gears);
var_03 = func_336A("main","Kill Streaks","radial_killstreaks",::func_3382);
var_04 = func_336A("main","Leaderboards","radial_leaderboards",::func_3383);
func_3368("gears","player_view2_start","player_view2_end");
func_3368("weapons_primary","player_view3_start","player_view3_end");
func_3368("weapons_secondary","player_view3_start","player_view3_end");
func_3368("killstreak","player_view4_start","player_view4_end");
func_3368("leaderboards","player_view5_start","player_view5_end");
}
//Function Number: 3
radial_init()
{
foreach(var_01 in level.radial_button_group)
{
func_3374(var_01);
for(var_02 = 0;var_02 < var_01.size;var_02++)
{
if(isdefined(var_01[var_02 + 1]))
{
var_03 = getmidangle(var_01[var_02].var_335E,var_01[var_02 + 1].var_335E);
var_01[var_02].end_angle = var_03;
var_01[var_02 + 1].var_3360 = var_03;
continue;
}
var_03 = getmidangle(var_01[var_02].var_335E,var_01[0].var_335E) + 180;
if(var_03 > 360)
{
var_03 = var_03 - 360;
}
var_01[var_02].end_angle = var_03;
var_01[0].var_3360 = var_03;
}
}
thread updateselectedbutton();
thread watchselectbuttonpress();
thread func_3373();
thread func_3361();
}
//Function Number: 4
func_3361()
{
level endon("game_ended");
level.var_3362 = 1;
for(;;)
{
if(!isdefined(level.observer))
{
wait 0.05;
continue;
}
var_00 = 1;
while(!level.observer buttonpressed("BUTTON_Y"))
{
wait 0.05;
}
level.observer playsound("mouse_click");
if(var_00)
{
level.var_3362 = level.var_3362 * -1;
var_00 = 0;
}
while(level.observer buttonpressed("BUTTON_Y"))
{
wait 0.05;
}
}
}
//Function Number: 5
func_18B7()
{
level thread onplayerconnect();
level thread func_3364();
}
//Function Number: 6
func_3364()
{
level waittill("game_ended");
setdvar("cg_draw2d",1);
}
//Function Number: 7
onplayerconnect()
{
level waittill("connected",var_00);
var_00 thread func_3365();
var_00 waittill("spawned_player");
wait 1;
var_00 takeallweapons();
setdvar("cg_draw2d",0);
if(!isdefined(var_00))
{
return;
}
else
{
level.observer = var_00;
}
var_00 thread func_3366();
zoom_to_radial_menu("main");
}
//Function Number: 8
func_3365()
{
self endon("disconnect");
var_00 = "autoassign";
while(!isdefined(self.pers["team"]))
{
wait 0.05;
}
self notify("menuresponse",game["menu_team"],var_00);
wait 0.5;
var_01 = getarraykeys(level.classmap);
var_02 = [];
for(var_03 = 0;var_03 < var_01.size;var_03++)
{
if(!issubstr(var_01[var_03],"custom"))
{
var_02[var_02.size] = var_01[var_03];
}
}
for(;;)
{
var_04 = var_02[0];
self notify("menuresponse","changeclass",var_04);
self waittill("spawned_player");
wait 0.1;
}
}
//Function Number: 9
func_3366()
{
level endon("game_ended");
self endon("disconnect");
for(;;)
{
var_00 = self getnormalizedmovement();
var_01 = vectortoangles(var_00);
level.rs_angle = int(var_01[1]);
wait 0.05;
}
}
//Function Number: 10
func_3368(param_00,param_01,param_02)
{
if(isdefined(level.radial_button_group) && level.radial_button_group.size)
{
}
var_03 = getent(param_02,"targetname");
var_04 = vectornormalize(anglestoforward(var_03.angles)) * 40;
level.radial_button_group[param_00] = [];
level.var_3369[param_00]["view_start"] = param_01;
level.var_3369[param_00]["view_pos"] = var_03.origin + var_04;
level.var_3369[param_00]["player_view_pos"] = var_03.origin;
level.var_3369[param_00]["view_angles"] = var_03.angles;
}
//Function Number: 11
func_336A(param_00,param_01,param_02,param_03)
{
var_04 = getent(param_02,"targetname");
var_05 = func_337A(param_00,var_04);
var_06 = spawnstruct();
var_06.pos = var_04.origin;
var_06.label = param_01;
var_06.font_size = 1;
var_06.font_color = (0.5,0.5,1);
var_06.var_335E = var_05;
var_06.action_func = param_03;
var_06.var_336E = 8;
level.radial_button_group[param_00][level.radial_button_group[param_00].size] = var_06;
return var_06;
}
//Function Number: 12
updateselectedbutton()
{
level endon("game_ended");
for(;;)
{
if(!isdefined(level.radial_button_current_group))
{
wait 0.05;
continue;
}
var_00 = level.var_3371;
foreach(var_02 in level.radial_button_group[level.radial_button_current_group])
{
if(func_337D(var_02.var_3360,var_02.end_angle))
{
level.var_3371 = var_02;
continue;
}
var_02.font_color = (0.5,0.5,1);
}
if(isdefined(level.var_3371))
{
level.var_3371.font_color = (1,1,0.5);
if(isdefined(var_00) && var_00 != level.var_3371)
{
level.observer playsound("mouse_over");
}
}
wait 0.05;
}
}
//Function Number: 13
watchselectbuttonpress()
{
level endon("game_ended");
for(;;)
{
if(!isdefined(level.observer))
{
wait 0.05;
continue;
}
var_00 = 1;
while(!level.observer buttonpressed("BUTTON_A"))
{
wait 0.05;
}
level.observer playsound("mouse_click");
if(isdefined(level.var_3371) && var_00)
{
level.var_3371 notify("select_button_pressed");
[[ level.var_3371.action_func ]]();
var_00 = 0;
}
while(level.observer buttonpressed("BUTTON_A"))
{
wait 0.05;
}
}
}
//Function Number: 14
func_3373()
{
level endon("game_ended");
for(;;)
{
if(!isdefined(level.observer))
{
wait 0.05;
continue;
}
var_00 = 1;
while(!level.observer buttonpressed("BUTTON_X"))
{
wait 0.05;
}
level.observer playsound("mouse_click");
if(var_00)
{
action_back();
var_00 = 0;
}
while(level.observer buttonpressed("BUTTON_X"))
{
wait 0.05;
}
}
}
//Function Number: 15
func_3374(param_00)
{
for(var_01 = 0;var_01 < param_00.size - 1;var_01++)
{
for(var_02 = 0;var_02 < param_00.size - 1 - var_01;var_02++)
{
if(param_00[var_02 + 1].var_335E < param_00[var_02].var_335E)
{
func_3375(param_00[var_02],param_00[var_02 + 1]);
}
}
}
}
//Function Number: 16
func_3375(param_00,param_01)
{
var_02 = param_00.pos;
var_03 = param_00.label;
var_04 = param_00.var_335E;
var_05 = param_00.action_func;
var_06 = param_00.var_336E;
param_00.pos = param_01.pos;
param_00.label = param_01.label;
param_00.var_335E = param_01.var_335E;
param_00.action_func = param_01.action_func;
param_00.var_336E = param_01.var_336E;
param_01.pos = var_02;
param_01.label = var_03;
param_01.var_335E = var_04;
param_01.action_func = var_05;
param_01.var_336E = var_06;
}
//Function Number: 17
draw_radial_buttons(param_00)
{
foreach(var_02 in level.radial_button_group[param_00])
{
var_02 thread draw_radial_button(param_00);
}
}
//Function Number: 18
draw_radial_button(param_00)
{
level endon("game_ended");
self endon("remove_button");
var_01 = level.var_3369[param_00]["view_pos"];
var_02 = var_01 + func_337B(self.var_335E,4);
for(;;)
{
var_03 = (1,0,0);
if(func_337D(self.var_3360,self.end_angle))
{
var_03 = (1,1,0);
}
if(isdefined(level.var_3362) && level.var_3362 > 0)
{
var_04 = var_01 + func_337B(level.rs_angle,2);
}
wait 0.05;
}
}
//Function Number: 19
zoom_to_radial_menu(param_00,param_01)
{
level.var_3371 = undefined;
if(isdefined(level.radial_button_current_group) && level.radial_button_current_group != "")
{
level.var_3379 = level.radial_button_current_group;
}
else
{
level.var_3379 = "main";
level.radial_button_current_group = "main";
}
foreach(var_03 in level.radial_button_group[level.var_3379])
{
var_03 notify("remove_button");
}
if(isdefined(param_01) && param_01)
{
level.observer func_3389(level.var_3369[level.var_3379]["view_start"],param_00);
}
else
{
level.observer go_path_by_targetname(level.var_3369[param_00]["view_start"]);
}
level thread draw_radial_buttons(param_00);
level.radial_button_current_group = param_00;
}
//Function Number: 20
func_337A(param_00,param_01)
{
var_02 = level.var_3369[param_00]["view_angles"];
var_03 = level.var_3369[param_00]["view_pos"];
var_03 = var_03 + vectornormalize(anglestoforward(var_02)) * 40;
var_04 = anglestoforward(var_02);
var_05 = vectornormalize(anglestoup(var_02));
var_06 = param_01.angles;
var_07 = param_01.origin;
var_08 = vectornormalize(vectorfromlinetopoint(var_03,var_03 + var_04,var_07));
var_09 = acos(vectordot(var_08,var_05));
if(vectordot(anglestoright(var_02),var_08) < 0)
{
var_09 = 360 - var_09;
}
return var_09;
}
//Function Number: 21
func_337B(param_00,param_01)
{
var_02 = (270 - param_00,0,0);
var_03 = anglestoforward(var_02);
var_04 = vectornormalize(var_03);
var_05 = var_04 * param_01;
return var_05;
}
//Function Number: 22
getmidangle(param_00,param_01)
{
var_02 = param_00 + param_01 + 720 / 2 - 360;
return var_02;
}
//Function Number: 23
func_337D(param_00,param_01)
{
var_02 = level.rs_angle > param_00 && level.rs_angle < 360;
var_03 = level.rs_angle > 0 && level.rs_angle < param_01;
if(param_00 > param_01)
{
var_04 = var_02 || var_03;
}
else
{
var_04 = level.rs_angle > param_01 && level.rs_angle < var_02;
}
return var_04;
}
//Function Number: 24
action_back()
{
if(isdefined(level.radial_button_current_group) && level.radial_button_current_group != "main")
{
zoom_to_radial_menu("main",1);
return;
}
}
//Function Number: 25
func_337F()
{
iprintlnbold("action_weapons_primary");
zoom_to_radial_menu("weapons_primary");
}
//Function Number: 26
func_3380()
{
iprintlnbold("action_weapons_secondary");
zoom_to_radial_menu("weapons_secondary");
}
//Function Number: 27
action_gears()
{
iprintlnbold("action_gears");
zoom_to_radial_menu("gears");
}
//Function Number: 28
func_3382()
{
iprintlnbold("action_killstreak");
zoom_to_radial_menu("killstreak");
}
//Function Number: 29
func_3383()
{
iprintlnbold("action_leaderboards");
zoom_to_radial_menu("leaderboards");
}
//Function Number: 30
func_3384()
{
level.view_paths = [];
build_path_by_targetname("player_view1_start");
build_path_by_targetname("player_view2_start");
build_path_by_targetname("player_view3_start");
build_path_by_targetname("player_view4_start");
build_path_by_targetname("player_view5_start");
}
//Function Number: 31
build_path_by_targetname(param_00)
{
level.view_paths[param_00] = [];
var_01 = getent(param_00,"targetname");
level.view_paths[param_00][level.view_paths[param_00].size] = var_01;
while(isdefined(var_01) && isdefined(var_01.target))
{
var_02 = getent(var_01.target,"targetname");
level.view_paths[param_00][level.view_paths[param_00].size] = var_02;
var_01 = var_02;
}
}
//Function Number: 32
go_path_by_targetname(param_00)
{
if(!isdefined(level.dummy_mover))
{
var_01 = level.view_paths[param_00][0];
level.dummy_mover = spawn("script_model",var_01.origin);
level.dummy_mover.angles = var_01.angles;
self setorigin(level.dummy_mover.origin - (0,0,65));
self linkto(level.dummy_mover);
wait 0.05;
self setplayerangles(level.dummy_mover.angles);
thread func_338C();
}
var_02 = 1;
var_03 = abs(distance(level.dummy_mover.origin,level.view_paths[param_00][level.view_paths[param_00].size - 1].origin));
var_02 = var_02 * var_03 / 1200;
var_02 = max(var_02,0.1);
var_04 = var_02;
if(!1)
{
var_04 = var_04 * var_02 * level.view_paths[param_00].size + 1;
}
thread func_338B(3,var_04);
foreach(var_07, var_06 in level.view_paths[param_00])
{
if(1)
{
if(var_07 != level.view_paths[param_00].size - 1)
{
continue;
}
}
level.dummy_mover moveto(var_06.origin,var_02,var_02 * 0.5,0);
level.dummy_mover rotateto(var_06.angles,var_02,var_02 * 0.5,0);
wait var_02;
}
}
//Function Number: 33
func_3389(param_00,param_01)
{
var_02 = 1;
var_03 = abs(distance(level.dummy_mover.origin,level.var_3369[param_01]["player_view_pos"]));
var_02 = var_02 * var_03 / 1200;
var_02 = max(var_02,0.1);
var_04 = var_02;
if(!1)
{
var_04 = var_04 * var_02 * level.view_paths[param_00].size + 1;
}
thread func_338B(3,var_04);
if(!1)
{
for(var_05 = level.view_paths[param_00].size - 1;var_05 >= 0;var_05--)
{
var_06 = level.view_paths[param_00][var_05];
level.dummy_mover moveto(var_06.origin,var_02);
level.dummy_mover rotateto(var_06.angles,var_02);
wait var_02;
}
}
thread func_338B(3,var_02);
var_07 = level.var_3369[param_01]["player_view_pos"];
var_08 = level.var_3369[param_01]["view_angles"];
level.dummy_mover moveto(var_07,var_02,var_02 * 0.5,0);
level.dummy_mover rotateto(var_08,var_02,var_02 * 0.5,0);
wait var_02;
}
//Function Number: 34
func_338A(param_00)
{
self setblurforplayer(20,param_00 + 0.2 / 2);
self setblurforplayer(0,param_00 + 0.2 / 2);
self shellshock("frag_grenade_mp",param_00 + 0.2);
}
//Function Number: 35
func_338B(param_00,param_01)
{
var_02 = int(param_01 / 0.05);
for(var_03 = 0;var_03 < var_02;var_03++)
{
var_04 = var_03 / var_02;
var_05 = sin(180 * var_04);
var_06 = param_00 * var_05;
setdvar("r_blur",var_06);
wait 0.05;
}
setdvar("r_blur",0);
}
//Function Number: 36
func_338C()
{
level endon("game_ended");
self endon("disconnect");
level.dummy_mover endon("remove_dummy");
for(;;)
{
self setplayerangles(level.dummy_mover.angles);
wait 0.05;
}
}

View File

@ -0,0 +1,140 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_defcon.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 4
* Decompile Time: 78 ms
* Timestamp: 10/27/2023 2:27:40 AM
*******************************************************************/
//Function Number: 1
init()
{
if(!isdefined(level.defconmode) || level.defconmode == 0)
{
return;
}
if(!isdefined(game["defcon"]))
{
game["defcon"] = 4;
}
makedvarserverinfo("scr_defcon",game["defcon"]);
level.defconstreakadd[5] = 0;
level.defconstreakadd[4] = 0;
level.defconstreakadd[3] = -1;
level.defconstreakadd[2] = -1;
level.defconstreakadd[1] = -1;
level.defconpointmod[5] = 1;
level.defconpointmod[4] = 1;
level.defconpointmod[3] = 1;
level.defconpointmod[2] = 1;
level.defconpointmod[1] = 2;
updatedefcon(game["defcon"]);
thread defconkillstreakthread();
}
//Function Number: 2
defconkillstreakwait(param_00)
{
for(;;)
{
level waittill("player_got_killstreak_" + param_00,var_01);
level notify("defcon_killstreak",param_00,var_01);
}
}
//Function Number: 3
defconkillstreakthread()
{
level endon("game_ended");
var_00 = 10;
level thread defconkillstreakwait(var_00);
level thread defconkillstreakwait(var_00 - 1);
level thread defconkillstreakwait(var_00 - 2);
level thread defconkillstreakwait(var_00 * 2);
level thread defconkillstreakwait(var_00 * 2 - 1);
level thread defconkillstreakwait(var_00 * 2 - 2);
level thread defconkillstreakwait(var_00 * 3);
level thread defconkillstreakwait(var_00 * 3 - 1);
level thread defconkillstreakwait(var_00 * 3 - 2);
for(;;)
{
level waittill("defcon_killstreak",var_01,var_02);
if(game["defcon"] <= 1)
{
continue;
}
if(var_01 % var_00 == var_00 - 2)
{
foreach(var_04 in level.players)
{
if(!isalive(var_04))
{
continue;
}
var_04 thread maps\mp\gametypes\_hud_message::playercardsplashnotify("two_from_defcon",var_02);
}
continue;
}
if(var_01 % var_00 == var_00 - 1)
{
foreach(var_04 in level.players)
{
if(!isalive(var_04))
{
continue;
}
var_04 thread maps\mp\gametypes\_hud_message::playercardsplashnotify("one_from_defcon",var_02);
}
continue;
}
updatedefcon(game["defcon"] - 1,var_02,var_01);
}
}
//Function Number: 4
updatedefcon(param_00,param_01,param_02)
{
param_00 = int(param_00);
var_03 = game["defcon"];
game["defcon"] = param_00;
level.objectivepointsmod = level.defconpointmod[param_00];
setdvar("scr_defcon",game["defcon"]);
if(isdefined(param_01))
{
param_01 notify("changed_defcon");
}
if(param_00 == var_03)
{
return;
}
if(game["defcon"] == 3 && isdefined(param_01))
{
param_01 maps\mp\killstreaks\_killstreaks::givekillstreak("airdrop_mega");
param_01 thread maps\mp\gametypes\_hud_message::func_2892("caused_defcon",param_02);
}
foreach(var_05 in level.players)
{
if(isalive(var_05))
{
var_05 thread maps\mp\gametypes\_hud_message::defconsplashnotify(game["defcon"],param_00 < var_03);
if(isdefined(param_01))
{
var_05 thread maps\mp\gametypes\_hud_message::playercardsplashnotify("changed_defcon",param_01);
}
}
}
}

View File

@ -0,0 +1,142 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_destructables.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 7
* Decompile Time: 138 ms
* Timestamp: 10/27/2023 2:27:41 AM
*******************************************************************/
//Function Number: 1
init()
{
var_00 = getentarray("destructable","targetname");
if(getdvar("scr_destructables") == "0")
{
for(var_01 = 0;var_01 < var_00.size;var_01++)
{
var_00[var_01] delete();
}
return;
}
for(var_01 = 0;var_01 < var_00.size;var_01++)
{
var_00[var_01] thread destructable_think();
}
}
//Function Number: 2
destructable_think()
{
var_00 = 40;
var_01 = 0;
if(isdefined(self.script_accumulate))
{
var_00 = self.script_accumulate;
}
if(isdefined(self.script_threshold))
{
var_01 = self.script_threshold;
}
if(isdefined(self.script_destructable_area))
{
var_02 = strtok(self.script_destructable_area," ");
for(var_03 = 0;var_03 < var_02.size;var_03++)
{
blockarea(var_02[var_03]);
}
}
if(isdefined(self.script_fxid))
{
self.fx = loadfx(self.script_fxid);
}
var_04 = 0;
self setcandamage(1);
for(;;)
{
self waittill("damage",var_05,var_06);
if(var_05 >= var_01)
{
var_04 = var_04 + var_05;
if(var_04 >= var_00)
{
thread func_272A();
return;
}
}
}
}
//Function Number: 3
func_272A()
{
var_00 = self;
if(isdefined(self.script_destructable_area))
{
var_01 = strtok(self.script_destructable_area," ");
for(var_02 = 0;var_02 < var_01.size;var_02++)
{
func_272E(var_01[var_02]);
}
}
if(isdefined(var_00.fx))
{
playfx(var_00.fx,var_00.origin + (0,0,6));
}
var_00 delete();
}
//Function Number: 4
blockarea(param_00)
{
var_01 = getentarray("mp_tdm_spawn","classname");
blockentsinarea(var_01,param_00);
var_01 = getentarray("mp_dm_spawn","classname");
blockentsinarea(var_01,param_00);
}
//Function Number: 5
blockentsinarea(param_00,param_01)
{
for(var_02 = 0;var_02 < param_00.size;var_02++)
{
if(!isdefined(param_00[var_02].script_destructable_area) || param_00[var_02].script_destructable_area != param_01)
{
continue;
}
param_00[var_02].blockedoff = 1;
}
}
//Function Number: 6
func_272E(param_00)
{
var_01 = getentarray("mp_tdm_spawn","classname");
unblockentsinarea(var_01,param_00);
var_01 = getentarray("mp_dm_spawn","classname");
unblockentsinarea(var_01,param_00);
}
//Function Number: 7
unblockentsinarea(param_00,param_01)
{
for(var_02 = 0;var_02 < param_00.size;var_02++)
{
if(!isdefined(param_00[var_02].script_destructable_area) || param_00[var_02].script_destructable_area != param_01)
{
continue;
}
param_00[var_02].blockedoff = 0;
}
}

View File

@ -0,0 +1,167 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_empgrenade.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 9
* Decompile Time: 159 ms
* Timestamp: 10/27/2023 2:28:53 AM
*******************************************************************/
//Function Number: 1
init()
{
precacheshellshock("flashbang_mp");
thread onplayerconnect();
}
//Function Number: 2
onplayerconnect()
{
for(;;)
{
level waittill("connected",var_00);
var_00 thread onplayerspawned();
}
}
//Function Number: 3
onplayerspawned()
{
self endon("disconnect");
for(;;)
{
self waittill("spawned_player");
thread func_27AD();
}
}
//Function Number: 4
func_27AD()
{
self endon("death");
self endon("disconnect");
self endon("faux_spawn");
self.empendtime = 0;
for(;;)
{
self waittill("emp_grenaded",var_00);
if(!isalive(self))
{
continue;
}
if(isdefined(self.usingremote))
{
continue;
}
if(maps\mp\_utility::func_27AF("specialty_empimmune"))
{
continue;
}
var_01 = 1;
var_02 = 0;
if(level.teambased && isdefined(var_00) && isdefined(var_00.pers["team"]) && var_00.pers["team"] == self.pers["team"] && var_00 != self)
{
if(level.friendlyfire == 0)
{
continue;
}
else if(level.friendlyfire == 1)
{
var_02 = 0;
var_01 = 1;
}
else if(level.friendlyfire == 2)
{
var_01 = 0;
var_02 = 1;
}
else if(level.friendlyfire == 3)
{
var_02 = 1;
var_01 = 1;
}
}
else if(isdefined(var_00))
{
var_00 notify("emp_hit");
if(var_00 != self)
{
var_00 maps\mp\gametypes\_missions::processchallenge("ch_onthepulse");
}
}
if(var_01 && isdefined(self))
{
thread func_27B0();
}
if(var_02 && isdefined(var_00))
{
var_00 thread func_27B0();
}
}
}
//Function Number: 5
func_27B0()
{
self notify("applyEmp");
self endon("applyEmp");
self endon("death");
wait 0.05;
self.var_27B1 = 10;
self.empgrenaded = 1;
self shellshock("flashbang_mp",1);
self.empendtime = gettime() + self.var_27B1 * 1000;
thread func_27B7(0.75);
self setempjammed(1);
thread func_27B3();
wait self.var_27B1;
self notify("empGrenadeTimedOut");
checktoturnoffemp();
}
//Function Number: 6
func_27B3()
{
self notify("empGrenadeDeathWaiter");
self endon("empGrenadeDeathWaiter");
self endon("empGrenadeTimedOut");
self waittill("death");
checktoturnoffemp();
}
//Function Number: 7
checktoturnoffemp()
{
self.empgrenaded = 0;
if((level.teambased && level.teamemped[self.team] || level.teamnukeemped[self.team]) || !level.teambased && isdefined(level.empplayer) && level.empplayer != self || !level.teambased && isdefined(level.nukeinfo.player) && level.nukeinfo.player != self)
{
return;
}
self setempjammed(0);
}
//Function Number: 8
func_27B7(param_00)
{
self endon("emp_rumble_loop");
self notify("emp_rumble_loop");
var_01 = gettime() + param_00 * 1000;
while(gettime() < var_01)
{
self playrumbleonentity("damage_heavy");
wait 0.05;
}
}
//Function Number: 9
func_27B8()
{
return isdefined(self.empendtime) && gettime() < self.empendtime;
}

View File

@ -0,0 +1,358 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_entityheadicons.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 10
* Decompile Time: 183 ms
* Timestamp: 10/27/2023 2:27:41 AM
*******************************************************************/
//Function Number: 1
init()
{
if(isdefined(level.initedentityheadicons))
{
return;
}
level.initedentityheadicons = 1;
game["entity_headicon_allies"] = maps\mp\gametypes\_teams::func_2770("allies");
game["entity_headicon_axis"] = maps\mp\gametypes\_teams::func_2770("axis");
precacheshader(game["entity_headicon_allies"]);
precacheshader(game["entity_headicon_axis"]);
if(!level.teambased)
{
}
}
//Function Number: 2
func_277C(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
{
if(!isdefined(self.entityheadicons))
{
self.entityheadicons = [];
}
if(!isdefined(param_05))
{
param_05 = 1;
}
if(!isdefined(param_06))
{
param_06 = 0.05;
}
if(!isdefined(param_07))
{
param_07 = 1;
}
if(!isdefined(param_08))
{
param_08 = 1;
}
if(!isdefined(param_09))
{
param_09 = 0;
}
if(!isdefined(param_0A))
{
param_0A = 1;
}
if(!isplayer(param_00) && param_00 == "none")
{
foreach(var_0D, var_0C in self.entityheadicons)
{
if(isdefined(var_0C))
{
var_0C destroy();
}
self.entityheadicons[var_0D] = undefined;
}
return;
}
if(isplayer(param_03))
{
if(isdefined(self.entityheadicons[param_03.guid]))
{
self.entityheadicons[param_03.guid] destroy();
self.entityheadicons[param_03.guid] = undefined;
}
if(param_04 == "")
{
return;
}
if(isdefined(self.entityheadicons[param_03.team]))
{
self.entityheadicons[param_03.team] destroy();
self.entityheadicons[param_03.team] = undefined;
}
var_0C = newclienthudelem(param_03);
self.entityheadicons[param_02.guid] = var_0D;
}
else
{
if(isdefined(self.entityheadicons[param_03]))
{
self.entityheadicons[param_03] destroy();
self.entityheadicons[param_03] = undefined;
}
if(param_04 == "")
{
return;
}
foreach(var_0E in self.entityheadicons)
{
if(var_10 == "axis" || var_10 == "allies")
{
continue;
}
var_0F = maps\mp\_utility::getplayerforguid(var_10);
if(var_0F.team == param_01)
{
self.entityheadicons[var_10] destroy();
self.entityheadicons[var_10] = undefined;
}
}
var_0C = newteamhudelem(param_01);
self.entityheadicons[param_01] = var_0C;
}
if(!isdefined(param_04) || !isdefined(param_05))
{
param_04 = 10;
param_05 = 10;
}
var_0C.archived = param_06;
var_0C.x = self.origin[0] + param_03[0];
var_0C.y = self.origin[1] + param_03[1];
var_0C.z = self.origin[2] + param_03[2];
var_0C.alpha = 0.85;
var_0C setshader(param_02,param_04,param_05);
var_0C setwaypoint(param_08,param_09,param_0A,var_0B);
var_0C thread func_2781(self,param_03,param_07);
thread func_2780();
if(isplayer(param_01))
{
var_0C thread func_277F(param_01);
}
if(isplayer(self))
{
var_0C thread func_277F(self);
}
return var_0C;
}
//Function Number: 3
func_277F(param_00)
{
self endon("death");
param_00 waittill("disconnect");
self destroy();
}
//Function Number: 4
func_2780()
{
self notify("destroyIconsOnDeath");
self endon("destroyIconsOnDeath");
self waittill("death");
foreach(var_01 in self.entityheadicons)
{
if(!isdefined(var_01))
{
continue;
}
var_01 destroy();
}
}
//Function Number: 5
func_2781(param_00,param_01,param_02)
{
self endon("death");
param_00 endon("death");
param_00 endon("disconnect");
var_03 = param_00.origin;
for(;;)
{
if(!isdefined(param_00))
{
return;
}
if(var_03 != param_00.origin)
{
var_03 = param_00.origin;
self.x = var_03[0] + param_01[0];
self.y = var_03[1] + param_01[1];
self.z = var_03[2] + param_01[2];
}
if(param_02 > 0.05)
{
self.alpha = 0.85;
self fadeovertime(param_02);
self.alpha = 0;
}
wait param_02;
}
}
//Function Number: 6
setteamheadicon(param_00,param_01)
{
if(!level.teambased)
{
return;
}
if(!isdefined(self.entityheadiconteam))
{
self.entityheadiconteam = "none";
self.entityheadicon = undefined;
}
var_02 = game["entity_headicon_" + param_00];
self.entityheadiconteam = param_00;
if(isdefined(param_01))
{
self.entityheadiconoffset = param_01;
}
else
{
self.entityheadiconoffset = (0,0,0);
}
self notify("kill_entity_headicon_thread");
if(param_00 == "none")
{
if(isdefined(self.entityheadicon))
{
self.entityheadicon destroy();
}
return;
}
var_03 = newteamhudelem(param_00);
var_03.archived = 1;
var_03.x = self.origin[0] + self.entityheadiconoffset[0];
var_03.y = self.origin[1] + self.entityheadiconoffset[1];
var_03.z = self.origin[2] + self.entityheadiconoffset[2];
var_03.alpha = 0.8;
var_03 setshader(var_02,10,10);
var_03 setwaypoint(0,0,0,1);
self.entityheadicon = var_03;
thread keepiconpositioned();
thread destroyheadiconsondeath();
}
//Function Number: 7
setplayerheadicon(param_00,param_01)
{
if(level.teambased)
{
return;
}
if(!isdefined(self.entityheadiconteam))
{
self.entityheadiconteam = "none";
self.entityheadicon = undefined;
}
self notify("kill_entity_headicon_thread");
if(!isdefined(param_00))
{
if(isdefined(self.entityheadicon))
{
self.entityheadicon destroy();
}
return;
}
var_02 = param_00.team;
self.entityheadiconteam = var_02;
if(isdefined(param_01))
{
self.entityheadiconoffset = param_01;
}
else
{
self.entityheadiconoffset = (0,0,0);
}
var_03 = game["entity_headicon_" + var_02];
var_04 = newclienthudelem(param_00);
var_04.archived = 1;
var_04.x = self.origin[0] + self.entityheadiconoffset[0];
var_04.y = self.origin[1] + self.entityheadiconoffset[1];
var_04.z = self.origin[2] + self.entityheadiconoffset[2];
var_04.alpha = 0.8;
var_04 setshader(var_03,10,10);
var_04 setwaypoint(0,0,0,1);
self.entityheadicon = var_04;
thread keepiconpositioned();
thread destroyheadiconsondeath();
}
//Function Number: 8
keepiconpositioned()
{
self endon("kill_entity_headicon_thread");
self endon("death");
var_00 = self.origin;
for(;;)
{
if(var_00 != self.origin)
{
func_2787();
var_00 = self.origin;
}
wait 0.05;
}
}
//Function Number: 9
destroyheadiconsondeath()
{
self endon("kill_entity_headicon_thread");
self waittill("death");
if(!isdefined(self.entityheadicon))
{
return;
}
self.entityheadicon destroy();
}
//Function Number: 10
func_2787()
{
self.entityheadicon.x = self.origin[0] + self.entityheadiconoffset[0];
self.entityheadicon.y = self.origin[1] + self.entityheadiconoffset[1];
self.entityheadicon.z = self.origin[2] + self.entityheadiconoffset[2];
}

View File

@ -0,0 +1,832 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_events.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 31
* Decompile Time: 556 ms
* Timestamp: 10/27/2023 2:27:44 AM
*******************************************************************/
//Function Number: 1
init()
{
maps\mp\gametypes\_rank::registerscoreinfo("headshot",50);
maps\mp\gametypes\_rank::registerscoreinfo("execution",100);
maps\mp\gametypes\_rank::registerscoreinfo("avenger",50);
maps\mp\gametypes\_rank::registerscoreinfo("defender",50);
maps\mp\gametypes\_rank::registerscoreinfo("posthumous",25);
maps\mp\gametypes\_rank::registerscoreinfo("revenge",50);
maps\mp\gametypes\_rank::registerscoreinfo("double",50);
maps\mp\gametypes\_rank::registerscoreinfo("triple",75);
maps\mp\gametypes\_rank::registerscoreinfo("multi",100);
maps\mp\gametypes\_rank::registerscoreinfo("buzzkill",100);
maps\mp\gametypes\_rank::registerscoreinfo("firstblood",100);
maps\mp\gametypes\_rank::registerscoreinfo("comeback",100);
maps\mp\gametypes\_rank::registerscoreinfo("longshot",50);
maps\mp\gametypes\_rank::registerscoreinfo("assistedsuicide",100);
maps\mp\gametypes\_rank::registerscoreinfo("knifethrow",100);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("damage",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("heavy_damage",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("damaged",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("kill",1);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("killed",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("healed",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("headshot",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("melee",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("backstab",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("longshot",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("assistedsuicide",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("defender",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("avenger",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("execution",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("comeback",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("revenge",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("buzzkill",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("double",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("triple",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("multi",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("assist",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("firstBlood",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("capture",1);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("assistedCapture",1);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("plant",1);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("defuse",1);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("vehicleDestroyed",1);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("3streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("4streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("5streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("6streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("7streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("8streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("9streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("10streak",0);
maps\mp\killstreaks\_killstreaks::registeradrenalineinfo("regen",0);
precacheshader("crosshair_red");
level._effect["money"] = loadfx("props/cash_player_drop");
level.numkills = 0;
level thread onplayerconnect();
}
//Function Number: 2
onplayerconnect()
{
for(;;)
{
level waittill("connected",var_00);
var_00.killedplayers = [];
var_00.killedplayerscurrent = [];
var_00.killedby = [];
var_00.lastkilledby = undefined;
var_00.greatestuniqueplayerkills = 0;
var_00.recentkillcount = 0;
var_00.lastkilltime = 0;
var_00.damagedplayers = [];
var_00 thread monitorcratejacking();
var_00 thread func_2AC7();
var_00 thread monitorhealed();
}
}
//Function Number: 3
func_2A96(param_00,param_01,param_02)
{
if(param_01 < 50 && param_01 > 10)
{
maps\mp\killstreaks\_killstreaks::giveadrenaline("damage");
return;
}
maps\mp\killstreaks\_killstreaks::giveadrenaline("heavy_damage");
}
//Function Number: 4
func_2A97(param_00,param_01,param_02,param_03)
{
var_04 = param_01.guid;
var_05 = self.guid;
var_06 = gettime();
thread func_2AC5(param_00);
self.lastkilltime = gettime();
self.lastkilledplayer = param_01;
self.modifiers = [];
level.numkills++;
self.damagedplayers[var_04] = undefined;
if(!maps\mp\_utility::func_2829(param_02) && !maps\mp\_utility::isjuggernaut() && !maps\mp\_utility::func_27AF("specialty_explosivebullets"))
{
if(param_02 == "none")
{
return 0;
}
if(isdefined(self.pers["copyCatLoadout"]) && isdefined(self.pers["copyCatLoadout"]["owner"]))
{
if(param_01 == self.pers["copyCatLoadout"]["owner"])
{
self.modifiers["clonekill"] = 1;
}
}
if(param_01.attackers.size == 1 && !isdefined(param_01.attackers[param_01.guid]))
{
var_0A = maps\mp\_utility::getweaponclass(param_02);
if(var_0A == "weapon_sniper" && param_03 != "MOD_MELEE" && gettime() == param_01.attackerdata[self.guid].firsttimedamaged)
{
self.modifiers["oneshotkill"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_ONE_SHOT_KILL");
}
}
if(isdefined(param_01.throwinggrenade) && param_01.throwinggrenade == "frag_grenade_mp")
{
self.modifiers["cooking"] = 1;
}
if(isdefined(self.assistedsuicide) && self.assistedsuicide)
{
assistedsuicide(param_00,param_02,param_03);
}
if(level.numkills == 1)
{
func_2ABF(param_00,param_02,param_03);
}
if(self.pers["cur_death_streak"] > 3)
{
func_2AC2(param_00,param_02,param_03);
}
if(param_03 == "MOD_HEAD_SHOT")
{
if(isdefined(param_01.laststand))
{
execution(param_00,param_02,param_03);
}
else
{
func_2AB7(param_00,param_02,param_03);
}
}
if(isdefined(self.wasti) && self.wasti && gettime() - self.spawntime <= 5000)
{
self.modifiers["jackintheboxkill"] = 1;
}
if(!isalive(self) && self.deathtime + 800 < gettime())
{
postdeathkill(param_00);
}
var_0B = 0;
if(level.teambased && var_06 - param_01.lastkilltime < 500)
{
if(param_01.lastkilledplayer != self)
{
func_2AB8(param_00,param_02,param_03);
}
}
foreach(var_0E, var_0D in param_01.damagedplayers)
{
if(var_0E == self.guid)
{
continue;
}
if(level.teambased && var_06 - var_0D < 500)
{
defendedplayer(param_00,param_02,param_03);
}
}
if(isdefined(param_01.attackerposition))
{
var_0F = param_01.attackerposition;
}
else
{
var_0F = self.origin;
}
if(islongshot(self,param_02,param_03,var_0F,param_01))
{
thread longshot(param_00,param_02,param_03);
}
if(param_01.pers["cur_kill_streak"] > 0 && isdefined(param_01.killstreaks[param_01.pers["cur_kill_streak"] + 1]))
{
buzzkill(param_00,param_01,param_02,param_03);
}
thread checkmatchdatakills(param_00,param_01,param_02,param_03);
}
if(!isdefined(self.killedplayers[var_04]))
{
self.killedplayers[var_04] = 0;
}
if(!isdefined(self.killedplayerscurrent[var_04]))
{
self.killedplayerscurrent[var_04] = 0;
}
if(!isdefined(param_01.killedby[var_05]))
{
param_01.killedby[var_05] = 0;
}
self.killedplayers[var_04]++;
if(self.killedplayers[var_04] > self.greatestuniqueplayerkills)
{
maps\mp\_utility::func_2AA1("killedsameplayer",self.killedplayers[var_04]);
}
self.killedplayerscurrent[var_04]++;
param_01.killedby[var_05]++;
param_01.lastkilledby = self;
}
//Function Number: 5
islongshot(param_00,param_01,param_02,param_03,param_04)
{
if(isalive(param_00) && !param_00 maps\mp\_utility::isusingremote() && param_02 == "MOD_RIFLE_BULLET" || param_02 == "MOD_PISTOL_BULLET" || param_02 == "MOD_HEAD_SHOT" && !maps\mp\_utility::func_2829(param_01) && !isdefined(param_00.assistedsuicide))
{
var_05 = maps\mp\_utility::getweaponclass(param_01);
switch(var_05)
{
case "weapon_pistol":
var_06 = 800;
break;
case "weapon_machine_pistol":
case "weapon_smg":
var_06 = 1200;
break;
case "weapon_lmg":
case "weapon_assault":
var_06 = 1500;
break;
case "weapon_sniper":
var_06 = 2000;
break;
case "weapon_shotgun":
var_06 = 500;
break;
case "weapon_projectile":
default:
var_06 = 1536;
break;
}
if(distance(param_03,param_04.origin) > var_06)
{
if(param_00 isitemunlocked("specialty_holdbreath") && param_00 maps\mp\_utility::func_27AF("specialty_holdbreath"))
{
param_00 maps\mp\gametypes\_missions::processchallenge("ch_longdistance");
}
return 1;
}
}
return 0;
}
//Function Number: 6
checkmatchdatakills(param_00,param_01,param_02,param_03)
{
var_04 = maps\mp\_utility::getweaponclass(param_02);
var_05 = 0;
thread campercheck();
if(isdefined(self.lastkilledby) && self.lastkilledby == param_01)
{
self.lastkilledby = undefined;
func_2ABC(param_00);
playfx(level._effect["money"],param_01 gettagorigin("j_spine4"));
}
if(param_01.idflags & level.idflags_penetration)
{
maps\mp\_utility::incplayerstat("bulletpenkills",1);
}
if(self.pers["rank"] < param_01.pers["rank"])
{
maps\mp\_utility::incplayerstat("higherrankkills",1);
}
if(self.pers["rank"] > param_01.pers["rank"])
{
maps\mp\_utility::incplayerstat("lowerrankkills",1);
}
if(isdefined(self.infinalstand) && self.infinalstand)
{
maps\mp\_utility::incplayerstat("laststandkills",1);
}
if(isdefined(param_01.infinalstand) && param_01.infinalstand)
{
maps\mp\_utility::incplayerstat("laststanderkills",1);
}
if(self getcurrentweapon() != self.primaryweapon && self getcurrentweapon() != self.secondaryweapon)
{
maps\mp\_utility::incplayerstat("otherweaponkills",1);
}
var_06 = gettime() - param_01.spawntime;
if(!maps\mp\_utility::matchmakinggame())
{
param_01 maps\mp\_utility::setplayerstatiflower("shortestlife",var_06);
}
param_01 maps\mp\_utility::func_2AAA("longestlife",var_06);
if(param_03 != "MOD_MELEE")
{
switch(var_04)
{
case "weapon_pistol":
case "weapon_projectile":
case "weapon_shotgun":
case "weapon_lmg":
case "weapon_sniper":
case "weapon_assault":
case "weapon_smg":
func_2AAB(param_01,param_02,param_03,var_04);
break;
case "weapon_explosive":
case "weapon_grenade":
func_2AAC(param_01,param_02,param_03);
break;
default:
break;
}
}
}
//Function Number: 7
func_2AAB(param_00,param_01,param_02,param_03)
{
var_04 = self;
var_05 = undefined;
var_06 = undefined;
var_07 = undefined;
switch(param_03)
{
case "weapon_pistol":
var_05 = "pistolkills";
var_06 = "pistolheadshots";
break;
case "weapon_smg":
var_05 = "smgkills";
var_06 = "smgheadshots";
break;
case "weapon_assault":
var_05 = "arkills";
var_06 = "arheadshots";
break;
case "weapon_projectile":
if(weaponclass(param_01) == "rocketlauncher")
{
var_05 = "rocketkills";
}
break;
case "weapon_sniper":
var_05 = "sniperkills";
var_06 = "sniperheadshots";
break;
case "weapon_shotgun":
var_05 = "shotgunkills";
var_06 = "shotgunheadshots";
var_07 = "shotgundeaths";
break;
case "weapon_lmg":
var_05 = "lmgkills";
var_06 = "lmgheadshots";
break;
default:
break;
}
if(isdefined(var_05))
{
var_04 maps\mp\_utility::incplayerstat(var_05,1);
}
if(isdefined(var_06) && param_02 == "MOD_HEAD_SHOT")
{
var_04 maps\mp\_utility::incplayerstat(var_06,1);
}
if(isdefined(var_07) && !maps\mp\_utility::matchmakinggame())
{
param_00 maps\mp\_utility::incplayerstat(var_07,1);
}
if(var_04 playerads() > 0.5)
{
var_04 maps\mp\_utility::incplayerstat("adskills",1);
if(param_03 == "weapon_sniper" || issubstr(param_01,"acog"))
{
var_04 maps\mp\_utility::incplayerstat("scopedkills",1);
}
if(issubstr(param_01,"thermal"))
{
var_04 maps\mp\_utility::incplayerstat("thermalkills",1);
return;
}
return;
}
var_04 maps\mp\_utility::incplayerstat("hipfirekills",1);
}
//Function Number: 8
func_2AAC(param_00,param_01,param_02)
{
var_03 = self;
switch(param_01)
{
case "frag_grenade_mp":
var_03 maps\mp\_utility::incplayerstat("fragkills",1);
var_03 maps\mp\_utility::incplayerstat("grenadekills",1);
var_04 = 1;
break;
case "c4_mp":
var_04 maps\mp\_utility::incplayerstat("c4kills",1);
var_04 = 1;
break;
case "semtex_mp":
var_04 maps\mp\_utility::incplayerstat("semtexkills",1);
var_04 maps\mp\_utility::incplayerstat("grenadekills",1);
var_04 = 1;
break;
case "claymore_mp":
var_04 maps\mp\_utility::incplayerstat("claymorekills",1);
var_04 = 1;
break;
case "throwingknife_mp":
var_04 maps\mp\_utility::incplayerstat("throwingknifekills",1);
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_KNIFETHROW");
var_04 = 1;
break;
default:
var_04 = 0;
break;
}
if(var_04)
{
var_03 maps\mp\_utility::incplayerstat("equipmentkills",1);
}
}
//Function Number: 9
campercheck()
{
self.lastkillwascamping = 0;
if(!isdefined(self.lastkilllocation))
{
self.lastkilllocation = self.origin;
self.lastcampkilltime = gettime();
return;
}
if(distance(self.lastkilllocation,self.origin) < 512 && gettime() - self.lastcampkilltime > 5000)
{
maps\mp\_utility::incplayerstat("mostcamperkills",1);
self.lastkillwascamping = 1;
}
self.lastkilllocation = self.origin;
self.lastcampkilltime = gettime();
}
//Function Number: 10
consolation(param_00)
{
}
//Function Number: 11
proximityassist(param_00)
{
self.modifiers["proximityAssist"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_PROXIMITYASSIST");
thread maps\mp\gametypes\_rank::func_2AB3("proximityassist");
}
//Function Number: 12
func_2AB4(param_00)
{
self.modifiers["proximityKill"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_PROXIMITYKILL");
thread maps\mp\gametypes\_rank::func_2AB3("proximitykill");
}
//Function Number: 13
longshot(param_00,param_01,param_02)
{
self.modifiers["longshot"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_LONGSHOT");
thread maps\mp\gametypes\_rank::func_2AB3("longshot",undefined,param_01,param_02);
maps\mp\killstreaks\_killstreaks::giveadrenaline("longshot");
maps\mp\_utility::incplayerstat("longshots",1);
thread maps\mp\_matchdata::func_28B4(param_00,"longshot");
}
//Function Number: 14
execution(param_00,param_01,param_02)
{
self.modifiers["execution"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_EXECUTION");
thread maps\mp\gametypes\_rank::func_2AB3("execution",undefined,param_01,param_02);
maps\mp\killstreaks\_killstreaks::giveadrenaline("execution");
thread maps\mp\_matchdata::func_28B4(param_00,"execution");
}
//Function Number: 15
func_2AB7(param_00,param_01,param_02)
{
self.modifiers["headshot"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_HEADSHOT");
thread maps\mp\gametypes\_rank::func_2AB3("headshot",undefined,param_01,param_02);
maps\mp\killstreaks\_killstreaks::giveadrenaline("headshot");
thread maps\mp\_matchdata::func_28B4(param_00,"headshot");
}
//Function Number: 16
func_2AB8(param_00,param_01,param_02)
{
self.modifiers["avenger"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_AVENGER");
thread maps\mp\gametypes\_rank::func_2AB3("avenger",undefined,param_01,param_02);
maps\mp\killstreaks\_killstreaks::giveadrenaline("avenger");
thread maps\mp\_matchdata::func_28B4(param_00,"avenger");
maps\mp\_utility::incplayerstat("avengekills",1);
}
//Function Number: 17
assistedsuicide(param_00,param_01,param_02)
{
self.modifiers["assistedsuicide"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_ASSISTEDSUICIDE");
thread maps\mp\gametypes\_rank::func_2AB3("assistedsuicide",undefined,param_01,param_02);
maps\mp\killstreaks\_killstreaks::giveadrenaline("assistedsuicide");
thread maps\mp\_matchdata::func_28B4(param_00,"assistedsuicide");
}
//Function Number: 18
defendedplayer(param_00,param_01,param_02)
{
self.modifiers["defender"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_DEFENDER");
thread maps\mp\gametypes\_rank::func_2AB3("defender",undefined,param_01,param_02);
maps\mp\killstreaks\_killstreaks::giveadrenaline("defender");
thread maps\mp\_matchdata::func_28B4(param_00,"defender");
maps\mp\_utility::incplayerstat("rescues",1);
}
//Function Number: 19
postdeathkill(param_00)
{
self.modifiers["posthumous"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_POSTHUMOUS");
thread maps\mp\gametypes\_rank::func_2AB3("posthumous");
thread maps\mp\_matchdata::func_28B4(param_00,"posthumous");
}
//Function Number: 20
backstab(param_00)
{
self iprintlnbold("backstab");
}
//Function Number: 21
func_2ABC(param_00)
{
self.modifiers["revenge"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_REVENGE");
thread maps\mp\gametypes\_rank::func_2AB3("revenge");
maps\mp\killstreaks\_killstreaks::giveadrenaline("revenge");
thread maps\mp\_matchdata::func_28B4(param_00,"revenge");
maps\mp\_utility::incplayerstat("revengekills",1);
}
//Function Number: 22
func_2ABD(param_00,param_01)
{
if(param_01 == 2)
{
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_DOUBLEKILL");
maps\mp\killstreaks\_killstreaks::giveadrenaline("double");
}
else if(param_01 == 3)
{
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_TRIPLEKILL");
maps\mp\killstreaks\_killstreaks::giveadrenaline("triple");
thread maps\mp\_utility::teamplayercardsplash("callout_3xkill",self);
}
else
{
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_MULTIKILL");
maps\mp\killstreaks\_killstreaks::giveadrenaline("multi");
thread maps\mp\_utility::teamplayercardsplash("callout_3xpluskill",self);
}
thread maps\mp\_matchdata::logmultikill(param_00,param_01);
maps\mp\_utility::func_2AAA("multikill",param_01);
maps\mp\_utility::incplayerstat("mostmultikills",1);
}
//Function Number: 23
func_2ABF(param_00,param_01,param_02)
{
self.modifiers["firstblood"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_FIRSTBLOOD");
thread maps\mp\gametypes\_rank::func_2AB3("firstblood",undefined,param_01,param_02);
thread maps\mp\_matchdata::func_28B4(param_00,"firstblood");
maps\mp\killstreaks\_killstreaks::giveadrenaline("firstBlood");
thread maps\mp\_utility::teamplayercardsplash("callout_firstblood",self);
}
//Function Number: 24
func_2AC0(param_00)
{
}
//Function Number: 25
buzzkill(param_00,param_01,param_02,param_03)
{
self.modifiers["buzzkill"] = param_01.pers["cur_kill_streak"];
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_BUZZKILL");
thread maps\mp\gametypes\_rank::func_2AB3("buzzkill",undefined,param_02,param_03);
maps\mp\killstreaks\_killstreaks::giveadrenaline("buzzkill");
thread maps\mp\_matchdata::func_28B4(param_00,"buzzkill");
}
//Function Number: 26
func_2AC2(param_00,param_01,param_02)
{
self.modifiers["comeback"] = 1;
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_COMEBACK");
thread maps\mp\gametypes\_rank::func_2AB3("comeback",undefined,param_01,param_02);
maps\mp\killstreaks\_killstreaks::giveadrenaline("comeback");
thread maps\mp\_matchdata::func_28B4(param_00,"comeback");
maps\mp\_utility::incplayerstat("comebacks",1);
}
//Function Number: 27
func_2AC3()
{
var_00 = self.guid;
for(var_01 = 0;var_01 < level.players.size;var_01++)
{
if(isdefined(level.players[var_01].killedplayers[var_00]))
{
level.players[var_01].killedplayers[var_00] = undefined;
}
if(isdefined(level.players[var_01].killedplayerscurrent[var_00]))
{
level.players[var_01].killedplayerscurrent[var_00] = undefined;
}
if(isdefined(level.players[var_01].killedby[var_00]))
{
level.players[var_01].killedby[var_00] = undefined;
}
}
}
//Function Number: 28
monitorhealed()
{
level endon("end_game");
self endon("disconnect");
for(;;)
{
self waittill("healed");
maps\mp\killstreaks\_killstreaks::giveadrenaline("healed");
}
}
//Function Number: 29
func_2AC5(param_00)
{
self endon("disconnect");
level endon("game_ended");
self notify("updateRecentKills");
self endon("updateRecentKills");
self.recentkillcount++;
wait 1;
if(self.recentkillcount > 1)
{
func_2ABD(param_00,self.recentkillcount);
}
self.recentkillcount = 0;
}
//Function Number: 30
monitorcratejacking()
{
level endon("end_game");
self endon("disconnect");
for(;;)
{
self waittill("hijacker",var_00,var_01);
thread maps\mp\gametypes\_rank::xpeventpopup(&"SPLASHES_HIJACKER");
thread maps\mp\gametypes\_rank::func_2AB3("hijacker",100);
var_02 = "hijacked_airdrop";
var_03 = "ch_hijacker";
switch(var_00)
{
case "sentry":
var_02 = "hijacked_sentry";
break;
case "juggernaut":
var_02 = "hijacked_juggernaut";
break;
case "remote_tank":
var_02 = "hijacked_remote_tank";
break;
case "mega":
case "emergency_airdrop":
var_02 = "hijacked_emergency_airdrop";
var_03 = "ch_newjack";
break;
default:
break;
}
if(isdefined(var_01))
{
var_01 maps\mp\gametypes\_hud_message::playercardsplashnotify(var_02,self);
}
self notify("process",var_03);
}
}
//Function Number: 31
func_2AC7()
{
level endon("end_game");
self endon("disconnect");
for(;;)
{
self waittill("objective",var_00);
if(var_00 == "captured")
{
maps\mp\killstreaks\_killstreaks::giveadrenaline("capture");
if(isdefined(self.laststand) && self.laststand)
{
thread maps\mp\gametypes\_hud_message::func_2701("heroic",100);
thread maps\mp\gametypes\_rank::func_2AB3("reviver",100);
}
}
if(var_00 == "assistedCapture")
{
maps\mp\killstreaks\_killstreaks::giveadrenaline("assistedCapture");
}
if(var_00 == "plant")
{
maps\mp\killstreaks\_killstreaks::giveadrenaline("plant");
}
if(var_00 == "defuse")
{
maps\mp\killstreaks\_killstreaks::giveadrenaline("defuse");
}
}
}

View File

@ -0,0 +1,184 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_flashgrenades.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 7
* Decompile Time: 133 ms
* Timestamp: 10/27/2023 2:27:44 AM
*******************************************************************/
//Function Number: 1
main()
{
precacheshellshock("flashbang_mp");
}
//Function Number: 2
startmonitoringflash()
{
thread monitorflash();
}
//Function Number: 3
stopmonitoringflash(param_00)
{
self notify("stop_monitoring_flash");
}
//Function Number: 4
func_2210(param_00)
{
self endon("stop_monitoring_flash");
self endon("flash_rumble_loop");
self notify("flash_rumble_loop");
var_01 = gettime() + param_00 * 1000;
while(gettime() < var_01)
{
self playrumbleonentity("damage_heavy");
wait 0.05;
}
}
//Function Number: 5
monitorflash()
{
self endon("disconnect");
self.flashendtime = 0;
for(;;)
{
self waittill("flashbang",var_00,var_01,var_02,var_03);
if(!isalive(self))
{
continue;
}
if(isdefined(self.usingremote))
{
continue;
}
var_04 = 0;
var_05 = 1;
if(var_02 < 0.25)
{
var_02 = 0.25;
}
else if(var_02 > 0.8)
{
var_02 = 1;
}
var_06 = var_01 * var_02 * 5.5;
if(isdefined(self.stunscaler))
{
var_06 = var_06 * self.stunscaler;
}
if(var_06 < 0.25)
{
continue;
}
var_07 = undefined;
if(var_06 > 2)
{
var_07 = 0.75;
}
else
{
var_07 = 0.25;
}
if(level.teambased && isdefined(var_03) && isdefined(var_03.pers["team"]) && var_03.pers["team"] == self.pers["team"] && var_03 != self)
{
if(level.friendlyfire == 0)
{
continue;
}
else if(level.friendlyfire == 1)
{
}
else if(level.friendlyfire == 2)
{
var_06 = var_06 * 0.5;
var_07 = var_07 * 0.5;
var_05 = 0;
var_04 = 1;
}
else if(level.friendlyfire == 3)
{
var_06 = var_06 * 0.5;
var_07 = var_07 * 0.5;
var_04 = 1;
}
}
else if(isdefined(var_03))
{
var_03 notify("flash_hit");
if(var_03 != self)
{
var_03 maps\mp\gametypes\_missions::processchallenge("ch_indecentexposure");
}
}
if(var_05 && isdefined(self))
{
thread func_27AA(var_06,var_07);
if(isdefined(var_03) && var_03 != self)
{
var_03 thread maps\mp\gametypes\_damagefeedback::updatedamagefeedback("flash");
var_08 = self;
if(isplayer(var_03) && var_03 isitemunlocked("specialty_paint") && var_03 maps\mp\_utility::func_27AF("specialty_paint"))
{
if(!var_08 maps\mp\perks\_perkfunctions::ispainted())
{
var_03 maps\mp\gametypes\_missions::processchallenge("ch_paint_pro");
}
var_08 thread maps\mp\perks\_perkfunctions::func_2980();
}
}
}
if(var_04 && isdefined(var_03))
{
var_03 thread func_27AA(var_06,var_07);
}
}
}
//Function Number: 6
func_27AA(param_00,param_01)
{
if(!isdefined(self.flashduration) || param_00 > self.flashduration)
{
self.flashduration = param_00;
}
if(!isdefined(self.flashrumbleduration) || param_01 > self.flashrumbleduration)
{
self.flashrumbleduration = param_01;
}
wait 0.05;
if(isdefined(self.flashduration))
{
self shellshock("flashbang_mp",self.flashduration);
self.flashendtime = gettime() + self.flashduration * 1000;
}
if(isdefined(self.flashrumbleduration))
{
thread func_2210(self.flashrumbleduration);
}
self.flashduration = undefined;
self.flashrumbleduration = undefined;
}
//Function Number: 7
isflashbanged()
{
return isdefined(self.flashendtime) && gettime() < self.flashendtime;
}

101
MW3/Xbox/MP/maps/mp/_fx.gsc Normal file
View File

@ -0,0 +1,101 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_fx.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 7
* Decompile Time: 131 ms
* Timestamp: 10/27/2023 2:27:45 AM
*******************************************************************/
//Function Number: 1
script_print_fx()
{
if(!isdefined(self.script_fxid) || !isdefined(self.script_fxcommand) || !isdefined(self.script_delay))
{
self delete();
return;
}
if(isdefined(self.target))
{
var_00 = getent(self.target).origin;
}
else
{
var_00 = "undefined";
}
if(self.script_fxcommand == "OneShotfx")
{
}
if(self.script_fxcommand == "loopfx")
{
}
if(self.script_fxcommand == "loopsound")
{
}
}
//Function Number: 2
script_playfx(param_00,param_01,param_02)
{
if(!param_00)
{
return;
}
if(isdefined(param_02))
{
playfx(param_00,param_01,param_02);
return;
}
playfx(param_00,param_01);
}
//Function Number: 3
script_playfxontag(param_00,param_01,param_02)
{
if(!param_00)
{
return;
}
playfxontag(param_00,param_01,param_02);
}
//Function Number: 4
grenadeexplosionfx(param_00)
{
playfx(level._effect["mechanical explosion"],param_00);
earthquake(0.15,0.5,param_00,250);
}
//Function Number: 5
soundfx(param_00,param_01,param_02)
{
var_03 = spawn("script_origin",(0,0,0));
var_03.origin = param_01;
var_03 playloopsound(param_00);
if(isdefined(param_02))
{
var_03 thread soundfxdelete(param_02);
}
}
//Function Number: 6
soundfxdelete(param_00)
{
level waittill(param_00);
self delete();
}
//Function Number: 7
blenddelete(param_00)
{
self waittill("death");
param_00 delete();
}

View File

@ -0,0 +1,93 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_global_fx.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 3
* Decompile Time: 64 ms
* Timestamp: 10/27/2023 2:27:45 AM
*******************************************************************/
//Function Number: 1
main()
{
var_00 = randomfloatrange(-20,-15);
global_fx("barrel_fireFX_origin","global_barrel_fire","fire/firelp_barrel_pm",var_00,"fire_barrel_small");
global_fx("ch_streetlight_02_FX_origin","ch_streetlight_02_FX","misc/lighthaze",var_00);
global_fx("me_streetlight_01_FX_origin","me_streetlight_01_FX","misc/lighthaze_bog_a",var_00);
global_fx("ch_street_light_01_on","lamp_glow_FX","misc/light_glow_white",var_00);
global_fx("lamp_post_globe_on","lamp_glow_FX","misc/light_glow_white",var_00);
global_fx("highway_lamp_post","ch_streetlight_02_FX","misc/lighthaze_villassault",var_00);
global_fx("cs_cargoship_spotlight_on_FX_origin","cs_cargoship_spotlight_on_FX","misc/lighthaze",var_00);
global_fx("me_dumpster_fire_FX_origin","me_dumpster_fire_FX","fire/firelp_med_pm",var_00,"fire_dumpster_medium");
global_fx("com_tires_burning01_FX_origin","com_tires_burning01_FX","fire/tire_fire_med",var_00);
global_fx("icbm_powerlinetower_FX_origin","icbm_powerlinetower_FX","misc/power_tower_light_red_blink",var_00);
global_fx("icbm_mainframe_FX_origin","icbm_mainframe_FX","props/icbm_mainframe_lightblink",var_00);
global_fx("light_pulse_red_FX_origin","light_pulse_red_FX","misc/light_glow_red_generic_pulse",-2);
global_fx("light_pulse_red_FX_origin","light_pulse_red_FX","misc/light_glow_red_generic_pulse",-2);
global_fx("light_pulse_orange_FX_origin","light_pulse_orange_FX","misc/light_glow_orange_generic_pulse",-2);
global_fx("light_red_blink_FX_origin","light_red_blink","misc/power_tower_light_red_blink",-2);
global_fx("lighthaze_oilrig_FX_origin","lighthaze_oilrig","misc/lighthaze_oilrig",var_00);
global_fx("lighthaze_white_FX_origin","lighthaze_white","misc/lighthaze_white",var_00);
global_fx("light_glow_walllight_white_FX_origin","light_glow_walllight_white","misc/light_glow_walllight_white",var_00);
global_fx("fluorescent_glow_FX_origin","fluorescent_glow","misc/fluorescent_glow",var_00);
global_fx("light_glow_industrial_FX_origin","light_glow_industrial","misc/light_glow_industrial",var_00);
global_fx("light_red_steady_FX_origin","light_red_steady","misc/tower_light_red_steady",-2);
global_fx("light_blue_steady_FX_origin","light_blue_steady","misc/tower_light_blue_steady",-2);
global_fx("light_orange_steady_FX_origin","light_orange_steady","misc/tower_light_orange_steady",-2);
global_fx("glow_stick_pile_FX_origin","glow_stick_pile","misc/glow_stick_glow_pile",-2);
global_fx("glow_stick_orange_pile_FX_origin","glow_stick_pile_orange","misc/glow_stick_glow_pile_orange",-2);
global_fx("highrise_blinky_tower","highrise_blinky_tower_FX","misc/power_tower_light_red_blink_large",var_00);
global_fx("flare_ambient_FX_origin","flare_ambient_FX","misc/flare_ambient",var_00,"emt_road_flare_burn");
global_fx("light_glow_white_bulb_FX_origin","light_glow_white_bulb_FX","misc/light_glow_white_bulb",var_00);
global_fx("light_glow_white_lamp_FX_origin","light_glow_white_lamp_FX","misc/light_glow_white_lamp",var_00);
}
//Function Number: 2
global_fx(param_00,param_01,param_02,param_03,param_04)
{
var_05 = common_scripts\utility::getstructarray(param_00,"targetname");
if(!isdefined(var_05))
{
return;
}
if(var_05.size <= 0)
{
return;
}
for(var_06 = 0;var_06 < var_05.size;var_06++)
{
var_05[var_06] func_1798(param_01,param_02,param_03,param_04);
}
}
//Function Number: 3
func_1798(param_00,param_01,param_02,param_03)
{
if(!isdefined(level._effect))
{
level._effect = [];
}
if(!isdefined(level._effect[param_00]))
{
level._effect[param_00] = loadfx(param_01);
}
if(!isdefined(self.angles))
{
self.angles = (0,0,0);
}
var_04 = common_scripts\utility::createoneshoteffect(param_00);
var_04.v["origin"] = self.origin;
var_04.v["angles"] = self.angles;
var_04.v["fxid"] = param_00;
var_04.v["delay"] = param_02;
if(isdefined(param_03))
{
var_04.v["soundalias"] = param_03;
}
}

View File

@ -0,0 +1,23 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_highlights.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: Console
* Function Count: 1
* Decompile Time: 33 ms
* Timestamp: 10/27/2023 2:27:46 AM
*******************************************************************/
//Function Number: 1
func_2D71(param_00,param_01)
{
var_02 = getclientmatchdata("highlightCount");
if(var_02 < 18)
{
setclientmatchdata("highlights",var_02,"award",param_00);
setclientmatchdata("highlights",var_02,"clientId",self.clientmatchdataid);
setclientmatchdata("highlights",var_02,"value",param_01);
var_02++;
setclientmatchdata("highlightCount",var_02);
}
}

Some files were not shown because too many files have changed in this diff Show More