MantisBT - Zandronum
View Issue Details
0001330Zandronum[All Projects] Bugpublic2013-04-27 12:172017-05-07 10:49
Ivan 
 
normalminoralways
feedbackopen 
MicrosoftWindowsXP/Vista/7
1.0 
 
0001330: When you die in TLMS, any projectile that was yours becomes server's
After an ally dies and you get hit by a projectile spawned by them you get hurt. Watermelon AFAIK told this to me way back in Skulltag times that once you die everything you had became the server's, so if you died you would be dead to server or something.
Go in TLMS, have at least 3 allies. Have the guy on your team shoot something at you and die right after (or spectate, both works). You'll get hurt.
No tags attached.
related to 0001798resolved Kaminsky Method to track when damage is dealt from players to other players (and monsters?) 
? removebug-spawn.pk3 (771) 2016-12-13 00:57
/tracker/file_download.php?file_id=1990&type=bug
Issue History
2013-04-27 12:17IvanNew Issue
2013-09-18 21:07WatermelonNote Added: 0007227
2013-09-18 21:08WatermelonAssigned To => Watermelon
2013-09-18 21:08WatermelonStatusnew => assigned
2013-09-18 21:24CatastropheNote Added: 0007229
2013-09-19 00:15ToxicityNote Added: 0007233
2013-09-19 00:56QentNote Added: 0007236
2013-09-19 16:28ToxicityNote Added: 0007241
2013-09-19 17:22QentNote Added: 0007242
2013-09-29 07:35Torr SamahoNote Added: 0007298
2013-09-29 09:14DuskNote Added: 0007300
2014-02-27 13:06IvanNote Added: 0008287
2014-05-05 23:07WatermelonAssigned ToWatermelon =>
2014-05-05 23:07WatermelonStatusassigned => new
2014-05-05 23:07WatermelonStatusnew => confirmed
2014-05-09 13:38WatermelonRelationship addedrelated to 0001798
2014-05-09 13:42WatermelonNote Added: 0008754
2014-05-09 14:58ZzZomboNote Added: 0008759
2014-05-10 02:15IvanNote Added: 0008765
2014-05-10 02:15IvanNote Edited: 0008765bug_revision_view_page.php?bugnote_id=8765#r4746
2014-10-22 19:25DuskNote Added: 0010672
2014-10-23 19:09WatermelonNote Added: 0010673
2014-10-24 04:16ZzZomboNote Added: 0010674
2014-10-24 15:26WatermelonNote Added: 0010675
2014-10-24 15:26WatermelonNote Edited: 0010675bug_revision_view_page.php?bugnote_id=10675#r5853
2014-10-26 02:26ZzZomboNote Added: 0010690
2014-11-18 15:34WatermelonNote Added: 0010902
2014-11-18 18:39WatermelonNote Added: 0010905
2014-11-18 18:39WatermelonAssigned To => Watermelon
2014-11-18 18:39WatermelonStatusconfirmed => needs review
2014-11-20 06:56ZzZomboNote Added: 0010913
2014-11-24 12:57WatermelonNote Added: 0010951
2014-11-30 23:51WatermelonNote Added: 0011015
2014-12-04 04:29WatermelonStatusneeds review => assigned
2016-04-10 19:25DuskStatusassigned => new
2016-04-10 19:26DuskAssigned ToWatermelon =>
2016-08-18 13:44IvanNote Added: 0015485
2016-08-18 13:45IvanNote Edited: 0015485bug_revision_view_page.php?bugnote_id=15485#r9416
2016-08-18 13:57DuskNote Added: 0015487
2016-08-18 15:54Ru5tK1ngNote Added: 0015490
2016-11-22 23:16CatastropheNote Added: 0016289
2016-11-22 23:21CatastropheNote Edited: 0016289bug_revision_view_page.php?bugnote_id=16289#r9900
2016-11-23 19:07Torr SamahoNote Added: 0016306
2016-11-24 00:19EmpyreNote Added: 0016309
2016-11-25 18:51CatastropheNote Added: 0016319
2016-11-27 08:55Torr SamahoNote Added: 0016336
2016-11-27 09:14Edward-sanStatusnew => feedback
2016-12-13 00:57CatastropheFile Added: removebug-spawn.pk3
2016-12-13 00:59CatastropheNote Added: 0016487
2017-05-02 23:26CombinebobntNote Added: 0017528
2017-05-03 12:34CutmanNote Added: 0017539
2017-05-03 12:37CutmanNote Edited: 0017539bug_revision_view_page.php?bugnote_id=17539#r10531
2017-05-03 12:38CutmanNote Edited: 0017539bug_revision_view_page.php?bugnote_id=17539#r10532
2017-05-07 09:58Torr SamahoNote Added: 0017563
2017-05-07 10:49CutmanNote Added: 0017570

