#1
THIS GUIDE IS HORRIBLY OUT OF DATE
This was last updated nearly a year ago.  Since then the theater system has changed greatly.  I plan on updating this guide sometime next week.  Until then, take this guide and its broken formatting with a grain of salt.


Messing Around with the Theater System


Last Updated: 31 October 2014 for the 29 October 2014 update


CHANGES FROM 11 August 2014 [The September update didn't have any significant changes]

If you haven't read through this guide before, I suggest skipping this section.
<p class="bbc_indent" style="margin-left:40px;">M4A1 and AK-74 added.

<p class="bbc_indent" style="margin-left:40px;">Nightvision added.

<p class="bbc_indent" style="margin-left:40px;">Theater Conditions.  This will have its own section describing functionality.

<p class="bbc_indent" style="margin-left:40px;">Extra Grenades. The carry count has been increased on all of them, and there's a few tricky changes to the chest rig and chest carriers.

<p class="bbc_indent" style="margin-left:40px;">Flaregun Added.

<p class="bbc_indent" style="margin-left:40px;">Buckshot Changes:

<p class="bbc_indent" style="margin-left:80px;">The number of pellets is now in the ammo specification instead of weapon specification [bulletcount].

<p class="bbc_indent" style="margin-left:80px;">Damage calculations seems to have changed as well: Damage should now be the damage-per-pellet multiplied by number of pellets [bulletcount]

<p class="bbc_indent" style="margin-left:40px;">Safehouses give you points, as defined in base_player.theater

<p class="bbc_indent" style="margin-left:40px;">Leaning tweaks in base_player.theater

<p class="bbc_indent" style="margin-left:40px;">Bipod limits are now defined in base_weapon.theater

<p class="bbc_indent" style="margin-left:40px;">Silencers can have specific particle effects attached.

<p class="bbc_indent" style="margin-left:40px;">Lasers and Flashlights have separate, non-generic models now.

<p class="bbc_indent" style="margin-left:40px;">Grenade Launchers have significant changes in their implementation.

<p class="bbc_indent" style="margin-left:40px;">Changes to Coop bots.

<p class="bbc_indent" style="margin-left:40px;">Changes to class templates to support changes.

<p class="bbc_indent" style="margin-left:40px;">General balance tweaks to almost all weapons and items.

Full diff: http://pastebin.com/ZkgLNbVc



Have you ever been interested in tweaking the existing gameplay of Insurgency to your on liking? If so, then the theater system is how it's done. Of course, to use customized theaters online, you need to have a server of your own, or a server of somebody you know who lets it become popular.


This guide is meant to give you a good general overview of what's inside the theater system and what can be changed. It is not meant as full documentation for developers; rather, it's meant to give a kickstart to potential modders who don't know all that much about programming.


FINDING THE FILES


Since I last wrote my Theater overview, Insurgency has implemented the VPK system. Kryptoz wrote a guide to using the VPKs, so I suggest reading it over if you're not familiar. All of the theater files are in insurgency_misc_dir.vpk, so go ahead and extract it. Once the VPK is extracted, the theater files are in insurgency_misc_dir/scripts/theaters.


OVERVIEW


Inside the theaters folder you'll find a number of files: five base_*.theater files, and a bunch more default_*.theaters. We're going to look into default.theater in order to gain an understanding of what to expect.


The very first line of default.theater is:
<p class="bbc_indent" style="margin-left:40px;">"#base" "base_player.theater"



If you've done anything in programming, you'll recognize this as a fairly standard include function. When Insurgency reads default.theater, it pretends that all of base_player.theater's contents are inside of it exactly where the base line is placed. In the event of a conflict between these files, whichever appears closest to the bottom takes precedence. This allows for custom theater files to have nothing but a minimal set of changes to default.theater and still work fine.


We can see this in the default_*.theater files. Open up the first once and you'll find that it names default.theater as a base, and then only specifies the squad structures for the ambush game mode. Because default.theater uses the other base_*.theater files as bases, default_ambush.theater indirectly includes these files as well.


When it comes to making your own theater files, NEVER EDIT THE BASE AND DEFAULT FILES. Instead, use the "#base" feature to include default.theater and include only the changed version of structures in your own theater file, following the example you see in the main files.


The basic file format follows a basic nested block structure looking like this:
<p class="bbc_indent" style="margin-left:40px;">"blockname"

{

<p class="bbc_indent" style="margin-left:80px;">"anotherBlockname"

{

<p class="bbc_indent" style="margin-left:120px;">...

<p class="bbc_indent" style="margin-left:80px;">}

<p class="bbc_indent" style="margin-left:80px;">...

<p class="bbc_indent" style="margin-left:40px;">}



The structure eventually reduces down to key-value pairs.
<p class="bbc_indent" style="margin-left:40px;">"keyname" "value"



There are also comments, which are lines starting with two slashes. Upon reading those two slashes, Insurgency will ignore whatever else is on the line. Thus, the comments are for the benefit of human beings who have to understand what's in the files.


Occasionally you'll see blocknames or values which start with a #. The # indicates that the name in question is a translated string, usually a good indicator that it appears directly in game. Translated strings are strings which appear differently when presented to end users depending on language. The translations for different languages can be found in insurgency_misc_dir/resource/insurgency_*.txt. For your own theater files, you do not have to use translated strings where you see them.


INSIDE EACH FILE
<p class="bbc_indent" style="margin-left:40px;">base_common_ammo.theater

<p class="bbc_indent" style="margin-left:80px;">Contains definitions of all the different ammo types in Insurgency, as well as magazines for each weapon.

<p class="bbc_indent" style="margin-left:40px;">base_explosives.theater

<p class="bbc_indent" style="margin-left:80px;">Literally the default explosive. Don't bother looking here.

<p class="bbc_indent" style="margin-left:40px;">base_player.theater

<p class="bbc_indent" style="margin-left:80px;">Movement settings of player characters.

<p class="bbc_indent" style="margin-left:40px;">base_weapon.theater

<p class="bbc_indent" style="margin-left:80px;">This contians only the base weapon. It shows all of the different settings you can apply to weapons, so it's good for a reference.

<p class="bbc_indent" style="margin-left:40px;">base_weapon_upgrades.theater

<p class="bbc_indent" style="margin-left:80px;">Base weapon upgrades. If you're going to add or modify upgrades, this is a good reference for all the settings.

<p class="bbc_indent" style="margin-left:40px;">default.theater

<p class="bbc_indent" style="margin-left:80px;">Contains team names and player classes for both teams.

<p class="bbc_indent" style="margin-left:40px;">default_gear.theater

<p class="bbc_indent" style="margin-left:80px;">Contains armor and vest upgrades for both teams.

<p class="bbc_indent" style="margin-left:40px;">default_weapon.theater

<p class="bbc_indent" style="margin-left:80px;">Contains settings for all of the weapons in the game.

<p class="bbc_indent" style="margin-left:40px;">default_weapon_upgrades.theater.

<p class="bbc_indent" style="margin-left:80px;">Contains settings for all of the weapon upgrades in the game.

<p class="bbc_indent" style="margin-left:40px;">default_[gamemode].txt

<p class="bbc_indent" style="margin-left:80px;">Squad organization for each gamemode.



MAKING A CUSTOM THEATER

To make a theater, all one needs to do is make a new text file. Save it into insurgency/scripts/theaters [not the extracted VPK directory] with an extension of .theater. Next, set mp_theater_override to the name of this theater file, but without the .theater extension.

Once your theater is ready for release, pack it into a VPK. Once again, I refer you to Kryptoz's VPK guide if you don't know how.


LIMITATIONS


EXAMPLE THEATERS

Rocket Wars:
Code:
//This custom theater is a blast - literally.
//Every player has nothing but rocket launchers and knives.
//It has in no way been playtested, and was created purely to serve as an example.
"#base" "default.theater"

"theater"
{
    "player_templates"
    {
        "template_rocketeer_security"
        {
            "team"            "security"
            "print_name"    "Rocketeer"

            "models"
            {
                "player"                "models/characters/security_rifleman.mdl"
                "viewmodel_hands"        "models/weapons/v_hands_sec_l.mdl"
                "helmet"                "models/characters/us_helmet.mdl"
            }

            "buy_order"
            {
                "weapon"            "weapon_kabar"
                "weapon"            "weapon_at4"
            }
            "allowed_weapons"
            {
                "weapon"            "weapon_kabar"
                "weapon"            "weapon_at4"
            }
        }
        "template_rocketeer_insurgent"
        {
            "team"            "insurgents"
            "print_name"    "Rocketeer"

            "models"
            {
                "player"            "models/characters/insurgent_heavy.mdl"
                "viewmodel_hands"    "models/weapons/v_hands_ins_m.mdl"
            }

            "buy_order"
            {
                "weapon"            "weapon_kabar"
                "weapon"            "weapon_rpg7"
            }
            "allowed_weapons"
            {
                "weapon"            "weapon_kabar"
                "weapon"            "weapon_rpg7"
            }
        }
    }
    "teams"
    {
        "security"
        {
            "squads"
            {
                "#Fireteam_Alpha"
                {
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    
                    "Rocketeer"        "template_rocketeer_security"                        
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                    "Rocketeer"        "template_rocketeer_security"
                }
            }
        }
        
        "insurgents"
        {
            "squads"
            {
                "#Cell_Alpha"
                {
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                    "Rocketeer"        "template_rocketeer_insurgent"
                }
            }
        }
    }
}

THEATER CONDITIONS

Added in the October 29th Update is a new feature called Theater Conditions.  Conditions can be added to map.txt files, which causes theater code in certain blocks to be read which otherwise wouldn't.  In the default theaters, this is used to control whether or not nightvision is available for purchase.

In theater files, wrap code in this block where it would otherwise go:
Code:
"?conditionName"
{
    //Theater stuff goes here
}

And in your map.txt files, add the following block into the "cpsetup.txt" node:
Code:
"theater_conditions"
{
    "?conditionName"    "1"
}


I hope that this post has been informative. If you have any questions, praise, or even hate, please post it all here so I know what people are thinking.
Reply
#2
I am so thankful to you iLag...

 

If you could keep this updated as you learn more, that would be great.

Reply
#3
I get up to eat, sit back down, and the first thing I see is that my topic got pinned. Day=made.
Reply
#4
Ok, so this is what I have so far. Thoughts and ideas?
Code:
"#base" "base_player.theater"
"#base" "base_common_ammo.theater"
"#base"    "base_weapon.theater"
"#base"    "base_weapon_upgrades.theater"
"#base"    "base_explosives.theater"

"theater"
{
    "teams"
    {
        "security"
        {
            "name"        "101st ABN"
            
            "models"
            {
                "models/characters/security_light.mdl"
                {
                    "viewmodel" "models/weapons/v_hands_sec_l.mdl"
                    "max_weight" "319"
                }
                
                "models/characters/security_standard.mdl"
                {
                    "viewmodel" "models/weapons/v_hands_sec_l.mdl"
                    "helmet"    "models/characters/us_helmet.mdl"
                    "min_weight" "320"
                    "max_weight" "479"
                }
                
                "models/characters/security_heavy.mdl"
                {
                    "viewmodel" "models/weapons/v_hands_sec_m.mdl"
                    "helmet"    "models/characters/us_helmet.mdl"
                    "min_weight" "480"
                }
            }
            
            "squads"
            {
                "#Fireteam_Alpha"    // assault team #1
                {
                    // role name                                    preset
                    "#Squad_Fireteam_Leader_Team_Leader"                "template_specialist_security"
                    "#Squad_Fireteam_Rifleman"                        "template_rifleman_security"
                                        "#Squad_Fireteam_Rifleman"                                                      "template_rifleman_security"
                    "#Squad_Fireteam_Automatic_Rifleman                            "template_support_security"
                }
                
                "#Fireteam_Bravo"    // assault team #2
                {
                    // role name                                    preset
                    "#Squad_Fireteam_Leader_Team_Leader"                "template_specialist_security"
                    "#Squad_Fireteam_Rifleman"                        "template_rifleman_security"
                                        "#Squad_Fireteam_Rifleman"                                                      "template_rifleman_security"
                    "#Squad_Fireteam_Automatic_Rifleman                            "template_support_security"
                }
                
                "#Fireteam_Charlie"    // support team
                {
                    // role name                                    preset
                    "#Squad_Fireteam_Leader_Team_Leader"                "template_specialist_security"
                    "#Squad_Fireteam_Rifleman"                        "template_rifleman_security"
                                        "#Squad_Fireteam_Rifleman"                                                      "template_rifleman_security"
                    "#Squad_Fireteam_Rifleman                                    "template_rifleman_security"
                }
                
                "#Fireteam_Delta"    // support team
                {
                    // role name                                    preset
                    "#Squad_Fireteam_Leader_Team_Leader"                "template_specialist_security"
                    "#Squad_Fireteam_Rifleman"                        "template_rifleman_security"
                                        "#Squad_Fireteam_Rifleman"                                                      "template_rifleman_security"
                    "#Squad_Fireteam_Rifleman                                    "template_rifleman_security"
                }
            }
        }
        
        "insurgents"
        {
            "name"        "#Team_Insurgent"
            
            "models"
            {
                "models/characters/insurgent_light.mdl"
                {
                    "viewmodel" "models/weapons/v_hands_ins_l.mdl"
                    "max_weight" "319"
                }
                
                "models/characters/insurgent_standard.mdl"
                {
                    "viewmodel" "models/weapons/v_hands_ins_m.mdl"
                    "min_weight" "320"
                    "max_weight" "479"
                }
                
                "models/characters/insurgent_heavy.mdl"
                {
                    "viewmodel" "models/weapons/v_hands_ins_m.mdl"
                    "min_weight" "480"
                }
            }    
            
            "squads"
            {
                "#Cell_Alpha"    // assault team #1
                {
                    // role name                                preset
                    "#Squad_Cell_Leader_Specialist"                "template_specialist_insurgent"
                    "#Squad_Cell_Fighter"                        "template_fighter_insurgent"
                                        "#Squad_Cell_Fighter"                                "template_fighter_insurgent"
                    "#Squad_Cell_Sapper"                                        "template_sapper_insurgent"
                    
                }
                
                "#Cell_Bravo"    // assault team #2
                {
                    // role name                                preset
                    "#Squad_Cell_Leader_Specialist"                "template_specialist_insurgent"
                    "#Squad_Cell_Fighter"                        "template_fighter_insurgent"
                                        "#Squad_Cell_Fighter"                                "template_fighter_insurgent"
                    "#Squad_Cell_Sapper"                                        "template_sapper_insurgent"
                }
                
                "#Cell_Charlie"    // support team
                {
                    // role name                                preset
                    "#Squad_Cell_Leader_Sharpshooter"            "template_sharpshooter_insurgent"
                    "#Squad_Cell_Fighter"                        "template_fighter_insurgent"
                    "#Squad_Cell_Specialist"                    "template_specialist_insurgent"
                    "#Squad_Cell_MachineGunner"                    "template_machinegunner_insurgent"
                }
                
                "#Cell_Delta"    // heavy weapons team
                {
                    // role name                                preset
                    "#Squad_Cell_Leader_Sharpshooter"            "template_sharpshooter_insurgent"
                    "#Squad_Cell_Sniper"                        "template_sniper_insurgent"
                    "#Squad_Cell_Sniper"                        "template_sniper_insurgent"
                    "#Squad_Cell_MachineGunner"                    "template_machinegunner_insurgent"
                }
            }
        }
    }
    
    "player_templates"
    {
        //security class templates
        
        "template_rifleman_security"
        {    
            "team"            "security"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_m16a4"         // 1
                "gear"                "heavy_armor"        // 3
                "gear"                "chest_carrier"        // 3
                "weapon"            "weapon_m18"         // 1
            }

        }
        "template_specialist_security"
        {    
            "team"            "security"
            "buy_order"
            {
                
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_m4a1"         // 1
                "gear"                "heavy_armor"        // 3
                "gear"                "chest_carrier"        // 3
                "weapon"            "weapon_m18"         // 1
            }
        }
                "template_support_security"
        {    
            "team"            "security"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_m249"         // 2
                        "gear"                "heavy_armor"        // 3
                "gear"                "chest_carrier"            // 3
                
            }
        
        }
        
        //insurgent class templates
        
        "template_fighter_insurgent"
        {    
            "team"            "insurgents"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_makarov"    // 1
                "weapon"            "weapon_akm"         // 1
                "weapon_upgrade"        "base_foregrip"         // 1
                "gear"                "chest_carrier"        // 3
                "weapon"            "weapon_m67"         // 2
            }
        }
        "template_specialist_insurgent"
        {    
            "team"            "insurgents"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_makarov"    // 1
                "weapon"            "weapon_m1a1"         // 1
                "weapon_upgrade"            "kobra_m1a1"        // 1
                "gear"                "chest_carrier"            // 3
                "weapon"            "weapon_m18"         // 1
            }
        }
        "template_sharpshooter_insurgent"
        {    
            "team"            "insurgents"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_makarov"    // 1
                "weapon"            "weapon_sks"         // 1
                "weapon"                "weapon_m18"        // 1
                "weapon_upgrade"    "ammo_ap_sks"        // 3
                "weapon_upgrade"    "4xscope_sks"        // 2

            }
        }
        "template_sapper_insurgent"
        {    
            "team"            "insurgents"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_makarov"    // 1
                "weapon"            "weapon_toz"         // 2
                        "gear"                "chest_carrier"            // 3
                "weapon"            "weapon_m67"         // 2
            }
        }
        "template_machinegunner_insurgent"
        {    
            "team"            "insurgents"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_makarov"    // 1
                "weapon"            "weapon_rpk"         // 2
                "gear"                "chest_carrier"            // 3
                "weapon"            "weapon_m18"         // 1
            }
        }
        "template_sniper_insurgent"
        {    
            "team"            "insurgents"
            "buy_order"
            {
                "weapon"            "weapon_kabar"        // 0
                "weapon"            "weapon_makarov"     // 1
                "weapon"            "weapon_mosin"         // 2
                "weapon_upgrade"    "ammo_ap_mosin"        // 3
                "weapon"            "weapon_m18"         // 1
                "gear"                "chest_rig"            // 1
            }
        }
    }

    "player_gear"
    {
        "light_armor"
        {
            "print_name"    "#gear_light_armor"
            "gear_slot"        "armor"
            "gear_cost"        "1"
            "gear_weight"    "160" // 25 (2.5kg) + 75 encumbrance
            
            "DamageHitgroups"
            {
                "HITGROUP_HEAD"                    "1.00"
                "HITGROUP_CHEST"                "0.40"
                "HITGROUP_STOMACH"                "0.40"
                "HITGROUP_LEFTARM"                "1.00"
                "HITGROUP_RIGHTARM"                "1.00"
                "HITGROUP_LEFTLEG"                "1.00"
                "HITGROUP_RIGHTLEG"                "1.00"
            }            
        }
        "heavy_armor"
        {
            "print_name"    "#gear_heavy_armor"
            "gear_slot"        "armor"
            "gear_cost"        "3"
            "gear_weight"    "325" // 75 (7.5kg) + 250 encumbrance    
            
            "DamageHitgroups"
            {
                "HITGROUP_HEAD"                    "1.00" // death
                "HITGROUP_CHEST"                "0.11"
                "HITGROUP_STOMACH"                "0.11"
                "HITGROUP_LEFTARM"                "1.00"
                "HITGROUP_RIGHTARM"                "1.00"
                "HITGROUP_LEFTLEG"                "1.00"
                "HITGROUP_RIGHTLEG"                "1.00"
            }                
        }
        "chest_rig"
        {
            "print_name"    "#gear_chest_rig"
            "gear_slot"        "vest"
            "gear_cost"        "1"
            "gear_weight"    "46" // 22 (2.2kg) + 24 encumbrance
            "extra_ammo"
            {
                "primary"    "3"
                "secondary"    "3"
                "explosive"    "0"
            }
        }
        "chest_carrier"
        {
            "print_name"    "#gear_chest_carrier"
            "gear_slot"        "vest"
            "gear_cost"        "3"
            "gear_weight"    "100" // 50 (5.0kg) + 50 encumbrance
            "extra_ammo"
            {
                "primary"    "8"
                "secondary"    "8"
                "explosive"    "1"
            }
        }
    }

    "weapons"
    {
        //========================================
        // ROCKETS
        //========================================
        "weapon_rpg7"
        {
            "import"                        "weapon_base"
            "weapon_class"                    "single_use_launcher"
            "weapon_type"                    "projectile"
            "print_name"                    "#weapon_rpg7"
            "view_model"                    "models/weapons/v_rpg.mdl"
            "world_model"                    "models/weapons/w_rpg7.mdl"
            "weapon_slot"                    "explosive"
            "act_table"                        "launcher"
            "weapon_weight"                    "4"
            "weapon_cost"                    "4"
            "weapon_abilities"                "ironsight"
            "sounds"
            {
                "shot_single"                 "Weapon_RPG7.Single"
                "shot_single_local"             "Weapon_RPG7.SingleLocal"
                "empty"                         "Weapon_RPG7.Empty"
                "load"                         "Weapon_RPG7.Load"
                "unload"                     "Weapon_RPG7.Unload"
                "hit"                         "Weapon_RPG7.Hit"
            }
            "explosives"
            {
                "entity"                    "rocket_rpg7"
            }
            "ammo_clip"
            {
                "ammo_type"                    "rocket_rpg7"
                "clip_max_rounds"            "1" // 1 rpg per mag
                "clip_default"                "0"
            }
            "team_access"    "insurgent"
        }


        //========================================
        // GRENADES
        //========================================
        "weapon_m67"
        {
            "import"                        "weapon_base"
            "weapon_class"                    "grenade_lethal"
            "weapon_type"                    "grenade"
            "print_name"                    "#weapon_m67"
            "view_model"                    "models/weapons/v_m67.mdl"
            "world_model"                    "models/weapons/w_m67.mdl"
            "weapon_slot"                    "explosive"
            "act_table"                        "grenade"
            "weapon_weight"                    "4"
            "weapon_cost"                    "2"
            "explosives"
            {
                "entity"                    "grenade_m67"
                "GrenadeRollSpeed"            "500"
                "GrenadeThrowSpeed"            "1000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "grenade_m67"
                "clip_max_rounds"            "-1" // no clips
                "clip_default"                "1"
            }
            "team_access"    "security, insurgent"
        }
        "weapon_m18"
        {
            "import"                        "weapon_base"
            "weapon_class"                    "grenade_tactical"
            "weapon_type"                    "grenade"
            "print_name"                    "#weapon_m18"
            "view_model"                    "models/weapons/v_m18.mdl"
            "world_model"                    "models/weapons/w_m18.mdl"
            "weapon_slot"                    "explosive"
            "act_table"                        "grenade"
            "weapon_weight"                    "4"
            "weapon_cost"                    "1"
            "explosives"
            {
                "entity"                    "grenade_m18"
                "GrenadeRollSpeed"            "500"
                "GrenadeThrowSpeed"            "1000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "grenade_m18"
                "clip_max_rounds"            "-1" // no clips
                "clip_default"                "1"
            }
            "team_access"    "security, insurgent"
        }
        "weapon_m84"
        {
            "import"                        "weapon_base"
            "weapon_class"                    "grenade_tactical"
            "weapon_type"                    "grenade"
            "print_name"                    "#weapon_m84"
            "view_model"                    "models/weapons/v_m84.mdl"
            "world_model"                    "models/weapons/w_m84.mdl"
            "weapon_slot"                    "explosive"
            "act_table"                        "grenade"
            "weapon_weight"                    "2"
            "weapon_cost"                    "1"
            "explosives"
            {
                "entity"                    "grenade_m84"
                "GrenadeRollSpeed"            "500"
                "GrenadeThrowSpeed"            "1000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "grenade_m84"
                "clip_max_rounds"            "-1" // no clips
                "clip_default"                "1"
            }
            "team_access"    "security"
        }

        //========================================
        // MELEE
        //========================================
        "weapon_kabar"
        {
            "import"                        "weapon_base"
            "weapon_class"                    "knife"
            "weapon_type"                    "melee"
            "print_name"                    "#weapon_kabar"
            "view_model"                    "models/weapons/v_marinebayonet.mdl"
            "world_model"                    "models/weapons/w_marinebayonet.mdl"
            "weapon_slot"                    "melee"
            "act_table"                        "knife"
            "weapon_weight"                    "1"
            "weapon_cost"                    "0"
            "sounds"
            {
                "shot_single"                "Weapon_Knife.Single"
                "melee_hit"                    "Weapon_Knife.Melee_Hit"
                "melee_hit_world"            "Weapon_Knife.Melee_HitWorld"
            }
            "melee"
            {
                "MeleeRange"                "75"
                "MeleeDamage"                "60"
                "MeleeDamageBehindBonus"    "200"
                "MeleeDamageType"            "DMG_SLASH"
                "MeleeWeaponIdleTime"        "2"
                "SwingAttacks"
                {
                    "slash1"
                    {
                        "Activity"                "ACT_VM_HITCENTER"
                        "PlayerAtivity"            "ACT_SHOOT_E2W_BAT"
                        "PlayerActivityIdle"    "ACT_SHOOT_E2W_IDLE_BAT"
                        "StartTime"                "0.1"
                        "EndTime"                "0.34"
                        "Duration"                "0.9"
                        "StartDirection"        "E"
                        "EndDirection"            "W"
                        "ForceDirection"        "15 -40 0"
                    }
                }
            }
            "team_access"    "security, insurgent"
        }

        //========================================
        // PISTOLS
        //========================================
        "weapon_makarov"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "pistol"
            "print_name"                    "#weapon_makarov"
            "view_model"                    "models/weapons/v_makarov.mdl"
            "world_model"                    "models/weapons/w_makarov.mdl"
            "rounds_per_minute"                "700"
            "weapon_slot"                    "secondary"
            "act_table"                        "pistol"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "14" // (0.7kg[weapon] + (0.1kg[ammo] * (1+4)[mags]) )*10[kg->hg for int]  +2[encumbrance]
            "weapon_cost"                    "1"
            "fov"
            {
                "fov_plr_ironsight"            "-10"
                "fov_wpn_default"            "70"
                "fov_wpn_sprint"            "66"
                "fov_wpn_ironsight"            "70"
            }
            "sounds"
            {
                "shot_single"                "Weapon_Makarov.Single"
                "shot_single_local"            "Weapon_Makarov.SingleLocal"
                "shot_silent"                "Weapon_Makarov.SingleSilenced"
                "shot_silent_local"            "Weapon_Makarov.SingleSilencedLocal"
                "empty"                        "Weapon_Makarov.Empty"
                "magin"                        "Weapon_Makarov.Clipin"
                "magout"                    "Weapon_Makarov.Clipout"
                "slide_back"                "Weapon_Makarov.slideback"
                "slide_forward"                "Weapon_Makarov.slideforward"
                "safety"                    "Weapon_Makarov.safety"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_makarov_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_makarov_3rd"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.6 0.6"
                "recoil_vertical_range"        "2.2 2.4"
                "recoil_roll_range"            "-0.4 0.4"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "8"
                "recoil_rest_delay"            "0.05"
            }
            "ballistics"
            {
                "spread"                    "0.5 0.5 0.5"
                "FireModes"                    "semi"
                "bulletcount"                "1"
                "maxrange"                    "6000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "9x18mm"
                "clip_max"                    "10"
                "clip_max_rounds"            "8"
                "clip_default"                "2"
            }
            "attachments"
            {
                "attachment_addon"            "pistol"
            }
            "team_access"    "insurgent"
        }
        
        //========================================
        // ASSAULT RIFLES
        //========================================
        
        "weapon_m16a4"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "rifle_controlled_fire"
            "print_name"                    "#weapon_m16"
            "view_model"                    "models/weapons/v_m16a3.mdl"
            "world_model"                    "models/weapons/w_m16.mdl"
            "rounds_per_minute"                "900"
            "burst_delay"                    "0.22"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "93" // (3.3kg[weapon] + (0.4kg[ammo] * (1+8)[mags]) )*10[kg->hg for int]  +24[encumbrance]    
            "weapon_cost"                    "1"
            "viewmodel_attachments"
            {
                "flipsights"
                {
                    "model"                        "models/weapons/upgrades/a_flipsight_01.mdl"
                    "fallback_for_slot"            "optics"
                }
            }
            "fov"
            {
                "fov_plr_ironsight"            "-25"
                "fov_wpn_default"            "60"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "68"
            }
            "sounds"
            {
                "shot_single"                "Weapon_M16A4.Single"
                "shot_single_local"            "Weapon_M16A4.SingleLocal"
                "shot_silent"                "Weapon_M16A4.SingleSilenced"
                "shot_silent_local"            "Weapon_M16A4.SingleSilencedLocal"
                "empty"                        "Weapon_M16A4.Empty"
                "clipin"                    "Weapon_M16A4.Magin"
                "clipout"                    "Weapon_M16A4.Magout"
                "boltback"                    "Weapon_M16A4.Boltback"
                "boltrelease"                "Weapon_M16A4.Boltrelease"
                "rofdown"                    "Weapon_M16A4.ROF"
                "rofup"                        "Weapon_M16A4.ROF"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_m16_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_m16_3rd"    
                "particle_tracer"            "weapon_tracers_m16"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.3 0.6"
                "recoil_vertical_range"        "1.2 1.4"
                "recoil_roll_range"            "-0.4 0.4"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "12"
                "recoil_rest_delay"            "0.02"
            }
            "ballistics"
            {
                "spread"                    "0.18 0.18 0.18"
                "FireModes"                    "burst, semi"
                "bulletcount"                "1"
                "maxrange"                    "10000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "556_stanag"
                "clip_max"                    "12"
                "clip_max_rounds"            "30"
                "clip_default"                "4"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "security"
        }
        
        "weapon_m4a1"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "rifle_automatic_fire"
            "print_name"                    "#weapon_m4a1"
            "view_model"                    "models/weapons/v_m4.mdl"
            "world_model"                    "models/weapons/w_m16.mdl"
            "rounds_per_minute"                "700"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "80" // (2.8kg[weapon] + (0.4kg[ammo] * (1+8)[mags]) )*10[kg->hg for int]  +16[encumbrance]
            "weapon_cost"                    "1"
            "viewmodel_attachments"
            {
                "flipsights"
                {
                    "model"                        "models/weapons/upgrades/a_flipsight_01.mdl"
                    "fallback_for_slot"            "optics"
                }
            }
            "fov"
            {
                "fov_plr_ironsight"            "-25"
                "fov_wpn_default"            "60"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "68"
            }
            "sounds"
            {
                "shot_single"                "Weapon_M4a1.Single"
                "shot_single_local"            "Weapon_M4a1.SingleLocal"
                "shot_silent"                "Weapon_M4a1.SingleSilenced"
                "shot_silent_local"            "Weapon_M4a1.SingleSilencedLocal"
                "empty"                        "Weapon_M4a1.Empty"
                "clipin"                    "Weapon_M4a1.Magin"
                "clipout"                    "Weapon_M4a1.Magout"
                "boltback"                    "Weapon_M4a1.Boltback"
                "boltrelease"                "Weapon_M4a1.Boltrelease"
                "rofdown"                    "Weapon_M4a1.ROF"
                "rofup"                        "Weapon_M4a1.ROF"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_m16_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_m16_3rd"    
                "particle_tracer"            "weapon_tracers_m16"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.4 0.7"
                "recoil_vertical_range"        "1.5 1.8"
                "recoil_roll_range"            "-0.4 0.4"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "12"
                "recoil_rest_delay"            "0.02"
            }
            "ballistics"
            {
                "spread"                    "0.22 0.22 0.22"
                "FireModes"                    "semi, full"
                "bulletcount"                "1"
                "maxrange"                    "10000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "556_stanag_m4"
                "clip_max"                    "12"
                "clip_max_rounds"            "30"
                "clip_default"                "4"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "security"
        }
        
        "weapon_akm"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "rifle_automatic_fire"
            "print_name"                    "#weapon_akm"
            "view_model"                    "models/weapons/v_akm.mdl"
            "world_model"                    "models/weapons/w_akm.mdl"
            "rounds_per_minute"                "600"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "99" // (3.5kg[weapon] + (0.8kg[ammo] * (1+4)[mags]) )*10[kg->hg for int]  +24[encumbrance]
            "weapon_cost"                    "1"
            "fov"
            {
                "priority"                    "0"
                "fov_plr_ironsight"            "-25"
                "fov_wpn_default"            "60"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "68"
            }
            "sounds"
            {
                "shot_single"                "Weapon_AK47.Single"
                "shot_single_local"            "Weapon_AK47.SingleLocal"
                "shot_silent"                "Weapon_AK47.SingleSilenced"
                "shot_silent_local"            "Weapon_AK47.SingleSilencedLocal"
                "empty"                        "Weapon_AK47.Empty"
                "clipin"                    "Weapon_AK47.Magin"
                "clipout"                    "Weapon_AK47.Magout"
                "boltback"                    "Weapon_AK47.Boltback"
                "boltrelease"                "Weapon_AK47.Boltrelease"
                "rofdown"                    "Weapon_AK47.ROF"
                "rofup"                        "Weapon_AK47.ROF"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_akm_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_akm_3rd"    
                "particle_tracer"            "weapon_tracers_akm"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.5 0.8"
                "recoil_vertical_range"        "1.9 2.2"
                "recoil_roll_range"            "-0.5 0.5"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "10"
                "recoil_rest_delay"            "0.03"
            }
            "ballistics"
            {
                "spread"                    "0.22 0.22 0.22"
                "FireModes"                    "semi, full"
                "bulletcount"                "1"
                "maxrange"                    "10000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "762x38_box"
                "clip_max"                    "12"
                "clip_max_rounds"            "30"
                "clip_default"                "4"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "insurgent"
        }
        
        //========================================
        // SEMI-AUTOMATIC RIFLES AND CARBINES
        //========================================
        
        "weapon_mini14"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "rifle_controlled_fire"
            "print_name"                    "#weapon_mini14"
            "view_model"                    "models/weapons/v_mini14.mdl"
            "world_model"                    "models/weapons/w_mini14.mdl"
            "rounds_per_minute"                "600"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "78" // (2.9kg[weapon] + (0.3kg[ammo] * (1+10)[mags]) )*10[kg->hg for int]  +16[encumbrance]
            "weapon_cost"                    "1"
            "fov"
            {
                "fov_plr_ironsight"            "-30"
                "fov_wpn_default"            "60"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "66"
            }
            "sounds"
            {
                "shot_single"                 "Weapon_Mini14.Single"
                "shot_single_local"             "Weapon_Mini14.SingleLocal"
                "shot_silent"                "Weapon_Mini14.SingleSilenced"
                "shot_silent_local"            "Weapon_Mini14.SingleSilencedLocal"
                "empty"                         "Weapon_Mini14.Empty"
                "clipin"                     "Weapon_Mini14.Clipin"
                "clipout"                     "Weapon_Mini14.Clipout"
                "boltback"                     "Weapon_Mini14.Boltback"
                "boltforward"                 "Weapon_Mini14.Boltforward"
                "hit"                         "Weapon_Mini14.Hit"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_mp5_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_m14_3rd"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.2 0.4"
                "recoil_vertical_range"        "1.4 1.8"
                "recoil_roll_range"            "-0.4 0.4"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "7"
                "recoil_rest_delay"            "0.05"
            }
            "ballistics"
            {
                "spread"                    "0.19 0.19 0.19"
                "FireModes"                    "semi"
                "bulletcount"                "1"
                "maxrange"                    "10000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "556_box"
                "clip_max"                    "12"
                "clip_max_rounds"            "20"
                "clip_default"                "4"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "security"
        }
        
        "weapon_m1a1"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "rifle_controlled_fire"
            "print_name"                    "#weapon_m1a1"
            "view_model"                    "models/weapons/v_m1a1.mdl"
            "world_model"                    "models/weapons/w_m1a1.mdl"
            "rounds_per_minute"                "600"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "73" // (2.4kg[weapon] + (0.3kg[ammo] * (1+10)[mags]) )*10[kg->hg for int]  +16[encumbrance]
            "weapon_cost"                    "1"
            "fov"
            {
                "fov_plr_ironsight"            "-30"
                "fov_wpn_default"            "60"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "65"
            }
            "sounds"
            {
                "shot_single"                 "Weapon_m1a1.Single"
                "shot_single_local"             "Weapon_M1A1.SingleLocal"
                "shot_silent"                "Weapon_M1a1.SingleSilenced"
                "shot_silent_local"            "Weapon_M1A1.SingleSilencedLocal"
                "empty"                         "Weapon_M1A1.Empty"
                "clipin"                     "Weapon_M1A1.Magin"
                "clipout"                     "Weapon_M1A1.Magout"
                "boltback"                     "Weapon_M1A1.Boltback"
                "boltforward"                 "Weapon_M1A1.Boltrelease"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_mp5_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_m14_3rd"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.2 0.4"
                "recoil_vertical_range"        "1.8 2.2"
                "recoil_roll_range"            "-0.4 0.4"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "7"
                "recoil_rest_delay"            "0.05"
            }
            "ballistics"
            {
                "spread"                    "0.19 0.19 0.19"
                "FireModes"                    "semi"
                "bulletcount"                "1"
                "maxrange"                    "10000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "30_carbine"
                "clip_max"                    "12"
                "clip_max_rounds"            "15"
                "clip_default"                "4"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "insurgent"
        }
        
        "weapon_sks"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "rifle_controlled_fire"
            "print_name"                    "#weapon_sks"
            "view_model"                    "models/weapons/v_sks.mdl"
            "world_model"                    "models/weapons/w_sks.mdl"
            "rounds_per_minute"                "600"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "103" // (3.9kg[weapon] + (0.8kg[ammo] * (1+4)[mags]) )*10[kg->hg for int]  +24[encumbrance]
            "weapon_cost"                    "1"
            "fov"
            {
                "fov_plr_ironsight"            "-30"
                "fov_wpn_default"            "68"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "76"
            }
            "sounds"
            {
                "shot_single"                 "Weapon_SKS.Single"
                "shot_single_local"             "Weapon_SKS.SingleLocal"
                "shot_silent"                "Weapon_SKS.SingleSilenced"
                "shot_silent_local"            "Weapon_SKS.SingleSilencedLocal"
                "empty"                         "Weapon_SKS.Empty"
                "clipin"                     "Weapon_SKS.Clipin"
                "clipout"                     "Weapon_SKS.Clipout"
                "boltback"                     "Weapon_SKS.Boltback"
                "boltforward"                 "Weapon_SKS.Boltforward"
                "hit"                         "Weapon_SKS.Hit"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_mp5_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_sks_3rd"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.5 1.5"
                "recoil_vertical_range"        "0.9 1.4"
                "recoil_roll_range"            "-0.6 0.6"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "7"
                "recoil_rest_delay"        "0.05"
            }
            "ballistics"
            {
                "spread"                    "0.16 0.16 0.16"
                "FireModes"                    "semi"
                "bulletcount"                "1"
                "maxrange"                    "12000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "762x38mm_clip"
                "clip_max"                    "12"
                "clip_max_rounds"            "30"
                "clip_default"                "4"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "insurgent"
        }
        
        //========================================
        // SNIPER RIFLES
        //========================================
        
        "weapon_mosin"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "sniper_rifle"
            "weapon_cost"                    "2"
            "print_name"                    "#weapon_mosin"
            "view_model"                    "models/weapons/v_mosin.mdl"
            "world_model"                    "models/weapons/w_mosin.mdl"
            "rounds_per_minute"                "40"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "106" // (4.0kg[weapon] + (0.2kg[ammo] * (1+16)[mags]) )*10[kg->hg for int]  +32[encumbrance]
            
            "fov"
            {
                "fov_wpn_scope"                "13"
                "fov_plr_ironsight"            "-10"
                "fov_wpn_default"            "60"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "50"
            }
            "sounds"
            {
                "shot_single"                "Weapon_Mosin.Single"
                "shot_single_local"            "Weapon_Mosin.SingleLocal"
                "empty"                        "Weapon_Mosin.Empty"
                "clipin"                    "Weapon_Mosin.Clipin"
                "clipout"                    "Weapon_Mosin.Clipout"
                "boltback"                    "Weapon_Mosin.Boltback"
                "boltforward"                "Weapon_Mosin.Boltforward"
                "hit"                        "Weapon_Mosin.Hit"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_sks_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_sks_3rd"
                "particle_tracer"            "weapon_tracers_mosin"        
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.8 1.9"
                "recoil_vertical_range"        "2.4 3.2"
                "recoil_roll_range"            "-0.5 0.5"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "6"
                "recoil_rest_delay"        "0.05"
            }
            "ballistics"
            {
                "spread"                    "0.08 0.08 0.08"
                "FireModes"                    "bolt"
                "bulletcount"                "1"
                "maxrange"                    "20000"
                "singleReload"                "1"
            }
            "ammo_clip"
            {
                "ammo_type"                    "762x54mm"
                "clip_max"                    "60"
                "clip_max_rounds"            "5"
                "clip_default"                "20"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "insurgent"
        }
        
        //========================================
        // LIGHT MACHINE GUNS
        //========================================
        
        "weapon_m249"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "lmg"
            "weapon_cost"                    "2"
            "print_name"                    "#weapon_m249"
            "view_model"                    "models/weapons/v_m249.mdl"
            "world_model"                    "models/weapons/w_m249.mdl"
            "rounds_per_minute"                "775"
            "weapon_slot"                    "primary"
            "act_table"                        "lmg"
            "weapon_abilities"                "ironsight, bipod"
            "weapon_weight"                    "175" // (7.5kg[weapon] + (2.5kg[ammo] * (1+1)[mags]) )*10[kg->hg for int]  +50[encumbrance]
            
            "fov"
            {
                "fov_plr_ironsight"            "-30"
                "fov_plr_bipod"                "-10"
                "fov_wpn_default"            "60"
                "fov_wpn_sprint"            "60"
                "fov_wpn_ironsight"            "68"
                "fov_wpn_bipod"                "54"
            }
            "viewmodel_offsets"
            {
                // x back, y left, z down
                "VMOffsetProne"                    "0.50 0.00 1.50"
            }
            "sounds"
            {
                "shot_single"                "Weapon_M249.Single"
                "shot_single_local"            "Weapon_M249.SingleLocal"
                "empty"                        "Weapon_M249.Empty"
                "clipin"                    "Weapon_M249.Magin"
                "clipout"                    "Weapon_M249.Magout"
                "boltback"                    "Weapon_M249.Boltback"
                "boltrelease"                "Weapon_M249.Boltrelease"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_akm_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_akm_3rd"    
                "particle_tracer"            "weapon_tracers_akm"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.4 0.7"
                "recoil_vertical_range"        "4.75 5.15"
                "recoil_roll_range"            "-0.5 0.5"
                "recoil_aim_punch"            "0.0 0.35"
                "recoil_rest_rate"            "20"
                "recoil_rest_delay"            ".05"
                
                "RecoilIronSightFracByWeight"
                {
                    "0"                        "0.7"
                }
                
                "RecoilBipodFracByWeight"
                {
                    "0"                        "0.3"
                }
                
                "RecoilCrouchFracByWeight"
                {
                    "0"                        "0.80"
                }
            }
            "ballistics"
            {
                "spread"                    "0.24 0.24 0.24"
                "FireModes"                    "full"
                "bulletcount"                "1"
                "maxrange"                    "8000"
                "LowAmmoCount"                "15"
            }
            "ammo_clip"
            {
                "ammo_type"                    "556_m27"
                "clip_max"                    "4"
                "clip_max_rounds"            "200"
                "clip_default"                "1"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "security"
        }
        
        "weapon_rpk"
        {
            "import"                        "weapon_akm"
            "view_model"                    "models/weapons/v_rpk.mdl"
            "weapon_class"                    "lmg"
            "weapon_cost"                    "2"
            "print_name"                    "#weapon_rpk"
            "rounds_per_minute"                "600"
            "weapon_slot"                    "primary"
            "act_table"                        "lmg"
            "weapon_abilities"                "ironsight, bipod"
            "weapon_weight"                    "158" // (4.8kg[weapon] + (2.0kg[ammo] * (1+2)[mags]) )*10[kg->hg for int]  +50[encumbrance]
            
            "fov"
            {
                "fov_plr_bipod"                "-10"
                "fov_wpn_bipod"                "52"
            }
            
            "viewmodel_offsets"
            {
                // x back, y left, z down
                "VMOffsetProne"                    "0.50 0.00 2.00"
            }
            
            "recoil"
            {
                "recoil_lateral_range"        "-0.4 0.7"
                "recoil_vertical_range"        "2.1 2.5"
                "recoil_roll_range"            "-0.5 0.5"
                "recoil_aim_punch"            "0.0 0.35"
                "recoil_rest_rate"            "20"
                "recoil_rest_delay"            ".05"
                
                "RecoilIronSightFracByWeight"
                {
                    "0"                        "0.95"
                }
                
                "RecoilBipodFracByWeight"
                {
                    "0"                        "0.65"
                }
                
                "RecoilCrouchFracByWeight"
                {
                    "0"                        "0.80"
                }
            }
            "ballistics"
            {
                "spread"                    "0.24 0.24 0.24"
                "FireModes"                    "semi, full"
                "bulletcount"                "1"
                "maxrange"                    "10000"
            }
            "ammo_clip"
            {
                "ammo_type"                    "762x38_drum"
                "clip_max"                    "6"
                "clip_max_rounds"            "75"
                "clip_default"                "2"
            }
            "sounds"
            {
                "shot_single"                "Weapon_RPK.Single"
                "shot_single_local"            "Weapon_RPK.SingleLocal"
                "empty"                        "Weapon_RPK.Empty"
                "clipin"                    "Weapon_RPK.Magin"
                "clipout"                    "Weapon_RPK.Magout"
                "boltback"                    "Weapon_RPK.Boltback"
                "boltrelease"                "Weapon_RPK.Boltrelease"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "insurgent"
        }
        
        //========================================
        // SHOTGUNS
        //========================================
        
        "weapon_m590"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "shotgun"
            "weapon_cost"                    "2"
            "print_name"                    "#weapon_m590"
            "view_model"                    "models/weapons/v_m590.mdl"
            "world_model"                    "models/weapons/w_m590.mdl"
            "rounds_per_minute"                "90"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "82" // (2.5kg[weapon] + (0.3kg[ammo] * (1+10)[mags]) )*10[kg->hg for int]  +24[encumbrance]
            
            "fov"
            {
                "fov_wpn_scope"                "0"
                "fov_plr_ironsight"            "-25"
                "fov_wpn_default"            "50"
                "fov_wpn_sprint"            "54"
                "fov_wpn_ironsight"            "70"
            }
            "sounds"
            {
                "shot_single"                "Weapon_M1014.Single"
                "shot_single_local"            "Weapon_M1014.SingleLocal"
                "empty"                        "Weapon_M1014.Empty"
                "boltback"                    "Weapon_M1014.BoltBack"
                "boltrelease"                "Weapon_M1014.BoltRelease"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_m590_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_m590_3rd"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.4 0.8"
                "recoil_vertical_range"        "8 8"
                "recoil_roll_range"            "-0.5 0.5"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "7"
                "recoil_rest_delay"        "0.05"
            }
            "ballistics"
            {
                "spread"                    "1.10 1.10 0.00"
                "FireModes"                    "pump"
                "bulletcount"                "8"
                "maxrange"                    "3000"
                "singleReload"                "1"
            }
            "ammo_clip"
            {
                "ammo_type"                    "buckshot"
                "clip_max"                    "72"
                "clip_max_rounds"            "6"
                "clip_default"                "24"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "security"
        }
        
        "weapon_toz"
        {
            "import"                        "ballistic_base"
            "weapon_class"                    "shotgun"
            "weapon_cost"                    "2"
            "print_name"                    "#weapon_toz"
            "view_model"                    "models/weapons/v_toz.mdl"
            "world_model"                    "models/weapons/w_m590.mdl"
            "rounds_per_minute"                "80"
            "weapon_slot"                    "primary"
            "act_table"                        "shortrifle"
            "weapon_abilities"                "ironsight"
            "weapon_weight"                    "89" // (3.2kg[weapon] + (0.3kg[ammo] * (1+10)[mags]) )*10[kg->hg for int]  +24[encumbrance]
            
            "fov"
            {
                "fov_wpn_scope"                "0"
                "fov_plr_ironsight"            "-25"
                "fov_wpn_default"            "50"
                "fov_wpn_sprint"            "54"
                "fov_wpn_ironsight"            "62"
            }
            
            "viewmodel_attachments"
            {                
                "ModKit02"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_02.mdl"
                }
            }
            
            "sounds"
            {
                "shot_single"                "Weapon_TOZ.Single"
                "shot_single_local"            "Weapon_TOZ.SingleLocal"
                "empty"                        "Weapon_TOZ.Empty"
                "boltback"                    "Weapon_TOZ.BoltBack"
                "boltrelease"                "Weapon_TOZ.BoltRelease"
            }
            "particles"
            {
                "particle_muzzleflash_1st"    "muzzleflash_toz_1p"
                "particle_muzzleflash_3rd"    "muzzleflash_toz_3rd"    
            }
            "recoil"
            {
                "recoil_lateral_range"        "-0.4 0.8"
                "recoil_vertical_range"        "8 8"
                "recoil_roll_range"            "-0.5 0.5"
                "recoil_aim_punch"            "-0.1 0.1"
                "recoil_rest_rate"            "7"
                "recoil_rest_delay"        "0.05"
            }
            "ballistics"
            {
                "spread"                    "1.10 1.10 0.00"
                "FireModes"                    "pump"
                "bulletcount"                "8"
                "maxrange"                    "3000"
                "singleReload"                "1"
            }
            "ammo_clip"
            {
                "ammo_type"                    "buckshot"
                "clip_max"                    "72"
                "clip_max_rounds"            "6"
                "clip_default"                "24"
            }
            "attachments"
            {
                "attachment_addon"            "primary"
            }
            "team_access"    "insurgent"
        }
    }
    
    "explosives"
    {
        "rocket_rpg7"
        {
            "entity_class"                "rocket"
            "Model"                        "models/weapons/w_m67.mdl"
            "DetonateDamage"            "150"
            "DetonateDamageRadius"        "900"
            "RocketTopSpeed"            "3500" // you cannot go faster than 3500
            "RocketStartSpeed"            "200"
            "RocketAcceleration"        "400"
            "RocketWobble"                "1"
            "RocketWobbleFrequency"        "0.25"
            "Particles"
            {
                "DetonateParticle"        "ins_rpg_explosion"
                "DetonateWaterParticle"    "ins_rpg_explosion"
            }
            "Sounds"
            {
                "DetonateSound"            "Weapon_RPG7.Hit"
                "rocket_rpg7"            "Weapon_RPG7.Loop"
            }
        }
        "grenade_m67"
        {
            "import"                    "baseGrenade"
            "entity_class"                "grenade_frag"
            "Model"                        "models/weapons/w_m67.mdl"
            "DetonateDamage"            "150"
            "DetonateDamageRadius"        "900"
            "FuseTime"                    "4"
            "Particles"
            {
                "DetonateParticle"        "ins_grenade_explosion"
                "DetonateWaterParticle"    "ins_grenade_explosion"
            }
            "Sounds"
            {
                "DetonateSound"            "BaseGrenade.Explode"
                "BounceSound"            "Weapon_M67.Bounce"
            }
        }
        "grenade_m18"
        {
            "import"                    "baseGrenade"
            "entity_class"                "grenade_smoke"
            "Model"                        "models/weapons/w_m18.mdl"
            "FuseTime"                    "5"
            "Sounds"
            {
                "DetonateSound"            "BaseSmokeEffect.Sound"
                "BounceSound"            "Weapon_M18.Bounce"
            }
        }
        "grenade_m84"
        {
            "import"                    "baseGrenade"
            "entity_class"                "grenade_flash"
            "Model"                        "models/weapons/w_m84.mdl"
            "DetonateDamage"            "2.0"
            "DetonateDamageRadius"        "1537"
            "FuseTime"                    "1.4"
            "Particles"
            {
                "DetonateParticle"        "ins_grenade_explosion"
                "DetonateWaterParticle"    "ins_grenade_explosion"
            }
            "Sounds"
            {
                "DetonateSound"            "BaseStunGrenade.Explode"
                "BounceSound"            "Weapon_M84.Bounce"
            }
        }
    }

    "weapon_upgrades"
    {
        //========================================
        // MAKAROV SPECIFIC UPGRADES
        //========================================
        "ammo_hp_makarov"
        {
            "import"                        "base_ammo_hp"    
            "print_name"                    "#weapon_upgrade_hp"
            "allowed_weapons"
            {
                "weapon"                    "weapon_makarov"
            }
            "ammo_type_override"            "9x18mm_hp"
        }
        "ammo_ap_makarov"
        {
            "import"                        "base_ammo_ap"    
            "print_name"                    "#weapon_upgrade_ap"
            "allowed_weapons"
            {
                "weapon"                    "weapon_makarov"
            }
            "ammo_type_override"            "9x18mm_ap"
        }
        
        //========================================
        // AKM SPECIFIC UPGRADES
        //========================================
        "ammo_hp_akm"
        {
            "import"                        "base_ammo_hp"    
            "print_name"                    "#weapon_upgrade_hp"
            "allowed_weapons"
            {
                "weapon"                    "weapon_akm"
            }
            "ammo_type_override"            "762x38_hp_box"
        }
        "ammo_ap_akm"
        {
            "import"                        "base_ammo_ap"    
            "print_name"                    "#weapon_upgrade_ap"
            "allowed_weapons"
            {
                "weapon"                    "weapon_akm"
            }
            "ammo_type_override"            "762x38_ap_box"
        }
        "4xscope_akm"
        {
            "import"                        "base_4xscope"
            "print_name"                    "#weapon_upgrade_4xscope"
            "allowed_weapons"
            {
                "weapon"                    "weapon_akm"
            }
            "viewmodel_attachments"
            {
                "4xScope01"
                {
                    "model"                    "models/weapons/upgrades/a_4x_01.mdl"
                    "AnimIronSights"        "4x_zoom"
                    "AnimIdle"                "4x_idle"
                    "GestureIronSights"        "delta_iron_4x"
                }
                "ModKit06"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_06.mdl"
                }
            }
            "optics_fov_override"
            {
                "fov_wpn_scope"                "12"
                "fov_wpn_ironsight"            "39"
            }
        }
        "kobra_akm"
        {
            "import"                        "base_kobra"
            "print_name"                    "#weapon_upgrade_kobra"
            "allowed_weapons"
            {
                "weapon"                    "weapon_akm"
            }
            "viewmodel_attachments"
            {
                "Kobra01"
                {
                    "model"                    "models/weapons/upgrades/a_kobra_01.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_kobra"
                }
                "ModKit03"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_03.mdl"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "50"
            }
        }
        
        //========================================
        // M16A4/M4A1 SPECIFIC UPGRADES
        //========================================
        "4xscope_m16a4"
        {
            "import"                        "base_4xscope"
            "print_name"                    "#weapon_upgrade_4xscope"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m16a4"
                "weapon"                    "weapon_m4a1"
            }
            "viewmodel_attachments"
            {
                "4xScope01"
                {
                    "model"                    "models/weapons/upgrades/a_4x_01.mdl"
                    "AnimIronSights"        "4x_zoom"
                    "AnimIdle"                "4x_idle"
                    "GestureIronSights"        "delta_iron_4x"
                }
            }
            "optics_fov_override"
            {
                "fov_wpn_scope"                "12"
                "fov_wpn_ironsight"            "44"
            }
        }
        "holographic_m16a4"
        {
            "import"                        "base_holographic"
            "print_name"                    "#weapon_upgrade_holographic"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m16a4"
                "weapon"                    "weapon_m4a1"
            }
            "viewmodel_attachments"
            {
                "Eotech03"
                {
                    "model"                    "models/weapons/upgrades/a_eotech_03.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_eotech"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "63"
            }
        }
        
        //========================================
        // MINI-14 SPECIFIC UPGRADES
        //========================================
        "4xscope_mini14"
        {
            "import"                        "base_4xscope"
            "print_name"                    "#weapon_upgrade_4xscope"
            "allowed_weapons"
            {
                "weapon"                    "weapon_mini14"
            }
            "viewmodel_attachments"
            {
                "4xScope01"
                {
                    "model"                    "models/weapons/upgrades/a_4x_01.mdl"
                    "AnimIronSights"        "4x_zoom"
                    "AnimIdle"                "4x_idle"
                    "GestureIronSights"        "delta_iron_4x"
                }
            }
            "optics_fov_override"
            {
                "fov_wpn_scope"                "12"
                "fov_wpn_ironsight"            "49"
            }
        }
        "holographic_mini14"
        {
            "import"                        "base_holographic"
            "print_name"                    "#weapon_upgrade_holographic"
            "allowed_weapons"
            {
                "weapon"                    "weapon_mini14"
            }
            "viewmodel_attachments"
            {
                "Eotech01"
                {
                    "model"                    "models/weapons/upgrades/a_eotech_01.mdl"
                    "AnimIronSights"        "eotech_zoom"
                    "AnimIdle"                "eotech_idle"
                    "GestureIronSights"        "delta_iron_eotech"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "48"
            }
        }
        
        //========================================
        // M1A1 SPECIFIC UPGRADES
        //========================================
        "ammo_hp_m1a1"
        {
            "import"                        "base_ammo_hp"    
            "print_name"                    "#weapon_upgrade_hp"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m1a1"
            }
            "ammo_type_override"            "30_carbine_hp"
        }
        "ammo_ap_m1a1"
        {
            "import"                        "base_ammo_ap"    
            "print_name"                    "#weapon_upgrade_ap"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m1a1"
            }
            "ammo_type_override"            "30_carbine_ap"
        }
        "4xscope_m1a1"
        {
            "import"                        "base_4xscope"
            "print_name"                    "#weapon_upgrade_4xscope"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m1a1"
            }
            "viewmodel_attachments"
            {
                "4xScope02"
                {
                    "model"                    "models/weapons/upgrades/a_4x_02.mdl"
                    "AnimIronSights"        "4x_zoom"
                    "AnimIdle"                "4x_idle"
                    "GestureIronSights"        "delta_iron_4x"
                }
                "ModKit04"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_04.mdl"
                }
            }
            "optics_fov_override"
            {
                "fov_wpn_scope"                "12"
                "fov_wpn_ironsight"            "41"
            }
        }
        "kobra_m1a1"
        {
            "import"                        "base_kobra"
            "print_name"                    "#weapon_upgrade_kobra"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m1a1"
            }
            "viewmodel_attachments"
            {
                "Kobra02"
                {
                    "model"                    "models/weapons/upgrades/a_kobra_02.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_kobra"
                }
                "ModKit04"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_04.mdl"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "50"
            }
        }
        
        //========================================
        // SKS SPECIFIC UPGRADES
        //========================================
        "ammo_hp_sks"
        {
            "import"                        "base_ammo_hp"    
            "print_name"                    "#weapon_upgrade_hp"
            "allowed_weapons"
            {
                "weapon"                    "weapon_sks"
            }
            "ammo_type_override"            "762x38mm_hp_clip"
        }
        "ammo_ap_sks"
        {
            "import"                        "base_ammo_ap"    
            "print_name"                    "#weapon_upgrade_ap"
            "allowed_weapons"
            {
                "weapon"                    "weapon_sks"
            }
            "ammo_type_override"            "762x38mm_ap_clip"
        }
        "4xscope_sks"
        {
            "import"                        "base_4xscope"
            "print_name"                    "#weapon_upgrade_4xscope"
            "allowed_weapons"
            {
                "weapon"                    "weapon_sks"
            }
            "viewmodel_attachments"
            {
                "4xScope01"
                {
                    "model"                    "models/weapons/upgrades/a_4x_01.mdl"
                    "AnimIronSights"        "4x_zoom"
                    "AnimIdle"                "4x_idle"
                    "GestureIronSights"        "delta_iron_4x"
                }
                "ModKit04"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_04.mdl"
                }
            }
            "optics_fov_override"
            {
                "fov_wpn_scope"                "12"
                "fov_wpn_ironsight"            "45"
            }
        }
        "kobra_sks"
        {
            "import"                        "base_kobra"
            "print_name"                    "#weapon_upgrade_kobra"
            "allowed_weapons"
            {
                "weapon"                    "weapon_sks"
            }
            "viewmodel_attachments"
            {
                "Kobra02"
                {
                    "model"                    "models/weapons/upgrades/a_kobra_02.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_kobra"
                }
                "ModKit04"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_04.mdl"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "56"
            }
        }
        
        //========================================
        // M590 SPECIFIC UPGRADES
        //========================================
        "holographic_m590"
        {
            "import"                        "base_holographic"
            "print_name"                    "#weapon_upgrade_holographic"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m590"
            }
            "viewmodel_attachments"
            {
                "Eotech02"
                {
                    "model"                    "models/weapons/upgrades/a_eotech_02.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_eotech"
                }
                "ModKit05"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_05.mdl"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "60"
            }
        }
        
        //========================================
        // TOZ SPECIFIC UPGRADES
        //========================================
        "kobra_toz"
        {
            "import"                        "base_kobra"
            "print_name"                    "#weapon_upgrade_kobra"
            "allowed_weapons"
            {
                "weapon"                    "weapon_toz"
            }
            "viewmodel_attachments"
            {
                "Kobra02"
                {
                    "model"                    "models/weapons/upgrades/a_kobra_02.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_kobra"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "60"
            }
        }
        //========================================
        // SNIPER SPECIFIC UPGRADES
        //========================================
        "ammo_ap_mosin"
        {
            "import"                        "base_ammo_ap"    
            "print_name"                    "#weapon_upgrade_ap"
            "allowed_weapons"
            {
                "weapon"                    "weapon_mosin"
            }
            "ammo_type_override"            "762x54mm_ap"
        }
        
        //========================================
        // LMG SPECIFIC UPGRADES
        //========================================
        "4xscope_m249"
        {
            "import"                        "base_4xscope"
            "print_name"                    "#weapon_upgrade_4xscope"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m249"
            }
            "viewmodel_attachments"
            {
                "4xScope01"
                {
                    "model"                    "models/weapons/upgrades/a_4x_01.mdl"
                    "AnimIronSights"        "4x_zoom"
                    "AnimIdle"                "4x_idle"
                    "GestureIronSights"        "delta_iron_4x"
                }
            }
            "optics_fov_override"
            {
                "fov_wpn_scope"                "12"
                "fov_wpn_ironsight"            "44"
                //"fov_wpn_bipod"                "60"
            }
        }
        "holographic_m249"
        {
            "import"                        "base_holographic"
            "print_name"                    "#weapon_upgrade_holographic"
            "allowed_weapons"
            {
                "weapon"                    "weapon_m249"
            }
            "viewmodel_attachments"
            {
                "Eotech04"
                {
                    "model"                    "models/weapons/upgrades/a_eotech_04.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_eotech"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "63"
            }
        }        
        "ammo_ap_rpk"
        {
            "import"                        "base_ammo_ap"    
            "print_name"                    "#weapon_upgrade_ap"
            "allowed_weapons"
            {
                "weapon"                    "weapon_rpk"
            }
            "ammo_type_override"            "762x38_ap_drum"
        }
        
        "ammo_hp_rpk"
        {
            "import"                        "base_ammo_hp"    
            "print_name"                    "#weapon_upgrade_hp"
            "allowed_weapons"
            {
                "weapon"                    "weapon_rpk"
            }
            "ammo_type_override"            "762x38_hp_drum"
        }        
        
        "4xscope_rpk"
        {
            "import"                        "base_4xscope"
            "print_name"                    "#weapon_upgrade_4xscope"
            "allowed_weapons"
            {
                "weapon"                    "weapon_rpk"
            }
            "viewmodel_attachments"
            {
                "4xScope01"
                {
                    "model"                    "models/weapons/upgrades/a_4x_01.mdl"
                    "AnimIronSights"        "4x_zoom"
                    "AnimIdle"                "4x_idle"
                    "GestureIronSights"        "delta_iron_4x"
                }
                "ModKit06"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_06.mdl"
                }
            }
            "optics_fov_override"
            {
                "fov_wpn_scope"                "12"
                "fov_wpn_ironsight"            "39"
                //"fov_wpn_bipod"            "40"
            }
        }
        "kobra_rpk"
        {
            "import"                        "base_kobra"
            "print_name"                    "#weapon_upgrade_kobra"
            "allowed_weapons"
            {
                "weapon"                    "weapon_rpk"
            }
            "viewmodel_attachments"
            {
                "Kobra01"
                {
                    "model"                    "models/weapons/upgrades/a_kobra_01.mdl"
                    "AnimIronSights"        "zoom"
                    "AnimIdle"                "idle"
                    "GestureIronSights"        "delta_iron_kobra"
                }
                "ModKit03"
                {
                    "model"                    "models/weapons/upgrades/a_modkit_03.mdl"
                }
            }
            "optics_fov_override"
            {            
                "fov_wpn_ironsight"            "50"
            }
        }
        //========================================
        // NON-SPECIFIC UPGRADES
        //========================================
        "ammo_slugs"
        {
            "import"                        "base_ammo_slugs"
            "print_name"                    "#weapon_upgrade_slugs"
            
            "allowed_weapons"
            {
                "weapon"                    "weapon_m590"
                "weapon"                    "weapon_toz"
            }
        }
        "foregrip"
        {
            "import"                        "base_foregrip"
            "print_name"                    "#weapon_upgrade_foregrip"
            
            "allowed_weapons"
            {
                "weapon"                    "weapon_m16a4"
                "weapon"                    "weapon_m4a1"
                "weapon"                    "weapon_akm"
                "weapon"                    "weapon_mini14"
                "weapon"                    "weapon_m1a1"
                "weapon"                    "weapon_sks"
                "weapon"                    "weapon_m590"
                "weapon"                    "weapon_toz"
            }
        }
        "heavybarrel"
        {
            "import"                        "base_heavybarrel"
            "print_name"                    "#weapon_upgrade_heavybarrel"
            
            "allowed_weapons"
            {
                "weapon"                    "weapon_akm"
                "weapon"                    "weapon_m1a1"
                "weapon"                    "weapon_sks"
            }
        }
        "silencer"
        {
            "import"                        "base_silencer"
            "print_name"                    "#weapon_upgrade_silencer"

            "allowed_weapons"
            {
                "weapon"                    "weapon_akm"
                    "weapon"                    "weapon_m1a1"
                "weapon"                    "weapon_sks"
                
            }
        }
        "silencer_pistol"
        {
            "import"                        "base_silencer_pistol"    
            "print_name"                    "#weapon_upgrade_silencer"
            
            "allowed_weapons"
            {
            "weapon"                    "weapon_makarov"
            }
        }
        "flashlight"
        {
            "import"                        "base_flashlight"
            "print_name"                    "#weapon_upgrade_flashlight"

            "allowed_weapons"
            {
                "weapon"                    "weapon_m16a4"
                "weapon"                    "weapon_m4a1"
                "weapon"                    "weapon_akm"
                "weapon"                    "weapon_mini14"
                "weapon"                    "weapon_m1a1"
                "weapon"                    "weapon_sks"
                "weapon"                    "weapon_m590"
                "weapon"                    "weapon_toz"
            }
        }
        "flashlight_pistol"
        {
            "import"                        "base_flashlight_pistol"
            "print_name"                    "#weapon_upgrade_flashlight"
            
            "allowed_weapons"
            {
                    "weapon"                    "weapon_makarov"
            }
        }
        "lasersight"
        {
            "import"                        "base_lasersight"
            "print_name"                    "#weapon_upgrade_lasersight"
            
            "allowed_weapons"
            {
                "weapon"                    "weapon_m16a4"
                "weapon"                    "weapon_m4a1"
                "weapon"                    "weapon_akm"
                "weapon"                    "weapon_mini14"
                "weapon"                    "weapon_m1a1"
                "weapon"                    "weapon_sks"
                "weapon"                    "weapon_m590"
                "weapon"                    "weapon_toz"
            }
        }
        "lasersight_pistol"
        {
            "import"                        "base_lasersight_pistol"
            "print_name"                    "#weapon_upgrade_lasersight"
            
            "allowed_weapons"
            {
                "weapon"                    "weapon_makarov"
            }
        }
    }
}
[Image: johnwayneb.jpg]

