//
// Rotu 2.2.2 game.cfg
//

//******************************************************************************
// C O L O U R     C O D E S
//******************************************************************************
// Colors for text. Do not clear the comment in front of the color codes.
// Useful for your server name, motd msg's - Information and ref use only
//
// ^1 = Red
// ^2 = Green
// ^3 = Yellow
// ^4 = Blue
// ^5 = Cyan
// ^6 = pink/Magenta
// ^7 = White
// ^8 = Grey
// ^9 = Maroon
// ^0 = Black

//
// Debug settings
//
// These options control what debugging information is written to the g_log file
// (server_mp.log by default).
//
// Function, value, and signal messages will not be printed, regardless of these
// settings, unless you are running the debug version of rotu_svr_scripts.iwd
// (as the non-debug version has these statements removed for maximum server performance).
// Notice and error messages are always printed.  Warning messages are printed
// regardless of which version of server scripts you are running, if they are
// turned on below.

/// Most functions can print a notice when program flow reaches them.  This
/// boolean value [0|1] turns the printing of these messages off/on.
set debug_print_function_entry_messages 0
/// Print value messages?  These are used to print specific information to help
/// debug the code.  If you aren't changing the code, it is probably best to leave
/// this at 0.
set debug_print_value_messages 1
/// Print signal messages?  These are used to log when certain signals are emitted,
/// to help debug race conditions. If you aren't changing the code, it is probably best to leave
/// this at 0.
set debug_print_signal_messages 0

/// Print warning messages?  The code will sometimes print warning messages, typically
/// to inform you that there is an error or omission in the config files.  It is
/// best to leave this set to 1.
set debug_print_warning_messages 1

/// Controls how many function entrance debug statements are printed.  Roughly a
/// geometric series, i.e. each higher level prints about twice as many statements
/// as all the lower levels combined. Integer in the range of [0,7]. Regardless
/// of this setting, no function entrance messages will be printed unless
/// debug_print_function_entry_messages is turned on, and you are running the debug
/// version of the server scripts.
set debug_verbosity 0

/// Always show zombies on the minimap?  String, [0|1].
set ui_always_show_zombies "0"
/// Integers. Time, in seconds, that zombies on minimap will be visible and hidden.  Has no effect
/// unless ui_always_show_zombies is set to "0".  Setting ui_show_zombies_duration and
/// ui_hide_zombies_duration both to 0 has the effect of never showing zombies on the minimap.
set ui_show_zombies_duration 15 // show zombies for 15 seconds, then
set ui_hide_zombies_duration 45 // hide zombies for 45 seconds
/// Allow raygun to be purchased anytime? Boolean [0|1], where 0 means it can only
/// be purchased in the last half of the game, and 1 means it can be purchased anytime.
/// has no effect on the prestige requirements for special weapons.
set surv_buy_raygun_anytime 0

// Rotu 2 Settings

// Time between waves
set surv_timeout 35

set g_gametype "surv"

// Zombie Spawnprotection
set zom_spawnprot 1
set zom_spawnprot_decrease 1 // Spawnprotection decreases over time
set zom_spawnprot_time  6

//Infection
set zom_infectiontime 15
set zom_infection 1

//Difficulty
set game_difficulty 3 // 1 easy - 4 hardest
set zom_dynamicdifficulty 4 // Difficulty depends on amount of players

/// New player assistance ends at this rank, prestige zero.  Integer in the
/// range of [15,30].
set game_assistance_max_rank 30

set zom_health 9000

/// Used for Survival Quick War only ??
set surv_waveInitialZombies 30

set surv_waveIncrease 5 // New zombies per wave
set surv_wavePlayerIncrease 0.333 // Added percentage per player
set surv_waveHealthIncrease 0.15 // Zombie health increase in percentage
set surv_waveInitialSPM 300 // Spawns per 2 minutes, increases over time
set surv_wavePrepareTime 15
// set surv_dogchancemax .10 // Maximal ammount of chance a dog spawns