Notes
(0007227)
Watermelon   
2013-09-18 21:07   
This is an issue in servers because people grief teams by using a strong weapon by spectating.

I was thinking of a new dmflag that would prevent this, thoughts?
(0007229)
Catastrophe   
2013-09-18 21:24   
Yes add this, perhaps on by default?
(0007233)
Toxicity   
2013-09-19 00:15   
Or perhaps only on-by-default for team gamemodes.


... Unless this happens in coop too?
(0007236)
Qent   
2013-09-19 00:56   
Is there a legitimate reason to allow this behavior?
(0007241)
Toxicity   
2013-09-19 16:28   
Yes, you can fuck your teammates over if you're shooting a volley of plasma in their direction. If you die while the plasma projectiles are still in flight, it can damage your teammates and possibly kill them.
(0007242)
Qent   
2013-09-19 17:22   
But why? Why should it be different depending on whether you had lives remaining or not? Why would anyone think that in a server without teamdamage, spectating will instantly cause their projectiles to harm teammates? How would you communicate that to new players? Sure you can add a lot of gimmicks to TLMS to make it more challenging, but this is so arbitrary and unintuitive that adding a compatflag for it is just clutter.
(0007298)
Torr Samaho   
2013-09-29 07:35   
I agree with, Qent. This is a bug and not something you should introduce a flag for.
(0007300)
Dusk   
2013-09-29 09:14   
I agree too, this is a bug that should be fixed.
(0008287)
Ivan   
2014-02-27 13:06   
Any news on this?
(0008754)
Watermelon   
2014-05-09 13:42   
Does the projectile still carry the team with it or just a pointer to who owned it (that is then cleared)? It makes sense to give it to the server if the player is gone since it references a non existent player, but the server should most likely inherit the team it was shot from and then on impact decide what to do. That is the only way I can see this being solved, unless someone knows a better way.
(0008759)
ZzZombo   
2014-05-09 14:58   
The owner of the projectile is just an actor. So whatever ever happens, you just preserve the body of the player until all projectiles belonging to him are gone. After that, if the player isn't supposed to return to the action, you may delete the body. In short, it's how I would handle this.

P. S.: that might be useful and for other types of actors, if the owner is dead, but there is still a projectile fired by the actor a mod might want to do some stuff depending on who fired it (how many health/ammo it had, for example) upon some event.
(0008765)
Ivan   
2014-05-10 02:15   
It might require testing to show, but I think this also happens when you shoot something and die right after. I might be wrong on this though.

(0010672)
Dusk   
2014-10-22 19:25   
Perhaps the projectiles need to maintain some sort of affiliation to prevent this from happening.
(0010673)
Watermelon   
2014-10-23 19:09   
One idea I have is to add a team ID to who fired it, and then just add an extra damage check to make sure it's not on the same team as the person it's damaging.
(0010674)
ZzZombo   
2014-10-24 04:16   
Quote
The owner of the projectile is just an actor. So whatever ever happens, you just preserve the body of the player until all projectiles belonging to him are gone. After that, if the player isn't supposed to return to the action, you may delete the body.


Your solution, Water, will work only for simple projectiles. If I'd like to perform scripting I'd still need access to the originator.
(0010675)
Watermelon   
2014-10-24 15:26   
Quote
Your solution, Water, will work only for simple projectiles. If I'd like to perform scripting I'd still need access to the originator.

Mark it with a TID and any other information you need in ACS then?

(0010690)
ZzZombo   
2014-10-26 02:26   
No? Why would I involve ACS if I can do it in Decorate by just accessing the target of the missile?
(0010902)
Watermelon   
2014-11-18 15:34   
Quote
No? Why would I involve ACS if I can do it in Decorate by just accessing the target of the missile?


Then I have no idea what you mean by scripting that you said in your previous post if you don't intend on using ACS.
(0010905)
Watermelon   
2014-11-18 18:39   
Pull request sent, requesting code review.
(0010913)
ZzZombo   
2014-11-20 06:56   
"Then I have no idea what you mean by scripting that you said in your previous post if you don't intend on using ACS."

