tf2classic / tf2classic-issue-tracker

For reporting bugs in Team Fortress 2 Classic.
10 stars 0 forks source link

Rockets & arrows fired by tf_point_weapon_mimic go through players on maps from live TF2. No option to collide with *all* players. #345

Open 111112oo opened 2 months ago

111112oo commented 2 months ago

I run a deathrun server in TF2C which relies on maps from live TF2. Naturally, projectiles are commonly used as traps to kill players in these maps. However in TF2C, rockets and arrows spawned from these maps will just go right through the player regardless of team! The rocket explosions do hurt you, but they will not detonate on touching you.

Part of the reason behind this is that live TF2 has all tf_point_weapon_mimics in a semi BLU team state that hurts all teams but only collides with reds, with the exception of rockets which somehow do collide with both teams. Whereas TF2C has a "TeamNum" keyvalue that can be set to change the team of the rockets. But by default they are set to an unassigned team when loaded in TF2C without this keyvalue set, as would be the case in any live TF2 map. In this teamless state they hurt all players, but also go through all players, with the exception of grenades which do collide and detonate on players.

I have made a test map to showcase this that include 4 rows with different TeamNum keyvalues. test_tf2crockets2.txt (Rename to .vmf cause vmfs are plaintext!) Row 1: No TeamNum (every live TF2 map is like this) Row 2: TeamNum 0 Row 3: TeamNum 1 Row 4: TeamNum 3 (BLU) In TF2C, the first 3 rows behave the same as eachother & all row 4 projectiles will collide with REDs, but their explosions can still hurt BLUs! (another bug!) In live TF2, all rows behave the same as eachother.

This might be a tricky situation to defuse as how they work in live TF2 is also unideal and people may use those qualities deliberately in their maps, but I think versatility should be put first to allow both projectiles that can hurt anyone and specific teams. My idea: -Keep the default team of tf_point_weapon_mimic unassigned. -Make team unassigned tf_point_weapon_mimic projectiles hurt and collide with everybody. It won't be perfect for all maps that rely on the live TF2 edge cases but it will make most maps using these work out of the box compared to almost none. -Make team assigned tf_point_weapon_mimic projectiles not hurt their assigned team with their explosions! (I've also noticed mismatched particles with team assigned projectiles but that's for another issue.)