//this file is part of eMule
//Copyright (C)2002-2006 Merkur ( strEmail.Format("%s@%s", "devteam", "emule-project.net") / http://www.emule-project.net )
//
//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either
//version 2 of the License, or (at your option) any later version.
//
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

#pragma once

// -- [TEST] -Config Fichier- Loulach -->>

#include "opcodes.h"

#ifndef DEFAULTS
#define DEFAULTS


// MOD: TCR - [TCPConnectionRetry]
#define VAL_TCP_CON_RETRY_MIN	1
#define VAL_TCP_CON_RETRY_DEF	2
#define VAL_TCP_CON_RETRY_MAX	3
// MOD: TCR END

// MOD: IPS - [InteligentPartSharing]
#define TIM_IPS_TIMER_MIN	10
#define TIM_IPS_TIMER_DEF	60
#define TIM_IPS_TIMER_MAX	120

#define VAL_IPS_MAX_MIN		1
#define VAL_IPS_MAX_DEF		75
#define VAL_IPS_MAX_MAX		100

#define VAL_IPS_OA_MIN1		1.10F
#define VAL_IPS_OA_DEF1		2.0F
#define VAL_IPS_OA_MAX1		20.0F

#define VAL_IPS_OA_MIN2		1.0F
#define VAL_IPS_OA_DEF2		5.0F
#define VAL_IPS_OA_MAX2		30.0F

#define VAL_IPS_OS_MIN1		1.1F
#define VAL_IPS_OS_DEF1		4.0F
#define VAL_IPS_OS_MAX1		20.0F

#define VAL_IPS_OS_MIN2		1.0F
#define VAL_IPS_OS_DEF2		5.0F
#define VAL_IPS_OS_MAX2		30.0F

#define VAL_IPS_UA_MIN1		1.1F
#define VAL_IPS_UA_DEF1		2.0F
#define VAL_IPS_UA_MAX1		10.0F

#define VAL_IPS_UA_MIN2		1.0F
#define VAL_IPS_UA_DEF2		5.0F
#define VAL_IPS_UA_MAX2		20.0F

#define VAL_IPS_OAF_MIN		1.5F
#define VAL_IPS_OAF_DEF		3.0F
#define VAL_IPS_OAF_MAX		10.0F

#define VAL_IPS_OSF_MIN		1.5F
#define VAL_IPS_OSF_DEF		3.0F
#define VAL_IPS_OSF_MAX		10.0F

#define VAL_SHOW_ALWAYS_PARTS_MIN	1
#define VAL_SHOW_ALWAYS_PARTS_DEF	2
#define VAL_SHOW_ALWAYS_PARTS_MAX	10
// MOD: IPS END

#ifdef ARGOS // MOD: NA - [NeoArgos]

#define TIM_ARGOS_TRUST_TIME_MIN		240
#define TIM_ARGOS_TRUST_TIME_DEF		360
#define TIM_ARGOS_TRUST_TIME_MAX		480

#define TIM_ARGOS_BAN_TIME_MIN			30
#define TIM_ARGOS_BAN_TIME_DEF			60
#define TIM_ARGOS_BAN_TIME_MAX			180

#define TIM_ARGOS_TRACK_TIME_MIN		60
#define TIM_ARGOS_TRACK_TIME_DEF		120
#define TIM_ARGOS_TRACK_TIME_MAX		720

#define TIM_ARGOS_GENERIC_BAN_TIME_MIN	60
#define TIM_ARGOS_GENERIC_BAN_TIME_DEF	120
#define TIM_ARGOS_GENERIC_BAN_TIME_MAX	240

#define TIM_ARGOS_BAN_BAD_TIME_MIN		60
#define TIM_ARGOS_BAN_TIME_CORRUPT_DEF	180
#define TIM_ARGOS_BAN_TIME_SCANNER_DEF	120
#define	TIM_ARGOS_BAN_TIME_FAILED_DEF	240
#define TIM_ARGOS_BAN_BAD_TIME_MAX		720

#define TIM_ARGOS_AGRESSION_INTERVALS_MIN	1
#define TIM_ARGOS_AGRESSION_INTERVALS_DEF	10
#define TIM_ARGOS_AGRESSION_INTERVALS_MAX	15

#define VAL_ARGOS_AGRESSION_THRESHOLD_MIN	2
#define VAL_ARGOS_AGRESSION_THRESHOLD_DEF	3
#define VAL_ARGOS_AGRESSION_THRESHOLD_MAX	5

#define VAL_ARGOS_FAILED_TRIES_MIN		2
#define VAL_ARGOS_FAILED_TRIES_DEF		3
#define VAL_ARGOS_FAILED_TRIES_MAX		5

