Author Topic: Randomness in Valve Gauntlet Events  (Read 294 times)

NF

  • *
  • Posts: 1072
    • View Profile
Randomness in Valve Gauntlet Events
« on: July 10, 2017, 01:03:13 am »
Ever wonder why it seems like your team got more common than the enemy team? Well, it's possible you did. Some of the events in the game, especially the ones on Dark Carnival, have rng elements in them that should be removed in whatever config is being played now. I checked and I don't think any current config fixes these.

You can download the decompiled vscripts here to see for yourself:

http://www.mediafire.com/file/k280fhwjsp21sn8/Decompiled+VScripts.zip

Here's an example of Dark Carnival 4, the second half of the event after the gate opens.

Code: [Select]
Msg("Initiating Onslaught\n");

DirectorOptions <-
{
// This turns off tanks and witches.
ProhibitBosses = false

//LockTempo = true
MobSpawnMinTime = 3
MobSpawnMaxTime = 7
MobMinSize = 30
MobMaxSize = 30
MobMaxPending = 30
SustainPeakMinTime = 5
SustainPeakMaxTime = 10
IntensityRelaxThreshold = 0.99
RelaxMinInterval = 1
RelaxMaxInterval = 5
RelaxMaxFlowTravel = 50
SpecialRespawnInterval = 1.0
        SmokerLimit = 2
        JockeyLimit = 0
        BoomerLimit = 0
        HunterLimit = 2
        ChargerLimit = 1
PreferredMobDirection = SPAWN_IN_FRONT_OF_SURVIVORS
ZombieSpawnRange = 2000
}

Director.ResetMobTimer()

Whenever you see a "Min" and "Max", that means the game is randomly choosing a value inbetween those two. There's also the "IntensityRelaxThreshold". I haven't tested this for certain but I'm pretty sure it means when the team's "intensity" level gets too high, i.e. youre getting rekt, the game pauses or reduces the rate of common spawning to give you a chance to regroup. In this map it pauses between a value of 1 and 5 (seconds? idk), and a map flow distance of 50.

This should be tested first, but you can fix these things by removing all the "relax" lines, and making the "min" and "max" lines have the same value, probably a value in the middle of those two for the best balance. Then use stripper:source to modify the entity that calls the script, usually a func_button entity, edit the logic output that calls Valve's vscript and replace it with the fixed version.

Sir

  • *
  • Posts: 874
    • View Profile
Re: Randomness in Valve Gauntlet Events
« Reply #1 on: July 10, 2017, 10:30:37 am »
My apologies for not replying to you on steam yesterday, I got caught up :(
I sort of ran into this when I was testing times between event horde spawns, they'd always be different depending on how the Survivors were doing.
Some maps have a consistent timer though, which can probably be found in some of the scripts.

I feel a much easier and quicker way is to use a plugin to override the director (as the cvars will likely be ignored or reset by the official vscripts)
This however would definitely require a lot of testing to balance it out.
Group Owner of :| SirPlease
Website Admin of :| L4D2eSports
Config Dev :| Zonemod (1.5)

Custom Campaign Downloads

 

A dedicated community website to competitive L4D and L4D2, ran by the community, for the community. L4DNation supports all continents of play and focuses on bringing together the community as a whole to a central hub of information.