• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Killing Floor Patch 1052

I didn't played the game yet, just checked the source. Sorry if I'm wrong, but your "bugfix" has another bug.

In v1051 all zeds were following first player in the team (player, who joined last).
In v1052 all zeds are following first visible player in the team. If no players are visible, then, like in v1051, zeds will follow first player in the team.
I bet if you have a zed following you and you hide behind the corner, after some time zed will turn back and follow the last joiner. Even if he is 100m away :)

Once again, this is just a theory. Need to play to test it.
 
Upvote 0
I didn't played the game yet, just checked the source. Sorry if I'm wrong, but your "bugfix" has another bug.

In v1051 all zeds were following first player in the team (player, who joined last).
In v1052 all zeds are following first visible player in the team. If no players are visible, then, like in v1051, zeds will follow first player in the team.
I bet if you have a zed following you and you hide behind the corner, after some time zed will turn back and follow the last joiner. Even if he is 100m away :)

Once again, this is just a theory. Need to play to test it.

I literally just tried it out and came here to post this.

It almost works exactly as before other than this. The game is playable at least now.
 
Upvote 0
So this update doesn't ninja fix the bug inside KFMonster.TakeDamage()? That makes scary ghost's Super Zombies mod kill the server performace?

Bug report. Actually this bug is in KFMonster.TakeDamage(), not inside SuperZombies code. If monster takes environmental damage, where Instigator=none or damage is not a child of KFWeaponDamageType, then access none error occurs:
Code:
Warning: ZombieCrawler KF-BioticsLab.ZombieCrawler (Function  KFMod.KFMonster.TakeDamage:02EA) Accessed None 'LastDamagedBy'
And if monster stuck somewhere, where it constantly takes damage, e.g. fire, even if Damage=0, if spams log messages, reducing server's performance down to 0.

Solution:
Code:
function TakeDamage(int Damage, Pawn InstigatedBy, Vector HitLocation,  Vector Momentum, class<DamageType> DamType, optional int HitIndex)
{
    if (InstigatedBy == none || class<KFWeaponDamageType>(DamType) == none)
        Super(Monster).TakeDamage(Damage, instigatedBy, hitLocation, momentum, DamType); // skip NONE-reference error
    else 
        Super(KFMonster).TakeDamage(Damage, instigatedBy, hitLocation, momentum, DamType);
}
I already sent bug report to Tripwire, but you know "fast" is their reaction time.
 
Upvote 0

Bugs:
  1. BestDist is not initialized, so it's value is 0. bNewCloser = NewDist < BestDist => NewDist < 0 => bNewCloser = false. Always.
  2. Statement "(bNewCloser || bSeeNew)" will succeed only if bSeeNew=true. Player not visible to monster will never be picked up as an enemy, unless he is first in the controller list (last joiner).
  3. Because bSeeNew must be true to succeed if statement, then bSeeBest = bSeeNew also will be set to true. !bSeeBest => !true => false => if statement will always fail after first visible player is selected as best enemy.

According to Benjamin's SVN, 5 code lines were changed in v1052. 3 bugs made. New record :p
 
Upvote 0
Excuse my stupidity here. I was wondering what the difference is between a patch and hotfix. To me this is nothing more than a hotfix because it only addresses one issue and provides nothing more. No additional fixes, content or changes.

If somebody can enlighten me to the difference, please do.

Well, technically a hotfix refers to a software patch applied to a live (running) system, but in common usage they mean exactly the same thing.

Any differences between a hotfix and a patch that don't involve one being applied to a live system is just a fabrication. It's marketing, nothing more.
 
Upvote 0
At leats the game is playable, now can got fun, not at all, but is not the same whit aggro bug. Now a zerk can die by zeds, now is not anymore invisible, and like a silent ninja killer, like was whit the bug at all, pffss whit bug I pass some games, only doing back kills, running behind of zeds, and thats bored me a lot, now I see sometimes, yes don't works fine the aggro, but too much better than before update.
 
Upvote 0
Well, technically a hotfix refers to a software patch applied to a live (running) system, but in common usage they mean exactly the same thing.

Any differences between a hotfix and a patch that don't involve one being applied to a live system is just a fabrication. It's marketing, nothing more.

Thanks for the information. I appreciate it!
 
Upvote 0
Hey guys,

BestDist is not initialized, so it's value is 0. bNewCloser = NewDist < BestDist => NewDist < 0 => bNewCloser = false. Always.

BestDist doesn't need to be initialized, because the first check we make is (BestEnemy == none). BestEnemy is also not initialized, so that check will always be true the first time through. And the first time through, we set BestDist to something. There's never a time when both BestEnemy != none and BestDist == 0 (unless you are your own BestEnemy...).

Statement "(bNewCloser || bSeeNew)" will succeed only if bSeeNew=true. Player not visible to monster will never be picked up as an enemy, unless he is first in the controller list (last joiner).

Since BestDist > 0 after the first time through (unless... you know...), bNewCloser won't always be false.

The only difference in v1052 is that if zed's enemy is not visible, they zed focuses on first visible player ("first" in the player list, not the closest one).

Thanks for bringing that to our attention. In a future update, we're considering removing the visibility conditions for simplicity and only using distance like it was before the objective mode update.
 
Upvote 0