/// Team name for the zombies.  Default is "^9Zombies"
set g_TeamName_Axis "^9Ходячие Мертвецы"
/// Team name for the human players.  Default is "^8Survivors..."
set g_TeamName_Allies "Вы^2Ж^7ившие"

//
// Welcome Messages
//
/// Show welcome messages when a player joins the game?
/// Values: [0 | 1], where 1 = yes, true; 0 = no, false
set game_welcomemessages 1

/// Actual welcome messages.  For game-play reasons, welcome messages should be
/// limited to 4-5 messages.  Messages will be displayed in sequence.  Only
/// shown if game_welcomemessages is 1.
/// Tokens in the messages will be replaced.  The following tokens are implemented:
///     :NAME:          ==> the players name
///     :PRESTIGE:      ==> the players prestige level
///     :MAX_PRESTIGE:  ==> the maximum prestige level
///
///  N.B. Attempting to use a token that is unimplemented will cause errors and/or crashes
///
/// To help prevent G_FindConfigstringIndex: overflow... errors, try to keep all the
/// player-specific info in a single message!
set message_welcome1 "^3Добро пожаловать на ^7Reign of the ^9Undead"
set message_welcome2 "^2Уважайте ^9ВСЕХ ^3Игроков ^9и ^3Правила ^3!!!"
set message_welcome3 "Хаки, Взлом Уровня, Грубая лексика ^9БАН"
set message_welcome4 "^3:NAME:, ^2Ваш уровень престижа ^9:PRESTIGE:/:MAX_PRESTIGE:."

// Gameplay Settings
/// Zombie kill score scaling factor.  Integer in the range of [1, 10000].
/// Default is 25
set game_rewardscale 35

/// Number of upgrade points at beginning of game.  Integer in the range of [0, 100000].
/// Default is 2000
set game_startpoints 3000

/// Maximum number of barrels (excluding barrel-mounted machine guns).  Integer in
/// the range of [0, 30].  Default is 12
set game_max_barrels 12

/// Maximum number of teleporters.  Integer in the range of [0, 10].  Default is 3
set game_max_portals 3
/// Time a teleporter lasts, in seconds.  Integer in the range of [10, 99999].
/// Default is 180
set game_portal_time 200


/// Should machine guns overheat? [0|1]
set game_mg_overheat 1

/// Barrel temperature ranges from 0 to 100, cool to hot, respectively.
/// game_mg_overheat_speed is the temperature increase per 0.05 sec while firing.
/// game_mg_cooldown_speed is the temperature decrease per 0.05 sec while not firing.
/// Small changes in these values can have a large impact. Floats
set game_mg_overheat_speed 1.5
set game_mg_cooldown_speed 2.5


/// Percentage of players that need to be alive to for other players to spawn
set game_spawn_requirement 0.4
set game_class_ranks 1 // Use class ranks, disable for LAN server


// Environment
set hud_survivors_left 1 // enable or disable
set hud_survivors_down 1 // enable or disable


set env_ambient 1 // Ambient music
set env_fog 1 // Fog is awesome
set env_fog_start_distance 200
set env_fog_half_distance 480
set env_blur 0 // Blur players screens

