Killing Floor 2

Killing Floor 2

Controlled Difficulty
blackout  [pengembang] 30 Jun 2017 @ 12:04am
Released build 372941 (2017-06-30)
This release has two important bugfixes.

Make post-wave recap ignore zedtime

All of the post-wave recap stats effectively observed zedtime, which is crazy. We think in terms of real time, not zed-time-adjusted real time. This meant that the "spawning" and "post" figures reported could be smaller than their true person-with-a-stopwatch values. Furthermore, because the spawnrate is calculated with the "spawning" figure in the denominator, the recap's reported spawnrate could be higher than the true value. The effect of this bug is magnified as more and more of the wave is spent in zed time (of course, this includes commando extensions, so zed time can potentially account for a huge chunk of the wave).

Specifically, the recap used WorldInfo.TimeSeconds, which passes artificially slowly during zed time.

As of this commit, it uses WorldInfo.RealTimeSeconds, which does not pass artificially slowly during zed time.

This was a really harmful bug, because the effect could sometimes be quite subtle.

I did not see it until I started comparing external timestamps to long waves, since the effect only becomes pronounced if it is long enough to have lots of zed time.

I've tested this fix by:

  • Playing solo hillside wave 1 on basic_moderate with 5 faked as commando, and going for maximum extensions
  • Comparing the logfile timestamps with the post-wave recap
  • Playing with a stopwatch on an auxiliary monitor and noting the
    times at which:
    (a) the wave starts
    (b) the zeds remaining counter = MaxMonsters
    (c) the wave ends
    and then comparing those stopwatch times to the recap.

These exercises showed agreement within one second over a three-minute wave (three minutes of real wall-clock time, that is).

Fix `!cdspawncycle <newcycle>` command

This has been broken since the major refactoring leading up to CD's co-sideshow/v1053 release. It's a pure CD bug though; this was my mistake, not TWI's.

Basically:

  • `!cdspawncycle` worked (no arguments -- just shows cur cycle)
  • `!cdspawncycle ini` worked
  • `!cdspawncycle unmodded` worked
  • `!cdspawncycle <named_cycle>` was broken

Technically, the last invocation would work under very specific contrived circumstances (where the current set of custom SC waves in memory is length zero; i.e. unmodded), but in any other situation it would report success while actually having no real effect.

This was because I failed to correctly clear the array of SpawnCycle wave definitions when loading a named cycle. Instead, the cycle data would be appended to the end of the wave definitions, where it would be ignored completely.

This is now fixed.


Subscribing to the workshop is the recommended way to download CD. For server admins and downgraders, there is also a github release with ControlledDifficulty.u attachment: https://github.com/notblackout/kf2-controlled-difficulty/releases/tag/release-2017-06-30-372941
Terakhir diedit oleh blackout; 30 Jun 2017 @ 3:27am
< >
Menampilkan 1-2 dari 2 komentar
Slayer 30 Jun 2017 @ 2:36am 
Keep up the hard work, it is most appreciated.:Fistofdosh:
Leenker 30 Jun 2017 @ 3:47am 
Well, now i know we can change spawncycle preset directly even in game..
< >
Menampilkan 1-2 dari 2 komentar
Per halaman: 1530 50