Tsuey / L4D2-Community-Update

Help us shape the potential future of L4D2 vanilla.
68 stars 22 forks source link

Tank bypass check is still active in finales #510

Open alexiscoutinho opened 2 months ago

alexiscoutinho commented 2 months ago

Description

The Tank bypass check, controlled by director_tank_bypass_max_flow_travel, still applies during finales, which doesn't make sense. One would expect that during CUSTOM_TANK stages the SI don't spawn. That is until someone travels up the flow by 1500 units by default during the Tank stage. In that case, the Director thinks you are skipping the Tank and proceeds to unlock the SI slots (the commons still don't spawn though). This is bad because it potentially limits the survivors' play area when fighting the Tank to a region outside a certain radius (not 1500, can even be 0, i.e. no forbidden zone) from the flow target, usually the radio.

This is usually not a bit deal for Campaign or Realism but can be catastrophic for mutations that rely more on SI, like Hard Eight, Hard Eight Death's Door, Hard 16, etc.

A possible fix would be to crank up that cvar value when the finale starts, then reset it on round restarts, but ideally it should be solved through C++.

Reproduction steps

Load up Blood Harvest finale (or any holdout style finale I think) in Hard Eight or Campaign. Play the horde stages normally by killing or cmd killing all infected. Before the Tank stage starts, go to a place far away from the radio, like the dead end path in the corner of the field where the crow event happens, (you could have been defending the horde there by the way). When the Tank spawns, record your current flow distance with current_flow_distance (you should be the lead player, so it's better to do the test solo). Make sure only the Tank is alive by this point. Run towards the radio and stop the moment you hear the SI start spawning. Record the new flow distance. The difference should be ~1500.

You can also do this in the Swamp Fever finale by defending inside the mansion then going outside when the Tank spawns.