mirror of
https://github.com/JezuzLizard/Public-BO2-Mods.git
synced 2025-06-07 18:47:59 -05:00
Configuration Mod has been updated with a few new features
See the readme for the patch notes.
This commit is contained in:
parent
adf15a9736
commit
d2583fb9e7
@ -8,208 +8,231 @@ init()
|
||||
//level thread onplayerconnect();
|
||||
//Useful zombie_vars, vars, and dvars:
|
||||
//Variables:
|
||||
//sets the players starting points when first joining a server
|
||||
level.player_starting_points = getDvarIntDefault( "playerStartingPoints", 500 );
|
||||
//sets the perk limit for all players
|
||||
level.perk_purchase_limit = getDvarIntDefault( "perkLimit", 4 );
|
||||
//sets the maximum number of zombies that can be on the map at once 32 max
|
||||
level.zombie_ai_limit = getDvarIntDefault( "zombieAiLimit", 24 );
|
||||
//sets the number of zombie bodies that can be on the map at once
|
||||
level.zombie_actor_limit = getDvarIntDefault( "zombieActorLimit", 32 );
|
||||
//enables midround hellhounds WARNING: causes permanent round pauses on maps that aren't bus depot, town or farm
|
||||
level.mixed_rounds_enabled = getDvarIntDefault( "midroundDogs", 0 );
|
||||
//disables the end game check WARNING: make sure to include a spectator respawner and auto revive function
|
||||
level.no_end_game_check = getDvarIntDefault( "noEndGameCheck", 0 );
|
||||
//sets the solo laststand pistol
|
||||
level.default_solo_laststandpistol = getDvar( "soloLaststandWeapon" );
|
||||
//the default laststand pistol
|
||||
level.default_laststandpistol = getDvar( "coopLaststandWeapon" );
|
||||
//set the starting weapon
|
||||
level.start_weapon = getDvar( "startWeaponZm" );
|
||||
//sets all zombies to this speed lower values result in walkers higher values sprinters
|
||||
level.zombie_move_speed = getDvarIntDefault( "zombieMoveSpeed", 1 );
|
||||
//locks the zombie movespeed to the above value
|
||||
level.zombieMoveSpeedLocked = getDvarIntDefault( "zombieMoveSpeedLocked", 0 );
|
||||
//sets whether there is a cap to the zombie movespeed active
|
||||
level.zombieMoveSpeedCap = getDvarIntDefault( "zombieMoveSpeedCap", 0 );
|
||||
//sets the value to the zombie movespeed cap
|
||||
level.zombieMoveSpeedCapValue = getDvarIntDefault( "zombieMoveSpeedCapValue", 1 );
|
||||
//sets the round number any value between 1-255
|
||||
level.round_number = getDvarIntDefault( "roundNumber", 1 );
|
||||
level.round_number = getDvarIntDefault( "cmLevelRoundNumber", 1 );
|
||||
//sets the players starting points when first joining a server
|
||||
level.player_starting_points = getDvarIntDefault( "cmPlayerStartingPoints", 500 );
|
||||
//sets the perk limit for all players
|
||||
level.perk_purchase_limit = getDvarIntDefault( "cmPlayerPerkLimit", 4 );
|
||||
//sets the maximum number of zombies that can be on the map at once 32 max
|
||||
level.zombie_ai_limit = getDvarIntDefault( "cmZombieAiLimit", 24 );
|
||||
//sets the number of zombie bodies that can be on the map at once
|
||||
level.zombie_actor_limit = getDvarIntDefault( "cmZombieActorLimit", 32 );
|
||||
//enables midround hellhounds WARNING: causes permanent round pauses on maps that aren't bus depot, town or farm
|
||||
level.mixed_rounds_enabled = getDvarIntDefault( "cmZombieMidroundDogs", 0 );
|
||||
//disables the end game check WARNING: make sure to include a spectator respawner and auto revive function
|
||||
level.no_end_game_check = getDvarIntDefault( "cmLevelNoEndGameCheck", 0 );
|
||||
//sets the solo laststand pistol
|
||||
level.default_solo_laststandpistol = getDvar( "cmPlayerSoloLaststandWeapon" );
|
||||
//the default laststand pistol
|
||||
level.default_laststandpistol = getDvar( "cmPlayerCoopLaststandWeapon" );
|
||||
//set the starting weapon
|
||||
level.start_weapon = getDvar( "cmPlayerStartWeapon" );
|
||||
//sets all zombies to this speed lower values result in walkers higher values sprinters
|
||||
level.zombie_move_speed = getDvarIntDefault( "cmZombieMoveSpeed", 1 );
|
||||
//locks the zombie movespeed to the above value
|
||||
level.cmZombieMoveSpeedLocked = getDvarIntDefault( "cmZombieMoveSpeedLocked", 0 );
|
||||
//sets whether there is a cap to the zombie movespeed active
|
||||
level.cmZombieMoveSpeedCap = getDvarIntDefault( "cmZombieMoveSpeedCap", 0 );
|
||||
//sets the value to the zombie movespeed cap
|
||||
level.cmZombieMoveSpeedCapValue = getDvarIntDefault( "cmZombieMoveSpeedCapValue", 1 );
|
||||
//sets the zombies move animation valid inputs are "walk", "run", "sprint", "super_sprint", and tranzit only "chase_bus"
|
||||
level.cmZombieMoveAnimation = getDvar( "cmZombieMoveAnimation" );
|
||||
//enables the override for zombies per round
|
||||
level.overrideZombieTotalPermanently = getDvarIntDefault( "overrideZombieTotalPermanently", 0 );
|
||||
level.cmZombieTotalPermanentOverride = getDvarIntDefault( "cmZombieTotalPermanentOverride", 0 );
|
||||
//sets the number of zombies per round to the value indicated
|
||||
level.overrideZombieTotalPermanentlyValue = getDvarIntDefault( "overrideZombieTotalPermanentlyValue", 6 );
|
||||
level.cmZombieTotalPermanentOverrideValue = getDvarIntDefault( "cmZombieTotalPermanentOverrideValue", 6 );
|
||||
//enables the override for zombie health
|
||||
level.overrideZombieHealthPermanently = getDvarIntDefault( "overrideZombieHealthPermanently", 0 );
|
||||
level.cmZombieHealthPermanentOverride = getDvarIntDefault( "cmZombieHealthPermanentOverride", 0 );
|
||||
//sets the health of zombies every round to the value indicated
|
||||
level.overrideZombieHealthPermanentlyValue = getDvarIntDefault( "overrideZombieHealthPermanentlyValue", 150 );
|
||||
level.cmZombieHealthPermanentOverrideValue = getDvarIntDefault( "cmZombieHealthPermanentOverrideValue", 150 );
|
||||
//enables the health cap override so zombies health won't grow beyond the value indicated
|
||||
level.overrideZombieMaxHealth = getDvarIntDefault( "overrideZombieMaxHealth", 0 );
|
||||
level.cmZombieMaxHealthOverride = getDvarIntDefault( "cmZombieMaxHealthOverride", 0 );
|
||||
//sets the maximum health zombie health will increase to
|
||||
level.overrideZombieMaxHealthValue = getDvarIntDefault( "overrideZombieMaxHealthValue" , 150 );
|
||||
level.cmZombieMaxHealthOverrideValue = getDvarIntDefault( "cmZombieMaxHealthOverrideValue" , 150 );
|
||||
//sets the players maximum health zombies do 60 damage so 121 would be 3 hits 181 would be 4 and so on
|
||||
level.cmPlayerMaxHealth = getDvarIntDefault( "cmPlayerMaxHealth", 100 );
|
||||
|
||||
|
||||
//disables walkers
|
||||
level.disableWalkers = getDvarIntDefault( "disableWalkers", 0 );
|
||||
if ( level.disableWalkers )
|
||||
level.cmZombieDisableWalkers = getDvarIntDefault( "cmZombieDisableWalkers", 0 );
|
||||
if ( level.cmZombieDisableWalkers )
|
||||
{
|
||||
level.speed_change_round = undefined;
|
||||
}
|
||||
//set afterlives on mob to 1 like a normal coop match and sets the prices of doors on origins to be higher
|
||||
level.disableSoloMode = getDvarIntDefault( "disableSoloMode", 0 );
|
||||
if ( level.disableSoloMode )
|
||||
level.cmLevelSoloModeDisabled = getDvarIntDefault( "cmLevelSoloModeDisabled", 0 );
|
||||
if ( level.cmLevelSoloModeDisabled )
|
||||
{
|
||||
level.is_forever_solo_game = undefined;
|
||||
}
|
||||
//disables all drops
|
||||
level.zmPowerupsNoPowerupDrops = getDvarIntDefault( "zmPowerupsNoPowerupDrops", 0 );
|
||||
level.cmPowerupNoPowerupDrops = getDvarIntDefault( "cmPowerupNoPowerupDrops", 0 );
|
||||
|
||||
//Zombie_Vars:
|
||||
//The reason zombie_vars are first set to a var is because they don't reliably set when set directly to the value of a dvar
|
||||
//sets the maximum number of drops per round
|
||||
level.maxPowerupsPerRound = getDvarIntDefault( "maxPowerupsPerRound", 4 );
|
||||
level.zombie_vars["zombie_powerup_drop_max_per_round"] = level.maxPowerupsPerRound;
|
||||
level.cmPowerupMaxPerRound = getDvarIntDefault( "cmPowerupMaxPerRound", 4 );
|
||||
level.zombie_vars["zombie_powerup_drop_max_per_round"] = level.cmPowerupMaxPerRound;
|
||||
//sets the powerup drop rate lower is better
|
||||
level.powerupDropRate = getDvarIntDefault( "powerupDropRate", 2000 );
|
||||
level.zombie_vars["zombie_powerup_drop_increment"] = level.powerupDropRate;
|
||||
level.cmPowerupDropRate = getDvarIntDefault( "cmPowerupDropRate", 2000 );
|
||||
level.zombie_vars["zombie_powerup_drop_increment"] = level.cmPowerupDropRate;
|
||||
//makes every zombie drop a powerup
|
||||
level.zombiesAlwaysDropPowerups = getDvarIntDefault( "zombiesAlwaysDropPowerups", 0 );
|
||||
level.zombie_vars[ "zombie_drop_item" ] = level.zombiesAlwaysDropPowerups;
|
||||
level.cmPowerupAlwaysDrop = getDvarIntDefault( "cmPowerupAlwaysDrop", 0 );
|
||||
level.zombie_vars[ "zombie_drop_item" ] = level.cmPowerupAlwaysDrop;
|
||||
//increase these below vars to increase drop rate
|
||||
//points to the powerup increment to a powerup drop related to level.zombie_vars["zombie_powerup_drop_increment"]
|
||||
level.fourPlayerPowerupScore = getDvarIntDefault( "fourPlayerPowerupScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_4p_team" ] = level.fourPlayerPowerupScore;
|
||||
level.cmPowerupFourPlayerScore = getDvarIntDefault( "cmPowerupFourPlayerScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_4p_team" ] = level.cmPowerupFourPlayerScore;
|
||||
//points to the powerup increment to a powerup drop related to level.zombie_vars["zombie_powerup_drop_increment"]
|
||||
level.threePlayerPowerupScore = getDvarIntDefault( "threePlayerPowerupScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_3p_team" ] = level.threePlayerPowerupScore;
|
||||
level.cmPowerupThreePlayerScore = getDvarIntDefault( "cmPowerupThreePlayerScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_3p_team" ] = level.cmPowerupThreePlayerScore;
|
||||
//points to the powerup increment to a powerup drop related to level.zombie_vars["zombie_powerup_drop_increment"]
|
||||
level.twoPlayerPowerupScore = getDvarIntDefault( "twoPlayerPowerupScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_2p_team" ] = level.twoPlayerPowerupScore;
|
||||
level.cmPowerupTwoPlayerScore = getDvarIntDefault( "cmPowerupTwoPlayerScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_2p_team" ] = level.cmPowerupTwoPlayerScore;
|
||||
//points to the powerup increment to a powerup drop related to level.zombie_vars["zombie_powerup_drop_increment"]
|
||||
level.onePlayerPowerupScore = getDvarIntDefault( "onePlayerPowerupScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_1p_team" ] = level.onePlayerPowerupScore;
|
||||
level.cmPowerupOnePlayerScore = getDvarIntDefault( "cmPowerupOnePlayerScore", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_1p_team" ] = level.cmPowerupOnePlayerScore;
|
||||
//points for melee kills to the powerup increment to a powerup drop
|
||||
level.powerupScoreMeleeKill = getDvarIntDefault( "powerupScoreMeleeKill", 80 );
|
||||
level.zombie_vars[ "zombie_score_bonus_melee" ] = level.powerupScoreMeleeKill;
|
||||
level.cmPowerupScoreMeleeKill = getDvarIntDefault( "cmPowerupScoreMeleeKill", 80 );
|
||||
level.zombie_vars[ "zombie_score_bonus_melee" ] = level.cmPowerupScoreMeleeKill;
|
||||
//points for headshot kills to the powerup increment to a powerup drop
|
||||
level.powerupScoreHeadshotKill = getDvarIntDefault( "powerupScoreHeadshotKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_bonus_head" ] = level.powerupScoreHeadshotKill;
|
||||
level.cmPowerupScoreHeadshotKill = getDvarIntDefault( "cmPowerupScoreHeadshotKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_bonus_head" ] = level.cmPowerupScoreHeadshotKill;
|
||||
//points for neck kills to the powerup increment to a powerup drop
|
||||
level.powerupScoreNeckKill = getDvarIntDefault( "powerupScoreNeckKill", 20 );
|
||||
level.zombie_vars[ "zombie_score_bonus_neck" ] = level.powerupScoreNeckKill;
|
||||
level.cmPowerupScoreNeckKill = getDvarIntDefault( "cmPowerupScoreNeckKill", 20 );
|
||||
level.zombie_vars[ "zombie_score_bonus_neck" ] = level.cmPowerupScoreNeckKill;
|
||||
//points for torso kills to the powerup increment to a powerup drop
|
||||
level.powerupScoreTorsoKill = getDvarIntDefault( "powerupScoreTorsoKill", 10 );
|
||||
level.zombie_vars[ "zombie_score_bonus_torso" ] = level.powerupScoreTorsoKill;
|
||||
level.cmPowerupScoreTorsoKill = getDvarIntDefault( "cmPowerupScoreTorsoKill", 10 );
|
||||
level.zombie_vars[ "zombie_score_bonus_torso" ] = level.cmPowerupScoreTorsoKill;
|
||||
//sets the zombie spawnrate; max is 0.08 this is in seconds
|
||||
level.zombieSpawnRate = getDvarFloatDefault( "zombieSpawnRate", 2 );
|
||||
level.zombie_vars[ "zombie_spawn_delay" ] = level.zombieSpawnRate;
|
||||
level.cmZombieSpawnRate = getDvarFloatDefault( "cmZombieSpawnRate", 2 );
|
||||
level.zombie_vars[ "zombie_spawn_delay" ] = level.cmZombieSpawnRate;
|
||||
//sets the zombie spawnrate multiplier increase
|
||||
level.zombieSpawnRateMultiplier = getDvarFloatDefault( "zombieSpawnRateMultiplier", 0.95 );
|
||||
level.cmZombieSpawnRateMultiplier = getDvarFloatDefault( "cmZombieSpawnRateMultiplier", 0.95 );
|
||||
//locks the spawnrate so it does not change throughout gameplay
|
||||
level.zombieSpawnRateLocked = getDvarIntDefault( "zombieSpawnRateLocked", 0 );
|
||||
level.cmZombieSpawnRateLocked = getDvarIntDefault( "cmZombieSpawnRateLocked", 0 );
|
||||
//alters the number of zombies per round formula amount of zombies per round is roughly correlated to this value
|
||||
//ie half as many zombies per player is half as many zombies per round
|
||||
level.zombiesPerPlayer = getDvarIntDefault( "zombiesPerPlayer", 6 );
|
||||
level.zombie_vars["zombie_ai_per_player"] = level.zombiesPerPlayer;
|
||||
level.cmZombiePerPlayer = getDvarIntDefault( "cmZombiePerPlayer", 6 );
|
||||
level.zombie_vars["zombie_ai_per_player"] = level.cmZombiePerPlayer;
|
||||
//sets the flat amount of hp the zombies gain per round not used after round 10
|
||||
level.zombieHealthIncreaseFlat = getDvarIntDefault( "zombieHealthIncreaseFlat", 100 );
|
||||
level.zombie_vars[ "zombie_health_increase" ] = level.zombieHealthIncreaseFlat;
|
||||
level.cmZombieHealthIncreaseFlat = getDvarIntDefault( "cmZombieHealthIncreaseFlat", 100 );
|
||||
level.zombie_vars[ "zombie_health_increase" ] = level.cmZombieHealthIncreaseFlat;
|
||||
//multiplies zombie health by this value every round after round 10
|
||||
level.zombieHealthIncreaseMultiplier = getDvarFloatDefault( "zombieHealthIncreaseMultiplier", 0.1 );
|
||||
level.zombie_vars[ "zombie_health_increase_multiplier" ] = level.zombieHealthIncreaseMultiplier;
|
||||
level.cmZombieHealthIncreaseMultiplier = getDvarFloatDefault( "cmZombieHealthIncreaseMultiplier", 0.1 );
|
||||
level.zombie_vars[ "zombie_health_increase_multiplier" ] = level.cmZombieHealthIncreaseMultiplier;
|
||||
//base zombie health before any multipliers or additions
|
||||
level.zombieHealthStart = getDvarIntDefault( "zombieHealthStart", 150 );
|
||||
level.zombie_vars[ "zombie_health_start" ] = level.zombieHealthStart;
|
||||
level.cmZombieHealthStart = getDvarIntDefault( "cmZombieHealthStart", 150 );
|
||||
level.zombie_vars[ "zombie_health_start" ] = level.cmZombieHealthStart;
|
||||
//time before new runners spawn on early rounds
|
||||
level.zombieNewRunnerInterval = getDvarIntDefault( "zombieNewRunnerInterval", 10 );
|
||||
level.zombie_vars[ "zombie_new_runner_interval" ] = level.zombieNewRunnerInterval;
|
||||
level.cmZombieNewRunnerInterval = getDvarIntDefault( "cmZombieNewRunnerInterval", 10 );
|
||||
level.zombie_vars[ "zombie_new_runner_interval" ] = level.cmZombieNewRunnerInterval;
|
||||
//determines level.zombie_move_speed on original
|
||||
level.zombieMoveSpeedMultiplier = getDvarIntDefault( "zombieMoveSpeedMultiplier", 10 );
|
||||
level.zombie_vars[ "zombie_move_speed_multiplier" ] = level.zombieMoveSpeedMultiplier;
|
||||
level.cmZombieMoveSpeedMultiplier = getDvarIntDefault( "cmZombieMoveSpeedMultiplier", 10 );
|
||||
level.zombie_vars[ "zombie_move_speed_multiplier" ] = level.cmZombieMoveSpeedMultiplier;
|
||||
//determines level.zombie_move_speed on easy
|
||||
level.zombieMoveSpeedMultiplierEasy = getDvarIntDefault( "zombieMoveSpeedMultiplierEasy", 8 );
|
||||
level.zombie_vars[ "zombie_move_speed_multiplier_easy"] = level.zombieMoveSpeedMultiplierEasy;
|
||||
level.cmZombieMoveSpeedMultiplierEasy = getDvarIntDefault( "cmZombieMoveSpeedMultiplierEasy", 8 );
|
||||
level.zombie_vars[ "zombie_move_speed_multiplier_easy"] = level.cmZombieMoveSpeedMultiplierEasy;
|
||||
//affects the number of zombies per round formula
|
||||
level.zombieMaxAi = getDvarIntDefault( "zombieMaxAi", 24 );
|
||||
level.zombie_vars[ "zombie_max_ai" ] = level.zombieMaxAi;
|
||||
level.cmZombieMaxAi = getDvarIntDefault( "cmZombieMaxAi", 24 );
|
||||
level.zombie_vars[ "zombie_max_ai" ] = level.cmZombieMaxAi;
|
||||
//affects the check for zombies that have fallen thru the map
|
||||
level.belowWorldCheck = getDvarIntDefault( "belowWorldCheck", -1000 );
|
||||
level.zombie_vars[ "below_world_check" ] = level.belowWorldCheck;
|
||||
level.cmZombieBelowWorldCheck = getDvarIntDefault( "cmZombieBelowWorldCheck", -1000 );
|
||||
level.zombie_vars[ "below_world_check" ] = level.cmZombieBelowWorldCheck;
|
||||
//sets whether spectators respawn at the end of the round
|
||||
level.customSpectatorsRespawn = getDvarIntDefault( "customSpectatorsRespawn", 1 );
|
||||
level.zombie_vars[ "spectators_respawn" ] = level.customSpectatorsRespawn;
|
||||
level.cmLevelDoSpectatorsRespawn = getDvarIntDefault( "cmLevelDoSpectatorsRespawn", 1 );
|
||||
level.zombie_vars[ "spectators_respawn" ] = level.cmLevelDoSpectatorsRespawn;
|
||||
//sets the time that the game takes during the end game intermission
|
||||
level.zombieIntermissionTime = getDvarIntDefault( "zombieIntermissionTime", 20 );
|
||||
level.zombie_vars["zombie_intermission_time"] = level.zombieIntermissionTime;
|
||||
level.cmLevelIntermissionTime = getDvarIntDefault( "cmLevelIntermissionTime", 20 );
|
||||
level.zombie_vars["zombie_intermission_time"] = level.cmLevelIntermissionTime;
|
||||
//the time between rounds
|
||||
level.zombieBetweenRoundTime = getDvarIntDefault( "zombieBetweenRoundTime", 15 );
|
||||
level.zombie_vars["zombie_between_round_time"] = level.zombieBetweenRoundTime;
|
||||
level.cmLevelBetweenRoundTime = getDvarIntDefault( "cmLevelBetweenRoundTime", 15 );
|
||||
level.zombie_vars["zombie_between_round_time"] = level.cmLevelBetweenRoundTime;
|
||||
//time before the game starts
|
||||
level.roundStartDelay = getDvarIntDefault( "roundStartDelay", 0 );
|
||||
level.zombie_vars[ "game_start_delay" ] = level.roundStartDelay;
|
||||
level.cmLevelGameStartDelay = getDvarIntDefault( "cmLevelGameStartDelay", 0 );
|
||||
level.zombie_vars[ "game_start_delay" ] = level.cmLevelGameStartDelay;
|
||||
//points all players lose when a player bleeds out %10 default
|
||||
level.bleedoutPointsLostAllPlayers = getDvarFloatDefault( "bleedoutPointsLostAllPlayers", 0.1 );
|
||||
level.zombie_vars[ "penalty_no_revive" ] = level.bleedoutPointsLostAllPlayers;
|
||||
level.cmPlayerBleedoutPointsLostAllPlayers = getDvarFloatDefault( "cmPlayerBleedoutPointsLostAllPlayers", 0.1 );
|
||||
level.zombie_vars[ "penalty_no_revive" ] = level.cmPlayerBleedoutPointsLostAllPlayers;
|
||||
//penalty to the player who died 10% of points by default
|
||||
level.bleedoutPointsLostSelf = getDvarFloatDefault( "bleedoutPointsLostSelf", 0.1 );
|
||||
level.zombie_vars[ "penalty_died" ] = level.bleedoutPointsLostSelf;
|
||||
level.cmPlayerBleedoutPointsLostSelf = getDvarFloatDefault( "cmPlayerBleedoutPointsLostSelf", 0.1 );
|
||||
level.zombie_vars[ "penalty_died" ] = level.cmPlayerBleedoutPointsLostSelf;
|
||||
//points players lose on down %5 by default
|
||||
level.downedPointsLostSelf = getDvarFloatDefault( "downedPointsLostSelf", 0.05 );
|
||||
level.zombie_vars[ "penalty_downed" ] = level.downedPointsLostSelf;
|
||||
level.cmPlayerDownedPointsLostSelf = getDvarFloatDefault( "cmPlayerDownedPointsLostSelf", 0.05 );
|
||||
level.zombie_vars[ "penalty_downed" ] = level.cmPlayerDownedPointsLostSelf;
|
||||
//unknown
|
||||
level.playerStartingLives = getDvarIntDefault( "playerStartingLives", 1 );
|
||||
level.zombie_vars[ "starting_lives" ] = level.playerStartingLives;
|
||||
level.cmPlayerStartingLives = getDvarIntDefault( "cmPlayerStartingLives", 1 );
|
||||
level.zombie_vars[ "starting_lives" ] = level.cmPlayerStartingLives;
|
||||
//points earned per zombie kill in a 4 player game
|
||||
level.fourPlayerScorePerZombieKill = getDvarIntDefault( "fourPlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_4player" ] = level.fourPlayerScorePerZombieKill;
|
||||
level.cmPlayerFourPlayerScorePerZombieKill = getDvarIntDefault( "cmPlayerFourPlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_4player" ] = level.cmPlayerFourPlayerScorePerZombieKill;
|
||||
//points earned per zombie kill in a 3 player game
|
||||
level.threePlayerScorePerZombieKill = getDvarIntDefault( "threePlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_3player" ] = level.threePlayerScorePerZombieKill;
|
||||
level.cmPlayerThreePlayerScorePerZombieKill = getDvarIntDefault( "cmPlayerThreePlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_3player" ] = level.cmPlayerThreePlayerScorePerZombieKill;
|
||||
//points earned per zombie kill in a 2 player game
|
||||
level.twoPlayerScorePerZombieKill = getDvarIntDefault( "twoPlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_2player" ] = level.twoPlayerScorePerZombieKill;
|
||||
level.cmPlayerTwoPlayerScorePerZombieKill = getDvarIntDefault( "cmPlayerTwoPlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_2player" ] = level.cmPlayerTwoPlayerScorePerZombieKill;
|
||||
//points earned per zombie kill in a 1 player game
|
||||
level.onePlayerScorePerZombieKill = getDvarIntDefault( "onePlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_1player" ] = level.onePlayerScorePerZombieKill;
|
||||
level.cmPlayerOnePlayerScorePerZombieKill = getDvarIntDefault( "cmPlayerOnePlayerScorePerZombieKill", 50 );
|
||||
level.zombie_vars[ "zombie_score_kill_1player" ] = level.cmPlayerOnePlayerScorePerZombieKill;
|
||||
//points given for a normal attack
|
||||
level.pointsPerNormalAttack = getDvarIntDefault( "pointsPerNormalAttack", 10 );
|
||||
level.zombie_vars[ "zombie_score_damage_normal" ] = level.pointsPerNormalAttack;
|
||||
level.cmPlayerPointsPerNormalAttack = getDvarIntDefault( "cmPlayerPointsPerNormalAttack", 10 );
|
||||
level.zombie_vars[ "zombie_score_damage_normal" ] = level.cmPlayerPointsPerNormalAttack;
|
||||
//points given for a light attack
|
||||
level.pointsPerLightAttack = getDvarIntDefault( "pointsPerLightAttack", 10 );
|
||||
level.zombie_vars[ "zombie_score_damage_light" ] = level.pointsPerLightAttack;
|
||||
level.cmPlayerPointsPerLightAttack = getDvarIntDefault( "cmPlayerPointsPerLightAttack", 10 );
|
||||
level.zombie_vars[ "zombie_score_damage_light" ] = level.cmPlayerPointsPerLightAttack;
|
||||
//players turn into a zombie on death WARNING: buggy as can be and is missing assets
|
||||
level.shouldZombifyPlayer = getDvarIntDefault( "shouldZombifyPlayer", 0 );
|
||||
level.zombie_vars[ "zombify_player" ] = level.shouldZombifyPlayer;
|
||||
level.cmPlayerShouldZombify = getDvarIntDefault( "cmPlayerShouldZombify", 0 );
|
||||
level.zombie_vars[ "zombify_player" ] = level.cmPlayerShouldZombify;
|
||||
//points scalar for allies team
|
||||
level.alliesPointsMultiplier = getDvarIntDefault( "alliesPointsMultiplier", 1 );
|
||||
level.zombie_vars[ "allies" ][ "zombie_point_scalar" ] = level.alliesPointsMultiplier;
|
||||
level.cmTeamAlliesPointsMultiplier = getDvarIntDefault( "cmTeamAlliesPointsMultiplier", 1 );
|
||||
level.zombie_vars[ "allies" ][ "zombie_point_scalar" ] = level.cmTeamAlliesPointsMultiplier;
|
||||
//points scalar for axis team
|
||||
level.axisPointsMultiplier = getDvarIntDefault( "axisPointsMultiplier", 1 );
|
||||
level.zombie_vars[ "axis" ][ "zombie_point_scalar" ] = level.axisPointsMultiplier;
|
||||
level.cmTeamAxisPointsMultiplier = getDvarIntDefault( "cmTeamAxisPointsMultiplier", 1 );
|
||||
level.zombie_vars[ "axis" ][ "zombie_point_scalar" ] = level.cmTeamAxisPointsMultiplier;
|
||||
//sets the radius of emps explosion lower this to 1 to render emps useless
|
||||
level.empPerkExplosionRadius = getDvarIntDefault( "empPerkExplosionRadius", 420 );
|
||||
level.zombie_vars[ "emp_perk_off_range" ] = level.empPerkExplosionRadius;
|
||||
//sets the duration of emps on perks set to 0 for infiinite emps
|
||||
level.empPerkOffDuration = getDvarIntDefault( "empPerkOffDuration", 90 );
|
||||
level.zombie_vars[ "emp_perk_off_time" ] = level.empPerkOffDuration;
|
||||
level.cmWeaponEmpPerkExplosionRadius = getDvarIntDefault( "cmWeaponEmpPerkExplosionRadius", 420 );
|
||||
level.zombie_vars[ "emp_perk_off_range" ] = level.cmWeaponEmpPerkExplosionRadius;
|
||||
//sets the duration of emps on perks set to 0 for infiinite duration
|
||||
level.cmWeaponEmpPerkOffDuration = getDvarIntDefault( "cmWeaponEmpPerkOffDuration", 90 );
|
||||
level.zombie_vars[ "emp_perk_off_time" ] = level.cmWeaponEmpPerkOffDuration;
|
||||
//riotshield health
|
||||
level.riotshieldHitPoints = getDvarIntDefault( "riotshieldHitPoints", 2250 );
|
||||
level.zombie_vars[ "riotshield_hit_points" ] = level.riotshieldHitPoints;
|
||||
level.cmEquipmentRiotshieldHitPoints = getDvarIntDefault( "cmEquipmentRiotshieldHitPoints", 2250 );
|
||||
level.zombie_vars[ "riotshield_hit_points" ] = level.cmEquipmentRiotshieldHitPoints;
|
||||
//jugg health bonus
|
||||
level.juggHealthBonus = getDvarIntDefault( "juggHealthBonus", 160 );
|
||||
level.zombie_vars[ "zombie_perk_juggernaut_health" ] = level.juggHealthBonus;
|
||||
level.cmPerkJuggHealthBonus = getDvarIntDefault( "cmPerkJuggHealthBonus", 160 );
|
||||
level.zombie_vars[ "zombie_perk_juggernaut_health" ] = level.cmPerkJuggHealthBonus;
|
||||
//perma jugg health bonus
|
||||
level.permaJuggHealthBonus = getDvarIntDefault( "permaJuggHealthBonus", 190 );
|
||||
level.zombie_vars[ "zombie_perk_juggernaut_health_upgrade" ] = level.permaJuggHealthBonus;
|
||||
level.cmPerkPermaJuggHealthBonus = getDvarIntDefault( "cmPerkPermaJuggHealthBonus", 90 );
|
||||
level.zombie_vars[ "zombie_perk_juggernaut_health_upgrade" ] = level.cmPerkPermaJuggHealthBonus;
|
||||
//phd min explosion damage
|
||||
level.minPhdExplosionDamage = getDvarIntDefault( "minPhdExplosionDamage", 1000 );
|
||||
level.zombie_vars[ "zombie_perk_divetonuke_min_damage" ] = level.minPhdExplosionDamage;
|
||||
level.cmPerkMinPhdExplosionDamage = getDvarIntDefault( "cmPerkMinPhdExplosionDamage", 2000 );
|
||||
level.zombie_vars[ "zombie_perk_divetonuke_min_damage" ] = level.cmPerkMinPhdExplosionDamage;
|
||||
//phd max explosion damage
|
||||
level.maxPhdExplosionDamage = getDvarIntDefault( "maxPhdExplosionDamage", 5000 );
|
||||
level.zombie_vars[ "zombie_perk_divetonuke_max_damage" ] = level.maxPhdExplosionDamage;
|
||||
level.cmPerkMaxPhdExplosionDamage = getDvarIntDefault( "cmPerkMaxPhdExplosionDamage", 5000 );
|
||||
level.zombie_vars[ "zombie_perk_divetonuke_max_damage" ] = level.cmPerkMaxPhdExplosionDamage;
|
||||
//phd explosion radius
|
||||
level.phdDamageRadius = getDvarIntDefault( "phdDamageRadius", 300 );
|
||||
level.zombie_vars[ "zombie_perk_divetonuke_radius" ] = level.phdDamageRadius;
|
||||
level.cmPerkPhdDamageRadius = getDvarIntDefault( "cmPerkPhdDamageRadius", 300 );
|
||||
level.zombie_vars[ "zombie_perk_divetonuke_radius" ] = level.cmPerkPhdDamageRadius;
|
||||
//cheat protected dvars. these can only be set in gsc so we set the values with a different dvars
|
||||
//sets speed colas reload multiplier lower is better WARNING: animation doesn't sync
|
||||
level.cmPerkSpeedColaReloadSpeed = getDvarFloatDefault( "cmPerkSpeedColaReloadSpeed", 0.5 );
|
||||
setdvar( "perk_weapReloadMultiplier", level.cmPerkSpeedColaReloadSpeed );
|
||||
//sets double taps firing speed multiplier lower is better
|
||||
level.cmPerkDoubleTapFireRate = getDvarFloatDefault( "cmPerkDoubleTapFireRate", 0.75 );
|
||||
setdvar( "perk_weapRateMultiplier", level.cmPerkDoubleTapFireRate );
|
||||
//sets deadshot crosshair size multiplier lower is better
|
||||
level.cmPerkDeadshotAccuracyModifier = getDvarFloatDefault( "cmPerkDeadshotAccuracyModifier", 0.70 );
|
||||
setdvar( "perk_weapSpreadMultiplier", level.cmPerkDeadshotAccuracyModifier );
|
||||
//sets how close players have to be to revive another player
|
||||
level.cmPlayerReviveTriggerRadius = getDvarIntDefault( "cmPlayerReviveTriggerRadius", 75 );
|
||||
setdvar( "revive_trigger_radius", level.cmPlayerReviveTriggerRadius );
|
||||
//sets the amount time before a player will bleedout after going down
|
||||
level.cmPlayerLaststandBleedoutTime = getDvarIntDefault( "cmPlayerLaststandBleedoutTime", 45 );
|
||||
setdvar( "player_lastStandBleedoutTime", level.cmPlayerLaststandBleedoutTime );
|
||||
|
||||
init_custom_zm_powerups_gsc_exclusive_dvars();
|
||||
disable_specific_powerups();
|
||||
checks();
|
||||
thread zombies_always_drop_powerups();
|
||||
@ -218,18 +241,30 @@ init()
|
||||
thread zombie_health_cap_override();
|
||||
thread zombie_spawn_delay_fix();
|
||||
thread zombie_speed_fix();
|
||||
level thread onplayerconnect();
|
||||
}
|
||||
|
||||
onplayerconnect()
|
||||
{
|
||||
level waittill( "connected", player );
|
||||
player thread onplayerspawned();
|
||||
}
|
||||
|
||||
onplayerspawned()
|
||||
{
|
||||
self waittill( "spawned_player" );
|
||||
self thread watch_for_respawn();
|
||||
}
|
||||
|
||||
checks()
|
||||
{
|
||||
if ( level.mixed_rounds_enabled )
|
||||
{
|
||||
if ( level.script != "zm_transit" || is_classic() || level.scr_zm_ui_gametype == "zgrief" )
|
||||
if ( level.script != "zm_transit" || maps/mp/zombies/_zm_utility::is_classic() || level.scr_zm_ui_gametype == "zgrief" )
|
||||
{
|
||||
level.mixed_rounds_enabled = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ( level.start_weapon == "" || level.start_weapon== "m1911_zm" )
|
||||
{
|
||||
level.start_weapon = "m1911_zm";
|
||||
@ -259,50 +294,50 @@ checks()
|
||||
|
||||
disable_specific_powerups()
|
||||
{
|
||||
level.powerupNames = array( "nuke", "insta_kill", "full_ammo", "double_points", "fire_sale", "free_perk", "carpenter", "zombie_blood" );
|
||||
array = level.powerupNames;
|
||||
level.cmPowerupNames = array( "nuke", "insta_kill", "full_ammo", "double_points", "fire_sale", "free_perk", "carpenter", "zombie_blood" );
|
||||
array = level.cmPowerupNames;
|
||||
//all powerups are enabled by default disable them manually
|
||||
//remove nukes from the drop cycle and special drops
|
||||
level.zmPowerupsEnabled = [];
|
||||
level.zmPowerupsEnabled[ "nuke" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "nuke" ].name = "nuke";
|
||||
level.zmPowerupsEnabled[ "nuke" ].active = getDvarIntDefault( "zmPowerupsNukeEnabled", 1 );
|
||||
level.cmPowerupEnabled = [];
|
||||
level.cmPowerupEnabled[ "nuke" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "nuke" ].name = "nuke";
|
||||
level.cmPowerupEnabled[ "nuke" ].active = getDvarIntDefault( "cmPowerupNukeEnabled", 1 );
|
||||
//remove insta kills from the drop cycle and special drops
|
||||
level.zmPowerupsEnabled[ "insta_kill" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "insta_kill" ].name = "insta_kill";
|
||||
level.zmPowerupsEnabled[ "insta_kill" ].active = getDvarIntDefault( "zmPowerupsInstaKillEnabled", 1 );
|
||||
level.cmPowerupEnabled[ "insta_kill" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "insta_kill" ].name = "insta_kill";
|
||||
level.cmPowerupEnabled[ "insta_kill" ].active = getDvarIntDefault( "cmPowerupInstaKillEnabled", 1 );
|
||||
//remove max ammos from the drop cycle and special drops
|
||||
level.zmPowerupsEnabled[ "full_ammo" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "full_ammo" ].name = "full_ammo";
|
||||
level.zmPowerupsEnabled[ "full_ammo" ].active = getDvarIntDefault( "zmPowerupsMaxAmmoEnabled", 1 );
|
||||
level.cmPowerupEnabled[ "full_ammo" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "full_ammo" ].name = "full_ammo";
|
||||
level.cmPowerupEnabled[ "full_ammo" ].active = getDvarIntDefault( "cmPowerupMaxAmmoEnabled", 1 );
|
||||
//remove carpenter from the drop cycle and special drops
|
||||
level.zmPowerupsEnabled[ "double_points" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "double_points" ].name = "double_points";
|
||||
level.zmPowerupsEnabled[ "double_points" ].active = getDvarIntDefault( "zmPowerupsDoublePointsEnabled", 1 );
|
||||
level.cmPowerupEnabled[ "double_points" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "double_points" ].name = "double_points";
|
||||
level.cmPowerupEnabled[ "double_points" ].active = getDvarIntDefault( "cmPowerupDoublePointsEnabled", 1 );
|
||||
//remove fire sale from the drop cycle and special drops NOTE: fire sale isn't on all maps already this being enabled won't make it spawn
|
||||
level.zmPowerupsEnabled[ "fire_sale" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "fire_sale" ].name = "fire_sale";
|
||||
level.zmPowerupsEnabled[ "fire_sale" ].active = getDvarIntDefault( "zmPowerupsFireSaleEnabled", 1 );
|
||||
level.cmPowerupEnabled[ "fire_sale" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "fire_sale" ].name = "fire_sale";
|
||||
level.cmPowerupEnabled[ "fire_sale" ].active = getDvarIntDefault( "cmPowerupFireSaleEnabled", 1 );
|
||||
//remove the perk bottle from the drop cycle and special drops
|
||||
level.zmPowerupsEnabled[ "free_perk" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "free_perk" ].name = "free_perk";
|
||||
level.zmPowerupsEnabled[ "free_perk" ].active = getDvarIntDefault( "zmPowerupsPerkBottleEnabled", 1 );
|
||||
level.cmPowerupEnabled[ "free_perk" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "free_perk" ].name = "free_perk";
|
||||
level.cmPowerupEnabled[ "free_perk" ].active = getDvarIntDefault( "cmPowerupPerkBottleEnabled", 1 );
|
||||
//removes carpenter from the drop cycle and special drops
|
||||
level.zmPowerupsEnabled[ "carpenter" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "carpenter" ].name = "carpenter";
|
||||
level.zmPowerupsEnabled[ "carpenter" ].active = getDvarIntDefault( "zmPowerupsCarpenterEnabled", 1 );
|
||||
level.cmPowerupEnabled[ "carpenter" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "carpenter" ].name = "carpenter";
|
||||
level.cmPowerupEnabled[ "carpenter" ].active = getDvarIntDefault( "cmPowerupCarpenterEnabled", 1 );
|
||||
//removes zombie blood from the drop cycle and special drops
|
||||
level.zmPowerupsEnabled[ "zombie_blood" ] = spawnstruct();
|
||||
level.zmPowerupsEnabled[ "zombie_blood" ].name = "zombie_blood";
|
||||
level.zmPowerupsEnabled[ "zombie_blood" ].active = getDvarIntDefault( "zmPowerupsZombieBloodEnabled", 1 );
|
||||
level.cmPowerupEnabled[ "zombie_blood" ] = spawnstruct();
|
||||
level.cmPowerupEnabled[ "zombie_blood" ].name = "zombie_blood";
|
||||
level.cmPowerupEnabled[ "zombie_blood" ].active = getDvarIntDefault( "cmPowerupZombieBloodEnabled", 1 );
|
||||
|
||||
//you can expand this list with custom powerups if you'd like just add a new spawnstruct() and add to the array at the top
|
||||
|
||||
for ( i = 0; i < array.size; i++ )
|
||||
{
|
||||
if ( !level.zmPowerupsEnabled[ array[ i ] ].active )
|
||||
if ( !level.cmPowerupEnabled[ array[ i ] ].active )
|
||||
{
|
||||
name = level.zmPowerupsEnabled[ array[ i ] ].name;
|
||||
name = level.cmPowerupEnabled[ array[ i ] ].name;
|
||||
if ( isInArray( level.zombie_include_powerups, name ) )
|
||||
{
|
||||
arrayremovevalue( level.zombie_include_powerups, name );
|
||||
@ -321,7 +356,7 @@ disable_specific_powerups()
|
||||
|
||||
disable_all_powerups()
|
||||
{
|
||||
if ( level.zmPowerupsNoPowerupDrops )
|
||||
if ( level.cmPowerupNoPowerupDrops )
|
||||
{
|
||||
flag_clear( "zombie_drop_powerups" );
|
||||
}
|
||||
@ -329,13 +364,13 @@ disable_all_powerups()
|
||||
|
||||
zombies_always_drop_powerups()
|
||||
{
|
||||
if ( !level.zombiesAlwaysDropPowerups )
|
||||
if ( !level.cmPowerupAlwaysDrop )
|
||||
{
|
||||
return;
|
||||
}
|
||||
while ( 1 )
|
||||
{
|
||||
level.zombie_vars[ "zombie_drop_item" ] = level.zombiesAlwaysDropPowerups;
|
||||
level.zombie_vars[ "zombie_drop_item" ] = level.cmPowerupAlwaysDrop;
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
@ -356,65 +391,65 @@ onplayerspawned()
|
||||
|
||||
zombies_per_round_override()
|
||||
{
|
||||
if ( !level.overrideZombieTotalPermanently )
|
||||
if ( !level.cmZombieTotalPermanentOverride )
|
||||
{
|
||||
return;
|
||||
}
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "start_of_round" );
|
||||
level.zombie_total = getDvarIntDefault( "overrideZombieTotalPermanentlyValue", 6 );
|
||||
level.zombie_total = level.cmZombieTotalPermanentOverrideValue;
|
||||
}
|
||||
}
|
||||
|
||||
zombie_health_override()
|
||||
{
|
||||
if ( !level.overrideZombieHealthPermanently )
|
||||
if ( !level.cmZombieHealthPermanentOverride )
|
||||
{
|
||||
return;
|
||||
}
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "start_of_round" );
|
||||
level.zombie_health = getDvarIntDefault( "overrideZombieHealthPermanentlyValue", 150 );
|
||||
level.zombie_health = level.cmZombieHealthPermanentOverrideValue;
|
||||
}
|
||||
}
|
||||
|
||||
zombie_health_cap_override()
|
||||
{
|
||||
if ( !level.overrideZombieMaxHealth )
|
||||
if ( !level.cmZombieMaxHealthOverride )
|
||||
{
|
||||
return;
|
||||
}
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "start_of_round" );
|
||||
if ( level.zombie_health > level.overrideZombieMaxHealthValue )
|
||||
if ( level.zombie_health > level.cmZombieMaxHealthOverrideValue )
|
||||
{
|
||||
level.zombie_health = getDvarIntDefault( "overrideZombieHealthMaxHealthValue", 150 );
|
||||
level.zombie_health = level.cmZombieMaxHealthOverrideValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
zombie_spawn_delay_fix()
|
||||
{
|
||||
if ( level.zombieSpawnRateLocked )
|
||||
if ( level.cmZombieSpawnRateLocked )
|
||||
{
|
||||
return;
|
||||
}
|
||||
i = 1;
|
||||
while ( i <= level.round_number )
|
||||
{
|
||||
timer = level.zombieSpawnRate;
|
||||
timer = level.cmZombieSpawnRate;
|
||||
if ( timer > 0.08 )
|
||||
{
|
||||
level.zombieSpawnRate = timer * level.zombieSpawnRateMultiplier;
|
||||
level.cmZombieSpawnRate = timer * level.cmZombieSpawnRateMultiplier;
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else if ( timer < 0.08 )
|
||||
if ( timer < 0.08 )
|
||||
{
|
||||
level.zombieSpawnRate = 0.08;
|
||||
level.cmZombieSpawnRate = 0.08;
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
@ -422,17 +457,17 @@ zombie_spawn_delay_fix()
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "start_of_round" );
|
||||
if ( level.zombieSpawnRate > 0.08 )
|
||||
if ( level.cmZombieSpawnRate > 0.08 )
|
||||
{
|
||||
level.zombieSpawnRate = level.zombieSpawnRate * level.zombieSpawnRateMultiplier;
|
||||
level.cmZombieSpawnRate = level.cmZombieSpawnRate * level.cmZombieSpawnRateMultiplier;
|
||||
}
|
||||
level.zombie_vars[ "zombie_spawn_delay" ] = level.zombieSpawnRate;
|
||||
level.zombie_vars[ "zombie_spawn_delay" ] = level.cmZombieSpawnRate;
|
||||
}
|
||||
}
|
||||
|
||||
zombie_speed_fix()
|
||||
{
|
||||
if ( level.zombieMoveSpeedLocked )
|
||||
if ( level.cmZombieMoveSpeedLocked )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -448,29 +483,104 @@ zombie_speed_fix()
|
||||
|
||||
zombie_speed_override()
|
||||
{
|
||||
if ( !level.zombieMoveSpeedLocked )
|
||||
if ( !level.cmZombieMoveSpeedLocked )
|
||||
{
|
||||
return;
|
||||
}
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "start_of_round" );
|
||||
level.zombie_move_speed = getDvarIntDefault( "zombieMoveSpeed", 1 );
|
||||
level.zombie_move_speed = getDvarIntDefault( "cmZombieMoveSpeed", 1 );
|
||||
}
|
||||
}
|
||||
|
||||
zombie_speed_cap_override()
|
||||
{
|
||||
if ( !level.zombieMoveSpeedCap )
|
||||
if ( !level.cmZombieMoveSpeedCap )
|
||||
{
|
||||
return;
|
||||
}
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "start_of_round" );
|
||||
if ( level.zombie_move_speed > level.zombieMoveSpeedCapValue )
|
||||
if ( level.zombie_move_speed > level.cmZombieMoveSpeedCapValue )
|
||||
{
|
||||
level.zombie_move_speed = level.zombieMoveSpeedCapValue;
|
||||
level.zombie_move_speed = level.cmZombieMoveSpeedCapValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
zombie_move_animation_override()
|
||||
{
|
||||
if ( level.cmZombieMoveAnimation == "" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
while ( 1 )
|
||||
{
|
||||
zombies = getAiArray( level.zombie_team );
|
||||
foreach( zombie in zombies )
|
||||
{
|
||||
if ( zombie in_enabled_playable_area() )
|
||||
{
|
||||
zombie maps/mp/zombies/_zm_utility::set_zombie_run_cycle( level.cmZombieMoveAnimation );
|
||||
}
|
||||
}
|
||||
wait 1;
|
||||
}
|
||||
}
|
||||
|
||||
watch_for_respawn()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
self._retain_perks = getDvarIntDefault( "cmPlayerRetainPerks", 0 );
|
||||
while ( 1 )
|
||||
{
|
||||
self waittill_any( "spawned_player", "player_revived" );
|
||||
wait_network_frame();
|
||||
if ( self._retain_perks && self hasPerk( "specialty_armorvest" ) )
|
||||
{
|
||||
self setMaxHealth( level.cmPerkJuggHealthBonus );
|
||||
}
|
||||
else if ( self.pers_upgrades_awarded[ "jugg" ] )
|
||||
{
|
||||
self setMaxHealth( level.cmPerkPermaJuggHealthBonus );
|
||||
}
|
||||
else
|
||||
{
|
||||
self setMaxHealth( level.cmPlayerMaxHealth );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
init_custom_zm_powerups_gsc_exclusive_dvars()
|
||||
{
|
||||
//%chance that a powerup will drop everytime a zombie is killed
|
||||
level.cmPowerupRandomDropChance = getDvarIntDefault( "cmPowerupRandomDropChance", 2 );
|
||||
//time before a powerup starts to blink and then disappear if not grabbed
|
||||
level.cmPowerupFieldLifetime = getDvarIntDefault( "cmPowerupFieldLifetime", 15 );
|
||||
//duration of fire sale
|
||||
level.cmPowerupFireSaleDuration = getDvarIntDefault( "cmPowerupFireSaleDuration", 30 );
|
||||
//duration of double points
|
||||
level.cmPowerupDoublePointsDuration = getDvarIntDefault( "cmPowerupDoublePointsDuration", 30 );
|
||||
//double points points scalar
|
||||
level.cmPowerupDoublePointsScalar = getDvarIntDefault( "cmPowerupDoublePointsScalar", 2 );
|
||||
//duration of insta kill
|
||||
level.cmPowerupInstaKillDuration = getDvarIntDefault( "cmPowerupInstaKillDuration", 30 );
|
||||
|
||||
//points given by carpenter
|
||||
level.cmPowerupCarpenterPoints = getDvarIntDefault( "cmPowerupCarpenterPoints", 200 );
|
||||
//points given by nuke
|
||||
level.cmPowerupNukePoints = getDvarIntDefault( "cmPowerupCarpenterPoints", 400 );
|
||||
//whether nukes should take their time killing zombies off
|
||||
level.cmPowerupNukeShouldWaitToKillZombies = getDvarIntDefault( "cmPowerupNukeShouldWaitToKillZombies", 1 );
|
||||
//minimum time before a nuked zombie dies
|
||||
level.cmPowerupNukeMinTimeToKill = getDvarFloatDefault( "cmPowerupNukeMinTimeToKill", 0.1 );
|
||||
//maximum time before a nuked zombie dies
|
||||
level.cmPowerupNukeMaxTimeToKill = getDvarFloatDefault( "cmPowerupNukeMaxTimeToKill", 0.7 );
|
||||
//should max ammo affect players in laststand
|
||||
level.cmPowerupMaxAmmoAffectsLaststandPlayers = getDvarIntDefault( "cmPowerupMaxAmmoAffectsLastandPlayers", 0 );
|
||||
}
|
||||
|
||||
|
||||
|
2883
Configuration Mod/_zm_powerups.gsc
Normal file
2883
Configuration Mod/_zm_powerups.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -35,6 +35,8 @@ m32_upgraded_zm
|
||||
m32_zm //war machine
|
||||
python_upgraded_zm
|
||||
python_zm //python
|
||||
qcw05_upgraded_zm
|
||||
qcw05_zm //chicom
|
||||
sf_qcw05_upgraded_zm
|
||||
riotshield_zm //zombie shield
|
||||
rottweil72_upgraded_zm
|
||||
@ -100,6 +102,8 @@ mp5k_upgraded_zm
|
||||
mp5k_zm
|
||||
python_upgraded_zm
|
||||
python_zm
|
||||
qcw05_upgraded_zm
|
||||
qcw05_zm //chicom
|
||||
sf_qcw05_upgraded_zm
|
||||
rpd_upgraded_zm
|
||||
rpd_zm
|
||||
@ -160,6 +164,8 @@ pdw57_upgraded_zm
|
||||
pdw57_zm
|
||||
python_upgraded_zm
|
||||
python_zm
|
||||
qcw05_upgraded_zm
|
||||
qcw05_zm //chicom
|
||||
sf_qcw05_upgraded_zm
|
||||
rpd_upgraded_zm
|
||||
rpd_zm
|
||||
@ -220,6 +226,8 @@ m32_upgraded_zm
|
||||
m32_zm
|
||||
pdw57_upgraded_zm
|
||||
pdw57_zm
|
||||
qcw05_upgraded_zm
|
||||
qcw05_zm //chicom
|
||||
sf_qcw05_upgraded_zm
|
||||
rnma_upgraded_zm
|
||||
rnma_zm
|
||||
@ -333,6 +341,8 @@ one_inch_punch_upgraded_zm
|
||||
one_inch_punch_zm
|
||||
python_upgraded_zm
|
||||
python_zm
|
||||
qcw05_upgraded_zm
|
||||
qcw05_zm //chicom
|
||||
sf_qcw05_upgraded_zm
|
||||
scar_upgraded_zm
|
||||
scar_zm
|
||||
@ -391,8 +401,6 @@ galil_upgraded_zm
|
||||
galil_zm //galil
|
||||
m14_upgraded_zm
|
||||
m14_zm
|
||||
qcw05_upgraded_zm
|
||||
qcw05_zm //chicom
|
||||
ray_gun_upgraded_zm
|
||||
ray_gun_zm
|
||||
raygun_mark2_upgraded_zm
|
||||
|
@ -49,110 +49,127 @@ gts startRound "1" // Starting Round. Only Surviva
|
||||
//gts cleansedLoadout "1" // Allow players to choose their Loadout? Only Turned has this option!
|
||||
//set g_loadScripts "0"
|
||||
|
||||
set playerStartingPoints 500
|
||||
set perkLimit 4
|
||||
set zombieAiLimit 24
|
||||
set zombieActorLimit 32
|
||||
set midroundDogs 0
|
||||
set noEndGameCheck 0
|
||||
set soloLaststandWeapon "m1911_upgraded_zm"
|
||||
set coopLaststandWeapon "m1911_zm"
|
||||
set startWeaponZm "m1911_zm"
|
||||
set disableWalkers 0
|
||||
set roundNumber 1
|
||||
set soloModeDisabled 0
|
||||
//level properties
|
||||
set cmLevelNoEndGameCheck 0
|
||||
set cmLevelRoundNumber 1
|
||||
set cmLevelSoloModeDisabled 0
|
||||
set cmLevelDoSpectatorsRespawn 1
|
||||
set cmLevelIntermissionTime 20
|
||||
set cmLevelBetweenRoundTime 15
|
||||
set cmLevelGameStartDelay 0
|
||||
|
||||
//powerups properties
|
||||
set maxPowerupsPerRound 4
|
||||
set powerupDropRate 2000
|
||||
set zombiesAlwaysDropPowerups 0
|
||||
set fourPlayerPowerupScore 50
|
||||
set threePlayerPowerupScore 50
|
||||
set twoPlayerPowerupScore 50
|
||||
set onePlayerPowerupScore 50
|
||||
set powerupScoreMeleeKill 80
|
||||
set powerupScoreHeadshotKill 50
|
||||
set powerupScoreNeckKill 20
|
||||
set powerupScoreTorsoKill 10
|
||||
set zmPowerupsNukeEnabled 1
|
||||
set zmPowerupsInstaKillEnabled 1
|
||||
set zmPowerupsMaxAmmoEnabled 1
|
||||
set zmPowerupsDoublePointsEnabled 1
|
||||
set zmPowerupsCarpenterEnabled 1
|
||||
set zmPowerupsFireSaleEnabled 1
|
||||
set zmPowerupsPerkBottleEnabled 1
|
||||
set zmPowerupsCarpenterEnabled 1
|
||||
set zmPowerupsZombieBloodEnabled 1
|
||||
set zmPowerupsNoPowerupDrops 0
|
||||
set cmPowerupMaxPerRound 4
|
||||
set cmPowerupDropRate 2000
|
||||
set cmPowerupAlwaysDrop 0
|
||||
set cmPowerupFourPlayerScore 50
|
||||
set cmPowerupThreePlayerScore 50
|
||||
set cmPowerupTwoPlayerScore 50
|
||||
set cmPowerupOnePlayerScore 50
|
||||
set cmPowerupScoreMeleeKill 80
|
||||
set cmPowerupScoreHeadshotKill 50
|
||||
set cmPowerupScoreNeckKill 20
|
||||
set cmPowerupScoreTorsoKill 10
|
||||
set cmPowerupNukeEnabled 1
|
||||
set cmPowerupInstaKillEnabled 1
|
||||
set cmPowerupMaxAmmoEnabled 1
|
||||
set cmPowerupDoublePointsEnabled 1
|
||||
set cmPowerupCarpenterEnabled 1
|
||||
set cmPowerupFireSaleEnabled 1
|
||||
set cmPowerupPerkBottleEnabled 1
|
||||
set cmPowerupCarpenterEnabled 1
|
||||
set cmPowerupZombieBloodEnabled 1
|
||||
set cmPowerupNoPowerupDrops 0
|
||||
//these require _zm_powerups to be installed to do anything
|
||||
set cmPowerupRandomDropChance 2
|
||||
set cmPowerupFieldLifetime 15
|
||||
set cmPowerupFireSaleDuration 30
|
||||
set cmPowerupDoublePointsDuration 30
|
||||
set cmPowerupDoublePointsScalar 2
|
||||
set cmPowerupInstaKillDuration 30
|
||||
set cmPowerupCarpenterPoints 200
|
||||
set cmPowerupCarpenterPoints 400
|
||||
set cmPowerupNukeShouldWaitToKillZombies 1
|
||||
set cmPowerupNukeMinTimeToKill 0.1
|
||||
set cmPowerupNukeMaxTimeToKill 0.7
|
||||
set cmPowerupMaxAmmoAffectsLastandPlayers 0
|
||||
|
||||
|
||||
//zombie properties dvars
|
||||
set overrideZombieTotalPermanently 0
|
||||
set overrideZombieTotalPermanentlyValue 100
|
||||
set overrideZombieHealthPermanently 0
|
||||
set overrideZombieHealthPermanentlyValue 150
|
||||
set overrideZombieMaxHealth 0
|
||||
set overrideZombieMaxHealthValue 150
|
||||
set zombieSpawnRate 2
|
||||
set zombieSpawnRateMultiplier 0.95
|
||||
set zombieSpawnRateLocked 0
|
||||
set zombiesPerPlayer 6
|
||||
set zombieHealthIncreaseFlat 100
|
||||
set zombieHealthIncreaseMultiplier 0.1
|
||||
set zombieHealthStart 150
|
||||
set zombieNewRunnerInterval 10
|
||||
set zombieMoveSpeed 1
|
||||
set zombieMoveSpeedLocked 1
|
||||
set zombieMoveSpeedCap 0
|
||||
set zombieMoveSpeedCapValue 1
|
||||
set zombieMoveSpeedMultiplier 10
|
||||
set zombieMoveSpeedMultiplierEasy 8
|
||||
set zombieMaxAi 24
|
||||
set belowWorldCheck -1000
|
||||
|
||||
//round properties
|
||||
set customSpectatorsRespawn 1
|
||||
set zombieIntermissionTime 20
|
||||
set zombieBetweenRoundTime 15
|
||||
set roundStartDelay 0
|
||||
set cmZombieAiLimit 24
|
||||
set cmZombieActorLimit 32
|
||||
set cmZombieMidroundDogs 0
|
||||
set cmZombieDisableWalkers 0
|
||||
set cmZombieTotalPermanentOverride 0
|
||||
set cmZombieTotalPermanentOverrideValue 100
|
||||
set cmZombieHealthPermanentOverride 0
|
||||
set cmZombieHealthPermanentOverrideValue 150
|
||||
set cmZombieMaxHealthOverride 0
|
||||
set cmZombieMaxHealthOverrideValue 150
|
||||
set cmZombieSpawnRate 2
|
||||
set cmZombieSpawnRateMultiplier 0.95
|
||||
set cmZombieSpawnRateLocked 0
|
||||
set cmZombiePerPlayer 6
|
||||
set cmZombieHealthIncreaseFlat 100
|
||||
set cmZombieHealthIncreaseMultiplier 0.1
|
||||
set cmZombieHealthStart 150
|
||||
set cmZombieNewRunnerInterval 10
|
||||
set cmZombieMoveSpeed 1
|
||||
set cmZombieMoveSpeedLocked 1
|
||||
set cmZombieMoveSpeedCap 0
|
||||
set cmZombieMoveSpeedCapValue 1
|
||||
set cmZombieMoveSpeedMultiplier 10
|
||||
set cmZombieMoveSpeedMultiplierEasy 8
|
||||
set cmZombieMoveAnimation ""
|
||||
set cmZombieMaxAi 24
|
||||
set cmZombieBelowWorldCheck -1000
|
||||
|
||||
//player properties
|
||||
set bleedoutPointsLostAllPlayers 0.1
|
||||
set bleedoutPointsLostSelf 0.1
|
||||
set downedPointsLostSelf 0.05
|
||||
set playerStartingLives 1
|
||||
set fourPlayerScorePerZombieKill 50
|
||||
set threePlayerScorePerZombieKill 50
|
||||
set twoPlayerScorePerZombieKill 50
|
||||
set onePlayerScorePerZombieKill 50
|
||||
set pointsPerNormalAttack 10
|
||||
set pointsPerLightAttack 10
|
||||
set shouldZombifyPlayer 0
|
||||
set alliesPointsMultiplier 1
|
||||
set axisPointsMultiplier 1
|
||||
set cmPlayerMaxHealth 100
|
||||
set cmPlayerPerkLimit 4
|
||||
set cmPlayerRetainPerks 0
|
||||
set cmPlayerStartingPoints 500
|
||||
set cmPlayerStartingLives 1
|
||||
set cmPlayerFourPlayerScorePerZombieKill 50
|
||||
set cmPlayerThreePlayerScorePerZombieKill 50
|
||||
set cmPlayerTwoPlayerScorePerZombieKill 50
|
||||
set cmPlayerOnePlayerScorePerZombieKill 50
|
||||
set cmPlayerPointsPerNormalAttack 10
|
||||
set cmPlayerPointsPerLightAttack 10
|
||||
set cmPlayerShouldZombify 0
|
||||
set cmPlayerSoloLaststandWeapon "m1911_upgraded_zm"
|
||||
set cmPlayerCoopLaststandWeapon "m1911_zm"
|
||||
set cmPlayerStartWeapon "m1911_zm"
|
||||
set cmPlayerBleedoutPointsLostAllPlayers 0.1
|
||||
set cmPlayerBleedoutPointsLostSelf 0.1
|
||||
set cmPlayerDownedPointsLostSelf 0.05
|
||||
set cmPlayerReviveTriggerRadius 75
|
||||
set cmPlayerLaststandBleedoutTime 45
|
||||
|
||||
//team properties
|
||||
set cmTeamAlliesPointsMultiplier 1
|
||||
set cmTeamAxisPointsMultiplier 1
|
||||
|
||||
//perk properties
|
||||
set empPerkExplosionRadius 420
|
||||
set empPerkOffDuration 90
|
||||
set riotshieldHitPoints 2250
|
||||
set juggHealthBonus 160
|
||||
set permaJuggHealthBonus 190
|
||||
set minPhdExplosionDamage 1000
|
||||
set maxPhdExplosionDamage 5000
|
||||
set phdDamageRadius 300
|
||||
set cmPerkJuggHealthBonus 160
|
||||
set cmPerkPermaJuggHealthBonus 190
|
||||
set cmPerkMinPhdExplosionDamage 2000
|
||||
set cmPerkMaxPhdExplosionDamage 5000
|
||||
set cmPerkPhdDamageRadius 300
|
||||
set cmPerkSpeedColaReloadSpeed 0.5
|
||||
set cmPerkDoubleTapFireRate 0.75
|
||||
set cmPerkDeadshotAccuracyModifier 0.70
|
||||
|
||||
//builtin dvars
|
||||
//equipment properties
|
||||
set cmEquipmentRiotshieldHitPoints 2250
|
||||
|
||||
//weapon properties
|
||||
set cmWeaponEmpPerkExplosionRadius 420
|
||||
set cmWeaponEmpPerkOffDuration 90
|
||||
|
||||
//mystery box properties
|
||||
//sets whether the mystery box moves ever
|
||||
set magic_chest_movable 1
|
||||
//sets how close players have to be to revive another player
|
||||
set revive_trigger_radius 75
|
||||
//sets the amount time before a player will bleedout after going down
|
||||
set player_lastStandBleedoutTime 45
|
||||
//sets speed colas reload multiplier lower is better WARNING: animation doesn't sync
|
||||
set perk_weapReloadMultiplier 0.5
|
||||
//sets double taps firing speed multiplier lower is better
|
||||
set perk_weapRateMultiplier 0.75
|
||||
//sets deadshot crosshair size multiplier lower is better
|
||||
set perk_weapSpreadMultiplier 0.70
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
|
@ -1,15 +1,26 @@
|
||||
# Configuration Mod
|
||||
|
||||
*** Instructions ***
|
||||
|
||||
Merge inits with your current mod or compile as _clientids.gsc.
|
||||
|
||||
Install _clientids.gsc in maps/mp/gametypes_zm
|
||||
|
||||
All dvars are included in the config and descriptions are in the code itself.
|
||||
|
||||
Added dvars should be working but not all have been tested, also dvar names should not conflict.
|
||||
|
||||
Weapon names can be found in the included black ops 2 names.
|
||||
|
||||
### Updates:
|
||||
*** Optional ***
|
||||
|
||||
4/10/20
|
||||
Compile _zm_powerups.gsc as _zm_powerups.gsc DO NOT ATTEMPT TO MERGE THEM INTO ONE FILE IT WILL DEFINITELY CRASH
|
||||
|
||||
Install _zm_powerups.gsc in in maps/mp/zombies
|
||||
|
||||
This will add support for changing a few aspects of the vanilla powerups
|
||||
|
||||
# Update 4/10/20
|
||||
|
||||
#### New dvars
|
||||
|
||||
@ -47,3 +58,48 @@ Added tha ability to lock the zombie health
|
||||
|
||||
Added the ability to lock the zombies per round
|
||||
|
||||
# Update 5/9/20
|
||||
|
||||
## Main Changes
|
||||
|
||||
Refactored all the variables to standardize their naming
|
||||
|
||||
Added support for _zm_powerups allowing you control more aspects for vanilla powerups
|
||||
|
||||
### Zombie Dvars
|
||||
|
||||
Added a new dvar to control the zombie move animation so you can force them to be super sprinters or bus sprinters
|
||||
|
||||
### Player dvars
|
||||
|
||||
Added a new dvar allowing you to control the players health
|
||||
|
||||
Added a new dvar allowing you to control whether a player keeps their perks on down notes: does not work on MoTD
|
||||
|
||||
### Cheat protected dvars
|
||||
|
||||
Moved the cheat protected dvars in script so hopefully they can changed using other dvars
|
||||
|
||||
### Powerups dvars - requires _zm_powerups to be installed
|
||||
|
||||
Added a dvar allowing you to control the random drop chance of powerups
|
||||
|
||||
Added a dvar allowing you to control length of time a powerup will last on the field before starting to blink
|
||||
|
||||
Added a dvar allowing you to control the duration of fire sale
|
||||
|
||||
Added a dvar allowing you to control the duration of double points
|
||||
|
||||
Added a dvar allowing you to control the points multiplier granted by double points
|
||||
|
||||
Added a dvar allowing you to control the duration of insta kill
|
||||
|
||||
Added a dvar allowing you to control the amount of points granted by a carpenter
|
||||
|
||||
Added a dvar allowing you to control the amount of points granted by a nuke
|
||||
|
||||
Added a dvar allowing you to control whether nukes instantly kill zombies
|
||||
|
||||
Added dvars which allow you to control the minimum and maximum time it takes for a zombie to die to a nuke
|
||||
|
||||
Added a dvar that allows max ammo to apply to downed players
|
Loading…
x
Reference in New Issue
Block a user