Commits

Torr_Samaho  committed 4d436da

added Dusk's "sv_unblockplayers now also implies telefrag immunity, but only if both the source and target are players." patch with an additional ( source != NULL ) check

  • Participants
  • Parent commits 4c59a51

Comments (0)

Files changed (2)

File docs/Skulltag Version History.txt

 +	- Added CCMD insertmap for adding maps into the maplist at other positions than just at the end. [Dusk]
 +	- Added: "snd_announcervolume" CVAR to adjust the announcer's volume and added an announcer volume adjustment in player setup under the announcer picker. [TIHan]
 +	- Added new compatflag "don't stop player scripts on disconnect", controlled by the new CVAR compat_dont_stop_player_scripts_on_disconnect. If this is enabled, the ACS scripts with a player as activator are not terminated when this player disconnects. [Torr Samaho]
-+	- Added new dmflag "unblock players", controlled by the new CVAR sv_unblockplayers. If this is true, player bodies are treated as if they had the THRUSPECIES flag. [Torr Samaho]
++	- Added new dmflag "unblock players", controlled by the new CVAR sv_unblockplayers. If this is true, player bodies are treated as if they had the THRUSPECIES flag and players don't telefrag other players anymore. [Torr Samaho, Dusk]
 -	- Fixed: After a "changemap" map change on a server with join password and a team based gamemode, players who were on a team on the previous map were turned into spectators but kept their team. [Torr Samaho]
 -	- Fixed a crash that could happen when pressing the "show medals" key during intermission if the player was spying another player before the start of the intermission. [Torr Samaho]
 -	- Fixed: When the gamemode is automatically changed upon entering a new map after a "changemap" map change offline, players possibly stay on a team even though the new game mode doesn't have teams or are on no team even though the new game mode uses teams. [Torr Samaho]

File src/p_interaction.cpp

 			if (olddam != damage && damage <= 0) return;
 		}
 
+		// [Dusk] Unblocked players don't telefrag each other, they
+		// just pass through each other.
+		if (( dmflags3 & DF3_UNBLOCK_PLAYERS ) &&
+			( source != NULL ) && ( source->player ) && ( target->player ) &&
+			( mod == NAME_Telefrag || mod == NAME_SpawnTelefrag ))
+			return;
+
 		DmgFactors * df = target->GetClass()->ActorInfo->DamageFactors;
 		if (df != NULL)
 		{