::ShottyFpsFix <-
{
	OnGameEvent_recalculate_holidays = function(params) { delete ::ShottyFpsFix }
    OnGameEvent_mvm_wave_complete = function(params) { delete ::ShottyFpsFix }

    function OnGameEvent_post_inventory_application(params)
    {
        local player = GetPlayerFromUserID(params.userid);
        for (local i = 0; i < 8; i++)
		{
			local weapon = NetProps.GetPropEntityArray(player, "m_hMyWeapons", i);
			if (weapon == null || weapon.GetClassname() != "tf_weapon_shotgun" && weapon.GetClassname() != "tf_weapon_shotgun_pyro")
				continue;
            
			local owner = weapon.GetOwner();
			ClientPrint(owner, 3, "TEST!!!");
            weapon.AcceptInput("$AddWeaponAttribute", 
				"explosion particle|~rd_robot_explosion_smoke_linger", null, null);
        }
    }
}
__CollectGameEventCallbacks(ShottyFpsFix);