Shit, Decorate can do some pretty complex stuff...
(0010951)
Watermelon   
2014-11-24 12:57   
Please take this to PM since it's going off topic.
(0011015)
Watermelon   
2014-11-30 23:51   
Updated
(0015485)
Ivan   
2016-08-18 13:44   
(edited on: 2016-08-18 13:45)
The bug is still there in 3.0. Screenshot:'http://i.imgur.com/2oVHVxx.png [^]'

Notice the bug can occur even if you spectate, so it can be used for griefing as well...

(0015487)
Dusk   
2016-08-18 13:57   
There isn't really any very good ways to fix this other than deleting any such projectiles. Is that what we want?
(0015490)
Ru5tK1ng   
2016-08-18 15:54   
It seems people are more concerned with possible trolling rather than friendly fire. So if it is not possible to determine what team the projectile came from, then the only solution is to make server owned projectiles do no damage if they were gained by a player spectating.
(0016289)
Catastrophe   
2016-11-22 23:16   
(edited on: 2016-11-22 23:21)
Hey, just letting you guys know that this is still quite a big issue for mods like All our War. You can imagine there's a good amount of trolling going on with players launching projectiles and spectating to either teamkill or harm the base terminal.

The problem is that as a modder there's no way to fix this unless we introduce a ton of damagetypes/damagefactors, which is quite a lot of work to just stop this teamkilling issue from happening.

I think rusts idea is the best in that the damage should just be negated to 0. Or at the very least, build-in a damagefactor called "server" and change the current projectile's damagetype to "server" and let us decide what happens.

(0016306)
Torr Samaho   
2016-11-23 19:07   
Instead of making these projectiles deal no damage, I'd say Dusk's solution, i.e. to simply delete the projectiles, is cleaner and much more fool-proof.
(0016309)
Empyre   
2016-11-24 00:19   
I second Torr's seconding of Dusk's idea.
(0016319)
Catastrophe   
2016-11-25 18:51   
As long as this also covers inventory items that spawn projectiles, that sounds fine.
(0016336)
Torr Samaho   
2016-11-27 08:55   
This build should remove all missiles associated to a player if that player leaves the game. Please test if it works as intended.
(0016487)
Catastrophe   
2016-12-13 00:59   
It works on basic inventory items and player missiles, but fails when used with a_spawnitemex. The example wad should show this.

So in the example wad when the item has been thrown (imp ball) and you spectate, it will disappear accordingly. However, when it lands, dies, and spawns the cacoball it will not disappear if you spectate.
(0017528)
Combinebobnt   
2017-05-02 23:26   
This current 'fix' being discussed (removing projectiles on death) is ok at stopping bad teamkilling trolling in some wads, but I don't see it as good behavior, only a trolling bandaid.

An immediate problem: if two players on opposite teams shoot rockets at eachother but one dies before the other, only one person will die as the other rocket will disappear in mid air. That of course doesn't happen right now. I think a better true fix is to keep projectiles registered on a team no matter the state of the firing player, so that a red team rocket will forever be a red team rocket.
(0017539)
Cutman   
2017-05-03 12:34   
(edited on: 2017-05-03 12:38)
I'm against it too, it could potentially be harmful to some complex mods if it straight up rips every projectile out of existence. I think this method is something modders should do (and actually have been doing for a while), not something the engine should do automatically (or a server option).

If I lined up the perfect Rocket kill on an opponent far away, but someone killed me right after and I became a dead spectator, that Rocket should just go away and I get robbed of the kill? Seems a bit unfair. Also the example isn't that extreme considering all the different kinds of slow/long lasting projectiles that exist these days.

There's gotta be a better way (although I don't know what considering how projectile ownership is handled).

(0017563)
Torr Samaho   
2017-05-07 09:58   
I think you misunderstood what the build in 0001330:0016336 is doing: It only removed the missiles of players who leave the game, i.e. either by disconnecting or by turning into a true spectator. It does not touch any missiles if a player is turned into a dead spectator.

Is there any reason not to remove missiles for disconnected players or true spectators?
(0017570)
Cutman   
2017-05-07 10:49   
Oh my bad, that seems more reasonable then. I can't think of any situation where this would be bad (but if one comes up, modders can fix it by checking if a player exists).