#define VAL_ARGOS_FAILED_THRESHOLD_MIN	1
#define VAL_ARGOS_FAILED_THRESHOLD_DEF	12
#define VAL_ARGOS_FAILED_THRESHOLD_MAX	20

#define TIM_ARGOS_XS_EXPLOIT_INTERVALS_MIN	10
#define TIM_ARGOS_XS_EXPLOIT_INTERVALS_DEF	30
#define TIM_ARGOS_XS_EXPLOIT_INTERVALS_MAX	30

#define VAL_ARGOS_XS_EXPLOIT_THRESHOLD_MIN	2
#define VAL_ARGOS_XS_EXPLOIT_THRESHOLD_DEF	3
#define VAL_ARGOS_XS_EXPLOIT_THRESHOLD_MAX	5

#endif // ARGOS // MOD: NA END

#define VAL_RARE_FILE_MIN	15
#define VAL_RARE_FILE_DEF	50
#define VAL_RARE_FILE_MAX	50

// MOD: SR - [SpreadReask]
#define	VAL_SPREAD_REASK_MIN 1
#define	VAL_SPREAD_REASK_DEF 2
#define	VAL_SPREAD_REASK_MAX 5
// MOD: SR END


// MOD: DR - [DownloadReask]
#define MAN_REQUESTTIME		29

#define TIM_REASK_MIN		TIM_REASK_DEF
#define TIM_REASK_DEF		29
#define TIM_REASK_MAX		58

#define TIM_REASK_NNP_MIN	TIM_REASK_NNP_DEF
#define TIM_REASK_NNP_DEF	58
#define TIM_REASK_NNP_MAX	87

#define TIM_REASK_FULLQ_MIN	TIM_REASK_FULLQ_DEF
#define TIM_REASK_FULLQ_DEF	29
#define TIM_REASK_FULLQ_MAX	39
// MOD: DR END

// MOD: DS - [DropSources]
#define TIM_DROP_MIN		30
#define TIM_DROP_DEF		60
#define TIM_DROP_MAX		180

#define VAL_DROP_LIMIT_MIN(mode)	((mode == 2) ? 25 : ((mode == 3) ? 10 : 100))
#define VAL_DROP_LIMIT_DEF(mode)	((mode == 2) ? 50 : ((mode == 3) ? 40 : 400))
#define VAL_DROP_LIMIT_MAX(mode)	((mode == 2) ? 75 : ((mode == 3) ? 50 : 500))

#define VAL_CLEAN_LIMIT_MIN(mode)	((mode == 2) ? 10 : ((mode == 3) ? 3 : 10))
#define VAL_CLEAN_LIMIT_DEF(mode)	((mode == 2) ? 75 : ((mode == 3) ? 10 : 40))
#define VAL_CLEAN_LIMIT_MAX(mode)	((mode == 2) ? 50 : ((mode == 3) ? 20 : 50))

#define VAL_DROP_HQ_VALUE_MIN 1000
#define VAL_DROP_HQ_VALUE_DEF 4000
#define VAL_DROP_HQ_VALUE_MAX 5000

#define VAL_DONT_ASK_THIS_IP_TIME_MIN	30
#define VAL_DONT_ASK_THIS_IP_TIME_DEF	60
#define VAL_DONT_ASK_THIS_IP_TIME_MAX	180
// MOD: DS END

//-- [QuickStart] -- Loulach -->>
#define TIM_QUICK_START_MIN		3
#define TIM_QUICK_START_DEF		15
#define TIM_QUICK_START_MAX		30

#define VAL_QUICK_START_PF_MIN	25
#define VAL_QUICK_START_PF_DEF	75
#define VAL_QUICK_START_PF_MAX	150
//-- [QuickStart] -- Loulach --<<


#ifdef RIC // -- [ReaskOnIDChange] -- Loulach -->>

#define TIM_RECHECK_KAD_FIREWALLED_MIN	2
#define TIM_RECHECK_KAD_FIREWALLED_DEF	15
#define TIM_RECHECK_KAD_FIREWALLED_MAX	30
#endif // -- [ReaskOnIDChange] -- Loulach --<<
// MOD: TQ - [TweakUploadQueue]
#define VAL_QUEUE_OVERFLOW_MIN		1
#define VAL_QUEUE_OVERFLOW_DEF		25
#define VAL_QUEUE_OVERFLOW_MAX		100
// MOD: TQ END
#define DEF_MSG_FILTER				_T("Your client has an infinite queue|Your client is connecting too fast|fastest download speed|ZamBoR|DI-Emule|Join the L33cher|eMule FX|FXeMule|Ketamine|robot from RIAA") // MOD: NA - [NeoArgos]

#endif DEFAULTS

// -- [TEST] -Config Fichier- Loulach --<<