// Replacement Script with Insurgency Weapons (info_itemswap version)
// Replace the original map script with this one in each map .cfg that belongs to the Epstein Island maps
// Author: KernCore, logic from Nero, adapted by Garompa
// Uses Outerbeast's info_itemswap system instead of g_ClassicMode item mapping,
// so custom keyvalues (render fields, targetname/target, etc.) survive the swap.

#include "hunger/monsters/monster_th_grunt_repel"  //modified to remove parachute after 4s because in this map they wont do it otherwise for some reason

#include "../beast/info_itemswap"


#include "ins2/base"  //custom ammo is now false

//assault rifles
#include "ins2/arifl/weapon_ins2m16a4"
#include "ins2/arifl/weapon_ins2m16a1"
//battle rifles
#include "ins2/brifl/weapon_ins2m14ebr"
//handguns
#include "ins2/handg/weapon_ins2beretta"
#include "ins2/handg/weapon_ins2m29"
#include "ins2/handg/weapon_ins2deagle"
#include "ins2/handg/weapon_ins2m1911"
#include "ins2/handg/weapon_ins2glock17"
#include "ins2/handg/weapon_ins2python"
//lmgs
#include "ins2/lmg/weapon_ins2m249"
#include "ins2/lmg/weapon_ins2m60"
//explosives/launchers
#include "ins2/explo/weapon_ins2mk2"
#include "ins2/explo/weapon_ins2at4"
//shotguns
#include "ins2/shotg/weapon_ins2m590"
#include "ins2/shotg/weapon_ins2m1014"
#include "ins2/shotg/weapon_ins2coach"
//smgs
#include "ins2/smg/weapon_ins2mp5k"
#include "ins2/smg/weapon_ins2mp5sd"
//carbines
#include "ins2/carbn/weapon_ins2m4a1"
#include "ins2/carbn/weapon_ins2mk18"
//melees
#include "ins2/melee/weapon_ins2kabar"
//sniper rifles
#include "ins2/srifl/weapon_ins2m40a1"


void MapInit()
{		
    g_EngineFuncs.CVarSetFloat( "mp_hevsuit_voice", 0 );

	//SLOT 0
    INS2_KABAR::POSITION = 4;
	
	//SLOT 1
	INS2_MP5K::SLOT         		= 1;
	
	INS2_M1911::POSITION        		= 4;
	INS2_M9BERETTA::POSITION    		= 5;
	INS2_GLOCK17::POSITION      		= 6;
	INS2_PYTHON::POSITION       		= 7;
	INS2_M29::POSITION          		= 8;
	INS2_MP5K::POSITION         		= 9;
	
	//SLOT 2
	INS2_MK18::SLOT         		= 2;
	INS2_M4A1::SLOT         		= 2;
	INS2_M590::SLOT         		= 2;
	INS2_COACH::SLOT        		= 2;
	INS2_M1014::SLOT        		= 2;
	INS2_M16A1::SLOT        		= 2;
	INS2_M16A4::SLOT        		= 2;
	
	INS2_MP5SD::POSITION        		= 4;
	INS2_M4A1::POSITION         		= 5;
	INS2_MK18::POSITION         		= 6;
	INS2_M16A1::POSITION        		= 7;
	INS2_COACH::POSITION        		= 8;
	INS2_M590::POSITION         		= 9;
	INS2_M1014::POSITION        		= 10;
	INS2_M16A4::POSITION        		= 11;
	
	//SLOT 3
	INS2_AT4::SLOT          		= 3;
	INS2_AT4::POSITION          		= 5;
	
	//SLOT 4
	INS2_MK2GRENADE::POSITION   		= 5;
	
	//SLOT 5
	INS2_M40A1::SLOT        		= 5;
	INS2_M14EBR::SLOT       		= 5;
	INS2_M60::SLOT          		= 5;
	INS2_M249::SLOT         		= 5;
	
	INS2_M40A1::POSITION        		= 4;
	INS2_M14EBR::POSITION       		= 5;
	INS2_M60::POSITION          		= 6;
	INS2_M249::POSITION         		= 7;
	
	
    INS2_KABAR::Register();
    INS2_M9BERETTA::Register();
    INS2_GLOCK17::Register();
    INS2_PYTHON::Register();
    INS2_M29::Register();
    INS2_DEAGLE::Register();
    INS2_MP5SD::Register();
    INS2_MP5K::Register();
    INS2_M590::Register();
    INS2_M1014::Register();
    INS2_M16A4::Register();
    INS2_M16A1::Register();
    INS2_AT4::Register();
    INS2_MK2GRENADE::Register();
    INS2_M40A1::Register();
    INS2_M60::Register();
    INS2_M249::Register();
    INS2_M4A1::Register();
    INS2_MK18::Register();
    INS2_M14EBR::Register();
    INS2_COACH::Register();

	//Ammo replace disabled because the guns use default ammo
    dictionary dictArmas = {
		{ "weapon_crowbar",      "weapon_ins2kabar" },

        { "weapon_9mmhandgun",  "weapon_ins2beretta;weapon_ins2glock17;weapon_9mmhandgun" },
        { "weapon_glock",       "weapon_ins2beretta;weapon_ins2glock17;weapon_9mmhandgun" },
        //{ "ammo_9mmclip",       "ammo_ins2beretta" },
        //{ "ammo_glockclip",     "ammo_ins2beretta" },

        { "weapon_357",         "weapon_ins2python;weapon_ins2m29;weapon_357" },
        { "weapon_python",      "weapon_ins2python;weapon_ins2m29;weapon_357" },
        //{ "weapon_eagle",       "weapon_ins2deagle" },  
        //{ "ammo_357",           "ammo_ins2python" },

        { "weapon_9mmAR",       "weapon_ins2mp5sd;weapon_ins2mp5k;weapon_9mmAR" },
        { "weapon_9mmar",       "weapon_ins2mp5sd;weapon_ins2mp5k;weapon_9mmAR" },
        { "weapon_mp5",         "weapon_ins2mp5sd;weapon_ins2mp5k;weapon_9mmAR" },
        //{ "ammo_9mmAR",         "ammo_ins2mp5" },
        //{ "ammo_mp5clip",       "ammo_ins2mp5" },
        //{ "ammo_9mmbox",        "ammo_ins2mp5" },

        { "weapon_shotgun",     "weapon_ins2m1014;weapon_ins2m590;weapon_shotgun" },
        //{ "ammo_buckshot",      "ammo_ins2shotgun" },

        { "weapon_m16",         "weapon_ins2m16a4;weapon_ins2m16a1;weapon_ins2m4a1;weapon_ins2mk18;weapon_m16" },
        //{ "ammo_556clip",       "ammo_ins2m16" },
        //{ "ammo_ARgrenades",    "ammo_ins2m16gl" }, 
        //{ "ammo_mp5grenades",   "ammo_ins2m16gl" },

        { "weapon_rpg",         "weapon_ins2at4;weapon_rpg" },
        //{ "ammo_rpgclip",       "weapon_ins2at4" },
        { "weapon_handgrenade", "weapon_ins2mk2;weapon_handgrenade" },

        { "weapon_sniperrifle", "weapon_ins2m40a1;weapon_sniperrifle" },
        //{ "ammo_762",           "ammo_ins2m40a1" },

        { "weapon_m249",        "weapon_ins2m249;weapon_ins2m60" },
        { "weapon_saw",         "weapon_ins2m249;weapon_ins2m60" }	
        //{ "ammo_556",           "ammo_ins2m249" }
    };

    ItemSwap( dictArmas );
	
	THMonsterGruntRepel::Register();
}