//
// Zombies Per Wave Settings
//
/// Wave system
/// Governs how many zombies will appear in a given wave. One of [0|1|2|3]
///
/// Notation:
/// a == surv_zombies_perplayer
/// b == surv_zombies_initial
/// c == surv_zombies_perwave
/// p == players
/// w == waveNumber
/// z == zombiesInWave
///
/// surv_wavesystem 0
///     A linear function of the number of players in the game:
///     zombiesInWave = surv_zombies_perplayer * numberOfPlayersInGame + surv_zombies_initial
///     z = a*p + b
///     Need to set: surv_zombies_perplayer, surv_zombies_initial
///
/// surv_wavesystem 1
///     A linear function of the wave number:
///     zombiesInWave = surv_zombies_perwave * waveNumber + surv_zombies_initial
///     z = c*w + b
///     Need to set: surv_zombies_perwave, surv_zombies_initial
///
/// surv_wavesystem 2
///     A composition of a linear function of the wave number and a linear function of the number of players in the game:
///     zombiesInWave = (waveNumber * surv_zombies_perwave + surv_zombies_perplayer) * numberOfPlayersInGame + surv_zombies_initial
///     z = (w*c+a)*p + b
///     Need to set: surv_zombies_perplayer, surv_zombies_perwave, surv_zombies_initial
///
/// surv_wavesystem 3
///     A linear combination of a function of the wave number and a function of the number of players in the game:
///     zombiesInWave = (surv_zombies_perwave * waveNumber) + (surv_zombies_perplayer * numberOfPlayersInGame) + surv_zombies_initial
///     z = (c*w) + (a*p) + b
///     Need to set: surv_zombies_perplayer, surv_zombies_perwave, surv_zombies_initial
///
/// See zombie_wave_calculator.xls to play around with these wave systems and parameters
set surv_wavesystem 2
set surv_zombies_initial 30
set surv_zombies_perplayer 5
set surv_zombies_perwave 5

//
// Total number of waves
//
/// The total number of waves. Integer in the range [n, 20], where n = number
/// of special waves defined + the final special wave.  Rotu 2.2 only.
set surv_total_waves 15
/// The special wave to use for the final wave.  Rotu 2.2+ only. One of
/// "boss" for a single boss, or "many_bosses" for multiple boss zombies.  Multiple
/// boss zombie option since Rotu 2.2.2
set surv_special_final "boss"
// set surv_special_final "many_bosses"

//
// Final Boss Settings
//
/// Do a round of damage to the final zombie with these types of weapons?
/// Boolean values, [0|1], false, true respectively.
set surv_boss_do_explosives 1
set surv_boss_do_primary 1
set surv_boss_do_sidearm 1
set surv_boss_do_melee 1

/// Factors to make each round of damage easier or harder.  Floats.  Values between
/// 0.0 and 1.0 make it easier, values above 1.0 make it harder.
set surv_boss_explosives_factor 2.0
set surv_boss_primary_factor 2.0
set surv_boss_sidearm_factor 2.0
set surv_boss_melee_factor 2.0

/// Factors to increase the frequency of kill balls on final zombie.  Floats.
/// Values between 0.0 and 1.0 make them less frequent, values above 1.0 make them
/// more frequent.
set surv_boss_killball_factor 1.5

//
// Special Waves
//
/// How many special waves do you want? Default: 5.
set surv_specialwaves 5

/// For Rotu 2.1, the number of surv_special[n] dictates the order the special
/// wave appears.  For Rotu 2.2, the number has no significance.
///
/// Special waves implemented: burning, toxic, runners, tank, dog, burning_dog,
/// cyclops, inferno, random.  'inferno' is a mix of burning and burning_dog.
/// 'random' is a mix of all special zombies.
///
/// For an 'easy' version of the game, we suggest not using the 'random' special
/// wave type or the burning_dog wave type, and only having about 40% of the
/// waves be special waves.

/// 1st special wave.
set surv_special1 "dog"
/// 2nd special wave.
set surv_special2 "random"
/// 3rd special wave.
set surv_special3 "toxic"
/// 4th special wave.
set surv_special4 "inferno"
/// 5th special wave.
set surv_special5 "tank"
/// 6th special wave.
set surv_special6 "burning_dog"
/// 7th special wave.
set surv_special7 "runners"
/// 8th special wave.
//  set surv_special8 "cyclops"

//
//  Second-half Difficulty
//
/// After 1/2 the waves, zombie health, damage, and run speed increases by 20% to 60%
/// to make the game harder.  This factor scales those increases.  A decimal value
/// in the range 0.0 to 1.0, where 0.0 is no increase, and 1.0 is the full hardcoded
/// increase.  Applies when surv_wave_count_system is 2.1 or 2.2
set surv_second_half_zombie_difficulty_factor 1.0

/// In regular waves, every nth zombie is a random special zombie.  Integer in the
/// range [0, 20], default is 10.
set surv_nth_zombie_is_special 20