Reply
#5
I got it to halfway work
 
[Image: PlYmoDY.png]
 
[Image: cgGC2nI.png]
 
[Image: x3cxAlH.png]
 
But I get errors in the Squad Selection screen for Security and the game crashes


EDIT: I got it to work (thanks Lag, I missed some quotes)
[Image: johnwayneb.jpg]

Reply
#6
Jihad's problems have since been solved. A simple issue of missing quotes, that's all. There should be a better warning system for when such an event is encountered, preferably including the line number.
Reply
#7
did that last patch change location of theater files? i can not find them meaning im not sure where to put my .theater file 

Reply
#8
Has anyone had success with increasing the RPG rocket speed? I tried, and it kinda worked. It went faster, but the trajectory was just ridiculous. The rockets flew like bottle rockets with the "tail" cut off.

Reply
#9
Believe it or not, there are reasons things are set to what they are set to Big Grin

Reply
#10
lol, is there a need to change the speed of the rocket?  you goof Tongue

Reply
#11
Yes, the rockets fly fairly slowly compared to IRL.

Reply
#12
Yes, we have tried to make it as fast as possible. There are issues in source that make the physics go very odd at high speed, as fisherman has found.

 

The flight time does make for a suspenseful moment where you can hit the deck when you see it coming... but we want it to go faster to and it may in the future, but this is very low priority for us.

 

The theater system is extremely powerful and we do not yet fully support custom theaters. Supporting custom theaters fully is a much higher priority and will happen relatively soon.

Reply
#13
i have made a theater file into a vpk with the correct pathing, placed it into a custom folder on my server, but i cant seem to figure out how to activate it, help please?
Reply
#14
Quote:did that last patch change location of theater files? i can not find them meaning im not sure where to put my .theater file 
 

Same question.  I had messed with them a little before and can't find them now.  They are inside a VPK file now?  
[Image: mike.gif]
[Image: b_350_20_692108_381007_FFFFFF_000000.png]
[Image: b_350_20_692108_381007_FFFFFF_000000.png]
Reply
#15
okay i have it all working except it seems like there's a lot of things you cant change in the theater? it just exits the game when i upload a theater with most changes, is there things we cant change? if so idk why there isnt a list of them from the devs. kinda confused... maybe im still doing it wrong..
Reply




Users browsing this thread: 1 Guest(s)