/// How many zombies in a special wave? Scales the number of zombies the wave system
/// calculates.  Float in the range [0.0, 1.0], where 0.0 is no zombies in the wave,
/// 1.0 is the same size as if it were a regular wave.  Default is 0.33, for 1/3 as
/// many zombies as a regular wave.  Does not apply to cyclops or final zombie waves.
set surv_special_wave_size_factor 0.33


//
// Slow zombies
//
/// Use slow zombies. One of [0|1].  Default is 1.
/// 0 means no slow zombies, 1 means all slow zombies
/// Does not affect dogs and burning zombies
set surv_slow_zombies 0
set surv_slow_start 0 // deprecated

/// Decrease in the overall chance of a slow zombie with each wave. A decimal in
/// the range of [0.0, 1.0], where 0.10 is a 10% decrease in chance of a slow
/// zombie per wave.  Does not affect dogs and burning zombies.  Has no effect if
/// surv_slow_zombies is 0.
set surv_decrease_slow_zombies_per_wave 0.10

set surv_slow_waves 0 // deprecated

//
// Punishment
//
/// How many demerits before the player loses 500 rank points?  Demerits are issued
/// for damaging a teammate by killing a burning zombie, for failing to revive
/// everyone between waves, and for leveaing players down too long during a wave.
set surv_max_demotion_demerits 20

/// How many demerits to give a player when they injure a teammate by killing a
/// burning zombie
set surv_burning_zombie_demerit_size 1

/// How many demerits to give a player when they become a zombie, even though they
/// had time and money to get cured or to buy a cure
set surv_becoming_a_zombie_demerit_size 1

/// During intermission, each player is tracked to see if they had time to revive
/// zero, one, or two down/zombie teammates, and also how many players/zombies
/// they revived/killed.  For each teammate they could have revived/killed, but
/// didn't, they get one demerit times this demerit factor.  Integer in the range
/// of [1, 5]. Default is 1.
set surv_intermission_revive_failure_demerit_factor 1

//
// End of round reviving
//
/// Automatically revive players at the end of each round. One of [0|1]
set surv_endround_revive 0

// Survival Settings
/// Type of survival game.  One of "waves_special" or "waves_endless"
set surv_defaultmode "waves_special"

/// Weapon and ammo mode.  One of "upgrade" or "wawzombies"
set surv_weaponmode "upgrade"

/// Only if surv_weaponmode == "wawzombies"
set surv_waw_spawnprimary "none"                // Primary weapon
set surv_waw_spawnsecondary "beretta_mp"    // Secondary weapon
set surv_waw_costs 750                     // cost of a new weapon
set surv_waw_alwayspay 1                    // Pay when using or when bought

/// Shop costs
/// Costs are in upgrade points. Valid values are integers in the range [1, 250000]
set shop_item1_costs 2000           // Restore Health.      Default: 2000
set shop_item2_costs 1500           // Restore Ammo         Default: 1500
set shop_item3_costs 3500           // Cure Infection       Default: 3500
set shop_item4_costs 1000           // Grenades             Default: 1000
set shop_item5_costs 9000           // C4                   Default: 10000

set shop_defensive1_costs 1000      // Barrel               Default: 1000
set shop_defensive2_costs 1250      // Claymore             Default: 1250
set shop_defensive3_costs 1750      // Exploding Barrel     Default: 1750
set shop_defensive4_costs 4000      // Grenade Turret       Default: 4000
set shop_defensive5_costs 7500      // MG+Barrel was 10000  Default: 7500
set shop_defensive6_costs 10000     // Minigun Turret       Default: 10000
set shop_defensive7_costs 10000     // Portal               Default: 10000
set shop_defensive8_costs 10000     // TNT                  Default: 10000

/// Trap costs
set trap_central_costs 10000        // Central trap      Default: 10000
set trap_rotating_costs 5000        // Rotating trap     Default: 5000
set trap_spike_costs 5000           // Spike trap        Default: 5000
set trap_fire_costs 5000            // Fire trap         Default: 5000
set trap_electric_costs 5000        // Electric trap     Default: 5000
